| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 자료구조
- react
- log4j2
- Java
- 자바스크립트
- bean
- 어노테이션
- 테스트 커버리지
- ES6
- Test Coverage
- cache
- C++
- data structure
- 제이쿼리
- 스프링 부트
- 리액트
- annotation
- jQuery
- spring
- javascript
- JPA
- kotlin
- Machine Learning
- 하이브리드앱
- spring boot
- Deep Learning
- transformer
- 스프링
- AWS
- 구버전
- Today
- Total
목록전체 글 (38)
박서희연구소
1. Linked List 구조 인접하지 않은(떨어진) 곳에 존재하는 데이터를 포인터를 이용하여, 연결해 관리하는 데이터의 구조를 말함 - 구조와 용어 - Node(노드) : 데이터 저장 단위(데이터 값, 포인터)로 구성 Pointer(포인터) : 각 노드 안에서, 다음 혹은 이전의 노드와의 연결 정보를 가지고 있는 공간 - 장점 - 동적 배열이기에 런타임 시, 메모리의 할당 및 해제로 확장 및 축소가 가능하므로 데이터 공간을 미리 할당하지 않아도 됨 엘리먼트(Data) 삭제 후, 따로 이동할 필요없이 다음 포인터의 주소만 업데이트 시켜주면 되므로 관리에 용이함 - 단점 - 연결을 위한 별도의 데이터 공간이 필요하므로, 저장 공간의 효율이 낮아질 수 있음 해당 데이터를 찾으려면, 그 이전의 노드를 모두 ..
1. Stream 이란? Object 의 Collection 처리를 위해 Java 8 의 주요 기능으로 java.util.stream 이 도입되었다. 주요 API 로 Stream 가 있다. 기대 효과로 Stream 은 데이터 구조를 변경하지 않고, 파이프라인 방식에 따라 결과만을 제공한다. 2. 왜 사용하나? Stream 은 데이터 소스를 감싸는 wrapper 이므로, 해당 데이터 소스로 작업할 수 있으며, 편하고 빠르게 대량 처리가 가능 데이터를 저장하지 않기에 데이터 구조가 아니며, 데이터 소스를 수정하지 않음 3. 내가 활용해 본 Stream public void streamExample() { List integerList = Arrays.asList(1, 1, 11, 11, 21, 21, 31,..
1. Optional 이란? Optional 은 개발자들에게 너무 익숙한 NullPointerException 처리를 위해 만들어진 클래스로 실제로 null 로 인해 많은 코드 충돌의 원인이 될 수 있으며, null check 없이 이러한 문제를 해결하기란 쉽지 않다. 따라서 Java 8 의 java.util 패키지에서 이런 문제를 해결하기 위해 클래스를 지원한다. Optional 은 선택적 값을 포함하는 wrapper 클래스로, 개체가 포함되거나 비어있을 수 있다. 2. 왜 사용하나? null check 를 남용하지 않고, 깔끔한 코드 작성에 도움이 됨 Optional 사용으로 반환할 대체 값이나, 실행할 대체 코드 지정이 가능 3. 내가 활용해 본 Optional public void option..
1. Lambda Expression 이란? Lambda Expression 이란, 표현식을 사용해 하나의 메서드를 표현하는 명확하고 간결한 방법을 제공하며, Java 8 부터 지원된다. 특히, Collection 에서 데이터를 반복, 필터링 및 추출하는데 유용하다. 2. 특징 구현을 제공하기 위한 메서드를 재정의할 필요가 없고, 구현 코드만 작성 함수를 메서드 인수로 처리하거나, 코드를 데이터로 처리하도록 설정 클래스에 속하지 않고 사용 가능 Lambda 는 객체인 것 처럼 전달되며, 요청 시 실행 가능 3. 내가 활용해 본 Lambda interface Vehicle { void car(); } interface Fruit { String pull(String type); } interface Op..
1. EnumSet 이란? EnumSet 은 java.util 패키지에서 제공하는 Enum 클래스와 함께 동작하는 구현체이다. 상수 그룹을 나타내는 목적으로 사용되는데, 계절 및 색깔의 경우 봄, 여름, 가을, 겨울, 검정색, 노랑색, 파랑색 등 몇 개의 열거형 유형을 나열하는 것으로 예를 들 수 있다. 2. 특징 enum 값만 포함할 수 있고, 모든 값은 동일한 enum 에 속해야 함 null 값을 추가하는 것을 허용하지 않으며, 시도하면 NullPointerException 이 발생 thread 로부터 안전하지 않으므로, 필요한 경우 외부에서 동기화해야 함 HashSet 보다 훨씬 빠른 고성능 구현체 iterator 를 사용한 복제에서, fail-safe 하므로 컬렉션을 반복하면서 컬렉션이 수정될 때..
1. Stack 구조 Stack 은 작업이 수행되는 특정 순서를 따르는 선형의 구조로, 한 쪽 끝에서만 자료를 넣거나 뺄 수 있으며, 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조임 LIFO(Last In, First Out) 또는 FILO(First In, Last Out) 데이터 관리 방식으로 Queue(큐) 와 순서가 반대 - 기본 조작법 - Push : 데이터를 스택에 넣는 기능 Pop : 데이터를 스택에서 꺼내는 기능 2. Java 에서의 Stack java.util 패키지에서 Stack 클래스 제공 item 을 추가하는 기능으로 push() 메서드 제공 마지막으로 삽입한 item 을 return 하고, 해당 item 을 삭제하는 pop() 메서드 제공 3. Example pu..
1. Queue 구조 Queue 는 작업이 수행되는 특정 순서를 따르는 선형의 구조로, 줄을 서는 행위와 유사함 양쪽의 끝이 열려 있으며, 한쪽의 끝은 데이터를 삽입하고, 다른 한쪽 끝은 데이터를 제거하는 데에 사용함 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 FIFO(First-In, First-Out), LILO(Last-In, Last-Out) 방식으로 Stack(스택) 과는 순서가 반대 - 기본 조작법 - Enqueue : 큐에 데이터를 넣는 기능 Dequeue: 큐에서 데이터를 꺼내는 기능 2. Java 에서의 Queue java.util 패키지에서 Queue 인터페이스를 제공함 Queue 데이터를 생성하기 위해서는 LinkedList 클래스를 사용해야 함 Enqueue 에 해당하는..
1. Array(배열) 데이터를 나열하며, 각각의 데이터를 element(요소) 라고 부르며, 해당 element 는 index 를 이용하여 접근이 가능하다. index 는 0 부터 시작 된다. 2. 배열은 왜 사용할까? 같은 종류의 데이터를 효율적으로 관리하기 위해 사용 같은 종류의 데이터를 순차적으로 저장 장점 : index 를 통해 빠르게 접근 가능 단점 : 데이터 추가 및 삭제의 어려움, 미리 최대 길이를 지정해야 하며, 생성 후에는 고정됨 3. Java 와 배열 1차원 배열은 [] 를 통해 선언할 수 있음 각 item 은 {} 내에 콤마를 사용해 작성 4. Example // new 키워드를 사용하여 배열을 미리 선언한 후에 데이터를 넣을 수 있음 Integer[] sample = new ..