iCalendar 란? 아이캘린더(iCalendar)는 인터넷 사용자들이 다른 인터넷 사용자들에게 전자 메일을 이용하여 미팅 요청과 할 일을 보내거나 .ics 확장자로 파일들을 공유할 수 있게 해 주는 컴퓨터 파일 형식이다. 아이캘린더 데이터 파일을 받은 사람들은 이메일 클라이언트나 캘린더 프로그램 따위를 이용하여 보낸이에게 쉽게 응답할 수 있고 다른 미팅 일정을 역제안할 수 있다. [출처] - 위키백과-아이캘린더
Python의 vobject를 이용하여 iCalendar를 만들수 있다. vobject를 이용하여 vCard 역시 파싱할 수 있다.
가상환경 필요한 이유
파이썬에서 간단한 수준으로 연습한다면 가상환경의 필요성을 크게 느끼지는 못한다. 하지만 다음과 같은 이유 때문에 가상환경은 유용하다.
1. 프로젝트를 하고 나서 배포해야할때 이 프로젝트를 위해서 추가로 설치된 패키지들이 무엇인지 구별할 필요가 있다. 여러 개의 프로젝트를 한다면 패키지들이 썩여서 구별하는 것은 여간 어려운 일이 아니다.
2. 시간이 지나면 설치된 패키지들이 업데이트 되는데 패키지들간의 의존하는 것도 있어서 버전을 잘 맞추는 건 불가능 할 수도 았다.
3. 파이썬 자체의 버전도 다르게 사용해야 할때가 있다.
가상환경 사용법
파이썬 3.4부터 기본으로 포함된 venv 패키지를 사용해서 가상환경을 만들 수 있다.
먼저, 가상환경을 만들려면 다음 명령어를 사용한다.
c:/project> python -m venv project_env
가상환경을 활성화 시키기 위해서 다음 명령어를 사용한다. (윈도우즈 기준으로)
C:\project>project_env\scripts\activate
(project_env) C:\project>
가상환경에서 패키지 관리
가상환경에서 설치한 패키지들과 버전을 파일로 저장해 두면 배포할때 유용하다. 명령어는 다음과 같다.
> pip freeze > requirements.txt
저장해둔 파일로 아래 명령어와 같이 실행하면 필요한 패키지와 버전을 한번에 설치할 수 있다.
> pip install -r requirements.txt
암호화폐의 특징 중에 거래의 익명성이 있다. 이는 거래하는 당사자가 누구인지 알 수 없다는 점이다. 하지만, 일반적인 암호화폐가 완전히 '익명'을 보장하는 것은 아니다.
암호화폐 거래를 위해서는 주소가 필요한데, 개인정보를 넣지 않더라도 언제든지 새로운 주소를 만들어 사용할 수 있다. 하지만 모든 거래들은 블록체인 탐색기를 통하여 추적이 가능하고, 계속해서 추적하다 보면, 그 주소가 누구의 것인지 추측할 수 있게 된다. 즉, 익명이지만 그 익명이 누구인지를 추측할 수는 있다는 것이다.
이런 아쉬움을 해소해주는 암호화폐가 있고, 대표적으로 모네로(Monero)와 대쉬(Dash)를 꼽을 수 있다.
암호화폐의 익명성을 강조하다 보면, 그 익명성을 이용해서, 불법거래에 사용될 수 있다는 우려를 피할 수는 없다. 하지만, 어떤 개인이 얼마나 많은 자산을 가지고 있는 지를 모두에게 알려줄 필요는 없다. 또한, 사업자라면 얼마나 많은 고객과 거래하는 지, 얼마나 수입이 있는 지와 같은 것들은 모두 민감한 내용들이다. 이 모든 것들이 공개되는 것은 개인정보 보호 차원에서 또 다른 우려가 될 것이다.
암호화폐의 익명성으로, 중앙의 권력에 의해서 모든 개인의 프라이버시가 침해 당하지 않는 세상을 기대해 볼 수 있겠다.