*추가가 필요한 내용 - Collections.sort() 오름차순, 내림차순 정렬법 a,b면 오름차순 b,a면 내림차순 Collections.sort(((a,b) -> sampleList.get(b).compareTo(sampleList.get(a)))) 이러면 리스트를 내림차순 - Comparator comparator = new Comparator(){ @Override public int compare(~~~~~) ~~~~} 이렇게 조건을 커스텀해서 Collections.sort(songsInGenre, comparator) 요런 식으로 쓸 수 있음 String 관련 메서드 String str = "apple"; //길이 반환 str.length(); //빈 문자열 체크 str.isEmpty();..
시작 전 정말 단순하게 chat gpt api를 사용하는 것 뿐이니, 이 글이 아니라 공식 document를 보셔도 좋습니다. 여러 방면으로 활용할 수도 있는데, 일단 간단하게만 해 보겠습니다. 그리고 무지막지하게 쓰면 과금이 될 수 있습니다. 근데 뭐 사실 아래 코드에서 돈나오게 쓰는 것도 힘들긴 합니다. 다만 이걸 활용해서 자동 응답과 같은 기능을 만든다고 했을때는 꼭 usage를 확인하시면서 사용해야 할 겁니다. 결과물 - API key 발급받기 openAi로 이동해 api key를 발급받습니다. -의존성 추가 아래의 의존성을 추가해 줍니다. implementation 'com.theokanning.openai-gpt3-java:client:0.11.1' implementation 'com.theo..
1.테스트코드에서 자꾸 NPE가 나옴 2.productRepository.findById(requestDto.getProductId())이런 애들이 메서드에 감싸져 있어서 mock 객체를 제대로 참조하지 못한다고 판단함. 3.이런 메서드들을 override하고 필요에 따라 when()을 이용해서 낚아챌 필요가 있는 것들을 낚아채서 내가 설정한 값을 리턴하도록 해 둠 ================================================================================= 미니프로젝트 진행 중 아래 코드의 테스트코드를 작성해야하는 필요가 생김. //단일 상품 주문하기 @Transactional public OrderDto orderOne(Members member, ..
토이프로젝트 진행 중 1000만건의 더미데이터를 생성할 필요가 생겼습니다. 두 가지 아이디어가 떠올랐는데, SQL 프로시저를 사용하는 방법과 faker를 사용하는 방법이었습니다. 뭐가 더 나을지를 생각하다가, 나에게 더 익숙한 방법으로 진행하기로 했습니다. 두 방법에서 속도의 차이도 있지 않을까 싶은데 이건 나중에 테스트를 해보고 업데이트 하겠습니다. faker 의존성을 추가해 줍니다. dependencies { implementation 'net.datafaker:datafaker:1.5.0' } 파일이 저장될 위치를 지정합니다. 컴파일러 출력에서 위치를 지정할 수 있습니다. 더미데이터를 만들 코드를 작성합니다. 저는 제 토이프로젝트에 필요한 내용대로 컬럼을 작성하였습니다. csv에서는 컬럼을 쉼표나 ..
자바의 에러와 예외의 상속 계층도는 아래와 같다. 위에서 보면 알 수 있듯, 실행 예외 (RuntimeException)을 제외하고는 전부 Checked Exception이라고 되어있다. 앞서 설명한 적이 있는데, 이는 컴파일 시점에서 확인될 수 있는 예외라는 것이다. 만약 코드를 작성하다가 Checked Exception을 발생시키면 예외를 반드시 처리해야 한다. 위 코드에서 IOException은 Checked Execption이기 때문에 컴파일 단계에서 예외 확인이 된다. 위 코드를 컴파일 하려면 try-catch로 예외처리를 하거나 throws로 예외를 던져줘야 한다. 반면에 Runtime Exception은 unchecked Exception인 이유는 개발자가 작성한 코드가 실행될 때 발견되는 ..
throw throw 키워드를 사용해서 예외를 발생시킬 수도 있다. 아래 코드처럼 바보라는 값이 입력되었을때 예외를 발생시켜 어플리케이션을 중단 시킬 수 있다. output throws throws를 통해 메서드에 예외를 선언할 수 있다. 예외 떠넘기기로도 불리는데 이 키워드 자체는 예외처리와는 관련이 없고 throws로 예외가 선언된 메서드를 사용할 때, 사용자가 각자 알아서 예외를 처리해줘야 한다. 즉, 해당 메서드에서 예외를 처리하는 게 아니라 메서드를 사용하는 쪽이 예외를 처리하도록 떠넘기는 것이다. 아래 answerText 메서드를 보면 throws로 예외를 선언하기만 했다. 따로 해당 예외에 대한 처리는 하고있지 않다. 떠넘겨진 예외는 위에서 사용될 때 처리되고 있다.
Try - catch문의 흐름 아래와 같은 코드가 있다고 해 보자. 구조를 살펴보면, - try 블록에는 예외 발생 코드가 위치한다. - try블록의 코드가 예외 발생 없이 실행되면 catch 블록의 코드는 실행되지 않는다. - try블록의 코드에서 예외가 발생하면 catch블록으로 이동하여 예외 처리 코드를 실행한다. 위의 경우에는 아래처럼 될 것이다. (catch에서 return이 빠져있음 ㅠ) output 코드를 조금 변경해서 이렇게 바뀐다면? 이번에는 data들에 값을 지정해 줬는데, data1에는 숫자 String, data2에는 그냥 string을 줬다. 이렇게 되면 아래와 같은 흐름으로 진행될 것이다. data1은 parseInt로 int로 변환이 가능하지만, data2는 변환이 불가능하다...
에러와 예외 자바에서는 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 에러(Error)라고 한다. 에러는 다시 컴파일 에러와 런타임 에러로 나뉜다. 컴파일 에러는 말 그대로 컴파일 과정에서 나오는 에러 (코드짜다가 마주치는 빨간 밑줄) 런타임 에러는 실행 과정에서 일어나는 에러이다. 컴파일 에러는 자바 컴파일러가 문법 검사를 통해 오류를 잡아내 준다. 우리는 컴파일러가 알려주는 오류를 수정하기만 하면 된다. (김영한님도 가장 좋은 에러가 컴파일 에러라고 하셨다!) 컴파일이 잘 되더라도 실행하는 도중 (Runtime)에 에러가 발생할 수 있는데, 이를 런타임 에러라고 한다. 자바에서는 이 런타임 에러를 예외와 에러로 나누어 대응한다. 예외(Exception)란 사용자의..
public void memberExceptionHandler(HttpServletResponse response, String msg, int statusCode) { response.setStatus(statusCode); response.setContentType("application/json"); try { String json = new ObjectMapper().writeValueAsString(new SecurityExceptionDto(statusCode, msg)); response.getWriter().write(json); } catch (Exception e) { log.error(e.getMessage()); } } 위 코드를 작성하고 두 번 연속으로 요청을 보내니 java.la..
깃허브 액션에서 자동 배포를 위해 gradle.yml을 작성하던 도중 위 에러를 마주침. 나의 경우에는 gradlew 파일이 실행 권한이 없기 때문에 발생하였다. jdk 세팅 이후 이 코드가 들어가게 하였다. # build 권한 설정 - name: Grant execute permission for gradlew run: chmod +x gradlew 아니면 이 코드를 사용해도 된다 chmod 755 gradlew
- Total
- Today
- Yesterday
- 대규모더미데이터
- 스프링faker
- index
- jmeter테스트
- jmeter로그인
- jwt
- bankersRounding
- jmeter세션
- pessimisticlock
- Redisson
- EC2
- Python
- jmeter쿠키
- Spring
- Redis
- jmeter부하테스트
- Java
- 자바
- hackerrank
- jmeter시나리오
- Lock
- CheckedException
- 항해
- 토큰
- 프로그래머스
- 부하테스트시나리오
- CorrectnessAndTheLoopInvariant
- 동적크롤링
- 인덱스
- jmeter토큰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |