programming
-
[Java] 특수문자를 사용한 문자열 splitprogramming/JAVA 2022. 6. 12. 15:45
자바에서 특수문자를 사용한 split을 사용할 때는 주의해서 사용해야 한다. 콤마(,)를 사용할 때는 아래와 같이 사용하면 문자열을 구분자로 나누어 배열로 사용할 수 있다. String str2 = "AAAAA,BBBBB,CCCCC"; for (String s : str2.split(",")) { System.out.println(s); } 하지만, 특수문자를 사용할 때는 아래와 같이 "\\"를 포함하여 사용해야, 구분자로 사용해서 배열로 나눌 수 있다. @Test @DisplayName("split 테스트") void splitTest(){ String str = "AAAAA|BBBBB|CCCCC"; String[] expect1 = new String[]{"A","A","A","A","A","|","..
-
[Java] LocalDate Unsupported field: HourOfDayprogramming/JAVA 2022. 6. 6. 00:26
LocalDate.format을 이용해서 날짜를 표현할 때 발생하는 에러다. @Test void localDateTest1(){ DateTimeFormatter yyyyMMddHHmmss = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); LocalDate localDate = LocalDate.of(2022,06,06); localDate.format(yyyyMMddHHmmss); } 위 코드를 실행시켜보면 아래와 같이 에러가 발생한다. 해당 에러는 LocalDate에서 시간을 표현하는 포맷을 사용해서 발생한 에러다. format을 "yyyyMMdd" 형식으로 바꾸던지, LocalDateTime을 사용하면 에러는 발생하지 않는다. @Test @DisplayName("..
-
[git] git 특정 커밋만 가져오기 (cherry-pick)programming/Git 2022. 4. 11. 23:53
git에서 특정 버전만 가져오고 싶을 때 사용하는 명령어 cherry-pick > git cherry-pick 0772403177746efd2dd2b330c892c6 cherry-pick 다음의 commit id는 git log로 확인할 수 있다. 또는 github와 같은 곳에선 클릭만으로 가져올 수 있다. - 위 작성된 글에는 잘못된 부분이 있을 수 있습니다. 알려주시면 수정하겠습니다. ※ info git : git version 2.32.0.windows.2 (github)
-
[git] Revert "Revert commit"programming/Git 2022. 4. 3. 20:07
git의 revert라는 기능을 이용하면 이전 commit을 되돌릴 수 있다. 그 revert 된 commit들은 merge 되어도 생성되지 않는다. 예를 들어 아래와 같은 commit 내역이 있다. 1번에서 main과 revert-test라는 브랜치가 생겼다. 2번에서 1번의 commit을 revert 했다.(main) 3번에서는 2번에서 revert 된 1번 commit을 가지고 있다.(revert-test) 4번에서 revert-test가 main으로 merge 되었다. 여기서는 revert-test 브랜치에서 있었던 소스는 main에 병합되지 않는다. 5번에서 2번에서 revert 한 내역을 다시 revert 하면 1번에서 revert 된 소스는 다시 추가된다. git을 commit, push&p..
-
[Java] Arrays.asList(int[]) 의 잘못된 사용programming/JAVA 2022. 3. 27. 20:59
Arrays.asList() 는 배열을 List로 바꿔주는 것으로 알고 있었다. 그래서 아래와 같은 코드를 의심 없이 작성하였다. (코드를 작성할 때 의도한 것은 2,4를 배열에 넣고, 3,4가 해당 배열에 있는지, 없는지 확인하는 코드이다.) int[] int_numbers = {2,4}; Integer[] integer_numbers = {2,4}; @DisplayName("List.contains 테스트") @Test void listContainsTest(){ assertAll( ()->assertFalse(Arrays.asList(int_numbers).contains(3) , "int_numbers contains 3"), ()->assertTrue(Arrays.asList(int_number..
-
[Spring] tomcat query parameter 배열 처리하기programming/Spring 2022. 3. 5. 17:31
타이틀은 Spring이라고 적었지만, 톰캣에서 처리하는 방법이다. 해당 타이틀은 Spring + tomcat 개발 시 쿼리 파라미터를 처리할 때 에러가 발생할 경우 처리하는 방법이다. 예를 들어 아래와 같은 방식으로 url을 호출받아야 하는 경우. (다른 서버에서 나의 서버를 호출하는 경우다.) mydomain.com?product[i][id]=PID0001 이러한 경우 "[" , "]"와 같은 문자 때문에 에러가 나서 제대로 처리되지 않을 수 있다. 이때는 톰갯의 server.xml 파일을 찾아 아래와 같이 수정하면 해결될 수 있다. 해당 부분을 처리하면 되는데, relaxedQueryChars의 값을 채워주면 된다. 아니면 호출하는 쪽에서 encoding 하여 호출하면 더욱 쉽게 처리할 수 있다. 위..
-
[Spring] RestTemplate 한글 깨짐programming/Spring 2022. 2. 26. 16:02
Spring의 RestTemplate을 이용해서 API를 호출할 때, 한글이 제대로 등록이 안될 때가 있다. 그럴 땐 아래와 같이 인코딩을 설정해서 해결해 볼 수 있다. RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters() .add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8)); ** 출처 https://stackoverflow.com/questions/29392422/how-can-i-tell-resttemplate-to-post-with-utf-8-encoding How can I tell RestTemplate to POST with UTF-8 ..
-
[네이버페이] FAIL:[ERR-OR-100001] 가맹점ID 정보가 없습니다.programming/ETC 2022. 2. 21. 19:39
네이버페이 주문형 API 연동을 하려면 일단 회원가입 후 심사, 승인을 거쳐서 개발을 진행할 수 있다. (가입/승인은 별문제 없이 진행할 수 있다.) 가입을 끝내고 1~2일 내로 승인이 나면, 각종 인증키와, 가맹점 ID 등을 메일로 전달받는다. 그러고 나서, 처음 API를 테스트해보기 위해서 호출을 해보면, 아래와 같은 메시지를 볼 수 있을 것이다. FAIL:[ERR-OR-100001] 가맹점ID 정보가 없습니다. 메일로 각종 키가 적혀있어서 다른 것들을 가맹점 ID로 넣어보지만, 같은 메시지를 볼 수 있다. 이럴 때는 당황하지 말고, 네이버페이에 테스트 환경을 생성해달라고 메일을 보내면 된다.