크롬에서 특정 리소스(e.g. image, js …) 들만 http 403 에러가 나던 희한한 케이스

By | 6월 12, 2021

잘 쓰던 우리 크롬이 어느 날.. 쿠팡 상품상세 페이지 로딩도 실패하고, 네이버 블로그 이미지도 안보이고, 네이버 로그인 하니 계속 영수증 내용 입력하라고 나오고… 알 수 없는 행동들을 했다. 웨일이나 오페라 같은 것들은 다 정상적으로 보이는데 유독 크롬만! 한참을 이유를 알 수 없어 헤메다가, 일부 정적 자원들에 대한 요청이 http 403으로 실패하는 것을 발견했고, fiddler로 request… Read More »

Spring 에서 @ResponseBody 로 json serialized response(응답) 를 생성할 때의 json 변환 규칙 재정의 하기 (null => “” 변환 등…)

By | 2월 11, 2022

일단 Spring 4에 내장된 jackson2 를 그대로 활용한다는 가정하에 기술한다. NullSerializer 작성 import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; /** * jackson > Object의 null값을 "null" 문자열 대신 ""로 출력할 수 있도록 설정 */ public class NullSerializer extends JsonSerializer<Object> { @Override public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException… Read More »

java.lang.reflect.GenericSignatureFormatError: Signature Parse error: Expected Field Type Signature 에러 사례

By | 5월 6, 2021

왜인지 모르겠으나…(협업 환경에서 잘못된 오버라이드?) IDE의 JDK 언어 레벨이 5로 되어 있어서, 람다식 등의 시그니처를 인식하지 못한 것으로 추측된다. 다시 IDE의 JDK 버전을 8로 맞추어 줬더니 정상동작 했다. 아오.. 갈 길이 바쁜데 이런 거 발목 좀 안 잡았으면 좋겠네. -_-/

[링크/javascript] 얕은 비교(shallow compare), 깊은 비교(deep compare), 얕은 복사(copy), 깊은 복사, 전개구문(spread operator), cloneDeep…

By | 1월 27, 2023

https://babycoder05.tistory.com/entry/%EC%A0%84%EA%B0%9C%EA%B5%AC%EB%AC%B8%EA%B3%BC-%EC%96%95%EC%9D%80-%EB%B3%B5%EC%82%AC-%EA%B9%8A%EC%9D%80-%EB%B3%B5%EC%82%AC 참고 전개구문(스프레드 연산자 = spread operator)을 사용한 깊은 복사는 반쪽짜리 깊은 복사이다. 하위 depth는 여전히 얕은 복사 상태임을 주의하자. => lodash.cloneDeep()을 사용하면 완전한 깊은 복사 실현 가능.

각 언어별 날짜포맷 샘플 (date format)

By | 11월 4, 2021

java yyyy-MM-dd HH:mm:ss.SSS (e.g. ‘2021-01-31 23:59:59.123’) MySQL %Y%m%d%H%i%s (e.g. ‘20210131235959’) %Y-%m-%d %H:%i:%s (e.g. ‘2021-01-31 23:59:59’) %c/%e (e.g. ‘4/1’) (leading zero가 제거된 월일 표기) Oracle yyyymmddhh24miss (e.g. ‘20210131235959’) yyyy-mm-dd hh24:mi:ss (e.g. ‘2021-01-31 23:59:59’)

[javascript] querystring의 특정 pair의 값을 수정하여 또 다른 querystring 으로 만들기

By | 3월 17, 2021

// 함수 정의 /** * 파라미터로 받은 querystring의 특정 파라미터 값을 변경한 querystring을 리턴한다. * * – querystring은 주소부분을 제외한 ? 이후의 부분이라 가정한다. */ function modifyQueryString(src, modObj){ // querystring을 object 화 var obj = JSON.parse('{"' + decodeURI(src).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}'); for(key1 in obj){ for(key2 in modObj){ if(key1 != key2){ continue; } obj[key1] =… Read More »

[링크] MyBatis 1:N select 결과 매핑하는 예제 (e.g. 게시물 목록조회시 게시물당 첨부파일목록을 함께 조회하여 그룹핑, group, collection, one to many)

By | 7월 8, 2021

[Mybatis] 1:N 관계 데이터 처리 data concatenation 주의사항 resultMap > collection 을 사용할 경우 collection 의 요소가 두 개 이상일 경우(거의 그렇겠지만) 평범한 페이징으로는 오류가 날 수 밖에 없다. offset, limit 등은 그룹핑 후에 걸어야 하는데, collection의 경우 쿼리가 다 끝나고 그룹핑 되므로 그래서 나는 그냥 resultMap-collection 패턴을 포기하고 주 레코드만 select 후, select된 목록의… Read More »

[워드프레스] 이 웹사이트에 치명적인 오류가 있습니다.

By | 3월 12, 2021

여느때처럼 블로그 관리자 페이지에 로그인 하려고 했더니, 흰 바탕에 달랑 두 줄이 씌여 있는 페이지로 이동했는데 내용이, ‘이 웹사이트에 치명적인 오류가 있습니다’ 였다. 겁나 황당.. trouble shooting 링크가 있어서 따라가 보니 이런 저런 내용이 있어서 하나하나 따라해 보려고 했는데, 다행히 첫 단계에서 해결이 되었다. 사실 별로 한 것도 없어서 왜 해결이 되었는지도 모르겠는데. 일단 복기하면,… Read More »

Intellij 에서 debug 시 breakpoint 가 에러메시지와 함께 비활성화(disable) 되는 문제 (intellij debug no executable code found at line…)

By | 3월 10, 2021

간만에 디버그 좀 할라 했더니 Intellij 가 안도와주네 하. 대충 인터넷을 둘러보니 ‘소스랑 빌드랑 싱크가 안맞나보네요. 겁나 클린해 주세요~’ 등등의 답변이 많은 것 같았다. 나는 늘 하던 maven clean package 를 했더니 어찌어찌 해결되었다. 굳이 package 가 아니더라도 clean 만 들어가면 되지 않을까 싶네~

flutter 환경셋팅시 에러 해결 등등

By | 3월 10, 2021

flutter doctor –android-licenses 실행시 Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema 에러 java8 로 내리라고 해서 봤더니 나는 이미 java8 이었음. Android Studio 에서 아래의 항목을 추가 설치 후 다시 해 보니 성공 Appearance & Behavior > System Settings > Android SDK 에서 Andriod SDK Command-line tools (latest) 를 체크 후 설치

mariadb(아마 mysql도)의 varchar(길이) 에 대하여 잘못 알고 있었던 것 (글자 length, byte length)

By | 7월 16, 2021

오라클 하던 생각으로 막연히 varchar(길이) 안의 길이가 바이트를 나타낸다고 생각하고 있었는데, 오늘 실험 결과 글자(character)단위 길이인 것을 확인했다. mariadb 10 (utf-8) 의 varchar(10)에 한글 10자를 넣어 보니 정상적으로 들어갔다. LENGTH(입력값) = 30, CHAR_LENGTH(입력값) = 10 의 결과가 나왔다.