반응형 전체 글383 [AI] GPT-4를 무료로 사용할 수 있는 AI 포털 서비스 뤼튼 소개 이번 포스팅에선 요즘 인기 많은 생성 AI 뤼튼 소개를 해보려고 한다. 유튜브를 보고 있는데 유병재가 AI랑 소설 짓기를 하고 있는 걸 보면서 ChatGPT인가보다 했는데 알고보니 뤼튼이라는 걸 사용하고 있었다. 신기해서 찾아서 들어가보니 생각보다 잘 만들어놨다. 뤼튼이란? 뤼튼테크놀로지스에서 나온 생성 AI로 2023년 1월에 오픈했는데 1년만에 가입자 수가 200만명이 넘었다고 한다. OpenAI의 GPT-3.5, GPT-4와 구글의 PaLM2 등 여러 모델들을 모두 무료로 사용할 수 있게 제공 중이다. 원래부터 무료는 아니고 2023년 12월 20일부터 전면 무료화 선언을 했다. 보다 자세한 설명은 뤼튼 공식 홈페이지를 참고하자. 뤼튼 사용 준비 1. 뤼튼에 들어간다. 2. 왼쪽 상단에 "새 채팅 .. 2024. 1. 26. [AI] GitHub Copilot 사용법 (8) - GitHub Copilot in the CLI 이번 포스팅에선 GitHub Copilot in the CLI에 대해 알아보려고 한다. GitHub Copilot in the CLI란? GitHub Copilot in the CLI는 GitHub CLI의 extension으로 터미널에서 채팅과 유사한 인터페이스를 제공하여 CLI에 관한 질문을 할 수 있게 한다. shell, gh, git command에 대한 질문을 할 수 있다. GitHub Copilot in the CLI는 현재 베타 버전이라 GitHub Copilot Individual도 사용할 수 있다. 자세한 공식 홈페이지에 있는 설명이 궁금하다면 아래 자세히를 클릭해서 읽어보자. 더보기 GitHub Copilot in the CLI는 터미널에서 채팅 형식의 인터페이스를 제공하여 CLI에 관.. 2024. 1. 7. [Spring] Kotest 병렬 테스트 설정 방법 이번 포스팅에선 Kotest로 작성한 테스트를 병렬로 실행하는 방법에 대해 알아보겠다. Kotest 병렬 테스트 설정 방법 AbstractProjectConfig를 상속받은 클래스를 만든 후 parallelism level을 설정해서 테스트를 몇 개씩 동시에 실행할 건지 설정할 수 있다. class KotestProjectConfig : AbstractProjectConfig() { override val parallelism = 3 } 병렬로 실행되는 단위는 Spec 단위다. 병렬로 실행한다고 해서 @SpringBootTest, @DataJpaTest 테스트를 돌릴 때 애플리케이션이 테스트마다 올라가지 않으니 걱정 안 해도 된다. 병렬 테스트 예제 먼저 parallelism 설정을 하지 말고, 아래와 .. 2023. 12. 31. [Spring] Gradle Test events were not received 해결 방법 문제 SpringBoot 테스트하려고 gradle test를 돌렸는데 Test events were not received라고 나오고 테스트가 돌아가지 않는다. 분명히 잘 돌아갔었는데 갑자기 왜 이러지.. 원인 테스트를 수정한 후 돌리면 잘 돌아가길래 안 돌아가는 테스트랑 로그를 비교해봤더니, test UP-TO-DATE 만 달랐다. 그렇다. 테스트 성공 후 변경 사항 없이 다시 돌리면 돌아가지 않는다. 실패한 경우엔 돌아감. 해결책 X. 구글링을 해보니 대부분 Settings -> Build, Execution, Deployment -> Build Tools -> Gradle에서 Run tests using을 IntelliJ IDEA로 변경하라고 나와있는데 이상하게 해결되지 않았다. O. 그래서 tes.. 2023. 12. 28. [Spring] Kotest와 Mockk를 사용할 때 주의할 점 이번 포스팅에선 Kotest와 Mockk를 같이 사용할 때 주의할 점에 대해 알아보겠다. 아래 테스트를 돌리면 어떻게 될까? 성공할까? 실패할까? Kotest의 Isolation Mode를 공부했다면 당연히 답할 수 있는 문제다. class UserServiceTest : DescribeSpec({ describe("getUser") { val userService = mockk() context("유저가 있는 경우") { every { userService.getUser(any()) } returns User(1, "노력남자") it("User를 리턴한다.") { userService.getUser(1) shouldBe User(1, "노력남자") verify(exactly = 1) { userServ.. 2023. 12. 26. [Spring] Kotest DescribeSpec, BehaviorSpec에서 Isolation Mode에 따른 동작 방법 알아보기 이번 포스팅에선 Kotest의 DescribeSpec, BehaviorSpec에서 isolation mode에 따라 어떻게 동작하는지 알아보려고 한다. 아래 설명은 DescribeSpec 기준으로 하려고 한다. BehaviorSpec이 궁금하면 describe = given, context = when, it = then으로 생각하며 보면된다. Isolation Mode란? Kotest의 Isolation Mode는 테스트 간 변수, 테스트 객체, 목 객체 등을 어떤 단위로 공유할지에 대한 전략이다. Isolation Mode에 따라 생성되는 테스트 단위를 인스턴스라고 한다. 공식 홈페이지에서는 Isolation Mode에 따라 새로운 스펙(Spec)이 생성된다고 말을 한다. SingleInstance,.. 2023. 12. 25. [Spring] Kotest context, when 단위로 @Transactional 동작하게 하는 방법 이번 포스팅에선 Kotest에서 DescribeSpec의 context, BehaviorSpec의 when 단위로 @Transactional 동작하게 하는 방법에 대해 알아보겠다. 이전 포스팅에서 Kotest로 작성된 테스트에서 @Transactional 동작하게 하는 방법에 대해 알아봤는데 context, when 단위로 동작하는 방법은 없었다. (아래 글은 DescribeSpec의 context 기준으로 작성됐는데, BehaviorSpec을 사용하는 경우 context를 when로만 바꿔주면 된다.) 왜 없을까? 없어서 불편하다라고 생각만 했지, 별로 왜 없는지 생각을 해보진 않았는데 팀원분이 말해주신 이유는 아래와 같다. context 단위로 트랜잭션을 묶어주는 경우 트랜잭션 범위를 지정하는 방법이.. 2023. 12. 11. [Spring] Kotest에서 @Transactional을 사용하는 방법 이번 포스팅에선 Kotest로 작성된 테스트 코드에서 @Transactional을 사용하는 방법에 대해 알아보겠다. @Transactional을 선언해보자 아래 테스트 코드는 Kotest의 DescribeSpec으로 작성된 코드다. @Transactional을 붙여보겠다. @Transactional @SpringBootTest class UserRepositoryTest( private val userRepository: UserRepository ) : DescribeSpec({ describe("save") { context("User를 저장하면") { userRepository.save(User(name = "노력남자")) it("정상적으로 저장된다.") { userRepository.findAll.. 2023. 12. 10. [Spring] Exceeded limit on max bytes to buffer : 262144 해결책 문제 WebClient로 api 호출하는데 간헐적으로 "org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144"가 발생했다. 참고, webflux나 netty를 사용 중이면 아래 에러가 추가로 발생한다. io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1 에러 로그 - Error was received while reading the incoming data. The connection will be closed. io.netty.util.IllegalReferenceCountException: .. 2023. 12. 3. 이전 1 2 3 4 5 6 7 8 ··· 43 다음 반응형