파이썬
-
[Python] AWS S3에 모델파일 저장하기, 불러오기 (boto3)Programing/AWS 2023. 2. 16. 10:17
기존에는 모델학습, 저장, load 후 flask 서버 활용 모두 하나의 EC2에서 진행했으나, 이제는 규모도 조금 커졌겠다, EC2 자원 잡아먹지 않도록 분리를 해야겠다는 생각이 들었습니다. 모델학습은 로컬에서 진행하고, 만들어진 모델파일은 S3에 저장, EC2내의 flask 서버가 S3의 모델파일을 읽어와 서비스를 제공하도록 변경하고자 했습니다. 그러려면 파이썬이 S3의 파일 데이터에 접근 가능해야겠죠. 방법은 매우 간단합니다. boto3를 이용하면 됩니다. 사전준비 1) AWS 엑세스 키 발급 기존에 access key가 없었다면 아래의 docs를 참고해서 키를 만들어주세요 AWS 계정 및 액세스 키 - AWS Tools for PowerShell 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감..
-
파이썬으로 TDD 진행해보기(feat. unittest 예제)Programing/TDD 2022. 11. 24. 01:11
스터디 도서의 내용을 실습하기 이전에, 파이썬으로 TDD를 진행할 수 있는지 자체를 먼저 확인해 봐야겠습니다. 엄밀히 따지면, 이 글의 제목은 잘못되었습니다. "TDD 진행해보기"가 아니라, "코드 테스트하기"가 더 정확할 겁니다. 그치만 전 TDD를 공부하기 위해서 unittest를 사용하는거니까요... import unittest 파이썬에서는 기본 라이브러리인 unittest를 이용해서 TTD를 진행할 수 있습니다. unittest는 코드를 테스트할 수 있도록 도와주는 라이브러리입니다. unittest를 활용하면 코드 테스트도 할 수 있고, 테스트가 가능하니 TDD도 진행할 수 있습니다. 아래는 덧셈,뺄셈,곱셈,나눗셈을 할 수 있는 calculator.py, 이 calculator.py가 돌아갈 때 ..
-
0. 들어가는 말Data & ML & AI/Pandas & Scikit-Learn 2022. 5. 14. 14:40
회사에서 여러가지 바우처 사업을 많이 진행하게 되고 일손이 부족해지면서 거의 연구보고서와 AI나 기타 알고리즘 위주로 작업하던 저도 데이터 집중분석 업무에 참여하는 일이 많아졌습니다. 그런데 (특히 matplotlib나 기타 시각화 도구는) 너무 오랜만에 사용하는지라 분명 쉬운 작업임에도 불구하고 '이게 뭐더라'하면서 서치하고 시간을 낭비하는 일이 잦았습니다. 그래서 이번 기회에 차라리 처음부터 판다스, matplotlib, 기타 시각화 도구 등등을 기초부터 다시 공부하며 정리해볼까 합니다.
-
Kivy 기능 분할하기 (split file & class)Programing/python 어플 개발 2022. 5. 5. 17:58
이전 글에서는 kivy를 이용해 알람 어플을 위한 내부 기능들을 만들어 보았고(비록 소리가 아닌 print였지만), 또 kivyMD를 이용해 간략하게 시계 위젯도 띄워 봤습니다. 알람 내부기능(지정된 시간에 알람 울리기) kivy를 활용한 어플 만들기 (Clock Object 사용해보기) 알람 어플이야 이미 기본어플들 마저 빅스비, 시리랑 연동되는 상당한 기능을 가지고 있기 때문에 굳이 노력하여 만드는 것보다 누가 먼저 만들어 놓은 것을 활용하는 것이 효율적이지만, 제가 brain-nim.tistory.com 시계 위젯 사용하기(시간 지정용 위젯) kivyMD로 시계 위젯 띄우기(KivyMD TimePicker) 알람을 설정하기 위해 시간을 직접 입력해도 되지만, 시계를 띄워주고, 시계 위에서 원하는 시..
-
kivyMD로 시계 위젯 띄우기(KivyMD TimePicker)Programing/python 어플 개발 2022. 5. 1. 18:56
알람을 설정하기 위해 시간을 직접 입력해도 되지만, 시계를 띄워주고, 시계 위에서 원하는 시간을 클릭해서 알람시간을 지정하면 더 편할 것 같습니다. 그럼 kivy와 kivyMD가 만들어준 것들을 사용해서 쉽게쉽게 시계를 띄워보겠습니다. 1. 메인화면 만들기 from kivymd.app import MDApp from kivy.uix.screenmanager import Screen from kivymd.uix.button import MDRectangleFlatButton from kivymd.uix.label import MDLabel class MainApp(MDApp): def build(self): screen = Screen() self.alarm_time = "Fix your time" # b..
-
KivyMD를 이용해 Kivy 디자인을 더 쉽게 지정하기Programing/python 어플 개발 2022. 4. 29. 00:33
Kivy를 활용하면 UI를 만들 수 있죠. 그리고 kivy에서는 위젯을 좀 더 쉽게 배치하고, 디자인을 좀 더 쉽게 지정할 수 있도록 kv language 라는걸 활용할 수 있도록 지원하고 있습니다. 1. kivy 만을 이용해서 위젯 만들기 그냥 파이썬 코드, kivy 패키지와 모듈들만을 이용해서 위젯을 만든다면 root = MyRootWidget() box = BoxLayout() box.add_widget(Button()) box.add_widget(Button()) root.add_widget(box) 이렇게 만들게 되겠죠? 하지만 조금은 귀찮아보입니다. 그럼 kv language랑 비교해볼까요? MyRootWidget: BoxLayout: Button: Button: 위의 코드와 아래의 코드는 같..
-
kivy를 활용한 어플 만들기 (Clock Object 사용해보기)Programing/python 어플 개발 2022. 4. 28. 02:36
알람 어플이야 이미 기본어플들 마저 빅스비, 시리랑 연동되는 상당한 기능을 가지고 있기 때문에 굳이 노력하여 만드는 것보다 누가 먼저 만들어 놓은 것을 활용하는 것이 효율적이지만, 제가 만들어보고싶은 어플 중 하나는 알람기능을 보유한 어플입니다. 그래서 오늘은 필요한 요소 중 가장 간단한 기능이라고 생각한(....) 시간과 관련한 모듈에 대해서 찾아봤습니다. kivy에서 시계와 관련한 모듈은 kivy.clock입니다. (공식문서링크) 1. 함수 반복하기 from kivy.app import App from kivy.clock import Clock class ClockDemo(App): # dt means delta-time def my_callback(dt): print('Hello') # call m..
-
Python만으로 어플을 만들어보자 #6 (Create a package for Android)Programing/python 어플 개발 2022. 4. 21. 22:46
Python으로 어플만들기 6탄 : 안드로이드 apk 파일로 배포를 해보자 지금까지 어플리케이션을 만들었지만, 우리가 생각하는 '그 어플리케이션'은 아니였습니다. 이젠 지금까지 어찌저찌 만들었던 kivy 어플리케이션을 활용해서 정말로 '그 어플리케이션'을 만들어봅시다! python과 kivy를 활용해서 만든 main.py를 안드로이드 어플리케이션 파일 .apk로 패키징 하는 방법은 여러가지가 있습니다. (공식문서 참조) buildozer를 활용한다. python-for-android를 활용한다. Kivy Launcher를 활용한다. 이 중, 가장 첫번째로 소개하고 있는 buildozer를 활용해 패키징해보도록 하겠습니다. Install buildozer (in windows) 하지만 처음부터 난관입니다...