학원수업/12월28 12/30 국비학원 자바수업 25회차(우편번호 오라클 업로드, 자바와 연결) 소켓통신 정리 서버 package dev_java.week5; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.ServerSocket; import java.net.Socket; public class NetworkServer2 { public void server() { int port = 3000; ServerSocket server = null; ObjectOutputStream oos = null; ObjectInputStream ois = null; try { server = new ServerSocket(port); System.out.println("서버 소켓 생성되었습니다."); whil.. 2022. 12. 30. 12/29 국비수업 URL, 자바에서 Tomcat확인하기 http-웹 서비스 요청과 응답을 받아 올수있다. 브라우저가 아니더라도 WAS(Web Application Server)- Tomcat-9000번으로 내가 정함 웹서비스를 제공하기 위해서는 웹 서버가 필요하다. 웹 서비스는 요청으로 시작해서 응답으로 끝난다. 요청을 하고 응답을 받아올때 URL주소가 필요하다. main메소드가 필요 없다. F12 개발자 도구 chat을 끼워넣었더니(아무거나) 404번 나옴 서버가 클라이언트에게 응답을 보내면서 전달되는 상태값이 있다. 정상 : 200 페이지 경로가 틀리면 : 404 자바 예외처리 : NullPointException, ClassNotFoundException,ArraryIndexOutOfBoundException 전부 500번 에러 발생-자바 런타임 에러 .. 2022. 12. 29. 12/29 국비학원 자바수업 24회차(컬렉션 프레임워크, List, Map) 컬렉션프레임워크 자바 컬렉션은 객체를 수집해서 저장하는 역할을 한다 프레임워크란 사용 방법을 미 리 정해 놓은 라이브러리를 말한다 자바 컬렉션 프레임워크는 몇 가지 인터페이스를 통해서 컬렉션 클래스를 이용할 수 있도록 하고 있다 컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map이 있다 이 인터페이스들은 컬렉션을 사용하는 방법을 정의한 것인데 다음은 이 인터페이스로 사용 가능한 컬렉션 클래스를보여준다 Map, List 는 인터페이스 ArrayList Vector... 은 구현체 클래스 하나의 자원을 공유하는것이다. 그러면 경합이 벌어지고 인터셉트가 일어날수있고 그로인해 자원유실이 될수도있다. 벡터는 멀티스레드에서 안전하다. 멀티스레드는 동기화를 지원하기때문에 느릴수있지만 안전하다. Arra.. 2022. 12. 29. 12/28 국비학원 자바수업 23회차(Tread, Override, Tomcat) Thread -주니어 개발자에게 맡기지 않는다. : 언제 필요할까? :어떻게 생성할까? 구현방법 extends Thread implements Runnable 공통점 메소드 오버 라이딩 @Override public void run(){} A a=new A(); Thread th= new A(); th.start(); 선언부의 타입과 생성부의 타입이 같은 경우가 있고 다른경우가 있다. 선언부 타입(추상클래스, 인터페이스) != 생성부 타입(구현체 클래스) 다형성을 누리고 싶으면 선언부와 생성부의 타입을 다르게 가져간다. 유지보수시 코드를 최소한으로 수정하고 기능수정이 가능하게됨(오타, 실수) 다형성(polymorphism)이란? 다형성(polymorphism)이란 하나의 객체가 여러 가지 타입을 가질 수.. 2022. 12. 28. 12/27 국비학원 자바수업 22회차(오라클 Toad사용, Thread) 서버 로그에 포트가 두개 적혀있다. 아이피도 나온다. 127.0.0.1은 내 아이피를 말함. [Toad for Oracle] 오라클 관리도구 '토드' 백업 폴더에 백업을 하는것이다. 데이터베이스 제품들이 기본적으로 방어를 해준다..? 출처 : https://jink1982.tistory.com/31 [Oracle] SQL의 종류 (DDL, DML, DCL) SQL(Structured Query Language)의 종류SQL(Structured Query Language)의 종류에는 데이터 정의(DDL), 데이터 조작(DML), 데이터 제어(DCL)가 있다. 데이터 정의어(Data Definition Language)데이터의 구조를 정의 하기 위한 jink1982.tistory.com SQL(Structu.. 2022. 12. 27. 12/26 국비학원 자바수업 21회차 드디어 한달이 지났다. 5주차도 화이팅 오라클 설치(노션 참조) 토드 설치 Maven Repository에서 외부 임포트 했을때 그레이들 문서에 등록할 경우 보기-명령파레트-java clean workspace-reload -view project 꼭 해줘야한다. package dev_java.oracle; import java.sql.Connection; import java.sql.DriverManager; /* * 변수 이름 앞에 final이 붙으면 상수가 됨. * 상수는 다른 값으로 재정의 불가함. */ public class JDBCTest { //이 클래스를 읽어야 오라클 제품인것을 확인가능함. public static final String _DRIVER = "oracle.jdbc.drive.. 2022. 12. 26. 12/23 국비학원 20회차(서버, 채팅프로그램 만들기) 네트워크 프로그래밍 구현 1.프로토콜 설계가 필요하다 100#tomato 200#tomato#apple#오늘 스터디할까?-protocol.java-main메소드가 필요없다. OSI 는 각종 시스템간의 연결을 위하여 ISO 에서 제안한 모델로써, OSI(Open System Interconnection Reference Model)에서 유추할수 있듯이, 시스템에 상관없이 서로의 시스템이 연결될수 있도록 만들어주는 모델이다. OSI 는 아래와 같이 7 개의 계층으로 되어 있다. 서버-ip주소 소켓통신 우리가 서버와 통신을 한다고 가정해보자. 그 서버의 특정 App에 접근을 하기위해서는 특정 port와 연결이 되어야한다. 해당 port에 가면 우리는 바로 app에 접근하는것이 아니라 소켓을 거친뒤에 app에 .. 2022. 12. 23. 12/22 국비학원 자바수업 19회차(얕은복사-깊은복사, toString "toString" 메서드는 객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메소드 입니다. 얕은복사 깊은복사 객체를 복사하는 방법으로 얕은복사와 깊은 복사가 있다. 1. 얕은복사 객체의 주소의 값만을 복사함 여러개가 같은 주소를 참조하기 때문에 하나의 값을 변경하면 다른 대상의 값도 바뀐다. 2. 깊은복사 객체의 실제 값을 새로운 객체로 복사하는것 실제로 객체가 두개 생기는 것이다. 메모리 측면에서 비효율적이다. 1. 배열의 얕은 복사는 복사된 배열이나 원본 배열이 변경될때에 서로의 값이 같이 변경이된다. 2. 배열의 깊은 복사는 복사된 배열이나 원본배열이 변경될 때에 서로간의 값은 바뀌지 않는다. 프로트 쪽에서는 얕은복사 깊은복사 깊이있게 공부를 해야한다. 얕은복사는 주소가.. 2022. 12. 22. 12/21 국비학원 자바수업 18회차 오전 시험 메소드 오버로딩의 법칙 1. 같은 이름의 메소드에 파라미터의 갯수가 달라야한다. 2.파라미터의 타입이 달라야 한다. 3. 접근제한자, 리턴타입, 예외처리는 관계가 없다. 배열의 깊은 복사 얕은 복사 https://coding-factory.tistory.com/548 [Java] 자바 배열을 복사하는 다양한 방법 (깊은복사, 얕은복사) 자바에서 객체를 복사하는 유형으로 깊은 복사와 얕은 복사가 있습니다. 깊은 복사의 경우 객체의 실제값을 새로운 객체로 복사하는 것이고 얕은 복사는 단순히 객체의 주소 값만을 복사하는 coding-factory.tistory.com 오후 어제 완성못한 벡터크루드 완성하기 StringTokenizer클래스 Sting Tokenizer st = new String T.. 2022. 12. 21. 12/20 국비학원 자바수업 17회차(Lombok,Vector, 부서자료문제) 요즘은 다들 데이터 분석원한다 데이터를 분석해서 의사결정 위해 데이터 다루는기능 잘 배우자. Vector 벡터는 멀티 쓰레드를 지원한다. Tread 끼어들기가 가능하다. 변수와 달리 서로 다른 타입을 담을 수 있다. 그래서 arraylist보다 느리다. Tread는 object에 대하여 LockFlag(제어권)를 갖는다. 우선순위가 있다-->쓰레드 때문 List list=new Vector( ); 선언부와 생성부의 타입이 다르다!!! 객체지향 특징 다형성 상속 에러- List 생성부에는 (뒤에는) 구현체 클래스가 와야한다. 인터페이스가 가지고 있는 추상 메소드를 오버라이딩 즉, 재정의 해야된다.(어노테이션 사용한것처럼) 다형성을 쓰는 것 만으로도 객체지향을 지키는것이다. Iterator 이터레이터는 추가.. 2022. 12. 20. 이전 1 2 3 다음