반응형

Kivy를 설치하기 위해서는 Kivy가 의존하고 있는 다른 패키지를 먼저 설치해야 한다.

Gstreamer, glew, angle, sdl2 패키지가 필요하다. 이런 패키지들에 해당되는 휠을 다운받도록 한다. 안정된 버전의 휠은 PyPI (Python Package Installation) 사이트에서 제공한다.

우선 pypi.org 사이트에 접속한다. 프로젝트 명으로 검색한다. 프로젝트를 선택하면 프로젝트 설명을 볼 수 있다. 왼쪽의 Download files 화면에서 파이썬 버전과 플랫폼을 선택하여 휠파일을 다운받는다. (gstreamer 패키지가 20195, 64비트만 제공된다. 파이썬을 64비트용으로 설치해야 한다.) 

다운로드 받은 휠 파일들을 아래와 같은 순서로 실행하여 설치한다. 패키지 간의 의존관계가 있기 때문에 순서를 잘 맞춰서 설치해야 한다. 설령 순서가 틀렸더라도 차례대로 하면 문제는 없다.

>python -m pip install kivy.deps.sdl2-0.1.19-cp37-cp37m-win_amd64.whl

>python -m pip install kivy.deps.glew-0.1.10-cp37-cp37m-win_amd64.whl

>python -m pip install kivy.deps.gstreamer_dev-0.1.14-cp37-cp37m-win_amd64.whl

Kivy garden도 설치해야 한다. 더 많은 패키지 의존 관계를 요구한다. 아래와 같은 휠 파일들을 다운로드 받아서 차례대로 설치한다.

>python -m pip install Pygments-2.4.0-py2.py3-none-any.whl

>python -m pip install docutils-0.14-py3-none-any.whl

>python -m pip install chardet-3.0.4-py2.py3-none-any.whl

>python -m pip install urllib3-1.24.3-py2.py3-none-any.whl

>python -m pip install certifi-2019.3.9-py2.py3-none-any.whl

>python -m pip install idna-2.8-py2.py3-none-any.whl

>python -m pip install requests-2.21.0-py2.py3-none-any.whl

>python -m pip install kivy-garden-0.1.4.tar.gz

 

의존하고 있는 패키지들이 모두 설치되었다면, 이제 kivy를 설치한다.

>python -m pip install Kivy-1.10.1-cp37-cp37m-win_amd64.whl

 

Processing c:\downloads\kivy\kivy-1.10.1-cp37-cp37m-win_amd64.whl

Requirement already satisfied: docutils in c:\python37\lib\site-packages (from Kivy==1.10.1) (0.14)

Requirement already satisfied: Kivy-Garden>=0.1.4 in c:\python37\lib\site-packages (from Kivy==1.10.1) (0.1.4)

Requirement already satisfied: pygments in c:\python37\lib\site-packages (from Kivy==1.10.1) (2.4.0)

Requirement already satisfied: requests in c:\python37\lib\site-packages (from Kivy-Garden>=0.1.4->Kivy==1.10.1) (2.21.0)

Requirement already satisfied: certifi>=2017.4.17 in c:\python37\lib\site-packages (from requests->Kivy-Garden>=0.1.4->Kivy==1.10.1) (2019.3.9)

Requirement already satisfied: idna<2.9,>=2.5 in c:\python37\lib\site-packages (from requests->Kivy-Garden>=0.1.4->Kivy==1.10.1) (2.8)

Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\python37\lib\site-packages (from requests->Kivy-Garden>=0.1.4->Kivy==1.10.1) (3.0.4)

Requirement already satisfied: urllib3<1.25,>=1.21.1 in c:\python37\lib\site-packages (from requests->Kivy-Garden>=0.1.4->Kivy==1.10.1) (1.24.3)

Installing collected packages: Kivy

Successfully installed Kivy-1.10.1

 

설치된 패키지 목록을 확인한다.

>pip list

Package                 Version

----------------------- --------

certifi                 2019.3.9

chardet                 3.0.4

docutils                0.14

idna                    2.8

Kivy                    1.10.1

Kivy-Garden             0.1.4

kivy.deps.glew          0.1.10

kivy.deps.gstreamer-dev 0.1.14

kivy.deps.sdl2          0.1.19

pip                     19.1.1

Pygments                2.4.0

requests                2.21.0

setuptools              40.8.0

urllib3                 1.24.3

 

잘 설치되었는 지 확인하기 위해서 파이썬 쉘에서 실행해본다. 처음 실행하면 업그레이드 작업이 실행된다는 경고 메세지가 뜬다. 다시 실행하면 경고 없이 잘 실행된다.

>>> import kivy

