。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

CS 36

URL / URI

URL ( Uniform Resource Locator ) - 통합 자원 지시자 Resource의 정확한 위치 정보(파일의 위치) 구조 scheme host(domain) :port /path ?query #fragment https:// timi-d.tistory :3000 /manage/newpost ?type=post&page=5 #url차이 scheme host(domain) :port /path ?query #fragment 통신 (방식) 프로토콜 결정 웹페이지, 이미지 등의 파일이 위치한 웹 서버, 도메인 또는 IP 웹서버에 접속하기 위한 경로 루트 디렉토리부터 웹페이지 파일이 위치하기까지 경로 key=value 형식의 추가질문 세부 부분 지정 URN ( Uniform Resouce Name)..

CS 2024.01.26

[SQL] DDL, DML, DCL, TCL

SQL은 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계한 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. 스키마: 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것. 문법 DDL(Data Definition Language, 데이터 정의어) DDL ( Data Definition Language)은 데이터베이스 스키마를 정의하는 일련의 SQL 명령. 데이터베이스 스키마에 대한 설명을 다루고 데이터베이스 개체의 구조를 만들고 수정하는 데 사용. CREATE : 새로운 테이블 생성 ALTER : 기존 테이블 구조 변경 DROP : 기존 테이블 삭제 ..

CS 2024.01.25

Exception 예외

1. 일반 예외 : 컴파일 체크 예외, Checked Exception 자바 소스를 컴파일하는 과정에서 예외 처리 코드가 필요한지 검사하기 때문이다. 만약 예외처리 코드가 없다면 컴파일 오류가 발생하게 된다. 따라서 반드시 try-catch로 감싸거나 throws로 던져서 처리해야함. [예외처리] // try - catch public static void file1() { try { FileWriter file = new FileWriter("data.txt"); file.write("Hello World"); file.close(); } catch(IOException e) { e.printStackTrace(); } } --------------------------------------------..

CS 2024.01.23

JRE, JDK 차이

JRE(Java Runtime Environment) 자바 실행 환경(Java Runtime Environment): 자바로 만들어진 프로그램을 실행시키는데 필요한 라이브러리들과 각종 API, 그리고 자바 가상 머신 (JVM)이 포함. 자바로 개발은 안되고 실행만 된다. JRE는 컴파일러나 디버거 등의 도구는 포함하지 않는다 JDK(Java Development Kit) 자바 개발키트(Java Development Kit): 이름 그대로 개발자들이 자바로 개발하는 데 사용. JDK안에는 개발 시 필요한 라이브러리들과 javac, javadoc 등의 개발 도구들을 포함되어 있고 실행도 시켜줘야 하기 때문에 JRE도 함께 포함되어 있다. => Java로 프로그램을 직접 개발하려면 JDK가 필요하고 Java로..

CS 2024.01.17

자바 면접 예상

준비했던 것들. 진짜 물어볼까? 했는데 정말 물어봤다. 객체 지향 프로그래밍의 특징은 무엇인가요? => 객체 지향 프로그래밍은 객체 중심의 프로그래밍으로 상속, 캡슐화, 추상화, 다형성이라는 네 가지의 특징이 있습니다. 상속은 기존 클래스를 기반으로 새로운 클래스를 정의하는 것을 의미합니다. 캡슐화는 객체 내부에 직접 접근하지 않고 공개된 인터페이스를 통해서 객체에 접근해 조작하도록 하는 것입니다. 추상화는 객체의 공통적인 특성을 추출하는 것으로, 변수 또는 메서드를 하나로 묶어 단순화하는 것입니다. 마지막으로 다형성은 동일한 인터페이스에 대해 다른 기능을 제공하는 것을 의미합니다. 오버라이딩과 오버로딩의 차이점 오버라이딩은 상속받은 부모 클래스의 메서드를 재정의 하는 것으로 자식 클래스에서 부모클래스에..

CS 2024.01.05

삽입 정렬

비교 기반 정렬 - 배열을 앞에서부터 순회하면서 정렬된 부분의 적절한 위치에 값을 삽입하는 방식 오름차순 정렬할 때: 인덱스 i에 있는 a를 정렬할 차례일 때 인덱스 0부터 i-1까지는 이미 정렬된 상태이며, 이때 배열의 정렬된 부분에서 a보다 작거나 같은 수와 a보다 큰 수 사이에 a를 삽입한다. 정렬된 부분 a ... a보다 작거나 같은 수 a a보다 큰 수 a ... 전체 배열을 순회하며 각 순회에서 인덱스 i 요소를 적절한 위치에 삽입하기 위해 최대 n-1번 탐색 시간 복잡도 : O(n²)

CS 2023.12.29

선택 정렬

배열을 순회하면서 배열의 앞에서부터 차례대로 각 인덱스에 들어갈 값을 선택해 위치시킨다. 작동 방식 인덱스 i에 들어갈 값을 선택하는 경우에 인덱스 i-1까지는 정렬이 완료된 상태 인덱스 i 부터 마지막 인덱스까지의 요소 중 최솟값을 선택 선택한 최솟값과 인덱스 i에 담긴 값의 위치를 교환 이 방식으로 배열을 순회하며 마지막 인덱스까지 정렬을 순회 인덱스 i부터 최솟값 탐색 정렬된 부분 a ... 최솟값 ... 인덱스 i 정렬된 부분 최솟값 ... a ... 시간 복잡도 : O(n²) 수행 시간은 느린 편이지만 별도의 메모리 공간이 필요하지 않고 구현도 비교적 간단한 편

CS 2023.12.27

알고리즘 - 최소 신장 트리, 최단 거리 알고리즘

최소 신장 트리(MST, Minimum Spanning Tree) 가중치가 있는 그래프에서 간선의 가중치 총합이 가장 작은 신장 트리 *신장 트리: 그래프의 모든 정점을 포함하는 트리 ① 프림 알고리즘 그리디 알고리즘으로 임의의 정점을 시작점으로 트리를 확장하면서 최소 신장 트리를 생성하는 방식 방문 가능한 정점 중 비용이 적게 드는 정점을 선택해 트리 확장 ② 크루스칼 알고리즘 여러 트리를 합쳐 하나의 최소 신장 트리를 생성하는 방식 간선을 가중치에 따라 정렬한 . 뒤낮은 가중치를 갖는 간선을 선택하며 여러 트리를 하나로 합쳐 나감 최단거리 알고리즘 그래프의 특정 정점에서 다른 정점까지의 최단 거리를 구하는 알고리즘 다익스트라 알고리즘 간선의 가중치가 음수가 아닌 경우 최단 거리를 구하는 알고리즘 방문..

CS 2023.12.25