생각정리

[회고] 이탈리아 가이드 출신 개발자의 2022년 1월 월간회고

로춘남 2022. 1. 31. 09:04
728x90

2022년 그리고 1월이 지나간다. 시간이 정말 빠르다.

나는 지난 한달동안 잘지냈을까?

새해 계획은 야심차게 기획했지만, 과연 결과는?

벌써부터 반성의 마음이 올라오는게 좀 더 치열하게 살아봐야겠다고 느껴진다. 지난 한달동안 나는 개발자 입장에서 무엇을 했는지 살펴보고자 한다.


Tech Blog

1월동안 내가 어떠한 글들을 포스팅 했는지 살펴보았다.

  • 알고리즘 관련 2개
  • JPA 기본 객체 매핑
  • 불필요한 객체 생성을 피하기 위한 new String에 대해서
  • 계층형 쿼리란?
  • Maven과 Gradle의 차이
  • StringTokenizer hasMoreTokens() nextToken()
  • Java HashMap
  • Java Lambda & Stream

총 8개의 글을 작성하였다.

알고리즘의 경우엔 문제를 주말을 제외하곤 문제를 거의 풀었는데, 보통 쉬운문제 위주로 풀어서 모든걸 게시하지는 않았고, 차츰 백준 기준으로 레벨이 실버 이상으로 올라가야 글을 좀 작성 할 것 같다.

포스팅 된 2개는 간단한 문제인데, Buffer와 StringTokenizer를 이용한 문제들이다.

아직 브론즈 단계지만 Scanner를 되도록 안쓰려고하고 Bufferreader에 집중하다보니 어느순간 Scanner를 잘 안쓰게 되었다.

나머지 주제들은 내가 일하면서 궁금했던 부분이나 인터넷 검색하면서 자바 개발자에게 요구하는 조건?

면접 관련 사항 들을 리스트로 적어둔게 있는데 그 중 일부를 적어둔것이다.

JPA랑 계층형 쿼리같은 경우에는 JPA 공부와 SQLD 공부를 하면서 궁금한 부분이 생겨서 따로 작성을 해두었다. 

글을 작성하는것이 아닌 내것으로 만드는게 중요한데, 다른분들이 정리 잘해놓으신것을 참고하고 있으나 최종적으로는 내것으로 만들어야한다. StringTokenizer 같은 경우는 알고리즘을 풀다가 주로 쓰게 되었는데, 자세히 알아보고자 작성. 확실히 뭔가를 하면서 궁금한점들을 따로 적어두니깐 나중에 어떻게서든지  찾아보고 포스팅을 하려는 노력이 보이는것 같다.


Study

1월동안 나는 어떤 공부를 했는가?

기술블로그와 겹치는 부분들이 있겠지만 일부 겹치는것을 제외했을때, 인프런 강의를 통해 학습을 하였다.

현재 학습하고 있는 강의는 모두 김영한 선생님 강의인데, '스프링 핵심 원리 - 기본편' 그리고 '자바 ORM 표준 JPA프로그래밍 - 기본편'을 수강하고 있다. 그리고 인강 외적으로 SQLD를 조금씩 보고 있다.

3월에 시험이긴한데, 직장인 특성상 가용되는 시간의 범위가 넓지가 않아 초반부에 일단 이론부분을 봐두고 나중에 기출문제를 많이 풀어볼 계획이다.

강의 같은 경우엔 일단 처음 듣고 이해가 안될지라도(근데 처음 듣고 이해 되는게 가능한가...?) 일단 넘어가면서 큰 틀을 이해하려고 노력했다.

학습의 스타일을 하나씩 무조건 이해하려고 하는 공부 스타일이었는데, 그렇다보니 속도가 잘 나질 않았다. 정보처리기사든 SQLD든 스프링이든 일단 큰 맥락을 잡고 조금씩 조금씩 detail하게 살펴보고자한다. 강의야 인프런의 경우 수강기한이 무제한이니 필요할때마다 볼 수도 있는지라 선생님의 의도를 파악하려고 노력중이다.

개인적으로 커뮤니티 형식으로 Q & A를 남길 수가 있는데, 다른 사람들이 남긴글도 볼 수가 있어서 나에게도 많은 도움이 되고있다.


Company

회사가 IT전문회사가 아니다보니 참여하는 프로젝트 기간이 꽤나 길다.

짧은건 3년 그 이상은 5년씩 되고, 또한 개발자만 일하는것이 아니라 석사출신의 연구원분들과 함께 일하는지라 어느정도 문서작업도 있기에 주어진 일정대로 움직이는 느낌이 약간있다.

현재 담당했던 프로젝트가 3년차주기 프로젝트였는데, 잠시 여유가 생기던차 다른 프로젝트에서 에러사항이 생겨서 잠시 합류를 했다.

외주를 맡겼던 업체가 잔금을 받고 잠수를 타버린것...(이런일들이 실제로 있구나?) 

프로젝트가 어느정도 완성은 되어있다지만, 잔여기간내에 약간 피드백 사항을 수정해야하는지라 Java를 할줄아는 내가 잠시 투입 되었다.

처음으로 남이 작성한 코드를 받아서 이어갔는데, 생소했던 경험이다.

백엔드와 프론트엔드 소스코드가 나눠져있었고, 가상VM속에 2개의 소스가 돌아가는게 처음 접하는 나에게는 조금 신기했다. 다행인지 불행인지 코드를 읽는데는 큰 어려움은 없었다.

