한두달 전부터 개발 공부를 다시 제대로 해야겠다는 생각이 들었는데 지금까지 공부한 것들을 좀 정리하고 앞으로 나아갈 방향을 좀 정리해보려고 한다.
[목차]
1. 최근 학습 내용
1) JPA
공부를 다시 제대로 해봐야겠다는 생각이 들었을 때 가장 우선적으로 생각이 들었던 것은 JPA였다. 아직 우리 회사는 JPA를 쓰는 서비스가 많이 없고 내가 맡고 있는 서비스 역시 JPA를 사용하지 않는다.(여러 서비스 중에 하나가 있었는데 사라짐)
JPA를 사용하지 않는데 왜 JPA를 공부할까?
왜냐면 대부분 서비스 회사들에서 이제 JPA를 많이 활용하고 있다는 것은 팩트니까..
개발자는 항상 준비되어 있어야 함을 최근에 많이 느꼈기 때문에, 내가 혹시 이직을 하더라도 JPA라는 기술을 어느정도 학습해둬야겠다는 생각이 많이 들었다.
제작년인가? 인프런 김영한님의 기초강의를 한 번 들어봤는데 당시에 따라하면서 어느정도 이해가 되었다고 생각했지만, 이번에 마음먹고 다시 들어보니 당시에 너무 설렁설렁 공부했단 생각이 들었다. 아니면 당시에 지금보다 내공이 부족해서 이해도가 낮았을지도?
어쨌든 다시 JPA를 공부하기 시작했고 인프런에 감사하게도 김영한님이 JPA강의를 잘 만들어 두셨고 최근 버전(스프링3+, 하이버네이트6+)에 맞게 메뉴얼도 계속 업데이트가 되고 있는 것 같아서 무리 없이 강의를 듣고 학습할 수 있었다.
회사에서 학습 지원을 해준 것도 정말 감사하다.
그래서 머릿속을 한 번 긁을 겸, 공부했던 것들을 아주 간략히 요약해보면 다음과 같다.
- 실전 스프링 JPA 프로그래밍에서는 ORM이 무엇인지, JPA가 무엇인지, 엔티티개념, 엔티티매니저와 JPA 기술들(더티체킹, 1차 캐시, LAZY로딩 등)을 공부하고 실무에서 도움이 되는 팁 등을 학습했다.
- 스프링 JPA 활용1편에서는 쇼핑몰 도메인 설계를 통해 엔티티 간의 다대다, 일대다, 다대일, 일대일 등 관계 매핑 법을 학습하고, 테이블 설계, 엔티티 설계까지 차례대로 따라서 코딩하면서 배우는 강의였다. 타임리프를 통해 화면단까지 개발해서 실제로 돌아가는 동작 등을 경험할 수 있어서 좋았다.
- 스프링 JPA 활용2편은 API에 기반한 설계, 개발을 기반으로 코딩하며 배울 수 있었다. API 응답값을 엔티티로 주는 걸 왜 권장하지 않는지, DTO로 바로 받는 것의 장점은 무엇인지, 최적화는 어떻게 해야하는지 fetch join, batch size 등의 개념을 좀 더 배우며 학습할 수 있었다.
- 그리고 지금 듣고있는 실전 querydsl 강의는 쿼리를 자바에 맞게 사용할 수 있는 querydsl 설정 및 사용법을 집중적으로 학습하고 있다. 이 과정에서 Spring data JPA와 연계하는 부분도 강의에 등장해서 같이 배우고 있다.
내년에 운영하는 서비스에 자동화할 기능들 중 영향도 없는 기능들을 JPA로 추가 해볼까 했는데 일단 mybatis 기반에 내 학습 또는 성과 목표로 JPA를 우겨넣는(?) 것은 조금 아닌 것 같기도 해서 개인 프로젝트를 간단히 만들어볼지 고민중이다.
하루에 강의 3개정도를 루틴하게 듣고 있는데 벌써 다 끝나가서 아쉽다. 그래도 2달도 안 되는 시간동안 JPA 커리큘럼을 모두 학습하고 이해도가 많이 올라서 다행이라는 생각이 든다.
2)C언어
뜬금없이 C언어라니..이건 계획에 없었다.
사실 알고리즘,자료구조를 공부하려고 하다가 우연히 책 추천을 받아서 중고로 책을 하나 샀다.
상당히 두꺼운 책인데...이 책이 C로 되어있었다..
인터넷에서 보면 백엔드 개발자가 C를 배워야하냐 마냐로 얘기가 많은데, 이런 얘기에 자꾸 자신감 없이 휘말릴 바에 이참에 공부해버리자는 생각이 많이 들었다.
그래서 일단 초반에는 이 자료구조와 알고리즘 책을 공부하면서 같이 병행하며 공부했는데 역시나 포인터 부분에서 '내가 이해한 게 맞는 것인가? 이게 뭐더라?'같은 증상들이 발현되기 시작하면서 진도가 안 나가기 시작했다.
그래서 나도코딩님의 C언어 기초강의를 일단 듣고 있다.
강의 하나로 C언어를 제대로 공부했다고 하기에는 뭐하지만, 한번 듣고 안 듣고의 차이는 있으니까 듣고 있다. 올해 가기 전에 끝내고 다시 알고리즘과 자료구조로 돌아가자.
3)알고리즘, 자료구조
누군가에게 추천을 받아서 책을 구매했는데 너무 두껍다. 위에 언급했듯이 C언어로 되어있었다.
알고리즘과 자료구조 역시 내 몸값을 높이는 과정에서 장애물이 되지 않아야 한다는 생각으로 시작했다.
심지어 신입이 아닌 경력이기 때문에 이걸 공부하는게 이직에 도움이 될지 모르겠다.
그러나 반대로 생각해보면 신입 레벨에서 공부했어야 했던 것이기 때문에 지금이라도 해야하는 게 맞다고 생각이 든다.
정말 좋은 개발자들은 대부분 알고리즘을 잘 한다는 얘기도 동기부여에 한몫을 했다.
좋은 개발자가 되는 것이 목표니까 해야하는 것은 나에게 순리다.
빨리 나도코딩님의 C언어를 끝내고 이 두꺼운 책으로 돌아오자. 제발 이번엔 제대로 마무리할 수 있길ㅎㅎ
4)컴퓨터 구조 및 운영체제
이거는 내 비전공자 컴플렉스를 극복하기 위한 목표(?) + 이직시 질문 대비 + 호기심 등이 복합적으로 작용해서 시작했다.
인프런에 강의가 있어서 조금씩 듣고 있다. 어느정도 이해는 하면서 듣고 있는데 새롭고 생소한 내용들이 계속 나오니 복습을 제대로 안 하면 휘발된다.
이 강의도 얼른 듣고 한 번 티스토리에 정리를 해야될 것 같다.
5)SQL책
SQL첫걸음이라고 몇년 전에 사둔 책이 있는데 성능 최적화와 DB 아키텍처 등에 대한 내용이 나온다. 처음 읽었을 때 내공이 부족해 좀 읽다가 안 읽혀서 접어두었다가, 최근 다시 출퇴근 시간을 이용해 조금씩 읽고 있는데 꽤 재밌게 읽힌다. 역시 경험치가 필요했던 것인가.
쿼리 튜닝 등에 대한 실력이 솔직히 부족한 편이라 내년 목표로 이 부분을 좀 잡고 제대로 공부해볼까 생각이 든다.
JPA가 대세지만 JPA은 결국 DB를 다루는 ORM 표준이니 공부해두어야 할 것이다. 그리고 현재 실무에서도 운영업무시 DB를 잘 다루는 분들이 업무를 더 쉽게 하는 것도 사실이다.
이 책도 올해 가기전에 다 읽고 정리해둬야겠다.
6)(개인목표) Slack CS업무 자동화
토이프로젝트라고 해야하려나..회사에서 쓰려고 만들고 있는 것이긴 하지만..
사내 Slack으로 CS업무를 받는데 이것을 완료체크 등 할 때 우리 회사 블로그에 자동 요약 및 등록되도록 처리하려고 한다.
매번 실적 어필을 위해 CS업무를 수동으로 블로그에 요약하고 쓰는 시간이 꽤 많이 든다. 그리고 놓치는 것도 많고..
그래서 이번 시간날 때 좀 해보고 있다.
slack api에서 앱을 만들 수 있는데, 이 만든 앱을 CS처리하는 워크스페이스와 연동 후, CS처리 완료하면 api앱봇에 내가 등록한 처리애플리케이션 URL로 데이터가 post 요청되고, 처리애플리케이션에서 요약,파싱작업 등 진행해서 사내 블로그로 넘기는 식으로 만들려고 한다. 사내블로그 연동 API가 잘 될지 모르겠지만 일단 엑셀 데이터나 csv로라도 뽑으면 이전보단 나으니까..
조금씩 하고 있는데 완료처리시 트리거 반응이 없다. 얼른 되게 하고 싶다..
2. TODO
1. 데이터베이스(사내 추천 서적)
아마 사내 추천 서적으로 같이 스터디를 할 예정인데 미리 안 읽으면 큰일날 것 같다. 상당히 두꺼운 녀석이라서..어차피 DB공부좀 제대로 해보려고 헀는데 내년에 뽀개버리자.
2. 알고리즘 및 자료구조
위에서 언급했으니 패스. 공부를 하다 보류하고 있다. C언어 어느정도 하고 다시 돌아와서 해보자.
3. 개인 프로젝트
개인 프로젝트로 몇 개 생각해두고 있는데 내년에 해보고 싶은 게 있다. 1년정도 부동산공부에 빠졌다가 지금은 보류 후 다시 개발공부로 돌아온 시점에서, 부동산 공부했던걸 좀 활용해서 시세트래커 같은 것도 생각중이다.
4.CI/CD
올해 회사에서 그래도 AWS와 깃헙액션 등 활용한 파이프라인 구축 등 맛보기로 조금 공부를 했으나...따라가기 급급헀기에 체득이 안 된 느낌이다. 안 했을때보다야 낫지만..
이건 우선순위가 조금 밀리긴 하지만 이것도 좀 제대로 해야겠다는 생각이 많이 든다. 인프라담당팀과 커뮤니케이션 할 때도 도움이 되니까..
3. 기타 끄적끄적
그래도 어느정도 지금 공부한 것들, 할 것들을 정리하니 방향성을 조금 잡을 수 있을 것 같다. 원래 월복기,다음달계획을 세우면서 가려고 헀는데 정신없이 보내다보니까 루틴이 깨졌다. 내년부터 회고글과 복기, 계획글을 좀 루틴하게 써가면 좋겠다.
그리고 요즘 다시 운동을 제대로 하려고 출근전 유산소, 점심 무산소를 하고 있다. 출근전 유산소는 뭐 어느정도 꾸준히 해서 일주일 3번~4번은 할 수 있는데 점심 무산소는 출근해야 할 수 있기때문에..재택근무 고려해서 일주일에 2~3일밖에 못한다. 그래서 홈트로 중간에 한 번 넣어줘야겠다.
나는 건강관리를 그래도 꽤 일찍부터 관심갖고 한 편이긴 하다. 시간이 갈 수록 체력이 떨어지고싶지가 않고 결혼했다고 배나오고 싶지 않다...업무 집중에도 영향이 있고...
원래 주1회 집에서 맥주한캔정도는 했는데 그것도 이제 안 한다. 굳이 마셔야 하나 라는 생각이 든다.
햄버거 피자도 많이 줄였다. 가공식품을 많이 줄이려고 하고 있다. 개발이든 돈이든 뭐든간에 일단 건강이 우선이 되어야 뭐든 할 수 있다는 것을 많이 느낀다.
블로그를 오랜만에 쓰니 어색하다.
최근에 블로그도 많이 못해서 아쉽다.
그래도 간간이 계속 블로그 관리도 해줘야겠다.
기록을 할 수 있는 공간이 있는 건 감사한 일이다.ㅎㅎ
'개발자 일지 > 기타' 카테고리의 다른 글
[자료구조] 자료구조 개념, 종류 알아보기 (2) | 2024.10.02 |
---|---|
동시성 제어 개념, 방법, Lock 종류 및 비교 (1) | 2024.09.25 |
[양방향 통신 방법]폴링, 롱 폴링, 웹소켓(+STOMP, SockJS) (0) | 2024.09.19 |
개발자 취업 이직 준비 방법(이력서, 공부, 면접, 비전공자 팁) (0) | 2024.09.17 |
[CSS]CSS 사용자 지정 변수란, 사용법, 사용이유, 기본값 설정 방법(root, var) (0) | 2024.09.11 |
정보처리기사 필요성, 쓸모 여부, 공부법 알아보기(비전공자 필독) (0) | 2024.09.10 |
테스트를 정말 제대로 해야한다.(응답 message 잘 보자) (0) | 2024.09.01 |
[TIL-Today I Learned]바빠도 리팩토링, try-with-resources, 소나큐브 처리 등 (0) | 2024.08.23 |