교육 (Today I Learned)/SeSAC 70

SeSAC 30일차 / Connection Pool

SeSAC 30일차(2023-08-28) Connection Pool JDBC JDBC 프로그래밍 단계 JDBC 드라이버 로드 System.setProperty() Class.forName() 데이터베이스 연결 Java.sql.Connection Statement 생성 Java.sql.Statement Java.sql.PreparedStatement SQL 문 전송 Java.sql.Statement executeQuery() executeUpdate() 결과 받기 Java.sql.ResultSet 연결 해제 Java.sql.Connection Close() Connection Pool 커넥션 풀(Connection Pool) 웹 컨테이너가 실행되면서 DB와 미리 연결해놓은 일정량의 Connection 객..

SeSAC 29일차 / JDBC

SeSAC 29일차(2023-08-25) JDBC 이클립스 zip 파일 import 하기 File → import General → Existing Projects into Workspace Select archive file: → Browse… 선택 후 zip 파일 선택 생성 완료 JDBC 오라클 설치 정보 SID: hr 사용자 이름: SYSTEM 비밀번호: hr 오라클 연결 cmd 실행 후 sqlplus 입력 SYSTEM, hr 입력 시 접속 conn SYSTEM/hr 입력 시 연결 이클립스와 오라클 연결 // JDBC와 오라클 연결 확인 import java.sql.DriverManager; import java.sql.SQLException; public class DBconn { public s..

SeSAC 28일차 / JDBC

SeSAC 28일차(2023-08-24) JDBC 미니 프로젝트 답안 풀이 직원 관리 시스템 Project: EmpProject package: com.iyb Main-class: ManageService 직원 관리 시스템 데이터베이스 연결 Project: JDBCProject package: test.jdbc Main-class: TestJDBC 기타 C:\oraclexe\app\oracle\product\11.2.0\server\bin\snrct status start stop start (시간을 1분정도) status JDBC JDBC: Java Database Connectivity Framework Driver class load & register (DriverManager) get Conne..

SeSAC 27일차 / 정렬 알고리즘, 탐색

SeSAC 27일차(2023-08-23) 정렬 알고리즘, 탐색 기수 정렬 기수 정렬(Radix Sort) 낮은 자리 수부터 비교하는 정렬 방법 기(radix)는 특정 진수를 나타내는 숫자들 10진수의 기는 0~9이고 2진수의 기는 0~1 제한적인 범위 내에 있는 숫자에 대해서 각 자릿수 별로 정렬하는 알고리즘 기수 정렬의 장점은 빠르다. 탐욕 알고리즘 그리디 알고리즘(Greedy Algorithm) 최적화 문제를 해결하는 알고리즘 가능한 해들 중에서 가장 좋은 해를 찾는 문제 부분적인 최적 해를 찾고, 이들을 모아서 문제의 최적 해를 얻는다. 시간 복잡도: O(nlogn) 깊이 우선 탐색 깊이 우선 탐색(depth-first search, DFS) 탐색 트리에서 해가 존재할 가능성이 존재하는 한 앞으로 ..

SeSAC 26일차 / 정렬 알고리즘

