JAVA 37

[JAVA_Study] 스터디 3일차 -3 (컬렉션이란?)

[항해99 자바 문법 뽀개기 1-18강 ~ 1-22강 강의] 컬렉션 - 개념 설명 이번 장의 목표 이번 장에서는 자바에서 자료구조를 표현하는 인터페이스인 컬렉션(Collection), 그리고 구체적인 자료구조의 종류인 리스트(List), 스택(Stack) ,큐(Queue),셋(Set),맵(Map)의 개념과 예제 코드를 함께 배웁니다. 컬렉션의 개념과 클래스는 코딩을 하면서 숨쉬는 것처럼 계속 사용해야하는 것이니 이번 기회에 잘 배워두시기를 바랍니다. 컬렉션 프레임워크란? 다수의 데이터를 다루기 위한 자료구조를 표현하고 사용하는 클래스의 집합을 의미합니다! 데이터를 다루는데 필요한 풍부하고 다양한 클래스와 기본함수를 제공하기 때문에 많이 유용합니다! 실제 자바 어플리케이션을 개발할 때 가장 많이 사용할 클..

JAVA 2022.06.22

[JAVA_Study] 스터디 3일차 -2 (날짜와 시간 다루기)

[항해99 자바 문법 뽀개기 1-18강 ~ 1-22강 강의] 날짜와 시간 다루기 이번 장의 목표 기본적인 날짜와 시간을 출력 및 데이터를 가공하는 방법에 대해서 배워보겠습니다. Java에서의 날짜와 시간 Java를 기반으로 하는 개발을 할 때 날짜를 이용하여 여러 기능을 제공해야 할 때가 있습니다. 날짜와 시간을 처리하는 클래스들을 다루면서 하나씩 공부를 해보겠습니다! 우리는 이제 날짜와 시간을 사용할 때 자주 쓰이는 java.time패키지에 대해서 하나씩 살펴볼 것입니다! 👉 패키지(package)란? 간단하게는 클래스의 묶음이라고 할 수 있습니다. 패키지에는 클래스 혹은 인터페이스를 포함시킬 수 있으며 관련된 클래스끼리 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있습니다. 날짜와 시간 다루기 예제..

JAVA 2022.06.22

[JAVA_Study] 스터디 3일차 -1 (예외, 에러처리)

[항해99 자바 문법 뽀개기 1-18강 ~ 1-22강 강의] 예외, 에러 처리 이번 장의 목표 프로그램을 만들다 보면 다양한 에러가 발생하곤 합니다. 이번 장에서 이러한 에러를 처리하는 방법에 대해 배워보겠습니다. 예외처리란(Exception, Error Handling) 코드를 완벽하게 짰다고 해서 항상 프로그램이 성공적으로 도는 것은 아닙니다. 다양한 예외 상황이 발생할 수 있는데요. 이것에 대응하기 위해서 예외 처리 코드가 필요합니다. 예외처리의 목적 예외의 발생으로 인한 실행 중인 프로그램의 비정상 종료를 막기 위해서 개발자에게 알려서 코드를 보완할 수 있도록 하게 위해서 자바에서는 상속을 이용해서 모든 예외를 표현합니다. 모든 예외 클래스는 Throwable의 자손 클래스 입니다. Throwab..

JAVA 2022.06.22

[JAVA_Study] 스터디 2일차 (for-each문, 생성자, 상속, 인터페이스, 추상클래스 )

[항해99 자바 문법 뽀개기 1-10강 ~ 1-17강 강의] 스터디 할 때 배운 거 - 반환 타입이 있고 괄호 안에 매개변수 있으면 메서드 - 반환 타입 없고 이름이 클래스랑 같으면 생성자 - 추상 클래스 객체 생성 안됨 - 추상 메서드는 구현체 없어야 함 - 추상 클래스 상속 받으면 무조건 Override 되어야 하고 추상 메서드 무조건 들고와야 한다. - 추상 메서드 있으면 무조건 추상 클래스이다. - 객체지향에서 중요한거 인터페이스, 상속, 클래스 반복문에는 대표적으로 for 문과 while 문 그리고 do ~ while 문이 있습니다. for - each문 위 형식의 for 반복문 이외에도 아래와 같은 for-each문을 작성할 수도 있습니다. 앞서 배운 배열이나, Collection등에 사용이 ..

JAVA 2022.06.21

[JAVA_Study] 스터디 1일차 (변수, 상수, 배열, 삼항연산자)

[항해99 자바 문법 뽀개기 1-3강 ~ 1-9강 강의] 변수와 상수 변수와 상수가 무엇일까? 변수 : 어떠한 데이터를 저장하기 위한 메모리 공간의 이름입니다. 지속적으로 변수의 값을 변경할 수 있습니다. 상수 : 중간에 값이 변할 수 없으며 초기값을 끝까지 사용해야 합니다. 변수를 선언할 때는 [접근제어자] [변수의 자료형] [변수의 이름] 의 방식을 이용하면 됩니다. 변수 선언을 할 때 값도 함께 선언하고 싶을경우에는 [변수의 자료형] [변수의 이름]=[값] 의 방식을 이용하면 됩니다. int num = 5; //정수형 변수 선언 System.out.println(num); String sparta = "Hello Sparta!"; // 문자형 변수 선언 System.out.println(sparta..

