728x90

IT/java 6

orElseThrow로 코드 가독성을 높이자

회사에서 프로젝트 진행시 Optional 객체의 유무를 판단하고 예외를 처리하기 위해 if문을 사용했다 그러다가 개인 스터디에서 다른 분들이 orElseThrow를 사용하는 거를 보고 코드의 가독성이 높다고 생각하게 되었다 아래 if문을 쓸 때와 orElseThrow 사용할 때 코드를 비교해 보면, 예시 코드 public class NoticeService { // if 사용 public void remove(Long noticeId) { // select Optional noticeResponse = noticeMapper.findById(noticeId); // 예외처리 if(noticeResponse.isEmpty()){ throw new NoticeNotFoundException(); } if (..

IT/java 2023.08.30

Spring 카카오 로그인 REST API

구현 전 체크사항 ✔️ ☑️ 카카오 로그인 REST API은 단지 사용자 정보(닉네임, 이메일 등)를 제공하는 API이다. 실제 로그인이 되는건 아님!!!!! ☑️ 실제 자동 로그인되고 하는건, 카카오싱크라고 따로 있는것 같다. 카카오싱크는 사업자로 등록되어 있는 사람만 신청할수있음 ☑️ 우리는 받은 사용자 정보를 토대로 로그인을 시키거나 회원가입을 시키거나 하는건 따로 구현해줘야한다. ☑️ https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api 에서 설정해줘야 하는 부분이 몇 군데 있다 1. REST API 키 발급 2. Redirect URI 등록 3. 동의 항목 체크 (나는 닉네임, 카카오계정(이메일))만 체크했다. ☑️ login.jsp ..

IT/java 2022.10.02

맥mac 이클립스 스프링 개발 이미지 업로드 파일 경로(윈도우에서 옮겨오면서 생긴 일), 해결중...

https://makeaplayground.tistory.com/136 국비 TIL(Today I Learned) 20220901 갤러리 실습 어제꺼 복습 EXCEPTION_INFO.jsp 예외발생했을때 exceptionResolver가 esception 객체를 돌려줌 첨부파일 할때 name이 있어야 작동함!! 아래 코드는 기존 T/update.jsp임 FileController.java에서 getFileMap().. makeaplayground.tistory.com 오늘(2022.09.01) 학원에서 실습한 갤러리 게시판이 맥으로 옮겨오니, 이미지가 다 깨졌다. 경로 문제였다. 학원에서는 경로는 "C:\\MyWork\\workspace\\.metadata\\.plugins\\org.eclipse.wst..

IT/java 2022.09.02

class 생성시, equals() hashCode() 오버라이딩!

HashSet 예로 들어 들어, equals(), hashCode() 오버라이딩에 대한 설명해보려고 한다. Set은 순서가 없고, 중복을 허용하지 않기 때문에, 기본적으로 중복된 데이터는 허용하지 않는다. 그러나 객체가 들어갈경우, 같은 데이터로 인식을 못하게 된다. 그래서 equals(), hashcode()의 오버라이딩이 필요하다! // HashSet의 equals hashcode 오버라이딩 public class HashSetEx { public static void main(String[] args) { HashSet set = new HashSet(); set.add("abc"); set.add("abc"); set.add(new Person("David", 10)); set.add(new Pe..

IT/java 2022.08.07

Java에서의 Array, List, Map, Set, lterator

List는 왜 만들어졌냐? => 배열의 한계 때문, 배열을 사용하기 위해서는 크기를 정해야함!! 따라서 List 만들어짐 int[] num = new int[10]; // 크기 지정해야함 List num1 = new ArrayList(); // 크기 지정 안해줘도 됨 ArrayList 데이터(객체) 저장공간으로 배열을 사용. ArrayList list1 = new ArrayList(10); // ArrayList에는 객체만 저장가능 // autoboxing에 의해 기형이 참조형으로 자동 변환됨! 그리고 그냥 5 이렇게 적어도 된다 list1.add(5); list1.add(new Integer(3)); list1.add(new Integer(4)); list1.add(new Integer(0)); lis..

IT/java 2022.07.04

자바 - 클래스에서 인스턴스(Instance) 생성과 사용

자바의 정석 책을 토대로 작성하였습니다. - 클래스로부터 인스턴스 생성하는 방법 클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수 선언 변수명 = new 클래스명(); //클래스의 객채를 생성후, 객체의 주소에 참조변수 저장 Tv t; // Tv클래스 타입의 참조변수 t를 선언 t = new Tv(); // Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장 1. Tv t; Tv클래스 타입의 참조변수 t선언, 메모리에 참조변수 t를 위한 공간이 마련, 아직 인스턴스 생성되지 않았으므로 참조변수로 아무것도 할수 없음 2. t = new Tv(); 연산자 new에 의해 Tv클래스의 인스턴스가 메모리의 빈 공간에 생성. 이 떄, 멤버변수는 각 자료형의 해당하는 기본값으로 초기화됨 (..

IT/java 2022.05.09
728x90