SlideShare a Scribd company logo
1 of 43
Download to read offline
GTK+ Workshop
Yi-Soo An
안이수 (Yi-Soo An)
● Contributor at GNOME
● Open source software
● Containerization
● Github -- https://github.com/memnoth
● GNOME Gitlab -- https://gitlab.gnome.org/memnoth
● Blog -- https://yisooan.wordpress.com/
워크샵 목표
● GTK+ 기본 개념
● 기본 위젯
● 미니 메모장 만들기
Set up
Install Flatpak by script
1. https://github.com/memnoth/gtkworkshop-script
Install Flatpak (Ubuntu)
1. $ sudo add-apt-repository ppa:alexlarsson/flatpak
2. $ sudo apt update
3. $ sudo apt install flatpak gnome-software-plugin-flatpak
4. $ flatpak remote-add --user flathub https://flathub.org/repo/flathub.flatpakrepo
5. $ flatpak remote-modify --user --collection-id=org.flathub.Stable flathub
6. $ flatpak update
7. $ sudo reboot
Install GNOME Sdk 3.30
1. $ flatpak install --user flathub org.gnome.Sdk//3.30
Install GNOME-Builder (IDE)
1. $ flatpak install --user flathub org.gnome.Builder//stable
Clone gtkworkshop repo
1. https://github.com/memnoth/gtkworkshop.git
What and Why GTK+?
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
X Window System (X for short)
● 1984년 MIT의 Jim Gettys, Bob Scheifler에 의해 X Window System 개발
● 1987년 X Version 11 (X11) 릴리즈
● Linux, Unix-like 시스템의Windowing system
● Window라고 불리는영역을화면에생성하는역할
● Window를 위한 Mouse, Keyboard 이벤트핸들링
See more https://stackoverflow.com/a/27515738
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
Cairo
● 2D Graphics drawing 라이브러리
● GTK+의 2D Graphics 백엔드로사용
● LGPL 또는 Mozilla Public 라이선스
● 멀티 플랫폼라이브러리(Linux and Unix-like 시스템, Windows, Mac OS X)
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GDK
● GIMP Drawing Kit의 약자
● GTK+를 특정 Windowing system에서 분리 (Platform Abstraction Layer)
● Window를 위한 Mouse, Keyboard 이벤트핸들링
● LGPL 라이선스
● 멀티 플랫폼라이브러리(Linux and Unix-like 시스템, Windows, Mac OS X)
See more https://stackoverflow.com/a/28454674
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+
● GIMP Tool Kit의 약자
● GIMP는 GNU Image Manipulation Program의 약자
● GIMP 개발에사용된GUI 라이브러리
● 1997년 Peter Mattis, Spencer Kimball, Josh MacDonald에 의해 개발
● LGPL 라이선스
● 멀티 플랫폼라이브러리(Linux and Unix-like 시스템, Windows, Mac OS X)
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
GTK+ 어플리케이션 아키텍처
https://www.gtk.org/overview.php
왜 GTK+?
● 개발자가 2D Graphics, Windowing system API 사용 X
● GTK+는 멀티 플랫폼 라이브러리!
● OS에 관계없이 동일한 출력 결과
Basic Principles
Event-Driven Programming
● 프로그램의흐름이Events에 의해 결정
● 대부분의GUI 프로그래밍은Event-driven programming
● 마우스, 키보드, Pipes, Network sockets, IPC Messages, Processes/Threads 등등
● 이벤트를받는 Main loop 존재
What does Main loop do?
The main event loop manages all the available sources of events for GLib and GTK+ applications. These
events can come from any number of different types of sources such as file descriptors (plain files, pipes or
sockets) and timeouts.
https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html
1. Events와 Event Handlers 등록
2. 등록된모든 Events를 관리
3. 마우스, 키보드, Pipes, Network sockets, IPC Messages, Processes/Threads 등등
What does Main loop do?
https://commons.wikimedia.org/wiki/File:Event_driven_programming_Simply_Explained.jpg
What does Main loop do?
https://www.boost.org/doc/libs/1_69_0/libs/coroutine/doc/html/coroutine/motivation.html
Main Loop
Signals
● GUI 프로그래밍의기반이되는 메커니즘
● 특정 액션이발생했다고알람을울리는것
● Signal이 발생하면항상 Callback 함수가실행
● 하나의Signal에 여러가지Callback 함수가연결 될 수 있음
Signals and Events
Events
● 프로그램외부에서발생한신호
● 예) Touch, Keyboard, Mouse
Signals
● 프로그램내부에서발생한신호
● 예) Interclass communication
https://stackoverflow.com/a/3794884
Basic Widgets
Gtk.Box
● 위젯(Widget)을 담을 수 있는 컨테이너중 하나
● 화면에보이지않음
● Horizontal Box (수평) / Vertical Box (수직)
● Gtk.Box.pack_start() / Gtk.Box.pack_end() 메서드를이용하여위젯 추가
● Box 안에 또 다른 Box 를 담을 수 있음
lesson2.py
Gtk.HeaderBar
● Gtk.Box의 Horizontal Box와 비슷
● 위젯을추가할수 있음
● Gtk.HeaderBar.pack_start() / Gtk.HeaderBar.pack_end() 메서드를이용하여위젯 추가
● Title / Subtitle 설정
● 윈도우프레임제어 기능 제공 (최소화/ 최대화/ 닫기)
● GTK+ 어플리케이션개발에서일반적으로사용하는기능
lesson3.py
Mini Project (My Editor)
Mini Project (My Editor) MyHeaderBar.py
MyMainBox.py
Mini Project (My Editor) MyHeaderBar.py
MyMainBox.py
TextView

