분류 전체보기202 2회차 컨테이너란 ? 컨테이너 안에는 화물이 있고, 컨테이너 간은 독립적이다 . 사이즈나 규격등이 표준적. isolatio,portability가능하며, 동일한 platform 안에 올라갈 수 있다. 처음으로 명확한 컨테이너를 시작한 것이, 리눅스이다. 리눅스의 개념 (간단) namespace -> name (다양한 변수를 분리) 각 그룹이 독자적 사용 Cgroup -> cpu, 메모리 같은 자원을 격리 즉, 여러개의 프로세스가 각자 고립된 공간에서 사용되는 구조를 컨테이너라 한다. https://jihyukcoding.tistory.com/36 쓰레드, 프로세스 프로그램은 실행 가능한 파일을 의미하고? 프로세스는 실행중인 프로그램을 의미한다. 프로세스는 자원(resource)와 쓰레드로 구성되어있다. 쓰레드는.. 2023. 12. 27. H2 database , DB활용 / Entity 추가 / Repository,service 간단 복습 application properties에 해당 내용 추가해주어야, http://localhost:8080/h2-console 로 입장시 뜬다. 역시 spring 사이트 자체를 잘 활용하자. 초간단 db h2 db에 접근 성공 . @ENTITY를 붙인순간, 엔티티로 들어갈 것임을 공표한것과 마찬가지이기 때문에, CLASS에 규약이 생긴다. @Enumerated(EnumType.STRING) private Developerlevel developerlevel ; DeveloperLevel이라는 열거형이 있다. 이를 enumtype으로 지정하여 내 entity의 변수로 쓸 것이다 ! enum이 클라스와 대응하는 관계의 객체임을 배웠다. (반대란 의미는 아니고 개념이 변수가 아니라고) descriptrion을.. 2023. 12. 27. Controller , componet 어노테이션. CLASS, 컴포넌트, 모듈 . Controller 사용자의 입력이 최초로 받아들여지는 곳 @Restcontroller -> 완성할 bean이 , restcontroller라는 type으로 등록. response body가 자동으로 달린다. 즉 , RESTAPI를 입력으로 받는 진입점으로 사용하겠다 사실상 @Component이다. @Component ? 가장 기본적인 방식. -> 최소한의 단위 . 모듈로써 시스템을 유지보수하는 부품. 컴포너트는 클래스와 다른 개념이고 , interface를 통해서만 접근할 수 있다. 모든 빈은 컴포넌트이지만 모든 컴포넌트가 빈은 아님. 어노테이션으로 해당 class가 빈임을 알린 형태. '기능, 혹은 시각적인 하나의 요소 ' 완성한 CLASS를 COMPONENT로 등록할때는 @COMPONENT를, 완성.. 2023. 12. 27. 롬복 + Dto 상세 롬복이 무엇인가 ? 보일러 플레이트 코드들을 자동으로 생성해주는 필수적인 library build.gradle의 dependecies에 추가 . 설정이 필수적으로 같이 와야 됨. 앞서 작성했던 라인에서, dependices에 추가 혹은 spring.io에서 세팅 완료된 파일을 다운로드 . setter , getter을 @Setter @Getter로 class앞에 생성. -> 추가적인 메소드 작성이 필요없이, set,get등을 사용할 수 있다. @ToString -> class devdto를 그대로 sout으로 출력했을때, hash 코드 값이 출력되는데 이를 붙이면, 이에 맞는 시간과 , age등 형식에 맞추어서 출력된다. 생성자 @NoArgsConstructor -> argument가 없는 생성자 All.. 2023. 12. 27. 개발자 키우기 프로젝트 구성도 패스트캠퍼스 강의를 토대로, 구성도를 가볍게 표현했다. 1. CLIENT가 REQUEST 2. SERVER가 BINDING,검증 3. DB에 트랜젝션, 요청과 데이터를 받고 보내고 4. 예외 처리 후 응답. 기능 : 1. 개발자 생성 (POST METHOD) 2. GET을 통해 개발자 정보확인 3. PUT을 통해 개발자 정보 수정 (완전히 개발자의 모든 정보를 수정한다) 그래서 PUT 4. DELETE로 개발자 정보 삭제 (분리보관) HTTP -> 프로토콜 (약속의 규약) HTTp Request 메세지 스팩 REQUEST BODY의 TYPE이 JSON, 그리고 응답도 JSON을 받고 싶다 TOKEN값을 헤더에 담기도 한다. 응답을 날려야겠다 이제 (중간과제 생략 ) 1개의 공백라인 이후 HEADE.. 2023. 12. 27. Null Safety 널 안정성 sql기억하자. 진짜 null이 너무 힘들었던 기억이 있다. 빈객체이자, 연산시는 0이자.. 이런 관리하기 힘들었던 null을 자바로 검증해보자! 매번 if(request (매개변수이다) == null ); return ; 해줘야한다. 이렇게 반복적으로 계속 똑같은 코드를 찍어야 하는 것을 보일러 플레이트라고 한다. 1. @NonNull 해당것은, NULL이 아니다. 메소드 변수 앞에, 메소드 앞에 , 변수 앞에 모두 붙일 수 있다. 만약에 NULL이 나오면, 호출 되기도 전에 EXCEPTION이 빠르게 발생. + 에러내용 확인이 가능하다. 2. @Nullable -> null일 수 있음을 명시함. ide에서 알려주고 ,warning을 직접 찍어주기 까지 한다. ! 굉장히 쉽다. 2023. 12. 27. SpEL 특별한 표현 언어로써, 문법을 통해 데이터나 설정값을 가져오는 것 . ex) school.calls.teacher.name이라 하면, 학교의 반의 선생님 이름 과 같이 데이터를 가져온다. 이럴때 주로 사용하는 expression langauge . Spring에서 사용가능하고 주로쓰는 짧은 표현 언어라고 볼 수 있다. Helloworld라는 문자열을 그 자체를 literal로 받아서, 이를 concat할수도 있고, Uppercase인 새로운 HELLOWORLD도 얻을 수 있다. (허나 이렇게 사용하는 경우는 거의 없다. 작동구조를 위한것) Bean의 properties( properties는 bean의 설정이나 데이터 값 (변수, 속성이라고 한다))가 상수가 아니기를 바랄 때가 많을 것이다. 이럴 때 주.. 2023. 12. 27. 기초 4 -> 제너릭, 열거 ,어노테이션 앞선 11장에 자료구조 내용이 존재하지만, 이는 코딩테스트 수준이 어느정도 쌓여 자료구조로 들어갈때 다시 복습하도록 하겠다 . 코테를 파이썬으로 사용할 예정이라, 혼동을 막기 위함이다. 1. Generic 컴파일시 타입을 체크해줌 -> 안정성을 높여줌(형 안맞을시 compile부터 error) 형변환의 번거로움 줄여줌 Class Box { T item ; void SetItem(T item) {this.item = item ;} T getItem () {return item ;}} 생성시는 Box b = new Box () ; -> string type 변수를 가지는, box class . (한번 들어간 type과 다른 type의 객체는 추가될 수없다. ) 들어올수 있는 변수들의 타입을, 제한한 예시이다.. 2023. 12. 27. 기초 3장 - > 예외처리 , 기타 class 컴파일 에러란? compile시 발생하는 error 런타임 에러 -> 실행시 발생 . 논리적 에러 -> 의도와 다른 동작. (고프 내용을 기억하자) error와 예외의 차이는, 에러는 코드로 수습될 수 없는 오류이고, 예외는 코드로 수습될 수 있다 . error를 control하는것은 힘들지만, 예외는 따로 처리해줘야한다 . 즉, 예외 처리란 프로그램 실행시 발생할수있는 예외에 대비한 코드를 작성하는 것이다. try { //정상적인 행위 } catch (Exception e) { // 예외로 처리한 경우에 따라서, 어떤 일을 할까 } 이와 같으며, 동작 과정은 try 에서 예외가 발생한 경우, 해당 에외 catch qㅡㄹ럭을 확인. 찾게 되면, 그 catch 블럭을 수행하고 try-catch문을 빠져나와.. 2023. 12. 27. Resource URL보다 고차원적인 개념으로 파일들을 가져오기 위하여. SPRING에서 제공하는 INTERFACE RESOURCE라는 객체로 생성했을때, 사용할 수 있는 메소드 들. UrlResource(기본적인 url), ClassPathResource (classpath하위 리소스 접근시) FileSystemResource(file을 다룸) 등등이 있다 . 실사용 -> ResourceLoader 실제 사용은 applicationContext라는 스프링의 핵심 기능을 집약해둔 모듈에서, (스프링 구성,동작등을 모두 전담) 이와 같이, ResourceService라는 빈을 등록하면서 ApplicationContext가 자기 자신을 ctx에 삽입. 그 이후 setResource라는 메소드를 통해서, 본인 자체로 특정 경.. 2023. 12. 26. 이전 1 ··· 15 16 17 18 19 20 21 다음