231019

한라봉봉·2023년 10월 19일
0

기업연계 BE 교육 TIL

목록 보기
13/58

DB 연결

https://cafe.naver.com/hamminglab/21521

https://cafe.naver.com/hamminglab/20788

JS

함수(10.4~)

객체

객체속성에 접근

java: 마침표(.)로 접근
JS: 대괄호 연산자, 마침표 연산자 2가지 방법이 있다.

얕은 복사, 깊은 복사

객체의 데이터 관리 방법 이해하기

  • 얕은 복사: 참조 자료형은 변수에 참조주소만 할당. 복사시 두 데이터는 연동됨
  • 깊은 복사: 기본자료형은 변수에 데이터 그 자체가 할당. 복사시 두 데이터는 연동되어 있지 않음

BOM , DOM(p.443)

  1. BOM(Browser Object Model)
    브라우저 객체 모델(BOM)은 자바스크립트가 웹브라우저와 소통하기 위해서 만들어진 모델이다.
    BOM 하위 객체와 메소드들(BOM으로 카페검색)
    https://cafe.naver.com/hamminglab/20073
  2. DOM: document 객체 (DOM으로 카페검색)
  • DOM은 HTML, XML과 같은 마크업 언어를 객체 모델(트리 노드)로 변환하여 Javascript, Java와 같은 프로그래밍 언어에서 접근 가능하게 하며, 웹 브라우저에 렌더링할 수 있도록 해주는 인터페이스인 셈이다.
  • React, Vue.js 는 가상 DOM 사용 <->Svelte는 실제 DOM 사용
    가상 DOM은 차이점 DOM만 업데이트
  • DOM 세부 트리구조
    https://cafe.naver.com/hamminglab/18947
  • jQuery란?
    자바 스크립트 요소 중 "자비스크립트 DOM" 부분을 좀 더 쉽게 사용할 수 있게 도와주는 라이브러리 임.

CRUD의 결과, List(목록)

-백 버튼(BOM) 이전 화면으로 돌아오면 초기화 필요
https://cafe.naver.com/hamminglab/20493
register.jsp

<script>
window.onpageshow = function(event) {
  //back 이벤트 일 경우
  if (event.persisted) {
  location.reload(true);
  }
}
</script>

JAVA

프레임워크

JSP 쓰려한다

이클립스 EE(엔터프라이즈 에디션), Intellij(유료버전), VSC 중 하나 툴 골라 사용

Spring 쓰려한다

  • 이클립스에서 스프링 쓰기(help > marketplace > sts 검색)
  • Intellij(유료버전)
  • STS3(이클립스랑 똑같은데 스프링 깔려있음)
  • VSC

Spring boot 쓰려한다

  • 이클립스에서 스프링부트 쓰기(help > marketplace > sts 검색)
  • STS4(이클립스랑 똑같은데 스프링 부트 깔려있음)
  • Intellij(유료버전)

인텔리제이 무료버전에서 스프링 프로젝트 생성

아래 사이트에서 만들고 인텔리제이에서 프로젝트 open
https://start.spring.io/

  • spring boot 버전 2.7.16이 java11과 매칭됨
  • Spring Boot DevTools : LiveReload

스프링부트로 로컬 웹서버 띄워보기

  1. 웹서버 띄우기
    resources 에 index.html 추가하고
    메인에서 실행
    브라우저에서 로컬주소로 확인 http://localhost:8080/

  2. 정적/동적인 웹 퍼블리싱 파일이 구분됨. static에는 el문자등 사용불가

  3. 설정 바꿔보기 (properties)

  • application.properties 파일에 아래 설정 추가
    server.port =8090
  • main 실행하여 서버 띄우고 확인시
    Tomcat initialized with port(s): 8090 (http)
  1. 설정 바꿔보기 2 (yml)
  • application.properties - > application.yml 로 확장자 변경
  • 아래내용 입력
    server:
    port: 8090
  • properties & yml(야믈) 차이 : yml은 계층 구조로 properties에서 중복을 개선할 수 있다.
  • yml은 들여쓰기 칸을 정확히 맞춰야함. 여기서 휴먼에러 발생 위험..

java 수업

properties

트리

트리정렬

람다식

함수형 프로그래밍. 익명 구현 객체의 다른 표현방식
내부적으로는 자바가 익명 구현 객체로 변환하므로, 람다식을 익명 구현 객체의 다른 표현방식으로 보아도 된다.
단, 익명 구현 객체와는 표현방식 외에도 아래와 같은 차이점을 갖는다.

1. 람다식은 특정 인터페이스를 명시하여 지정하지 않음

익명구현 객체는 구현시 특정 인터페이스를 명시하여 지정한다. 그러나 람다식은 어느 인터페이스를 재정의 한 것인지 알 수 없다. 특정 인터페이스 형식으로 선언된 변수에 대입될때나 특정 인터페이스 형식으로 생성된 객체를 통해 접근(.)할때 인터페이스 형식이 지정된다.

2. 람다식의 경우 인터페이스가 단 하나의 추상메소드를 가져야 함

익명 구현 객체는 기존 인터페이스가 여러 추상 메소드를 가져도 재정의가 가능하다. 그러나 람다식의 경우 인터페이스가 단 하나의 추상메소드를 가져야 한다. 이를 함수형 인터페이스라고 한다.
(1번과 유사하게 익명구현 객체는 재정의시 특정 메소드를 명시하지만 람다식은 메소드 명시도 없기 때문에 추상메소드가 여러개이면 어느 메소드인지 특정하기 어렵다.)
따라서 컴파일시 추상메소드가 하나인지 검사하며, @FunctionalInterface를 붙여서 정확한 함수형 인터페이스를 작성하도록 돕는다.(애너테이션 사용은 선택사항)

https://cafe.naver.com/hamminglab/20754
https://cafe.naver.com/hamminglab/21036

기타

  • React : Desktop
  • React Native(베이스 JS) : SmartPhone(Android, iOS 모두 가능)
  • Flutter(베이스 Dart) : React Native 경쟁자

과제

CRUD

js p425~ 427까지 CRUD 코딩해보기

표준 내장 객체(JS Core 라이브러리)

읽고 코딩해보기

java

  • Stack, Queue 짜기

  • 람다식 워드 1, 2 확인

profile
백엔드 개발공부 로그를 기록합니다

0개의 댓글