GiantStepDEV
article thumbnail
(국비학원) 초미니 프로젝트 후기와 내 생각 (커뮤니티 게시판 구축)
📂 My Project 2023. 3. 6. 07:45

안녕하세요! 월모닝 입니다 ㅎㅎㅎ 오늘은 학원 자체 휴강인 날이라 여유있게 글을 작성할 수 있게 되었어요. 제가 지난 번에 초미니 프로젝트 진행중이라 블로그 업로드가 조금 띄엄띄엄 됐다고 했었는데요! 오늘 드디어 마무리가 되어서 후기를 남기고자 눈 뜨자마자 블로그를 켰습니다. 🤓 음 내일 발표까지 끝나야 마무리긴 하지만 오늘 딱히 할 것도 없고 해서 여유롭게 후기를 남겨보고자 합니다. 관련 자료 🔗GitHub https://github.com/chicken-tender/JDBC_OracleDB_PetCommunity.git GitHub - chicken-tender/JDBC_OracleDB_PetCommunity Contribute to chicken-tender/JDBC_OracleDB_PetCommu..

article thumbnail
자바(Java) [백준] 10813번 : 공 바꾸기
🔄 Algorithm/BaekJoon 2023. 3. 2. 20:50

문제 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. 도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다. 공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐서 공을 교환할 방법이 주어진다. 각 방법은 두 정수 i j로 이루어져 있으며, i번 바구니와 j번 바구니에 들어있는 공을 교환한다는 뜻..

article thumbnail
첫 미니 프로젝트(커뮤니티 게시판 만들기) - 진행중
🍭 Daily 2023. 3. 1. 14:16

안녕하세요. 요새 블로그가 많이 뜸했지요. 마냥 놀고 있던건 아니구요! 저번주 금요일 그러니까 2.24부터 첫 미니 프로젝트를 진행 중에 있습니다. 주제는 그 동안 배운 Java와 Oracle DB를 가지고 JDBC 기술을 통해 자유롭게 커뮤니티 게시판 만들기! 입니다. 기한이 3/6까지여서 시간이 좀 남으면 Thymeleaf까지 적용해서 웹에서 보이게 하는 것 까지가 목표입니다. 물론 추후 프로젝트를 진행할 때는 JPA를 이용해서 하겠지만 아직 그에 필요한 기술들은 배우지 않아서 이번엔 JDBC로 진행을 하는데 코드가 굉장히 길다는 단점이 있네요. ㅎㅎ 그동안은 늘 혼자 뭔가 하려고 했었는데 처음으로 협업을 진행하면서 하루하루 굉장히 많은 것을 깨닫고 있습니다. Git을 이용해서 훨씬 편하게 작업하는 ..

자바(Java) - JDBC(Oracle) : EMP 테이블을 Java와 연결하여 터미널에서 조회하기 (1)
🗄️ Backend/Java 2023. 2. 27. 21:09