More Related Content

What's hot

강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)Ubuntu Korea Community
 
git 간단한 사용방법
git 간단한 사용방법git 간단한 사용방법
git 간단한 사용방법Oh Dongju
 
Go 1.설치와 세팅
Go 1.설치와 세팅Go 1.설치와 세팅
Go 1.설치와 세팅재봉 이
 
Cura Packaging on Win32
Cura Packaging on Win32Cura Packaging on Win32
Cura Packaging on Win32Jinbuhm Kim
 
Cura localization and packaging on Win32
Cura localization and packaging on Win32Cura localization and packaging on Win32
Cura localization and packaging on Win32Jinbuhm Kim
 
Snaps on Ubuntu Desktop
Snaps on Ubuntu DesktopSnaps on Ubuntu Desktop
Snaps on Ubuntu DesktopYoungbin Han
 
버추얼박스에 우분투그놈 14.04LTS 설치하기
버추얼박스에 우분투그놈 14.04LTS 설치하기버추얼박스에 우분투그놈 14.04LTS 설치하기
버추얼박스에 우분투그놈 14.04LTS 설치하기licubeclub
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Jaehoon Kim
 
오픈소스 맛보기 - 정민우님
오픈소스 맛보기 - 정민우님오픈소스 맛보기 - 정민우님
오픈소스 맛보기 - 정민우님NAVER D2
 
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Youngbin Han
 
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Hyunjun Roh
 
Docker at Deview 2013
Docker at Deview 2013Docker at Deview 2013
Docker at Deview 2013Jude Kim
 
쌍용강북교육센터 수강생을 위한 Github
쌍용강북교육센터 수강생을 위한 Github쌍용강북교육센터 수강생을 위한 Github
쌍용강북교육센터 수강생을 위한 Githubalan1011
 
[14.06.11] KENNYDROID for Pi FINAL
[14.06.11] KENNYDROID for Pi FINAL[14.06.11] KENNYDROID for Pi FINAL
[14.06.11] KENNYDROID for Pi FINALHyeonmin Park
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1Hansol Kang
 
GitHub로 프로젝트 운영하기
GitHub로 프로젝트 운영하기GitHub로 프로젝트 운영하기
GitHub로 프로젝트 운영하기Lee Geonhee
 
Git로 협업하기
Git로 협업하기Git로 협업하기
Git로 협업하기Kim Byoungsu
 