[WARNING] [Config      ] Older configuration version detected (0 instead of 20)

[WARNING] [Config      ] Upgrading configuration in progress.

[INFO   ] [Logger      ] Record log in D:\.kivy\logs\kivy_19-05-15_0.txt

[INFO   ] [Kivy        ] v1.10.1

[INFO   ] [Python      ] v3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]

>>> import kivy

>>> 

 

반응형
반응형

IMAP으로 메일 서버의 기능을 사용하기 위해서는 문자열로 된 명령어가 필요하다. IMAP에서 메일함을 다루는 명령어는 다음과 같다.

SELECT : "SELECT INBOX"와 같이, 수신함을 선택한다. 메일함 이름으로 선택할 수 있다.  

EXAMINE : SELECT 명령어와 같으나 읽기전용으로 선택하게 된다. "EXAMINE INBOX" 와 같이, 수신함을 선택한다.

CREATE : 메일함을 생성한다.  "CREATE BOX1"와 같이, 새로운 BOX1 메일함을 생성할 수 있다.

DELETE : 기존의 메일함을 삭제 한다. "DELETE BOX1" 같이 할 수 있다.

RENAME : 메일함의 이름을 변경한다. "RENAME BOX1 BOX2"  기존의 메일함 BOX1 BOX2로 변경한다.

CLOSE : 현재 선택된 메일함을 닫는다. 메일함을 지정하지 않는다. 그냥 "CLOSE" 로 명령한다.

 

IMAP에서 메일을 다루는 명령어는 다음과 같다.

SEARCH : 현재 메일함에서 주어진 조건으로 메일을 찾는다.

APPEND : 현재 메일함에 새로운 메일을 추가한다.

FETCH : 메일에 첨부된 데이터를 가져온다.

반응형
반응형

When multiple keys are specified, the result is the intersection (AND function) of all the messages that match those keys.

ALL

All messages in the mailbox; the default initial key for ANDing.

ANSWERED

Messages with the \Answered flag set.

BCC 'string'

Messages that contain the specified string in the envelope structure's BCC field.

BEFORE 'date'

Messages whose internal date is earlier than the specified date.

BODY 'string'

Messages that contain the specified string in the body of the message.

CC 'string'

Messages that contain the specified string in the envelope structure's CC field.

DELETED

Messages with the \Deleted flag set.

DRAFT

Messages with the \Draft flag set.

FLAGGED

Messages with the \Flagged flag set.

FROM 'string'

Messages that contain the specified string in the envelope structure's FROM field.

HEADER 'field-name' 'string'

Messages that have a header with the specified field-name (as defined in [RFC-822]) and that contains the specified string in the [RFC-822] field-body.

KEYWORD 'flag'

Messages with the specified keyword set.

LARGER 'n'

Messages with an RFC822.SIZE larger than the specified number of octets.

NEW

Messages that have the \Recent flag set but not the \Seen flag. This is functionally equivalent to "(RECENT UNSEEN)".

NOT 'search-key'

Messages that do not match the specified search key.

OLD

Messages that do not have the \Recent flag set. This is functionally equivalent to "NOT RECENT" (as opposed to "NOT NEW").

ON 'date'

Messages whose internal date is within the specified date.

OR 'search-key1' 'search-key2'

Messages that match either search key.

RECENT

Messages that have the \Recent flag set.

SEEN

Messages that have the \Seen flag set.

SENTBEFORE 'date'

Messages whose [RFC-822] Date: header is earlier than the specified date.

SENTON 'date'

Messages whose [RFC-822] Date: header is within the specified date.

SENTSINCE 'date'

Messages whose [RFC-822] Date: header is within or later than the specified date.

SINCE 'date'

Messages whose internal date is within or later than the specified date.

SMALLER 'n'

Messages with an RFC822.SIZE smaller than the specified number of octets.

SUBJECT 'string'

Messages that contain the specified string in the envelope structure's SUBJECT field.

TEXT 'string'

Messages that contain the specified string in the header or body of the message.

TO 'string'

Messages that contain the specified string in the envelope structure's TO field.

UID 'message set'

Messages with unique identifiers corresponding to the specified unique identifier set.

UNANSWERED

Messages that do not have the \Answered flag set.

UNDELETED

Messages that do not have the \Deleted flag set.

UNDRAFT

Messages that do not have the \Draft flag set.

UNFLAGGED

Messages that do not have the \Flagged flag set.

UNKEYWORD 'flag'

Messages that do not have the specified keyword set.

UNSEEN

Messages that do not have the \Seen flag set.-- Example --(C=Client, S=Server) 

C: A282 SEARCH FLAGGED SINCE 1-Feb-1994 NOT FROM "Smith" 
S: * SEARCH 2 84 882
S: A282 OK SEARCH completed

