thumbnail [파이썬] webp 변환 프로그램 사용 블로그 이미지 최적화를 위해서, webp 프로그램 변환에 대해 적은 적이 있다. 그런데, 매번 온라인상에서 이미지를 올려서 변환하기도 좀 그렇고, 포토샵을 사용하기도 좀 그렇다. 구글 dev 사이트에서 변환 프로그램을 다운받았는데, 매번 cmd를 입력해줘야 하는 방식이다. 이 또한 귀찮으니, 파이썬으로 간단한 프로그램을 짜본다. 프로그램 위치는 아래와 같이 구성하고, 당연하 python 실행은 윈도우즈 path에 걸어서 어디서든 동작하게 만들어 둔다. 아래 코드가 저장된 python.py 파일 └─ ─ ─ ─ ─ ─ libwebp-1.4.0-windows-x64 폴더 바탕화면이든 어디든 batch 파일을 써서, 해당 python 프로그램이 실행될 수 있도록 해주면 끝이다. 단, 본인의 python에 아래.. 2025. 1. 20.
thumbnail 티스토리 블로그 포스팅 주소(URL) txt 파일 만들기 SEO 작업을 하다보면 canonical tag 라는 것이 나오는데, 뭔지 잘 모르지만, unique한 URL을 지정해주는 tag인듯하다. 곰곰히 생각해보니, 내 블로그에 있는 글을 지운 것도 많으니, 살아있는 글의 주소값이 뭔지 갑작스럽게 궁금하긴 했다. 아래는 예전에 작성해뒀던, 블로그 제목을 가져오는 코드이다.   티스토리 블로그 포스팅 제목 목록 txt파일 만들기블로그를 한지.. 꽤 오랜 시일이 지난 것 같다. 몇개의 글이 있는지, 몇개의 글이 유효한 것인지 기억하기도 어려워 졌다. 그래서, 엑셀과 관련하여 끄적거렸던 글의 목차를 만들까 한다. 오랜만sunnybong.tistory.com  코드 내용은 간단한데, 내 블로그의 경우, 주소를 integer값으로 처리하도록 해뒀으니, 1부터 하나씩 검.. 2024. 12. 18.
thumbnail google idx : 파이썬(python) 환경 설정 도전기 구글 idx는 유튜브만큼이나 혁신적이라고 본다. 특히 (아직까지는)무료라는 점에서.그런데, 로딩이 오래 걸리는 거야 당연하다고 보지만, 최근 접속 에러가 나는 빈도가 점점 늘고 있다는 것은 나를 슬프게 한다.   그럼에도 불구하고, 무료의 유혹은 버릴 수가 없다. 그리고 태블릿에서 접속할 수 있다는 장점이 있으니, 도전은 해보자. 참고로 무료 프로젝트는 5개까지만 설정이 가능하다.(현재 기준)  비어있는 프로젝트 생성템플릿에서 비어있는 프로젝트(Blank Workspace)를 선택하면, 정말 비어있다. 아무것도 없고, interpreter도 없다. 설정은 dev.nix라는 생소한 파일에 들어있다. 게다가 Linux 기반의 폴더 체계로 난감함은 배가 된다. 구글링을 열심히 해보자.     python 패키.. 2024. 12. 5.
thumbnail [플러터] 구글API 사용 - .env 파일에서 줄바꿈(\n) 인식시키기 아무도 알려주지 않아..google sheet api를 아주 잘 사용하고 있다. 문제는 api key를 그냥 json 하드코딩으로 하는데, 크롬에서 f12를 눌러보니, api key 소스가 아주 투명하게 공개가 된다. 구글링을 해보니, 역시... 이런 보안 관련 사항을 챙겨야하는지에 대해 나만 모르고 있다.무슨 프로그램 언어인지 모르겠지만, api key를 감추는 여러 방법을 구글에서 어렵지 않게 찾을 수 있었다. 하지만 flutter에 바로 긁어다가 쓸 수 있는 방법이 나온 글을 찾다가 귀찮아서 못찾았다. 아무거나 보고 따라해 볼 수 밖에 없다. 그나마 만만한 방법을 찾은 건 .env 파일을 사용하는 방법이었다. 보안적으로 얼마나 나은지는 알 방법이 없다. 일단 flutter에 .env 관련한 패키지가.. 2024. 11. 26.
thumbnail [플러터] 주석 한꺼번에 지우기(정규식) 신규로 프로젝트를 생성하면, 주석달린 뭔가가 많이 나오는데, 주석을 한꺼번에 지우는 정규식은 다음과 같다. ctrl + H 를 눌러 바꾸기를 한다음, 정규식을 활성화하고, 각 파일에 맞는 정규식을 입력해주면 선택이 된다. 맨 오른쪽에 있는 코딱지만한 버튼이 정규식을 활성화 하는 버튼이다.    yaml 파일은 특히, 주석이 많으니..   드럽게 외워지지 않는 관계로 적어둔다. 마지막에 \n은 안적어도 되는거 같은데, 왜 기재해야하는지 모르겠지만, 일단 패스. [yaml]#.*\n[dart]//.*\n  끝. 2024. 10. 22.
thumbnail [플러터] widgetFlutterbinding.ensureInitialized 오늘도 장님이 길을 찾듯이.. 뭔지 모르는 개념을 하나씩 찾아본다.  WidgetsFlutterBinding.ensureInitialized(); 비동기 메소드 채널을 사용하기 위해 초기화해준다는 외계어는 모르겠고,안드로이드나 iOS의 네이티브 리소스를 사용하기 전초기화를 통한 사용 준비를 하는 역할이라고 해두자.  메소드 채널은 플러터와 네이티브 리소스를 연결해주는 채널이다. 예를 들어 firebase나 googlesheet api 등구글에서 제공하는 라이브러리에는 반드시 사용해야하는 경우가 많으니,알아두자. 모르면 뭐 어떤가.. 안넣으면 에러나겠지 머. 2024. 10. 19.
thumbnail [다트] VSCode snippet 생성기(generator) 꽤 오래전에 VSCode용 snippet을 만드는 엑셀파일을 만들었고, 잘 사용하고 있지만, 엑셀 프로그램을 구동하는 자체가 상당히 귀찮은 작업이다.  [플러터] VS CODE - DART snippet 만들어 쓰기일일이 코드를 쳐서 UI를 만드는 일이 생산성에 도움이 된다는 이야기를 초보자인 나는 이해를 못하겠다. 하지만, COPY/PASTE를 쉽게 쓸수 있다면 그 또한 파랑새는 아닐지 모른다. VS CODE EXTENSION으sunnybong.tistory.com  VSCode snippet을 온라인에서 생성하는 생성기가 있어 글을 남긴다.  snippet generatorSnippet generator for Visual Studio Code, Sublime Text and Atom. Enjoy :.. 2024. 4. 2.
thumbnail [파이썬] 확장자별로 폴더 생성, 파일 이동 (2) 소니카메라에서 추출한 파일을 백업하기 위해 바탕화면에 옮기다보면, arw, jpg, mov 파일이 뒤죽박죽 섞여있는데, 일일이 옮기기 귀찮은 경우가 있다. 그래서 과거에 확장자별로 폴더를 이동하는 스크립트를 짠 적이 있는데, 개인적으로 사용하기 위해 약간의 커스터마이징을 진행했다.   [파이썬] 확장자별로 폴더 생성, 파일 이동 (1)폴더정리 한 폴더 안에 여러 확장자들이 섞여 있을 경우, 확장자별로 폴더를 생성하여, 파일을 이동하는 기능을 예전에, 엑셀VBA로 심심해서 만들어본 적이 있다. [엑셀VBA] 폴더 생성, 확장자별로sunnybong.tistory.com   룰은, 기본적으로 MOV 폴더에 mp4, mov 등의 동영상 파일이 담기고, RAW파일에 arw 등의 raw 이미지 파일을 넣는다. jp.. 2024. 4. 1.
thumbnail 파이썬3.11.5, 포터블로 환경 설정하기 ssd enclosure얼마전 알리 세일을 하는데, NVME ENCLOSURE가 눈에 들어왔다. 딱히 필요는 없는데, 용도를 생각해 보니, 개발환경을 옮기면서 할 수 있도록 PORTABLE로 구성해 보는 것도 재밌을 것 같다는 생각이 들었다.아나콘다를 포터블로 설치하면 한방에 끝날 일이지만, 헛짓거리를 시작한다. IDE는 VSCODE를 사용할 예정이므로, VSCODE를 PORTABLE로 설치한다.  Portable Mode in Visual Studio CodeVisual Studio Code supports a Portable Mode.code.visualstudio.com PYTHON을 다운받는다. Python Release Python 3.11.5The official home of the Pyth.. 2023. 9. 6.
thumbnail [플러터] SearchBar Widget 사용하기 검색기능을 만들일이 있을지 모르겠지만, 예전에 슬쩍 봤었던, SearchBar Widget에 뭔가 신박한 무엇인가가.. 생겼나 살펴보았다.다짜고짜, SearchBar 위젯을 달아본다. 입력창에 별다른 제한을 두지 않으니, 그닥 큰 생각을 할 필요는 없었다.대충 숫자를 사용해서, string list를 만들고, 필터가 걸렸을때 사용할 빈 list를 만들었다. ListString> list = [  "1",  "2",  //... 중간 생략];ListString> filteredList = [];  입력값에 제한을 둔다면 컨트롤러가 필요하겠지만, 이번엔 건드리지 않는 것으로 한다. var textcontroller = TextEditingController();  복잡하지만, onChanged 이하 구문만 .. 2023. 7. 25.
thumbnail [플러터] 심플 애니메이션 Animated... 위젯을 쓰지 않고, 애니메이션을 사용하기 귀찮지만, 막상 하고 보면 마땅히 쓸 곳은 없고, 애매하다.    ContainerStateful Widget에서 SingleTickerProviderStateMixin 호출class _MainPageState extends StateMainPage>  with SingleTickerProviderStateMixin 컨트롤러와 애니메이션 변수 생성late AnimationController animationController;late Animation animation; 그리고 초기화,@overridevoid initState() {  // TODO: implement initState  super.initState();  animationC.. 2023. 7. 20.
thumbnail [플러터] minSdkVersion 위치 특정 패키지를 사용하다보면, 최소한의 안드로이드 SDK를 00버전 이상으로 하라고 에러가 뜰 때가 있는데, app > build.gradle 파일을 보면, minSdkVersion 표기가 되어있지만, 음... 어딘가(flutter.minSdkVersion)를 참조하고 있다. 그냥 지우고 숫자를 입력해도 무방은 하다. defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.fluttertest" // You can update the following values to match yo.. 2023. 7. 18.