Deploying flask with nginx & uWSGI
Deploying flask with nginx & uWSGIDeploying flask with nginx & uWSGI
Deploying flask with nginx & uWSGI정주 김
 

What's hot (20)

강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
 
git 간단한 사용방법
git 간단한 사용방법git 간단한 사용방법
git 간단한 사용방법
 
Git & GitHub
Git & GitHubGit & GitHub
Git & GitHub
 
Go 1.설치와 세팅
Go 1.설치와 세팅Go 1.설치와 세팅
Go 1.설치와 세팅
 
Cura Packaging on Win32
Cura Packaging on Win32Cura Packaging on Win32
Cura Packaging on Win32
 
Cura localization and packaging on Win32
Cura localization and packaging on Win32Cura localization and packaging on Win32
Cura localization and packaging on Win32
 
Snaps on Ubuntu Desktop
Snaps on Ubuntu DesktopSnaps on Ubuntu Desktop
Snaps on Ubuntu Desktop
 
버추얼박스에 우분투그놈 14.04LTS 설치하기
버추얼박스에 우분투그놈 14.04LTS 설치하기버추얼박스에 우분투그놈 14.04LTS 설치하기
버추얼박스에 우분투그놈 14.04LTS 설치하기
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축
 
오픈소스 맛보기 - 정민우님
오픈소스 맛보기 - 정민우님오픈소스 맛보기 - 정민우님
오픈소스 맛보기 - 정민우님
 
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
 
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)
 
git-workflow
git-workflowgit-workflow
git-workflow
 
Docker at Deview 2013
Docker at Deview 2013Docker at Deview 2013
Docker at Deview 2013
 
쌍용강북교육센터 수강생을 위한 Github
쌍용강북교육센터 수강생을 위한 Github쌍용강북교육센터 수강생을 위한 Github
쌍용강북교육센터 수강생을 위한 Github
 
[14.06.11] KENNYDROID for Pi FINAL
[14.06.11] KENNYDROID for Pi FINAL[14.06.11] KENNYDROID for Pi FINAL
[14.06.11] KENNYDROID for Pi FINAL
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1
 
GitHub로 프로젝트 운영하기
GitHub로 프로젝트 운영하기GitHub로 프로젝트 운영하기
GitHub로 프로젝트 운영하기
 
Git로 협업하기
Git로 협업하기Git로 협업하기
Git로 협업하기
 
Deploying flask with nginx & uWSGI
Deploying flask with nginx & uWSGIDeploying flask with nginx & uWSGI
Deploying flask with nginx & uWSGI
 

Similar to Python을 이용한 Linux Desktop Application

공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu ManualUbuntu Korea Community
 
3.ubuntu custom
3.ubuntu custom3.ubuntu custom
3.ubuntu customsprdd
 
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)JinKwon Lee
 
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)Ubuntu Korea Community
 
오픈소스 모니터링 알아보기(Learn about opensource monitoring)
오픈소스 모니터링 알아보기(Learn about opensource monitoring)오픈소스 모니터링 알아보기(Learn about opensource monitoring)
오픈소스 모니터링 알아보기(Learn about opensource monitoring)SeungYong Baek
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows TerminalOnGameServer
 
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장MinPa Lee
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편Sam Kim
 
제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기Mario Cho
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 
Internship backend
Internship backendInternship backend
Internship backendYein Sim
 
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203doo rip choi
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기SeungYong Baek
 
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱NAVER Engineering
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는GitMario Cho
 
Raspberry-PI GPIO with Python
Raspberry-PI GPIO with PythonRaspberry-PI GPIO with Python
Raspberry-PI GPIO with Pythonsewoo lee
 
How to contribute at OpenStack
How to contribute at OpenStackHow to contribute at OpenStack
How to contribute at OpenStackSK Telecom
 

Similar to Python을 이용한 Linux Desktop Application (20)

공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual
 
3.ubuntu custom
3.ubuntu custom3.ubuntu custom
3.ubuntu custom
 
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
 
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
 
