2022/04 6

제주도 공유 오피스 - 오피스 제주 (feat. 개발자 원격 근무)

안녕하세요! 지난 봄에 방문했던 제주도 조천에 위치한 공유 오피스인 오피스(O-Peace) 제주를 소개해 보려고 합니다. 저는 이곳에서 4일 정도 원격 근무를 했는데 개인적으로 대만족이었습니다. 요약! 바쁘신 분들을 위해서 Summary로 요약해 드리면 아래와 같습니다. - IT 업무 환경: Dell 21인치(정확하지 않음) 모니터 여유 분이 있음. (개인적으로 가장 좋았던 점 중하나.) 회의실이 하나 있어서 미리 예약하면 사용할 수 있어서 회의할 때 도움이 됐습니다.(아주 중요한 부분) 또한, 다양한 업무 공간이 있어서 리프레쉬하기가 좋았습니다. 아쉬운 점으로는 와이파이가 보안이 좋은 편이 아니었습니다ㅠ - 분위기: 일단 오션 뷰이고 언덕에 위치해서 중간 중간에 잠깐 나와서 리프레쉬 하기가 좋았습니다...

일상 2022.04.27

Fluent Python Chapter 21. 클래스 메타프로그래밍

Introduction 21장은 클래스 메타프로그래밍입니다. 런타임에 클래스를 생성하고 변경하는 프로그래밍 방법을 의미합니다. 파이썬 Guru개발자들을 프레임워크를 만드는것이 아니면 해당 기능을 사용하는 것을 권장하지 않습니다. 해당 기능이 주는 편리함보다는 해치는 가독성이 더 크기 때무일 것 같습니다. 인터프리터단에서 동작하는 부분이 많을수록 파이썬으로 어플리케이션을 주로 개발하는 개발자들에게는 가독성이 좋지 않을 수 있습니다. 해당 장에서는 클래스를 생성하는 함수를 이용해서 클래스를 만드는 것을 시작으로 클래스 데커레이터, 임포트 타임과 런타임, 메타클래스에 대해서 살펴봅니다. 지난 장에서 descriptor 객체의 storage_name이 구분하기 어려웠던 것들을 클래스 데커레이터와 메타클래스를 사..

Fluent Python Chapter 20. 속성 디스크립터

Introduction 20장은 속성 디스크립터 입니다. 디스크립터는 객체의 속성의 접근 및 관리를 위한 __get__(), __set__(), __delete__() 메서드로 구성된 프로토콜을 구현한 클래스입니다. 19장에서는 디스크립터 프로토콜을 구현한 property 클래스로 객체 속성을 생성하고 접근했었습니다. 20장에서는 직접 descriptor클래스를 만들어 객체의 속성을 만들 때 사용합니다. 이런 부분은 Django, SQLAlchemy의 모델 부분의 column 속성에서도 사용된 부분으로 관련 프레임워크를 만들거나 공부하고 있는 분들께도 공부하시면 도움이 될 것 같습니다. 책 시작말에 있는 파이썬 핵심 개발자인 레이몬드 헤팅거가 말한 것 처럼 디스크립터에 대해 배우면 더욱 다양한 도구에 접..

치앙마이 노스게이트바 (northgate bar)

2020년 3월에 치앙마이를 다녀왔으니깐 벌써 다녀온지 2년이 지났다... 시간이 어떻게 간 건지...코로나가 시간을 더욱 빠르게 흐르게 만든 것 같다. 나는 나만의 좋아하는 장소가 많이 없다. 나만의 아지트가 없다는게 아쉬울 때가 많이 있다. 그래도 가끔 그리운 장소들이 있는데 그 중 하나가 치앙마이의 노스게이트바이다. 5박 6일에 치앙마이에 있는 동안 노스게이트바를 이틀 갔다. 이 장소가 그리운 이유는 분위기 인 것 같다. 자유로운 치앙마이의 분위기 그리고 자유로운 사람들 음악 값싼 맥주 이 곳에서는 큰 걱정이 없다. 보통 한국에서는 매일 해야할 일이 있고, 생각보다 그냥 편하게 쉬는날은 흔치 않다. 매일 영어 공부도 해야하고 스터디 준비도 해야하고 일이 밀린 날은 일도 해야 한다.. 집 청소도 해야..

Traveling/태국 2022.04.10

Fluent Python Chapter 19. 동적 속성과 프로퍼티

Introduction 19장 부터 21장 까지는 이 책에서 마지막 Part인 메타프로그래밍입니다. 메타 프로그래밍에 대한 정의는 7장에서 데코레이터를 살펴보면서 잠시 살펴봤습니다. 다시 한 번 정의만 간단히 살펴보면 다음과 같습니다. 메타 프로그래밍은 컴퓨터 프로그램이 다른 컴퓨터 프로그램을 데이터와 같이 처리하는 능력을 가지도록 프로그래밍하는 방법(technique)이다. 이번 장에서는 동적으로 속성에 접근할 수 있는 방법을 살펴보면서 해당 방법으로 프로그램이 데이터에 따라서 동작하게 됩니다. 동적으로 접근할 수 있는 다양한 방법을 살펴보고, 프로퍼티(property)를 이용해서 데이터에 대한 접근이나 속성에 대한 validation 등을 구현합니다. 또, 마지막 부분에서 다양한 속성 프로그래밍을 지..

Fluent Python Chapter 18. asyncio를 이용한 동시성

Introduction 17장에서는 concurrent.Future를 이용한 동시성 프로그래밍을 다뤘습니다. 18장에서는 asyncio를 이용한 동시성을 구현합니다. concurrent는 thread와 process를 추가로 사용하여 동시성을 추구했었는데 asyncio는 주로 하나의 스레드의 이벤트 루프에서 동시성을 구현합니다. 재미있는 부분 중 하나는 zen of python 중 하나인 '작업을 수행하는 방식이 한 가지만 있어야 한다.' 라는 부분을 asyncio패키지 또한 concurrent와 비슷한 Future 인터페이스를 구현해서 따랐다는 점이다. 이 장에서는 주로 yield from, coroutine, Future 객체, asyncio event loop를 활용해서 동시성을 구현하는 방법을 설..

반응형