일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 부트
- AWS
- jQuery
- 제이쿼리
- react
- 자바스크립트
- 어노테이션
- C++
- spring
- Java
- annotation
- data structure
- 리액트
- 하이브리드앱
- 자료구조
- Machine Learning
- JPA
- 스프링
- 캐시
- 테스트 커버리지
- cache
- 구버전
- kotlin
- ES6
- log4j2
- Deep Learning
- spring boot
- Test Coverage
- bean
- javascript
- Today
- Total
목록○ Programming [Basic] (19)
박서희연구소
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 ..
개요 서비스가 점점 커질수록 서버 한 대로 처리하기가 힘들어지기 때문에, 자연스럽게 각 기능들을 여러 서버에서 처리하게 된다. 하지만 서버들끼리 주고 받는 메시지를 잃어버리지 않고 정확하게 처리하는 것은 매우 까다로운 기술이다. SQS 는 서버들끼리 주고 받는 메시지를 정확하게 처리해주는데, 이런 시스템을 개인이나 벤처기업 또는 스타트업과 같은 소규모 사업장에서 구현 및 구축하는 것은 상당한 노력과 시간, 비용이 소모된다. Amazon SQS 는 서버들끼리 사용할 수 있는 메시지 큐 를 제공하는 서비스이다. SQS 를 사용하면 고가용성 메시지 큐 시스템 구축에 드는 비용과 고가용성과 신뢰성을 유지하기 위해 지속적으로 소모되는 노력과 비용도 절감할 수 있다. 특히 시스템 장애로 인해 발생하는 금전적인 손실..
1. OOP(Object-Oriented Programming) 란? 객체 지향 프로그래밍은 이름에서 알 수 있듯 객체를 코드화해 프로그래밍 하는 것을 의미한다. OOP 는 절차 지향 프로그래밍 방식에 비해 사람의 사고 방식과 더 가까우며, 객체들의 유기적인 관계를 통해서 프로스세스가 진행됨 객체는 사용자들에게 보여지며 할당된 작업을 수행함 상속, 숨김, 다형성 등의 실제 엔티티를 구현하는 것을 목표로 함 데이터와 동작하는 함수들을 결합하여, 해당 함수를 제외한 코드의 다른 부분들이 데이터에 접근할 수 없도록 함 2. 특징 추상화(Abstraction) 데이터 추상화는 필수 세부 정보만 사용자에게 표시되는 것을 이야기 한다. 현실 세계의 예를 들면, 자동차는 개별적인 부품이 아닌 자동차로 간주된다. 한 ..