3월, 2018의 게시물 표시

Python - socketserver와 threading을 이용한 채팅서버 구축

import socketserver, threading, socket class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):     def handle(self):         data = self.request.recv(1024).decode()         cur_thread = threading.current_thread()         response = "{}: {}".format(cur_thread.name, data)         self.request.sendall(response.encode('utf-8')) # handle함수는 클라이언트로부터 request가 왔을 때 동작하는 함수입니다. # socketserver.BaseRequestHandler 클래스를 상속했다면 반드시 사용자가 override를 하여 실행할 동작을 정의해 주어야합니다. # data는 클라이언트가 보낸 데이터(버퍼사이즈1024)를 보유하고 있습니다. # 현재 쓰레드를 호출하고 이를 cur_thread라는 변수에 대입합니다. # cur_thread.name으로 현재 쓰레드의 이름 (쓰레드 생성시 이름을 지정할 수 있으며 지정하지 않을경우 기본적으로 'Thread-정수(1부터시작)'이 기본값이 됩니다. # 따라서 response는 현재 쓰레드 이름과 클라이언트가 수신한 데이터를 문자열로 보관하는 변수이고 # 이를 인코딩 하여 sendall메소드를 통해 접속한 모든 클라이언트에게 보내주게 됩니다. class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):     pass # socket서버의 ThreadingMixIn클...

버텨내는 삶에 관하여

저는 페이스북과 브런치, PPSS에 올라오는 직장생활 포스팅 글을 즐겨봅니다. 그 중 성장, 퇴사, 이직, 상사, 리더의 덕목 이   들어가는 키워드는 제가 거의 놓치지 않고 보는 포스팅들입니다. 최근 공감이 갔던 포스팅이 하나 있습니다. 요약하자면 아픈만큼 성숙한다. 아픔은 성장의 증거이다. 라는 내용이었습니다. 저도 공감하고, 지금도 가장 많이 생각나는 교훈들은 많이 혼나면서 체득한 것들입니다. 하지만, 정말 깨지면서 배우는 것이 성장하는 것이고 오래가는 교훈으로 저의 가슴에 남아있을까요? 저는 아니라고 생각합니다. 아픈만큼 그에 상응하는 상처도 같이 가슴에 남거든요. 슬픈 이야기지만, 이런 '깨짐'도 겪다보면 어느정도 내성이 생기고 익숙해집니다. 하지만 처음 겪는 사람들에게는 언제나 새로운 고통으로 다가오죠. (운이 좋다고 해야할지 모르겠지만) 저는 인턴시절 정말 최고의 또라이같은 매니저를 만난 적이 있습니다. 3개월의 인턴기간동안 불면증에도 시달리고 꿈에도 나오고 가위를 눌리기도 했었죠. 그 매니저가 저를 갈구며 했던 말들이 가끔씩 교훈처럼 생각날때도 있지만, 그 때 제가 받은 상처를 상쇄시키고도 남을만큼 값진 교훈들은 아니었습니다. 지금 40~50대인 어른들에게 신입사원을 갈구고, 태우는 것은 당연한 수순으로 생각될 지 모릅니다. 하지만 요즘 2030세대는 분명히 다릅니다. 그들이 성장하는 과정도 기성세대가 성장했던 방법들과는 분명히 다를 겁니다. 이제 사회생활에 막 첫 발을 내딛은 주니어들이 있습니다. 취업난을 뚫고 어렵게 간신히 내딛은 한 발이겠죠. 아픔을 주지 말라는 것은 아닙니다. 위에도 써있듯이 아픔속에서도 분명히 배우는 것은 있거든요. 다만, 취업이라는 힘든 과정을 거치고 당찬 포부를 가슴에 안고 이제 막 사회생활을 시작한 주니어들에게 간신히 버텨내는 삶을 가르쳐주는 것이 아니라, 그들이 겪는 아픔이 합리적이고 정당하고, 그리고 최소한 그 아픔의 크기만큼 배...

근황

