필자는 해당 기능을 구현하는 것 중에서 유저의 필드 중 특정 부분만 업데이트를 해주는 서비스가 있었습니다. 그래서 테스트케이스에서 응답에 대하여 해당 필드 값을 반환을 안해줘서 이에 대한 체크를 못했던 것이 컸던 것 같다. 변경 전 코드 @Transactional public Message clickAlarmToggle(Account account, Boolean on) { account.setIsAlarm(on); return Message.of(StatusEnum.ACCOUNT_OK,AccountContent.CHANGE_ALARM_TOGGLE); } public static Account getAccount() { PrincipalDetails principal = (PrincipalDetails)..
1. notify @IntrinsicCandidate public final native void notify(); Wakes up a single thread that is waiting on this object's monitor. If any threads are waiting on this object, one of them is chosen to be awakened. The choice is arbitrary and occurs at the discretion of the implementation. A thread waits on an object's monitor by calling one of the wait methods. The awakened thread will not be abl..
JPA N+1 연관 관계에서 발생하는 이슈로 연관 관계가 설정된 엔티티를 조회할 경우 첫 번째 조회 + 해당 갯수(N) 만큼 조회되는 현상을 말한다. 테이블은 다음과 같이 구성되어 있습니다. @Test void test_query_check() { Account account = AccountTemplate.makeTestAccountForIntegration(); List organizations = new ArrayList(); for (int i = 0; i < 10; i++) { organizations.add(OrganizationTemplate.makeTestOrganizationForIntegration("테스트"+i)); } Account newAccount = accountReposito..
1. Object 생성자 @IntrinsicCandidate public Object() {} /** Returns the runtime class of this Object. The returned Class object is the object that is locked by static synchronized methods of the represented class. The actual result type is Class getClass(); Returns the runtime class of this Object. The returned Class object is the object that is locked by static synchronized methods of the represen..
Exception 1. 컴파일 에러 컴파일 시에 발생하는 에러 2. 런타임 에러 프로그램의 실행도중에 발생하는 에러 3. 논리적 에러 실행은 되지만, 의도와 다르게 동작하는 것 에러(error): 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외(exception): 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 RuntimeException클래스들은 주로 프로그래머의 실수에 의해서 발생될 수 있는 예외들로 자바의 프로그래밍 요소들과 관계가 깊다. Exception클래스들: 사용자의 실수와 같은 외적인 요인에 의해 발생되는 예외 RuntimeException클래스들: 프로그래머의 실수로 발생되는 예외 컴파일러가 예외처리를 확인하지 않는 RuntimeException클래스들은 'unche..
자바에서 추상화 할 수 있는 방법은 추상화 클래스(abstract class)와 인터페이스 두가지 방법이 있다. 그렇다면 전자와 후자 둘 중 어떤 방법이 더 좋은 방법일까? 바로 인터페이스다. 그러한 이유를 설명해보도록 하겠습니다. 추상화 클래스 인터페이스 상속 갯수 1 N 확장성 이미 구현되어 있는 클래스에서 추상화클래스를 추가할려고 했을 때에는 기존 클래스가 이미 상속받고 있는 지 그리고 이미 명시되어 있는 메소드와 겹쳐 있는 지 확인해야 하는 작업이 필요하다. 추상화 클래스와 다르게 기존 클래스에서 상속받고 있는 지 확인하지 않아도 된다. 인터페이스의 메소드와 기존 클래스 메소드에서 겹친 것이 있더라도 오버라이딩 되면서 문제가 발생하지 않는다.(1) 방향 수직적 수평적 심지어 인터페이스에서 JDK1..
1. 기본지식 클래스변수: 클래스가 메모리에 로딩(loading) 될 때 생성되어 프로그램이 종료될 때 까지 유지되며, public을 앞에 붙이면 같은 프로그래 내에서 어디서나 접근할 수 있는 전역변수의 성격을 갖는다. 지역변수: 메서드 내에 선언되어 메서드 내에서만 사용 가능하며, 메서드가 종료되면 소멸되어 사용할 수 없게 된다. 1. 클래스 변수를 활용한 케이스 public class StaticClass { private static final Pattern PATTERN = Pattern.compile("^(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&+=])(?=\\S+$).{8,}$"); public static boolean validPassword(String passwor..
1. Slack 자체설정 1. 앱 만들기 2. Bots 선택 3. 좌측 OAuth & Permissions 클릭 4. Token 복사 5. 토큰 범위 쓰기 까지 설정 6. 알림을 보내고자 하는 채널 우클릭 우클릭을 하면 링크 복사가 있는데 거기에서 https:/testtest.slack.com/test/C234KDSF932DF C234KDSF932DF이 부분이 채널이다. 2. 스프링 부트 1. application.yml slack: token: xoxb-???????????????????????????????????????????? channel: monitor: ??????????? 와 같이 저장을 하자. 각 자신의 토큰과 채널을 넣어주면 된다. 2. AlertService.java @Service ..
- Total
- Today
- Yesterday
- BFS
- postgres
- Java
- dockerignore
- setattr
- docker-compose
- PostgreSQL
- 카카오
- Python
- 그래프
- 면접
- 2021 KAKAO BLIND RECRUITMENT
- django
- Linux
- Collections
- Command Line
- 파이썬
- 백준
- ubuntu
- 알고리즘
- headers
- Spring
- env
- 프로그래머스
- DRF
- 자바
- Celery
- thread
- docker
- Pattern
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |