Computer 비관심 45

[TKINTER/PYQT] 티케이인터 자동 새로고침 적용하기(HOT RELOAD)

웹개발에서 코드를 수정하게 되면 자동으로 웹사이트가 리로드가 되면서 수정한 내용이 반영이 된다. 이는 개발을 훨씬 쉽고 편하고 쉽게 할 수있도록 도와준다. 이러한 기능이 없다면 코드가 수정이 될 때 마다 끄고 실행하고를 반복 해야 할 것이다. 이는 아주 고되고 짜증난다. PYQT나 TKINTER를 가지고 간단하게 무엇인가를 만들어보려고 했는데 내용이 바뀔 때 마다 실행을 다시해줘야 했다. 인터넷이 이와 관련된 정보가 있는지 찾아 보았고 아래의 코드를 찾았다. # Based on this file: # https://github.com/pallets/werkzeug/blob/master/werkzeug/_reloader.py import time, os, sys, subprocess PY2 = sys.ve..

[플러터] 플러터 프로젝트 방치후 재개발시 버전 업데이트

오랜기간 프로젝트를 방치뒤 다시 개발을 하려하니 빌드가 안된다. 0. 플러터버전을 업그레이드 하고 싶으면..(옵션) flutter upgrade 1. android > app > build.gradle에서 // 컴파일 버전을 바꿔줌 android { compileSdkVersion 31 //타깃 버전을 바꿔줌 defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.sean.ohhmystock" minSdkVersion 19 targetSdkVersion 31 2. projectName/androi..

[에디터 잘써먹고 스타일 잘해보기] 플러터 위젯 이해하기

플러터 위젯 이해하기 여기서는 플러터를 시작하는 많은 사람들이 중요하지만 놓칠 수 있는 부분을 설명하려고 한다. 플러터는 위젯으로 구성되어 있다. 그렇기 때문에 위젯을 이해해야 쉽게 웹사이트 혹은 어플리케이션을 만들 수 있다. HTML의 구성요소들은 인터넷에 찾으면 쉽게 찾을 수 있다. 그리고 그걸 어떻게 원하는데로 스타일을 할지도 쉽게 찾을 수 있다. 하지만 플러터는 신상프레임워크이기 때문에 우리가 찾기가 어려울 수도 있다. 그런데 플러터는 텍스트에디터의 도움을 아주 잘 받았다. 텍스트에디터를 잘 이용하면 위젯의 속성명과 거기에 들어가야하는 값이 무엇인지 알 수 있다. 이게 아주 중요하다. 개발의 이걸 알고 개발을 하고 모르고 개발을 하냐에 따라서 개발의 속도가 크게 차이가 난다. 특히나 HTML에 익..

플러터 listView와 sliverList 으로 리스트 그리기

Front는 과연 무엇일까 하는 생각이 들었다. 심플하게 말하자면 데이터를 보기 좋게 뿌려주는 것이다. 그것을 UI라고 한다. 그 중에 가장 기본이 되는 것은 어떻게 반복되는 형식을 front에 뿌려주는 것인가 일 것이다. flutter의 sliverList와 ListView가 기본적으로 많이 사용되는 리스트 위젯일 것이다. 이들은 index는 0부터 시작해서 정해진 아이템(자식)의 숫자만큼 반복할 것이다. 아래를 보면 listview.build메서드의 프로퍼티에 itemCount를 전달한다. 그러면 build메서드는 이렇게 전달받은 카운트 만큼 반복을 하며 itembuilder에 넣은 함수에 index를 전달할 것이다. sliverList역시 딜리게이션에 context와 index를 전달 하는 함수를 ..

[플러터] 플러터 애드몹 달기

플러터에서 애드몹을 달때 사용하던 패키지가 기존에 firebase_admob에서 pub.dev/packages/google_mobile_ads 이걸로 바뀌었다. 광고 다는 법은 공식 사이트에 나온 그대로 따라하면 된다. 설명이 쉽게 나와있다. 기존의 애드몹은 자동으로 맨 밑 바닥에 광고를 붙여줬는데 새로운 애드몹 패키지에선 위젯으로 만들어 자신이 원하는 위치에 붙일 수 있다. 그런데 저 광고 패키지를 설치 할때 에러 때문에 고생했는데 원인은 gradle을 업데이트 해야했다 . 1. gradle\wrapper\gradle-wraper.properties 여기에 들어가 아래의 배포버전을 넣는다. distributionUrl=https\://services.gradle.org/distributions/grad..

[플러터] 플러터 장점과 단점.

웹개발을 했었고 자바는 전혀 모르고 자바스크립트와 파이썬만 알았다. vuejs 와 svelte만 쓰다 보니 플러터가 자꾸 손에 익지 않았다. 그나마 좀 익은 시점에 글을 써본다. (플러터가 업데이트 하는 속도가 엄청 빠르다. 8개월 적은 글인데 오래된 얘기가 된것들이 많다. 2011/12월 다시 한번 체크 하였으며 이전의 단점들이 더 이상 큰 단점이 아니거나 단점이 아니다. 결론은 아직도 웹에 비해 더 어렵다는 생각이 들지만 앱을 만들기에 좋고 편리하다.) 일단 단점부터 적자면 (주관적임) 1. HTML로 레이아웃을 만드는 것에 비해 가독성이 떨어진다고 생각됬다. 리액트도 클래스안에 UI를 만드는 것이지만 로 UI가 구별되는게 나에겐 더 쉬웠다. (2021/12 가독성도 그렇지만 html tailwind..

플러터 처음 빨리 시작하기~

1. 폴더구조 플러터개발시작시 유튜버들이 많이 사용하는 폴더구조 2. 스타일에 사용될 상수 만들기 디자인과 관련된 상수를 가진 색상 클래스, 엘리먼트 형태관련 클래스를 만들어서 디자인을 쉽게 하기 3. 데이터 모델 만들기 사용할 데이터의 형태를 지정하기 위해 데이터 모델만들기 4. 실제 사용하거나 UI디자인/테스트를 위한 데이터 만들기 개발중 데이터를 제공할 파일을 만듬 5. 여러개의 스크린을 불러올 수 있는 스크린콜랙션파일 생성 (Optional) 6. 여러개의 위젯을 불러올 수 있는 위젯콜렉션파일 생성 7. 웹을 위한 반응형 위젯 만들기 8. 데이터 오브젝트나 오브젝트 리스트를 json으로 바꾸기 9. 스트링으로 된 Json을 리스트로 바꾸기 10. GetX로 상태관리 GetX를 통해 state를 관..

[플러터] stateless 위젯에서 controller 사용하기

stateful widget을 사용하면 편하긴 한데 stateless widget을 사용하여 컨트롤러를 등록하고 스코를의 위치를 얻어내려고 하였다. 보통은 공식문서에서도 적혀있듯 stateful widget을 사용한다. class MyStockScreen extends StatelessWidget { final MyStocksCtr controller = Get.put(MyStocksCtr()); final ScrollController scrollController = ScrollController(); @override Widget build(BuildContext context) { scrollController.addListener(() => print(scrollController.positio..