Common 프로젝트 내에서 공통으로 사용할 메소드 구현 package com.kh.jdbc.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Common { final static String ORACLE_URL = "jdbc:oracle:thin:@localhost:1521:xe"; final static String ORACLE_ID = "SCOTT"; final static String ORACLE_PWD = "TIGER"; final static String ORACLE_DRV = "oracle.jdbc.driv..

article thumbnail
자바(Java) - JDBC(Oracle) : 이론(?)
🗄️ Backend/Java 2023. 2. 27. 21:05

JDBC Java 언어를 이용해 데이터베이스에 접근하기 위한 API JDBC를 이용하여 Java 언어를 이용해 데이터베이스에 접속하고 SQL문을 이용하여 데이터를 검색하거나 수정 JDBC API 이용시 DBMS 종류에 상관없이 하나의 방법으로 작업 진행 가능 JDBC 사용 객체 드라이버 로드 📌 데이터 원본에 JDBC 드라이버를 통하여 커넥션을 만드는 역할 📌 Class.forName() 메소드를 통해 생성되며 반드시 예외처리 해야함. 📌 직접 객체 생성이 불가능하고 getConnection() 메소드를 사용해야 함. Class.forName() : 사용하고자 하는 JDBC 드라이버를 지정, 해당 드라이버 내부에 있는 클래스들을 메모리에 로드 데이터베이스(D/B) 연결 특정 데이터 원본과 연결된 커넥션을..

article thumbnail
자바(Java) [백준] 10810번 : 공 넣기
🔄 Algorithm/BaekJoon 2023. 2. 26. 17:04

문제 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다. 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속되어 있어야 한다. 공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤ 10..

article thumbnail
자바(Java) [백준] 25314번 : 코딩은 체육과목 입니다
🔄 Algorithm/BaekJoon 2023. 2. 26. 16:21

문제 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 N바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?” 혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 4바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 8바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 4바이트씩 저장..

오라클(Oracle) - VIEW (가상 테이블)
🗄️ Backend/Oracle 2023. 2. 26. 09:00

뷰는 하나 이상의 테이블을 조회하는 SELECT문을 저장한 객체 자주 쓰이는 SELECT 문을 VIEW 형태로 저장한 것 VIEW는 복잡한 쿼리를 단순화 할 수 있음 사용자에게 필요한 정보만 접근하도록 접근을 제한 할 수 있음 VIEW 생성 CREATE VIEW VW_EMP20 AS (SELECT ENAME, JOB, SAL FROM EMP WHERE JOB = 'CLERK'); SELECT * FROM VW_EMP20; 단순 VIEW 생성 단순 VIEW는 단일 테이블에 필요한 컬럼을 나열한 것 (GROUP BY, UNION 사용X) 단순 VIEW는 SELECT, INSERT, UPDATE, DELETE를 자유롭게 사용 가능 CREATE VIEW V_EMP AS (SELECT EMPNO, ENAME, J..

article thumbnail
오라클(Oracle) - 제약 조건
🗄️ Backend/Oracle 2023. 2. 23. 20:26

제약 조건 테이블에 저장할 데이터를 제약하는 특수한 규칙을 의미 조건에 맞지 않는 데이터는 저장 불가 NOT NULL 빈 값을 허용하지 않음 열 데이터의 중복 여부는 상관없음 ⭐ NULL 값을 허용하지 않기 때문에 반드시 값이 입력되야 함 CREATE TABLE TABLE_NOTNULL ( LOGIN_IDVARCHAR2(20) NOT NULL, LOGIN_PWVARCHAR2(20) NOT NULL, TELVARCHAR2(20) ); UNIQUE 중복되지 않는 값 열에 저장할 데이터의 중복을 허용하지 않음 CREATE TABLE TABLE_UNIQUE ( LOGIN_IDVARCHAR2(20) UNIQUE, LOGIN_PWVARCHAR2(20) NOT NULL, TEL VARCHAR2(20) ); PRIMA..

article thumbnail
오라클(Oracle) - DDL
🗄️ Backend/Oracle 2023. 2. 23. 20:08

DDL? Data Definition Language의 줄임말로 테이블의 생성, 변경, 삭제 관련 기능을 수행 합니다. DDL 명령어는 따로 COMMIT 하지 않아도 즉시 반영됩니다. TABLE? 데이터베이스의 기본 데이터 저장 단위로 레코드(행)과 컬럼(열)로 구성되어 있습니다. 테이블 간의 관계를 표현할 때에는 외래 키(Foreign Key)를 사용합니다. 🚨 참고 🚨 1. JPA를 하면 DDL 커맨드 안날려도 됨. 2. JAVA로 비유하면 DDL은 클래스를 만드는 것과 유사함. - TABLE : class - COLUMN : Instance Field 3. 테이블, 열 이름 생성 규칙은 JAVA와 동일하게 하는 것 권장 🐸 데이터 타입 1. CHAR : 고정길이 예) 주민등록번호, 핸드폰 번호 등 ..