일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 인프런
- SQL
- 안드로이드
- Til
- join
- 오블완
- java
- 정처기
- Kotlin
- groupby
- 코틀린
- 자료구조
- 알고리즘
- 카카오코테
- 안드로이드스튜디오
- 프로그래머스
- 혼공단
- 혼공파
- 정보처리기사
- select
- 기술면접
- CS
- doitandroid
- 티스토리챌린지
- Android
- 자바
- 코테
- 스터디
- 혼공챌린지
- MySQL
- Today
- Total
목록전체 글 (378)
Welcome! Everything is fine.

삭제 기능 테스트 도중, 올바른 비밀번호를 입력해도 404 에러가 뜨는 문제가 있었다. 404 에러를 던지도록 설정한 부분은 DB에 있는 비밀번호와 입력한 비밀번호가 틀리는 경우 발생한다. 이것저것 시도해보다 Repository Layer에서 정확한 scheduleId와 password가 출력되는 것을 확인한 후, 비밀번호를 검증하는 Service Layer에서 다음과 같이 출력해봤다.System.out.println("db password = " + current.getPassword());System.out.println("input password = " + password);System.out.println("equals = " + current.getPassword().equals(passwor..

예외 처리를 구현하는 도중, 원하는 곳에서 예외가 발생하지 않고 엉뚱한 곳에서 발생해서 그 원인을 찾아보았다. 일정을 수정하는 부분 중 findScheduleByIdWithPassword()에서 내가 설정한 ScheduleNotFoundException이 아니라 EmptyResultDataAccessException이 났다.@Transactional@Overridepublic ScheduleResponseDto updateSchedule(Long scheduleId, ScheduleRequestDto dto) { Schedule current = scheduleRepository.findScheduleByIdWithPassword(scheduleId); if (current == null) ..

인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘HashSet해시 코드 해시 자료 구조에 데이터를 저장하는 경우 hashCode() 를 구현해야 한다! 해시 인덱스는 배열의 인덱스로 사용되기 때문에 양의 정수만 사용 가능하다. 따라서 문자 혹은 객체의 경우 hashCode() 메서드를 통해 고유한 숫자를 만들고, 그 숫자를 이용해 해시 인덱스를 만든다. 문자열의 경우, hashCode() 메서드를 통해 문자를 기반으로 고유한 숫자를 만든다. 강의에서는 'A' - 65, 'B' - 66, 'AB' - 131와 같이 아스키 코드를 통해 각 문자에 고유한 숫자를 할당해 계산했다. 실제 자바의 String.hashCode()는 다음과 같이..
보호되어 있는 글입니다.

인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘List"의존한다" 라는 것은 무엇일까? 다음과 같이 MyList를 구현하는 MyArrayList와 MyArrayList를 만들었다.public interface MyList { int size(); void add(E e); void add(int index, E e); E get(int index); E set(int index, E element); E remove(int index); int indexOf(E o);}public class MyArrayList implements MyList { //...}public class MyLinke..

인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘빅오(O) 표기법 빅오(Big O) 표기법 : 알고리즘 성능을 분석할 때 사용하는 수학적 표현 방식으로, 데이터의 양의 증가에 따른 성능 변화 추세를 이해하기 위한 방법이다. 데이터가 매우 많이 들어오면 상수는 크게 의미가 없어지므로 빅오 표기법에서는 상수를 제거한다.O(1) : 상수 시간, 입력 데이터의 크기에 관계없이 알고리즘 실행 시간이 일정O(n) : 선형 시간, 알고리즘 실행 시간이 입력 데이터의 크기에 비례하여 증가O(n^2) : 제곱 시간, 알고리즘의 실행 시간이 입력 데이터의 크기의 제곱에 비례하여 증가O(log n) : 로그 시간, 알고리즘의 실행 시간이 입력 데이터의..
✅ 계산기 과제 해설과제 제출 마감 직후, 바로 튜터님의 해설 세션이 시작되었다. 해설을 들으며 내가 빼먹은 부분이나 몰랐던 부분을 알게 되었다. ✔️ null을 조심하자보통 문자열이 같은지 확인하기 위해 equals() 메서드를 쓸 때, 다음과 같이 사용해왔다.input.equals("exit");하지만 확실히 null이 될 수 없는 것을 앞에 두는 것이 좋다고 한다.“exit”.equals(input); ✔️ 요구사항은 꼼꼼히예외처리를 할 때, 여러 상황에서 살펴봤지만 정작 양의 정수로 제한하는 예외 처리를 빼먹었다.요구사항을 더 꼼꼼히 살피는 습관을 들이자.if (num1 ✔️ 타입 매개변수 제한이 중요!Lv.3에서 사용된 제네릭은 사용해봤다는 것이 중요하다고 하셨다. 특히 와 같이 타입 매개변..
enum 사용하기LV.3 계산기 구현을 시작했는데, enum 타입으로 연산자 타입에 대한 정보를 관리해야한다는 요구사항을 보고 고민에 빠졌다. 처음에는 이런 식으로 하라는 건가? 했는데, 이미 Lv.2 계산기를 할 때 switch문에서 잘못된 연산자를 입력 받지 못하게 했기 때문에 enum을 왜 써야하는지 의문이었다. 사칙연산을 그대로 enum에 집어넣을 수 있다면 몰라도...?public enum OperatorType { ADD("+"), SUBTRACT("-"), MULTIPLY("*"), DIVIDE("/")} 알고보니 정말 집어넣을 수 있었다. enum 상수마다 동작을 다르게 정의해야 할 때 익명 클래스를 사용해 각 상수별로 고유한 메서드 구현을 할 수 있다.public e..