전체 글

주로 개발에 대한 이야기들 Spring Kotlin k8s DB
데이터 형식 - Table을 생성하기 위해서는 Column마다 지정해야되는 형식을 선언해야 한다! - 기본적으로 DDL(Data Definition Language)을 사용한다~! Data Type 설명 VARCHAR 가변길이의 문자열 데이터타입 (최대 65535 Byte) CHAR 고정길이의 문자열 데이터타입, 지정된 길이보다 짧은 데이터가 오면 나머지는 공백으로 채운다 TINYTEXT 문자열 데이터 타입 (최대 255 Byte) TEXT 문자열 데이터 타입 (최대 65535 Byte) DATE 날짜(Year-Month-Date) 형식의 데이터 타입 DATETIME 날짜 + 시간(시:분:초) 형식의 데이터 타입 TINYINT 정수형 데이터 타입(1Byte) (-127 ~ 128) 또는 (0~255)의 ..
DataBase란? - 연관된 데이터의 잡합을 나타내는 것이 Database이다. - 데이터베이스를 구성하는 요소는 개체(Entity), 속성(Attribute), 관계(Relationship)이 있다 1. 개체 : 데이터베이스에서 표현하고자 하는 유형, Ex) Schema = 학생정보 2. 속성 : 데이터베이스에서 개체의 특성이나 상태, Ex) Schema의 Row = 학생의 이름 3. 관계 : 개체와 개체 혹은 속성과 속성의 관계 Ex) INNER JOIN - 보통 우리가 사용하는 MySql은 관계형 데이터베이스(RDBMS)이다. RDBMS(Relation DataBase Management System) - RDBMS의 내부구조를 파헤치면 다음과 같은 구조로 되어 있다. - Table = Schem..
위상정렬이란? - DAG(Direct Acyclic Graph) 그래프에서 Node간의 정렬을 이루기 위해 사용하는 알고리즘 * DAG ? 방향성이 있고 사이클이 없는 그래프 - 그래프에 대한 모든 Node를 진입 차수가 짧은 순서대로 노드를 정리하는 방법이다. - 진입차수가 0인 Node부터 순차적으로 검색하여, 최종적으로 제일 높은 진입차수가까지 정렬하는 방식 위상정렬 순서 1. 인접 리스트 방식으로 그래프를 만들고, 노드별로 진입차수를 기록한다. 2. 큐를 2개 만든다. ( 로직이 진행되는 큐, 결과가 저장되는 큐 ) 3. 진입 차수가 0인 Node들에 대하여 '탐색 큐'에 저장한다. 4. '탐색 큐'에서 Node를 하나씩 poll()을 한 뒤, 해당 Node를 '결과 큐'에 삽입한다. 5. '탐색..
· Developer/OS
Why 가상메모리? - 가상메모리를 쓰는 이유는 보통 다음과 같은 예시로 들 수 있다. 책을 프로세스의 메모리라 하고, 책상 위에 둘 수 있는 최대 한계치를 실제 메모리라고 가정해보자. 공부할게 너무 많아져서 책이 책상에 둘 수 없는 상태가 오게 될 수 있다. 하지만, 책장이라는 가상 메모리를 사용하면 필요할 때 적재적소에 책상위에 책을 둘 수 있다!!! * 하지만, " 책을 딱 맞게 사면 되지 않냐? " 라는 질문이 있을 수 있다. 우리가, 알고리즘을 공부할 때, 책 한권으로 끝낸 적이 있는가? 보통 공부할 때, 온라인 검색을 통해서 책을 찾아보고, 소스코드만 구현된 책도 따로 찾아보고, 적용된 사례에 대한 책도 찾아본다. * 그래서 공부할 때 항상 모든 책을 같이 보는가 ? -> 절대 아니다 실습이 ..
· Developer/OS
프로세스? - 프로세스를 구동하기 위해서는 다양한 자원이 필요하다. - 이에 대한 효율적인 배분을 위해서 상황에 맞는 자원을 각각의 프로세스에게 분배할 필요가 있다. - 그러면 이러한 효율적인 배분이 왜 필요한 것일까? - 효율적인 배분이 필요한 이유는 프로세스의 Waiting 상태가 존재하기 때문이다. - Waiting 상태의 프로세스에게 자원을 배분하면, 낭비가 이루어지기 때문에 이를 효율적으로 관리하기 위해 스케줄링을 하는 것이다! - 결국, "어떻게 프로세스들이 CPU를 효율적으로 사용할 것인가? " 에 대한 답을 끌어내기 위해서다 CPU 스케줄링이 일어나는 시점 º Running 상태에서 Waiting 상태로 전환 되었을 때 º Running 상태에서 Ready 상태로 전환 되었을 때 º Wai..
Reflection? - Java.lang.reflection에 있는 라이브러리 기능 - Class를 컴파일 단계 에 올리지 않고, 런타임 때 클래스를 동적으로 로딩하기 위해서 사용된다! - 코드 단으로 객체(Class)에 담겨진 이름과, 모든 메서드 이름을 알 수 있다!! - 따라서 쉬운 방식으로 메서드를 호출할 수 있다! 간단한 사용법 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public static void main(String[] args) { try { Class c = Class.forName("java.util.ArrayList"); Method[] m = c.getDeclaredMethods(); Field[] f = c.getDeclaredFields()..
huisam
천천히 올바르게