초록꼬마의 devlog
article thumbnail
[KH정보교육원] 35일차_Properties, 조별 실습
back-end dev/JDBC 2021. 11. 30. 22:12

2021.11.29(월) 🌿 Properties를 이용한 JDBC 기존 방식 = JDBC Driver 구문, 내가 접속할 DB의 url 정보, 계정명, 비밀번호를 Java source codes 내에 명시적으로 작성함 = 정적/hard coding 방식 → 나쁜 건 아님, 일 바쁘면/마감시한 촉박하면 이렇게 함, 사고날 일 없고, 편함 문제점 = DBMS가 변경되었을 경우 ou 접속할 url, 계정명, 비밀번호가 변경되었을 경우, Java source codes 수정해야 함 -> 수정한 코드 내용을 반영시키고자 한다면 프로그램을 재구동해야/껐다 켜야 함 -> 사용자 입장에서 프로그램 사용 중 비정상적으로 종료되었다가 다시 구동될 수 있음 -> 유지/보수 불편 해결 방식 = DB 관련된 정보들을 별도로 관..

상속 - 기본클래스, 파생클래스
computer science/C++ 2021. 11. 26. 23:47

KNOU 기말시험 대비 튜터님의 온라인 특강을 들었다. 상속 챕터의 본 강의는 아직 못 보고 특강을 먼저 들었는데, Java와 비슷하면서도 다른 점들이 있어 어려우면서도 재미있었다. 무엇보다도 어떤 포인터가 어떤 객체를 가리키느냐에 따라 구동 방식이 달라진다.

article thumbnail
[KH정보교육원] 34일차_Template, Service 실습 마무리
back-end dev/JDBC 2021. 11. 26. 23:43

2021.11.26(금) 회원 관리 프로그램 template, service 실습 마무리(insert문 외 직접 만들어보기 + 확인) homework: JDBC 코드 완벽히 이해하기(+여러 번 쓰기)

article thumbnail
[KH정보교육원] 33일차_PreparedStatement 실습 계속, Template, Service
back-end dev/JDBC 2021. 11. 25. 14:25

2021.11.25(목) 💻 PreparedStatement 실습 MEMBER 관리 프로그램 계속/마무리(수업 시간에도 직접 해보고, 강사님과 확인) 🌿 Template 클래스 JDBC 과정/수업 중 반복적으로 쓰이는 구문들, 특히 DAO 클래스 메서드들의 공통적인 부분을 각각의 메소드로 정의해둘 곳 재사용할 목적으로 공통 템플릿(template) 작업 진행 이 클래스에서의 모든 메소드들은 다 static 메소드로 만듦 = 싱글톤(Singleton) 패턴 = 프로그램 실행과 동시에 메모리 영역에 단 1번만 올라간/올려놓은 것을 재사용한 개념 객체 사용 시 새로운 객체를 계속 생성해서 사용(x) 객체 하나만으로/하나의 객체만 생성해 어디에서든지 가져다 쓸 수 있는 개념; 공유 + 재사용(o) e.g. Ma..

article thumbnail
[KH정보교육원] 32일차_Statement 실습 계속, PreparedStatement
back-end dev/JDBC 2021. 11. 24. 12:25

2021.11.24(수) 💻 Statement 실습 (MEMBER 관리 프로그램) 계속/마무리 어떤 쿼리문을 처리하려고 하는지 먼저 정확히 알아야 한다! 🌿 PreparedStatement 🌱 Statement vs PreparedStatement 차이점 Statement는 완성된 SQL문 vs PreparedStatement는 미완성된 SQL문 객체 생성 시 stmt = conn.createStatement(); pstmt = conn.prepareStatement(sql); // 객체 생성 시 미완성/구멍뚫은 상태의 SQL문(틀) 먼저 전달 Statement로 SQL문 실행 시 결과 = stmt.executeXXXX(sql); PreparedStatement로 SQL문 실행 시 ?로 빈 공간을 실제 ..

article thumbnail
[KH정보교육원] 31일차_JDBC MVC 및 Statement 실습
back-end dev/JDBC 2021. 11. 24. 11:43

2021.11.23(화) 🌿 JDBC 작업 흐름/처리 순서 (Statement 객체 사용 시) 0. 필요한 변수들 먼저 세팅 1. JDBC Driver 등록: 해당 DBMS(및 버전)가 제공하는 클래스 등록 2. Connection 생성: 접속하고자 하는 DB 정보를 입력해서 DB에 접속하면서 생성 3. Statement 생성: Connection 객체를 이용해서 생성 4. SQL문 전달하면서 실행: Statement 객체 이용해서 SQL문 실행 → SELECT문일 경우, executeQuery() 메소드 이용 vs DML문일 경우, executeUpdate() 메소드 이용 5. 결과 받기: SELECT문일 경우, 조회된 데이터가 담겨있는 ResultSet 객체로 받음(→ 단계6a) vs DML문일 경우..

