https://gitlab.com/nile8991117/com.gofillus.nile.client.mobile.git
2025년 6월 3일 화요일
2022년 4월 28일 목요일
회사 내부망 java javax.net.ssl.SSLHandshakeException: PKIX path building failed
회사 내부망의 경우 https 의 ssl 변조가 있어
java javax.net.ssl.SSLHandshakeException: PKIX path building failed
오류가 발생 한다.
회사에서 제공하는 인증서가 있는 경우 다음과 같이
java security 에 등록하여 준다.
keytool.exe -importcert -keystore %JAVA_HOME%lib\security\cacerts -storepass changeit -file Company.cer
2022년 1월 10일 월요일
verdaccio docker run with apache proxy
apache -> docker verdaccio 연동시
invalid host 였나.. 오류가 발생하여 해당 방법 으로 해결 함.
apache virtualhost 의 domain 정보를
docker 구동 시 env 정보 전달
--env VERDACCIO_PUBLIC_URL=<domain>
verdaccio scoped package 403 error
- 구성 환경
-apache -> docker verdaccio
- 오류
- scoped package publish 중 403 invalid package name 오류 발생.
- 원인
- apache 에서 proxy 설정으로 연결했는데 전달 과정에서 encoding 되었거나 문제가 있는것으로 보임
- 처리방벙
- apache 의 virtualhost 설정에 다음 추가
AllowEncodedSlashes On
ProxyPreserveHost On
2021년 10월 20일 수요일
CentOS 7 메일 발송 서버 구성
- postfix- yum install postfix
- /etc/postfix/main.cf
- SPF : 국내 whitelist- https://spam.kisa.or.kr/integration/main.do
- DKIM : 해외 whitelist- 참고 : https://hiseon.me/linux/ubuntu/dkim-settings/
postfix 설치 후
listen ip 확인 후
mynetworks 에 allow ip 설정
주의사항.
DKIM 설치 중 도메인에 txt 를 등록 하는 과정이 있다.
몇몇 참고 자료 중 도메인 등록 방법이 약간 부족해 보이는데 다음과 같다
도메인이 example.com 과 같고 keys 의 txt 내용이
mail._domainkey IN TXT (
로 시작 한다면
도메인txt 는 mail._domainkey.example.com 에 등록한다.
2021년 8월 29일 일요일
OpenID connection discovery
2021년 7월 27일 화요일
swagger codegen 사용시 주의 사항
사용환경
- spring boot + swagger
- swagger codegen
- java
뭐 당연 한 거겠지만 swagger 의 doc 에 정의가 잘못 되어 있으면 생성 했을 때 결과에 문제가 있다.
겪은 문제
1. 서버는 basic auth 를 쓰고 있는데 apiclient 에서 basic auth 를 설정 하고자 하면 애를 먹는다.
가능은 하지만 뭔가 정석이 아닌것 같고 이상하다.
이는 apiClient 에서 수정할수 없는 authentication 을 생성하기 때문인데
본론적인 문제는 doc 에 정의를 안해서 그렇다.
securitySchemas 를 설정해라.
2. 서버에서 return 타입을 설정하지 않아 object 형태로 sdk 가 생성 되고 파싱 과정에서 데이터가 없는것처 럼 보인다. 뭐 당연하겠지만 이것도 doc 이 잘못 생성 되서 그렇다.
느낀점.
이런류의 코드들은 많은 사람들이 공들여 만든 코드다. 실수는 내가 한다. 휴먼 에러는 나다. ㅎㅎ
구글 블로그는 버리자. 코드넣기 힘들다
2021년 1월 15일 금요일
@JsonIdentityInfo 사용시 주의점
@JsonManagedReference
@JsonBackReference
과
요즘 방식
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id”)
을 쓰게 된다.
요즘 방식 @JsonIdentityInfo 의 경우 위 예제는
id 로 중복을 방지하여 무한루프를 방지 하는데
한번의 변환에 같은 아이디가 존재 할 경우 JSON 변환을 하지 않는다.
무슨말이냐 하면..
JSON 변환 하는 과정에서 @JsonIdentityInfo 가 달려있는 도메인의 id 가 1개 이상 있으면 안된다는 것이다.
1개 이상 있으면 변환 과정중 1회 이상의 데이터는 변환하지 않는다.
해당 내용은 @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id”)
형태로 사용했을 경우이고
generator 를 변경하면 가능 할 것 같아 보이긴 한다.
그림으로 설명하기 귀찮아서 글로 적긴 했는데
아무튼 참고해라.
-- 추가 --
@JsonIdentityInfo 는 generator 별로 숫자, 문자, uuid 등으로 키를 생성하여
json변환 중 같은 키가 발견되면 같은 스코프 내에서는 표시 하지 않는다.
내 상황같은 경우를 잘 분석 해보니 데이터 루프 중 1depth 까지만 데이터를 표시하고 이하는 표시 하지 않는것을원한 것으로 분석 됐다.
이를 위해 위에서 언급 한 방식을 사용하지 않고
@OneToMany 어노테이션이 달린 List 데이터 필드 위에
@JsonIgnoreProperties 를 사용하여 해당 필드의 List 데이터 내에
@ManyToOne 으로 설정 한 릴레이션에서 Json 편환을 하지 않도록 했다.
@JsonIgnoreProperties("auctionCase")
@OneToMany(mappedBy = "auctionCase", fetch = FetchType.LAZY)
private List<Research> research;
2020년 11월 2일 월요일
Spring boot 의 application.properties 사용방법
지금까지 spring boot 에서 application.properties 를
사용해본 방법은 아래의 2 가지 상황이다.
- 서버의 환경 변수에 따른 dev, prd 등 의 능동적 적용
- 복수의 properties 파일을 적용
소스의 수정 없이 서버 인프라의 환경에 따라 application.properties 의 값을 적용하고자 할 경우
서버에서 VM argument 로
-Dspring.profiles.active=prd 와 같이 구동시 주입.
소스 상에서는
application-default.properties
application-prd.properties
와 같이
application-[값].properties
으로 구분함.
만약 구동 중 spring.profiles.active VM argument 값 없을경우 default 가 적용됨.
패키지별 설정파일을 따로 분리하고자 하여 사용 하게 됨.
- 방법 :
-Dspring.config.additional-location=classpath:config/*/
위와같이 VM argument 적용하면 /src/main/resources/config/모든폴더/application.properties 를 찾아 적용한다.
이때 기존에 존재하던 classpath:application.properties 파일이 먼저 적용 되고
추가 파일은 override 되므로 참고하길 바란다.
2020년 9월 24일 목요일
SOAP 통신 주의할점. 아무리 봐도 왜 오류나는지 모른다면
SOAP 통신을 Postman 혹은 curl 로 테스트를 해보고자 하였으나
오류가 발생 하였다.
Http header 와 body 를 아무리 보고 또 봐도 틀린게 없는데 왜 안되는걸까?
왜지? 2일 정도를 보고 또 보다가
성공한 사람의 request 를 raw 데이터로 비교 해봐도 모르겠다 뭐지??
이때 SOAP UI 테스트 툴로 테스트 하니 성공 함.
기존 request 와 SOAP UI 를 사용한 request 의 다른점을 확인하기 위해
로컬에 네트워크 scanner 를 키고 캡쳐를 했다.
postman 과 SOAP UI.
결과는 환장 함.
header 에 SOAPAction key 로
Endpoint 에서 사용할 function 을 정의 하는데
- Postman : FN_TEST
- SOAP UI : "FN_TEST"
맞다. 큰따움표다 ㅋ
SOAPAction : "FN_TEST" 여야 하는것이었다.
이게 SOAP 의 규약 인지
아니면 내가 진행 하는 프로젝트의 룰인지는 더 찾아봐야 하겠으나
뭐니 이게...
2020년 8월 4일 화요일
2020년 8월 3일 월요일
JPA 메서드로 쿼리 생성시 주의 사항
2020년 6월 3일 수요일
2020년 3월 21일 토요일
git submodule 사용시 참조
해당 project 하위에 타 git project 를 등록해서 사용할 경우
이를 지원 하기 위해 git submodule 을 쓴다.
설명은 아래 블로그에.
https://pinedance.github.io/blog/2019/05/28/Git-Submodule
2020년 3월 17일 화요일
docker 한글
문제는 docker image 의 charset 을 설정 하지 않아서 발생 한 문제.
-e LC_ALL=C.UTF-8
옵션 추가 후 해결.
ko_KR.UTF-8 로 변경 하기 위해서는 image 에 언어셋을 설치 해 주어야 하는데
Dockerfile 에 아래 내용을 추가 해야 한다.
RUN apt-get update && apt-get install -y locales RUN locale-gen ko_KR.UTF-8 ENV LC_ALL ko_KR.UTF-8
아래의 블로그 사용자 님의 내용을 참고 하였다.
https://www.44bits.io/ko/post/setup_linux_locale_on_ubuntu_and_debian_container
2020년 3월 1일 일요일
react-native plugins 정리
자주 사용하는 혹은 사용하려고 고려중인 플러그인 목록 정리
마지막 수정일 20.03.02
- react-native-calendars
- 달력
- react-native-device-info
- 하드웨어 정보
- react-native-dropdownalert
- status bar 에서 내려오는 alert
- react-native-exit-app
- App 종료
- react-native-firebase
- firebase
- react-native-i18n
- multi language
- react-native-linear-gradient
- linear gradient
- react-native-modalbox
- 웹의 모달 그것
- react-native-navigation-bar-color
- status bar 색상
- react-native-permissions
- 권한 허용
- react-native-simple-toast
- toat
- react-native-swipe-list-view
- 스와이프 가능한 list view
- react-native-vector-icons
- vector icons
- react-navigation
- navigation
- rn-fetch-blob
- blob 으로 fetch
- 이게 종종 필요함. raw 타임으로 데이터 받아와야 할때
- tfjs-react-native
- google 의 tensorflow
- react-native-image-picker
- image picker
2020년 2월 27일 목요일
Mac OS Nodeclipse 'node' 찾지 못할때
뭐 내용 보면 node 실행 파일을 못찾았다 이런 내용인데
nodeclipse 설정의 파일 path 봐도 맞고
node 파일 및 폴더 권한 봐도 맞고
뭐징? 하는데 처리 방법이 있더라.
아래는 내가 해본 내용들
- node 버전 확인 및 path variable 등록 되었나 확인
- node -v
- 권한 변경
- chmod 755 /usr/local/bin
- chmod 755 /usr/local/bin/node
- 해결책
- Eclipse 패키지 내의 eclipse.ini 에 아래 내용 등록
- -Dorg.eclipse.wildwebdeveloper.nodeJSLocation=/usr/local/bin/node
2020년 2월 11일 화요일
rest-api-query-search-language-more-operations
뭐 취미일수도 있고 광고비 벌려고 하는걸수도 있고.. ㅎ
근데 문제가 혼자 서버사이드, 프론트 엔드 까지
전부 개발을 하려니 시간도 너무 오래 걸리고
서버 개발하다 프론트 엔드 개발하다 보면 어? 뭐 하고 있었지? ㅡㅡ;
그래서 생각한게
서버는 단순히 저장 용도로만 쓰자.
서버에는 DB 접근 로직만 넣고
리턴 받은 데이터로 클라이언트 에서 비즈니스 로직 개발.
이를 위해 처음에는 url query 기반
DB select 프로그램을 직접 만들어 봤는데 역시 개판 ㅋㅋ
Spring 에 찾아 보니 예제가 있더라.
참고 하시라.
https://www.baeldung.com/rest-api-query-search-language-more-operations
