Compartilhar via


테크데이즈 미니 토요세미나 발표자이신 박용준님을 미리 만나 보았습니다.

오늘은 마이크로소프트 MVP 이면서 MCT(마이크로소프트 공인강사)이신 DevLec의 박용준 전임 강사님을 모시고 이야기를 나누어 보았습니다.

김명신: 안녕하십니까? 박용준 님. 호칭은 어떻게 하는 것이 좋을지요?

박용준: 강사라고 불러주시면 좋겠습니다. 저는 이 호칭이 참 좋습니다.

김명신: 특별한 이유가 있으신지요?

박용준: 네. 이건 아주 개인적인 이야기이긴 합니다만, 제가 어린 시절에 쑥스러움이 많아서 누구 앞에 나서는걸 잘 하지 못했어요. 남들 앞에 나서면 말도 잘 하지 못하고 얼굴만 붉어지는 수줍고 내성적인 성격이었습니다. 성격이 그렇다 보니 학창시절에는 누가 저를 반장으로 추천했음에도 손사래를 치고 거절한 적도 여러 번 있고, 군 시절에는 누구나 한다는 선임 견장도 한번 못 달고 제대하였습니다. 그런데 그러던 제가 대학교 졸업 즈음에 어쩔 수 없이 강의를 한번 하게 되었습니다. 거절할 수 있는 상황이 아니었거든요. 나름 열심히 준비를 하였고, 나름 성공적으로 마무리를 할 수 있었습니다. 큰 경험은 아닐지 모르지만 그 일 이후로 많은 부분이 바뀌었습니다. 여러 사람을 대상으로 저의 의견을 피clip_image002[4]력하거나, 제가 알고 있는 지식을 전달하는 것에 대한 희열의 보람을 맛 보았다고 해도 틀리지 않을 것 같습니다. 대략 13~4년 동안의 사회 생활에서, 한 회사에 소속되어 업무를 한 기간이 약1년여 정도이고, 대부분의 기간 동안 프리랜서 개발과 더불어 교육, 강의, 컨설팅 등으로 일을 하고 있던 계기가 되기도 하였습니다. 그렇다 보니 강사라는 호칭이 동경의 대상이었고 동시에 지금도 강사라고 불러주시는 것이 편하고 좋습니다.

김명신: 지금은 오프라인으로 학원에서 강의하시는 것 보다는 온라인으로 강의를 더 많이 제작하고 서비스 하시는 것으로 알고 있습니다. 처음부터 그러셨던가요? 아니면 어떤 계기가 있으셨는지요?

박용준: 처음에는 학원 강의를 주로 많이 하였습니다. 주로 컴퓨터 프로그래밍 전문가 과정과 같이 6개월 혹은 1년과 같이 장기간 학생들과 같이 하는 강의가 많았습니다. 전산전공 대학생들이 실무 개발을 익히기 위해서 오는 경우도 많았지요. 그렇게 긴 기간 동안 학생들과 함께하다가 졸업 즈음에 대기업이나 유수 기업에 취직하는 것을 보면 보람도 많이 느꼈습니다. 최근에도 간혹 기술 세미나를 하곤 하는데요 그럴 때 마다 그 때 학생이었던 분들을 자주 뵙곤 합니다. 인사를 미리 하시고 하는걸 보면 나쁜 강사는 아니었나 봅니다. 최근에는 오프라인 강의는 거의 하지 않고 온라인 강의를 제작하고 서비스하는 것에 중점을 두고 있습니다. 강의라는 것이 기록되지 않으면 사라져 버리는 것이고, 동일한 내용을 필요로clip_image004[4] 하시는 다른 분들이 많음에도 재사용될 수 없음이 가장 안타까웠고요. 온라인으로 강의를 한번 제작해 두면, 좀 더 많은 분들이 제 강의를 접하실 수도 있고, 저 또한 같은 내용을 계속 반복할 필요가 없으니 좋은 방법이라고 생각합니다. 저는 이를 약간 우스운 말로 생활이 시스템이고 가상화다라고 이야기 하곤 합니다. 온라인 강의가 실제 저를 대신해 주니까 말이죠. 게다가 온라인을 통한 강의 제작 서비스가 제 개인적인 성향과도 잘 부합하고, 특별히 원거리로 출근을 하지 않아도 되다 보니 가족과 함께 하는 시간도 많이 가질 수 있어 매우 만족하고 있습니다. 회사에 다니시는 분들께서는 느끼지 못하시겠지만, 아이들을 직접 학교에 등/하교 시키는 것이 동경의 대상이기도 하였고, 지금은 제 인생에 큰 보람 중에 한 부분이기도 합니다.