For more detailed information, see IMAP example programs and IMAP RFC 1730

반응형
반응형


윈도우즈에서 가상머신을 실행하기 위해서 사용할 수 있는 virtual machine으로, 오라클 virtualBox를 설치해본다.


다운로드 : https://www.virtualbox.org/wiki/Downloads


windows hosts 선택하면, 2019년 3월 현재 기준으로 6.0.4 버전을 다운로드 받을 수 있다. (VirtualBox-6.0.4-128413-Win.exe)


지원되는 host OS : Windows, Linux, Macintosh, and Solaris

지원되는 guest OS는 윈도우즈, 리눅스 등의 다양한 버전을 지원한다. 


[Next] 클릭한다


[Next] 클릭한다.



[Next]를 클릭한다.



설치과정에서 네트워크가 잠시 중단된다는 경고이다.

[Yes]를 클릭한다.


설치될 준비가 된 것이다.

[Install]을 클릭한다.


설치가 진행된다.



설치과정에서 보안에 대한 질문이다. 여러 번 물어보는 화면이 뜨게 된다.

신뢰할 수 있으므로, [설치]를 클릭한다.



설치가 완료되었다.


실행하면 아래왁 같은 화면이 뜬다.





반응형
반응형

통신사는 강력한 연결을 통해서 사용자들을 묶어 놓고 싶어한다. 그래야 앞으로도 더 많은 수익을 기대할 수 있기 때문이다. 그래서, 사용자가 원하지도 않는 많은 앱들을 미리 설치해 둔다. 그리고 그 앱들을 쉽게 제거하지도 못하게 해 두었다. 그런데 그 앱들은 우리가 써야할 스마트폰의 자원(메모리나 배터리 등)을 몰래 써버리게 된다. 그 연결이 우리에게는 불필요할 정도로 강력한 연결인 것이다.

자, 그 앱들을 제거하는 방법은 크게 세가지로 할 수 있다.
첫번째, 루팅을 해서 앱을 삭제하는 방법이 있다. 이 방법은 전문적인 지식이 필요하고, 루팅을 한 스마트폰은 서비스센터에서 받아 주지 않기 때문에 위험을 감수해야 한다.

두번째, 커스텀롬이란 것을 까는 방법이다. 원래 폰이 출시될 때 제조사에서 깔아둔 롬(순정롬이라고 한다)에 벌써 통신사의 앱들이 설치되는 데, 그 롬 대신에 다른 개발자가 나름대로 불필요한 앱은 없애고, 새로운 앱을 포함시킨 롬을 설치하는 방법이다. 이 방법도 서비스센터에서는 받아 주지 않는 위험이 있다. 그리고 루팅을 하지 않고도 하는 방법이 있긴 하지만, 그래도 쉽지만은 않다.

세번째 방법은 설치되어 있는 통신사 앱들을 삭제하는 대신에 사용하지 않는 상태로만 바꾸는 것이다. 물론 저장된 공간은 낭비가 되겠지만, 메모리와 배터리 사용은 못하게 할 수 있기 때문에 스마트폰이 좀더 잘 돌아가게 된다. 그리고 처리하는 방법도 상당히 쉽기 때문에 추천할 만하다.

일단, PC에 debloater 라는 프로그램을 설치해야 한다.

http://forum.xda-developers.com/devdb/project/?id=8086#downloads


그리고 스마트폰을 개발자 옵션(USB 디버깅 모드)으로 연결하고,  debloater에서 [read device] 한 이후에, 나타난 목록 중에서 불필요한 앱들을 선택하고 나서 [apply]만 해주면 된다. 그리고 usb선을 분리하면 그만이다. 아주 쉽다.
통신사 이름으로 필터하면 더 쉽게 찾을 수 있다. 단, 필요한 앱을 제거하게 되면 오류가 날 수도 있다. 만약 잘못했다면 그 앱을 다시 unblock 처리하면 된다.




반응형
반응형

Spring Cloud는 마이크로서비스 아키텍처(MSA)를 신속하게 구축할 수 있는 도구를 제공한다.

진행 중인 프로젝트는 아래와 같다.




- Spring Cloud Config

Centralized external configuration management backed by a git repository. The configuration resources map directly to Spring Environment but could be used by non-Spring applications if desired.


- Spring Cloud Netflix

Integration with various Netflix OSS components (Eureka, Hystrix, Zuul, Archaius, etc.).


- Spring Cloud Bus

An event bus for linking services and service instances together with distributed messaging. Useful for propagating state changes across a cluster (e.g. config change events).


- Spring Cloud Cloudfoundry

