본문 바로가기 메뉴 바로가기

CodeAngie

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

CodeAngie

검색하기 폼
  • 전체보기 (157) N
    • Study (143) N
      • Algorithm (8)
      • Coding Test (50)
      • Java (5) N
      • FastAPI (2)
      • Docker (8)
      • FastCampus (42)
      • Codetree (9)
      • Ect (18)
    • ML (9)
      • Transformer (5)
      • RecSys (0)
      • Ect (4)

Study (143)
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - DB 커넥션 풀

1. DBCP (1) DBCP (Database Connection Pool) 미리 여러개 DB 커넥션을 생성하여 하나의 풀에 저장해 두었다가 필요에 따라 풀에서 커넥션을 불러와 사용하는 기법이다. 스프링 부트 2.0 부터는 디폴트 커넥션 풀로 HikariCP가 설정되어 있다. DBCP 라이브러리 종류로는 HikariCP, 톰캣JDBC 등이 있다. (2) 커넥션 풀 사용 시 유의 사항 커넥션의 사용 주체는 WAS 스레드(HTTP 웹 서버에서 생성했던 스레드)이므로 커넥션의 개수는 WAS 스레드 수와 함께 고려해야 한다. 커넥션 수가 커질수록 메모리 소모가 커지지만, 동시 접속자 수가 많을 때에는 사용자 대기 시간이 감소하는 이점이 있다. 반대로 커넥션 수가 감소한다면 비례하여 메모리 소모가 감소하지만 사..

Study/FastCampus 2023. 8. 17.
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - JDBC 프로그래밍

1. JDBC(Java Database Connectivity) 자바 애플리케이션에서 데이터베이스(DB) 프로그래밍을 할 수 있도록 도와주는 표준 인터페이스이다. 표준이기 때문에 DBMS 종류에 상관이 없다. JDBC 인터페이스들을 구현한 구현체들은 각 DB 벤더 사들이 제공해주며 이를 JDBC 드라이버라 한다. 자바 코드에서는 보통 JDBC 인터페이스에만 의존하기 때문에 DB가 바뀌더라도 코드를 수정이 필요 없다. 2. JDBC 실습 (1) 의존성 추가 implementation(‘com.zaxxer:HikariCP:5.0.1’) implementation(‘org.sptingframework:splitng-jdbc:5.3.22’) // assert testImplementation(‘org.asser..

Study/FastCampus 2023. 8. 16.
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 서블릿 프로그램

오늘은 CGI 프로그램과 서블릿에 대하여 학습하고 서블릿 구현 실습을 하려고 한다. 1. CGI와 서블릿 1) CGI (Common Gateway Interface) 웹 서버가 애플리케이션과 데이터를 주고받을 때 사용되는 규칙 CGI 프로그램은 CGI 규칙에 따라 데이터를 주고받는 프로그램이다. c, c++, java 등 컴파일 언어뿐만 아니라 php, python 등 스크립트 언어(인터프리터 방식)로도 작성이 가능하다. 2) 인터프리터 방식 웹 서버는 스크립트 엔진(script engine)을 실행시키고, 스크립트 엔진은 스크립트 파일을 해석해 웹서버에 결과값을 return 한다. 서블릿과 서블릿 컨테이너에도 동일하게 CGI 규칙이 적용된다. 개발자는 더이상 서블릿과 서블릿 컨테이너 사이에 사용되는 C..

Study/FastCampus 2023. 8. 15.
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 웹 애플리케이션2

오늘은 이어서 계산기 프로그램 프로젝트의 Step2 와 Step3를 진행해보려 한다. 1. 계산기 프로그램을 웹 애플리케이션 1) 계산기 프로그램을 웹 애플리케이션으로 만들기 Step1 - 사용자 요청을 메인 Thread가 처리하도록 한다. Step2 - 사용자 요청이 들어올 때마다 Thread를 새로 생성해서 사용자 요청을 처리하도록 한다. Step3 - Thread Pool을 적용해 안정적인 서비스가 가능하도록 한다. 2) 구현 참고사항 Step1의 한계 Step1 과정에서 웹 애플리케이션 서버인 미니 톰캣을 구현하였다. 이 때 main 스레드에서 작업을 하였는데, main 스레드가 작업을 수행하던 중 블럭킹이 걸리게 된다면 다음 클라이언트 요청이 바로 수행되지 못하고 이전 작업이 완료될 때까지 기다..

