Weekly Learning

·2023년 9월 15일
0

Global_2023_2

목록 보기
54/56
post-thumbnail

원청(갑) -> SI(을) -> SI(병)
SI(을) -> 자체 서비스(내비)[망하고] -> 공공기관
(자체 솔루션)


Point

  • 템플릿 문자열 = a.k.a. $달러

  • 자바스크립트는 파라미터 갯수를 안맞춰도 된다 (없으면 default)

  • var lo = function(name) {} 을 화살표 함수로 바꾸면
    var lo = (name) => {}

  • 스프레드 연산자: ... (원본 훼손 안시키기 위해서 사용)

  • 자바 불변의 법칙은 string을 reverse시 원본값과 따로 메모리에 올리지만(String은 final, 상수)
    자바스크립트는 원본을 바꿈

  • es6문법

    • class가 나옴(자바와 비슷)
      • 자바와는 다르게 constructor가 기본
    • 함수를 객체로 만든게 생성자 함수
      • this와 args로 만드는것
      • 프로토타입 언어라서 변수 선언이 아니라 변수 추가
        (this를 통해서 변수선언)
  • 트랜잭션의 의미 : 어떤 일련의 작업(한번에 이루어져야 하는 작업 단위)

    • 댓글 shape + insert + update + delete
    • commit : 영구저장, 에러 발생시 모두 원상복구(rollback) 되어야 함
    • 500,404등의 에러처리 외에 에러 발생시 DB로 원상복구 하도록 요청하는것
    • Spring Transaction Annotation 을 사용한 Transaction 선언이 필요
    • CheckedException : 에러처리(throws) 필요, 롤백 X
      UncheckedException :
    • 함수 단위에 @Transactional 붙이는게 좋다(class에 X)
    • 기본적으로 connection은 알아서 auto 커밋을 한다
  • 마이바티스 : 한국, 일본 (SI) / JPA(하이버네이트) : 미국, 자체서비스 (네이버등)

    • 마이바티스의 중심 : sqlsession
  • autowired는 ioc컨테이너에서 꺼내오는것

    • @는 new 해서 만들라는 명령어
    • porm.xml에서...
    1. interface는 필요가 없음
    2. sqlSession에서 제공하는 함수(selectList,selectOne)를 이용함
    3. 쿼리구현을 위한 XML이 필요. 해당 XML의 namespace는 개발자가가 정함
  • 스프링 레거시
    • 컨텍스트명 = 프로젝트명
    • 톰캣 내장 X, 따로 가져와야 함
    • 스프링 3, 4, 5...버전이 중요하다 항상 먼저 체크하기
    • web.xml
      • 환경설정 파일 : 톰캣이 읽는것(spiring을 위한게 아님)
      • beam 같은거 넣을 필요없음
      • 스프링이 시작되는 곳
      • 톰캣 메모리 공간에 프로젝트 생성
        (servelet 컨테이너) dispatcherservelet
      • 은행은 12시에 서버 끄고 톰캣 작업 한다
      • 루트에서 servlet ioc 컨테이너에 있는걸 가져오는 것
      • web.xml에 한글 처리
        <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

annotation-driven이 handlermapping, handleradapter를 생성

0개의 댓글