본문 바로가기

코딩도전기85

CODO Day33_DB(Constraint/Relation/Sub Query) CONSTRAINT(제약조건) 기본키 제약조건(PK - Primary Key) 컬럼에 데이터를 넣을 때 특정조건을 만족시켜야 하는 경우 사용 no : 중복 X / Null X(PRIMARY KEY) name : 중복 O / Null X 테이블 종속적(빌려줄 수 없음, 테이블이 사라지면 함께 사라짐, 테이블에 1개만 가능) ex) 신체 하나 이상의 컬럼으로 구성됨(최대 16개) 생성방법 테이블 생성시 함께 생성(많이 사용)* create table pk_test( first_col int(3) primary key, second_col varchar(4) ); desc pk_test; insert into pk_test (first_col)values(1); -- Error : Field 'first_co.. 2023. 3. 21.
CODO Day32_DB(Table/Data/Commit/Transaction) Table 테이블은 특정 데이터베이스 안에 존재 데이터 베이스에서 테이블은 여러 데이터의 집합체 JAVA의 Class와 비슷함(객체로 봄) show databases; -- 현재 존재하는 데이터베이스 create database mydb; -- mydb라는 데이터베이스 생성 use mydb; -- mydb라는 데이터베이스를 사용 show tables; -- 현재 데이터베이스 내 테이블 목록 보기 테이블 생성 CREATE TABLE [테이블 명]( [컬럼명] [데이터 타입] (사이즈), [컬럼명] [데이터 타입] (사이즈) ); 데이터타입 종류(자주 쓰는 일부) 문자타입 고정형 : char(바이트 수) 가변형 : varchar(바이트 수) text : 65,535 byte longtext : 4,294,9.. 2023. 3. 20.
CODO Day31_DB(유저생성/권한설정/유저삭제) Data Base 데이터를 영구적으로 저장할 수 있는 저장소 서로 다른 시스템 간에 데이터를 공유 할 수 있음 # DBMS(Data Base Management System) : Data Base를 관리하는 시스템 # Mysql or maria db는 3306 포트 사용 DDL(Data Define Language) 테이블 생성, 테이블 내용 변경, 테이블 삭제 CREATE, ALTER, DROP DML(Data Manipulation Language) 데이터 추가, 삭제, 수정 INSERT, DELETE, UPDATE DCL(Data Control Language) 데이터 관리 COMMIT, ROLLBACK, GRANT, REVOKE 와일드카드 문자 % 해당 위치에 들어오는 모든 문자열 허용(길이제한x.. 2023. 3. 17.
CODO Day31_JAVA(Network-Sender&Receiver) Sender & Receiver Server와 Client만 존재할 경우 요청&응답이 1회성으로 끝남 계속해서 요청과 응답을 받기위해 Sender와 Receiver 사용 Server 와 Client 1:1 Chat ChatServer package chap02.ex06; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class ChatServer { public sta.. 2023. 3. 17.
CODO Day30_JAVA(Network) JAVA Network Network는 서로 다른 computer끼리 연결되어있는 망을 의미 Computer가 사물(Thing)로 변화하면서 IOT(Internet Of Things)가 됨 / ex) 인터넷 냉장고 등 client는 server를 찾아가 특정한 목적을 이루기위해 request를 하고 response를 받음 서로 다른 computer끼리 연결하기 위해서는 주소가 필요함 IP Port Domain 211.147.68.35 :8080 www.java.com PC 주소 web에서 연결할 주소 찾아오기 쉽도록 지어준 이름 IP 주소 얻기 java로 IP 주소 가져오기 local IP 얻기 InetAddress ia = new InetAddress.getLocalhost( ); domain으로 IP.. 2023. 3. 16.
CODO Day29_JAVA(Thread 제어) Thread 제어 Thread는 Round Robin 방식을 사용하여 빨리 처리한 Thread가 다음 일을 받는 방식 먼저 시작했다고 먼저 끝나지 않기 때문에 Thread를 여러개 실행하다 보면 순서가 제멋대로임 Thread는 여러일을 동시에 주기적으로 처리해 줄 수 있으나 순서를 제어하기 힘 Synchronized(동기화) Thread는 memory를 공유하기 때문에 객체 간의 데이터 간섭이 일어남 한 Thread가 사용하고 있 데이터를 다른 Thread가 사용하여 값이 바뀔 수도 있음 그래서 한 Thread의 작업이 다 끝나기 전에는 아무도 접근하지 못하게 하는 것이 동기화 예) Vector, HashTable Synchronized 방법 Synchronized method : 오직 하나의 스레드만 .. 2023. 3. 15.
CODO Day29_JAVA(Multi Thread) Multi Thread Thread는 어떤 program을 실행하게 해주는 원동력 대표적으로 main(String[] args) 는 thread를 동작하게 해주는 method(없으면 실행X) Process와 Thread의 관계 Process는 1개 이상의 Thread로 구성되어 있음 가장 대표적인 차이는 memory Share 여부 Process 간에는 memory Share가 되지 않으나 Thread 간에는 가능 Process가 하나의 웹 브라우저라고 가정하면 Thread는 브라우저 안에 열려있는 탭으로 볼 수 있음 웹 브라우저는 하나의 process로 동작하지만, 각 탭은 각각의 thread로 동작하기 때문 각 탭에서는 동시에 여러 작업이 이루어지지만 하나의 브라우저 창에서 같은 자원을 공유함 Mul.. 2023. 3. 14.
CODO Day29_JAVA_NIO(New Input / Output) Java NIO New Input / Output 기존 IO에 Asynchronous와 Channel이라는 개념을 추가 IO NIO I/O Stream Channel Buffer Non-buffer Buffer Asynchronous X(동기방식) O(비동기방식) Blocking(Asynchronous와 비슷함) Blocking Blocking/non-blocking # 동기방식 : 여러개의 동작을 실행시켰을 경우 첫번째 동작이 끝나야 다음 동작이 차례대로 실행되는 것 # 비동기방식 : 순서와 상관없이 여러 동작을 한번에 실행시키는 것 Input / Output Stream을 각각 만들지 않고 하나의 Channel을 활용하거나 Files클래스의 method로 간단히 처리 파일 경로, 정보, 각종 처리 등.. 2023. 3. 14.
CODO Day28_JAVA_I.O(SubStream) 보조 스트림(최상위 클래스(주 스트림)의 하위 클래스) 주 스트림과 연결되어 추가기능을 제공해주는 스트림 사용하고 싶은 추가기능과 관련된 보조 스트림을 추가 보조 스트림은 여러개를 한번에 사용할 수 있음(보통 1~2개 정도) Base 주스트림 서브스트림 Byte Base InputStream FileInputStream BufferInputStream DataInputStream ObjectInputStream OutputStream FileInputStream BufferoutputStream DataoutputStream ObjectoutputStream Character Base Reader FileReader BufferReader DataReader Writer FileWriter BufferW.. 2023. 3. 13.