YUDA't

파이콘을 처음 갔던 게 2016년이었다.

개발자가 된 지 얼마 안 됐을 때여서 거의 모든 세션이 어려웠었는데 그래도 그냥 좋았다. 컨퍼런스에서 파이썬 커뮤니티 특유의 친근함과 포용성이 느껴졌다고 해야 하나.😌

 

재작년과 작년은 항상 이맘때쯤 여행을 가서 빠졌는데 올해는 다시 참가!

8월까지도 별 생각 없다가 막상 코엑스에 도착해서 내 이름표를 받으니 너무 설레는 거!

현재는 소속이 딱히 없어서 유씨 가문이라고 적었는데 고대로 프린트됐다😂

 

야심찬 계획은 이러했다. (토요일 아침엔 스터디가 있어서 키노트는 패스했다.)

 

8.17

14:10 ~ 14:35 정적 타입 검사로 더 나은 Python 코드 작성하기

15:05 ~ 15:30 하나의 Django 코드로 여러 사이트 운영하기

15:45 ~ 16:25 시간 복잡도로 살펴보는 파이썬 내장 자료형의 효율적인 활용

16:40 ~ 17:20 테스트에 걸리는 시간을 92% 줄이기

 

8.18

10:00 ~ 10:40 Django DB Router로 Database Read Replicas 100% 활용기 및 Troubleshooting 경험 공유

10:55 ~ 11:20 하이퍼커넥트 Azar WebView Logging

11:55 ~ 12:35 파이썬 웹서버 REST API 문서 쉽고 빠르게 작성하기

13:55 ~ 14:35 실시간 의료 인공지능 데이터 처리를 위한 Django Query Optimization

14:55 ~ 15:35 Pickle & Custom Binary Serializer

15:55 ~ 16:20 리얼월드 메타클래스

 


 

도착해서 바로 2층에 올라가 굿즈를 받는데 누가 '다현님!'이라고 불러 휙 돌아보니 함께 8주 동안 모각코를 했던 분이셨다!

반갑게 인사하고 부스들을 도는데 전 회사 동료와 또 다른 모각코 회원과 커뮤니티에서 알게된 분을 마주쳤다✋

패스트캠퍼스 부스에서는 위민후코드 운영진이신 수정님도 만났다.

또 내가 아는 분이지만 그 분은 나를 모르는 분들도 꽤 많이 보았다ㅎㅎ

 

부스를 돌면서 개인정보를 미친듯이 뿌리며 굿즈들을 받고 있었는데 PyCharm 부스에 유독 사람들이 많아서 줄을 섰다.

한 15분쯤 기다렸나, 설문조사를 하고 뽑기를 했는데....맙소사!!!!!!!!!!!!!!!!!!!!

PyCharm 1년 라이센스 당첨!!!!!!!!!!!😱😱

티셔츠나 뽑히면 좋겠다 생각했는데 내 앞에서 누군가 티셔츠를 타 가서 아무거나 돼라, 하고 뽑은 게 라이센스라니!!!!!!!!!!!

직원분들도 정말 축하해 주셨다🥳🥳🥳

그리고 JetBrains 블로그에 사진을 올려도 되겠냐고 물어보셔서 오케이했다.(나도 올려도 되겠지!!!😎😎😎)

 

그 외에 받은 것들...

에코백이랑 각종 스티커들, 3분 채용중(ㅋㅋㅋ), 그립톡, 규조토(?) 등. 가지고 다니기 힘든 게 없어서 다행이었다.

 

이번 파이썬의 모토는 'CONNECT THE PYTHONISTAS'였다.

그래서인지 세션을 기다리는 동안 배경음악으로 원리퍼블릭의 'connection'이 자주 나왔다!

내가 너무 좋아해서 거의 매일 듣는 노래라 정말 반가웠다.🥰

 

처음 에코백 안을 훑어봤을 때 발견 못했던 뱃지!!!

집에서 굿즈들을 하나하나 꺼내보다가 발견했다. 맘에 들어서 내가 제일 좋아하는 가방에 달았다!

 

헉헉 맥북 키보드 command 자리에 connect 스티커를 붙였다. 크기는 살짝 안 맞지만😙

 

굿즈 리뷰 끝.

 


 

첫 세션은 '정적 타입 검사로 더 나은 Python 코드 작성하기'.

(얼마 전 진행했던 모각코를 함께 했던 분이 발표하신 세션이었다!)

이 세션에서는 동적 타입 언어인 파이썬의 한계를 보완하기 위한 type hinting을 소개했다.

다만 type hinting을 적용하더라도, 명시한 타입과 다른 타입 값을 할당한다고 해서 에러를 발생시키지는 않는다.

그래서 정적 타입을 검사해주는 mypy를 사용해 코드를 직접 검사하는 것이 좋다고 한다.

 

type hinting의 경우, Python3.6부터 가능하기도 하고 실제로 사용하는 곳을 잘 못봐서 그런지 다들 궁금한 게 많은 것 같았다. 실무에 어느 정도 적용하는가, 효과는 어느 정도인가, 이걸로 잡아낸 에러가 있는가 등등.

나도 항상 동적 타입만 써온지라 굉장히 흥미롭게 들었는데, 특히 팀 단위의 프로젝트에서 매우 유용하겠다 싶었다.

 

