Python
-
python으로 private DB에 접속하기 (베스쳔 터널링, PyMySQL)Programing/OCI 2023. 11. 1. 20:45
DB를 private한 공간에 만들면 당연히 local에서는 그냥 접속할 수 없습니다. 아래와 같은 과정을 거쳐야 합니다. 1) DB와 같은 보안로직을 가진 베스쳔 서버를 만들어야 합니다. AWS라면 동일한 VPC 내에 EC2를, OCI라면 동일한 VCN 내에 VM을 만들어야 합니다. 2) VM(EC2)에서 DB에 접속 가능하도록 미리 세팅해줍니다. 3) VM(EC2)을 경유해(터널링) 로컬에서 DB로 접속합니다. private에 위치한 DB에 python으로 접속해봅시다. 0. 구성 Public Subnet(공용 서브넷)은 외부에서 접근 가능한 서브넷입니다. Private Subnet(전용 서브넷)은 해당 VCN 내에서만 접근 가능한 서브넷입니다. 로컬의 python에서 Private Subnet에 위..
-
[Neo4j + Python] Python에서 Neo4j 쿼리 결과 읽기Data & ML & AI/GraphDB(Neo4j) 2022. 8. 29. 19:06
지난 글에서는 파이썬에서 local Neo4j DBMS과 세션을 연결해보았습니다. [Neo4j + Python] Python에서 Neo4j DB 접속하고 쿼리하기 프로젝트 진행을 간소화 하기 위해 Neo4j DB의 노드와 엣지를 만드는걸 자동화 하고싶습니다. 하지만 1) csv파일을 다운받아서 2) Neo4j desktop을 통해 csv를 import해주고, 3) csv를 죄다 로드한 뒤, 4) 그 brain-nim.tistory.com 이번에는 읽어온 정보를 객체에 넣어봅시다. 1. 세션 연결 후 쿼리 실행 from neo4j import GraphDatabase # Initialize connection to database driver = GraphDatabase.driver('bolt://loca..
-
[Neo4j + Python] Python에서 Neo4j DB 접속하고 쿼리하기Data & ML & AI/GraphDB(Neo4j) 2022. 8. 28. 21:37
프로젝트 진행을 간소화 하기 위해 Neo4j DB의 노드와 엣지를 만드는걸 자동화 하고싶습니다. 하지만 1) csv파일을 다운받아서 2) Neo4j desktop을 통해 csv를 import해주고, 3) csv를 죄다 로드한 뒤, 4) 그 중 필요한 것들끼리만 관계를 설정해 주고.... 매우 번거로워 보입니다. Neo4j csv파일 열기(LOAD CSV) 많은 수의 원본데이터, raw데이터는 csv, 엑셀과 같은 테이블 형식의 데이터입니다. 처음부터 그래프DB로 시작하는 극히 드문 경우가 아니라면 테이블 형식의 데이터를 그래프DB로 옮겨와야 한다 brain-nim.tistory.com 물론 저것만으로 충분히 할 수 있는 것은 많겠지만, 차라리 다른 프로그래밍 언어를 통해서 제어하는 것이 나아보입니다. 파..
-
0. 들어가는 말Data & ML & AI/Pandas & Scikit-Learn 2022. 5. 14. 14:40
회사에서 여러가지 바우처 사업을 많이 진행하게 되고 일손이 부족해지면서 거의 연구보고서와 AI나 기타 알고리즘 위주로 작업하던 저도 데이터 집중분석 업무에 참여하는 일이 많아졌습니다. 그런데 (특히 matplotlib나 기타 시각화 도구는) 너무 오랜만에 사용하는지라 분명 쉬운 작업임에도 불구하고 '이게 뭐더라'하면서 서치하고 시간을 낭비하는 일이 잦았습니다. 그래서 이번 기회에 차라리 처음부터 판다스, matplotlib, 기타 시각화 도구 등등을 기초부터 다시 공부하며 정리해볼까 합니다.
-
kivy 어플에 소리 넣기 (kivy SoundLoader)Programing/python 어플 개발 2022. 5. 6. 21:50
지금까지 만든 알람 어플은 알람이라고 했지만 "Alarm"이라는 글자만 내부적으로 print할 뿐이였습니다. 이제는 우리의 귀로 소리를 들을 수 있도록 변형해보겠습니다. 19초짜리 알람음 mp3를 사용하겠습니다. (출처: https://studio.youtube.com/ 오디오보관함-음향효과) main.py나 기타 파이썬 파일이 위치한 디렉토리에 다운로드 하시면 됩니다. 1. SoundLoader 사용해보기 kivy 어플리케이션에서 sound를 재생하는 가장 기본적인 방법은 다음과 같습니다. (참조: https://kivy.org/doc/stable/api-kivy.core.audio.html) sound.py from kivy.app import App from kivy.core.audio import..
-
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: 위의 코드와 아래의 코드는 같..