전체 글 19

웹 서버 만들기 기초

테스트용 기초 웹서버 만들기 서버package pack;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;import java.nio.charset.StandardCharsets;public class Net4TestServer { public static void main(String[] args) { // 단순 서버 ServerSocket ss = null; // 내 컴퓨터가 사용중인 port number 확인// for(int i=0; i  클라이언트package pack;import java.io.OutputStreamWriter;i..

Java 2024.07.24

네트워크, URL, 서버

URL 클래스를 활용해서 지정한 웹 서버의 문서 읽기 실습 package pack;import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;// URL 클래스로 특정 웹서버 컴퓨터 문서 읽기// 인터넷이 가능한 서버들의 자원에 접근하여 주소 및 기타 정보를 다루는 클래스public class Net1URL { public static void main(String[] args) { try { URL url = new URL("https://www.daum...

Java 2024.07.24

Stream, 람다식 DB 연동 활용

저번에 했던 람다식을 이어서 자바를 이용해 db와 연동하여 활용하는 실습을 해보았다. package lambda;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Arrays;import java.util.List;import java.util.function.Consumer;public class MyLambda5Db { public MyLambda5Db() { // Consumer 인터페이스는 accept()를 갖고있다. // 주로 Collection API의 forEach에서 주로 사용 abc(); ..

Java 2024.07.24

람다식 활용

람다식이란길고 복잡하게 쓰여지는 메소드나 함수를 간단하게 정리하여 짧게 쓸 수 있는 익명 함수(메소드)이다.람다식은 인터페이의 구현으로만 가용할 수 있다.  람다식의 장점 - 코드의 간결성 : 람다를 사용하면 불필요한 반복문의 삭제가 가능하며 복잡한 식을 단순하게 표현할 수 있다.- 지연연산 수행 : 람다는 지연연상을 수행 함으로써 불필요한 연산을 최소화 할 수 있다.- 병렬처리 가능 : 멀티쓰레드를 활용하여 병렬처리를 사용 할 수 있다.  람다식의 단점 - 람다식의 호출이 까다로울 수 있다.- 불필요하게 너무 사용하게 되면 오히려 가독성을 떨어질 수 있다. 람다식 의 일반적인 구문 (parameter ,,,) -> { body } 람다식 활용 실습 package lambda;// Lambda Expre..

Java 2024.07.24

22일

자바 event자바에서 프레임을 이용해 레이아웃을 만들어서 버튼을 생성하고 버튼을 눌렀을 때 어떤 버튼이 눌렸는지 e.getSource() 메소드를 이용해 값을 비교해서 눌린 버튼에 따라 타이틀에 써진 것을 변경하는 실습을 해보았다. package pack7gui;import java.awt.Button;import java.awt.Frame;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEv..

학원일기 2024.07.24

21일

SQL 마무리. 간단한 백업과 복구 -- MariaDB(MySQL)를 설치하게 되면 가장 먼저 사용되는 계정은 root 계정 -- root 계정의 경우 관리자 계정이기 때문에 데이터베이스에 대한 모든 권한을 가지고 있다 -- 때문에 실제 서비스에 사용되는 DB의 경우 실질적인 관리자만 root 계정을 사용하고 -- 이외의 DB 사용자들은 용도에 맞는 권한을 부여받은 계정을 이용하는 것이 데이터베이스를 관리하는 데 있어서 좋은 방식이다-- 간단한 백업과 복구 -- https://www.lesstif.com/dbms/mysqldump-db-backup-load-17105804.html   CREATE DATABASE ourdb;USE ourdb;SHOW TABLES;CREATE TABLE good(NO IN..

학원일기 2024.07.24

20일

서브쿼리(subquery)와 조인(join) 마무리 -- query문은 동일한 결과를 다른 방법으로 처리 가능-- 총무부에 근무하는 직원들이 관리하는 고객 출력-- subquerySELECT gogek_no,gogek_name,gogek_tel FROM gogekWHERE gogek_damsano IN(SELECT jikwon_no FROM jikwon WHERE buser_num=(SELECT buser_no FROM buser WHERE buser_name='총무부'));-- joinSELECT gogek_no,gogek_name,gogek_tel FROM gogekINNER JOIN jikwon ON jikwon.jikwon_no = gogek.gogek_damsanoINNER JOIN buser ..

학원일기 2024.07.24

19일

SQL 3개의 테이블로 조인 -- 세 개의 테이블로 조인SELECT jikwon_name, buser_name, gogek_nameFROM jikwon,buser,gogekWHERE jikwon.buser_num=buser_no AND jikwon.jikwon_no=gogek.gogek_damsano;SELECT jikwon_name, buser_name, gogek_name FROM jikwonINNER JOIN buser ON jikwon.buser_num=buser.buser_noINNER JOIN gogek ON jikwon.jikwon_no=gogek.gogek_damsano; 3개의 조인을 활용한 문제풀이 -- 문1) 총무부에서 관리하는 고객수 출력 (고객 30살 이상만 작업에 참여)SELEC..

학원일기 2024.07.24

배열(Array)

배열(Array) : 성격과 크기가 일치하는 복수개의 기억장소 특징 : 대표명 하나를 주고 첨자(index)로 각 기억장소를 구분, 반복처리가 효과적 선언 방법 int arr[] = new int[5]; // 배열로 선언 int []arr = new int[5];, int[] arr = new int[5]; 로도 선언 가능 이런 식으로 선언과 크기를 한번에 배정할 수 있다. 그럼 이 배열속에 5개의 방(이해하기 쉽게 방이라고 표현함)이 생기고 0번방, 1번방... 4번방까지 있는 배열이 생긴다. 크기가 5인 배열이 생기는 것이다. int arr[]; // 이렇게 선언만 한 후 크기는 나중에 지정할 수 도 있다. ex) arr = new int[5]; 반복문과 배열 배열은 반복적으로 사용될 일이 많기 때문..

Java 2024.04.11