이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 데이터 베이스 구성 Account Table Boards Users 데이터 저장 데이터 쓰기(INSERT문) User 테이블 users 테이블에 새로운 사용자 정보를 저장하는 INSERT 문은 아래와 같다. INSERT INTO users (userid, username, userpassword, userage, useremail) VALUES ('winter', '한겨울', '12345', '25', 'winter@mycompany.com') 값을 ?로 대체한 매개변수화된 INSERT 문으로 변경하면 아래와 같다. INSERT INTO users (userid, username, u..
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. JDBC 자바는 데이터베이스와 연결해서 데이터 입출력 작업을 할 수 있도록 JDBC(Java Database Connectivity) 라이브러리 (java.sql 패키지)를 제공한다. JDBC는 데이터베이스 관리시스템(DBMS)의 종류와 상관없이 동일하게 사용할 수 있는 클래스와 인터페이스로 구성되어 있다. JDBC는 인터페이스다. 즉 구현 객체가 있어야 사용할 수 있다. 구현 객체는 JDBC Driver인데, 해당 구현 객체는 DBMS 제조사가 제공한다. JDBC Driver는 DBMS 마다 별도로 다운로드받아 사용해야 한다. 위 그림은 상속 관계를 나타낸 그림이 아니다. Drive..
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. TCP 채팅 프로그램 작동 원리 클래스 용도 ChatServer -채팅 서버 실행 클래스 -ServerSocket을 생성하고 50001 포트에 바인딩 -ChatClient 연결 수락 후 SocketClient 생성 SocketClient -ChatClient와 1:1로 통신 ChatClient -채팅 클라이언트 실행 클래스 -ChatServer에 연결 요청 -SocketClient와 1:1로 통신 ChatServer 클래스에는 ServerSocket 객체가 50001번 포트로 들어오는 클라이언트 연결 요청을 수락한다. SocketClient 객체는 연결 요청한 클라이언트 수만큼 생성된..
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. JSON - Java 다운로드 https://github.com/stleary/JSON-java GitHub - stleary/JSON-java: A reference implementation of a JSON package in Java. A reference implementation of a JSON package in Java. - GitHub - stleary/JSON-java: A reference implementation of a JSON package in Java. github.com 위 사이트에 접속해서 JAR 파일을 다운받는다. 이후 프로젝트에 해당 JAR 파일..
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 서버의 다중 작업 위와 같이 TCP와 UDP 서버에서는 accept()와 receive() 를 제외한 요청 처리 코드를 별도의 스레드에서 작업을 해야 서버에 들어오는 클라이언트의 무수한 요청을 동시에 처리할 수 있다. 스레드를 처리할 때 주의할 점은 클라이언트의 폭증으로 인한 서버의 과도한 스레드 생성을 방지해야 한다는 것이다. 자바에서는 이러한 과도한 스레드 생성을 방지하기 위해 스레드풀을 제공한다. 스레드풀은 작업 처리 스레드 수를 제한해서 사용하기 때문에 갑작스런 클라이언트 폭증이 발생해도 크게 문제가 되지 않는다. 다만 작업 큐의 대기 작업이 증가되어 클라이언트에서 응답을 늦게..
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. IP 주소로 프로그램들이 통신할 때는 약속된 데이터 전송 규약이 있다. 이것을 전송용 프로토콜이라고 부른다. 인터넷에서 전송용 프로토콜은 아래의 두 가지로 나뉜다. TCP(Transmission Control Protocol) : 우선 연결 후 데이터 전송 UDP(User Datagram Protocol) : 우선 데이터 전송 후 연결 UDP 네트워킹 UDP는 발신자가 일방적으로 수신자에게 데이터를 보내는 방식이다. TCP처럼 연결 요청 및 수락 과정이 없기 때문에 TCP보다 전송 속도가 상대적으로 빠르다. UDP는 고정 회선이 아니라 여러 회선을 통해서 데이터가 전송되기 때문에 특정..
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. IP 주소로 프로그램들이 통신할 때는 약속된 데이터 전송 규약이 있다. 이것을 전송용 프로토콜이라고 부른다. 인터넷에서 전송용 프로토콜은 아래의 두 가지로 나뉜다. TCP(Transmission Control Protocol) : 우선 연결 후 데이터 전송 UDP(User Datagram Protocol) : 우선 데이터 전송 후 연결 TCP 네트워킹 TCP는 연결형 프로토콜로 상대방이 연결된 상태에서 데이터를 주고받는다. 클라이언트가 연결 요청을 하고 서버가 연결을 수락하면 통신 회선이 고정되고, 데이터는 회선을 통해 전달된다. 회선 고정 TCP/IP 통신에서는 클라이언트와 서버 간..
이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 네트워크 네트워크 : 여러 컴퓨터들을 통신 회선으로 연결한 것 LAN(Local Area Network) : 가정, 회사, 건물, 특정 영역에 존재하는 컴퓨터를 연결한 것 WAN(Wide Area Network) : LAN을 연결한 것 WAN이 우리가 흔히 말하는 인터넷이다. Switch(Hub) : 특정 영역에 존재하는 컴퓨터를 연결하는 물리적인 장치 스위치와 허브의 개념은 엄연히 다르지만 특정 영역에 존재하는 컴퓨터를 연결하는 물리적인 장치라는 면에서 공통점을 가진다. 서버와 클라이언트 네트워크에서 유무선으로 컴퓨터가 연결되어 있다면 실제로 데이터를 주고받는 행위는 프로그램들이 한..