분류 전체보기
-
레드블랙트리(Red-Black-Tree)란?Computer Science/Data_Structure 2020. 6. 20. 02:45
https://devlog-wjdrbs96.tistory.com/42?category=824010 이진 탐색 트리(binary search tree) 란? 이진 탐색 트리(binary search tree)는 이진 트리 기반의 탐색을 위한 자료 구조이다. 탐색은 내가 생각하기에도 코딩테스트와 같은 곳에서도 자주 출제가 되며 또한 컴퓨터 프로그램에서도 많이 �� devlog-wjdrbs96.tistory.com 기본적으로 레드블랙트리를 알기 위해서는 이진탐색트리가 무엇인지 알고 있어야 한다. 따라서 잘 모른다면 위의 글을 먼저 읽어보는 것을 추천하고, 안다는 가정하에 글을 써보려 한다. 이진 탐색 트리의 분석 위와 같은 이진탐색트리 연산은 트리의 높이가 log2n이기 때문에 평균적인 경우의 시간복잡도는 O..
-
마크다운(MarkDown) 사용법 총정리Github/Github 2020. 6. 17. 23:13
마크다운 이라는 용어는 한번쯤 들어봤을 것이다. 파일 확장자는 .md로 된 파일이다. Github를 이용하면서 README.md 를 많이 봤을 것이다. 이 파일이 마크다운으로 작성된 파일이다. 마크다운은 마크업언어로 간단한 사용법을 통해서 빠르고 읽고 쓰기 편한 문서를 만들 수 있다. 이제 마크다운 사용법을 알아보자. 1. 제목(Header) html과 같이 부터 까지 글씨 크기를 조정해서 사용할 수 있다. 2. 글자 강조(Emphasis) 2-1) Bold 굵은 글자를 사용하고 싶다면, 강조할 단어를 **로 감싸면 된다. 2-2) Italic 옆으로 기운 이탤릭체를 사용하고 싶다면, 강조할 단어를 *로 감싸면 된다. 위의 둘다 * 사이에 공백이 존재하면 안된다는 점을 유의하자! 2-3) 인용구 인용구를..
-
[Java] JSP(Java Server Page)란 무엇인가?DBProgramming/JSP 2020. 5. 26. 14:49
1. JSP(Java Server Page)란? JSP는 Java Server Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹어플리케이션 도구이다. JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. JSP 동작 과정 브라우저가 웹 서버에게 JSP에 대한 요청 정보를 전달한다. 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 서블릿 코드로 변환됨(java파일 생성) 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다(class파일 생성) 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다. 실제로 ..
-
[JavaScript] 기초 KAKAO Open API 활용하기Language/JavaScript 2020. 4. 11. 13:26
간단한 카카오 책 검색 기능을 구현하는 예제를 해보려 한다. 간단하게 Front-End와 Back-End가 무엇인지는 안다고 가정하고 설명하려 한다. 처음에 Front-End에서 API 서버 주소로 원하는 정보를 요청(Request)하면 서버에서는 DB에 데이터를 담아 다시 Front-End에다 응답(Response)을 해준다. 하지만 요청과 응답을 하기 위해서는 정해진 형식이 필요하다. 그것을 API 가이드 라고 한다. 위와 같이 Request에서는 주소에는 API의 서버 주소를 적어야 하고, 나머지도 상황에 맞게 적어서 요청하면 된다. 응답에는 형식이 JSON이라는 형태로 전달이 된다. (JSON = JavaScript Object Notation의 약자이다) 1 2 3 4 5 6 7 8 9 { "이..
-
[Java] throws와 throw의 차이는?Language/Java 2020. 4. 10. 14:03
throw와 throws의 차이점 throw : 에러를 고의로 발생시킬 때 사용합니다. throws : 자신을 호출한 상위 메소드로 에러를 던지는 역할을 합니다. throw란? 예제 코드를 먼저 보겠습니다. public class File { public File(String pathname) { if (pathname == null) { throw new NullPointerException(); } this.path = fs.normalize(pathname); this.prefixLength = fs.prefixLength(this.path); } } File 클래스의 생성자를 보면 위와 같이 경로가 null 일 때 throw를 통해서 강제로 에러를 발생하는 것을 볼 수 있습니다. 위와 같이 thr..
-
[Java] 체크예외와 언체크 예외(Checked, Unchecked Exception)란?Language/Java 2020. 4. 10. 11:18
에러(error)와 예외(exception)의 차이는 알 것이다. 에러의 예시는 메모리 부족(OutofMemoryError)이나 스택오버플로우(StackOverflowError)처럼 복구하기 힘든 것이고, 예외는 상대적으로 덜 심각해 처리할 수 있는 것이다. 자바는 예외를 클래스로 만들어서 관리를 하고 전체 계층 구성도는 위와 같다. 여기서 잘 봐야 할 점은 Exception 클래스와 RuntimeException 클래스를 주의 깊게 보자. RuntimeException에 대해서 먼저 말하자면 말 그대로 프로그래머의 실수에 의해서 Runtime시에 예외가 발생할 수 있는 것들이다. (예를들어, 범위 밖의 인덱스를 참조한다던지, 분모를 0으로 나눈다던지 등이 있다) Checked와 Unchecked를 말하..
-
[Java] JDBC를 사용한 데이터베이스 연동(Mysql)DBProgramming/JDBC 2020. 4. 9. 23:57
1. JDBC API Java DataBase Connectivity의 약자로 JDBC는 자바 언어로 데이터베이스 프로그래밍을 하기 위한 라이브러리이다. JDBC는 DBMS에 종속되지 않는 관련 API를 제공한다. JDBC API는 JDK에서 제공하며 JDBC 프로그래밍을 위해서는 JDBC드라이버가 필요하다! JDBC 드라이버는 각 DBMS 회사에서 제공하는 라이브러리 압축파일이다. 우리는 MySQL 데이터베이스관리시스템을 사용하지만 오라클을 사용한다면 오라클용 JDBC 드라이버가 필요하다. 2. JDBC API 클래스 JDBC는 다양한 클래스와 인터페이스로 구성된 패키지 java.sql와 javax.sql로 구성되어 있다. 데이터베이스를 연결하여 테이블 형태의 자료를 참조 SQL 문을 질의 SQL 문의..
-
[Java] HashMap을 정렬하는 방법Language/Java 2020. 4. 8. 23:37
Map의 구조처럼 Key, Value의 형태를 정렬을 할 때는 Comparable or Comparator 인터페이스를 구현한 후에 해당 인터페이스에 맞는 compare or compareTo 메소드를 오버라이딩 해서 정렬의 기준을 재정의 한 후에 하면 된다는 것은 알았지만 자세히 사용법을 정리해보려 한다. Key를 기준으로 정렬을 하고 싶다는 그냥 TreeMap을 이용하면 된다. 하지만 Value를 기준으로 정렬하고 싶다면 어떻게 해야할까? 1. Value를 기준으로 Map을 정렬하기 Value를 기준으로 정렬하고 싶다면 위에서 말한 것처럼 Comparator 인터페이스를 implements 한 후에 compare 메소드를 오버라이딩 하여야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 ..