전체 글233 DI(Dependency Injection) DI(Dependency Injection) - 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. DI(의존성 주입)을 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. 방법1 ex) class Dogs{ private String DogName; private int DogAge; public Dogs(){ } public Dogs(String DogName, int DogAge){ this.DogName = DogName; this.DogAge = DogAge; } public String getDogName(){ return this.DogName; } public int getDogAge(){ .. 2022. 10. 9. 패키지 접근 제한자 정답 1번문제 : 정답 2번 - _,$를 제외한 2번 문제 : 정답3번 - 개수 제한이 없다. 3번 문제 : 정답 4번 4번 문제 : setter 5번 문제 넓음 좁음 public > protected > default > private 2022. 10. 8. 패키지와 접근 제한자 문제 1. 패키지를 만들때 지켜야할 규칙으로 알맞지 않은것을 고르세요.(객관식) 1. 숫자로 시작해서는 안된다. 2. _,$를 포함한 특수 문자를 사용해서는 안된다. 3. java로 시작하는 캐키지는 자바 표준 API에서만 사용하므로 사용해서는 안된다. 4. 모두 소문자로 작성하는 것이 관례이다. 2. import문에 관하여 알맞지 않은것을 고르세요.(객관식) 1. 사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속되었을때 import문으로 해당 패키지의 클래스 또는 인터페이스를 가져와서 컴파일러에게 알려줘야한다. 2. import문은 패키지 선언과 클래스 선언 사이에 작성한다. 3. import문은 개수 제한이 있어 꼭 필요할 때만 사용해야한다. 4. 만약 사용하고자 하는 클래스들이 동일한 패키지 .. 2022. 10. 8. 제네릭스 타입 컴파일 Generics type erasure 제네릭스(Generics)란? - 데이터 타입을 일반화(Generalize)하는 것을 의미 - 다양한 타입의 객체들을 다루는 메소드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능 제네릭스를 사용하는 이유 - 클래스나 메소드 내부에서 사용되는 객체의 안정성을 높일 수 있다. - 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다. 제네릭스의 형식 public class 클래스명 {...} public interface 인터페이스명 {...} == Type == Element == Key == Value == Number == Result Java Generics Type Erasure(제네릭 타입소거) 구체화 vs 비구체화 구체화 타입(reifiable type) : 자신의 타.. 2022. 10. 8. Memo api 구현 최대한 lombok 없이 구현해 보았다. Memo.java @Entity public class Memo extends Timestamped{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(nullable = false) private String username; @Column(nullable = false) private String contents; // 파라미터가 있는 생성자를 하나라도 정의하게 되면 // 더이상 기본생성자를 생성하지 않기때문에 기본생성자를 꼭 만들어줘야한다. // @NoArgsConstructor 을 사용하는 이유 public Memo(){ } public Memo(MemoRequestDt.. 2022. 10. 7. @RestController A convenience annotation that is itself annotated with @Controller and @ResponseBody. Types that carry this annotation are treated as controllers where @RequestMapping methods assume @ResponseBody semantics by default. @Controller 및 @ResponseBody로 자체 주석이 달린 편리한 주석. 이 주석을 포함하는 유형은 @RequestMapping 메서드가 기본적으로 @ResponseBody 의미 체계를 띠고 있는 컨트롤러로 처리됩니다. @RestController를 입은 컨트롤러는 요청 매핑 애노테이션을 붙인 메서드의 리턴으.. 2022. 10. 6. @GetMapping Annotation for mapping HTTP GET requests onto specific handler methods. Specifically, @GetMapping is a composed annotation that acts as a shortcut for @RequestMapping(method = RequestMethod.GET). HTTP GET 요청을 특정 처리기 메서드에 매핑하기 위한 주석입니다. 특히 @GetMapping은 @RequestMapping(method = RequestMethod.GET)의 바로 가기 역할을 하는 합성 주석입니다. 2022. 10. 6. Spring 서버에서 객체를 JSON으로 변환 후 응답하기 JSON 응답 클라이언트는 서버를 거쳐서 DB에 접근한다. 클라이언트가 DB에서 필요한 정보를 얻기 위해, 서버에게 데이터를 요청하면 서버에서는 클라이언트가 필요한 데이터 또는 그 데이터가 포함된 데이터를 보내준다. 이 때, 서버가 보내주는 데이터는 클라이언트가 해석하기 쉬우면 좋고, 내용이 간결해서 전송속도가 빠르면 좋을 것입니다. 그래서 사용하는 데이터의 형식 중 대표적인 하나가 JSON입니다. Jackson 라이브러리 는 JAVA Object 형태의 값을 데이터 구조를 표현하는 방식인 XML 또는 JSON 형태로 만들어 보낼때 사용하는 라이브러리다. Jackson 라이브러리 특징 - XML/YAML/CSV 등 다양한 형식의 데이터를 지원 - 스트림 방식으로 속도가 빠르며 유연하고, annotatio.. 2022. 10. 6. 2주차 알고리즘 문제 푸는것이 싫지 않고 재밌다 그래서 더 많이 풀고싶은데 시간이 안난다. 이번주에는 좀더 많이 풀어볼 계획이다. https://1sangcoder.tistory.com/112?category=969718 1.문자 찾기 설명 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 대소문자를 구분하지 않습니다.문자열의 길이 1sangcoder.tistory.com https://1sangcoder.tistory.com/113?category=969718 2. 단어 뒤집기 2. 단어 뒤집기 설명 N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요. 입력 첫 줄에 자연수 N(3 2022. 10. 3. HTTP API 설계 예시 2022. 10. 1. client to server 2022. 10. 1. POST, PUT, PATCH 차이점 HTTP Method 1.POST I.새 리소스 생성(등록) - 서버가 아직 “식별하지 않은” 새 리소스 생성 ex) 회원(리소스)에서 가입기능(method) ex) 회원(리소스)에서 수정기능(method) II. 요청 데이터 처리 - 단순히 데이터를 생성하거나, 변경하는 것을 넘어서 프로세스를 처리해야하는 경우 ex) 주문에서 결제완료 → 배달시작 → 배달완료 같은 단순히 값 변경을 넘어 프로세스의 상태가 변경되는 경우 - POST의 결과로 새로운 리소스가 생성되지 않을 수도 있을때 컨트롤 URI 사용 ex) POST /orders/{orders{/start-delivery (컨트롤 URI) 2. PUT I. 리소스를 대체 - 리소스가 있으면 “완전히” 대체 - 리소스가 없으면 생성 ex) 폴더안에 새.. 2022. 10. 1. HTTP API 설계 2022. 10. 1. HTTP 메시지 구조 공식 스펙 https://www.rfc-editor.org/rfc/rfc7230#section-3 2022. 10. 1. 뒤집은 소수 설명 N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 소수를 출력하는 프로그램을 작성하세요. 예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출력한다. 단 910를 뒤집으면 19로 숫자화 해야 한다. 첫 자리부터의 연속된 0은 무시한다. 입력 첫 줄에 자연수의 개수 N(3 2022. 9. 28. 이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음