본문 바로가기

전체 글29

서버 실행없이 HTML에서 JSON파일 읽기 (+ Controller에서 Json파일 읽어서 보내기) 원래는 서버에서 JSON 파일을 읽어 Model객체로 전달해주는 로직이었다. [ 컨트롤러에서 JSON 파일 읽기 ] - 여기서는 webapp 하위 경로에 넣었다. (아래 코드) - Resources 하위에 넣어놓았다면 아래와 같이하면 된다. - java.net.URL과 java.lang.ClassLoader 이용 - URL systemResource = ClassLoader.getSystemResource("CertPdfDemoFile.pdf"); // gson, HttpServletRequest 을 이용 JsonParser parser = new JsonParser(); String jsonFilePath = request.getSession().getServletContext().getRealPath.. 2020. 8. 11.
GSON toJson, fromJson에 대한 ...삽질?! 가변적(key, value변수가 어떤게 들어올지 모름..)으로 넘어오는 JSON 데이터가 있으며 특징으로는 upperCase에 underscope으로 Key값이 이뤄져있다. (이건 불변) 이때 카멜케이스로 만들어놓은 VO에 setting하는 과정 or Map으로 받는 과정에서 나름(...) 고민해본 흔적을 남기고자 한다... [ FieldNamingStrategy 를 커스텀 하자! ] - toJson FieldNamingStrategy을 커스텀해서 내가 작성한 규칙으로 키값이 변경된 JSON 키값으로 변경 가능 - fromJson 역직렬화 시 적용이 안되는데 이유를 모르겠다.. ex. {“UP_DOWN" : “하하”} 인 경우, 맵핑하고자 하는 Class의 필드값이 upDown인 경우 맵핑이 안됨 이때는.. 2020. 7. 25.
[HackerRank] Ollivander's Inventory 문제 출처 https://www.hackerrank.com/challenges/harry-potter-and-wands/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen 문제 / 조건 최소 금액으로 non-evil면서 높은 power와 age인 지팡이를 찾아라 id, age, coin_needed, power를 뽑고 power 내림차순, 이때 동일한 power는 age 내림차순 문제와 조건을 확인하고 Sample Output과 이에대한 Explanation을 확인했다. 접근을 어떻게 하면 될까 고민하고 하다가 'code로 join을 걸고 is_evil = 0인 항목으로 추리고 그룹지으면 되겠다' 라고 생각했고 이때부터 늪에 빠지기 시작했다(.... 2020. 7. 12.
[HackerRank] Symmetric Paris 새로운 기술이나 java, spring에 대한 지식도 중요하지만 그만큼 많이 쓰는 DB에 대한 지식도 공부할 필요성을 느끼게 되었다. 아직 프로시저나 function 등 어려운 부분이 많지만.. 1년 차를 넘어갔으니 조금씩 공부하면서 익숙해져야겠다! 그러면서 쿼리문 학습을 위해 ‘해커 랭크’에서 SQL 문제를 꾸준히(.. 제발) 풀려고 한다. 각설하고, 이번에 생각하기 좀 힘들고 착각도 많이 한 Self Join을 활용한 문제 해결법이다. 고민하다가 결국 Discussion에 다른 사용자가 작성한 쿼리(아래 해결쿼리가 그것이다..)를 보긴 했지만 생각하는 시간이 되었다. 해당 문제 링크 https://www.hackerrank.com/challenges/symmetric-pairs/problem?h_r=.. 2020. 6. 10.
관계형데이터베이스(RDBMS)별Merge 정리 Merge 문은 조건에 따라 INSERT / UPDATE || DELETE 를 할 수 있는 구문입니다. MyBatis를 사용하는 경우 mapper.xml에 사용하는 태그도 다르니 참고하면 됩니다. 다른 블로그나, 티스토리 등 구글링을하면 기본적인 문법이 나와서 따로 정리하지는 않고, 대신 DB별로 자기 자신 테이블을 조회하는 문법을 정리하려고 합니다 보다 다양한 Merge문법은 아래 DB별 링크를 참고하면 됩니다. DB2 ( https://www.ibm.com/support/knowledgecenter/ko/SSEPGG_10.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0010873.html ) MyBatis : DAO.java : update 1 2 3 4 5 6 7 8 9 10 .. 2020. 3. 13.
IE 9에서 input태그 file 에러 이슈, input태그 accecpt, multiple 지원 버전 개발 후 테스트를 진행하던 중 다양한 브라우저에서 테스트를 하다가 발견하게 되었다. 일단 소스를 보면 알겠지만, input태그의 file이 좀 올드(?) 해서 스타일을 먹이기 위해 파일 첨부 여부에 따라 버튼에 스타일을 준 상태이다. 물론 스크립트로 작성되어있다! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 첨부파일1 *pdf, jpg, jpeg, png, gif, txt 및 오피스파일 형식의 10MB이하를 첨부하실 수 있습니다. Colored by Color Scripter 다른 브라우저에서는 정상적으로 돌아갔지만..! IE 9에서는 콘솔창에 에러가 발생하였다 정의되지 않은 또는 null 참조의 속성 0을 가져올 수 없습니다. 개발자 도구를 통한 웹 디버깅을 했을 때 스크립트의.. 2020. 3. 10.
IE와 Edge에서 onclick 이벤트 시 더블클릭 이슈 + 엣지의 html() 개발 완료 후 각기 다른 브라우저에서 테스트를 진행하고 있었다.. 크롬, 파폭에서는 정상적으로 작동하던 스크립트가 유독 IE랑 Edge에서만!! 말썽이었다ㅠㅠ 해당 기능은 selectBox(셀렉트박스)에 체크 여부에 따라 html태그를 append 시키는 기능으로체크를 하면 추가가 되고 체크를 해제하면 추가된 항목도 삭제가 되는 식이었다 (예를 들어, onclick에 checked 여부를 보고 append를 걸어놓으면 ie/edge에선 체크가 해제되는게 아니라 두번 들어가게 된다. 물론 조금 빠르게 누르는 경우..) 하지만 이때..selectBox 더블클릭하면 중복으로 들어가는 현상이 발생한다!! 따라서 구글링 한 결과 onclick대신 onchange를 쓰면 해결된다고 하여 수정했더니 해결...그런 의.. 2020. 2. 27.
[JPA 공부일지] JPA와 DB설정 동작확인 해당 일지의 내용은 인프런의 김영한 - 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발의 내용을 학습한 것임을 알려드립니다. build.gradle plugins { id 'org.springframework.boot' version '2.1.9.RELEASE' id 'io.spring.dependency-management' version '1.0.8.RELEASE' id 'java' } group = 'jpabook' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() }.. 2020. 1. 27.