[인프런 워밍업 클럽 스터디 0기 발자국] 1주일동안의 스터디 후기
안녕하세요. 주니어 백엔드 개발자를 꿈꾸는 12hugs 실명은 진영준입니다. 😉
이번에 좋은 기회를 통해 인프런 워밍업 클럽 스터디 0기에 참여하며, .
일주일동안 무엇을 느꼈고, 무엇이 부족했는 지 그리고 무엇을 더 공부해야하며,
무엇을 통해 앞으로의 개발자 커리어를 쌓아가야할 지를 소소하게 공유해볼까 합니다.
이번 스터디를 통해 무엇을 느꼈고 무엇이 부족했는지?
사실 이번 스터디 0기를 좀 과소평가하였습니다.
나름 인프런 강의들을 구매하여 좀 이해했다는 자만심도 한 몫 했을 것입니다.
하지만, 모든 일이 그렇듯 순탄히 흘러가지는 않았습니다.
강의의 내용은 이해가 갔으나 막상 제가 가진 기술로 과제를 풀어가는 것은 완전 별개의 문제였습니다.
무엇이 그렇게 어려웠는데??
- 커뮤니티(디스코드)의 질문내용의 수준이 높다는 것을 알았습니다.
- 비전공자 입장에서 하나의 스프링 기술만으로는 스텍이 많이 부족하다는 것도 깨달았습니다.
- 특강 혹은 과제를 진행함에 있어서 현재 기술스텍으로 문제를 풀어가는 데 있어서 어려운 점이 많았습니다.
예시를 들어볼까요? 😏
java
@Repository
public interface FruitRepository extends JpaRepository<Fruit, Long> {
@Query("select new " +
"com.study.assignment.domain.dto.response.FruitStatResponseDTO(f.state, sum(f.price)) " +
" from Fruit f " +
"where f.name = :fruitName " +
"group by f.state")
List<FruitStatResponseDTO> response(@Param("fruitName") String fruitName);
}
위의 코드는 4일차 과제였으며, 내가 원하는 DTO로 response를 받기위해 JPQL을 사용하여 DB를 조회했던 쿼리입니다.
JPA는 제가 response를 받고 싶은 DTO란 객체를 모르기 때문에 저렇게 명시를 해주어야 DTO 값으로 데이터를 돌려줄 수 있다는 것을 알게 되었습니다.
위의 코드는 참고로 제가 작성한 코드가 아니고 같이 스터디하는 형이 알려준 코드입니다.
1주일동안 문제를 어떻게 해결했고, 무엇을 더욱 공부했는지?
첫 번째, 기초로 돌아가 자바에 대한 공부를 진행했습니다.
" 자바 공부 "
자바에서 어려운 개념인 상속이란 개념부터 내려갔습니다.
왜냐하면, 익명클래스를 공부하던 중 궁금한 점이 점점 뿌리를 내려가다보니 상속개념까지 내려가게 되었습니다.
그러던 중
this
,super
등의 개념도 중요하다는 것을 깨달아 공부를 하였고,아직도 부족하지만 계속 java의 기본 개념과 객체지향을 공부하며 java 스텍을 넓혀갈 생각입니다.
두 번째, 메타인지를 넓히며 공부하자.
" 갑자기 무슨 뚱딴지같은 소리이지? "
저는 이번 스터디에 함께 참가하고 같이 공부를 진행하는 친한 형이 있습니다.
일종의
라이벌 관계라고 저는 생각하지만, 암튼 그 형을 보며 저는 항상 많이 부족하다는 것을 느낍니다.저는 어떤 개념을 익혀도 금방 까먹고, 누가 설명해보라고 하면 당연히 설명을 못할 것입니다.
반대로 형은 어떤 개념을 익혀도 오랫동안 기억하며, 제가 설명을 요청할 때는 완벽한 설명을 진행합니다.
그래서 같은 개념을 들어도 오랫동안 공부머리를 확장해갈 방법을 생각하던 중 메타인지를 넓히며 공부를 하자고 생각했습니다.
내가 공부를 하며 모르는 개념에 봉착할 때 모르는 것을 기록해두고 (모르는 것을 알게됨), 확실하게 아는 것은 남에게 설명해줄 수 있는 레벨이 될 때까지 공부하는 것입니다.
실제로 도움을 많이 주기는 하지만 평소에 안하던 것을 하려니 좀 힘든 건 사실입니다.
그래도 포기보다는 꾸준함이겠죠? 다음주도 같은 공부방법으로 발전해나아갈 생각입니다.
무엇을 더 공부해야 내가 발전할 수 있을까?
" 스프링만으로는 메리트가 없다. "
저는 확실하게 제가 가진 기술은 형편없다는 것을 알았습니다.
"그렇다면 어떤 개념을 더욱 익혀야 좋을까?" 라는 생각을 하였습니다.
그래서! 저는 다음주부터 제가 모르는 개념을 이 곳에 기록해보기로 했습니다.
" 내가 모르는 것은 "
- 자바의 상속개념이 왜 필요하며, 상속을 할 때 얻을 수 있는 이점을 설명할 수 있는가?
- 자바에는 스트림이란 기술이 있던 데 스트림은 무엇인가?
- 자바의 리플렉션이란 개념을 설명할 수 있는가?
- 싱글쓰레드와 멀티쓰레드란 무엇인가?
- 스프링의 동작원리에 대해 설명할 수 있는가?
- JPA의 영속성 컨테스트에 대한 설명을 해보시오.
- JPQL의 문법은 어떻게 되는가?
사실 혼자서 공부하라고 했으면 너무 방대한 지식의 바다를 헤엄치며, 갈피를 못잡고 방황했을 지도 모른다.
그렇지만. 내 주변에서 함께 공부하며 알려주려는 사람과 인프런 스터디 0기를 통해서 조금 방황을 덜 하고,원하는 방향을 잡고 발전할 수 있다는 사실이 너무 감사하다.
java
public void 일주일후기(){
Developer developer = new Developer();
String goal= "훌륭한 개발자";
String me = "개린이(개발어린이)";
while(goal == me){
developer.study(me); // 계속 공부하란 뜻 ;;;
}
}
댓글을 작성해보세요.