Introduce Cobuntu 9.04
Introduce Cobuntu 9.04Introduce Cobuntu 9.04
Introduce Cobuntu 9.04
 
오픈소스 모니터링 알아보기(Learn about opensource monitoring)
오픈소스 모니터링 알아보기(Learn about opensource monitoring)오픈소스 모니터링 알아보기(Learn about opensource monitoring)
오픈소스 모니터링 알아보기(Learn about opensource monitoring)
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
 
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장PyQGIS와 PyQt를 이용한 QGIS 기능 확장
PyQGIS와 PyQt를 이용한 QGIS 기능 확장
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편
 
제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
Git 코드랩 스터디 1
Git 코드랩 스터디 1Git 코드랩 스터디 1
Git 코드랩 스터디 1
 
Internship backend
Internship backendInternship backend
Internship backend
 
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는Git
 
Raspberry-PI GPIO with Python
Raspberry-PI GPIO with PythonRaspberry-PI GPIO with Python
Raspberry-PI GPIO with Python
 
How to contribute at OpenStack
How to contribute at OpenStackHow to contribute at OpenStack
How to contribute at OpenStack
 

More from Ubuntu Korea Community

권총 사격하러 우분투 써밋 참가한 썰.txt
 권총 사격하러 우분투 써밋 참가한 썰.txt  권총 사격하러 우분투 써밋 참가한 썰.txt
권총 사격하러 우분투 써밋 참가한 썰.txt Ubuntu Korea Community
 
머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경
머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경
머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경Ubuntu Korea Community
 
우분투한국커뮤니티 2022년 활동 정리
우분투한국커뮤니티 2022년 활동 정리우분투한국커뮤니티 2022년 활동 정리
우분투한국커뮤니티 2022년 활동 정리Ubuntu Korea Community
 
우분투한국커뮤니티 2022년 신년회
우분투한국커뮤니티 2022년 신년회우분투한국커뮤니티 2022년 신년회
우분투한국커뮤니티 2022년 신년회Ubuntu Korea Community
 
Memory Attack - The Memory Attack Techniques
Memory Attack - The Memory Attack TechniquesMemory Attack - The Memory Attack Techniques
Memory Attack - The Memory Attack TechniquesUbuntu Korea Community
 
케라스와 함께하는 재밌는 딥러닝 활용 사례들
케라스와 함께하는 재밌는 딥러닝 활용 사례들케라스와 함께하는 재밌는 딥러닝 활용 사례들
케라스와 함께하는 재밌는 딥러닝 활용 사례들Ubuntu Korea Community
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
9월 서울지역 세미나 GPG 키사이닝 파티
9월 서울지역 세미나 GPG 키사이닝 파티9월 서울지역 세미나 GPG 키사이닝 파티
9월 서울지역 세미나 GPG 키사이닝 파티Ubuntu Korea Community
 
우분투한국커뮤니티 2018년도 상반기 활동 보고
우분투한국커뮤니티 2018년도 상반기 활동 보고우분투한국커뮤니티 2018년도 상반기 활동 보고
우분투한국커뮤니티 2018년도 상반기 활동 보고Ubuntu Korea Community
 
새로운 Libhanjp 라이브러리 구조
새로운 Libhanjp 라이브러리 구조새로운 Libhanjp 라이브러리 구조
새로운 Libhanjp 라이브러리 구조Ubuntu Korea Community
 
스타트업에서 하드웨어 개발 프로세스 도입하기
스타트업에서 하드웨어 개발 프로세스 도입하기스타트업에서 하드웨어 개발 프로세스 도입하기
스타트업에서 하드웨어 개발 프로세스 도입하기Ubuntu Korea Community
 
지방에서 개발자 커뮤니티 운영하기
지방에서 개발자 커뮤니티 운영하기지방에서 개발자 커뮤니티 운영하기
지방에서 개발자 커뮤니티 운영하기Ubuntu Korea Community
 