Java는 내가 하던거라 큰 어려움이 없었고, 프론트 같은 경우는 Vue.js로 되어있었는데, 때마침 이전에 내가 Vue.js를 개인적으로 공부한 부분이 있어서 처음 코드를 접할때 생소하지가 않았다.

피드백 사항도 프론트쪽에서는 크게 변경하는 내용들이 어렵지 않아서 요구사항들을 수정 할 수 있었다.

프로젝트에 투입되면서 생소했던건 KeyCloak과 JPA였다.

KeyCloak 이란 계정관리 및 access 관리는 제공하는 오픈소스라는데, application을 구현하고자 할때 해당 코드의 변경없이 인증과 자원보호의 기능을 제공한다고한다.

로그인 할때 필요한 사항이라 이미 구현되어 있어서 피드백 사항에 해당되지는 않아서 내가 직접적으로 관여를 한 건 아니지만, 새로운 기술을 알아두면 좋을것 같아서 코드를 유심하게 살펴보았다. 백엔드 개발자라면 그래도 보안에 대해서는 중요하게 알아두면 좋을것 같아서...효율적으로 코드를 작성하는것도 중요하지만 보안 역시나 무시못할부분이다.

(정보장교 출신다운 발언인가..??!!?!)

 

JPA같은 경우에는 이전에 mybatis만 사용하다가 새롭게 접하게 되었다.

작성된 코드가 JPA로 되어 있어서 처음엔 파악하기 어려웠으나 그래도 SQL문 비슷한 형식으로 되어있었고, 프로젝트에서 요구하는 SQL 자체가 어려운 사항이 아니라서 요구사항을 수정하는데는 많이 어렵지는 않았다.

JPA에 대해서 찾아보니깐 국내에서만 mybatis가 많이 사용되고 있지 해외와 더불어 국내 Top 기업내에서도 JPA가 많이 사용되고 있다는 자료를 접하게 되면서 반드시 배워야되겠구나! 라는 생각이 들었다.

그래서 인프런을 통해 수강신청을 했고, 조금씩 조금씩 알아가고 있는중이다. 

차후 유지보수 기간 필요한 부분이 생길시 즉각 적용 할 예정이다.

현재는 원래 진행중이었던 프로젝트의 log4j를 변경하려고한다. log4j 보안성에 대한 취약점이 나타나면서 여러모로 공지가 떴었는데, 진행하는 프로젝트의 버젼과는 크게 상관이 없어서 일단 냅두고 있었지만, 그래도 개발이라는게 혹시 몰라서 Apache가 권고하는대로 버젼 수정 작업을 진행중이다.

이 과정에서 IDE도 전자정부프레임 이클립스 기반에서 인텔리제이로 import 하고 진행하려고한다.

첫 입사했었을때는 이클립스를 사용하다가 중간에 인텔리제이를 구매해주셨는데, 그땐 완전 개발자 개린이라 이클립스 기반의 소스코드를 인텔리제이로 옮긴다는걸 시도해보지도 못했고,

(pom.xml에 때문에 고생한적이 있어서 약간의 공포증이 있던참이었음 ㅠ),

인텔리제이는 알고리즘 공부나 Test 목적용도로 주로 사용했던것 같다.

또한 차후 프로젝트에 잠시 투입되었을때, IDE 환경이 인텔리제이라 여기서 익숙해져서 그런지 다시 이클립스를 사용하자니 여간 답답한게 아니였다.

 

현재 import는 했지만 아직 완벽하지는 않다. 뭐가 문제인지 maven-plugin쪽에서도 오류가 조금 나고, Server가 실행되어도 404 오류가 나는걸 보니...하나씩 하나씩 살펴보면서 뭐가 문제인지 좀 봐야겠다.

(설날 지나고 나서는 부디 해결되어 있기를...)


Book

  • 비전공자를 위한 이해 할 수 있는 IT지식
  • 그림으로 배우는 HTTP & Network Basic

2022년이 되면서 새롭게 시작하는 공부방법이다.

관련 서적들을 많이 읽기. 꼭 개발분야 책들이 아니더라도 올해는 적어도 내 나이만큼 책을 읽기로 다짐했던지라 얇은 책 위주로 살펴보았다. 비전공자를 위한 이해 할 수 있는 IT지식 과 그림으로 배우는 HTTP & Network Basic에 관한 짧은 후기들은 따로 써놨으니(후기 정말 짧음) 약간 맛보기 용도로도 괜찮을듯?

JPA 수강중이라 관련 책도 읽고는 있지만 일반책보단 거의 강의 참고서 및 기본서의 개념이라 완독하는데는 시간이 조금 걸릴듯하다.

개인적으로 그림으로 배우는 HTTP & Network Basic이라는 책이 아주 마음에 들었는데, 어느 유튜브에서 추천해준걸 적어놨었다. 웹 개발자가 웹을 모르면 말이 안되는지라...처음에는 속독하면서 읽었고,

두 번째는 그림을 통해 과정들을 이해하면서 보려고 읽어봤었음.

웹 개발을 하는 사람이라면 읽어보는게 좋을듯하다.


1월 한 달을 정리해보면서...

 

이렇게 글로 적어보니 그래도 1월동안 아무것도 안하지 않았구나. 라는 생각이 들었다.

마친 작업도 있고, 진행중인 작업도 있고, 앞으로 해야할일을도 있으니 1월을 마무리하면서 마음을 다시 잡고,

새로운 2월. 그리고 또 다시 동기부여를 얻기 위해 앞으로 달려가봐야겠다.

 

728x90