openjdk

java로 사이드 프로젝트를 진행해보면서 로컬환경과 ec2에 java를 깔면서 openjdk를 제공하는 여러 벤더사꺼 중에 뭘 선택해야하는지 궁금하기도 했고, 차이가 있나 궁금해서 조금 리서치를 해보았다. 그 와중에 https://whichjdk.com/ 라는 사이트를 발견하게 되었고, 간단하게 설명되어 있어 좋았다.

 

Which Version of JDK Should I Use?

Which Version of JDK Should I Use?

whichjdk.com

 

위 사이트에 따르면 tl;dr(Too long, didn't read)라는 요약으로 이클립사 foundation에서 제공하는 Termurin을 쓰는 것이 권장된다고 써있다. 왜냐하면 high-quality, vendor-neutral, TCK-tested under permissive license 이기 때문이라고 설명되어 있다. 찾아보면 생각보다 많은 벤더사들이 제공하고 있는데 자신에게 맞는 것을 고르거나 위에서 말한 termurin을 쓰는 것이 맞는 것 같다. (저자는 aws ec2에 서버를 올리는게 보편적이고, 혹시 미래에 'amazon linux2 같은 곳에 default로 그냥 openjdk가 아닌 corretto가 깔려있을 수도 있지 않나?' 라는 생각에 corretto 11을 쓰고 있다.) 참고로 github actions에서 java를 setup 때 제공되는 openjdk는 아래와 같고, 모든 openjdk를 제공하지는 않는 모습이다.

https://github.com/actions/setup-java

 

라인사의 기술블로그에 openjdk를 적용하는데 있어서 redhat이 배포하는 openjdk를 선택한 이유와 여러가지 좋은 내용을 써놓은 글이 있어서 참고하면 좋을 것 같다. 

 

LINE의 OpenJDK 적용기: 호환성 확인부터 주의 사항까지

2022-LINE-engineering-site

engineering.linecorp.com

 

4월부터 기존에 다니던 회사에서 퇴사하고 나서 무얼 해볼까 고민을 많이 했다. python으로 개발을 배우기 시작하고, 빠르게 배워서 취업을 했었던 나로서는 처음부터 CS(computer science) 지식이 부족한 것 때문에 그것에 대한 갈망이 있어 CS 관련 강의를 들어보고 싶기도 했고, 금융권으로 취직을 하고 싶어 C++을 배워보고 싶었는데 그 발판으로 무얼 할까 고민을 했었다. 그 와중에 실무 프로그래밍 입문 강의를 접하게 되었고, "실무"에 적합한 지식을 가르치고 프로그래밍 기초를 가르친다는데에서 들어보기로 했다. 물론 처음엔 20만원 정도하는 강의라서 조금 비싸다고 생각했다. 강의를 다 들은 지금도 그 생각에 변함은 없지만 강의 내용은 굉장히 마음에 든다.

실무 프로그래밍 입문 C#

이 강좌가 마음에 들었던 이유는 사실 python으로 개발을 하면서 왜 이런 기능이 있는지에 대한 의문을 해소해 주었기 때문이다. 예를 들어 "class에서 decorator로 @staticmethod를 써보면서 그냥 instance로 만들고 method를 호출하는 거랑 뭐가 다른가?" 라던지 "한 번만 쓸 로직인데 이걸 가독성을 위해서 함수로 만들어야하나 말아야하나..." 등등 이런 의문을 예시를 들어주면서 해소시켜줘서 굉장히 마음에 들었다. 개인적으로 프로그래밍을 하면서 실수를 줄일 수 있는 방향으로 코드를 짜야 한다는 말이 마음에 와닿았다. 파이썬으로 웹 개발을 하다보면 깊이 생각을 안 하고 코드를 짜게 될 때가 있는데 워낙 무거운 프로그램이 아니다보니 그냥 실행시켜보고 오류나면 다시 고치는 걸 반복할 수 있기 때문이다. 이러다보면 내가 테스트해보지 않은 부분에서 오류/예외가 날 수도 있다는 생각에 불안불안한 마음 한편에 있었는데 이런 걸 방지하기 위해 실수를 줄일 수 있는 방향으로 코드를 짜는 방법을 가르쳐줘서 마음에 들었다.

결론적으로 가격 때문에 조금 망설여지긴 했지만 충분히 좋은 강의라고 생각한다. 그리고 좀 쉬면서 고민을 해보고 다음주에는 COMP1000: 소프트웨어 공학용 수학을 결제하고 들어볼 생각이다.

개발자로 취업을 하기로 마음 먹은 후 약 7개월이 지나고 파이썬 개발자로 취업을 하게 되었습니다. 컴퓨터 공학을 전공하신 분들에 비해서는 코드 몽키 수준이겠지만 항상 코드 아래서 컴퓨터가 어떻게 돌고 있는지 이해하기 위한 노력을 많이 하다보니 취업에 성공하지 않았나 생각이 듭니다.

아래 제가 밟아 왔던 과정을 자세히 설명하겠지만 결론부터 말하면 Django를 잘 공부하기 위해서는 에듀캐스트에 있는 리액트와 함께 장고 시작하기 (educast.com/course/web-dev/ZU53) 를 정말 추천하고 싶습니다. 22만원이라 좀 비싸다고 느끼긴 했지만 돈이 아깝지 않은 강의입니다.

프론트앤드 부분은 거의 듣지 않았음...

 

먼저 저는 학부 때 배워본 건 파이썬 기초 밖에 없었지만 그걸 이용해서 프로젝트를 한 번 해보았으니 이걸 기반으로 갈고 닦으면 충분히 취업을 할 수 있을 거라고 생각했던 것 같습니다. 그래서 독학 아니면 학원을 다니는 선택지가 있었는데 공부를 시작할 당시에는 졸업을 하기 전이라 그냥 독학을 골랐습니다. 학원이 상당히 비싸다고 느끼기도 했고요... 그래서 처음 시작할 때는 nomad coder의 강의들을 들었습니다. (아래는 nomad coder에서 들었던 강의들 후기)

 

nomad coder(노마드 코더) 코코아톡 후기(1)

퀀트(Quant) 및 데이터 사이언티스트(data scientist)의 역량을 키우기 위해서 코딩을 배워보기 시작했습니다. 처음엔 원래 그냥 파이썬 공부로 시작하려고 먼저 워니님의 유튜브 채널을 통해 속성으

00pen.tistory.com

 

 

노마드코더(nomad coder) 에어비앤비 클론 코딩 후기

2달에 걸친 풀스택 에어비앤비 클론 코딩을 드디어 끝냈내요. 이 코스를 통해 python과 Django를 배울 때는 재밌어서 하루도 빠짐없이 코딩을 했습니다. 5월에는 천천히, 6월에는 2배 정도 빠르게 했

00pen.tistory.com

01

 

아무튼 어느 정도 웹 개발이 이런거구나~ 라고 생각할 때쯤 컴퓨터 공학의 기초들의 필요성을 느꼈던 것 같습니다. 뿐만 아니라 몇몇 기업에서는 코딩테스트를 요구해서 먼저 자료구조와 알고리즘을 공부하기로 마음 먹었습니다. 그 때 당시에 막 파이썬 알고리즘 인터뷰라는 책이 나와서 그 책으로 공부했었습니다.

파이썬 알고리즘 인터뷰 책

 

이 책을 통해 공부하면서 파이썬 내부의 standard library들을 알게 되었고, 굳이 다른 패키지를 깔지 않고도 아름다운 코드를 짤 수 있다는 것도 느끼고 magic method에 대해서도 공부하게 되었습니다. 그 후 배워온 Django 기술을 이용해 먼저 취업을 해서 실무 경험을 쌓아보고 싶다는 생각을 하고, Django를 더 깊게 배우기 위해 위에서 추천했던 에듀캐스트의 리액트와 함께 장고 시작하기를 결제하고 강의를 들었습니다.

근데 이 강의를 들으면서 진짜 장고를 배운 것 같다는 느낌이 들었던 건 github에 있는 장고 코드를 같이 보면서 내부에서 어떻게 돌아가는지 프로세스를 가르쳐 주셨기 때문이라고 생각합니다. 근데 이 강의를 듣기 전에 위의 파이썬 알고리즘 인터뷰 같은 책을 통해 파이썬의 문법, 자료구조, standard library의 사용법을 배우고 듣는 것이 좋습니다. 그래야 강의를 100% 이해할 수 있기 때문입니다.

최근에 유난히 코딩을 가르치는 곳들이 많아지고, 가르치는 방식도 다양하다 보니 어느 걸 들어야하는지 고민하시는 분들도 많을 것 같습니다. 컴퓨터 공학 기초를 탄탄히 하고, 응용을 배우는 게 좋다고 생각하지만 저부터 딱딱한 이론 강의를 좋아하지 않다보니 이렇게 마구잡이로 공부했던 것 같습니다. 그래서 다른 분들이 어느정도는 이런 순서로 공부하면 좋지 않을까라는 생각을 하면서 글을 써보았습니다 :)

+ Recent posts