초록 스터디 2주차에는 JDBC 미션을 수행했다.
개선된 커리큘럼
[ 초록 스터디 by. BCSDLab ] 1. 스터디 온보딩 - 진행방식 소개 2. MVC - MVC Response, CRUD API, ArgumentResolver, 예외처리 [미션 1,2,3,4단계] 3. JDBC - Inmemory DB, JDBCTemplate, JDBCTemplate, SimpleJdbcInsert [미션 5,6,7단계] 4. Spring Core - API~DB 복습, 리팩터링, InnerJoin, 객체 의존, 외래키 [미션 8,9,10단계] 5. 버퍼 기간 (부족했다고 느낀 부분을 추가로 학습하는 시간) 6. 스터디 회고
2주차동안에는 많은 진전이 있었다.
대표적으로 모든 인원이 PR을 제출했다는 부분이 있겠다.
지난번에 제출하지 못한 인원에 대한 근본적인 원인을 탐구해봤을 때 낯선 방식
이라는 키워드가 나왔었다.
방식이 익숙해짐에 따라 스터디원들의 미션 수행 속도가 높아지는것을 확인할 수 있었다.
그럼 이번에도 어떤 키워드로 학습이 진행되었고 어떤 방식으로 교육에 접목시킬 수 있을지 정리해보자.
JDBC 및 미션과 관련된 학습 키워드는 위와 같이 도출되었다.
학습을 진행하며 Lombok을 적용해보는 스터디원이 있었는데 이 과정에서 Java 컴파일러 동작방식에 대하 추가 학습을 진행한 모습이 인상깊었다.
이번주에도 다양한 피드백 및 질문이 나왔다.
좋은 질문이 들어왔다. 우테코에서도 레벨 초반에 repository와 dao의 차이점에 대한 이야기가 활발하게 일어났던 일이 생각난다.
교육 과정에 토론의 장을 만들고 이러한 주제에 대해 이야기해보는 시간을 넣어봐도 좋을 것 같다.
24년도 상반기 교육 커리큘럼을 구상하는 과정에서 한번 고려해봐야겠다.
DirtiesContext가 주된 원인으로 생각된다.
Spring Context에 대한 키워드도 함께 제공해야할지 고민되는 부분이긴하다. Core에서 추가로 학습할 기회로 제공할 수 있지 않을까? 라는 생각도 드는 부분이라 다음주차를 진행하고 추가로 고민해볼 내용인 것 같다.
우테코에서 진행했던 jdbc 구현하기 미션이 언급되었다.
PrepareStatement, Connection 관리를 하며 jdbc 메소드의 구체적인 동작방식을 구현하는 미션으로 자동차의 바퀴를 개발하는 좋은 경험이였던 것이 생각난다.
이 경험은 분명히 좋은 경험이라고 생각하나 6개월이라는 기간동안 학사일정과 교육을 모두 소화해야하는 과정에 끼워넣기는 다소 부담스러울 수 있다는 이야기가 나왔다.
jdbcTemplate의 간단한 사용법을 익히게하고 구체적인 심화내용은 키워드로 학습을 유도하게끔 만들 수도 있을 것 같다.
ex) jdbc 실습 제공, 학습 키워드 제공 (DataSource, Connection 등)
코인 마이그레이션을 진행하는 과정에서 MyBatis에서 JPA를 사용하는 방향으로 적용되고있다.
이에 비기너 과정에서 MyBatis를 계속 교육해도 될 것인가? 에 대한 이야기가 나왔다.
아무래도 메인 기술스택으로 사용될 여지가 많이 없기 때문에 비기너 과정에서는 제외하는 방향으로 생각해봐야겠다.
JPA 강의 어떻게 준비하지... ㄷㄷ
JDBC와 관련한 내용은 아니지만 교육과 관련한 다양한 인사이트도 나왔다.
주된 내용은 최종 프로젝트 회고에 대한 이야기였다.
6개월간의 비기너 교육 이후 최종 회고프로젝트를 진행하는 과정에서 프론트엔드의 view를 구현해야하는 상황이 자주 등장하곤한다. API를 개발하고 해당 API를 사용하는 view까지 개발하려니 시간도, 가르쳐준 지식선에서의 구현도 많이 부족한 실정이다.
한달내로 프로토타입 수준의 프로젝트를 만들어오라는게 꽤나 어려운 과제긴하지만.. 이러한 문제를 해결하는것도 개발자의 역량이지 않을까 생각하기도한다.
GPT의 등장으로 개발과정에서 많은 도움을 받을 수 있게 된 것도 이러한 생각을 하는 것에 한몫한것 같다.
아니면 차라리 회고프로젝트 대신 다음과 같은 방법들도 고려해볼만 하다는 의견도 있었다.
1번의 경우 클라이언트 코드를 채점자가 일일히 실행하며 마치 QA하는 느낌이 될 것 같아 인력 소모가 많이 들 것 같기도하고 과제 제공을 어떻게 해줘야할지도 고민이라 약간 망설여지는 선택지다.
클라이언트같으면 하나의 API를 제공해주고 활용하라고 하겠는데 반대의 경우는..? 잘 모르겠다
개인적으로는 API 요구사항을 제공하고 이를 잘 구현했는지 인수테스트로 확인하기
방식을 활용하고싶었으나 스터디 내에서는 어뷰징, GPT와 같은 요소에 대한 우려들이 있었다.
개인적으로 해당 우려는 회고를 통해 충분히 가려낼 수 있을 것이라고 판단하고있다.
한번 시도를 해보고 위와같은 우려사항이 나온다면 그때 어떻게 조치해볼지 생각해봐야겠다는 입장이다.
내년 상반기 비기너 커리큘럼 작성에 참고할 예정이다.
두번째 주차부터 시간 내로 과제를 수행할 수 있는 모습을 보이는 스터디원들의 모습에 과정의 문제라기보다는 익숙함의 문제라는 생각이 들었다.
주어진 키워드를 잘 제공하여 보다 효과적인 학습을 진행할 수 있도록 레귤러 온보딩을 구성해봐야겠다.
개인적으로 작성중인 백엔드 레귤러 온보딩 자료의 목차다. BCSDLab 프론트엔드의 온보딩 자료를 적극 참고했다.
## 해야할 일
- Slack 프로필 업데이트
- 정보보호 서약서 작성
- BCSD Lab 홈페이지에 업데이트 될 프로필 사진 보내기
- 젠킨스 계정 생성 확인
- 레귤러 전환 이후 변경 점 안내
- 월 회비 납부 안내
- 주간 공유
## UI/UX팀과의 협업을 위하여 알아야 할 것
- figma : UI/UX팀과 협업하는 디자인 툴
## FrontEnd팀과의 협업을 위해 알아야 할 것
- Swagger
- API 테스트 방법
## BackEnd 학습 키워드
- 프로젝트 적용 기술 설명
이 외에도 더 다양한 기술들이 적용되어있으나 핵심 기술은 위와 같습니다.
만약 아예 모르는 부분이 있다면 시간내서 학습해보는것을 추천합니다.
## Git 사용 방법
- 코드 리뷰
- Git 이슈, 브랜치 관리
## 초록 스터디 온보딩 과정
- 스터디 개요
- 일정 안내
- 커리큘럼안내
[ 초록 스터디 by. BCSDLab ]
1. 스터디 온보딩 - 진행방식 소개
2. MVC - MVC Response, CRUD API, ArgumentResolver, 예외처리 [미션 1,2,3,4단계]
3. JDBC - Inmemory DB, JDBCTemplate, JDBCTemplate, SimpleJdbcInsert [미션 5,6,7단계]
4. Spring Core - API~DB 복습, 리팩터링, InnerJoin, 객체 의존, 외래키 [미션 8,9,10단계]
5. 버퍼 기간 (부족했다고 느낀 부분을 추가로 학습하는 시간)
6. 스터디 회고
- 기타 등등
개인적으로 프론트엔드 트랙이 이런 문화가 가장 잘 구축되어있는 트랙이라고 생각해서 그런지 많이 참고하게된다.
실제로 트랙 내 공유 문화가 가장 활발한 것으로 알고 있다.
레귤러 온보딩 문서는 초록 스터디와 병렬적으로 작업하고 있는 작업 내용이라 아무래도 지속적인 업데이트가 이뤄질 예정이다.
3주차도 화이팅이다 👍
지식을 공유하는 모습이 멋지네요!