분류 전체보기

TIL

23.10.05

1. 스픽

TIL

23.10.04

1. 구구의 [Transaction과 Spring Transaction] 강의를 들었다 트랜잭션이란? 여러 SQL문을 한 번에 커밋(commit) 또는 롤백(rollback) 할 수 있는 작업 단위 실무에서 쿼리 칠 일 있으면 무조건 BEGIN ... COMMIT 하기 언제 트랜잭션(Transaction)을 사용하는가? 둘 중 하나라도 실패하면 되돌려야 할 때 SQL문이 단건이면 트랜잭션을 안 써도 될까? DB 내부에서는 여러 작업이 수행될 수 있다. 수천개 레코드 조회 컬럼에 따라 인덱스도 갱신 단건 조회라도 트랜잭션을 붙이고 readonly 옵션을 사용하자 트랜잭션 경계 : 트랜잭션 시작 ~ 트랜잭션 커밋(또는 롤백) 엑셀이 아니라 DB를 쓰는 이유가 바로 ACID 모델 atomic은 transact..

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명당 ..

오잉머신
'분류 전체보기' 카테고리의 글 목록 (7 Page)