식과 문 대부분의 프로그래밍 언어에서 가장 작은 유용한 코드 조각은 문(Statement) 또는 식(Expression) 이다. 둘의 근본적인 차이는 다음과 같다. 문은 상태를 변경한다. 식은 값을 만든다. 이 말은 식이 결괏값을 돌려주는 반면에 문은 그렇지 않다는 뜻이다. 문은 아무값도 돌려주지 않기 때문에 뭔가 유용한 일을 하기 위해서는 자신을 둘러싼 주변의 상태를 변경해야만 한다 (이를 부수 효과라고 한다.) 코틀린에서 대부분의 요소는 식이다. val hours = 10 val minutesPerHour = 60 val minutes = hours * minutesPerHour 각각의 경우 =의 오른쪽에 있는 코드는 식이며, 왼쪽의 식별자에 대입할 값을 만들어 낸다. println() 같은 함수는 ..
환경 spring boot 2.7.18 postgresql mybatis 수정이나 삭제 한 데이터를 return 받고 싶은 경우가 있을땐 어떻게 할까? 미리 수정이나 삭제하기 전 오브젝트를 메모리에 담을 수도 있겠지만 postgresql에서는 삭제나 수정 후에 returning 이라는 키워드로 가져올 수 있다. mybatis에서 사용하려면 select 태그에서 시작해야한다. 어찌보면 returning 되는 결과를 조회하는 거니까 당연한 것처럼 느껴진다. DELETE FROM 테이블 WHERE id = #{파라미터} RETURNING * 또는 UPDATE 테이블 SET 필드 = 수정할 값 WHERE id = #{파라미터} RETURNING * 만약 return된 결과를 특정값으로 정렬해서 받아보고 싶다면?..
exa package는? exa (최신식 ls 명령어) Rust언어로 개발된 구식 ls명령어를 대체할 수 있는 명령어. Linux Rocky9 에서 exa 가 설치되지 않는 것을 확인 dnf install exa Last metadata expiration check: 0:50:42 ago on Mon Sep 4 10:40:16 2023. No match for argument: exa Error: Unable to find a match: exa 혹시 몰라 EPEL (Extra Packages for Enterprise Linux)을 설치해야되나 싶어 설치 해봄 Rocky9 에서의 epel 설치 dnf config-manager --set-enabled crb dnf install epel-releas..
일반적으로 enum 클래스는 마셜링할 때 enum 상수 이름 그대로 변경된다. 마셔링 과정에서 enum 상수를 변경할 때 toString() 메서드를 사용하고, 이 메서드가 enum 상수 이름을 리턴하기 때문이다. 이런 방식은 REST-API 응답을 유연하게 설계할 수 없고, REST-API 설계에 따라 코드에도 영향을 주므로 유연한 프로그래밍을 할 수 없다. 그래서 응답 값과 enum 상수 값은 따로 분리하면 좋다. ex) 애플리케이션 에서는 SINGLE 이라는 enum 상수값이지만 클라이언트에게 응답할 때는 "single"이라는 문자열 값을 리턴. public enum HotelRoomType { SINGLE("single"), DOUBLE("double"), TRIPLE("triple"), QUAD..
Elasticsearch 설치 시 서버에 설치된 JVM을 사용해도 되지만 권장되는건 번들로 제공되는 JVM이 권장되는 JVM이라고 한다. 엘라스틱서치 7.x부터 기본 배포판에 open jdk가 포함되어 나온다. 엘라스틱서치도 JVM 위에서 실행되는 자바 애플리케이션이기 때문에 실행 시 적용될 JVM 옵션들을 튜닝해서 기본 설정으로 제공한다. 엘라스틱서치는 분산 시스템의 특성상 스케일 인/스케일 아웃이 빈번하게 발생할 수 있다. 또한 장애를 복구한다거나 ReIndex 작업에 의해 일어나는 데이터 리밸런싱에 의해 많은 메모리를 사용하기 때문에 전체적인 성능 향상을 위해 다수의 JVM 옵션을 반드시 튜닝해야 한다. 그런데 이런 작업을 엘라스틱서치에서 해당 번들 JVM으로 테스트를 다 하고 사용하기에 최적화된 ..
jaxb 사용해서 xml을 http body로 떨구어줄 때 해당 태그를 없애는 방법 Jaxb2RootElementHttpMessageConverter의 하위 클래스를 직접 생성하고 마샬러를 사용자 정의한다. @Configuration class XmlConfiguration { @Bean Jaxb2RootElementHttpMessageConverter jaxb2RootElementHttpMessageConverter() { return new Jaxb2RootElementHttpMessageConverter() { @Override @SneakyThrows protected void customizeMarshaller(Marshaller marshaller) { marshaller.setProperty..
어쩔수 없이 윈도우를 사용하기 위해서 가상머신에 윈도우를 설치해놓고 맥을 사용하는 사람들이 많을 텐데 알프레드를 사용하는 맥 사용자라면 검색 시 가상머신에 설치되어 있는 윈도우 앱도 검색되는 현상이 있을 것이다. 예를들면 이런 것 Visual Studio Code를 실행하기 위해 검색했는데 밑의 가상머신에 설치되어있는 앱도 검색되어 나온다. 어찌하다가 잘못 선택되면 무거운 가상머신 앱이 작동되면서 되게 짜증나는 상황이 발생하는데 이걸 검색에서 안나오게 하는 방법을 공유 방법은 의외로 간단하며 맥의 Spotlight 설정에서 개인정보 보호 탭에 VM 앱을 추가해주면 된다. 맥의 Spotlight 개인 정보 보호 탭은 Mac OS Ventura 이상부터는 UI가 바뀌어서 그 이전 OS를 쓰는 사용자라면 설정..
- Total
- Today
- Yesterday
- mybatis
- 북리뷰
- mybatis config
- Bash tab
- window
- Github Status
- 오라클
- config-location
- intellij
- JavaScript
- oracle
- localtime
- 베리 심플
- LocalDateTime
- Linux
- LocalDate
- elasticsearch
- Java
- Spring
- docker
- k8s
- rocky
- Mac
- Kotlin
- maven
- Spring Security
- svn
- springboot
- jQuery
- input
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |