분류 전체보기 52

HHH000206: hibernate.properties not found 오류 해결하기

들어가며 처음 Hiberate를 공부하며 맞이한 오류이기에 이렇게 기록으로 남겨 보려고 한다. 환경설정부터 오류가 나니 적잖이 당황스럽지만 조금의 구글링으로 원인을 파악할 수 있었다. 오류발생 환경 [ 오류 발생 환경설정 ] JDK 11 Hibernate 5.3.7.Final H2 1.4.200 [ 변경한 환경설정 ] JDK 8 Hibernate 5.3.7.Final H2 1.4.200 오류 내용 및 원인 원인을 찾아보니 JDK 11에서는 기존의 내장되어있던 JAXB가 사라지게 되었다. 만약 JDK 버전을 변경하지 않고 사용하시려면 별도의 JAXB 라이브러리를 추가하여 문제를 해결 할 수 있다. 아래는 오류에 대한 Stacktrace 이다. Exception in thread "main" java.lan..

[Mokito Docs] Part1. Mockito? 그게 뭐지?

[학습목표] Mockito의 개념을 이해한다 Mockito is a mocking framework that tastes really good. Mockito 프레임워크 공식 사이트에 나와있는 설명이다. Mockito는 맛이 좋은 목킹 프레임워크라... 아직은 혼란스럽지만 이번 글을 끝까지 읽고 나면 목히토에서 목디브 한잔이 생각 날 것이다. 우선 필요한 개념들을 먼저 설명하겠다. Test: 사전적으로는 '시험하다'의 뜻도 있지만, 여기서는 실험, 모의실험의 의미로 테스트라고 사용한다. Test code는 JUnit 프레임워크를 기반하는 모의실험 코드를 뜻한다. JUnit: 테스트 코드 작성을 도와주는 JVM 기반 프레임워크이다. 작성한 코드가 의도한 대로 동작하는지 간단한 방법으로 검증할 수 있다. M..

Development/Testing 2020.06.14

폐쇄망에서 K사 로그인API 적용 후기

폐쇄망에서 개발은 정말 신경 써야 할 것이 많다. 그중에 대외 시스템과 연계하는 개발은 더더욱 신경 쓸 것이 많다. 이번에는 F 생명보험사의 K사 로그인 방식을 도입하기 위해 시행착오를 겪었던 후기를 올린다. 절차는 다음과 같았다. K사의 개발 가이드문서 및 샘플 소스를 받는다. 인프라 팀과 협의하여 대외망으로 연결할 IP 및 도메인 이름을 정의하여 K사에 전달한다. K사는 해당 IP를 서비스에 등록하여 테스트를 진행할 수 있도록 한다. 내부 서버와 대외망으로 연결할 수 있는 IP를 연결한다. 샘플 소스를 기반으로 테스트 데이터를 API 요청을 보낸다. 정상적으로 데이터가 응답되는지 확인한다. 간단해 보이는 절차지만, 전체 흐름을 개발자가 혼자 통제하는 것이 아니기 때문에 과정마다 신경 써야 할 곳이 많..

[살인자의 기억법] 처음으로 책갈피가 필요 없었던 책

Book review infomation 책 이름 살인자의 기억법 저자 김영하 가격 10,000 원 독서기간 2020. 06. 13 ~ 2020. 06. 13 로튼도마도 점수 7.7 / 10 굉장한 파괴력. 단숨에 읽히지만 긴 후유증이 남는다. -이적(뮤지션) 책 뒤표지에 이적 씨가 남긴 후기가 있다. 공감이 가는 말이다. 저녁식사 이후에 2시간여 만에 마지막 페이지까지 넘겼다. 20대 중반에 추리소설을 좋아했지만 먹고 살 걱정으로 잠시 미뤄두고 취업준비를 하던 시기가 있었다. 그 이후에는 인문학과 기술서적에 매진해왔는데 오랜만에 추리소설을 읽는 것 같은 기분이 들었다. 아 물론 이 책은 추리소설이 아니다. 어쩌면 인문학에 가까운 소설일 수 있겠다는 생각이 들었다. 그래서 앉은자리에서 다 읽을 수 있었나..

Book Review/Life 2020.06.13

[객체지향의 사실과 오해] 객체를 올바르게 바라보는 친절한 가이드

Book review infomation 책 이름 객체지향의 사실과 오해 저자 조영호 가격 20,000 원 독서기간 2020. 06. 01 ~ 2020. 06. 19 로튼도마도 점수 8.9 / 10 처음 Java를 공부하게 되면 "객체지향 언어의 특징 = 자바의 특징"으로 배우게 됩니다. 흔히 '붕어빵과 붕어빵 틀' 이란 비유로 클래스와 인스턴스를 배우고, Getter/Setter를 캡슐화를 위해 사용한다고 배우지만 취업 면접을 통과하고 나면 이래 잊게 됩니다. 이 책은 우리가 개발하면서 잊고 있었던 객체지향의 특징을 철학적으로 설명해줍니다. 새로운 기술은 필히 이전 세대의 불편함을 극복하기 위해 등장하게 됩니다. 과거의 프로그래밍도 오늘날과 다르지 않게 끊임없이 변경되는 요구사항으로 고통스러웠습니다. ..

[개발 Tip] Intellij에서 lombok을 인식하지 못하는 경우 해결방법