개발자로 전직을 소망하고 있습니다. 이제 AI가 코딩까지 대신한다고 하는데, 그런 소식에 일희일비하지 않고 제가 잘할 수 있고 재미있어 하는 일을 계속 하고 싶거든요. 다행히도 '코딩'을 학문으로 배우지 않아서, 전 재미를 느끼며 하고 있는 것 같습니다. 이리저리 주워 배우고 있는 것들을 한번 블로그에 포스팅하며 싹~ 정리하고 싶은데 한번도 못했네요 ㅠㅠ 회사에서 처리해야하는 일들은 더도말고 덜도말고 딱 100만큼만 하고 나머지 시간은 제 능력성장에 기여하고 싶습니다. 이대로 있으면 도태되고 죽어가는 느낌이거든요. 만약 누군가가 PM이라는 직무를 신입으로!  제안하는데 그 자리가 높은 사람과 가까울수록!  그 자리를 믿고 피하라고 하고 싶습니다. 둘 중 하나가 되는 것 같거든요. <회의를 잡는 사람이 되거나, 문서를 쓰는 사람이 되거나.> 만약 이 제안을 받았던 때로 돌아갈 수 있다면 저는 거절할 것 같습니다. 웹젠에서의 삶은 빡세지만, 소모품같지만, 그래도 내가 리드하고 결정할 수 있는 것들이 있었거든요. 부디 신입으로 지원하는 많은 대학생분들과 사회인들은, P(roject)M(anager)라는 빛 좋은 개살구 같은 용어에 현혹되어 이런 선택을 하지 않기를 바랄 뿐입니다.

오랜만에 글쓰기

정말 오랜만에 글을 쓰는 느낌입니다. 사실 외부독자에게 노출되는 글은 이 글이 처음이지만, 그간 비공개로 이 블로그에 끄적끄적 글을 써 왔습니다. 올해 초 다짐이 짧은 글이라도 반드시 매일 쓰자! 였거든요. 하지만 2.5개월이 지나가는 지금, 부끄럽게도 그 다짐을 잘 지켜내진 못했네요. 제가 좋아하는 작가겸 방송인 유시민씨가 저술한 <글쓰기 특강>과 고영성씨의 <어떻게 읽을 것인가, 완벽한 공부법>, 그리고 PPSS, 브런치등 다양한 매체에 올라오는 " 글 잘 쓰는 법" 의 결론은 대체로 이렇습니다. 많이 읽어라! 많이 써라! 동의합니다. (저도 그렇게 하고 싶어요ㅠㅠ) 하지만 요즘 개발자로 전직을 꿈꾸느라 개발 공부에 더 집중을 하고있어 아무래도 글쓰기가 뜸했네요. 오늘은 특별한 날입니다. 오랜만에 글을 쓰게 된 이유, 그리고 혼자보기가 아닌 외부 퍼블리싱을 하게 된 이유가 있습니다. 신기한 경험을 했거든요, 얼마만의 경험인지 모르겠네요. 바로 제가, 억지가 아닌 진심으로 "오우 재밌다!" 라는 감정을 느낀 것입니다!! 언제냐구요? 파이썬 바이블 책을 읽을 때요! 좀 이상한가요? ㅎㅎ 사실입니다. 저는 경영학과 출신에 컴퓨터 공학과는 거리가 아~주 멉니다. 대학생 때 컴퓨터 활용능력 자격증을 따려고 공부했던 것 외에는 컴퓨터 이론과 관계가 전무하다고 볼 수 있네요. 하지만 최근 개발을 배우고 있고, 상당히 재미를 느끼고 있습니다. '파이썬으로 지루한 작업 자동화하기' 일독 후 지금은 파이썬3 바이블 라는 책으로 파이썬을 좀 더 심도있게 공부하고 있습니다. 오늘은 수치형, 문자열에 대해 공부하는데 수치형을 쭉~ 읽고나니 시간이 9시 30분이더라구요. 다른 걸 하려던 찰나 제 마음 속에서 저도 모르게 "아, 재밌는데.. 아쉽네.. 더볼까?"  하고 생각했습니다. 제가 어떤 것을 배우고 익히는데 이런 생각이 든 건 굉장히 드물...