1. 준비(1) OT를 들었다.2. 몰입(1) woowacourse-docs를 읽어봤다.(2) JDK 여러 버전 깔고 같이 사용하기.3. 동반성장(1) 커뮤니티는 어떻게 굴러가는가.Today in 프리코스
1. 준비
(1) OT를 들었다.
- 프리코스를 설계한 이유 : 우테코의 교육방식을 미리 경험해보면서 본인과 잘 맞는지 검증해보라고
- 강의식의 떠먹여주기식이 아닌 주도적인 방식임
- 아는 걸 가르친 후 지식을 기반으로 무언갈 하는 게 아닌
- ebs 거꾸로 수업 같이
- 학생들이 무언갈 만드는 경험을 하게 만든 후, 이론적인 강의나 지식 전달은 뒤에 하는 식임
- 프리코스에서 아무런 이론적 지식이나 뭘 보고 해라 그런 거 없음. 문제만 나감
- 문제 보고 스스로 방법 찾거나 공부해서 문제 해결해 제출하면됨
- 그러면 일주일 지난 후에 공통 피드백 자료들이 메일로 나감
2. 몰입
(1) woowacourse-docs를 읽어봤다.
- 프리코스를 참여하는 사람들이 읽으면 좋을 글들은 cleancode, codereview, precourse, styleguide 폴더의 글들이었다. 프리코스 시작 전 하나씩 간단히만 정리해두겠다.
- precourse
- 과제 진행 가이드
- fork → clone → branch(깃헙 아이디명) 생성 → import project(Gradle)
- add & commit → push → pull request([숫자 야구 게임] 추서연 미션 제출합니다.) 생성
- pull request는 ChooSeoyeon/java-baseball ChooSeoyeon → woowacourse/java-baseball-6 main
- 과제 제출 가이드
- 지원플랫폼 → 내 지원 현황 → 제출하기(ChooSeoyeon, pr 주소, 소감)
- 소감은 줄글로 올리고 미션을 진행하면서 느끼고 배운 점, 많은 시간을 투자한 부분 등 포함
- 예제 테스트 실행 → 테스트 결과 확인
- codereview
- File changed → 라인 클릭 → Start a review → Finish your review → Submit review
- cleancode/styleguide
- 이 부분은 일단 과제를 완료한 후 리팩토링 단계에서 차근차근 읽어보는 게 좋을 거 같아서 패스
(2) JDK 여러 버전 깔고 같이 사용하기.
- java 17, 11 깔기
- 나는 oracle jdk와 open jdk 중 고민하다 open jdk로 깔았다.
많은 사람들이 주로 사용해오던 adopt openjdk 는 arm에 최적화해 제공하지 않는다 해서oracle jdk를 사용해야 하나 고민했는데, 레퍼런스를 찾아보니 home brew 공식 open jdk는 arm에 최적화해 제공하는 것 같다(이 부분 확실하진 않아서 좀 더 확인 필요). 또한, line 같은 대기업에서도 open jdk를 사용하는 걸 보고 신뢰를 얻었다. 아무래도 oracle jdk는 상업 목적으로 사용하려면 라이센스를 별도 구입해야 하기에 open jdk를 쓰는 회사들도 꽤 있을 거 같다. 현재 인턴쉽 진행 중인 회사 역시 이에 대해 대비가 되어 있지 않기에 openjdk를 쓰는 게 맘이 편하리라 생각했다. home brew 공식 open jdk를 사용해보자!- 방법
- 결국, adopt openjdk를 사용하기로 했다.
- 일단 homebrew openjdk 를 삭제해주자.
- Adoptium (구 AdoptOpen jdk) 깔기
- 방법
- 터미널에 입력
- ~/.zshrc 에 추가할 내용
- 현재 회사 깃헙 액션 모든 플로우에서 아래와 같이 temurin 의 jdk를 사용 중이다. 서버 환경과 로컬 환경을 최대한 맞춰주고자 내 로컬의 jdk도 temurin 의 jdk 를 사용하고자 결정했다.
- temurin에 대해 더 자세히 이야기하는 글은 아래와 같다
삽질! (← 완전히 이상한 소리 써뒀습니다,,, 따라하지 말아주세요,, 그저 제 오답노트 용으로 냅뒀습니다,,,,) ( homebrew openjdk@17 설치 및 삭제)
homebrew 공식 open jdk 레퍼런스
adoptopen jdk 관련 레퍼런스
AdoptOpenJDK에서는 macOS M1 칩에 호환되는 JDK를 제공하지 않는다구 한다. 물론 인텔칩 기준으로 나온 x64 깔아도 돌아가긴 돌아갈 것이다. 왜냐하면 맥북에 로제타가 있으니. 로제타는 인텔칩 버전으로 나온 프로그램이 M1칩에서 잘 돌아갈 수 있도록 해주는 에뮬레이터인데, 당연히 에뮬레이터를 끼고 실행하면 성능이 나빠지겠지? 그리고 그냥 인텔칩 기준으로 나온 것을 M1칩에서 돌리자니 찝찝해서 나는 웬만하면 M1칩 버전을 찾고싶기 때문에...
인데…. 깔고 나서 확인해보니 x64 용인 거 같기도 하다…
내가 여러 openjdk 중 temurin 선택한 이유
이클립스 재단의 Adoptium 은 고품질의 Java 제품을 만들기 위한 프로젝트로 Adoptium Working Group 에는 MS, IBM ,RedHat 등 쟁쟁한 오픈소스 기업들이 참여하고 있습니다. Adoptium 에서 개발하는 JDK 는 Eclipse Temurin이라 부르는데 local, 운영, CI 환경 모두에 권장하는 제품입니다. Termurin 은 고품질에 벤더 중립적이고 TCK 테스트도 거쳤습니다.Cloud 환경은 CSP 제공 제품을
Cloud 에서 Java 를 사용한다면 CSP(Cloud Service Provider) 가 빌드하는 제품이 아무래도 클라우드에 최적화되었을테니 CSP 가 제공하는 걸 쓰는 게 좋습니다. 예로 AWS 를 쓴다면 Amazon 의 Corretto를 Azure 를 쓴다면 Microsoft Build of OpenJDK 를 쓰는 게 좋습니다.
까려다 추가로 알게 된 알쓸프잡,, Good-bye AdoptOpenJDK. Hello Adoptium!
2021년 8월 2일 AdoptOpenJDK 가 Eclipse Adoptium 으로 이전되었다. Eclipse Adoptium 는 최상위 프로젝트(TLP)를 의미하며, Eclipse Temurin 에서 Java SE 런타임을 진행한다. Eclipse Temurin 은 오라클 SE TCK(Technology Compatibility Kit)와 Eclipse AQAvit 테스트를 통과했다. Azul Platform Core OpenJDK 지원 구독을 통해 Temurin 에 대한 상용 지원이 가능하다고 한다. 기존의 AdoptOpenJDK 웹사이트와 AdoptOpenJDK API는 당분간 유지할 예정이나, 빠른 시일내에 Eclipse Adoptium 으로 이전할 것을 권장하고 있다.
- 인텔리제이에서 17 사용 확인하기
- Gradle Build
- IntelliJ의
파일→설정→빌드/실행/배포→빌드 도구→Gradle로 이동 Gradle JVM이Java 17이상인지 확인- Project SDK
파일→프로젝트 구조→프로젝트→SDK17 이상으로 설정- Gradle Refresh → 정상적으로 빌드된다.



3. 동반성장
(1) 커뮤니티는 어떻게 굴러가는가.
프리코스 커뮤니티는 우아한테크코스 지원자들이 함께 학습하고 성장할 수 있는 공간입니다. 지원자들에게 권장하는 활동은 서로 리뷰하기, 토론하기, 함께 나누기, 다시 돌아보기이며 이 활동이 아니더라도 함께 학습하고 성장할 수 있는 것은 무엇이든 좋습니다.
- 커뮤니티가 너무 잘 활성화되어 있어서 행복해졌다. 이번 우테코 프리코스 기간동안 있는 힘껏 성장할 수 있을 거 같다. 내가 아는 것을 나눠서 확실한 지식으로 만들고, 새로운 것을 배워나가길 기대한다. 요즘, 학교도 막학기라 안 다니고 하다 보니 혼자 폐관수련 느낌으로 독서실에서 공부하다 외로움을 느끼고 있었는데 여러 사람과 함께 성장할 수 있는 기회가 생겨 너무나 감사하다. 프리코스를 누구나 참여할 수 있게 되어 이렇게 많은 사람과 함께 할 수 있는데, 등 뒤에 든든한 지원군들이 4500명 생긴 기분이다.
이 시간이 고통이 아니라 즐거운 시간이기를 기대해 봅니다.
- 이 말에 적극 공감하고 싶다. 내가 개발을 처음 시작한 것도 즐거움에서 비롯되었기에 이번 프리코스를 온전히 진심 다해 즐기면서 최대치로 성장하고 싶다!
다른 사람들이 스스로 할 기회를 박탈하지 말자.
- 이 말을 유의해서 스터디를 구했다.
- 매주 과제가 끝나면 서로 코드를 발표하고 리뷰해주는
이전 과제 발표 스터디를 찾아 들어갔다. 이 활동도 무척 기대된다! 일주일동안스스로 최대한 성장하고 과제가 끝난 후 다른 사람들과 배운 것들을 서로 공유해 매주차 과제마다 계속해 성장하고 싶다. 스터디 사람들과만 대화로만 공유하고 끝내지 않고, 우테코 커뮤니티에 대화 중 나온 좋은 내용들을 정리해서 공유해 더 오래토록 기억되게 하고 프리코스 생태계의 선순환에도 기여하고 싶다.
- 우테코 디스코드에 서로 리뷰하기 채널이 있다. 여기서도 활발히 활동해서 코드리뷰 왕이 될 거당. 이렇게 많은 사람들과 코드리뷰를 할 기회가 또 언제 있겠는가.
- 사실 스터디 하나 더 들어갔다 ㅋㅋ 지난 5기 분들이 만든
201 자바 스터디에 참여했다. 201 Created 라니 이름부터 너무 매력적이라 생각했다. 또 목적 자체가 너무 마음에 들었다. 나도 이런 201 Created 팀의 정신을 이어 받아 후배 개발자한테 도움을 줄 수 있는 사람이 되고 싶다.
Today in 프리코스
TIL 작성하기
준비
오리엔테이션 영상보기
1주차 메일 읽기
몰입
woowacourse-docs 둘러보기
동반성장
커뮤니티에 오늘 올라온 글들 읽기
함께 나누고 성장할 수 있는 것에 대해 고민하기
앞으로 내 계획은 아래와 같다. 야무지게 짜봤다 ㅎㅎ..
목 | 기능 명세 작성 | 커뮤니티 서로 리뷰하기 참여 |
금,토 | 기능 구현 + 기능 명세 업데이트 | 이전 과제 발표 스터디 참여 + 커뮤니티 함께-자라기 참여 |
일 | 테스트 결과 확인 + 테스트 코드 더 추가 | ㅤ |
월화 | 리팩토링 + 회고 작성 | ㅤ |
수 | 검토 + 제출 | 201 Created 자바 스터디 글 작성 |
프리코스 기간이 끝났을 때 후회 없게끔
이렇게까지 해야 하나 싶을 때 더했어 라고 말할 수 있는 사람이 되고 싶다.홀로 취준을 하며 코테에서 계속 떨어지고서 개발자란 길에 대한 자존감이 많이 떨어진 요즘이었는데,
다시 한 명의 개발자로서 열정을 불태울 수 있는 프리코스라는 기회가 주어져서 너무나 감사하다.
1일차_둘러보기, 환경설정하기
Oct 19, 2023
DIARY_DEVELOP
2일차_컨벤션 정리하기
Oct 20, 2023
DIARY_DEVELOP
3일차_설계에 대해 고민하기
Oct 21, 2023
DIARY_DEVELOP
4,5일차_MVC 온전히 이해하기
Oct 22, 2023
DIARY_DEVELOP
6일차_설계를 코드로 구현하기
Oct 24, 2023
DIARY_DEVELOP
7일차_리팩토링과 마무리하기
Oct 25, 2023
DIARY_DEVELOP
8,9일차_코드 리뷰 통해 객체지향에 다가가기
Oct 27, 2023
DIARY_DEVELOP
10일차_지난 과제 돌아보며 객체지향 이해하기, 의존성과 설계의 관계 맛보기
Oct 28, 2023
DIARY_DEVELOP
11일차_객체지향을 미션 설계에 적용하기(with [책] 객체 지향의 사실과 오해)
Oct 29, 2023
DIARY_DEVELOP
12일차_기능 별로 구현하며 단위 테스트의 필요성 느끼기 (with [책]
자바와 JUnit을 활용한 실용주의 단위 테스트)Oct 30, 2023
DIARY_DEVELOP
13,14일차_일급 컬렉션과 레코드 적용해 리팩토링하기
Oct 31, 2023
DIARY_DEVELOP
15, 16일차_코드 리뷰를 통해 성장하기(1)_다른 사람의 코드 읽으면 배운 것 정리
Nov 2, 2023
DIARY_DEVELOP
17일차_코드 리뷰를 통해 성장하기(2)_내 코드 개선하며 배운 것 정리
Nov 4, 2023
DIARY_DEVELOP
18일차_내가 찾은 설계 방법 공유하기, 공유에 대해 고민하기
Nov 5, 2023
DIARY_DEVELOP
19일차_지난 과제 피드백 고려해 설계하기
Nov 6, 2023
DIARY_DEVELOP
20, 21일차_일단 돌아가는 코드를 만들기
Nov 7, 2023
DIARY_DEVELOP
22일차_현재 도움이 될 것 생각하기 (디자인패턴과 mvc2 과감히 패스)
Nov 9, 2023
DIARY_DEVELOP
23일차_코드리뷰하기 (feat. converter 파고들기)
Nov 10, 2023
DIARY_DEVELOP
24일차_기획을 문서화하기
Nov 11, 2023
DIARY_DEVELOP
25일차_설계하며 고민하기
Nov 12, 2023
DIARY_DEVELOP
26, 27일차_구현하며 고민하기
Nov 13, 2023
DIARY_DEVELOP





![[Java] Mac install java8, java11 (multiple version)](https://www.notion.so/image/https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fjeon3029%2Fpost%2F17e8c885-7c19-402f-bd1b-cb504420b14a%2Fimage.png?table=block&id=3b56bd16-0a87-47b4-8fd3-c04a3f04f0ef&cache=v2)