[카테고리:] 단편
-
bunny.net의 pricing zone을 보고난 단상
Bunny.net CDN에는 Cloudflare등을 비롯한 다른 CDN에서 찾아보기 힘든 기능이 있다. 바로 Pricing Zone 기능이다. 국가·대륙별로 네트워크 비용이 다른것은 많이 들어봤을 것이다. 한국 비용이 다른 국가에 비해서 지나치게 높다는 이야기를 들어서 더더욱 잘 알고 있을것이다. Bunny.net에서는 내가 원하는 대륙에서만 데이터를 쏠 수 있다. 굳이 네트워크 비용이 비싼 대륙에서 데이터를 쏠 필요는 없다고 주장한다. 그렇다면, 이것은 어떻게…
-
e북 리더기용 리모컨의 짧은 후기
6월 즈음에 ebook 리더기용 리모컨을 구매했었다. 조금 늦긴 했지만, 이제와서라도 몇자 적어보려 한다. 우선 필자는 알리 익스프레스에서 반지형 리모컨을 2개 샀으나, 둘 다 불만족스러워서 미테르 리모컨을 샀다. 중국의 반지형 리모컨 필자가 알리 익스프레스에서 구매했던 리모컨은 다음 두가지이다. 혹시 미래에 링크가 짤릴수도 있으니 아래에 이미지를 같이 첨부한다. 두 제품 모두다 반지형 리모컨이다. 그리고, 배송을 받고나서 알았지만…
-
abbyy FineReader OCR 인식후 페이지 크기가 다른 문제
abbyy FineReader 16로 PNG로 되어 있는 파일을 OCR로 인식후 pdf로 저장할 때 다음과 같은 문제가 발생했다 결과적으로 말하면.. FineReader에서 이미지를 로딩할 때 dpi(해상도)를 자동 판별한다. 이미지들의 가로x세로 픽셀 수가 같더라도 DPI가 제대로 인식 안될때가 있다. 필자는 수백장 짜리 보고서를 동일한 해상도의 png 파일로 캡쳐해서 OCR로 돌렸는데, 80 DPI 부터 490 DPI까지 제각기 다른 DPI가 나왔다.…
-
Spring Boot 3.0 환경에서 Whatap 연동
Kotlin + Spring Boot 3.0 + Java 17 LTS 환경에서 Whatap APM을 연동할 일이 생겼다. 이 글에서는 연동 방법과 몇가지 애먹은 부분을 기술한다. 에이전트 설치 Whatap 공식 문서 곳곳에서 $WHATAP_HOME 라고 되어 있는 것은 .jar 파일이 있는 경로를 말한다. 환경변수로 $WHATAP_HOME를 설정해도 안먹으니까 주의하자. 이후, [whatap의 프로젝트 페이지 – 관리 – 에이전트 설치]를 참고해서 whatap.conf…
-
Dart / TypeScript plan
이 글은 https://herbsutter.com/2023/10/09/my-new-cppcon-talk-is-on-youtube-cooperative-c-evolution-toward-a-typescript-for-c/ 에서 영감을 받있습니다. 브라우저 내에서 사용되기를 원한다는 점에서 Dart와 TypeScript 모두 Javascript 자리를 노리는 언어이다. 두 언어 모두 브라우저 내에서 동작하는 언어를 목표로 한다. 그러면서 기존에 있던 언어인 Javascript의 Type Safety를 비롯한 문제들을 각자의 방법으로 수정했다. JS의 문제를 해결하기 위해 Dart는 새로운 언어를 만들었다. Dart와 JS는 원하는 위치는 같지만 아예 별계의 언어이다.…
-
Oracle Cloud VM NIC (반 가상화 / SR-IOV)
Oracle Cloud Infrastructure에서 VM을 파서 운영하다 보면 오라클이 엄청 상세한 설정을 제공함을 알 수 있다. 그 중 하나가 VNIC(Virtual NIC)이다. 오라클에서는 VM을 생성할 때 반가상화 NIC와 하드웨어 가속화 NIC중 하나를 선택할 수 있다. 반 가상화 모드(Paravirtualized)는 OpenStack 계열 VM에서 자주 볼 수 있는 VirtIO NIC이고, 하드웨어 가속 NIC는 mellanox의 NIC로 인식되는 장치가 붙는다. 이 두개는…
-
비밀번호를 사용하지 않는 로그인 방식
몇년전만 해도 웹 사이트 로그인은 아이디와 비밀번호만을 요구하는 곳이 대부분이었다. 그러나 요즘들어서 다양한 인증 방식을 사용하는 곳이 많아진 것 같다. 2FA 첫번째로는 기본 아이디 + 비밀번호 조합에 추가적인 인증을 붙인 경우이다. 이 경우는 다들 많이 봤을것이다. 주로 이메일이나 문자로 발송된 인증코드나 OTP를 입력하기로 요구 받는다 여기 까지는 서버 어딘가에 비밀번호를 저장해야 한다. 해싱이나 암호화가 되어있다…
-
Tidal에 Sony 360 Reality Audio 연결
Tidal에서 Sony 360 Reality Audio를 쓰기 위해서는 앱을 미국 IP로 들어가야 합니다.
-
expo로 로컬 APK 빌드
React Native와 Expo를 활용해서 간단한 앱을 만들고자 했다. 그런데 간단한 APK 하나 빌드하면서 굳이 EAS에 회원가입 까지 해야하나…? 싶은 생각이 들어 살펴보았다. 핵심은 expo prebuild를 이용해서 android 디렉토리를 만들고, 그 안에서 gradle을 이용해서 빌드해야 하는 부분이다. Flutter등을 이용해서 APK를 빌드해 보았다면 익숙하게 진행할 수 있을 것이다. 참고로, FCM등을 위해서 google-services.json을 사용해야 한다면 [project root]/android/app/google-services.json 에…
-
타입 이야기 (Optional과 Soundness Nullable)
프로그래밍을 하다 보면 “타입”에 대한 고민을 할 필요가 생긴다. 우리가 자주 볼 수 있는 Int, Char, Float, Double, String 과 같은것이 모두 타입이다. 일반적으로 int형 타입이라고 하면 정수를 -21억~+21억 까지의 수를 저장할 수 있는 타입이다. 라고 이야기 한다. float, double은 부동소수점(실수)를 저장할 수 있는 타입이라고 이야기 한다. 그리고 String을 문자열을 저장할 수 있는 타입 이라고…