김명신: 최근에 페이스북에 올리신 글을 보고 깜짝 놀랐습니다. 지금까지 작성하신 동영상의 수가 상당하던데, 총 몇 편이었지요?

박용준: 제가 지난 10년간 꾸준히 강의 동영상을 제작하다 보니 그 수와 내용이 많은 것은 사실입니다. 2013년을 정리하면서 확인을 해 보았는데, 총 3665개 이더군요. 1년에 365개씩은 만들자라고 계획하였었는데 그 목표는 달성한 것 같습니다.

clip_image005[4]

김명신: 그럼 매일 매일 작업을 하시는 건가요?

박용준: 그렇지는 않고, 하루에 5~6개씩 촬영을 할 때도 있고, 일주일 내내 하나도 촬영하지 않는 경우도 많이 있습니다. 벽보고 강의는 제가 국내 일인자임에 분명한 것 같습니다.

김명신: 개수도 개수지만 그 내용도 상당히 방대할 것 같습니다.

박용준: 아주 오래 전에 촬영하였던 C# 1.0이나 ASP관련 내용도 있고요, Windows Server, SQL Server, ASP.NET 그외 HTML5, jQuery, AngularJS 등등 그 주제와 내용이 매우 다양합니다. 국내의 경우 하나의 주제로 전문성을 가져가면서 강의하기가 쉽지 않기 때문에, 다양한 주제의 강의를 하게 되고, 이 때문에 깊이나 전문성이 결여되는 문제가 발생하기도 하는데요, 저 같은 경우에는 특별히 ASP.NET과 같은 마이크로소프트 웹 개발 기술에 대한 전문성을 놓치지 않기 위해서 특별히 더 신경 쓰고 노력하는 편입니다.

김명신: 그렇게 많이 작성하신 동영상들은 어디서 살펴볼 수 있을까요?

박용준: 제가 지인과 함께 운영하고 있는 https://www.devlec.com/ 이라는 온라인 프로그래밍 전문교육 사이트가 있습니다. 여기서 모두 살펴보실 수 있습니다. 국내에 온라인으로 프로그래밍이나 OA과정을 다루는 사이트가 꽤 있는 것으로 알고 있는데요. 저희는 프로그래밍 전문 사이트이기 때문에 그 넓이와 깊이가 다른 곳과는 확연히 차이가 있습니다.

김명신: 저도 며칠 전에 살펴보았는데, 첫 페이지에 SignalR에 대한 강의가 올라가 있더군요.

박용준: 네, 최근에 SignalR에 대한 촬영을 했습니다. ASP.NET SignalR은 상당히 놀랍고도 실용적인 기술입니다. 제가 봐도 신기할 정도입니다. 먼저 SignalR은 굉장히 쉽습니다. 실제로 web 기술을 기반으로 chatting 서버를 작성하기 위해서 4~5줄의 코드면 핵심 코드를 작성할 수 있을 정도입니다. 뿐만 아니라 기존에 양방향 통신을 수행하기 위해서 사용하고 있는 WebSocket, Server Sent Events, 영구 프레임(Forever Frame), Ajax 롱 폴링(long polling)등을 모두 아우르는 기술입니다. 특정 기술 하나만을 사용하는 것이 아니라, 클라이언트의 지원 내용을 확인하여 최초 협상 시에 가장 효과적인 기법을 선택하도록 되어 있습니다. 기존 기술들이 브라우저의 지원 여부, 클라이언트 개발 환경의 특성 등으로 인해 좋은 기술이 나와도 쓰기가 어려웠는데, SignalR을 사용하면 각각의 환경에 부합하는 최적화된 방법이 자동으로 선택됩니다. 개발자가 그 각각을 다루어야 할 일이 없죠. 이는 다양한 형태의 Web 기반 기술을 이용한 양방향 통신 메커니즘을 말 그대로 통합하는 효과가 있습니다. 이는 마이크로소프트의 이전 기술 중에 WCF가 Unified Communication 메커니즘으로 다양한 통신 규격을 하나의 방식으로 프로그래밍 하게 만들었다는 장점에서 진일보 하여서 Web 기술을 근간으로 하는 Unified Communication 메커니즘이라고 정리해 볼 수 있겠습니다.

