[Java] UUID (Universally Unique IDentifier)
·
Java
📕 UUID란? 네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규악 Univeraslly Unique Identifier의 약어이고 범용 고유 식별자라고 함 주로 분산 컴퓨팅 환경에서 사용되는 식별자 128비트의 숫자이며, 32자리의 16진수로 표현됨 8자리-4자리-4자리-4자리-12자리 패턴의 하이픈을 집어 넣어 5개의 그룹으로 구분 📕 UUID 사용 업로드된 파일명의 중복을 방지하기 위해 파일명을 변경할 때 사용 첨부파일 파일 다운로드시 다른 파일을 예측하여 다운로드하는 것을 방지하는데 사용 일련번호 대신 유추하기 힘든 식별자를 사용하여 다른 컨텐츠의 임의 접근을 방지하는데 사용 📕 Java에서 UUID 사용 Java에서는 무작위 랜덤 생성 버전인 UUID 4버전과 해쉬를 이용해 생성하는..
[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] 컬렉션(Collection)
·
Java
컬렉션(Collection) 데이터의 집합, 그룹 장점 일괄된 API : Collection의 일관된 API를 사용하여 Collection 밑에 있는 모든 클래스는 Collection에서 상속받아 통일된 메서드 사용 프로그래밍 노력 감소 : 객체 지향 프로그래밍의 추상화의 기본 개념이 성공적으로 구현 유용한 데이터 구조 및 알고리즘 성능 향상 List 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. 종류 LinkedList 양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 데이터의 위치정보만 수정하면 되기에 유용 스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰임 Stack 스택 클래스 모델 및 스택 데이터 구조를 구현할 때 주로 사용 후입선출을 기본 원칙으로 한다. Vector 동적 ..
[Java] 싱글톤 패턴(Singleton)
·
Java
싱글톤 패턴 디자인 패턴의 종류 중 하나 클래스가 최초 한번만 메모리를 할당하고(static) 그 메모리에 인스턴스를 만들어서 사용하는 디자인 패턴 장점 고정된 메모리 영역을 얻으면서 한번은 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지할 수 있다. 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기 쉽다. 인스턴스가 절대적으로 한 개만 존재하는 것을 보증할 수 있다. 두 번째 이용시 부터는 객체 로딩 시간이 줄어 성능이 좋아진다. 단점 싱글톤 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유시킬 경우에 다른 클래스의 인스턴스들 간에 결합도가 높아져 "개방-폐쇄 원칙" 위배 수정이 어려워지고 유지보수의 비용 증가 멀티쓰레드 환경에서 동기화 처리..
마볼링
'Java' 카테고리의 글 목록 (2 Page)