컬렉션 프레임워크란? 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 인터페이스(interface)를 사용하여 구현 컬렉션 프레임워크 주요 인터페이스 컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 List 인터페이스, Set 인터페이스, Map 인터페이스로 구분되어 있으며, List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의 List 저장된 요소들의 순서가 보장되고 데이터 중복이 가능하며 인덱스(index) 번호에 의해 정렬됩니다. List..
Greedy 알고리즘? 어떠한 문제가 주어질 때 단순 무식하게, 탐욕적으로 문제를 푸는 알고리즘 탐욕적 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 현재 선택이 이후에 미칠 영향에 대해서 고려하지 않는다 문제 출제 폭이 넓다 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 창의력을 요구 가장 좋은 것을 선택하는 알고리즘으로 문제에서 '가장 큰 순서대로', '가장 작은 순서대로' 같은 기준을 슬며시 제시 정렬 알고리즘과 짝을 이루어 자주 출제된다. 그리디 알고리즘의 정당성 ? 모든 알고리즘 문제에 적용할 수 없다. 탐욕적으로 문제에 접근했을 때 해를 구할 수 있다는 보장이 있을 시 매우 효과적이고 직관적이다. 문제 해법을 찾을 때 정당성을 검토해야한다. 문제 풀이를 위한 최소한의 아이디어를 떠..
영속성 ? 데이터를 생성한 프로그램이 종료 시 데이터가 사라지지 않는 데이터의 특성을 말하며, 영속성을 갖지 않는 데이터는 메모리 상에 존재하더라도 프로그램 종료와 함께 모두 사라진다. 그러므로 데이터를 파일이나 DB에 영구 저장함으로써 데이터에 영속성을 부여한다. JPA에서의 영속성 ? ORM 기술인 JPA에서 핵심적인 부분 중 하나는 영속성 컨텍스트와 영속 상태를 이해하는 것이다. JPA의 Entity Manager가 활성화된 상태로 하나의 트랜잭션(@Transactional) 안에서 DB로부터 데이터를 조회하면 트랜젝션이 끝나는 시점까지 영속성 컨텍스트라는 1차 캐시에 저장되고 관리된다. 정리하면 하나의 트랜젝션이 발생하는 시점에서 DB로부터 조회 된 데이터(=Entity)는 영속성 컨텍스트라는 곳..
지네릭스란(Generics)란? 다양한 타입의 객체를 다루는 메서드, 컬렉션에 객체를 제한하는 기능 특정 메서드나 컬렉션에 들어가는 자료형을 제한하는 것이다. 지네릭스의 필요성 String 객체만 들어가길 원하는 ArrayList가 있다고 가정 시 여러가지 문제점 있다. public static void main(String[] args){ List strList = new ArrayList(); } 컴파일러가 실행(런타임) 전에 확인할 때는 문제가 없다고 했지만, 런타임 시 다음과 같이 에러 발생 public static void main(String[] args) { List strList = new ArrayList(); strList.add(10); String s1 = (String)strLis..
이번 한 주동안은 새로운 환경으로 나아가기 위해서 나를 정리하고 표현하는 시간이면서 동시에 정식과정을 마치는 주차였다. 그러다보니 한 주간은 회고하는 시간들에 연속이었다. 항상 그렇지만 이력서를 작성하고 면접을 준비하다보면 스스로는 돌아보는 시간들이 존재하고 그 과정에서 보통은 답답함과 한 숨부터 나온다. 이 과정은 왜 이리 항상 반복되는 것일까? 항해를 시작하기 이전에도 항상 내 스스로가 부족하고 무엇인가 사회로 나가기에 준비가 되지 않은 기분들이 들었고, 그것들이 두려움으로 다가설 때가 많았던 것 같다. 그러나 이번 항해를 하면서는 그런 내 모습을 스스로 잘 알고 있고, 이겨내고 도전해보고 싶은 생각이 두려움보다 크게 작용하는 것 같다. 이력서를 작성하면서 내 자신이 무엇을 했지?라는 생각이 역시나 ..
항해 실전프로젝트 3주차에는 MVP 중간발표를 진행한다. 그렇기에 발표 당일 2일 전까지는 최대한 기능을 BE/FE가 맞춰보는 부분에 초점을 맞춰 진행했다. BE의 경우는 기능구현이 2주차까지 모두 마무리되었고, 추가적으로 Jmeter를 활용하여 부하테스트를 진행하면서 성능개선 및 코드리팩토링, FE와 맞춰보면서 발생하는 장애대응을 중점적으로 했다. 추가적으로 급하게 Email / PWD를 찾는 기능을 구현해야하는 일이 있어서 개인적으로 Naver 클라우드 플랫폼에서 제공하는 SMS 서비스를 이용해서 SMS 기반 회원 Email을 찾아주는 기능 구현했다. 무엇보다 이번 한 주동안에 이슈라면 MVP 발표일 것이다. 위에서 언급한 바와 같이 우리 조는 2일전에 모든 것을 끝내고 MVP 발표를 위해 자료, 영..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.