본문 바로가기

반응형

전체 글

Microsoft SQL Server ISNULL or COALESCE 함수의 차이 Microsoft SQL Server (이하 sql server) 에서는 null 을 방지할 수 있는 함수 2가지를 사용할 수 있습니다. ISNULL 과 COALESCE 가 그것입니다. ISNULL 이 함수는 sql server 에서 제공되는 함수입니다. ISNULL(표현식, 대체값) 표현식의 값이 null 인 경우, 대체값을 결과를 대체하여 반환합니다. 예시는 아래와 같습니다. SELECT USER_ID, ISNULL(USER_NAME, 'Unknown') as USER_NAME FROM MST_USER; USER_NAME 이 non-null 이라면 USER_NAME 이 반환되고, USER_NAME 이 null 이라면 'Unknown' 이 반환됩니다. COALESCE 이 함수는 standard sql .. 더보기
Gnome 43 Extension Tiling Assistant 4분할 윈도우 타일링 확장 노트북을 주력 개발 PC 로 사용하면서 OS 를 리눅스를 사용하고 있고, Desktop Environment 는 Gnome 을 사용중입니다. 최근 Gnome 의 업데이트, 배포 주기가 빨라지면서 확장 기능들도 업데이트를 따라가지 못하는 경우도 많고, 새로 개발되는 좋은 확장들도 많이 있습니다. 기본적으로 Gnome 은 화면을 좌우로 2분할 해주는 기능을 제공합니다. 4k 모니터등을 사용하면 4분할에 대한 요구가 종종 있는데, 이를 해결해주는 확장을 소개해 봅니다. Tiling Assistant 라는 확장입니다. 아래의 gnome 확장을 소개하는 웹 사이트에서 다운로드가 가능하고 arch linux 기반을 사용하고 있다면 aur 를 통해서 설치가 가능합니다. https://extensions.gnome.o.. 더보기
Android Studio 2022.2.1 Flamingo 에서 ButterKnife 의존성이 빌드가 안되는 경우 며칠전 Android Studio 가 2022.1.1 에서 2022.2.1 로 업데이트되었습니다. 거의 10년쯤 유지보수중인 회사 앱이 빌드가 되지 않아서 내용을 정리합니다. 일단 증상은 아래와 같습니다. * What went wrong: Execution failed for task ':app:compileDebugJavaWithJavac'. > superclass access check failed: class butterknife.compiler.ButterKnifeProcessor$RScanner (in unnamed module @0x29cb76da) cannot access class com.sun.tools.javac.tree.TreeScanner (in module jdk.compiler).. 더보기
자바8 버전에서 컬렉션 파티셔닝, 적당히 작은 사이즈로 나누기 JAVA8 collection partition by size 여타 패키지에 포함되어 있는 CollectionUtils, Lists 같은 유틸리티 메소드의 힘을 빌려도 됩니다. 여기서는 JAVA8 버전에 포함된 stream 과 AtomicInteger 를 활용하여 파티셔닝하도록 유틸리티 메소드를 만들었습니다. 아직 낮은 버전의 JDK, JVM 을 고수?해야 하는 상황에서는 도움이 되리라 생각됩니다. import java.util.Collection; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; public class CollectionUtil { publi.. 더보기
linux 서비스 중인 port 확인 (on CLI) 리눅스 서버에서 현재 서비스 중인 port 를 검색하는 CLI 기반 명령어입니다. sudo netstat -tulpn | grep LISTEN 기본적으로 netstat 라는 명령어를 사용하고, 옵션으로는 -tu 는 각각 tcp, udp 포트에 대해서 확인하는 것이고, -l 은 리스닝만 확인하고, -p 는 프로그램 명령어를 함께 보여줍니다. -n 은 주소를 숫자로 표시합니다. sudo 명령어를 사용하는 이유는 로그인한 사용자 이외의 모든 프로세스에 대해서 검색하도록 하는 것입니다. 위는 어느 서버의 검색된 항목인데, 각각 22번은 ssh daemon, 80/443 이 웹서버용도로 nginx 를 통해 열려있고, 8080, 8090 은 각각 java 로 실행되는 웹어플리케이션입니다. 더보기
gnome 키보드 반복 입력 속도 변경 기본 설정값은 반복 딜레이 500ms, 반복 속도는 30 으로 알고 있습니다. gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 30 gsettings set org.gnome.desktop.peripherals.keyboard delay 350 반복 딜레이를 적당히 줄이는 이유는 개발 시 IDE 에디터에서 방향키를 이용한 이동 시에 좀 더 빠르게 반응하여 이동이 수월하기 때문입니다. 물론 ctrl, alt, shift 키를 조합하여 다양한 간격으로 이동할 수 있는 기능도 제공하지만, 다른 키와 이동키를 조합하면 손이 많이 피곤하기도 하여 개인적으로는 반복 딜레이를 줄여서 빠르게 이동할 수 있도록 변경합니다. 위 글상자의 내용을 복.. 더보기
gnome jetbrains ide ui scale 변경 모니터가 고급화 되면서, intellij 등의 IDE 에서 ui 가 너무 작게 표시되는 경우가 있는데, uiScale 을 조정하여 JBR 기반으로 동작하는 IDE 의 UI Scale 을 조정할 수 있습니다. archlinux + gnome + X11(not wayland) 조합으로 사용하는데, 나의 경우에는 HELP -> Edit Custom VM Options... 에서 아래와 같은 옵션을 추가한다. -Dide.ui.scale=1.5 scale 값은 float 값을 입력하면 되고, 적당한 숫자를 넣어가면서 앱을 재시작해보면서 원하는 scale 값을 찾으면 됩니다. 아래는 옵션을 적용하지 않은 경우와 1.5로 설정한 경우 UI 의 버튼 사이즈를 비교한 것입니다. 4K 43인치 모니터에서 Gnome Fon.. 더보기
manjaro(archlinux+gnome) ibus-hangul 설정 패키지 설치 pamac install ibus ibus-hangul Gnome 설정 Settings - Keyboard - Input Sources 에서 Korean (Hangul) 만 추가 .xprofile 설정 user home 폴더에 .xprofile 을 생성하고 아래 내용을 추가 # ibus settings export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus # run ibus ibus-daemon -drxR ibus 설정 ibus-setup 주로 변경하는 설정만 스크린샷으로 제공합니다. Input Method 는 Korean - Hangul 한개만 사용하므로 Next input method 는 제거합니다. A.. 더보기

반응형