본문 바로가기
728x90
반응형

강의•참고서8

N+1문제 해결법 Lazy로딩 Eager로딩 지연로딩과 즉시로딩 지연로딩과 즉시로딩을 알아보기 전에 프록시를 알아야 했다. 그래서 프록시에 대해 직접 정리한 내용을 그대로 가지고 와서 활용했다. 객체는 객체 그래프로 연관된 객체들을 탐색한다. JPA 구현체들은 이 문제를 해결하기 위해 프록시라는 기술을 사용한다. 프록시를 사용하면 연관된 객체를 처음부터 데이터베이스에서 조회하는 것이 아니라 실제 사용하는 시점에 데이터베이스에서 조회할 수 있다. 하지만 자주 함께 사용하는 객체들은 조인을 사용해서 함께 조회하는 것이 효과적이다. JPA는 즉시 로딩과 지연 로딩이라는 방법으로 둘을 모두 지원한다. 영속성 전이와 고아객체 JPA는 연관된 객체를 함께 저장하거나 함께 삭제할 수 있는 영속성 전이와 고아 객체 제거라는 편리한 기능을 제공한다. 영속성 전이:.. 2022. 6. 19.
클린코드 함수 잘 작성하는 법 함수 작게 만들어라 함수를 만드는 첫째 규칙은 ‘작게’ 다 함수를 만드는 둘째 규칙은 ‘더 작게’ 다 블록과 들여 쓰기 if문/else문 while문 등에 들어가는 블록은 한 줄 이어야 한다는 의미다. 대개 거기서 함수를 호출한다. 함수에서 들여 쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 그래야 읽고, 이해하기가 쉬워진다. 한 가지만 해라 💡 함수는 한 가지를 해야 한다. 그 한 가지를 잘해야 한다. 그 한 가지만을 해야 한다. 함수 당 추상화 수준은 하나로! 위에서 아래로 코드 읽기 : 내려가기 규칙 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한 번에 한 단계씩 낮아진다. 핵심은 짧으면서도 ‘한 가지’만 하는 함수다. Swich 문 switch 문은 작게 만들기 어렵다. 본질적으로 swi.. 2022. 6. 3.
스프링부트 시작하기 TDD 와 단위테스트, 테스트 코드 작성법,롬복LOMBOK사용법 스프링부트 시작하기 TDD 와 단위테스트, 테스트 코드 작성법,롬복LOMBOK사용법 스프링부트에서 테스트 코드 작성하기 예전부터 테스트 코드에 대한 이야기가 많이 있었다고 한다. 견고한 서비스를 만들기 위해 개발자 또는 팀에서는 TDD를 하거나 최소한의 테스트 코드는 꼭 작성했었다. 하지만, 여러 이유로 테스트 코드를 진행하지는 않았었는데, 최근 채용공고를 보면 대부분의 서비스 회사가 테스트 코드하는 것을 요구하고 있다. 어떤 회사에서는 코딩 테스트를 알고리즘이 아닌 프로젝트를 만들고, 단위 테스트를 필수조건으로 두기도 했다. 그만큼 요즘 선망하는 서비스회사의 취업과 이직을 위해서는 테스트 코드는 절대적으로 중요해졌다. 먼저, 단위테스트는 TDD와는 다르다. TDD의 첫 번째 단계인 기능 단위의 테스트 .. 2022. 3. 16.
스파르타 코딩 5주 차 강의 1회독 완료 스파르타 코딩 5주 차 강의 1 회독 버킷리스트 만들기 get / post 복습 팬명록 배포하기 안녕하세요. 코딩 하임입니다. 오늘은 드디어 마지막 5주 차가 마무리되고 위 버킷리스트 만들기를 하면서 get / post를 복습했고, 이 전에 팬명록을 만들었던 것을 서비스 배포까지 해보았습니다. 서버에 올리기 위해서 AWS EC2 서버를 구매, 접속, 종료와 함께 간단하게 리눅스 명령어를 익혔습니다. 평소에 리눅스도 공부를 해봐야겠다고 생각을 하고 있던 차에 좋은 기회였던 것 같고.. 이전에 카페24를 통해서 도메인을 구매해 사용해보았는데, 이번에는 가비아를 이용해 서비스를 배포를 해보니 또 다른 재미가 있었습니다. 주요 복습할 내용 공부를 하다보니 서버에서 프런트까지 어떻게 주고 어떻게 받는지를 반복 숙.. 2022. 2. 15.
스파르타 코딩 4주차 팬명록 만들기 스파르타 코딩 팬명록 만들기 안녕하세요. 코딩하임입니다. 드디어 4주차 강의까지 마무리하고 개발일지 4번째 작성이 되었네요! 작성을 다하고 로컬에서 돌려보는데 자꾸 404 에러가 떠서 정답이랑 비교까지 해봤는데.. 이런 멍청한...며칠 만에 알게된 폴더 이름이 달랐던 것.... 애초에 지정된 폴더가 있었는데 그걸 생각못하고 다른 이름으로 실행했다가 데이터도 안들어가고 생성도 안되서 계속 바라만 보고 있었네요 그 동안 배운 것들을 활용하면서 좀 더 익숙해질 수 있게끔 여러번 반복해야할 것 같아요. 생각보다 스스로 보았을 때 오타나 중간에 있어야할 것들을 자꾸 빼먹는걸 보니 아직 한참 모자란 이 느낌..괜히 짜증이 나죠.. 불안하고 천천히 꾸준히 하면 될 걸 아는데도 조급한 마음이 앞서네요 하지만 적절한 긴.. 2022. 2. 14.
스파르타 코딩 파이썬 크롤링(웹 스크래핑) mongoDB 사용 방법 파이썬 크롤링(웹 스크래핑) mongoDB 사용 방법 안녕하세요. 코딩하임입니다. 오늘은 스파르타 코딩에서 파이썬 크롤링(웹 스크래핑), mongoDB 사용방법에 대해서 배워보았는데요. 평소에 크롤링(웹 스크래핑)에 관심이 많이 있었는데, 이렇게 실습을 해볼 수 있어서 너무 좋은 기회였던 것 같아요. 마지막 과제에서는 genie 뮤직에서 1위부터 50위까지의 내용의 그대로 가지고 와서 mongoDB에 저장까지 할 수 있는 것을 보고, 이렇게 웹사이트를 만드는 중에 '내가 필요한 정보가 있으면 언제든지 불러올 수 있겠구나'라고 생각했어요. 파이썬과 크롤링(웹 스크래핑)에 대한 부분은 국비과정(java, spring 과정)에서도 배우지 않은 부분이었고, 취미로 하고 있는 부업에서 파이썬을 활용해 크롤링하여 .. 2022. 2. 7.
728x90
반응형