| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- 서평
- 트렌젝션분기
- 그리스로마 신화
- 죽음1
- 스마트에디터 0바이트
- 자바
- 제임스 클리어
- 평균의종말
- mysql
- 토드 로즈
- 아주 작은 습관의 힘
- 전자정부프레임워크
- 칩히스 댄히스
- 개개인성
- 날씨API
- 태양의 신
- @RestController
- 성공
- 함수포함
- Unix 타임스탬프
- 심리학으로 읽는 그리스 신화
- 독서
- pem인증
- 미시적동기
- 가브리엘 웰즈
- 토드로즈
- 중복삽입
- 순간의 힘
- 보안성검토
- 오기 오가스
- Today
- Total
목록전체 글 (11)
삽질 하자! 파는만큼 보인다
문제설정 파일에 문제라 판단을 했으나 모든 설정을 변경해도디버그 모드로 확인시 계속 DB를 타는 문제가 발생했다 설정1. pom.xml net.sf.ehcache ehcache-core 2.6.9 slf4j-api org.slf4j net.sf.ehcache ehcache-terracotta 2.1.1 2. ehcache.xml 파일 ..
보안성검토에서 체크가 된 내역중 파일 확장자를 변조하여 등록 할 수 있는 보안성 문제가 발생하였다. 예를 들어 bat파일을 png파일로 확장자를 변형하여 파일 등록처리를 하는 문제였다. if ("xls".equalsIgnoreCase(fileExt) || "xlsx".equalsIgnoreCase(fileExt) || "doc".equalsIgnoreCase(fileExt) || "docx".equalsIgnoreCase(fileExt) || "hwp".equalsIgnoreCase(fileExt) || "hwpx".equalsIgnoreCase(fileExt) || "ppt".equalsIgnoreCase(fileExt) || "pptx".equalsIgnoreCase(fileExt) || "txt"...
* 상황 스케줄러를 돌려 외부 API를 통해 데이터를 가져와 DB에 INSERT하는 업무서비스가 있다. 이 서비스의 데이터가 중복으로 들어가는 문제가 발생했다. 중복을 검사하는 로직이 구현이 안되있었다고 파악을 했지만 데이터의 고유값을 기준으로 중복검사하는 로직이 구현이 되있었다. 디버깅을 돌려 확인해도 중복로직에 정상적으로 걸리고 있어 난해했다. 오라클 특성상 UPDATE, INSERT, DELETE 같은경우 COMMIT, ROLLBACK을 입력해줘야 실제 반영이되기때문에 해당 로직에 트렌젝션 관리가 되지않아 해당로직이 두번돌면서 중복이된다고 판단햇다. *시도 트렌젝션 관리를 위해 해당 매서드에 @Transactional 어노테이션을 설정했다. 적용후 또 다시 중복이들어가는 문제가있어 중복되는 데이터를..
외부서버에 DB세팅을 위한 접근정보를 받았는데 PEM인증으로 계정정보없이도 접근이 가능하다고 전달 받았다. 방화벽에 문제만 없다면 ssh 접속은 보통 ip와 포트를 이용해 쉽게 접근 가능하지만 pem인증 방식으로 접근해본적은 처음이여서 리뷰를 남긴다. PEM이란 ? PEM은 암호화 키를 저장하는 데 자주 사용되는 컨테이너 파일 형식 tool : putty 사용 1. pem파일 ppk파일로 변환 > putty 툴을 설치하면 시작바 검색에 puttyGen을 찾아 실행 > puttyGen 으로 pem파일 ppk로 변환 > load를 통해 pem파일을 ppk로 변환 > Save private Key로 ppk파일 저장 2. 접속 > putty 실행하여 Session 접속정보 입력후 Sa..
문제 상황 날씨 api를 연동해서 JSON 데이터를 받아 ajax로 데이터를 가져왔을때 로컬에서는 문제가 없었으나 SSL이 적용된 https 프로토콜 환경에서는 api 연동이 안되는 문제가 발생하였다. jsp페이지에서 AJAX로 통신할때 날씨 api http를 사용할때 접근이 안되었다. 시도 메타태그를 추가했으나 http -> https로 강제로 적용시켜주지만 해당 api는 https 환경을 지원하지않는 문제가있어 실패. 해결방안 다음문제를 해결하기위해 AJAX로 구현했던부분을 자바단에서 처리해보자라는 생각으로 코드작성 public static JSONObject getWeather() throws Exception{ JSONObject jsonObject = new JSONObject(); try { ..
mysql 및 mariadb 사용시 데이터베이스를 복구하기위해 구글링을 하면 아래와 같은 명령어를 자주 접할수있다. 기본적인 테이블 및 제약조건은 저장된다. 하지만 아래와 같이 백업을 했을경우 view테이블, function값이 빠져있는것을 확인 할 수 있다. 따라서 실무에서는 백업( 함수, view테이블, trigger 포함) 방법을 사용하자. 백업( 테이블 및 제약조건들) mysqldump -u [계정명] -p [패스워드] [데이터베이스명] [ DB명 ] > [ 생성할파일명 ].sql 백업 ( 함수, view테이블, trigger 포함) mysqldump --routines --triggers -u[계정명] -p [패스워드] [DB명] > [생성할파일명].sql 복구 - 복구는 동일하다 mysql -..
이폼사인 API 연계를 통해 데이터를 받아올때 날짜형태가 1694578067994와 같은 형태로 데이터를 전달받았다. 해당형식의 문자는 Unix 타임스탬프 형태라고 한다. 시도 Unix 타임스탬프 형태의 숫자 (1694578067994) 를 MYSQL.에서 DATETIME 날짜 형태로 INSERT를 시도 자바단에서 전처리를 해줘야한다. API로 전달받은 String값을 Long으로 형변환후 SimpleDateFormat를 이용하여 처리 완료 결과 정상적인 시간으로
문제점 : 네이버 스마트 에디터와 전자정부 프레임워크를 이용해 파일첨부시 0바이트로 빈파일만 저장이되는 문제가 있었다 . 파일경로, 디버깅모드로 아무리 찾아도 오류가 발견되지않았다. 해결방안 : 전자정부 버전 높을 경우 web.xml에서 필터를 지정하지않는다 EgovWebApplicationInitializer.java 파일에 필터설정이 존재한다. 해당 파일 내용중 아래와 같은 필터가 있다. 필터를 주석처리 해주자 /* HiddenHttpMethodFilter 설정 (Facebook OAuth 사용시 설정) FilterRegistration.Dynamic hiddenHttpMethodFilter = servletContext.addFilter("hiddenHttpMethodFilter", new Hidd..
전자정부 프레임워크 환경에서 @RestController 어노테이션을 이용해 Ajax 처리로 데이터를 가져오려는데 아래와 같은 오류 발생 No converter found for return value of type: class java.util.HashMap 해결과정 pom.xml에 라이브러리가 없다는 생각을 했고 jackson-databind도 존재하고 추가로 gson도 추가해봤지만 gson문제는 아닌 것 같았다. 해결 방안 message Converter추가 HaspMap을 json형태로 변형해줄 Message Converter가 존재하지 않기때문에 발생한 오류였다. 아래와 같이 dispatcher-servlet.xml에 등록후 정상작동 하였다. 복사용
개발 블로그를 써보고 싶다는 생각은 있었지만 이런핑계 저런핑계 완벽해야 쓸수있다 등 미루고 미루다 블로그를 작성해보기로 했다. 웹개발자 3년차에 쓰는것이 부끄럽기도하지만 늦었을때가 가장 빠르다는 말을 믿는다. 다행히 에버노트라는 클라우드 메모장을 통해 그 동안의 업무상 문제점들을 기록해놓았다. 하지만 막상 글을 옮기려니 부족함을 느끼는 중이고 더 확실하고 자세하게 기록해놓아야겠다는 반성을 했다. 나를 위한 블로그 작성이지만 우연히라도 누군가에게 또는 나의 업무에 지식에 도움이 되기를 바라며!