지난 8월 15일부터 18일까지 코엑스에서 개최된 '파이콘 2019'가 성황리에 마무리 되었습니다! 👏
파이콘은 세계 각국의 파이썬 프로그래밍 언어 커뮤니티에서 주관하는 개발자 대상 컨퍼런스로, 파이썬을 사용하는 개발자 뿐만 아니라 다른 언어를 사용하는 다양한 글로벌 개발자들이 한 곳에 모여 네트워크를 쌓을 수 있는 교류의 장으로 자리잡았습니다.
비영리 행사인 파이콘은 타 기업 및 기관에서 개최하는 개발자 행사와는 다르게 발표자 및 준비위원회 등 모든 인원이 금전적 이득 없이 순수히 오픈소스 프로그래밍 언어인 파이썬의 저변 확대와 커뮤니티 활성화를 위해 진행됩니다.
이렇게 의미있고 큰 행사에 AITRICS 개발자 4명이 참여하여 발표를 하고 왔다는 사실! 😎
그럼, 파이콘 현장에서 발표한 AITRICS 개발자들의 유용하고 재미있는 꿀팁을 만나볼까요?
#1 Advanced Python Testing Techniques
AITRICS의 안재만 개발팀장님은 '고급 파이썬 테스팅 기법(Advanced Testing Techniques)'를 주제로 발표 해주셨는데요, 이와 같은 내용 공유를 통해 자칫하면 지루해지거나 복잡해 질 수 있는 <테스트 코드 작성 과정>을 쉽고 간단하게, 특히 더 재미있게 진행할 수 있도록 고민했던 과정들을 소개합니다!
Python에서 테스트를 재미있게 구현할 수 있는 아래 방법들에 대해 알아보세요!
- 기본적인 테스트 구현하기
- Sure를 이용하여 더 직관적으로 테스트 코드를 구현하기
- Behavior Driven Development (BDD) 를 이용하여 더 재미있게 테스트 코드를 구현하기
- HTTP Mocking과 monkey patching으로 독립적인 테스트 코드 구현하기
- Randomized testing을 이용하여 온전한 테스트 코드 구현하기
- Benchmark testing을 이용하여 로직 시간 측정하기
- 간단한 pytest plugin 만들기
발표 자료는 링크를 참고해주세요 >> https://bit.ly/2kp1M1T
#2 파이썬 웹서버 REST API 문서 쉽고 빠르게 작성하기
AITRICS에서 백엔드 및 인프라 개발을 담당하고 계신 이용선 개발자님은 '파이썬 웹서버 REST API 문서 쉽고 빠르게 작성하기'를 주제로 발표 해주셨는데요, 여기서는 OpenAPI JSON/YAML을 생성하기 위해 필요한 것들과, Django, Flask 등 Python web framework를 사용할 때 OpenAPI JSON/YAML을 편하게 생성할 수 있는 방법을 소개합니다!
웹 프론트엔드의 규모가 커지고 아키텍쳐가 고도화됨에 따라, Django template이나 Jinja2와 같은 템플릿을 백엔드에 포함하기보다는 프론트엔드를 React나 Vue를 이용하여 따로 나눠서 개발하는 경우가 많아지고 있는데요. 이런 경우 백엔드와 프론트엔드 프로그래머가 서로의 코드를 계속 파악하기 힘들기 때문에 API 문서를 작성하여 꼭 필요한 부분만 공유하는 것이 효율적입니다.
직접 손으로 API 문서를 작성할 수도 있지만 규모가 크거나 빠르게 개발중인 프로젝트에서는 관리가 힘들어집니다. 소스코드만 수정해주어도 자동으로 문서가 생성되도록 할 수 있다면 굉장히 편리한데, 이렇게 하기 위해서 보통 Swagger OpenAPI Specification에 맞게 JSON/YAML을 생성한 뒤에 이것을 파싱해서 문서 페이지를 그리는 방법을 사용할 수 있습니다.
발표 자료는 링크를 참고해주세요 >> https://bit.ly/2lX40Gc
#3 Pickle & Custom Binary Serializer
AITRICS에서 개발뿐만 아니라 인공지능까지 섭렵하셨던 김영석 개발자님은 'Pickle & Custom Binary Serializer'를 주제로 발표 해주셨는데요. 여기에서는 파이썬에서 텍스트가 아닌 파일을 입출력할 때 사용하는 모듈인 '피클(Pickle)'의 사용 목적과 장점을 소개합니다!
일반 텍스트를 파일로 저장할 때는 파일 입출력을 이용하지만, 리스트나 클래스같은 텍스트가 아닌 자료형은 일반적인 파일 입출력 방법으로는 데이터를 저장하거나 불러올 수 없습니다. 파이썬에서는 이와 같은 텍스트 이외의 자료형을 파일로 저장하기 위하여 pickle이라는 모듈을 제공하는데요, pickle 구현 방법 및 사용 목적과 장점 그리고 JSON과 같은 다른 방법과의 차이점이 궁금하신 분들은 주목해주세요!
이 발표에서는 CSV 파일과 pickle에 저장된 dictionary 입출력 비교, 프로그램 상태 지속성, Python objects를 TCP 연결로 보내는 방법 등의 예시를 통해 pickle의 적절한 사용법을 설명하고, 5가지 pickle 프로토콜의 종류와 차이점에 대해 공유합니다. 또한, 커스텀 바이너리 시리얼라이저(Custom Binary Serializer)를 사용하여 압축 신경망을 구현했던 경험을 바탕으로 튜토리얼을 진행합니다. 끝으로 pickle과 관련된 보안 문제를 설명하여 개발자분들이 pickle을 더 깊게 이해할 수 있도록 합니다.
발표 자료는 링크를 참고해주세요 >> https://bit.ly/2mqbNg3
#4 실시간 의료 인공지능 데이터 처리를 위한 Django Query Optimization
AITRICS에서 7개월동안 개발 인턴으로 근무해주신 카이스트 전산학부 학생 윤소영님은 '실시간 의료 인공지능 데이터 처리를 위한 Django Query Optimization'를 주제로 발표 해주셨습니다!
웹서비스 구현 시 속도 최적화는 모든 개발자들이 마주하는 필수적인 부분입니다. 딥러닝을 이용한 서비스와 처리해야 하는 데이터의 양이 점점 늘어나면서 많은 양의 데이터 처리 성능 최적화의 중요도가 높아지고 있는데요. AITRICS에서도 역시, Django로 대용량의 의료 정보 데이터를 실시간으로 받아 빠르게 저장하고 업데이트를 해줘야 하는 경우가 많습니다.
이 발표에는 Django ORM이 어떻게 작동하는지, 현재 한계점으로 어떤 것이 있는지, 그것을 극복하기 위해 어떻게 SQL 쿼리를 최적화해야 하는지 등에 대해 다루고, 더 나아가 그런 것들을 현재 구현에 적용하여 데이터 처리 성능을 개선할 수 있는 방법을 공유합니다.
발표 자료는 링크를 참고해주세요 >> https://bit.ly/2m3lL6A
이상 AITRICS의 능력자 4인방의 파이콘 발표 요약을 마무리합니다!
AITRICS는 인공지능에 관심있으신 개발자분들을 기다리고 있습니다! 문을 두드려주세요 🙌
'문화' 카테고리의 다른 글
AITRICS의 새로운 보금자리를 소개합니다! (0) | 2019.12.16 |
---|---|
회사 밖에서의 또 다른 co-work, 등산 (0) | 2019.11.11 |
더위를 피해 캠핑장으로 떠난 AITRICS (1) | 2019.07.17 |
Happy Birthday ♬ AITRICS의 생일파티 (0) | 2019.06.26 |
4월의 어느날, 하우스로 변신한 AITRICS 사무실 (0) | 2019.05.15 |