JAVA 2022.06.20

[JAVA/SpringBoot] 회원별 상품 등록 및 조회 (2-10)

[여기에 적은 거는 강의 내용을 다 적은게 아니라서 강의자료 보면서 이 게시글 참고하자.] [스프링 심화 강의 2주차 10강 회원별 상품 등록 및 조회] - springCore 프로젝트에서 실습 상품 등록 및 조회 (모든 회원) - 상품 등록 API 가 처리되지 않고 있음 POST "/api/products" 요청 → HTTP 403 Forbidden 403 Forbidden : 너가 요청한 것은 서버에서 너한테 허용하지 않은거야 라고 하는거다. - POST 요청마다 처리해 주는 대신 ★ CSRF protection 을 disable 1) POST 요청마다 처리 http.csrf() .ignoringAntMatchers("/user/**") .ignoringAntMatchers("/api/products..

JAVA 2022.05.29

[JAVA/SpringBoot] 로그인, 로그아웃 기능 구현 (2-9) 세번째

[여기에 적은 거는 강의 내용을 다 적은게 아니라서 강의자료 보면서 이 게시글 참고하자.] [스프링 심화 강의 2주차 9강 로그인, 로그아웃 기능 구현] - springCore 프로젝트에서 실습 ★ 로그인, 로그아웃 처리 과정 이해 회원 로그인 / 로그아웃 UI 처리 로그인 성공 시 페이지 "로그아웃" 버튼 클릭 시 "GET /user/logout" 로 API 설계 했는데, "POST /user/logout" 으로 처리 필요 ★ 이유: CSRF protection 이 기본적으로 enable 되어 있기 때문 CSRF protection 을 disable 하면 GET /user/logout 으로도 사용 가능 로그인 성공한 회원의 username 표시 UI 에서 username 대신 nickname (별칭),..

JAVA 2022.05.29

[JAVA/SpringBoot] 로그인, 로그아웃 기능 구현 (2-9) 두번째

[여기에 적은 거는 강의 내용을 다 적은게 아니라서 강의자료 보면서 이 게시글 참고하자.] [스프링 심화 강의 2주차 9강 로그인, 로그아웃 기능 구현] - springCore 프로젝트에서 실습 ★ 로그인, 로그아웃 처리 과정 이해 로그인, 로그아웃 구현 1. 로그인, 로그아웃 처리 URL 설정 [코드스니펫] security > WebSecurityConfig // 로그인 처리 (POST /user/login) .loginProcessingUrl("/user/login") // 로그아웃 처리 URL .logoutUrl("/user/logout") [전체 코드] 더보기 import org.springframework.context.annotation.Bean; import org.springframewor..

JAVA 2022.05.29

[JAVA/SpringBoot] 로그인, 로그아웃 기능 구현 (2-9) 첫번째

[여기에 적은 거는 강의 내용을 다 적은게 아니라서 강의자료 보면서 이 게시글 참고하자.] [스프링 심화 강의 2주차 9강 로그인, 로그아웃 기능 구현] - springCore 프로젝트에서 실습 ★ 로그인, 로그아웃 처리 과정 이해 스프링 시큐리티 사용 전 스프링 시큐리티 사용 후 Client 의 요청은 모두 Spring Security 를 거침 Spring Security 역할 인증/인가 성공 시: Controller 로 Client 요청 전달 Client 요청 + 사용자 정보 (UserDetails) 실패 시: Controller 로 Client 요청 전달되지 않음 Client 에게 Error Response 보냄 로그인 처리 과정 상세 처리 과정 설명 1. Client 로그인 시도 로그인 시도할 u..

JAVA 2022.05.29

[JAVA/SpringBoot] 패스워드 암호화 구현 (2-8)

[여기에 적은 거는 강의 내용을 다 적은게 아니라서 강의자료 보면서 이 게시글 참고하자.] [스프링 심화 강의 2주차 8강 패스워드 암호화 구현] - springCore 프로젝트에서 실습 패스워드 암호화 적용 암호화 알고리즘을 "빈(Bean)" 으로 등록 저희는 스프링 시큐리티에서 '권고'하고 있는 'BCrypt 해시함수'를 사용해 패스워드를 암호화하여 DB 에 저장하겠습니다. @Bean public BCryptPasswordEncoder encodePassword() { return new BCryptPasswordEncoder(); } [코드스니펫] security > WebSecurityConfig - 전체 코드 - WebSecurityConfig에 @Configuration이 있다. 이 어노테이션..

JAVA 2022.05.29