본문 바로가기

728x90

전체 글

(338)
자바 옵셔널(Optional<T>) Optional이란? NPE(Null Poiter Exception)에 Optional 클래스에서 제공하는 메서드로 대응할 수 있다. Optional 제공 메서드 : 생성 1. empty() : "비어있는" 객체 생성 Optional empty = Optional.empty(); // "비어있는" Optional 타입 객체를 생성 System.out.println(empty.isPresent()); // false, 객체생성은 되었지만 값이 없으므로 false 2. of() : 값이 있는 객체 생성. Null 값이 입력되는 경우 NPE 발생 ~ Null이 확실히 발생하지 않을 경우 사용 Optional empty = Optional.of("assert NotNull"); System.out.println..
스트림 API class Product { private int age; private String name; public Product(int age, String name) { this.age = age; this.name = name; } public int getAge() { return age; } public String getName() { return name; } } 주로 배열이나 컬렉션에 담긴 데이터를 다룰 때 사용한다. 특징 : 스트림은 데이터를 변경하지 않는다. ~ Immutable 재사용이 불가능하다. ~ 최종 연산이 실행된 후 재사용 불가능. 스트림 생성 - 중간 연산 - 최종 연산 => 클래스타입.스트림생성().중개연산().최종연산(); ~ 파이프라인 연산 방식 대표 스트림 중개 연산자 필터..
함수형 인터페이스와 람다 표현식 1. 함수형 인터페이스 - 추상메서드를 하나만 가지고 있는 인터페이스 - @FunctionalInterface 어노테이션을 인터페이스에 선언하면 컴파일 시점에서 추상메서드가 하나만 있는지 체크 - 부작용을 최대한 배제하는, 함수형 프로그래밍의 일환 2. 람다 표현식 메서드를 하나의 식으로 표현 : 메서드 이름과 리턴값의 표시가 없어지기 때문에 익명 함수라고도 한다. 익명 클래스의 객체와 동등하다 interface Calculator { int sum(int a, int b); } class MyCalculator implements Calculator { public int sum(int a, int b) { return a+b; } } public class Sample { public static v..
12. 05 ~ 12. 09/ 6주 차 WIL 스프링 입문 강의를 통해 처음 접해본 스프링, 쉴 시간은 없다. 다음 주는 스프링 숙련이다! 1. 스프링 입문강의 완강 + 웹 메모장을 위한 백엔드 서버 실습 강의를 듣는 데만 2일 반은 쓴 것 같다. 처음 듣는 내용에 대해 찾아보고, 검색하고, 정리하고, 다시 듣고, 이해가 안되니 생각하고.. 머리 굴리는 데는 나름 자신있는 편인데도 시간을 꽤나 잡아먹었다. 그래도 끝내고 나니 확실히 머리가 트여 실습까지 해내는 데 큰 무리없이 해낼 수 있었고, 웹 메모장을 위한 백엔드 서버를 통해 지난 프로젝트였던 자바 메모장 프로젝트, 자바 은행관리 프로젝트에 대한 복습도 같이 할 수 있었고, MVC 패턴의 위대함을 느낄 수 있는 시간이 되었다. 2. 프로젝트: 블로그를 위한 백엔드 서버 실습 강의와 실습을 바탕으..
12. 09 스프링 숙련 강의/ 스프링 공부/ DB 특강/ 코딩 테스트 입문 1. 스프링 숙련 강의 JPA 심화 강의 2. 스프링 공부 입문 강의 복습을 통한 학습 성취도 향상 프로젝트 생성 라이브러리 View 설정 웹개발 기초 : 정적 컨텐츠/ MVC와 템플릿 엔진/ API 3. DB 특강 4. 코딩 테스트 입문 배열의 평균값(처음으로 배열 문제 중 아무 구글링도 없이 해결.. 쉬운 문제지만 성취감 있다) 짝수의 합 ~ 조건문으로 짝수 구할 것 없이 반복문에서 증감문을 i += 2로 두면 된다.
12. 08 스프링 부트를 활용한 블로그 백엔드 서버 만들기/ 코딩 테스트 입문/ 스프링 숙련 강의 1. 스프링 부트를 활용한 블로그 백엔드 서버 만들기 꼬박 이틀 걸린 것 같다. 아직은 흉내내기에 가까운 만들기지만, 최대한 빠르게 내 걸로 만들 수 있다면 좋겠다. ** 엔티티는 DB의 테이블( 객체 지향적 언어의 속성을 살려 자바 관점에서 본 객체 )과 속성이 같아야 한다. 22.12.08 트러블 슈팅 Post 생성자를 만들 때 Dto 인자를 주입하며 @RequestBody를 사용하지 않음 (@ResponseBody와 혼동: @RestController) -> 값이 할당되지 않음 : 해결 +@RequestBody로 받을 때는 반드시 받는 객체가 기본 생성자를 가지고 있어야 한다( 인자의 필드가 하나인 경우에, 인자를 가진 생성자 메서드만 있으면 안된다, 둘 다 있는 건 가능 + 하나만 있는 경우는 S..
개인 과제 : Springboot를 활용한 블로그 Backend 서버 만들기 깃허브 : https://github.com/cdaosldk/projectBlog 1. Usecase 작성 2. API 설계 CRUD 기능 메서드 URL 반환 전체 게시물 조회 GET / List 선택 게시물 조회 GET /posts/{id} Long 게시물 작성 Post /posts Post 게시물 수정 Put /posts/[id} Long 게시물 삭제 Delete /posts/{id} Long 3. 프로젝트 시작 ** 엔티티는 DB의 테이블( 객체 지향적 언어의 속성을 살려 자바 관점에서 본 객체 )과 속성이 같아야 한다. 22.12.08 트러블 슈팅 Post 생성자를 만들 때 Dto 인자를 주입하며 @RequestBody를 사용하지 않음 (@ResponseBody와 혼동: @RestControlle..
[JAVA] 형 변환 유형 : 문자열 -> 정수 + 프로그래머스 영어가 싫어요 https://school.programmers.co.kr/learn/courses/30/lessons/120894 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열을 정수로 변환할 때 일반적인 프로세스 : 1. 바꾸려는 문자열을 배열에 저장한다. 2. 반복문 ~ 파라미터 문자열 = 문자열클래스(기본생성자).replaceAll(문자열[i], String.valueOf(i)); 3. 정수 타입 answer = 정수타입.parse정수타입(파라미터 문자열); return answer; 와 정말 단순 명확하다! 감탄하는 풀이

728x90