Integrates your application with Pivotal Cloud Foundry. Provides a service discovery implementation and also makes it easy to implement SSO and OAuth2 protected resources.


- Spring Cloud Open Service Broker

Provides a starting point for building a service broker that implements the Open Service Broker API.


- Spring Cloud Cluster

Leadership election and common stateful patterns with an abstraction and implementation for Zookeeper, Redis, Hazelcast, Consul.


- Spring Cloud Consul

Service discovery and configuration management with Hashicorp Consul.


- Spring Cloud Security

Provides support for load-balanced OAuth2 rest client and authentication header relays in a Zuul proxy.


- Spring Cloud Sleuth

Distributed tracing for Spring Cloud applications, compatible with Zipkin, HTrace and log-based (e.g. ELK) tracing.


- Spring Cloud Data Flow

A cloud-native orchestration service for composable microservice applications on modern runtimes. Easy-to-use DSL, drag-and-drop GUI, and REST-APIs together simplifies the overall orchestration of microservice based data pipelines.


- Spring Cloud Stream

A lightweight event-driven microservices framework to quickly build applications that can connect to external systems. Simple declarative model to send and receive messages using Apache Kafka or RabbitMQ between Spring Boot apps.


- Spring Cloud Stream App Starters

Spring Cloud Stream App Starters are Spring Boot based Spring Integration applications that provide integration with external systems.


- Spring Cloud Task

A short-lived microservices framework to quickly build applications that perform finite amounts of data processing. Simple declarative for adding both functional and non-functional features to Spring Boot apps.


- Spring Cloud Task App Starters

Spring Cloud Task App Starters are Spring Boot applications that may be any process including Spring Batch jobs that do not run forever, and they end/stop after a finite period of data processing.


- Spring Cloud Zookeeper

Service discovery and configuration management with Apache Zookeeper.


- Spring Cloud AWS

Easy integration with hosted Amazon Web Services. It offers a convenient way to interact with AWS provided services using well-known Spring idioms and APIs, such as the messaging or caching API. Developers can build their application around the hosted services without having to care about infrastructure or maintenance.


- Spring Cloud Connectors

Makes it easy for PaaS applications in a variety of platforms to connect to backend services like databases and message brokers (the project formerly known as "Spring Cloud").


- Spring Cloud Starters

Spring Boot-style starter projects to ease dependency management for consumers of Spring Cloud. (Discontinued as a project and merged with the other projects after Angel.SR2.)


- Spring Cloud CLI

Spring Boot CLI plugin for creating Spring Cloud component applications quickly in Groovy


- Spring Cloud Contract

Spring Cloud Contract is an umbrella project holding solutions that help users in successfully implementing the Consumer Driven Contracts approach.


- Spring Cloud Gateway

Spring Cloud Gateway is an intelligent and programmable router based on Project Reactor.


- Spring Cloud OpenFeign

Spring Cloud OpenFeign provides integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms.


- Spring Cloud Pipelines

Spring Cloud Pipelines provides an opinionated deployment pipeline with steps to ensure that your application can be deployed in zero downtime fashion and easilly rolled back of something goes wrong.


- Spring Cloud Function

Spring Cloud Function promotes the implementation of business logic via functions. It supports a uniform programming model across serverless providers, as well as the ability to run standalone (locally or in a PaaS).


반응형
반응형

Windows Update Clean Tool

download : https://drive.google.com/open?id=1TqjkYiBgUVcqg3KimOiSPnx97nV2hR-L



윈도우즈의 불필요한 오래된 업데이트 파일들을 찾아준다.

[스캔]을 하게 되면, 삭제가 가능한 파일들이 검색된다.



[권장]에 "삭제"로 된 항목들만 청소하면, 비교적 덜 위험하게 디스크 여유공간을 늘릴 수 있다.

반응형
반응형

마이크로 서비스

- Small

- API로 다른 서비스와 연계된다.

- 자율적이다. (Autonomous)

- 한 가지 일을 잘 처리하는 데 촛점이 있다 (focused on doing on thing well)


장점

- Technology Heterogeneity (기술의 이질성)

- Resilience (탄력성)

- Scaling (규모 조정)

- Ease of deployment (배포 편의성)

- Organizational Alignment

- Composability (결합성)

- Replaceability (대체 가능성)


단점

- Complexity (복잡성)

- Multiple database & Transaction Management (다중 데이터베이스/트랜잭션 관리)

- Complicated Test (복잡한 시험)

- Require automation for Deploy/Operation (배포 자동화 필요)

- Hard to develop features span multiple service (여러 서비스에 걸쳐 있는 기능 개발 어려움)

 


반응형

+ Recent posts