분류 전체보기233 제네릭스 타입 컴파일 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 ··· 7 8 9 10 11 12 13 ··· 20 다음