분류 전체보기
-
코로나 시대, 여행회사에서 개발자로 일한다는 건개발 일기장/개발 일상 2020. 9. 13. 23:51
언제부터인가 블로그에 기술 포스팅보다 내가 겪었던 경험들을 읽으러 오는 분들이 많아져 어떤 생활적인 면을 글로 남기고 싶었다. 어떤 글을 써볼까하다 제목과 같은 주제를 떠올리게 됐다. 코로나가 판을 치는 시기에 여행 회사에서 개발자로 일한다는 것이 써볼만한 주제가 될 것이라 생각했다. 참고로 기술적인 얘기를 기대했다면, 이번 포스팅에서 기술적인 얘기는 거의 하지 않는다! 현실과 상황 코로나 또는 전염병의 확산은 외부출입과 타인과의 접촉을 줄이게 하고, 이는 여행 수요의 감소로 이어진다. 나는 여행 플랫폼 서비스를 제공하는 회사를 다니고 있다. 코로나로 인해 우리 회사는 그 피해를 직격타로 맞았다. 언택트 시대에 IT업계가 더욱 대세가 될거라한다. 카카오, 네이버, 배달의 민족처럼 온라인, 비대면 비즈니스..
-
'일관성 있는 웹 서비스 인터페이스 설계를 위한 REST API 디자인 규칙'을 읽고IT, 기술 도서 2020. 9. 6. 19:36
Rest API 디자인에 대해서 간결하고 깔끔하게 정리되어 있는 책이다. Representational State Transfer의 약자로 로이필딩의 박사 논문 주제로 세상에 소개 되었고 알려져있다. HTTP 통신을 위한 API 설계의 아키텍처 중 하나이다. 웹 개발자로 일하기 위해서는 REST API라는 말을 정말 많이 들어볼 것이다. 실상 그 속속까지 아는 사람은 많지 않다. 어디선가 아무곳에서나 REST API를 이야기하니 로이 필딩이 Http base의 인터페이스들을 모두 REST API라고 부르는 것에 좌절감을 느낀다든가(~이렇게 짜야 REST API라고 할 수 있어!라는 포스팅을 함), REST라는 단어에 대해 논쟁을 많이 한다는 이야기를 본 기억이 있다. 그래서 평화를 위해 그냥 Web AP..
-
Effective Java3(이펙티브 자바3)을 읽고IT, 기술 도서 2020. 9. 5. 12:16
좀 더 좋은 자바 코드 작성을 위해 자바 진영에서 유명한 이펙티브 자바를 사서 읽었다. 이펙티브 자바3이 가장 최신판이었고, 기존 이펙티브 자바2의 명맥을 이어가면서 더 보강했다고 해서 완전히 다른 책이 아니고 더 보강한 책이라 이펙티브 자바3을 구입했다. 처음에 하나하나 정리를 해볼까 생각했지만, 시간 소요가 많을텐데 다른 책들이 보고싶어 서평 정도만 남기기로 했다. 코드를 작성하는데 도움이 되는 조언이 많았다. 예를 들면, - 인자가 많은 생성자를 만들어야한다면 빌더 패턴을 고려하라 - 전통적인 for문보다 for-each문을 사용하라(이제는 for-each도 있지만 stream을 이용할 수도 있다) - 로 타입은 사용하지 말라 - 웬만하면 제네릭 타입, 메서드를 사용해라 - 상수 대신 열거타입을 사..
-
[Spring] Retrofit2에서 XML로 통신하기웹 개발/Spring Framework 2020. 8. 17. 17:33
요즘은 Http API를 주고받으면 데이터 형태는 XML보다 JSON으로 많이 사용하고 있다. 그렇지만 여전히 XML을 사용하는 회사도 많다. 외부 업체의 API가 XML로 데이터를 내려주기 때문에 XML로 통신할 수 있도록 개발해야했고, 우리는 Http client tool로 retrofit을 사용하고 있었다. 내가 해결해야 할 건 retrofit을 이용해서 XML로 통신할 수 있도록 만들어야 했다. 구글링을 해서 먼저 나온 건 SimpleXmlConverter을 사용할 수 있도록 com.squareup.retrofit2:converter-simplexml 의존성을 추가해서 사용하라는 글이 많다. 사용하려고 보니, deprecated 됐다. 친절하게 어떤걸 쓰는걸로 바꿔라! 라고 알려주어서 JAXB(J..
-
Cannot find cache named '' for Builder[] caches=[] | key='' | keyGenerator='' | cacheManager='' | cacheResolver='' | condition='' | unless='' | sync='false' 에러 해결웹 개발/에러 해결 2020. 8. 6. 23:32
이 포스팅에서 제시하는 해결방법은 spring-cloud-aws를 사용하고 있을시에만 해당함. java.lang.IllegalArgumentException: Cannot find cache named '캐시 이름' for Builder[캐싱한 메서드 위치] caches=[캐시 이름] | key='' | keyGenerator='' | cacheManager='' | cacheResolver='' | condition='' | unless='' | sync='false' 빠른 응답성을 위해 사용하는 Cache. 스프링에서도 이런 Caching 기능을 제공하고 있는데, @Cacheable을 사용하고 있는 메서드에서 위와 같은 에러가 발생했다. 최근 헤로쿠에서 AWS로 옮겨가면서 spring cloud aw..
-
[Spring] Spring boot에서 Amazon MQ(Active MQ) 연결하기웹 개발/Spring Framework 2020. 7. 16. 00:12
Amazon MQ란? Amazon MQ는 클라우드에서 메시지 브로커를 쉽게 설정하고 운영할 수 있는 Apache ActiveMQ용 관리형 메시지 브로커 서비스입니다. Amazon MQ는 Active MQ를 사용하고 있다. 이름처럼 AWS에서 제공해주고 있는 서비스이기도 하다. Active MQ에 대해 더 알고 싶다면 여기를 참고해보자! 다 읽어보진 않아도 어떤 아키텍처로 이루어져 있는지는 알아야쥬 그림 하나만 보면 이해가 된다. 메시지를 생산하는 Producer, 메시지를 전달하는 Broker, 받은 메시지를 소비하는 Consumer 모델로 이루어져있다. Active MQ는 Queue 방식과 Publish/Subscribe 방식을 이용해 메시지를 전달한다. Queue 방식을 사용하면 Consumer들에게..
-
조르바의 2020년 상반기 회고개발 일기장/직장 생활 2020. 7. 8. 23:35
어느새 경력으로 2년 3개월, 2020년 상반기가 지났다. 인턴을 제외하면 2년 3개월. 이제 갓 중고신입 딱지를 뗐다고 할 정도의 시간이 지났다. 2년 3개월이란 시간동안 개발에 몸 담으면서 그 시간에 아깝지 않을만큼 성장했을까? 잘 모르겠다. 열심히 했다고는 생각하지만, 그만큼의 괄목할만한 성장이 있었는지가 의문이다. 노력보다 실력이 중요한 현대를 살아가고 있으니까 말이다. 하지만, 노력은 복리로 돌아온다는 말을 굳게 믿으며 계속 해나간다. 나의 못났던 모습 또한 기록해두는 것이 중요하다는 걸 안다. 더 잘 해나가기 위한 회고는 필요하다는 생각으로 포스팅을 작성하고 있다. 잘했거나 좋았던 부분 다시 시작한 일찍 출근해서 1시간씩 공부하기 첫 직장에서 만든 습관이었는데, 지금 회사에 어느정도 적응이 되..