전체 글92 [자바 스터디 12주차] 어노테이션 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 Annotation 자바를 개발한 사람들은 소스코드에 대한 문서를 따로 만들기보다 소스코드와 문서를 하나의 파일로 관리하는 것이 낫다고 생각했다. 그래서 소스코드의 주석 '/** ~ */'에 소스코드에 대한 정보를 저장하고, 소스코드의 주석으로부터 HTML 문서를 생성해내는 프로그램(javadoc.exe)를 만들어 사용했다. 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것이 바로 애너테이션이다. 애너테이션은 주석(comment)처럼 프로그래밍 언어에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공할 .. Language/Java 2021. 2. 20. @Controller와 @RestController의 차이점 1.개요 Spring MVC의 @RestController은 @Controller와 @ResponseBody의 조합입니다. Spring 프레임 워크에서 RESTful 웹 서비스를 보다 쉽게 개발할 수 있도록 Spring 4.0에서 추가되었습니다. 근본적인 차이점은 @Controller의 역할은 Model 객체를 만들어 데이터를 담고 View를 찾는 것이지만, @RestController는 단순히 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답에 담아서 전송합니다. 물론 @Controller와 @ResponseBody를 사용하여 만들 수 있지만 이러한 방식은 RESTful 웹서비스의 기본 동작이기 때문에 Spring은 @Controller와 @ResponseBody의 동작을 조.. Tech/Spring 2021. 2. 12. [자바 스터디 11주차] Enum 목표 자바의 열거형에 대해 학습하세요. 학습할 것 enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet enum을 정의하는 방법 enum이란? enum(열거형)은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 상수를 여러개 정의할 때 사용한다. enum은 여러 상수를 정의한 후, 정의된 것 이외의 값은 허용하지 않는다. 가장 간단하게 선언하는 법은 다음과 같다. enum 열거형이름 { 상수명1, 상수명2, 상수명3, ...} ※ 추가적인 특징 - 열거형 필드의 이름은 상수이기 때문에 대문자로 표기한다. - 기본적으로 0부터 시작하는 정수값이 연속적으로 부여된다. public class EnumDemo { enum Season.. Language/Java 2021. 2. 7. [취준생을 위한 스프링부트 백엔드 프로그래밍] 3주차 과제 brunch.co.kr/@springboot/538 스프링부트 백엔드 프로그래밍 (5) 5. 예외 처리 및 테스트 코드 작성 | "스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 스터디가 잘못된 방향으로 가지 않도록, 의견 및 조언을 아낌없이 해주시 brunch.co.kr #필수과제 1. 사용자에 의한 키워드 검색 시 네이버 Open API 영화 검색 결과를 애플리케이션 내부에 정의한 자료구조에 저장해놓기(캐싱 역할로 사용) (Map or Set or 커스텀한 자료구조 등 자유롭게 정의해보기) 예) Map을 사용해서, Key에는 검색어를 Value는 검색 결과를 저장 2. 사용자에 의한 키워드 검색 시 특정 키워드에 해당하는 데이터가 자료구조에 이미 저장되어있다면, 네이버 .. Tech/Spring 2021. 1. 26. [자바 스터디 10주차] 멀티쓰레드 프로그래밍 github.com/whiteship/live-study/issues/10 10주차 과제: 멀티쓰레드 프로그래밍 · Issue #10 · whiteship/live-study 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 마감일시 2021년 1월 23일 github.com 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할것 Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Process란? 단순히 실행중인 프로그램 프로그램을 실행하면 운영체제에 의해 메모리 공간을 할당 받아 실행 중인 것을 말한다... Language/Java 2021. 1. 23. [취준생을 위한 스프링부트 백엔드 프로그래밍] 2주차 과제 brunch.co.kr/@springboot/532 스프링부트 백엔드 프로그래밍 (3) 3. 스프링 IoC, DI | "스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 스터디가 잘못된 방향으로 가지 않도록, 의견 및 조언을 아낌없이 해주시길 부탁드립니다. brunch.co.kr brunch.co.kr/@springboot/533 스프링부트 백엔드 프로그래밍 (4) 4. 스프링부트 AutoConfiguration | "스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 스터디가 잘못된 방향으로 가지 않도록, 의견 및 조언을 아낌없이 해주시길 부 brunch.co.kr # 필수과제 1. 임베디드 톰캣의 쓰레드 풀 사이즈를 변경해보세요. (성능 테스트 .. Tech/Spring 2021. 1. 21. [자바 스터디 9주차] 예외 처리 github.com/whiteship/live-study/issues/9 9주차 과제: 예외 처리 · Issue #9 · whiteship/live-study 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 github.com 목표 자바의 예외 처리에 대해 학습하세요. 학습할것 예외 처리란? & 예외 처리의 필요성(자체 추가) 자바에서 예외 처리 방법 (try-catch, throw, throws, finally) + Multicatch Block, try-with-resources 예외처.. Language/Java 2021. 1. 15. [취준생을 위한 스프링부트 백엔드 프로그래밍] 1주차 과제 brunch.co.kr/@springboot/530 취준생을 위한 스프링부트 백엔드 프로그래밍 (1) 1주차 1교시 - 스프링부트란 무엇인가? | "취준생을 위한 스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 제가 잘못된 길로 가지 않도록, 댓글로 의견 및 조언 brunch.co.kr brunch.co.kr/@springboot/531 취준생을 위한 스프링부트 백엔드 프로그래밍 (2) 2. 간단한 API 서버 만들어보기, 앞으로 커리큘럼 소개 | "취준생을 위한 스프링부트 백엔드 프로그래밍"이라는 주제로 약 8주간 글을 작성할 예정입니다. 제가 잘못된 길로 가지 않도록, 댓글로 brunch.co.kr 필수 과제 1. 어노테이션이 어떤 기능을 하는지 정리 스프링 : @Res.. Tech/Spring 2021. 1. 10. [자바 스터디 8주차] 인터페이스 github.com/whiteship/live-study/issues/8 8주자 과제: 인터페이스 · Issue #8 · whiteship/live-study 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터 github.com 목표 자바의 인터페이스에 대해 학습하세요. 학습할것 - 인터페이스란(자체 추가) - 인터페이스 정의하는 방법 - 인터페이스 구현하는 방법 - 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 - 인터페이스 상속 - 인터페이스의 기본 메소드 (Default Method), 자바 8 - 인터페이스의 static 메소드, 자바 8 - 함수형 인터페이스(.. Language/Java 2021. 1. 9. [자바 스터디 7주차] 패키지 github.com/whiteship/live-study/issues/7 7주차 과제: 패키지 · Issue #7 · whiteship/live-study 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 마감일시 2021년 1월 2일 토요일 오후 1시까지. github.com 목표 자바의 패키지에 대해 학습하세요. 학습할 것 - package 키워드 - import 키워드 - 클래스패스 - CLASSPATH 환경변수 - -classpath 옵션 - 접근지시자 - ※ ♥ 스터디원 참고 및 리뷰 package 키워드 패키지란? - 서로 관련이 있는 클래스 또는 인터페이스들을 묶어 놓은.. Language/Java 2021. 1. 3. 빌더 패턴 빌더패턴이란 클라이언트 코드에서 필요한 객체를 직접 생성하는 대신, 그 전에 필수 인자들을 전달하여 빌더 객체를 만든 뒤, 빌더 객체에 정의된 설정 메서드들을 호출하여 인스턴스를 생성하는 방식이다. 빌더패턴으로 해결할 수 있는점 1. 생성자 오버로딩를 하지 않아도 원하는 데이터만 주입하여 객체를 만들 수 있다. 2. 데이터의 순서에 상관없이 객체를 만들어 낸다. 3. 객체 생성시 생성자에 null값을 넣어주지 않아 코드의 가독성이 좋아진다. 이펙티브 자바 스타일 빌더 패턴 package test; public class NutritionFacts { private final int servingSize; private final int servings; private final int calories; .. Language/Design Pattern 2020. 12. 29. [자바 스터디 6주차] 상속 github.com/whiteship/live-study/issues/6 6주차 과제: 상속 · Issue #6 · whiteship/live-study 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 마 github.com 목표 자바의 상속에 대해 학습하세요. 학습할 것 - 자바 상속의 특징 - super 키워드 - 메소드 오버라이딩 - 다이나믹 메소드 디스패치(Dynamic Method Dispatch) - 추상 클래스 - final 키워드 - Object 클래스 - ※ ♥ 스터디원 참고 및 리뷰 자바 상속의 특징 🤔 .. Language/Java 2020. 12. 20. 이전 1 ··· 4 5 6 7 8 다음