Study/FastCampus 2023. 8. 14.
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 웹 애플리케이션

1. 웹 애플리케이션 1) HTTP 프로토콜 서버와 클라이언트가 데이터를 주고 받기 위한 프로토콜(규약)이다. HTTP/1.1, HTTP/2는 TCP 기반 위에서 동작하고, HTTP/3는 UDP 기반 위에서 동작한다. 2) TCP와 UDP TCP는 인터넷상에서 IP와 함께 데이터를 메시지 형태로 전송하는 프로토콜이다. 3-way handshaking 과정을 통해 연결이 된다. 속도는 느리지만 높은 신뢰성을 보장함으로 파일 전송 등에 쓰인다. UDP는 데이터를 데이터그램 단위로 처리하는 비연결형 프로토콜이다. 속도가 빠르고 네트워크 부하가 적지만 신뢰성 있는 데이터 전송을 보장하지 못한다. 때문에 연속성이 더 중요한 실시간 서비스(streaming)에 쓰인다. TCP, UDP 참고 (https://mang..

Study/FastCampus 2023. 8. 13.
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 학점계산기, 음식주문

오늘은 학점계산기와 음식 주문 과정을 객체지향 설계 방식에 따라 구현해보는 실습을 진행하였다. 1. 학점 계산기 1) 요구사항 평균학점 계산 방법 = (학점수×교과목 평점)의 합계/수강신청 총학점 수 MVC패턴(Model-View-Controller) 기반으로 구현한다. 일급 컬렉션 사용 2) 객체지향 설계 과정 도메인 구성 객체 : 이수 과목(Course), 학점 계산기 객체 간 관계 : 학점 계산기가 이수 과목을 변수로 가질 것 동적 -> 정적 타입으로 추상화 : 다양한 이수 과목(자료구조, 데이터베이스) -> 과목 클래스 협력 설계 이수 과목(인자)을 전달하여 평균학점 계산 요청 to 학점 계산기 학점 계산기는 ① (학점수×교과목 평점)의 합계 와 ② 수강신청 총학점 수 를 요청하여 평균학점 계산하..

Study/FastCampus 2023. 8. 12.
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 객체지향

1. 객체 지향 1) 객체지향의 4가지 특징 추상화: 불필요한 부분을 제거하고 필요한 핵심만 남기는 것. (일반화, 단순화) 다형성: 다양한 형태를 갖는 것. 한 개의 타입으로 여러 종류의 객체를 참조하는 것. 캡슐화: 객체의 세부사항을 외부로부터 감추는 것. 상속: 부모로부터 물려받는 것. 2) 객체지향의 5가지 설계 원칙 (SOLID) 좋은 객체지향 코드를 작성할 수 있는 원칙 SRP : Single Responsibility Principle (단일 책임의 원칙) 하나의 책임을 갖게 하는 것. OCP : Open/Closed Principle (개방 폐쇄의 원칙) 기존 코드를 변경하지 않고 기능을 추가하는 것. LSP : Liskov’s Substitution Principle (리스코프 치환의 원..

Study/FastCampus 2023. 8. 11.
이전 1 ··· 9 10 11 12 13 14 15 ··· 21 다음
이전 다음
«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
TAG
  • pytorch
  • lis
  • MySQL
  • dfs
  • boj
  • 백준
  • greedy
  • python
  • docker
  • 코딩테스트
  • 알고리즘
  • 파이썬
  • Django
  • java
  • DP
  • disjoint set
  • BFS
  • 누적합
  • 티스토리챌린지
  • 코드트리
  • kruskal
  • 최소신장트리
  • 오블완
  • 트랜스포머
  • 그리디
  • 구현
  • Transformer
  • COLAB
  • 분리집합
  • 프로그래머스
more
링크

Blog is powered by Tistory / Designed by Tistory

티스토리툴바