일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MongoDB
- 오라클
- auto configure
- resilience4j
- oracle
- SQL
- 자바
- 초대장
- 자바 프로젝트
- 학점
- 파이썬
- dynamic query
- 유사코드
- 알고리즘
- 운영체제
- 문법 정리
- 백준 알고리즘
- jsp
- K6
- 파이썬 소스
- 오라클 디비
- gradle
- spring
- 프로젝트
- c#
- 티스토리
- 리눅스
- hyperledger
- JVM
- smart cast
- Today
- Total
목록목차 (231)
모종닷컴
네이버 2단계 인증 방식을 사용했더니 기존 아이폰 Mail 앱에서 네이버 이메일에 접근이 불가능하다는 걸 알았습니다. 처음에는 불편해도 그냥 네이버 앱에 들어가서 메일을 확인했었는데, 오늘 다른 이유 때문에 접근해야 할 일이 있어 찾다 보니 방법이 있었네요. 1. 먼저 네이버에 로그인을 해줍니다. 그러면 아래 사진과 같이 로그인 정보 섹션 쪽에 "네이버ID"라는 것이 보일 텐데 클릭을 해줍니다. 2. 이후 네이버 ID 페이지 화면에서 아래 버튼을 클릭해줍니다. 3. 비밀번호를 입력하고 나서 아래 화면과 같이 종류 "아이폰"을 선택하고 생성하기 버튼을 눌러서 애플리케이션 용 비밀번호를 생성해 줍니다. 여기서 생성된 비밀번호가 이제 아이폰에서 네이버 메일 연동할 때 사용할 비밀번호입니다. 4. 아이폰에서 메..
gradle best practice 내용 중에 buildSrc 관련한 내용이 있어서 한번 시도해 봤습니다. buildSrc ? Gradle 프로젝트에서 사용하는 특수한 디렉터리 Gradle 빌드 스크립트에서 사용할 수 있는 커스텀 플러그인, 태스크, 의존성 등을 정의할 수 있음 빌드 스크립트를 더 간결하고 모듈화 된 형태를 유지할 수 있고, 중복 코드를 줄이고 유지보수성을 높일 수 있음. Custom Task 만들어보기 백문불여일견이라고 바로 시작해 보겠습니다. 먼저 gradle 프로젝트 하나를 만들고 시작하겠습니다. spring boot 프로젝트 하나를 만들었으며 kotlin 언어로 세팅하였습니다. spring boot 버전은 2.7.9 & kotlin 버전은 1.6.21입니다. build.gradl..
Reactor3의 switchIfEmpty 함수를 쓰면서 의도치 않은 버그를 만들게 되면서 관련 이슈 포스팅을 간단하게 하려고 합니다. 버그 코드 @Test fun `버그 코드`() { Mono.just("monny.tistory.com") .doOnNext { println("doOnNext -> $it") } .switchIfEmpty(handle()) .map { println("map -> $it") it.uppercase() } .subscribe { println("result -> $it") } } private fun handle(): Mono { println("handle") return Mono.just("handle") } 먼저 버그코드입니다. Mono에 이미 element를 가지고..
헥사고날 아키텍처 설계에 따라 프로젝트를 하다 보니 각 영역에 전달해 줄 때 데이터 매핑 작업이 필수가 되었습니다. 데이터 매핑을 할 때 쓰는 라이브러리나 함수들이 많은데 각각의 성능을 비교해보고자 합니다. 테스트에 사용할 클래스 생성 data class Food( var name: String = "", var price: Int = 0, var calories: Int = 0, var color: String = "NONE" ) data class FoodDto( var name: String = "", var price: Int = 0, var calories: Int = 0, var color: String = "NONE" ) ModelMapper implementation("org.modelma..
Intellij Idea Gradle 문제 발생.. 프로젝트가 gradle을 사용한다면 Intellij Idea 우측에 gradle tab이 생깁니다. 오늘 이 탭을 통해서 test 코드를 돌리려고 하는데 아래와 오류가 발생했습니다. /{package}/SampleTest has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 Class File Version 생소한 단어라서 한번 찾아봤는데 JDK Version 마다 클래스 파일의 버전이 있는 듯 하나. 그래..
요즘 제 관심사는 Reactive Programming인데요. 문득 궁금한 부분이 생겼습니다. Reacitve 시스템은 기존 전통적인 방식과 비교하여 어떤 점이 좋아진 걸까요? 이를 위해 Spring MVC와 Spring WebFlux를 이용해서 각각 데모 애플리케이션을 만들었습니다. 그리고 이 애플리케이션의 성능을 측정하기 위해 APM이 필요했는데요. 인텔리제이와 Visual VM을 연동하는 방법이 있다는 것을 발견하여 공유드리고자 포스팅을 작성해 보도록 하겠습니다. Visual VM 설치 https://visualvm.github.io/download.html 위 페이지를 통해 먼저 Visual VM을 설치해주세요. 그리고 압축을 풀어주세요. VisualVM: Download Download Visu..
Reactive Streams가 뭐야? 요즘 ChatGPT가 유행이죠 ChatGPT에게 질문 먼저 던지고 시작하겠습니다. 비동기 및 이벤트 기반 시스템에서 구성 요소 간의 효율적인 비동기 스트림 처리를 위한 표준화된 API 대량의 데이터를 처리하기 위한 효율적인 방법 뭔가 석연치 않은 대답으로 보입니다. 그냥 위키에 정의된 Reactive Streams를 찾아보았습니다. 리액티브 스트림 정의 "Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure" 리액티브 스트림은 논블럭킹 back-pressure로 비동기 스트림 처리를 위한 표준을 제공하..
어느새 입사한 지 3년이 다 되어갑니다. 연차로는 3년 차에서 4년 차로 넘어가려는 시점에 놓여있네요. 스스로 3년이라는 시간을 보았을 때 여러 가지 의구심이 들기 시작합니다. 나는 과연 4년차에 맞는 실력을 가지고 있는 것일까? 3년이라는 시간동안 난 무엇이 달라졌을까? 성장하기 위해 나는 무엇을 해야 할까? 나는 좋은 개발자, 좋은 동료일까? 기타.. 이러한 의구심이 들 때에 DDC 콘퍼런스를 보게 되었는데요. 콘퍼런스 내내 많은 생각들을 할 수 있었습니다. DDC에서 기억에 남는 몇 가지 세션을 기록해 두기 위해 그리고 다른 분들께도 내용을 공유드리기 위해 핵심이라고 생각되었던 부분을 공유드릴까 합니다. 데이터 사이언티스트입니다. 무신사의 이원지님께서 처음 세션을 열어주셨습니다. 이직을 통해 얻고 ..
스프링 프레임워크 기반 프로젝트를 계속하다 보니 문득 내가 모르는 스프링 프로젝트가 또 있나 싶어서 확인하다 보니 Spring Shell 프로젝트를 발견하게 되었습니다. 최근 프로젝트 테스트를 위한 방법을 조금 고민하고 있었는데 어쩌면 좋은 방안이 될 수 있을 것 같아 한번 사용해봤습니다. Spring Shell ? 모든 애플리케이션에 멋진 사용자 인터페이스가 필요한 것은 아니며, 경우에 따라 대화형 터미널을 통해 응용 프로그램과 상호 작용하는 것이 적절한 방법이 될 수 있습니다. 스프링 쉘에는 고급 기능(구문 분석, 탭 완성, 출력 색상 지정, 입력 변환 및 유효성 검사)이 포함되어 있어 핵심 명령 로직에 집중할 수 있습니다. 스프링 쉘을 써보기로 결정한 이유? 저의 경우 스프링 기반으로 만든 프로젝트..
Spring에서 Redis을 사용할 때 동적인 데이터를 삽입해야 하는 경우가 있습니다. spring-data-redis 버전에 따라 살짝 다르긴 하지만 현재 사용 중인 2.2.13.RELEASE 버전을 기준으로 포스팅하도록 하겠습니다. 프로젝트 세팅 (gradle, kotlin, spring boot) 그레이들 스크립트 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "2.2.13.RELEASE" id("io.spring.dependency-management") version "1.0.15.RELEASE" kotlin("jvm") version "1.6.21" kot..