SeSAC 26일차(2023-08-25) 정렬 알고리즘 삽입 정렬 삽입 정렬(Insertion Sort) 배열을 정렬된 부분(앞부분)과 정렬 안된 부분(뒷부분)으로 나누고, 정렬 안된 부분의 가장 왼쪽 원소를 정렬된 부분의 적절한 위치에 삽입하여 정렬되도록 하는 과정을 반복 이를 반복하면 정렬 안된 부분은 아무 원소도 남지 않고, 정렬된 부분에 모든 원소가 있게 된다. 시간 복잡도: O(n의 2제곱) 버블 정렬 버블 정렬(Bubble sort) 인접한 두 수를 비교하여 오름차순이나 내림차순 이웃하는 원소끼리 자리 이동으로 원소들이 이동 병합 정렬 병합 정렬(Merge Sort) 둘 이상의 부분 집합으로 나눠서 각 부분 집합을 정렬한 다음, 부분 집합들을 다시 정렬된 형태로 합치는 방식 퀵 정렬 퀵 정렬(..

SeSAC 25일차 / 스레드

SeSAC 25일차(2023-08-25) 스레드 스레드 자바에서 스레드는 프로세스 내에서 실행되는 하위 작업 단위. 스레드를 사용하면 동시에 여러 작업을 수행할 수 있으므로 시스템 성능을 향상시킬 수 있다. 스레드 만드는 방법은 Runnable 인터페이스를 구현하거나 Thread 클래스를 상속하여 스레드를 만든다. 이후 start() 메서드를 호출하여 스레드를 시작한다. Thread 클래스 Thread 클래스를 상속받아 새로운 스레드를 만들 수 있으며, run() 메서드를 오버라이딩하여 스레드가 실행할 코드를 작성 예시 코드 public class MyThread extends Thread { public void run() { // 스레드가 실행할 코드 작성 System.out.println("Hell..

SeSAC 24일차 / 상속, 배열, 컬렉션, 스레드

SeSAC 24일차(2023-08-25) 상속, 배열, 컬렉션, 스레드 MVC (Model View Controler) M (HTML) , V (CSS) C (Java Script) 상속 extends로 클래스 상속을 받고, 자식 클래스에서 메서드 구현을 따로 안했는데, 호출 시 부모 클래스의 메서드가 불러와졌다. 다형성 다형성은 상속 관계에 있는 클래스 간에 발생할 수 있는 현상 부모 클래스의 메서드를 자식 클래스에서 오버라이딩하거나, 자식 클래스에서 새로운 메서드를 추가하여 사용할 수 있다. 이렇게 하나의 부모 클래스를 상속받아 여러 자식 클래스에서 다양한 방식으로 사용할 수 있다는 개념을 다형성이라고 한다. 배열 Array type과 개수를 정해놓은 데이터들의 집합 ex) int[] i = new ..

SeSAC 23일차 / 조건문, 반복문, toString(), equals()

SeSAC 23일차(2023-08-17) 조건문, 반복문, toString(), equals() 조건문 if 문 값이 범위가 있는 수치일 때 적합 switch 문 값이 명확한 수치일 때 적합 일반적으로 if 문보다 성능이 더 좋음 조건 3개 이상이면 switch 문 쓰는게 좋다. (속도) 삼항연산자 ( 조건 ) ? A(참일 때 반환할 값) : B(거짓일 때 반환할 값); 의 형태 논리합, 논리곱 (조건) || (조건); 의 형태 앞 조건에서 true가 나올 경우 뒤 조건의 내용은 실행하지 않음 (조건) && (조건); 의 형태 앞 조건에서 false가 나올 경우 뒤 조건의 내용은 실행하지 않음 반복문 for for (int i = 0; i < b; i++) { } 의 형태 for 문에서 a.length ..

SeSAC 22일차 / 알고리즘

SeSAC 22일차(2023-08-16) 알고리즘 자바 이름 짓기 Project, class: 대문자로 시작 package: 소문자로 시작 메모리 class-stack-Heap stack stack over flow stack under flow queue new 인스턴스 생성 시 메모리 생성 instanceof 상속할 때 사용하는 연산자 Runtime Type 논리 연산 A < - B (is a) A a = new B(); if (a instanceof B) { … } 편의점에서 아이스크림 구매하는 알고리즘 짜기 (말로 과정을 7~9줄 서술하기) Project: IcecreamProject package: test.icecream Main-class: BuyIcecream 내용 아이스크림 심부름하기 출..

SeSAC 21일차 / 미니 프로젝트

SeSAC 21일차(2023-08-14) 미니 프로젝트 프로젝트 완성하기 Project: EMS(EmployeeManagementSystem) Package: ssac.emp.iyb(본인이름이니셜) Main-class: TestEMS 사용자 인터페이스: Scanner 사용 프로그램 내용 등록, 목록, 상세, 수정, 삭제 검색(필수): Map 사용 추가 class 1: Employee member field: name, sabun, phone, addr member method: getter/setter, toString(), equals() 추가 class 2: EmployeeMGR member field: db member method: insert(), delete(), update(), select..

728x90