TIL

TIL

23.09.28

1. DI 학습테스트를 했다. 📍 IoC (Inversion Of Control) 메인클래스에서 객체를 생성하고 관계를 설정해주고 있다. 하지만 메인 클래스에서 객체 생성과 관계 설정을 맡는게 적절한가? 생성해야 할 객체가 더 많아진다면? 객체 생성과 관계 설정의 책임을 main에서 factory로 이동 새로 추가한 factory는 일종의 IoC 컨테이너다. 객체의 제어 권한을 factory에게 넘겼다. 클라이언트(Main)가 능동적으로 사용할 클래스를 만들고 연결하지 않는다. 클라이언트는 팩터리가 제공하는 클래스를 사용하면 된다. 구체 클래스를 몰라도 된다. 소스코드 외부 파일인 properties로 런타임에 어떤 객체를 사용할지 동적으로 결정할 수 있다. 팩터리를 보면 어떤 객체가 생성되고, 어떤 객..

TIL

23.09.27

1. Connection Pool 학습 테스트를 했다. 📍 JDBC JDBC란 자바 프로그램이 DB와 연결되어 데이터를 주고 받을 수 있게 해주는 인터페이스 (자바 표준) 응용프로그램과 DB간의 통신을 중간에서 번역해주는 역할 JDBC 기능 Connection : 연결 (특정 DB와의 연결정보를 가지는 interface) Statement : SQL을 담은 내용 (SQL query문을 DB에 전송하는 방법을 정의한 interface) ResultSet : SQL 요청 응답 (SELECT 구문 실행 결과를 조회할 수 있는 방법을 정의한 interface) 자바는 이렇게 표준 인터페이스를 정의해두었다. 이제부터 개발자는 이 표준 인터페이스만 사용해서 개발하면 된다. 그런데 인터페이스만 있다고해서 기능이 동작..

TIL

23.09.26

1. 구구의 [DB Connection] 강의를 들었다. 많은 웹 어플리케이션이 DB 사용 하지만 어플리케이션에서 DB에 연결하는 것은 비용이 많이 든다 DB연결 비용을 줄일 수 없을까? 미리 connection 만들어두고 사용 미리 DB에 연결한 객체를 재사용하면 비용을 줄일 수 있다. Connection 객체를 모아둔 컨테이너를 Connection Pool이라 부른다. 사용 가능한 연결 객체가 없고 최대 크기에 도달하지 않았다면 새 연결을 만든다. 스프링 부트쓰면 자동으로 커넥션 풀링 적용 userDaoTest통과하게~~ 테스트코드가 없으면 리팩토링이 아니다 2. 우형 기술블로그에 올라온 글 2개를 읽었다. 개발자 머피의 법칙 10배 더 빠른 배치 만들기 3. 팀 정기회의를 했다. (무려 2시간 반 ..

TIL

23.09.25

1. MVC만들기 미션 3단계를 완성해서 제출했다. https://github.com/woowacourse/jwp-dashboard-mvc/pull/612 [MVC 구현하기 - 3단계] 오잉(이하늘) 미션 제출합니다 by hanueleee · Pull Request #612 · woowacourse/jwp-dashb 안녕하세요 테오! JspView는 저번 단계에서 해버려서 이번 단계에서는 JsonView 구현 Legacy MVC 제거 만 진행했습니다! 궁금한 점 DispatcherServletInitialIzer를 mvc모듈로 내릴 수 없는 이유가 뭘까요?! 다양 github.com 📍 레오에게 답변한 내용 DispatchServletInitializer을 mvc 모듈로 옮길 수 없는 이유? (Dispa..

TIL

23.09.22

1. 5차 데모 데이 발표 https://docs.google.com/presentation/d/1MqVkoLFVxabEE8BcjMBUvW2Z9ieDtf7DusW_JOz7-nE/edit#slide=id.g281fc8fa67b_11_44 펀잇_데모데이_5의 사본 궁금해? 맛있을걸? 먹어봐! 앗! 딜리버리 히어로 CTO도 극찬한 그 서-비스 docs.google.com 2. MVC만들기 미션 2단계 리뷰를 반영했다. https://github.com/woowacourse/jwp-dashboard-mvc/pull/491 [MVC 구현하기 - 2단계] 오잉(이하늘) 미션 제출합니다. by hanueleee · Pull Request #491 · woowacourse/jwp-dash 안녕하세요 테오! 2단계 미션..

TIL

23.09.21

1. [펀잇] 쿼리 최종 정리 & 인덱스 걸기 인덱스 전 2. 성능 테스트 관련 글 읽기 성능 테스트 가이드 성능 테스트란 1초당 요청이 가장 많은 상황을 기준으로 서비스에서 발생하는 성능, 가용성 관련 문제를 찾아내는 작업 📍 우리 서비스의 최대 트래픽은 얼마나 될까? 이미 오픈된 서비스라면 APM 툴을 이용해 최대 트래픽을 쉽게 알아낼 수 있겠지만, 저희는 아직 오픈하지 않았기 때문에 주요 경쟁사를 살펴보며 추측해보도록 합시다. 이 글 에 따르면 저희의 주요 경쟁사인 '네이버 지도'의 DAU(하루 중 중복 없는 순수 사용자 수)는 500만명입니다. 이 중 약 200만 명이 지하철 서비스를 이용하다고 가정하고 이를 기준으로 최대 트래픽을 예상해보도록 하겠습니다. 1일 총 요청 수 = DAU x 1명당 ..

TIL

23.09.20

1. [펀잇] 레시피 좋아요 api의 불필요한 쿼리를 제거하도록 개선했다. https://github.com/woowacourse-teams/2023-fun-eat/pull/680 [BE] refactor: 레시피 좋아요 api에서 불필요하게 나가는 쿼리 제거 by hanueleee · Pull Request #680 · woowac Issue close #679 ✨ 구현한 기능 레시피 좋아요 api에서 불필요하게 나가는 쿼리를 제거했습니다. member찾기(존재하는 member인지) select member0_.id as id1_1_0_, member0_.nickname as nickname2_1_0_, member0_.platfor... github.com 2. [펀잇] 상품목록조회 api을 커서기반..

TIL

23.09.19

1. 구구의 [달리는 기차의 바퀴 교체하기] 강의를 들었다. 유지보수, 리팩터링 역량의 필요성 점진적인 리팩터링 전략에 대한 이해 유지보수 역량이 필요하다. (초창기) 배달의민족은 대학생도 만들 수 있다. 만드는 건 누구나 한다. 서비스를 유지하고 발전시켜 나가는 게 어렵다. 기업들은 서비스 개발 마인드를 가진 개발자가 필요하다. 서비스를 지속적으로 발전시키기 위해 필요한 역량은? 협업 유지보수 (리팩터링) 달리는 기차의 바퀴를 갈아끼운다. 처음부터 완벽하게 만들 수 없다. 왜? 시장 상황은 계속 바뀐다. 참여자들의 역량도 변한다. 기술이 발전한다. 등등등 달리는 기차의 바퀴를 바꿀 수 있어야 한다. 어떻게? 점진적으로 리팩터링 하는 미션으로 연습한다 빅뱅전략 빅뱅 방식으로 백날 해봐야, 빅뱅만 나올 뿐..

오잉머신
'TIL' 카테고리의 글 목록 (7 Page)