많은 경험을 하고 시야를 넓히자! 라는 목적으로 PYCON 2023에 다녀오게 되었다.
8월 11일 새벽, 대구에서 무궁화를 타고 서울로 출발했다.
재정 지원 신청을 했지만 답장이 오지 않아 먼저 메일을 넣었는데, 이벤터스에 카카오톡으로 로그인 하는 바람에(카카오톡에 등록된 메일은 네이버 메일이다) 재정 지원에서 탈락하게 되었다.
아쉽지만 어쩌겠는가. 다음에 같은 실수 안하면 된다.
첫날은 튜토리얼 강의를 들었다.
openAI api와 whisper 모델을 사용하는 방법을 익히게 되었다.
빈 폴더 부터 시작할 줄 알았던 실습은 강의자료의 내용을 실행시키는 정도였다.
약간 어려운 용어도 간간이 나왔지만 튜토리얼이라는 이름 답게 가볍고 쉽게 이해할 수 있었다.
그리고 앞으로 내 프로젝트에서 인공지능을 어떻게 활용할 수 있을지에 대한 큰 그림을 대략적으로 그릴 수 있는 시간이었다.
또 놀라웠던 것이, 발표자 외에 참가자 또한 자신의 지식을 공유하는 것이었다.
주변 사람들에게 '이런 문제가 있으면 이렇게 하면 된다. 왜 이런 문제가 생긴거냐면...' 하는 식으로 자유롭게 말하는 분위기가 참 신기했다.
둘째날, 본격적으로 행사가 시작되었다.
8시에 코엑스에 도착해버려 한참을 기다리다가 등록할 수 있었다.
등록 후 세션 시작 전 까지 여러 부스를 돌아다녔는데, 빈 손으로 왔음에도 불구하고 정말 많은 선물을 받았다.
오프닝 이후로 두 개의 키노트 세션이 있었다.
Keynote1: Python의 꼬꼬마 시절
한국 파이썬의 역사에 대해 쉽고 재미있게 설명을 들을 수 있었다.
옛날에는 단지 스크립트 언어로써 pearl 보다 못한 취급을 받았다고 한다.
하지만 사용자의 의견을 반영하여 적극적으로 업데이트 한 덕에 지금은 전 세계에서 사랑받는 언어가 되었다.
Keynote2: CPython과 Rust Python
일단 나는 CPython이 뭔지 몰랐다;;
파이썬의 내부는 C언어로 구현되어있는데, 이것을 CPython이라 한다.
Rust는 임베디드, 블록체인 등의 여러 분야에서 활용될 수 있다.
이를 사용하여 파이썬 Linter(에러를 표시해주는 빨간 줄을 만드는 프로그램)인 Ruff가 탄생했다.
기존의 Flake8보다 빠르고, 거의 실시간으로 에러를 체크해주는 등 아주 빠른 속도를 자랑한다.
Pylyzer는 파이썬을 위한 타입 검사기이다.
아주 빠르고, 런타임에 동적으로 확인해준다는 것이 장점이라고 한다.
놀라운 점은, 체크코드 없이 타입을 검사한다고 한다!
이후로 세션을 계속 들었다.
파이썬을 처음 사용하는 동료와 효율적으로 일하는 방법
들여쓰기를 탭으로 하는지? 스페이스바로 하는지?
코드 한 줄에 들어갈 수 있는 최대 글자의 갯수?
이것에 대한 의견은 사람마다 제각각이며 취향에 따라 스타일이 다르다.
그래서 우리는 통일된 규칙이 필요하다.
이를 위해 다음과 같은 패키지들을 사용한다.
초심자가 비교적 덜 중요한 문제 보다 비즈니스, 개발에 집중할 수 있는 환경을 제공하는 것이 좋다.
가상환경과 패키지 관리 Poetry 타입 검사 MyPy 코드 스타일 Black, Isort 실행 Make file(패키지 아님) 인간적 오류 pre-commit(커밋 이전에 확인하기. 안정적인 커밋을 위해)
나는 사실 웹 개발을 12살에 경험한 적 있다.
이것저것 도전해보기 좋아했던 나는 책장 맨 위 구석에서 낡은 html 교재를 발견하였다.
메모장에 html 파일을 작성하고 익스플로러로 보면서 상당히 흥미를 느꼈다.
작은 노트에 <HTML> 이라 제목을 적고 어떤 태그가 있는지, 태그 사전을 만들 정도였다.
하지만 난 이내 포기하고 말았다. 영타가 너무 어려웠기 때문이다;;
html 파일 하나를 작성하는 데에 몇십분이 걸렸고, 이것에 지쳐버린 나는 그만두게 되었다.
물론 너무 극단적인 예시이긴 하지만..
나도 경험한 바 있으므로 발표자의 말이 잘 이해되었다.
요기요 후원사 프로그램
* 아래 내용은 요기요와 별개로 개발자 개인적인 의견이 포함되어 있습니다.
* 메모와 기억에 의존한 포스팅입니다. 사실과 다른 부분이 있을 수 있습니다.
협업에 있어 JIRA를 사용한다.
코딩테스트: 어려운 내용 보다는 기초적인 것들을 본다.
Junior Other 협업하고싶은 팀원 의욕, 의지 소통이 잘되는 사람 면접 팀원들과 소통할 수 있는가?
기술적인 부분에서는 기대를 하지 않는다. 기초 상식 정도를 물어본다.기술과 경험
서류: (주니어의 경우) 기술 블로그 등 '내가 무엇을 배웠는지'를 보여줄 수 있어야 한다.
주니어로 입사했을 때, 작은 프로젝트 부터 시작하여 점점 큰 프로젝트에 참가하는 식으로 온보딩 하게 된다.
요기요의 경우 생각보다 시스템 규모가 상당히 크다고 한다.
회사의 시스템을 이해하는 것이 가장 첫번째 할 일이라고 한다.
기술의 경우 (당연하게도) 팀 별로 요구하는 바가 다르다.
도커, 쿠버네티스, AWS같은 인프라 관련 기술들을 공통적으로 물어본다 한다.
인공지능이 개발자를 위협한다 생각하는지에 대한 답변으로는, 질문하는 것이 중요하다고 한다.
좋은 질문과 좋은 답변이 있을 때 비로소 성장할 수 있다.
수많은 유튜브 영상에서 말하듯 주니어에게는 협업과 소통 능력을 요구하며 기본기에 대한 것들을 질문한다.
아무래도 기본이 탄탄해야 더 많은 것들을 배우는 데에 있어서 수월하기 때문이지 않을까 생각해본다.
왼쪽에 흰 티셔츠를 입고 코난에 나오는 마취총을 쏘는 듯한 사람이 나다.
장고 봄은 다시 온다 - 장고와 함께 좋은 웹서비스 코드 만들기
웹 서비스에서 '좋은 코드'란 무엇일까?
비즈니스 서비스는 바뀔 수 있다. 비즈니스가 바뀌면 데이터 모델 또한 바뀐다.
데이터 모델을 바꾸는 비용은 만만치 않은데, 장고는 그렇지 않다.
장고는 생산성있고 간단하다.
성능 향상이 쉽고 프로젝트에 맞는 프레임워크를 선택할 필요가 있다.
만약 풀스택 개발을 한다면, 현재 프론트엔드를 공부하는 나로써는 간단하게 백엔드 서버를 구축할 수 있는 장고가 알맞다.
'내 프로젝트에 맞는 프레임워크를 선택하라' 라는 말이 와닿는다.
프로젝트에 맞는 도구를 써야지, 도구에 맞는 프로젝트를 선택해서는 안된다.
내가 나중에 장고로 구현하기 힘든 기능이 포함된 프로젝트를 한다면 '나는 node.js 못 쓰는데. 나는 SpringBoot 못 쓰는데 장고로 하기 어려우니까 이 기능은 빼자' 라는 판단을 할 지도 모른다는 생각이 문득 들었다.
Jupyter Book을 활용해 손쉽게 콘텐츠를 생산하고 공유하자
Jupyter Notebook이 아닌 Jupyter Book이다.
.ipynb 파일은 비개발자에게 공유하기가 어려웠다.
하지만 Jupyter Book을 사용하면서 .md 파일이나 .ipynb파일을 출판물 수준의 퀄리티로 변환할 수 있게 되었다.
깃허브 페이지로 접속할 수 있는 html 파일이 된다.
댓글 또한 깃허브 계정과 연동되며, 웹 페이지에서 즉시 실행시킬 수 있다.
Jupyter Book을 사용하면 간단하게 웹 문서를 작성할 수 있다.
.md 파일 또한 지원하니 내가 공부하거나 메모한 사항들을 웹 문서로 저장하고 공유할 수 있다는 사실이 꽤나 흥미로웠다.
https://executablebooks.org/en/latest/gallery/
이 웹 사이트 또한 Jupyter Book으로 작성되었다!
---
이렇게 첫날을 마무리했다.
서울로 올라와서는 건국대학교 근처의 작은 고시원에서 생활했다.
방음이 거의 안돼 방 문을 열어놓고 있는 기분이 드는 숙소, 땅 위로 달리는 2호선과 폭주족 때문에 잠을 많이 설쳤다.
그 덕에 모든 세션을 듣지 못하고 숙소에 들어와 기절해 잠들었다.
메모와 기억에 의존해 적는 포스팅입니다.
틀린 부분이 있을 수도 있습니다.
'대외활동' 카테고리의 다른 글
2023 여름, 서울 일정을 소화하고 (0) | 2023.08.24 |
---|---|
멋쟁이 사자처럼 11기 중앙해커톤 후기 (0) | 2023.08.24 |
Infcon 2023 후기 (0) | 2023.08.24 |
PYCON 2023 후기 (완) (0) | 2023.08.22 |
PYCON 2023 후기 (2) (0) | 2023.08.22 |