전체 글 46

hadoop hdfs fsimage 얻기 : fsimage 는 어디에?

목표 : hdfs의 fsimage 를 xml 형태로 얻기 시행착오 1. fsimage 가 어디에 있지? 구글링 결과 아래 코드를 써서 fsimage 를 얻을 수 있다고 했다 hdfs oiv -i fsimage oiv : offline image viewer oiv 는 hdfs 의 fsimage를 fuman-readable 한 상태로 만들어주는 툴이라고 한다. 장비에 hadoop은 실행중이기 때문에 당연히 되겠지..! 했지만 그러나 결과는 "fsimage : no such file or directory".. 그리고 무슨 namenode 를 찾을 수 없다고 했던가 시행착오 2. 그럼 namenode 있는 곳에 가야겠다..! namenode 가 어디에 있지? hdfs getconf -namenodes 위 명..

개발log 2021.12.22

[에러해결] java.lang.RuntimeException: file name '' is too long ( > 100 bytes)

spring boot 코드를 통해 특정 api 에서 데이터를 받아와서 file 형태로 저장하는 과정에서 위 에러가 발생했다 TarArchiveOutputStream(gzOut).use { tOut -> tOut.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX) ... } 구글링해본 결과, TarArchiveOutputStream 에 LongFileMode 를 지정해 주어야 한다고 해서 위와 같이 코드를 수정했다. 위와 같이 Longfile 을 핸들링할때 옵션을 지정해 주지 않으면, default 모드는 LONGFILE_ERROR 이므로 Runtime Exception 을 뱉었던 것 같다

error 2021.12.22

Yodo1 파트너십 메일 받은 후기 (과연)

나에게는 소중한 게임이 있다 바로 바로,, unity 로 개발 + 디자이너분과 협업을 통해 만들어내고 apple app store / google play store 양쪽에 출시한 게임 DropTheBug! 만들고 출시 이후, 잊고 살던 게임에 광고 홍보를 도와주겠다는 메일들이 오기 시작했는데, 그러던 와중 길건너 친구들을 성공시킨 yodo1 의 메일이 홀래당 눈에 띄었다 베이징에 위치하고 있는 모바일게임 퍼블리셔 요도원(Yodo1)은 호주 출신 인디 개발자들의 다양한 게임을 중국을 비롯한 글로벌 지역에 서비스하고 있다. 특히, 2014년 출시 이후 꾸준히 인지도를 쌓아온 인디 게임 '길건너 친구들(Crossy Road)'의 퍼블리셔로도 유명하다. yodo1의 Business Development Man..

개발log 2021.12.17

java 의 로깅 이란 (JCL, SLF4J, log4j, logback)

spring boot 로 개발을 하다보면 디펜던시에 띢 띢 log4j, logback 을 추가해서 사용하기만 했지,, 얘네가 어떤 애들인지 몰랐어서 알아보기로 함 # 로깅 퍼사드 JCL 은 Apache Commons Logging 이고 이를 줄여서 JCL 이라고 부른다 (Jakarta Commons Logging) spring 에서는 기본적으로 위 JCL 을 사용하는데, JCL 은 인터페이스 형태로 있어서, 이를 구현체와 함께 사용해야 한다. SLF4J 는 Simple Logging Facade for Java 의 약자이다. JCL 과 SLF4J 는 로깅 퍼사드이다. 퍼사드 패턴 (Facade Pattern)은 건물의 정면"을 의미하는 단어로 어떤 소프트웨어의 다른 커다란 코드 부분에 대하여 간략화된 인..

Backend 2021.12.13

[에러해결] Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value

