게시글 이전 https://velog.io/@dev_mh/Java-%EC%8A%A4%ED%83%9DStack-%ED%81%90Queue
[Java / JSP] 커넥션 풀(Connection Pool)
·
Java
커넥션 풀(Connection Pool) 웹 컨테이너(WAS)가 실행되면서 DB와 미리 연결(connection)을 해놓은 객체들을 pool에 저장해두었다가, 클라이언트 요청이 오면 connection을 빌려주고, 처리가 끝나면 다시 connection을 반납받아 pool에 저장하는 방식을 말합니다. DataBase Connection Pool로 DBCP라고도 한다. 커넥션 풀을 사용하는 이유 Java - JDBC 대표적인 예제 소스를 보면 아래와 같은 방식으로 되어있다. 이러한 방식은 매번 사용자가 요청을 할 때마다 드라이버를 로드하고 커넥션 객체를 생성하여 연결하고 종료하기 때문에 비효율적이다. 따라서, 서버의 부하를 줄리고 효율성을 증가시키기 위해 커넥션 풀 방식을 사용한다. JSP 쇼핑몰 웹 프로..
[Java] JDBC와 DAO, DTO
·
Java
JDBC란? Java Database Connectivity 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스 기능 Connection : 데이터베이스에 연결 설정 Statement : SQL 문장을 DBMS에 전송 ResultSet : SQL 문장 전송 후 결과 처리 DAO란? Data Access Object 데이터베이스에 접근하는 객체 SQL문을 보내는 여러개의 객체들을 하나로 통합해 DB에 접근하는 방식 인터넷에서 다른 사람이 만든 DAO를 살펴보면 코드가 살짝 다르다 다른 이유는 쇼핑몰 웹 프로젝트에서는 Connection Pool을 사용했기 때문이다 Connection Pool에 관한 내용은 JSP 게시판에 따로 작성하고자 한다. DTO란? Dat..
[Java] 프레임워크와 라이브러리
·
Java
프레임워크 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 연동과 같은 기능들을 위해 어느 정도 뼈대(구조)를 제공하여 이러한 뼈대 위에서 사용자는 코드를 작성하여 개발 앱/서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분은 프레임워크가 관리하며, 사용자는 프레임워크가 정해준 방식대로 클래스, 메소드 구현 예시 Java 개발의 Spring Python 개발의 Diango, Flask 안드로드 앱 개발의 Android 아이폰 앱 개발의 Cocoa Touch 웹 개발의 Angular, Vue.js 라이브러리 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임 특정 기능을 ..
[코딩테스트 / Java] 개미수열
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
모회사 코딩테스트 중 개미수열에 대해 알게되어 흥미가 생겨 정리해봤습니다 개미수열이란? 베르나르 베르베르의 소설 "개미"에 나왔던 수열 문제 입니다. 1 11 12 1121 122111 112213 12221131 [법칙] 1 => "1이 한 개" / 따라서 다음 열 => "11" 11 => "1이 두 개" / 따라서 다음 열 => "12" 12 => "1이 한 개, 2가 한 개 " / 따라서 다음 열 => "1121" 1121 => "1이 두 개, 2가 한 개, 1이 한 개" / 따라서 다음 열 => "122111" 122111 => "1이 한 개, 2가 두 개, 1이 세 개" / 따라서 다음 열 => "112213" 반복 정리하자면 한 열은 결과가 나오는 동시에 다음에 나올 열의 규칙이 된다. "숫자..
[CS / DataBase] Drop truncate Delete 차이
·
Computer Science
DELETE, TRUNCATE, DROP 명령어는 모두 삭제하는 명령어이지만 차이점이 있다. DELETE WHERE절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식 데이터를 삭제하더라도 데이터가 담겨있던 용량은 줄어들지않는다 DELETE된 데이터는 COMMIT 명령어를 사용하기 전이라면, ROLLBACK 명령어를 통해 되돌릴 수 있음 TRUNCATE 전체 데이터를 한번에 삭제하는 방식 최초 생성되었을 당시의 Storage만 남기고, 데이터가 남겨있던 Storage는 Release 된다. 자동 COMMIT이 되는 명령어이기 때문에, 이미 지운 데이터는 되돌릴 수 없다. DROP 테이블 자체를 완전히 날려버리는 방식 테이블 자체가 모두 지워지며, 해당 테이블에 생성되어 있던 모든 인덱스도..