- db
- spring
- S3
- map
- CloudFormation
- AWS
- rabbitmq설치방법
- cloudfront
- ELB
- Cognito
- dynamodb
- instance
- javamap반복
- 리눅스rabbitmq설치
- Heap
- jpa
- 인스턴스
- java
- javaIteration
- rabbitmq설치명령어
- 자료구조
- 차이점
- REST
- AWS CloudFormation
- Iteration반복문
- list
- redis
- yumpackage
- 어노테이션
- Amazon
- Today
- Total
목록Development Basic (12)
You are a developer, not a coder.
JAVA/Design Pattern [생성 패턴] 싱글톤(Singleton) 패턴을 구현하는 6가지 방 첫 번째로 소개할 디자인 패턴은 싱글톤(Singleton) 패턴입니다. 종종 싱글톤 패턴을 '단일체' 패턴으로 번역하고 있는 책도 있지만, 일반적으로 싱글톤 패턴이라고 부릅니다. 싱글톤 패턴은 객체지향 디자인 패턴에서 가장 유명한 패턴 중 하나로, 디자인 패턴을 따로 공부하지 않으신 분들도 익히 알고 있는 패턴입니다. 하지만 유명한 만큼 예제 코드를 쉽게 접할 수 있어서인지 프로젝트에 싱글톤을 어설프게 적용은 하지만 정작 왜 써야 하는지, 어떻게 써야 내 상황에 맞게 잘 쓰는지에 대해서는 잘 모르시는 분들이 많습니다. 이번 포스팅에서는 디자인 패턴 관점에서 싱글톤의 개념과 역할에 대해 살펴보고, Jav..
Redis에 대해 레디스(Redis)는 Remote Dictionary Server의 약자로서 "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DBMS이다. Redis의 특징 1. Redis는 List, Set, Sorted Set, Hash 등과 같은 Collection을 지원합니다. 2. Redis는 Single Thread (따라서, Race Condition에 빠지는걸 방지함) 3. persistence를 지원하여 서버가 꺼지더라도 다시 데이터를 불러들일 수 있습니다. Redis의 활용 1. Remote Data Store - 여러 서버의 Data 공유를 위해 사용 될..
우선순위 큐를 위하여 만들어진 자료구조 Goal 우선 순위 큐를 위하여 만들어진 자료구조, 힙(heap)에 대해 이해한다. 배열을 이용하여 힙(heap)을 구현할 수 있다. 힙(heap)의 삽입과 삭제를 이해한다. [들어가기 전] 우선순위 큐: 우선순위의 개념을 큐에 도입한 자료 구조 데이터들이 우선순위를 가지고 있고 우선순위가 높은 데이터가 먼저 나간다. 우선순위 큐의 이용 사례 시뮬레이션 시스템 네트워크 트래픽 제어 운영 체제에서의 작업 스케쥴링 수치 해석적인 계산 우선순위 큐는 배열, 연결리스트, 힙 으로 구현이 가능하다. 이 중에서 힙(heap)으로 구현하는 것이 가장 효율적이다. 자료구조 ‘힙(heap)’이란? 완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조이다. 여러 개의 값..
java로 큐(Queue)를 구현할 수 있다. Goal 큐(Queue)의 기본 연산을 이해한다. java로 큐(Queue)를 구현할 수 있다. 큐(Queue)의 개념 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식 큐(Queue)의 연산 큐(Queue)는 FIFO(First-In-First-Out) 를 따른다. add(item): item을 리스트의 끝부분에 추가한다. remove(): 리스트의 첫 번째 항목을 제거한다. peek(): 큐에서 가장 위에 있는 항목을 반환한다. isEmpty(): 큐가 비어 있을 때에 true를 반환한다. 큐(Queue)의 구현 큐(Queue)는 연결리스트 로 구현할 수 있다. ..
1. Array vs List Array ArrayList 사이즈 초기화시 고정 int[] myArray = new int[6]; 초기화시 사이즈를 표시하지 않음. 유동적 ArrayList myArrayList = new ArrayList(); 속도 초기화시 메모리에 할당되어 속도가 빠르다. 추가시 메모리를 재할당하여 속도가 느리다. 변경 사이즈 변경 불가 추가 삭제 가능 add(), remove() 로 가능 다차원 가능 int[][][] muttiArray = new int [3][3][3]; 불가능 2. List 내부구현은 배열로 되어 있다. 알맞는 데이터 저장공간만 있다면 데이터 저장속도는 빠르다. 순차적으로 데이터를 저장하므로, 데이터 특징이 포지션별로 의미가 있을때 사용하는것이 좋다. 이말은 즉..
쿠키와 세션은 개발자 말고도 인터넷 사용자라면 누구나 많이 들어본 단어입니다. 하지만 개념에 대해서는 많은 사람들이 헷갈려 하기에 쉽고 간단하게 정리해보려고 합니다. 일단 쿠키를 발급받고 사용하는 과정에 대해서 간략하게 그림으로 설명 드리겠습니다. 쿠키를 발급받고 사용하는 과정 HTTP의 특징과 쿠키와 세션을 사용하는 이유 HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용한다. HTTP 프로토콜 환경에서 서버는 클라이언트가 누구인지 확인해야합니다. 그 이유는 HTTP 프로토콜이 connectionless, stateless한 특성이 있기 때문입니다. connectionless 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징 HTTP는 먼저 클라이언트가 request를 서버에 ..
1. Heap의 기본개념 참조형의 데이터 타입을 갖는 인스턴스, 배열, Object를 상속하는 String 등이 저장되는 영역이다. 이때 지역변수, 매개변수는 Stack 영역의 공간에서 실제 데이터가 저장된 Heap 영역의 참조값을 new연산자를 통해 리턴 받는다. 실제 데이터를 갖고 있는 Heap영역의 참조 값을 Stack 영역의 객체가 갖고 있다. 이렇게, 리턴 받은 참조값을 갖고 있는 객체를 통해서만 해당 인스턴스를 핸들링 할 수가 있다. Heap영역은 사용자에 의해 메모리 공간이 동적으로 할당되고 해제가 된다.
1. Stack의 기본개념 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역 이다. Stack은 요소를 데이터 구조의 한쪽 단에서만 저장/접근 할 수 있는 컬렉션 이다. LIFO (Last - In - First - Out) 즉, 후입선출의 구조로 많이 알려져 있는 컬렉션 이다. 가장 최근에 입력된 데이터를 top 이라고 하며, Stack은 top에서만 삽입, 삭제, 읽기 동작이 발생할 수 있다. 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸한다. Stack 영역에 저장되는 함수의 호출 정보를 스택 프레임 (Stack Frame)라고 한다. 컴파일 시에 크기가 결정된다. 2. Java에서의 Stack Method 종류 Method 종류 동작 설명 pop() Delete, Read ..