본문 바로가기

일::개발

(68)
python: pip install package[extra] 명령이 zsh: no matches found: package[extra] 를 반환할 때 오랜만에 python 써보려니 자잘한 문제가 자꾸 생긴다. 그 사이에 맥 기본 shell 이 zsh 로 바뀌는 일이 있어서 생각지도 못한 일이... ㅎㅎ > pip install flask[async] 를 해야했는데, 자꾸 zsh: no matches found: flask[async] 가 나오는 것이다. zsh에서 square bracket ([])은 커맨드라인에서 패턴으로 인식된다. 원하는 동작을 얻으려면 > pip install flask\[async\] [, ] 를 escape 하거나 > pip install 'flask[async]' 전체 패키지명을 '' 로 묶어주면 된다.
python: Visual Studio Code에서 import 된 모듈에 breakpoint VS Code 로 python 디버깅할 때, import한 모듈에 breakpoint 찍어 놓고 디버깅하고 싶은데, breakpoint가 찍히지 않으면, launch.json 파일에 justMyCode: false 라고 설정해주면 된다. { "version": "0.2.0", "configurations": [ { "name": "Attach to Python Functions", "type": "python", "request": "attach", "port": 9091, "preLaunchTask": "func: host start", "justMyCode": false } ] } 이런 형태로 configurations 안에 넣어주면 된다. https://code.visualstudio.com/doc..
Python으로 Azure에 Serverless Telegram bot 만들기(2) 지난 글 (https://uaremine.tistory.com/69)에서 1) 텔레그램 봇 생성 2) 로컬 개발에 필요한 환경 설정 (Visual Studio Code, Python with pyenv, azure-functions-core-tools 설치 3) 로컬 프로젝트 생성 까지 해봤다. 이번에는 로컬에서 프로젝트를 Azure에 deploy 하는 것까지 해보자. (텔레그램은 언제...) 로컬 프로젝트폴더에서 pyenv which python 해보면 ~/.pyenv/versions/3.9.11/bin/python (pyenv로 설치한 3.9.11) 으로 할당되어 있다. (pyenv global 3.9.11 로 설정해놓아서) > mkdir agent46 > cd agent46 > pyenv which..
Python으로 Azure에 Serverless Telegram bot 만들기(1) 오랜만에 python 으로 텔레그램 봇 만들어서 Azure 에 돌려보기. 1. 텔레그램 봇 등록 오 이거 예전에 했던 것 기억 난다. 텔레그램 앱에서 @BotFather 에게 말 걸어서 봇 만들기 하단 Menu 눌러보면 할 수 있는 일들이 아주 친절하게 주루룩 나온다. 새 bot의 이름은 agent46, 사용자명은 agent46_bot으로 설정했다. 봇 설정을 이런 식으로 하게 해주다니. 예전에도 감탄했던 기억이 나는데, 다시 한번 오오... 감탄하면서 넘어간다. 2. 프로젝트 생성 노트북 바꾼지 한참 된 것 같은데 Python이 안 깔려 있어서 깜짝 놀랐다. 일단 설치 > brew install pyenv > brew install pyenv-virtualenv VSCode 에서 Azure Tools ..
Flutter: .svg 파일에서 gradient 가 동작하지 않을 때 (with flutter_svg) 가능하면 png 보다는 svg 파일을 이용하려고 하는 편인데, 가끔씩 의도한 대로 동작하지 않을 때가 있어서 골치아프다. 이번 케이스는 path 가 gradient 로 fill 되어 있는 svg 이미지에서 gradient 가 제대로 표현되지 않고 배경색으로 나오는 문제였다. 예를 들면 이렇게 나와야 하는데 실제로는 전체 글자가 흰색으로 나와서 아무 것도 보이지 않는 문제가 생긴 것이다. chrome 이나 다른 편집툴에서 보면 다 제대로 보이는데, flutter_svg로 올리면 gradient 가 제대로 표현되지 않는 문제였다. 문제의 svg 파일은 이런 것이었는데, 좀 귀찮지만, 아래와 같이 ~ 부분을 전으로 옮겨주면 잘 동작한다. path 에서 fill="url(#paint1_linear)" 과 같이 ..
Flutter: BottomNavigationBar 색 설정하기 BottomNavigationBar 의 Icon, Label 색 설정하는 것이 간단한 것 같으면서도 복잡하다. Light Mode, Dark Mode 생각하면 각각의 color scheme 만들어서 Theme에서 설정하고 위젯 단에서는 색을 지정하지 않고 싶은데, 이게 잘 안 된다. BottomNavigationBar의 Icon, Label 색은 어떻게 결정되는지 파보면 될 것 같다. 일단 BottomNavigationBar의 구성부터 보면 BottomNavigationBar + Row + [_BottomNavigationTile] + _Tile 잡스러운 것들 빼고 나면 대략 이렇게 구성되어 있다. Icon 과 Label 로 구성된 Column 이 _Tile 이고 _Tile의 스타일과 터치 효과 같은 것..
Flutter: 배경에 패턴 구멍내기. Masking Widgets 아래과 같은 디자인을 구현하는 과정에 대한 글이다. 이 디자인을 보고 어떻게 해야할 지 좀 막막했는데, 다행히 대략 비슷하게 나온 것 같아서 정리 차원에서 남겨놓는다. 일단 화면에서 보라색 레이어를 만드는 것이 가장 큰 과제가 되겠다. 특정 부분이 투명처리 된 위젯을 만들어서 하단 (얼굴 애니메이션 --> 로고 및 로그인 화면) 페이지 위에 Stack으로 얹으면 될 것 같다. 일단 두개의 Container를 가진 Stack을 만들어 보자. class SplashPage extends StatefulWidget { const SplashPage({super.key}); @override State createState() => _SplashPageState(); } class _SplashPageState..
Flutter: Attach Debugger. 앱 실행 시 디버거 붙이기 (with Visual Studio Code) 디버거를 통해 실행되지 않고 직접 혹은 다른 경로로 앱이 실행되는 경우에 디버거를 붙이는 방법이다. Visual Studio Code를 사용하는 경우에는 이렇게 하는게 가장 간편했다. 단, 디버거가 붙는데 시간이 약간 걸리기 때문에 앱이 실행되자 마자 디버거가 붙어야 하는 경우에는 (예. 앱 실행 시 바로 실행되는 초기화 코드) 안드로이드의 개발자 설정에서 특정 앱을 선택해서 실행될 때 디버거가 붙는 것을 기다리게 하는 방법을 사용하는게 좋겠다. 이 방법은 다음에 포스트. 실제 폰으로 테스트할 때 잘 동작한다. 1) 일단 Visual Studio Code에서 앱을 디버그모드로 실행해서 폰에 설치한 후에 디버그모드 종료하고 앱도 terminate 해준다. 2) Command Mode (Shift - Com..