일단 해보고, 아니면 뭐

실패했어도 배웠으면 실패가 아냐.

무한한 개발세계 여행기

Programming 3

Java Stream 모르고(?) 쓰면 일어나는 일들

오늘 포스팅은 다소 어이없을(?) 수도 있다. 오늘의 주제는 Java Stream의 일부인데, 모르고 쓴다기보단 막 쓰면 일어나는 일이라고 해야 할 수도 있겠다. 더 나아가자면 Stream의 문제가 아닌 그냥 개발자의 태도의 관한 포스팅이라고 생각하면 편할거 같다. 이전 회사에서는 Stream을 자주 사용하지 않았다. 대부분을 향상된 For문과 조건문을 활용해서 각종 필터링 작업을 진행하고, 그룹핑 해야하는 부분에서만 간혹 사용하곤 했다. 그런데 이번 회사는 신기할정도로 Stream을 자주 쓰고 거의 대부분이 Stream을 통해 구현되어 있다. 적응하면 가독성도 좋아지고 퍼포먼스도 잘 나온다고들 하는데, 나는 사용을 거의 안 해봐서 별로 체감하지 못하고 있었다. 그래도 지금 하는 프로젝트에선 주로 사용하..

Programing/Java 2022.09.16

Proxy Pattern 으로 구현해보는 다이나믹 서비스 적용기

회사를 이직한 지 벌써 한 달이 지났다. 딱히 한 게 없는 것 같은데 시간은 정말 빠르게 지나가는 듯하다. 이전 회사랑 업무 스타일이나 사람들 분위기가 달라서 적응하는데 애를 먹고 있지만, B2C 서비스를 개발하다 보니 이전 회사에서는 경험해보기 어려운 업무들을 할 수 있어서 재미있는 것 같다. 아무튼 오늘 포스팅 주제는 "Proxy Pattern 적용기"이다. 저번에 인프런 김영한 님의 스프링강의를 들으면서 여러 가지 디자인 패턴을 학습하게 되었는데, 그중에 하나가 오늘 포스팅 주제인 Proxy Pattern이다. 나는 기존 사내 프로젝트의 앱 푸시 로직을 개편하게 되는 업무를 맡게 되었고, 업무는 다음과 같았다. - 기존 : 앱 OS (Android / IOS)에 따른 Messaging 라이브러리로 ..

Programing/Spring 2022.08.31

Rest Service 개발 시점에서 바라본 Java와 Go 언어의 차이

현재 재직 중인 회사에서는 API Server를 개발하는 팀은 Java + Spring Boot를 사용 중에 있고, Agent를 개발하는 팀은 Go + gRPC를 사용하고 있다. 입사 시즌에는 Go언어가 있다는 것도 처음 들어봤지만, 왜? Java와 Go언어를 사용하는 서비스가 따로 있는지가 궁금해졌고 Rest Service를 개발할때 Java와 Go언어에 어떤 차이가 있는지 알아보고 싶어졌다. 일단.. Java와 Go언어가 어떤 차이점을 가지고 있는지부터 살펴보았다. Java : 객체지향 프로그래밍에 대표적인 언어이며 그만큼 큰 커뮤니티와 수많은 라이브러리들을 가지고 있다. JVM이라는 가상 머신에 의해서 구동되기 때문에 운영체제에 영향을 받지 않는다. Go : 오래된 언어는 아니지만 동시성을 지원하고..

Programing 2022.05.26