본문 바로가기

프로그래밍64

[자료구조] 큐(Queue) FIFO(First In First Out, 선입선출) 방식의 자료구조 가장 먼저 넣은 데이터를 가장 먼저 꺼낸다. 큐에 데이터를 넣는 것을 Enqueue라고 하고, 큐에서 데이터를 꺼내는 것을 Dequeue라고 한다. queue_list = list() # Enqueue와 Dequeue 구현 def enqueue(data): queue_list.append(data) def dequeue(): data = queue_list[0] del queue_list[0] return data Python에서는 Queue 라이브러리를 활용해 다양한 큐 자료구조를 사용할 수 있다. Queue(): 일반적인 큐 자료구조 import queue data = queue.Queue() # 데이터 넣기 data.put(1).. 2021. 3. 4.
[자료구조] 배열(Array) 같은 타입을 가진 데이터들을 나열하고, 데이터마다 인덱스를 갖도록 구성한 자료구조 Python에서는 List가 배열 기능을 제공 # list로 배열 구현 data_array = [1, 2, 3] data_array >> [1, 2, 3] # 2차원 배열 data_array = [[1, 2], [3, 4], [5, 6]] data_array >> [[1, 2], [3, 4], [5, 6]] print(data_array[0][0]) >> 1 print(data_array[1][2]) >> 4 print(data_array[2][0]) >> 5 배열은 같은 타입의 데이터를 효율적으로 관리하기 위해 사용되며, 데이터를 순차적으로 저장한다. 장점: 인덱스 번호로 빠른 접근이 가능하다. 단점: 데이터 추가/삭제가.. 2021. 3. 3.
[Spring] scope, annotation 빈(bean) 객체 스코프(scope) 기본적으로 컨테이너에 한 개의 bean 객체를 생성해 재사용한다. bean의 scope를 설정할 수 있는 방법을 제공한다. 방식 설명 singleton 컨테이너에 한 개의 bean 객체만 생성한다.(기본값) prototype bean을 요청할 때마다 bean 객체를 생성한다. request HTTP 요청마다 bean 객체를 생성한다.(WebApplicationContext에서만 적용) session HTTP 세션마다 bean 객체를 생성한다.(WebApplicationContext에서만 적용) global-session 글로벌 HTTP 세션에 대한 bean 객체를 생성한다. 포틀릿을 지원하는 컨텍스트에만 적용 가능하다. scope를 prototype으로 설정한 st.. 2020. 12. 14.
[Spring] property 설정, autowire collection 타입의 property 설정 - java.util.List나 배열 - java.util.Set - java.util.Map - java.util.Properties List 타입의 property 설정 Set 타입의 property 설정 Map 타입의 property 설정 Properties 타입의 property 설정 독립형 collection 구현 각 bean에서 중복 처리되는 속성값을 재사용하기 위한 방법으로, Namespaces의 util 태그를 이용한다. 의존 관계 자동 설정(autowire) 의존하는 bean 객체의 타입이나 이름을 이용해 의존 객체를 자동 설정할 수 있는 기능이다. 자동 설정과 직접 설정의 혼합도 가능하다. 태그의 autowire 속성을 이용한다. 1. b.. 2020. 12. 14.
[Spring] Dependency Injection(Constructor/Setter-based Injection) Dependency Injection 개요 의존관계(의존성) 주입 Spring Framework의 핵심 기능 중 하나로, 객체 간 의존 관계가 객체 자신이 아닌 외부에 의해 결정되는 개념이다. 컨테이너는 어떤 객체 A가 필요로 하는 의존관계에 있는 다른 객체 B를 직접 생성하여 객체 A로 주입해 주는 역할을 한다. DI는 의존관계 구현을 어떻게 하는지에 대한 내용이다. 의존하는 객체를 지정하는 방법 의존하는 객체를 코드에 직접 명시하는 방법(일반적인 방법) 단위 테스트가 어렵고, 의존하는 객체 변경 시 코드를 수정해야 한다. Factory나 JNDI를 이용해 검색하는 방법 단위 테스트가 어렵고, 실제 의존하는 객체와의 의존성은 느슨하고 Factory나 JNDI와의 의존성이 생긴다. XML 기반 설정 방법.. 2020. 12. 13.