spring boot 에서 jackson object mapper로, 받아온 API 의 응답을 파싱할때 생긴 오류 해결 방법 나는 기존에 jackson objectMapper 을 한개 생성해서 사용중이었음 @Configuration class ObjectMapperConfiguration { @Bean fun objectMapper(): ObjectMapper { val mapper = ObjectMapper() mapper.registerModules(JavaTimeModule(), KotlinModule()) mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) // 요 아랫 줄을 추가했다! mapper.configure(JsonReadFea..

error 2021.12.06

spring boot 에서 etag 설정하기

0. 배경 RFC(Request for Comments) 표준 방식에 의해 캐시 validation 방식이 변경됨 기존 : etag, last-modified 둘다 비교 변경 : etag 만 비교 etag 도입이 필요하다 1. etag 란 ETag == entity tag == 응답 body 값의 해시 값 HTTP 응답 헤더에 담아서 보내준다 응답 body 가 변하면 etag 도 변해야 한다 2. spring boot 에서 etag를 사용하기 위한 전제조건 # web.xml or build.gradle etagFilter org.springframework.web.filter.ShallowEtagHeaderFilter etagFilter /foos/* 3-1. (내가 사용한 방법) servlet filt..

Backend 2021.11.29

ios 개인정보 처리방침

1. 개인정보의 처리 목적 (‘https://jo5ham.tistory.com’이하 ‘JoHyun Kim) 은(는) 다음의 목적을 위하여 개인정보를 처리하고 있으며, 다음의 목적 이외의 용도로는 이용하지 않습니다. - 고객 가입의사 확인, 고객에 대한 서비스 제공에 따른 본인 식별.인증, 회원자격 유지.관리, 물품 또는 서비스 공급에 따른 금액 결제, 물품 또는 서비스의 공급.배송 등 2. 개인정보의 처리 및 보유 기간 ① (‘https://jo5ham.tistory.com’이하 ‘JoHyun Kim’) 은(는) 정보주체로부터 개인정보를 수집할 때 동의 받은 개인정보 보유․이용기간 또는 법령에 따른 개인정보 보유․이용기간 내에서 개인정보를 처리․보유합니다. ② 구체적인 개인정보 처리 및 보유 기간은 다음..

카테고리 없음 2021.10.12

[에러해결] A component required a bean named 'redisTemplate' that could not be found.

현재 상황 한개의 spring boot 에 두개의 redis를 연결해야 하는 상황 기존 코드는 한개의 redis 만 연결해 두었으나 변경하게 되면서, config/하위 폴더에 RedisDevConfig RedisRealConfig 이렇게 두개의 Config 를 만들어두게 되었다 @Bean(name = ["devRedisConnectionFactory"]) @Qualifier("devRedisConnectionFactory") redisConnectionFactory: RedisConnectionFactory이렇게 Bean 이름을 각각 명시해주고, Qualifier 로 해당 이름의 빈을 가져와서 쓰면 될것이라고 생각했다. 오류 발생 org.springframework.beans.factory.NoSuchB..

error 2021.05.06

appsmith(앱스미스) 사용기 : 라고 쓰고 영어 울렁증이라고 읽는다

회사에서 백엔드 개발자로서 일을 하다보니, 프론트 일을 무서워하며 하게 되는 경우가 생긴다. 사내의 몇십개의 서버를 날마다 (거의 일주일마다, 혹은 더 자주!) 몇시간씩을 들여서 배포를 하고 있는데, 배포 시간은 서비스 사용률이 낮은 새벽이어야 한다. 미리 배포 해두고,, 새벽에 스크립트를 돌리는 방식으로 자동화를 시켜놓고 만족하던 중, 그 배포도 기획자분께서 알아서 버튼으로 하실 수 있도록 어드민 페이지를 만들게 되었다. 나는 백엔드 개발자고 (어차피 2년차라 백엔드니 프론트니 도긴개긴이지만..) 우리 팀원 분들도 모두 백엔드 개발자 이시다 (어차피 다들 갓갓이라 뭐든 잘하시지만..) 그래서.. 1. 내가 빠르게 페이지를 만들 수 있어야 한다 2. 백엔드 개발자들이 유지보수하기 용이해야 한다 이 두가지..

개발log 2021.04.30