ESukmean’s Blog

짧은 글들을 주로 작성합니다.

  • Tidal에 Sony 360 Reality Audio 연결

    Tidal에 Sony 360 Reality Audio 연결

    Tidal에서 Sony 360 Reality Audio를 쓰기 위해서는 앱을 미국 IP로 들어가야 합니다.

  • 내부 IP만 주는 개발용 VPS 호스팅 불편기

    내부 IP만 주는 개발용 VPS 호스팅 불편기

    예~~~전에 필자가 아주 어릴때 일이다. 리눅스 위에서 소켓 프로그래밍을 배우려고 하고 있었다. 그 당시만 해도 가상화 시스템이 변변치 않아서 리눅스 가상 서버 호스팅을 받으려고 했었다. 해당 서버에서는 두가지만 됐으면 문제 없었다. 첫번째는 C로 작성된 몇백줄 짜리 코드가 컴파일되고 실행되는것이며, 두번째는 간단한 내 홈페이지를 돌리는 것이다. 그래서, 굳이 외부 IP를 선택할 필요가 없었다. 그래서 내부 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 에…

  • Variance (Covariance, Contravariance) – 제너릭 타입

    Variance (Covariance, Contravariance) – 제너릭 타입

    TL;DR 어떤 제너릭 Type<T> 을 사용할 때, 타입 파라메터 T에서 최초에 지정한 타입 T만 받을 수 있으면 invariant Type<T> 에서 타입 T와 T의 서브클래스 까지 받을 수 있으면 covariant 이다. (List<T>를 파라메터로 함수에 List<TSubClass>를 대신 집어 넣을 수 있다.) Type<T> 에서 타입 T와 T의 슈퍼클래스 까지 받을 수 있으면 contravariant 이다. (Func<T>를 파라메터로 함수에 Func<TSuperClass>를…

  • 타입 이야기 (Optional과 Soundness Nullable)

    프로그래밍을 하다 보면 “타입”에 대한 고민을 할 필요가 생긴다. 우리가 자주 볼 수 있는 Int, Char, Float, Double, String 과 같은것이 모두 타입이다. 일반적으로 int형 타입이라고 하면 정수를 -21억~+21억 까지의 수를 저장할 수 있는 타입이다. 라고 이야기 한다. float, double은 부동소수점(실수)를 저장할 수 있는 타입이라고 이야기 한다. 그리고 String을 문자열을 저장할 수 있는 타입 이라고…

  • /bin, /usr/bin, /home 디렉토리 구조가 생긴 이유 (busybox 원문)

    /bin, /usr/bin, /home 디렉토리 구조가 생긴 이유 (busybox 원문)

    최근에 HackerNews에 busybox 메일링 리스트가 하나 올라왔다. 이 글에서는 /bin, /usr/bin, /home 등이 생긴 문맥을 다뤘다. 나도 저것들의 차이는 알고 있었으나 그렇게 나눈 이유는 몰랐었다. 국내 블로그에서도 차이점은 보여주지만, 그 이유를 다룬곳은 없었다. 그래서 알면 좋겠다는 생각에 해당 글을 간추려서 정리했다. 1969년도에 PDP-7이라는 장치 위에서 유닉스(Unix)가 만들어졌다. 그러다가 1971년도에 PDP-11로 기기를 업그레이드 했다. 이때 RK05…

  • 메이플 스토리2 OX 퀴즈 검색시스템 구축 기억

    메이플 스토리2 OX 퀴즈 검색시스템 구축 기억

    메이플스토리가 흥했던 2017년도에 “메이플스토리2 OX 퀴즈” 사이트가 있었다. 메이플스토리2에는 “OX 퀴즈” 시스템이 있었는데, 이 퀴즈에서 정답을 맞추면 특정한 보상이 나왔다. “메이플스토리2 OX퀴즈” 사이트는 이 퀴즈에 나오는 문제와 정답을 모아둔 곳이다. 그 당시 “국가정보보안”님이 운영을 했었다. 지금은 접속되지 않지만 아마 기억하는 사람이 있을것이다. 사이트의 특성상 “검색”이 주요 기능이 된다. 수많은 문제 중에서 내 문제를 풀어야 하기…

  • SSL 인증서 만료일 확인 도구

    SSL 인증서 만료일 확인 도구

    https://www.esukmean.com/tools/ssl-certification-expire-date 내가 도와주는 곳이 있다. 이곳의 유료 서비스중 하나는 안정성을 위해서 별도의 서버에 독립된 서버 프로그램을 돌리는 것이다. 흔히 보는 Enterprise 플랜(다른 환경과 절대적으로 분리·독립된 서비스)를 생각할 수 있다. 서비스가 계속되며 관리해야 할 서버가 많아졌다. 그러면서 SSL의 인증서 확인이 번거로워졌다. 내부 통신에서는 모두 SSL을 사용하기 때문에 각 서비스(DB, nginx, 그외 서버 데몬등)의 인증서 상태를 확인해야…

  • 리눅스 Secondary VNIC 붙이기 (Oracle Cloud): 드라이버 로딩 오류

    리눅스 Secondary VNIC 붙이기 (Oracle Cloud): 드라이버 로딩 오류

    TL;DR 디도스와의 전쟁 내가 도와주는 서비스 중에 한 곳이 요즘 디도스로 골머리를 앓고 있다. 이 서비스는 분 단위로 디도스를 받고 있다. 한번 공격이 오면 5분간 지속된다. 그러고는 몇 시간 동안 잠잠하다. 잠잠한 기간이 한시간일 때도, 3시간일 때도, 그 다음날이 될 때도 있다. 서버가 다운됐다는 알림을 받고 조치를 취하려고 보면 이미 물러간 뒤다. 이 문제가 몇일…

  • 웹 기술의 발전이 UI 구성에 큰 도움을 주는듯 하다

    https://blog.jim-nielsen.com/2022/inspecting-web-views-in-macos/ 백업용: https://archivebox.esukmean.com/archive/1647058230.121798/index.html 웹 기술이 발전함에 따라 대부분의 영역에서 웹을 이용한 UI 구성이 사용되는것 같다. 임베디드등 특정 영역을 제외한 모든곳에서 어렵지 않게 웹기술을 이용한 UI를 볼 수 있다. 이미 몇년전 부터 Electron을 이용한 어플리케이션은 심심치 않게 보였다. 기존에는 윈도우 프로그램으로 제어하던 서비스도 이제는 웹페이지에서 관리하는 형태가 많아졌다. 윈도우도 webview2라는것을 내면서 웹을 이용한 UI 구성에 발자국을…