전체 글
-
SQL - DMLSQL 2022. 10. 7. 11:33
*데이터 삽입 insert into [테이블 명]([값을 넣을 컬럼 명, ...]) values ([컬럼에 넣을 값, ...]); -> 컬럼 명 생략 가능(모든 컬럼에 데이터가 들어갈 경우) -> 추천하지 않음 *데이터 수정 update [테이블 명] set [컬럼 명]=[값], ... where [조건]; *데이터 삭제 delete from [테이블 명] where [조건]; *upsert 값이 없으면 insert, 있으면 update -> 반드시 unique 키나 기본키가 걸려있어야 한다. insert into [테이블 명]([값을 넣을 컬럼 명, ...]) values ([컬럼에 넣을 값, ...]) on duplicate key update [컬럼]=[값], ...; *특정 컬럼 조회 select..
-
SQL - DDLSQL 2022. 10. 7. 11:31
*테이블 생성 create table [테이블 명] ( [컬럼 명][데이터타입][사이즈], ... [컬럼 명][데이터타입][사이즈] ); *데이터타입의 종류(자주쓰는 일부) 문자타입(검색 속도가 가장 빠르다.) - 고정형 : char(바이트 수) - 가변형 : varchar(바이트 수) text : 65,535 byte longtext : 4,294,967,295 byte 숫자타입 int, bigint, float, double boolean 날짜타입 date : 0000-00-00 datetime : 0000-00-00 00:00:00 timestamp : 0000-00-00 00:00:00 *테이블 확인 테이블 구조 확인 : desc [테이블 명]; DB 안의 테이블 확인 : show tables; ..
-
SQL - USER 관리, DCLSQL 2022. 10. 7. 11:28
*데이터베이스(DB) 데이터를 영구적으로 저장하기 위한 데이터 저장소 show databases : 데이터베이스 보기 create database [DB명] : 데이터베이스 생성 use [DB 명] : 해당 DB 사용하기 *유저 생성 create user [사용자 ID]@[이용 가능 IP] identified by [비밀번호]; *권한 부여 및 회수 특정 사용자에게 권한을 부여 및 회수할 수 있다. 부여 : grant [권한] on [데이터베이스.테이블] to [사용자 ID]; 회수 : revoke [권한] on [데이터베이스.테이블] from [사용자 ID]; *권한의 종류(아주 일부) all privileges : grant option을 제외한 모든 권한 select : 조회 권한 – 특정 명령어를..
-
Network (TCP, UDP)JAVA 2022. 10. 7. 11:00
Network - 네트워크는 computer가 서로 연결되어 있는 망을 뜻한다. 다른 목적지로 찾아가기 위해선 주소가 필요하다. 그 주소는 IP주소와 Port번호이다. 주소를 알기 쉽게 표현한 것이 Domain이다. 나 자신의 주소는 “localhost”, “127.0.0.1”, ip주소를 통해 확인한 나의 ip이다. 사설IP는 내부에서 주어진 IP로 외부 접근이 불가능하다. 사설IP는 내부의 라우터(공유기)가 할당한다. 공인IP는 외부에서 주어진 IP로 외부에서 접근이 가능하다. Java에서 자신 혹은 특정 도메인의 IP를 찾을 수 있다. -> InetAddress 클래스를 이용하여 getLocalhost() : 본인 local IP getByName() : 도메인으로 찾기 getAllByNames()..
-
JAVA NIOJAVA 2022. 10. 7. 10:27
Java NIO Java IO에 Asyncronous(비동기)와 Channel이 추가된 개념이다. Java IO 에서는 File 객체를 통해 경로, 파일 정보, 파일 다루기를 했었는데 Java NIO에서는 각각에 특화된 클래스가 있다. (경로는 Path, 파일 정보는 File System, 파일 다루기는 Files) *Path package chap11.ex10.nio; import java.nio.file.Path; import java.nio.file.Paths; public class PathExam { public static void main(String[] args) { // java nio 에서는 경로를 전문으로 담당하는 Path 클래스가 있다. Path path = Paths.get("C:..
-
JAVA IO (데이터 입출력)JAVA 2022. 10. 7. 09:41
java에서는 외부 system의 data도 다룰 수 있다. system 안으로 또는 밖으로 이동하는 data의 흐름을 stream이라고 한다. java.io package는 크게 InputStream과 OutputStream이 있다. byte 기반과 문자 기반이 있다. InputStream FileInputStream, BufferedInputStream, DataInputStream이 하위에 있다. OutputStream FileOutputStream, BufferedOutputStream, DataOutputStream이 하위에 있다. File I.O File 클래스는 java에서 파일과 폴더를 다룰 수 있는 객체이다. 폴더 만들기 : mkdir() 파일 만들기 : createNewFile() 폴더..
-
thread 2 (스레드 제어~스레드 풀)JAVA 2022. 9. 24. 20:28
Thread Control wait() : 스레드 스스로 정지 상태로 만든다. notify() : 일시 정지 중인 스레드 중 하나를 깨운다. notifyAll() : 정지된 모든 스레드를 깨운다. -> 이 때 wait()을 먼저 하게 되면 깨워줄 스레드가 없게 되므로 다른 스레드를 notify()로 깨운 상태에서 wait()을 해야한다. -> wait(), notify(), notifyAll() 은 syncronized 안에서 호출해야 한다. package chap10.ex09.wait; public class WorkObj { // 두 개의 스레드가 번갈아가며 사용해야 한다. public synchronized void work() { System.out.println(Thread.currentThre..
-
thread - 1 (스레드 생성~join)JAVA 2022. 9. 24. 20:16
Thread란? 프로세스에서 기능을 수행하는 주체 프로세스는 1개 이상의 스레드로 구성되어 있다. 프로세스와 스레드의 차이 프로세스는 메모리 공유가 되지 않지만 스레드는 메모리 공유가 된다. main thread 메인 메소드는 메인 스레드를 생성한다. 메인 스레드는 일할 work thread를 생성할 수 있다. 이를 multi thread라고 한다. thread 생성 방법 Runnable interface 구현 package chap10.ex01.runnable; public class Job implements Runnable { @Override public void run() { // 스레드가 해야할 일을 이 안에 작성한다. for(int i=0;i 인터페이스로 생성하는지 클래스로 생성하는지에 따라..