VM이랑은 무관한 컨테이너 이야기
VM이랑은 무관한 컨테이너 이야기VM이랑은 무관한 컨테이너 이야기
VM이랑은 무관한 컨테이너 이야기Ubuntu Korea Community
 

More from Ubuntu Korea Community (20)

권총 사격하러 우분투 써밋 참가한 썰.txt
 권총 사격하러 우분투 써밋 참가한 썰.txt  권총 사격하러 우분투 써밋 참가한 썰.txt
권총 사격하러 우분투 써밋 참가한 썰.txt
 
머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경
머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경
머신러닝/딥러닝 개발자/연구자에게 필요한 개발/연구 환경
 
우분투한국커뮤니티 2022년 활동 정리
우분투한국커뮤니티 2022년 활동 정리우분투한국커뮤니티 2022년 활동 정리
우분투한국커뮤니티 2022년 활동 정리
 
우분투한국커뮤니티 2022년 신년회
우분투한국커뮤니티 2022년 신년회우분투한국커뮤니티 2022년 신년회
우분투한국커뮤니티 2022년 신년회
 
Ubuntu Korea at FOSSASIA Summit 2022
Ubuntu Korea at FOSSASIA Summit 2022Ubuntu Korea at FOSSASIA Summit 2022
Ubuntu Korea at FOSSASIA Summit 2022
 
Usage of the MQTT
Usage of the MQTTUsage of the MQTT
Usage of the MQTT
 
Open Source and the License
Open Source and the LicenseOpen Source and the License
Open Source and the License
 
Memory Attack - The Memory Attack Techniques
Memory Attack - The Memory Attack TechniquesMemory Attack - The Memory Attack Techniques
Memory Attack - The Memory Attack Techniques
 
나의 우분투 이야기
나의 우분투 이야기나의 우분투 이야기
나의 우분투 이야기
 
Malware Dataset & Ubuntu
Malware Dataset & UbuntuMalware Dataset & Ubuntu
Malware Dataset & Ubuntu
 
케라스와 함께하는 재밌는 딥러닝 활용 사례들
케라스와 함께하는 재밌는 딥러닝 활용 사례들케라스와 함께하는 재밌는 딥러닝 활용 사례들
케라스와 함께하는 재밌는 딥러닝 활용 사례들
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
9월 서울지역 세미나 GPG 키사이닝 파티
9월 서울지역 세미나 GPG 키사이닝 파티9월 서울지역 세미나 GPG 키사이닝 파티
9월 서울지역 세미나 GPG 키사이닝 파티
 
우분투한국커뮤니티 2018년도 상반기 활동 보고
우분투한국커뮤니티 2018년도 상반기 활동 보고우분투한국커뮤니티 2018년도 상반기 활동 보고
우분투한국커뮤니티 2018년도 상반기 활동 보고
 
새로운 Libhanjp 라이브러리 구조
새로운 Libhanjp 라이브러리 구조새로운 Libhanjp 라이브러리 구조
새로운 Libhanjp 라이브러리 구조
 
스타트업에서 하드웨어 개발 프로세스 도입하기
스타트업에서 하드웨어 개발 프로세스 도입하기스타트업에서 하드웨어 개발 프로세스 도입하기
스타트업에서 하드웨어 개발 프로세스 도입하기
 
기계들의 소셜 미디어, MQTT
기계들의 소셜 미디어, MQTT기계들의 소셜 미디어, MQTT
기계들의 소셜 미디어, MQTT
 
모바일에 딥러닝 심기
모바일에 딥러닝 심기모바일에 딥러닝 심기
모바일에 딥러닝 심기
 
지방에서 개발자 커뮤니티 운영하기
지방에서 개발자 커뮤니티 운영하기지방에서 개발자 커뮤니티 운영하기
지방에서 개발자 커뮤니티 운영하기
 
VM이랑은 무관한 컨테이너 이야기
VM이랑은 무관한 컨테이너 이야기VM이랑은 무관한 컨테이너 이야기
VM이랑은 무관한 컨테이너 이야기
 

Python을 이용한 Linux Desktop Application