김명신: SingalR의 이 같은 장점에 대해서는 저도 상당히 고무적이라고 생각하고 있습니다. 게다가 다양한 브라우저를 지원하고, 다양한 개발 언어를 지원하기 때문에 더더욱이나 활용성이 높은 것 같습니다. 예전에 mms, RTCP/RTSP 등의 미디어 자체적인 미디어 전송 기술들이 최근에는 http를 이용하는 웹 기술로 발전/진화한 것은, 웹 기반 기술을 지원하는 다양한 장치와 인프라들을 그대로 사용하면서, 손쉬운 Scale Out이 가능한 것으로 알려져 있습니다. SignalR 또한 Web 기술을 근간으로 하기 때문에, 단일 서버뿐 아니라 다중 서버로의 확장이 용이할 것으로 예상되는데요

박용준: SignalR은 단일 서버에서 수행될 때에도 상당히 고성능으로 동작하기 때문에, 한대의 서버만을 이용해도 상당한 성능을 유지할 수 있습니다. 외부자료 중에는 초당 10만건의 메시징을 수행하였다는 보고도 있습니다. 하지만 그 이상을 지원하기 위해서는 말씀하신데로 Scale Out이 중요한 요소입니다. SignalR은 개발시부터 이에 대한 고려가 있었기 때문에 다중 웹서버로 구성한다 해도 기존 코드를 변경해야 할 내용이 극히 적고, 실제 그에 대한 대응을 수행하기 위해서도 코드 한두 줄로 구성 설정을 변경할 수 있습니다.

김명신: 그 정도까지 극단적으로 업무를 단순화 할 수 있는지는 저도 처음 알았네요. 최근 마이크로소프트의 웹 기술들이 플랫폼 기술로 거듭나고 있는 것으로 보입니다. 이에 대해서 말씀 해 주실만한 내용이 있으실까요?

박용준: 그렇습니다. 최근 ASP.NET을 중심으로 한 마이크로소프트의 웹 기술은 기존의 웹페이지 제작기술을 모던하게 변화 발전시키는 것과 더불어 웹 서비스 플랫clip_image007[4]폼으로 그 영역을 확장해 나가고 있습니다. 최근에 가장 눈에 띄는 기술이라고 하면 역시 ASP.NET WebAPI와 SignalR 등을 꼽을 수 있을 텐데요. 두 가지 모두 이 범주에 속하는 기술이라고 볼 수 있고, 이러한 기술들이 시장에 미칠 파급효과는 상당하다고 생각하고 있습니다. SignalR과 새로운 기술은 처음부터 기존 방식을 바꾸는 게 아닌 레고 블록 맞추는 것처럼, 기존에 구축해 놓은 시스템에 추가적으로 필요한 부분만을 적용하여 개선해 나가는 방식으로 좀 더 쉽게 접근하실 수 있으리라 봅니다.

김명신: 이번 미니테크데이즈 토요세미나가 바로 WebAPI와 SignalR 뿐 아니라 ASP.NET 성능 최적화 까지를 다루고 있습니다.

박용준: 최근 SignalR과 WebAPI가 버전 업데이트가 되었고, 상당히 많은 부분들이 개선되었습니다. 이 기술들을 살펴볼 수 있는 가장 적기가 아닌가 생각됩니다.

김명신: 이번 미니테크데이즈를 통해서 SignalR의 장점을 유감없이 보여주실 것 같이 기대가 큽니다.

박용준: 네, 최선을 다해서 준비하도록 하겠습니다. 감사합니다.