PhpStorm이나 IntelliJ에서 한글 언어팩을 켰는데 UI가 그대로 영어인 경우가 있다. 캐시를 지워도, IDE를 재시작해도 안 바뀐다.원인은 단순한데 찾기가 어렵다. 언어팩을 enable 하는 것과, 실제로 사용할 언어를 고르는 것이 별개가 됐기 때문이다.무엇이 바뀌었나예전에는 한글 언어팩이 마켓플레이스에서 설치하는 플러그인이었다. 설치하면 곧바로 적용됐다.그런데 언어팩이 IDE에 기본 번들로 들어오면서 설치/삭제가 아니라 enable / disable 방식으로 바뀌었다. 여기서 함정이 생긴다. enable은 "이 언어팩을 쓸 수 있게 해달라"는 뜻이지 "이 언어로 바꿔달라"는 뜻이 아니다.해결 순서1. 언어팩을 enable 한다Settings (Preferences) > Plugins > In..
스캔한 옛날 사진이나, 카메라 시계가 잘못 맞춰진 상태로 찍은 사진들의 메타데이터를 한 번에 고쳐야 할 때가 있다. ExifTool을 쓰면 명령 한 줄로 끝난다.설치brew install exiftool명령어위치만 변경exiftool -gpslatitude=37.6534 -gpslongitude=126.8321 \ -gpslatituderef=N -gpslongituderef=E \ -overwrite_original /경로/사진_폴더/*.jpg날짜만 변경exiftool "-AllDates=2024:08:24 12:34:56" \ -overwrite_original /경로/사진_폴더/*.jpg둘 다 변경exiftool "-AllDates=2024:08:24 12:34:56" \ -gpslatitu..
오늘도 구글이 나에게 시련을 준다. 단순 경고이지만, 무시해도 될것 같은데 신경이 너무 쓰인다.구글링을 해보았더니, 아래의 경로를 압축해서 업로드하면 된다고한다.[project_root]/build/app/intermediates/merged_native_libs/release/out/lib위의 3개 폴더 (현재 시점으로는 3개인데 나중에는 몇개가 될지 모르겠다.) 를 압축한다. 파일명은 상관없다.압축된 파일은App Bundle 탐색기로 가서 경고를 띄운 업로드중인 혹은 업로드 된 버전을 선택후 다운로드 > 네이티브 디버그 기호에 업로드해주면된다. 그럼 윈도우라면 아주 깔끔하게 그냥 처리되겠지만, 우린 하필 맥유저이기에 The native debug symbols contain an invalid di..
평화로운 개발 인생에 또 구글이 정기적으로 시련을 준다. "앱이 Android 14(API 수준 34) 이상을 타겟팅해야 함"이라는 경고 메일이다.구글 플레이는 매년 새 앱과 업데이트에 대해 타겟 API 레벨 최소 요구치를 올린다. 대응하지 않으면 업데이트 자체를 올릴 수 없다.기본적으로 손봐야 할 코드수정할 위치는 android/app/build.gradle 이다.compileSdkVersion : xxxtargetSdkVersion : xxxAndroid 14 대응이라면 이렇게 변경되어야 한다.compileSdkVersion : 34targetSdkVersion : 34두 가지 선택지여기서 우리는 2가지 선택을 해야 한다.1. build.gradle 파일을 직접 수정할 것인가?2. 거기에 박혀 있..
챗지피티가 처음 나왔을 때, 엉뚱한 소리를 많이하고, 알려준것을 수정하면서 작업하는 것보다,그냥 직접 작성하는게 빨라서 잘 안 사용했었는데,최근 챗지피티 ChatGPT 4o가 나오고 나서는, 아주 맘에든다,구글 검색보다는, 지피티에 의존을 많이하게 되었고, 엉뚱한 소리를 하면, 메뉴얼을 던져주고 알려달라고하면 제대로 알려준다. 그래서 자연스럽게 코파일럿에 관심을 갖게되었는데, (참고로 필자는 AWS 에서 제공되는 것을 사용했었음)무료 체험 기간 맛보기를 해보니 편함 쉽게 말해서 값어치를 하기엔 좀 아직... ? 그러던중에 ollama를 알게 되었는데,LLM을 로컬로 설치하여 불러오는 방식이다, 언어 모델이 여러개 있는데 가장큰것은 몇십기가 이긴하지만, 적당한 선에서 설치해서 사용해보니, 와우 .... 몇..
회사 통계 시스템에서 이상한 이슈가 등록된 적이 있다. 같은 화면을 새로고침하는데 일정 확률로 다른 값이 나온다는 제보였다.처음에는 프런트엔드에서 데이터 취합을 잘못하는 줄 알았다. 그런데 백엔드에서 같은 쿼리를 반복해서 돌려보니 결과값이 실제로 달라졌다.의심했던 것들리드 레플리카를 여러 대 쓰는데 복제 지연으로 싱크가 안 맞는 문제쿼리 자체의 문제캐시나 기타 문제원인: paginate에 ORDER BY가 없었다결론부터 말하면 paginate를 쓸 때는 order by를 반드시 해줘야 한다.SQL 표준상 ORDER BY가 없는 SELECT는 행 순서를 보장하지 않는다. 이건 버그가 아니라 명세다. DB는 가장 빠르게 가져올 수 있는 순서로 반환할 자유가 있다.그런데 paginate()는 내부적으로 LIM..
