본문 바로가기

전체 글128

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.
CODO Day27_JAVA_I.O(Stream/Upload) Input & Output InputStream : 외부에서 파일을 읽어올 때 사용 Input Stream >> read() >> Output Stream > flush()* : (남은 데이터 내보내기) >> close()* : (자원 닫기) OutputStrem : 파일을 외부로 내보낼 때 사용 Reader >> read() >> Writer > flush()* : (남은 데이터 내보내기) >> close()* : (자원 닫기)* # flush()* 해주지 않으면 stream에 데이터가 남아 있어 파일이 정상적으로 실행되지 않을 수 있음 # close()* 해주지 않으면 접근할 수 있는 자원이 점점 줄어들어 서버 속도가 느려지다가 die... InputStream 사용 순서 File 객체에 매개변수로 .. 2023. 3. 10.
CODO Day26_JAVA_I.O(JAVA Input Output) JAVA I.O.(JAVA Input Output) Java에서는 System(STS) 외부의 data를 가져와서 다룰 수도 있음 Stream : system 안과 밖으로 이동하는 Data의 흐름 또는 Data가 흐르는 통로 Java.io package는 크게 InputStream 과 OutputStream이 있음 바이트 기반과 문자 기반으로 분류 JAVA I.O. Byte Base Character Base input output input output 최상위 클래스 InputStream OutputStream Reader Writer 하위 클래스 FileInputStream BufferedInputStream DataInputStream FileOutputStream BufferedOutputStre.. 2023. 3. 9.