Pycon
2024년 10월 26~27일 수원 컨벤션센터에서 진행된 Pycon에 다녀왔습니다. 인턴을 하고 있는 회사에서 시간되면 팀원들과 함께 다녀오면 좋을 것 같다고 하여 학교 시험이 바로 끝난 바로 다음날 파이콘을 다녀오게되었습니다! 파이콘 진행 일주일 전에 신청 후 시험 때문에 정신이 없어서 어떤 느낌의 행사인지 제대로 알지 못하고 행사 전날 밤에서야 세션을 찾아보게 되었습니다.
1일차 세션은 위와 같이 진행되었는데, 오전 세션에는 크게 관심이 없어서 점심 이후에 파이콘에 참가하게 되었습니다. 회사에서 프론트엔드와 백엔드를 담당하고 있고, 백엔드에 FastAPI를 사용하고 있었기에 위 세션들 중에서 FastAPI with Dependency Injector라는 세션이 가장 궁금했고, Django에 관한 세션에도 관심이 갔습니다.
컨벤션센터에 처음 가보았는데, 점심 쯤에 늦게 도착 예정이었기에 주차 자리가 없을 것 같아서 대중교통을 이용했는데 잘한 선택이었던 것 같습니다. 주차장에 들어가기 위해 차 몇 십대가 도로에서부터 대기하고 있더라고요..
11시쯤 오전 세션이 종료되고 휴식시간일 때, 파이콘에 입장을 하였는데 다들 점심을 먹으러갔는지 이때는 사람이 많이 안몰려서 바로 QR코드로 인증하고 입장 티켓을 받았습니다!
티켓과 함께 파이콘 굿즈라고 하시면서 큰 에코백과 같은 파이콘코리아 가방?을 주었는데 안에는 물 한병과 파이콘 스티커 등이 들어있었습니다. 컨벤션 홀 1, 2, 3이 나란히 같은 라인에 있었고 그 맞은 편에서는 후원 회사들 부스들이 있었습니다. 토스와 Kream이 대표적으로 있었고 그곳에서 굿즈도 받고 현직자 분들과 대화할 수 있는 자리가 마련되어 있어서 여러 조언을 들을 수 있었습니다. 가장 마음에 들었던 굿즈는 토스에서 준 병아리? 인형이었습니다. 기본으로 다 주셨는데 사이즈도 큰데 엄청 귀여웠습니다ㅋㅋㅋ. (추첨에서 뽑혀서 스타벅스 상품권도 주셔서 기분이 좋았습니다!). 파이콘에서 인스타그램에 파이콘 해시태그와 함께 올리면 후원사에서 준 책을 한 권 그냥 준다고 해서 받았는데 제가 갔을 때는 책 종류가 많이 없어서 남아있는 책 중에서 그나마 읽어보고 싶은 느낌이 든 "소프트웨어장인정신이야기"라는 책을 골랐습니다. 그렇게 구경을 마치고 첫 번째 강연을 듣기 위해서 컨벤션 홀 2에 들어갔더니 점심을 드시고 온 팀원분들이 계셔서 합류를 하고 같이 강연을 듣기 시작했습니다.
첫 번째 강연은 대만에서 오신 강연자 분이 Gemini와 파이썬을 이용해서 secure하지 않은 코드를 검출하고 조언을 얻을 수 있도록 학습시킨 걸 강연해주셨는데, 솔직하게 말하자면 음.. 크게 특별한 기술이 활용된 것은 잘 모르겠다라는 느낌이었습니다. 학습시킬 때 사용한 코드같은 것은 공개하지 않고 학습 데이터셋과 결과 정도만 크게 볼 수 있었는데 예시로 계속 보여주었던 것이 SQL Injection을 방지하기 위해SQL문에 변수를 바로 삽입하지않도록 조언해 주는 것이었는데, 이는 제 경험 상 기존의 chatGPT에서도 따로 학습을 시키지않아도 검출할 수 있었던 사례였고 학습 데이터와 테스트 데이터가 너무 유사하게 설정되어있어서 엄청 유용해보이거나 다른 AI secure coding 모델들과 비교했을 때 특별히 더 나은 점은 보이지않아서 아쉬웠습니다.
두 번째 강연은 제가 가장 관심을 가졌던 FastAPI with Dependency Injector이었습니다. 의존성 주입이 무엇인지, 이것이 어떤 장점이 있는 지를 실제 간단한 예시로부터 확장해나가면서 강의를 해주셔서 굉장히 도움이 되었습니다. 실제로 FastAPI를 처음 사용할 때, 의존성 개념을 잘 모르는 상태였기에 Depends()을 굳이 사용해야할 필요성을 느끼지 못하여 프로젝트에서 크게 활용하지 않았었는데, 유지보수 관점에서 보았을 때는 의존성 주입하는 것이 추후에 요구사항의 추가, 변경 등에 유용하게 대응할 수 있음을 느낄 수 있었습니다. 실제로 회사에서 맡은 프로젝트 중 하나가 요구사항이 크게 바뀌어 급하게 전체적인 구조를 바꾸어야해서 고생을 했던 경험이 있는데, 의존성 주입을 적절히 사용했다면 덜 고생했을 것 같다는 생각이 들었습니다. 앞으로 복잡한 프로젝트나 요구사항이 불분명하고 변동성이 큰 프로젝트일 경우, Dependency Injector나 Depends를 이용해서 의존성 주입을 도입해보려고 합니다. 강의을 듣는데 불쑥불쑥 의존성을 활용하여 더 깔끔하게 처리할 수 있을만한 제 코드들이 몇 개 떠올라서 얼른 고쳐버리고 싶더라고요.. 아무튼 실무적으로 굉장히 도움이 되었던 강연이었습니다.
세 번째 강연은 SpringBoot 하던 사람이 Django 찍먹 해 봄: 저의 적용기를 공유합니다를 들었습니다. 백엔드 프레임워크로 FastAPI만 사용해보았기에 Django와 SpringBoot를 써보고 싶다는 생각을 계속 해왔었기에 궁금해서 들어봤습니다. SpringBoot로 개발하시던 분이 파이썬 프레임워크를 메인으로 쓰는 조직으로 옮기시면서 Django를 처음 써보게 되었고, 같은 기능을 구현하는데 있어서 어떠한 차이가 있는 지를 Django로는 이렇게 구현하고 이것만 신경쓰면되더라 근데 SpringBoot로 하면 뭐 MVC구조를 따라서 이렇게 해야되더라~ 이런 느낌으로 진행되던 강의었습니다. 각 프레임워크의 특성을 찍먹할 수 있는 강의었고, 각각의 장단점을 느낄 수 있는 시간이었습니다. Django가 SpringBoot보다 초기 세팅 등 덜 신경쓸 수 있는 부분이 많아서 편하다는 장점을 가지고, SpringBoot는 그러한 것들이 복잡하고 처음에 배우기는 어려울 수 있지만 그만큼 유연성있게 설계할 수 있다는 느낌을 받았습니다. 둘 다 흥미가 더욱 생겨서 FastAPI에 좀 더 익숙하기 때문에 Django를 먼저 써보고, 그 다음에 SpringBoot를 공부해보아야겠다는 생각을 하였습니다.
네 번째 강연은 Django의 DB 커넥션과 트랜잭션 관리입니다. Django에서 MySQL을 연결했을 때, 발생할 수 있는 문제 사례에 대해서 설명을 해주셨는데, Django에서 DB 서버에 일정기간이 지나도록 쿼리를 안보내면 DB 쪽에서 연결을 끊어서 에러가 발생하는 경우가 있다는 것이었는데 Django에서 DB를 연결할 때 쓰는 코드들이 어떻게 구성되어있는지를 보여주면서 그 원리를 설명들을 수 있었고, 강연자님은 어떻게 해결하였고 보다 graceful하게 해결하기 위해서는 이러한 식으로 해볼 수도 있겠다~ 이런 느낌으로 트러블슈팅을 공유하는 느낌의 강연이었습니다. Django를 사용해보지 않았기 때문에 저런 원리로 이루어져있구나와 함께 다음에 Django를 사용할 때 저러한 디테일도 신경써서 코딩해야겠다는 생각을 했습니다.
마지막 강연은.. 딱히 흥미가 있는 강연이 없기도 하고 30분정도의 강연 후 10분 휴식을 반복했기에 살짝 지쳐있어서 바람쐬러 나갔습니다.. 바로 옆에 광교호수공원이 있었는데 되게 예쁘더라고요ㅎ 날씨도 되게 좋아서 혼자 산책하고 오겠다고 하고 강연 끝날 때쯤 다시 돌아갔습니다.
라이트닝 토크라는 말을 처음 들어봤는데, 참여자가 5분 정도씩 짧게 발표하는 거더라고요? 아직 학교 시험도 1개 남아있고, 기술적인 부분에서 조언을 얻을 수 있는 자리는 아닌 것 같아서 어떤 느낌인지 첫 발표만 살짝 듣고 스리슬쩍 빠져나왔습니다..
첫 날 전체적인 후기는 나름 재밌었지만, 파이콘을 제대로 알아보기 전에는 약간 좀 더 테크니컬한 신기술?을 발표하는 자리라고 기대했었기에 그 부분에 대해서는 좀 아쉬웠던 것 같습니다. 그래도 유용한 강연들도 많았고, 굿즈도 받고, 대학생이라 반값 할인도 받고! 그래서 잘 다녀온 것 같습니다.
'나의 경험' 카테고리의 다른 글
[파이콘 한국 2024] Pycon 한국 2024 후기 - 2일차 (1) | 2024.10.30 |
---|---|
[해커톤] 나무톤(NAMUTHON) 2023 후기 (0) | 2023.12.30 |