article thumbnail
[KH정보교육원] 30일차_JDBC 소개
back-end dev/JDBC 2021. 11. 22. 23:09

2021.11.22(월) 🌿 JDBC 소개 Java에서 데이터베이스에 접근할 수 있게 해주는 Programming API 🌱 환경 설정 java.sql 패키지 OJDBC 다운로드 및 Java Build Path에 External JAR 추가(=Eclipse 라이브러리로 등록) character set 설정: 문자가 제대로 출력되도록 Eclipse 작업 파일의 인코딩 방식/문자셋을 UTF-8로 일치시킴 🌱 JDBC 사용 객체 1. DriverManager 데이터 원본에 JDBC 드라이버를 통해 커넥션을 만드는 역할 DriverManager에 DBMS Driver 등록 = Class.forName() 메서드를 통해 생성됨 → 반드시 예외(ClassNotFoundException) 처리 필요 e.g. Clas..

article thumbnail
[KH정보교육원] 29일차_HashSet, HashMap, Properties
back-end dev/Java 2021. 11. 19. 09:53

2021.11.19(금) 🌿 Set 담고자 하는 값(value)만 저장 + index 개념 없는 바, 저장하고 꺼낼 때 순서 유지x + 새로 넣는 값과 기존 값 비교해서, 중복 값 허용x 똑같은 요소는 넣을 수 없는 + 순서 없는 커다란 바구니 null도 중복을 허용하지 않음 → 1개의 null만 저장됨 원하는 순서대로 뽑아내기 어려움 특징이 조금 다르지만, 사용하는 방법은 list와 똑같음 사용 예시: 중복 체크해야 할 때 e.g. 웹사이트 방문자 수, 회원 가입 시 같은 사람은 중복되면 안 될 때 등 🌱 HashSet HashSet의 특징: 값이 추가될 때마다 equals() 메소드와 hashcode()로 비교 후, 둘 다 결과가 true일 경우 동일 객체로 판단 - equals(): 현재 객체의 주..

article thumbnail
[KH정보교육원] 28일차_(Array)List
back-end dev/Java 2021. 11. 19. 09:12

2021.11.18(목) 🌿 Collection Java = 클래스 기반 언어 -> Java에 있는 모든 내용(제공되는 것 + 내가 만드는 것)은 반드시 어떤 클래스 안에 들어가 있음 컬렉션(collection): [사전적 의미] 모음, 수집 -> [Java] 자료구조가 내장되어있는 클래스, Java에서 제공하는 자료구조를 담당하는 프레임워크 → 데이터가 새롭게 추가/삭제/수정되는 기능(알고리즘)들이 이미 정의되어있는 tool 자료구조: 데이터를 효율적으로 다룰 때(자료/데이터를 다루다 = 데이터 조회, 정렬, 추가, 수정, 삭제) 필요한 개념 -> 데이터 관리가 수월해짐 frame(틀)work(작업): 효율적인 기능들이 이미 정의되어 있는 틀/tool 다량의 데이터를 관리하고자 할 때 지금까지는 배열로..

article thumbnail
[KH정보교육원] 27일차_Wrapper클래스, Input/Output
back-end dev/Java 2021. 11. 17. 14:47

2021.11.17(수) 🌿 Wrapper 클래스 기본자료형(boolean, char, byte, short, int, long, float, double)을 객체로 포장해줌 기본자료형을 객체로 취급해야 하는 경우 메소드 호출 시 = 기본자료형에 대해 메소드를 사용하고 싶을 때 e.g. equals(), compareTo(), 메소드의 매개변수로 기본자료형이 아닌 객체 타입만 요구될 때 다형성을 적용시키고 싶을 때 String 자료형을 기본자료형으로 parsing할 때 ← Java에서 parser는 메소드로 구현되어 있음 표현법: 해당Wrapper클래스이름.parse기본자료형XXX(변환할문자열); 기본 자료형 → String 변환할 때: String.valueOf(변환할기본자료형값) → 반환형 = Str..

article thumbnail
[KH정보교육원] 26일차_String클래스 실습
back-end dev/Java 2021. 11. 16. 22:12

