💭/KDT

KDT 11주차 회고(230511~230517)

모팔구 2023. 5. 17. 21:05
728x90
반응형

🎯 목표

💡나는 최고의 프로그래머당!
👊 빡공

 

🖋️ 수업 내용

※ 요약 주의

📆 230511

  • 🎈웹 프로그래밍(프엔) 
    • Math
    • DOM: Html문서를 객체로 표현
    • BOM: 웹브라우저를 객체로 표현
    • Window
  • ☕️ Advanced Java
    • JDBC

 

📆 230512

  • 🎈웹 프로그래밍(프엔)
    • Location: url의 정보를 가져오거나 설정(어려움)
    • DOM: W3C의 표준. 문서를 액세스하기 위한 표준을 정의한다
  • ☕️ Advanced Java.,//
    • 머 라이브러리들 발표
    • JDBC

 

📆 230515

  • 🎈웹 프로그래밍(프엔)
    • jquery
  • ☕️ Advanced Java
    • .properties: 키값과 밸류값과 같은 형식으로 저장되는 파일로, 환경을 설정하는 내용을 변경할 때 properties의 내용만 바꾸면 된다. 문장의 첫글자가 #인 경우 주석을 의미한다. 
      driver=oracle.jdbc.driver.OracleDriver
      url=jdbc:oracle:thin:@localhost:1521:xe
      user=pc09
      password=java
    • properties의 밸류값을 읽어오려면 key값을 사용하면 되는데 이전에 FileInputStream이나 FileReader를 통해 .properties파일을 읽어올 입력 스트림 객체를 생성한다 생성된 입력 스트림 객체를 load()메서드로 properties객체에 저장한다
    • public class PropertiesTest {
      	public static void main(String[] args) {
      		// 읽어올 정보를 저장할 Propertiees객체 생성
      		Properties properties = new Properties();
      		// 읽어올 properties파일명을 지정할 File객체 생성
      		File file = new File("res/kr/or/ddit/config/dbinfo.properties");
      		FileInputStream fin = null; // FileReader 사용 가능
      		try {
      			// 파일 내용을 읽어올 입력 스트림 객체 생성
      			fin = new FileInputStream(file);
      			// 입력 스트림을 이용하여 파일 내용을 읽어와 Properties객체에 저장하기
      			properties.load(fin); // load(): 파일 내용을 읽어와 key값과 value값을 분류하나 후 Properties객체에 추가함
      			// 읽어온 자료 출력해보기
      			System.out.println("driver: " + properties.getProperty("driver"));
      			System.out.println("url: " + properties.getProperty("url"));
      			System.out.println("user: " + properties.getProperty("user"));
      			System.out.println("password: " + properties.getProperty("password"));
      		} catch (FileNotFoundException e) {
      			e.printStackTrace();
      		} catch (IOException e) {
      			e.printStackTrace();
      		} finally {
      			try {
      				if (fin != null) {
      					fin.close();
      				}
      			} catch (IOException e) {
      				e.printStackTrace();
      			}
      		}
      	}
      }
    • ResourceBundle: 파일의 확장자가 properties인 파일의 내용을 읽어와서 key값과 value값을 구분해서 정보를 갖고 있는 객체
    • ResourceBundle객체를 생성할 때 getBundle()메서드에 읽어올 properties파일의 정보를 지정한다. 이 파일의 정보를 지정할 때 '패키지명.파일명'까지만 지정하고 확장자는 제외한다
      public class ResourceBundleTest {
      	public static void main(String[] args) {
      		// ResourceBundle객체를 이용하여 properties파일 읽어오기
      		// ResourceBundle객체 생성하기: 객체를 생성할 때 읽어올 properties파일의 정보를 지정해준다. 이 파일의 정보를 지정할 때 '패키지명.파일명'까지만 지정하고 확장자는 제외한다
      		ResourceBundle bundle = ResourceBundle.getBundle("kr.or.ddit.config.dbinfo");
      		// 읽어올 내용 출력하기
      		System.out.println("driver: " + bundle.getString("driver"));
      		System.out.println("url: " + bundle.getString("url"));
      		System.out.println("user: " + bundle.getString("user"));
      		System.out.println("password: " + bundle.getString("password"));
      	}
      }
    • MVC(Model - View - Controller)패턴
      • Model: 데이터, 어떤 데이터를 만드는 과정 즉, 코드까지 다 모델이라고 함
      • View: 보이는 것들
      • Controller: Model과 View를 서로 연결해주는 역할. 사용자의 명령을 받아 그 명령에 맞는 Model을 실행시키고 그로 인해 만들어진 뭔가를 Controller가 받고 다시 View로 전달
    • MVC패턴의 형태는 두가지임
      • Model1: 컨트롤러가 뷰 역할을 같이 하는 패턴
      • Model2: 컨트롤러와 뷰가 분리된 패턴
    • MVC패턴의 비즈니스 로직을 처리하는 클래스
      • VO(Value Object), DTO(Data Transfer Object): 데이터를 저장하는 역할만 하는 클래스. 
      • DAO(Data Access Object): SQL문을 DB서버에 보내서 결과를 얻어오는 역할을 수행하는 클래스.
      • Service: 일을 수행하는 중간 관리자 역할을 수행하는 클래스. 서비스는 일이 있으면 그 일에 필요한 DAO를 호출해서 일을 처리한 후 처리 결과를 Controller에게 전달하는 역할.
      • Controller: 비즈니스 로직이 시작되는 곳으로 사용자의 요청이 오면 그 요청에 맞는 Service에게 일을 시키고, Service가 보내온 처리 결과를 화면 등에 반영시키는 역할을 수행한다
      • VO(DTO), DAO, Service, Controller 순서로 만드는 것이 좋다

📆 230516

  • 🎈웹 프로그래밍(프엔)
    • jquery
  • ☕️ Advanced Java
    • jdbc
    • 싱글톤: 객체가 한개만 만들어지게 하는 방법. 외부에서 new연산자를 사용하지 못하게 한다
      • 싱글톤 클래스를 만드는 방법(필수 구성 요소)
        1. 자신 class의 참조값이 저장될 변수를 private static으로 선언한다
        2. 모든 생성자의 접근 제한자를 private으로 한다 그래야 외부에서 new를 사용하지 못함
        3. 자신 class의 인스턴스를 생성하고 반환하는 메서드를 public static으로 생성한다 주로 이 메서드의 이름은 getInstance로 한다
      • 싱글톤 객체를 사용하려면 아래처럼 생성한다
        MySingleton singleton = MySingleton.getInstance();
      • 두 객체를 위와 같은 방법으로 생성한 후 출력시키면 같은 주소값이 출력된다(== -> true) 즉, 하나의 객체만 생성되었음을 알 수 있다.

📆 230517

  • 🎈웹 프로그래밍(프엔)
    • jquery
  • ☕️ Advanced Java
    • jdbc

 

💭 기록

없음

 

 

728x90
반응형