목록분류 전체보기 (181)
Lewis's Tech Keep
오후 2시에 출발한 하남 검단산. 블로그에 찾아보니 1시간 정도 걸린다고 하여 안심하고 갔다 그렇게 등반한지 2시간째 580m 지점에 4시 40분 가까이 되었다. 해 지는 시간을 검색하자 17시 53분 정도 였다. 아 무리하지 말고 여기서 내려가자고 결심하여 하산을 결심. 650m지점 정상까지 얼마남지 않았는데 아쉬웠다. 하지만 아이젠도, 등산화도 없이 등반을 시작했던 나. 내려오면서 적어도 10번은 넘어졌던 것 같다. 더 무리를 해서 뛰어가서라도 정상에 도달했다면 나는 제 시간에 하산 할 수 없었겠지. 여태까지 해 왔던 내 습관적 노력, 루틴들이 다 이런 것이 아니었나 깨달았다. 제대로 계획하지 않고 오후부터 달려들어 어느정도 거리에서 목표를 찍지 못하고 내려오기. 내려올 때는 혼자 스릴러라고 생각하면..
직업에 대한 적성 및 인생에 대한 고민으로 계획한 일주일 동안 최대한 많은 산 등반하기 프로젝트다. 현재 등반 산 목록 아차산 용마산 원래 토요일에 출발하려고 계획했던 아차산 등반. 그러나 게으름 이슈로 인해 하루 연기하고 말았다. 일요일 오전에 출발한 아차산은 더할 나위 없이 좋은 날씨 하에 출발했다. 가면서 편의점에 들러서 생수 한 병 구입. 아차산 정상을 등반한지 40분 만에 찍었는데 하늘과 바깥 쪽 풍경에만 관심이 쏠리는 바람에 정상에 도착한 지 몰랐다. 그리하여 1시간 10분 째 등반하다가 무엇인가 이상함을 느끼고 지도를 찾아다녔는데.. 이미 아차산 정상을 지난 것이 아닌가 하하하핳.. 간 김에 용마산 정상인 용마봉도 구경하고 왔다. 최근에 나는 어떤 개발자가 될 지, 어떤 가치를 추구할 지 모..
Spring Boot에서 Isolation level은 transaction 단위로 작동하는가? 결론 : Yes 참고링크 : https://taetaetae.github.io/2016/10/08/20161008/ package org.springframework.transaction.annotation; Isolation 클래스 (https://lion-king.tistory.com/entry/SpringSpring-Boot-Transactional-isolation-%EC%98%B5%EC%85%98-%EC%A2%85%EB%A5%98-%EB%B0%8F-%EC%84%A4%EB%AA%85 ) annotation으로 설정한 순간 Isolation enum의 TransactionDefinition interfa..
에러 원인 앱이 스키마 업그레이드에 의해 변경된 테이블을 쿼리하는 경우 (즉, 앱이 변경된 테이블에서 업그레이드 전후에 쿼리를 실행 한 경우) postgres 드라이버는 일부 스키마 세부 정보를 캐싱하기 때문에 오류를 반환한다. https://stackoverflow.com/questions/34180932/error-cached-plan-must-not-change-result-type-when-mixing-ddl-with-select-via pg jdbc 에서 preparedStatement를 효율적으로 하기위한 caching 을 저장하는데 아무것도 설정하지 않았을 경우 prepareThresold 가 5개로 유지되고 요청이 많았을 경우 해당 5개에 저장된 preparedStatement의 스키마가 ..
계기 사실 글을 쓰게 된 계기가 아주 부끄럽다. 동료 분과 이야기 '낙관적 락'에 대한 이야기를 하다가 나의 무식을 뽐내었기 때문이다. 근래에 '낙관적 락'이라는 단어에 꽂힌 나는 이런 이야기를 하였다. "낙관적 락을 걸면 팬덤 리드의 문제가 없어질 수 있을까요?" 라는 말을 하였고 이에 대해 동료는 매우 의아하게 대답하였다. 동료 분은 "낙관적 락 자체가 트랜잭션간의 충돌이 잘 일어나지 않는다고 가정하고 버저닝을 거는 것인데 애초에 그런 상황이 거의 없지 않을까요?" 라고 이야기하였다. 나는 그 시점에 회사의 어플리케이션에서 트랜잭션에 락이 걸려있지 않은 부분에서 디버깅을 하다가 트랜잭션 고립 레벨로 인한 이슈 중 팬덤 리드(Phantom Read) 문제가 일어났다고 착오했던 현상이 있었고 잘못 이해하..
기본적인 HTTP 의 파트 4개의 파트로 나눌 수 있다. Request LIne, HTTP header, Empty Line, Message Bod 여기에 Message Body에 들어가는 데이터 타입을 Http Header에 명시 해 줄 수 있다. 이 header에 Content-type에 컨텐츠의 유형을 지정해 줌으로써 어떤 유형의 데이터(MIME type - RFC2045 기술서)가 전송되는 지 알려주는 역할 여기에 multipart/form-data 의 타입을 입력하고 보낼 시 해당 데이터의 타입인 것을 알려주는 것이다. Mulitpart 메시지 Mulitpart 메시지란 서로 붙어있는 여러 개의 메시지를 포함하는 하나의 복합 메시지 boundary 파라미터를 포함해서 메시지 파트를 구분함 Spr..
https://gaemi606.tistory.com/entry/Spring-WebFlux Spring WebFlux Spring WebFlux Spring Framework, Spring Web MVC를 포함하는 기존의 웹 프레임워크는 Servlet API와 Servlet containers를 통해 만들어졌었다. Spring WebFlux는 reactive-stack web framework다. 스프링 5.0버.. gaemi606.tistory.com https://elfinlas.github.io/2017/12/14/java-custom-anotation-01/ Java에서 커스텀 어노테이션(Annotation) 만들고 사용하기 19년 9월 8일 추가 19년 9월 8일 Github에 해당 소스를 등록하..
카프카? 카프카는 분산 스트리밍 데이터 플랫폼이다. 스트리밍 데이터 : 비즈니스, SNS 등 다양한 어플리케이션에 의해 실시간 정보는 끊임없이 생성된다 요즘은 데이터가 이벤트성으로 여기저기서 발생을 함 이 데이터들을 가치있는 value로 만들기 위해서는 데이터들을 하나의 스트리밍화 시켜서 담아서 데이터 파이프라인을 구축하는 것 스트리밍 데이터 처리는 실시간 데이터 처리를 내포하고 있음 브로커? 카프카 저장소의 노드 역할을 수행한다. 토픽? 페이지 캐싱 형태의 데이터 임시 저장소 (in memory 형태) 파티션? 고가용성을 위해 저장소 안에 분리 되어진 공간 (토픽이 날라갔을 때 복귀를 파티션이 커버) 주키퍼 주키퍼는 분산 코디네이터 서비스를 제공하는 오픈소스 시스템이다. 서버의 상태를 감지하기 위해 사..