인텔리제이를 처음 쓰다보니 낯설게 되어 간단한 오류에도 허둥지둥하게 되는데요, 그 중 가장 오랜기간 괴롭혔던 이슈를 소개하고자 합니다. Spring initializr을 통해 스프링 부트 프로젝트를 생성하다 보니 자연스럽게 lombok을 사용하게 됐습니다. 하지만 컴파일시에 자꾸 빨간줄이 가고 설정에서 구글링에서 제시하는 대부분의 해법인 Enable Annotation Processing을 체크해도 사라지지 않아 적잖이 당황했습니다.(런타임 시에는 또 정상적으로 돌아갑니다) 그러던 중 Stackoverflow에서 maven이나 gradle에 주입하는 것 말고 인텔리제이 플러그인 중 'lombok'을 설치해보라는 글이 있었고 이를 설치 후 재시작하니 한방에 해결되었습니다. 평소 줄 맞추는 것..

[개발 Tip] 무상태 프로토콜이란 무엇인가?

들어가며 '무상태 프로토콜은 무엇입니까??' 올해 TOPCIT 문제 중 하나였다. 듣기는 했는데 어떻게 설명해야 할지 몰라 답을 비우고 나오게 되었다. 시간이 흘러 최근에 네트워크 기초에 대해 공부하며 알게된 지식을 남기기 위해 포스팅을 하게 되었다. 무상태 프로토콜이란? HTTP는 기본적으로 무상태 프로토콜을 기반으로 한다. 프로토콜은 '규약', '약속'인데 무상태는 그럼 무엇인가? 통신은 기본적으로 클라이언트와 서버 사이의 의사소통이다. 서로가 통신을 할 때 상태정보, 세션 등을 요구하지 않는 것이 무상태의 정의가 된다. 이는 서버 디자인을 단순하게 만들어 주며, 리소스의 소비를 억제해준다. 다만 인증정보에 대해 매 요청마다 인증을 해야하는 불편이 발생할 수 있다. 무상태 프로토콜의 이런 단점은 쿠키..

Development/Etc 2020.05.30

[개발 Tip] URL과 URI의 차이점을 무엇일까?

최근에 부족한 네트워크의 기초를 공부하다 URL과 URI의 차이를 알게되어 공유하고자 글을 남기게 되었다. 우선 각 용어의 아래 문장의 약어이다. URL : Uniform Resouce Locator URI : Uniform Resouce Identifier 굳이 해석을 하자면 '통일된 자원 위치'와 '통일된 자원 식별자' 따위로 해석된다. 따라서 URL은 자원의 위치를 기존의 정해논 규칙대로 표시하는 방법이고, URI는 자원의 구분자를 정해진 형태논 규칙대로 표시하는 방법이다. 정리하자면 URL은 단순히 파일의 위치를 표시한다면, URI는 파일의 위치일수도, 이름일수도 있는 파일의 식별자를 표시한다. URI가 URL을 포함하는 개념이라고 생각하면 좋다. URI에 포함 되는 ..

Development/Etc 2020.05.30

테스트를 시작하는데 방해하는 것들

테스트의 중요성이 대두되고 있습니다. 이미 기본적인 개발룰로 적용되어 강제적으로 작성해야하는 회사도 있고, 아직까지 테스트는 거추장스럽고 불필요한 시간을 소모시키는 천덕꾸러기로 생각하는 회사도 있습니다. 오늘날은 바야흐로 테스트 코드의 과도기라고 할 수 있다고 생각합니다. 이런 시대에 맞춰 테스트코드를 작성하기 시작하는 분들을 위해, 테스트 코드를 작성하기에 어떤 것들이 방해하는지 경험적이고 주관적인 생각들을 꺼내보겠습니다. 1. TDD(Test-Driven Development) '응? 테스트 열풍의 중심인 TDD가 오히려 테스트를 시작하는데 방해한다고?' 네 그렇습니다. TDD는 생각보다 극단적으로 치우쳐있습니다. 어떤 개발을 하든 테스트 코드를 작성해두고, 이를 하나씩 통과시켜가는 과정으로 개발을 ..

Development/Testing 2020.05.24

[SI 프로젝트 TDD 실천기] 1. 프로젝트 분석부터 개발 초기까지 느낀점

저는 주로 보험사 사이버창구 업무에 관해 SI프로젝트를 하고 있습니다. 운 좋게 이번 프로젝트에서는 킥오프부터 투입하게 되어 프레임워크 설정에 대해 적극적으로 참여할 수 있었습니다. 그래서 기존 소스분석 과정에서 불필요한 부분은 과감히 줄이고, 새로운 프로젝트에 필요한 라이브러리를 자유롭게 추가하기도 했습니다. 이런 상황에서 몇 가지 키워드를 중심으로 SI 프로젝트에서 TDD를 실천한 후기를 써보겠습니다. 오프라인 프로젝트의 문제점 보험사를 비롯하여 금융 프로젝트는 대부분 인터넷을 사용할 수 없습니다. 이런 제약 속에서 먼저 떠오르는 생각은 단연 구글링입니다. 구글링 없는 개발은 상상하기도 힘든 오늘날의 개발실정에 통감하게 됩니다. 하지만 시간이 지나면 진짜 문제는 프로젝트의 의존성 관리입니다. 의외로 ..

Diary 2020.05.24