2021.11.16(화) 🌱 String클래스 실습 문제 영어 알파벳으로만 이루어진 문자열(띄어쓰기 포함)을 입력받은 뒤, 각 단어의 첫 글자만 대문자로 변환하는 프로그램을 만드시오. Run 클래스 public class ToUpperCaseRun { public static void main(String[] args) { ToUpperCaseView tucv = new ToUpperCaseView(); } } View 클래스 public class ToUpperCaseView { private ToUpperCaseController tucc = new ToUpperCaseController(); private String userStr = ""; private String upperStr = ""; p..

article thumbnail
[KH정보교육원] 26일차_평가(DB구현, SQL활용)
back-end dev/database 2021. 11. 16. 22:04

2021.11.16(화) 과목1: 데이터베이스 구현 과목2: SQL 활용 서술형 - 테이블 - 데이터베이스 관리자 계정 - connect role - 데이터 딕셔너리 - 집합연산자 - 제약조건 - 트랜잭션 및 TCL 문제 해결 시나리오 - 테이블 생성 시 알맞은 자료형 지정 - 제약조건(not null, foreign key 등) 활용 - 테이블 행 추가 - DCL 활용 📗 소감 - 개인적으로 범위를 다 소화하지 못하고 시험을 봐서 아쉬웠다 - 다음 과목은 매일 복습과 주말 공부 더 열심히 해서 + 수업 내용 이외 실습도 개인적으로 더 하면서 하루하루를 보내야겠다. 파이팅! 📗 homework 1. Java API public class DoubleArithmetic { public static void..

article thumbnail
[KH정보교육원] 25일차_API, Math클래스, String클래스
back-end dev/Java 2021. 11. 15. 23:03

2021.11.15(월) 🌿 API Application Programming Interface 프로그램/applications를 프로그래밍하기 위한 인터페이스 언어적 측면에서 제공 + 사용자는 세부(구성)내용 몰라도 됨 API의 메소드는 오버로딩이 많이 되어있음 + 사용 가능한 메소드 종류, 사용법 등 잘 모르겠으면 API 문서를 먼저 찾아보기 🌿 java.lang 패키지 🌱 Object 클래스 모든 클래스의 최상위 = 모든 클래스는 Object 클래스를 상속받음 모든 클래스는 Object 타입으로 형 변환 가능 🌱 Math 클래스 모든 필드와 메소드(의 접근제한자)가 static으로 되어있음 → static 메모리 = 프로그램 시작~끝 사용 가능, 객체 생성 필요없이 사용 가능 → 굳이 생성자 필요없..

article thumbnail
[KH정보교육원] 24일차_SEQUENCE, DBMS 정리
back-end dev/database 2021. 11. 13. 00:25

2021.11.12(금) 🌿 SEQUENCE 자동으로 번호를 발생시켜주는 역할을 하는 객체 정수값을 자동으로 순차적으로 생성해줌 채번 시 사용 → 편리 e.g. 회원 번호, 사번, 게시글 번호 등 생성 구문 CREATE SEQUENCE 시퀀스명 START WITH 시작숫자 -- 생략 가능, 처음 발생시킬 시작값 지정 INCREMENT BY 증가값 -- 생략 가능, 몇 씩 증가시킬지 결정; DEFAULT = 1 MAXVALUE -- 생략 가능, 최대값 지정; DEFAULT = 9,999,999,999,999,999,999,999,999,999 MINVALUE -- 생략 가능, 최소값 지정; DEFAULT = 1 CYCLE/NOCYCLE -- 생략 가능, 값 순환(MAX 넘어가면 MIN으로 돌아갈지) 여부;..

article thumbnail
[KH정보교육원] 23일차_DCL, TCL, VIEW
back-end dev/database 2021. 11. 11. 10:11

2021.11.11(목) 🌿 DCL DATA CONTROL LANGUAGE, 데이터 제어 GRANT, REVOKE 계정에게 객체 접근 권한, 시스템 권한 부여(GRANT)하거나 회수(REVOKE)하는 언어 작업 흐름 예시: Local Documents > informatique > database > 20211111 폴더의 "Data Control Language_관리자 계정, sample 계정.pdf" 파일 참조 🌱 GRANT 권한 부여 표현법: GRANT 권한1, 권한2, ... TO 계정명; 시스템 권한: 특정 DB에 접근하는 권한 + 객체 생성할 수 있는 권한 CREATE SESSION: 계정에 접속할 수 있는 권한 CREATE TABLE: 테이블을 생성할 수 있는 권한 CREA..