본문 바로가기

반응형

전체 글

Sql Server Management Studio 외에서 실행 계획 보는 방법 sql server 의 성능 튜닝을 하거나, 실행 계획이 xml 형태로 추출되는 경우가 있습니다. SSMS 에서 실행 계획을 보고 싶은 쿼리에서 Ctrl+L 이나 Ctrl+M 을 누르면 예상 실행 계획, 실제 실행 계획을 GUI 로 그려주는데, 결국 xml 로 추출된 정보를 파싱하여 그래픽적으로 표시해주는 것입니다. 이런 과정을 설명하는 이유는 SSMS 는 윈도우 OS 에서만 동작하고, 몇몇 기능은 SSMS 가 아니면 사용할 수 없고, SSMS 를 사용하지 않는 개발자가 실행 계획을 SSMS 수준으로 보고 싶을 때 등 입니다. 그럼 xml 로 추출되는 실행 계획은 어떤 형태인지, 이것을 어떻게 그래픽으로 전환하여 볼 수 있는지 등을 알아보겠습니다. 쿼리에 대한 실행 계획을 XML 로 얻는 방법아래와 같은.. 더보기
React.StrictMode 에서 useEffect 가 2번씩 호출되는 증상 공식 문서에 따르면 StrictMode 가 켜져 있으면 첫 번째 실제 설정 전에 추가 개발 전용 설정+정리 주기를 한번 더 실행합니다. 이는 정리 논리가 설정 논리를 "미러링"하고 설정이 수행하는 모든 작업을 중지하거나 실행 취소하는지 확인하는 스트레스 테스트입니다.참조: https://react.dev/reference/react/useEffect#caveats useEffect – ReactThe library for web and native user interfacesreact.dev 아래 2개의 글을 읽어보고 올바른 해결 방법을 찾아야 합니다.참조1: https://react.dev/learn/synchronizing-with-effects#step-3-add-cleanup-if-needed S.. 더보기
Intellij 2024.1 ~ 2024.1.1 에서 커서 이동 시 프리징이 발생하는 증상 해결 요 며칠간 커서 이동만 하면 intellij 의 jvm 메모리가 출렁거리고 프리징이 발생하는 이슈가 있어서 플러그인이나 기타 자동화 기능에서 이슈가 있는 줄 알고 이리저리 확인하고 있었는데, 동일한 증상에 대해서 버그 리포팅한 글을 찾아 적용했는데, 이전과 같이 빠릿하게 동작하는 것을 확인하고 글을 작성합니다.머리에 떠오른 것을 빠르게 적용할 수 없는 스트레스는 정말 말로도 못할 정도입니다. 사설은 여기까지... 이슈가 발생한 이유2024.1 버전부터 "Always show full path in window header" (Settings > Appearance & Behavior > Appearance > "Always show full path in window header") 라는 기능이 활성화되.. 더보기
Docker 를 이용해서 Windows 를 실행해보자 - Dockur/Windows Docker 는 개발자들이 애플리케이션을 빠르고 효율적으로 개발하고 배포할 수 있도록 도와주는 오픈 소스 플랫폼입니다. 이번에 소개할 Dockur/Windows 는 Docker 를 이용해 Windows 를 실행하는 컨테이너 이미지입니다. 주요 기능 다양한 Windows 버전 지원 : Windows 7 부터 Windows 10, 11 까지 다양한 버전의 Windows 를 Docker 컨테이너에서 실행할 수 있습니다. KVM 가속 : KVM(Kernel-based Virtual Machine) 가속을 지원하여 더 빠른 성능을 제공합니다. 웹 기반 뷰어 : 웹 브라우저를 통해 Windows 시스템에 접근할 수 있습니다. 사용 방법 Docker 컨테이너를 시작하고 웹 브라우저를 통해 8006 포트로 연결합니다... 더보기
Kotlin 유용한 함수 - 최댓값, 최솟값 강제(coerceAtLeast, coerceAtMost, coerceIn) 코틀린 구현을 보면서 숫자형, Comparable 구현체에 대한 최댓값, 최솟값을 강제할 수 있는 함수가 있어 소개합니다. 아래 소스는 _Ranges.kt 소스 코드에서 일부 발췌하였습니다. public fun T.coerceAtLeast(minimumValue: T): T { return if (this max.. 더보기
windows 서버 오래된 로그 자동 삭제 (로그 지옥에서 벗어나기) IIS 라던지, IIS 에서........... 로그 파일을 logback 등의 rolling policy 같은 정책을 지정할 수 없어, 시간이 지날 수록 로그 파일이 점점 많아집니다. 드라이브의 용량이 줄어들지 않도록 관리할 필요가 있습니다. 방법은 간단합니다. 오래된 로그를 삭제해주면 됩니다. 삭제 작업을 작업 스케쥴러를 통해서 자동화하면 됩니다. 오래된 로그 삭제 스크립트 작성 최근 windows 에는 powershell 이 필수적으로 설치되어 있고, powershell.exe 가 설치된 위치는 아마도, C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 일 겁니다. 스크립트는 간단하고, 주석이 있으니 별도의 설명은 없습니다. # 삭제할 폴더 경로.. 더보기
mssql detached 된 database 의 managed_backup 설정 제거 db 서버에서 여러 database 를 관리하다가 필요없어진 database 를 detached 하는 경우라도, managed backup 설정이 그대로 남아 있어 이를 삭제하는 방법을 찾아보았습니다. database 별 managed backup 설정 확인 USE msdb; GO SELECT * FROM managed_backup.fn_backup_db_config (NULL); 위 쿼리로 조회 시 detached 된 database 의 설정도 보입니다. autoadmin_managed_databases 에서 drop 상태 확인 USE msdb; GO SELECT * FROM autoadmin_managed_databases; autoadmin_managed_databases 테이블을 조회하면 deta.. 더보기
리눅스에서 grub 의 윈도우로 선택없이 부팅하기 grub 의 기본 timeout 이 아마 5초였던가 10초였던가 입니다. 그 시간동안에 선택을 하지 못하면 찰나의 순간 원하는 OS로 부팅을 하지 못하는 경우가 생깁니다. 하여, 리눅스에서 재부팅하는 경우 윈도우 entiry 를 자동으로 선택해서 부팅하도록 하는 기능을 스크립트로 작성해봤습니다. 이게 장점인지 단점인지 모르겠지만, (저에게는 장점) 해당 스크립트는 1회성으로 grub 의 윈도우 entry 를 선택해주는 기능이라서, 다시 한번 리부팅하는 경우 원래대로 이전에 선택했던 OS로 부팅이 진행됩니다. 저의 경우 1번 entry 가 리눅스, 2번 entry 가 윈도우인데, PC를 켜고 그냥 기다리면 1번 리눅스로 리부팅이 되고, 아래 스크립트로 리부팅을 하면 2번 윈도우로 리부팅이되고, 다시 윈도우.. 더보기

반응형