일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- js
- til
- dbms
- 생성자
- JPA
- 항해99
- jsp
- javascript
- 가상컴퓨팅
- generic class
- 크루스칼
- BFS
- 자바의정석
- Queue
- 알고리즘
- python
- 자료구조
- sql
- DB
- 코딩테스트
- 99클럽
- 공개키 암호화
- 개발자취업
- 코딩테스트준비
- Algorithm
- dfs
- 코테
- spring
- 암호학
- Today
- Total
목록분류 전체보기 (137)
PLOD
리스트에 순차적으로 접근해야 할 때 두개의 점의 위치를 기혹하면서 처리하는 알고리즘이다. 정렬되어 있는 두 리스트의 합집합에도 사용됨, 병합정렬(merge sort)의 counquer(정복)영역의 기초가 되기도 한다.예제 문제 - 특정한 합을 가지는 부분 연속 수열 찾기투포인터 알고리즘의 대표적인 문제입니다.어떤 숫자들의 리스트가 주어질 때, 해당 리스트의 연속 수열의 합이 특정 값을 가지는 것을 확인하는 문제입니다.시작점과 끝점이 첫번째 원소의 인덱스를 가리키도록 한다.(start, end = 0,0)현재 부분 합이 M과 같다면 카운트한다. (if sum[start:end] == M)현재 부분 합이 M보다 작다면 end를 1 증가시킨다. (end += 1)현재 부분 합이 M보다 크거나 같다면 start..
JPAJPA는 자바 진영에서 ORM기술 표준으로 사용되는 인터페이스의 모음이다.기존의 JDBC는 SQL 의존적이라 변경에 취약하였다. 그리고 쿼리를 통해 직접 접근하는 방식이라 SQL 직접 변경해주어야 해서 수고스러웠다.이러한 점을 ORM 기반의 JPA가 해소할 수 있을 것이다. JPA를 통해 백엔드 개발자들은 쿼리 작성과 수정에 들이는 노력을 비즈니스 로직 개발에 힘쓸수 있게 되었다. ORM(Object-Relational Mapping) 애플리케이션 Class와 RDB(Relational DataBase : 관계형 데이터베이스)의 테이블을 매핑한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면 된다.ORM의 장점SQL 문이 아닌 메서드를 통해 데이터..
리액트는 프론트앤드 개발에 사용되는 프레임 워크이며, 흔히 '반응형 웹페이지'를 만들때 주로 사용된다. 또한 리액트를 사람들이 사용하는 가장 큰 이유는 Virtual DOM(가상 DOM) 때문이다. 웹 브라우저가 웹 사이트의 텍스트 문서를 읽어서 DOM(Document Object Model)이라는 트리 구조로 바꾸어서 사용자에게 보여주게 되는데, 웹 개발자들은 사용자의 반응에 따라 이 DOM 트리를 변경하여 웹 사이트의 내용을 갱신한다. 하지만 매번 변화가 있을 때마다 전체 화면을 새로 그리는 것은 성능에 좋지 않다. React는 이 문제를 해결하기 위해 Virtual DOM을 도입하였다. 우선 Virtual DOM은 웹 개발자들이 변화를 주고 싶은 부분만 반영하고 Virtual DOM 과 실제 DOM..
제네릭 클래스제네릭은 다양한 타입의 객체들을 다루는 메서드나 컬레션 클래스에 컴파일 시의 타입 체크를 해주는 기능이다. public class GenericTest{ public static void main(String[] args){ ArrayList list = new ArrayList(); list.add(10); list.add(20); list.add("30"); Integer i = (integer)list.get(2); // 컴파일 OK but console 출력시 Error(형변환) System.out.println(list); }}위 코드를 실행하면 코드 상으로는 에러가 발생하지 않지만 , 컴파..
컴퓨터에서 네트워크란 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다. 여기서 노드란 서버, 라우터 , 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 유선을 의미한다. 라우터 네트워크 간의 패킷을 전달하는 장비이다. 다른 네트워크로 패킷을 전송하기 위해 가장 적합한 경로를 결정하는 역할을 수행한다. 라우터는 네트워크 주소를 기반으로 패킷을 전달하며, 네트워크의 분리와 보안을 위해 사용된다. 라우터의 동작 원리 라우터는 라우팅 테이블을 사용하여 패킷을 전달한다. 라우팅 테이블은 네트워크 주소와 해당 주소로 패킷을 전달하기 위한 다음 호스트의 주소를 포함한다. 라우터는 패킷의 목적지 주소를 확인하고 해당 주소에 대한 경로를 찾아 전달한다. 스위치 스위치는 네트워크 내에서 호스트 ..
singleton pattern 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 하나의 클래스를 기반으로 여러개의 개별적인 인스턴스를 만들 수 있지만 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며 보통 데이터베이스 연결 모듈에 사용한다. 싱글톤 패턴의 장점은 하나의 인스턴스를 기반으로 해당 인스턴스를 다른 모듈들이 공유하여 사용하기 때문에 인스턴스를 생성 할 때 드는 비용이 줄어든다. 그렇기 때문에 인스턴스 생성에 많은 비용이 드는 I/O 바운드 작업에 많이 사용한다. 단점은 의존성이 높아지며 TDD(Test Driven Development)를 할 때 걸림돌이 된다. 싱글톤 패턴은 미리 생성된 하나의 인스턴스를 기반..