스케일업 7

Apple Silicon(M1)에서 Python 환경 제대로 설정

문제 $ python -c "import tensorflow as tf" zsh: illegal hardware instruction python 사용하려는 Python 패키지의 Native 코드 아키텍쳐와 현재 컴퓨터 아키텍쳐와 달라 생기는 문제이다. (그런데 그동안 다른 x86 기반 패키지들을 사용할때는 Rosetta 에뮬레이션 통해서 잘 썼었는데, 특히 이 tensorflow 같은 패키지에서 문제가 발생한거보니 보니 CPU쪽이 아니라 GPU 같은 다른 하드웨어를 사용하는 네이티브 코드쪽에서 발생한게 아닌가 추측해본다.) 나 같은 경우는 Intel Chipset 일때 사용하던 brew 가 있었고 그 기반으로 Python 을 셋업해서 쓰고 있던 상황에서, 이를 M1 맥북으로 마이그레이션해서 사용하고 있..

VS Code 코드 분석 (익스텐션 만들기)

배경 CropMon의 다음 스텝에 대한 고민과 함께 어떻게 하면 확장성 있는 좋은 구조를 만들지를 살펴보고 있다. 플러그인/익스텐션에 대한 자료를 찾아보던 중 문득 내가 많이 사용하고 있는 에디터인 VSCode Extension 이야 말로 훌륭한 레퍼런스가 아닌가 하는 생각이 들었고 겉핥기라도 한번 알아보면 도움이 될 것 같았다. 전체 내용은 여기(labs/vscode-internal)에 정리해뒀고 몇가지만 요약해본다. 실행 코드 빌드 및 실행 일단 VS Code 를 받아서 실행해보자 # 코드 클론 $ git clone https://github.com/microsoft/vscode.git $ cd vscode # 패키지 설치 $ ./scripts/npm.sh # 빌드 $ ./scripts/npm.sh ..

스케일업/랩 2023.08.25

배경 제거(일명 누끼따기) 실험

배경 반디캠으로 스크린 레코딩을 하다가 캠이랑 합성을 해주는 기능이 있다는 걸 발견. 그런데 이게 내 뒤에 크로마키로 쓸만한 배경이 없다보니 대충 배경으로 쓸만한 색 잡아서 쓰니까 대충 깨져보이더라. 그래서 혹시 전통적인 크로마키 배경 방식이 아니라 인물(사물)을 detection 하고 그 외의 것을 날려버리는 툴은 없을까 찾아봤다. 왜 없겠냐? 실망스럽게도 이미 잘나가는게 많더라. 그중에서도 뭔가 잘 동작할 것 처럼 보이는 오픈소스(danielgatis/rembg)를 하나 찾아서 이걸로 테스트를 해보려고 한다. rembg U2-Net이라는 Object Detection을 위한 딥러닝 모델(딥러닝은 하나도 모르지만..)을 이용해서 배경 이미지를 날리고 테투리 알파(Alpha) 부분을 다듬어서 깔끔하게 배..

스케일업/랩 2021.03.28

Flutter2 for Windows Desktop

Flutter2 릴리즈 프론트 프레임워크/언어 전쟁은 항상 핫이슈다. 그 중에서도 Native를 지원하기 위한 프론트 프레임워크도 히스토리가 상당한데 Apache Cordova, Adobe Phonegap (Shutdown), Ionic 등의 하이브리드에서 Microsoft Xamarin, React Native 처럼 Abstract View to Native View로 생성해내는 Native 프레임워크가 나와서 한창 인기(특히, React Native가)를 얻다가 Flutter가 나오면서 자체 GPU 기반의 GUI 시스템을 품은 프론트 프레임워크가 등장하자 살작 요동쳤다. 한편, 데스크탑 앱은 React / Vue + Electron이 튼튼히 기반을 다지고 있는 중이었고 (적어도 나는) 이게 최선이라고..

Git over SSH on Windows

배경 WSL2를 매우 만족해하며 잘 쓰고 있다. 리눅스를 쓰는데 필요에 따라 윈도의 유려한 GUI를 함께 쓸 수 있다는건 정말 좋은 경험이다. 그래서 이 충격적인 경험을 기반으로 주식을 사놨는데 왤케 안오르냐 충격.. WSL2를 많이 쓰면서도 항상 뭔가 찜찜한 느낌이 남아 있었는데, 바로 윈도우 native 환경에서 매끄러운 git 사용이다. 리눅스/맥에 익숙해져서 커맨드라인으로 사용하고 싶은데 이게 잘 안되는거다. cygwin / git-bash 이런걸로는 되는데 뭔가 구려서 쓰고 싶지 않았다. GUI를 쓰더라도 문제가 있었는데 over SSH 설정이 잘 안되더라. 항상 조금 셋업해보다가 걍 접었었다. 예를들어, 만약에 윈도에서 Desktop App이라던지 IntelliJ로 Spring 앱을 띄워서 작..

벤포드법칙(Benford's Law)과 이미지

넷플릭스 다큐를 보다가 벤포드의 법칙(Benford's Law)이라는게 있다는걸 알았다. 실세계에서 존재하는 많은 수치 데이터의 10진법 값에서 수의 첫째 자리의 확률 분포를 관찰한 결과, 첫째 자리 숫자가 작을 확률이 크다는 법칙이다. 즉, 자연스럽게(인위적이지 않은) 생긴 임의의 숫자들이 아래와 같은 확률적인 분포를 띈다는 것이다. (위키) 처음 듣고 보는거라 이놈들이 어디서 또 약을 파나하면서 시청했는데 점점 빠져들었다. 회계에서 비공식적(?)으로 활용되기도 한단다. 가령, 엔론의 회계분식 장부에서는 인위적으로 맞춘듯한 수치들이 있어서 자연스럽지 못해 이 법칙에 어긋난다거나 하는 것들.. IT 분야에서는 이미지의 위조 혹은 딥페이크(Deep Fake) 영상을 탐지하는 연구에도 사용된다는 내용도 나왔..

스케일업/랩 2021.03.14

FFmpeg as a library (libav) 튜토리얼

프로그래머블한 동영상 인코딩 방법을 찾는 중에 발견한 튜토리얼인데 설명이 너무 좋고 쩔어서 클립해두고 종종 찾아보다가 중국어로 번역된 부분이 있길래 나도 기여해보고자하는 마음에 번역을 시작해보고자 한다. 번역 작업 자체는 깃헙으로 하고 PR을 올릴터이지만 그 작업 과정 중에 메모해둘만한게 있다면 이곳에 기록해두려고 포스트도 하나 파본다. 번역 완료, PR 올림. 후기 - 하루에 1-2시간씩 4일 정도 걸림 - 오래 걸린 부분은 PTS 부분 - 개념은 이해 되는데 원문 내용이랑 잘 매치가 안됨. 따로 다뤄야할 듯 - 단어를 있는 그대로 최대한 번역하려고 하다보니 너무 자연스럽지 않은 직역체였음 - 그래서 마지막에 전체적으로 손보면서 군더더기 같은 것들은 빼고 문체도 조금 다듬었음 - 약간 지루한 느낌인데 ..

스케일업/번역 2021.02.14