지금 진행중인 프로젝트를 로컬에서는 3.7로, 배포버전은 3.6으로 돌리고 있는데 조건도 갖췄겠다, 나중에 리팩토링할 때 꼭 써봐야겠다🤓

 


 

두 번째 세션은 '하나의 Django 코드로 여러 사이트 운영하기'.

Django니 무조건 들어야지, 하고 들었다. 몰랐는데, Django의 탄생 배경이 같은 코드를 다른 웹사이트에서 구현하기 위함이었다고 한다.

사이트 2개를 돌리기 위한 코드들을 차근차근 알려주셨다.

미들웨어에 django.contrib.sites를 추가하고, 모델에 on_site를 지정해주고...👩‍💻

세션이 하나의 튜토리얼 같은 느낌이라 나중에 직접 해봐도 괜찮겠다 싶었다. (깃헙에 코드가 올라가있다!)

 


 

세 번째 세션은 '시간 복잡도로 살펴보는 파이썬 내장 자료형의 효율적인 활용'!

정말 마음에 쏙 든 세션이었다. 발표하시는 분도 짬바가 굉장해보였는데...아직 슬라이드가 올라오지 않은 건지 찾지 못했다😭

주제는 이러했다.

 

1. 시간 복잡도를 이해하고 그것이 어떻게 표현하는지 이해합니다.

시간 복잡도를 간단히 설명했다.

 

2. mutable / immutable 의 특성을 이해하고 잘못 쓰지 않도록 합니다.

'tuple은 immutable이고 list는 mutable이다, 이 정도는 다 아시죠.'했을 때 속으로 '그렇죠!' 했는데 곧 tuple을 mutable하게, list를 immutable하게 사용하는 '잘못된' 사례를 보여주었을 때 많이 찔렸다.

a = (1, 2)
b = (3, 4)
a += b

이렇게 하면 a가 (1, 2, 3, 4)가 된다. 마치 tuple이 mutable하게 동작한 것 처럼 보이지만, 그렇지 않다. 처음 (1, 2)를 할당했을 때의 id(a)와 a+b를 할당했을 때의 id(a)는 다르다. 즉, 값이 변한 게 아니라 아예 새로운 메모리를 할당한 것.

문자 그대로 말하면 immutable 속성을 유지한 건 맞지만, 사용자의 의도가 mutable이었다는 점에서 아웃(?)

이거 외에도 재밌는 것들 많이 보여주셨는데—아아 기억이—

 

3. 내장 자료형의 시간 복잡도를 resize를 중심으로 다룹니다. - LIST, DICT

변수 a에 리스트 [1]을 할당한다고 해서 메모리가 1만큼 늘어나는 게 아니다. 파이썬은 내부에서 1짜리 리스트를 받아도 일단 4만큼의 메모리를 일단 할당한다. 그리고 여기서 1씩 append되면, 따로 메모리를 늘릴 필요 없이 변수 값을 바꿀 수 있는 것이다.

그리고 이 리스트가 [1, 2, 3, 4]에서 또 append(5)가 된다면, 메모리 8개가 할당된다! 리스트가 append()되는 데 걸리는 시간을 비교해서 보여주셨는데 리스트가 커질수록 메모리가 resize되는 시간이 오래 걸리는 것을 보았다.

resize를 하면 새로운 메모리를 할당&복사한 뒤, 새로운 bucket을 연결하기 때문.

 

4. 최적화되어 있지만 Python에서 느린 부분을 어떻게 개선할지 살펴봅니다.

resize하는 시간을 줄이고 싶다면, 리스트의 경우 미리 메모리를 크게 할당하면 된다. [None]*N 이런 식으로. 근데 dictionary의 경우 이게 좀 까다롭다고 한다.

 

마지막으로, 이 세션에서 꽤 인상깊었던 말이 있다. 필요한 경우가 아니면 성능을 위해 너무 많은 시간을 투자하지 말라는 것. 사람은 기계보다 비싸기 때문이다. (알파고 언급하지마!!!)

 


 

세션을 모두 다 듣고 나서 친구를 만나 놀고 집에 가려는데 갑자기 여의도 공원 저쪽에서 '펑!🤯' 하는 소리가 났다.

불꽃축제였다!🎇🎉🎇🎉

이렇게 가까이서 불꽃축제를 본 건 오랜만이라 넋을 놓고 봤다.

함께 있던 친구가 선물을 받은 기분이라고 했는데 정말 적절한 묘사였다.

오늘 아침 스터디도 재밌었고, 좋은 강연도 듣고, PyCharm 1년 라이센스에, 우연찮게 본 불꽃축제라니🥰

정말 선물 같은 날이었다.

'세미나' 카테고리의 다른 글

Pycon Korea 2019 컨퍼런스 후기 - 8.17(토)  (4) 2019.08.18
Women TechMakers Seoul 2019 스텝 후기  (0) 2019.04.14
KCD(Korea Community Day) 2019 후기  (0) 2019.02.24
Local Hack Day 2018 후기  (0) 2019.02.13
IBM Developer Day (오전) 후기  (0) 2019.02.13
2018 AWS DEV DAY 후기  (0) 2019.02.13