Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
커뮤니티와 함께한 예비개발자 성장기
조성수 ( nexusz99 @ gmail.com ) 경희대학교
오늘 이야기할 내용
평범한 대학생이 커뮤니티에서 활동하면서
예비 개발자로써 성장하고있는 이야기
오늘 이야기할 내용
• 커뮤니티란 무엇인가?
우리는 왜 모임을 만드는가
• 커뮤니티가 주는 도움?
커뮤니티는 예비개발자에게 무슨 도움을 주나?
• 커뮤니티에서 활동하기
본격! 커뮤니티 활동하기
• 결론
펜과 노트는 잠시 넣어두시고
편안한 마음으로 “감상”해주시면 됩니다.
개발자
커뮤니티
개발자 커뮤니티
개발자들이 공통의 관심분야를
주제로 모여있는 모임
커뮤니티 활동
• 질문 / 응답
• 유용한 정보 공유
• 온라인 상 토론
• 채팅
• 세미나
• 스터디
• 정기모임
• 행사 자원봉사
온라인 오프라인
커뮤니티를 통해 생태계를 만들고, 경험과 지식을
공유하여 다같이 성장하고 공존하는 것이 가장 큰 목표
커뮤니티의 목표
대학생에게도 이런 모임이 존재한다!
“ 동아리 “
D2 Campus Partner (2016년 2월 기준)
동아리 활동
동아리의 주 목적은 학교 정규교과과정을 넘어서서
더 많은 것을 같이 심도있게 공부하고 경험하는데 있다.
대학생들간의 “커뮤니티”인 셈이다.
동아리 활동
• 교육
신입생 대상 프로그래밍 교육
• 스터디
특정 주제에 관심있는 사람끼리 모여 공동 학습
• 세미나
서로 공부한 것을 공유
• 해커톤 & 공모전
실제로 서비스를 만드는 프로젝트를 경험하면서 실무능력 배양
동아리 vs 커뮤니티
동아리는 성장의 발판이 되어주는 공간
하지만 커뮤니티에는 동아리에 없는 한가지가 있다
동아리 vs 커뮤니티
개발자 커뮤니티에는 다양한 사람들의
다양한 경험 이 있다.
동아리 vs 커뮤니티
개발자 커뮤니티가 가지고 있는 다양한 경험이 예비개발자에게 끼치는 영향
능력치
시간
동아리를 통해
성장한 구간
정체기
커뮤니티에
가본 순간
왜 동아리로만 성장하기 어려운가?
• 문제 해결의 방식
• 회피
• 일단 돌아가게만 만들자
• 시연때는 잘 돌아가는 케이스만.
• 견고함 보단 기능 구현을 우선
• 우리의 혁신적인 아이디어를 빨리 만들어야해
• 주먹구구...
어떤 경험이 예비개발자의 성장을 촉진시키는가?
• 선배 개발자의 풍부한 개발 경험
우리의 고민의 답을 명쾌하게 내려주신다.
구글링보다 더 자세한 답변
• 진로에 대한 이야기
미래를 위해 어떻게 공부해야하는가?
• 현업에...
선배 개발자의 풍부한 개발 경험
대학생들의 개발 경험
과제 해커톤 공모전
• 대부분의 대학생들은 위 3가지로 개발 경험을 쌓게됩니다.
• 과제를 통해 이론을 구현하는 능력을 키울 수 있습니다.
• 해커톤, 공모전을 통해 내손으로 직접 서비스를 만들어 ...
대학생들의 개발 경험 그리고 고민
• 그래도 이왕 코드를 만들어내는거 제대로 만들어보고 싶다.
• 코드 구조를 어떻게 잡아야할까?
OOP를 배웠으니 적용해보고 싶은데..
디자인 패턴도 배웠는데..
• 서비스를 한 이후 ...
고민 1. 예쁜 코드 만들기
• 분명 내가 짠 코드인데 왜이리 더러울까?
• OOP 도 배웠고, 디자인 패턴도 배웠다.
• 적용해볼까?
• ( 털썩 )
고민 1. 예쁜 코드 만들기
코드를 예쁘게 만들고
싶어요!
오픈소스를 한번
분석해보세요
고민 1. 예쁜 코드 만들기
• 오픈소스는 훌륭한 개발자들이 만든 금덩이 코드
• 그 안에 온갖 프로그래밍 기법이 들어가 있다.
• 이론으로만 배웠던 내용이 실제 눈으로 구성되어 있는
모습을 볼 수 있다.
오픈소스 분석하기
마침 사용하는 오픈소스도 있었고
어떻게 구현되어있는지 궁금하기도 했었다
오픈소스 분석하기
막상 뜯어보니 엄청 복잡한 소스코드
이미지 출처 : http://www.eclipsezone.com/articles/lattix-dsm/?source=archives
오픈소스 분석하기
오픈소스 분석하고
싶은데 너무 복잡해서
뭘 먼저해야할지
모르겠어요
자.. 일단 옆에
앉아보렴
오픈소스 분석 방법에 대한 노하우
디버깅 환경 구축하기
디버깅 환경 구축하기
• 소스코드 정적분석에는 한계가 있다
• 실제 변수에 어떤 값이 들어가고, 변화하는지 알 수
없기 때문
• 코드를 실행시키고, 변수값을 확인하면서 분석하면 좀
더 용이하게 분석할 수 있다.
디버깅 환경 구축하기
• 예제코드에서 build() 함수 내부를 분석하려면
• 정의 따라가기 기능을 이용하거나 -> (정적 분석)
• 디버거의 Step Into 기능을 이용해야한다. -> (동적 분석)
디버깅 환경 구축하기
• 예제코드에서 build() 함수 내부를 분석하려면
• 정의 따라가기 기능을 이용하거나 -> (정적 분석)
• 디버거의 Step Into 기능을 이용해야한다. -> (동적 분석)
디버깅 환경 구축
• 만약 정의된 곳으로 따라가기, Step Into 를 했는데 아래와 같이
뜬다면, 소스코드를 수동으로 attach 해줘야한다.
(소스코드만 가지고 있는 jar 파일)
디버깅 환경 구축
• 일반적인 자바 라이브러리 파일명
• [라이브러리명]—[버전].jar
• 여기에는 바이트코드인 .class 파일만 들어있다.
• 라이브버리의 소스코드를 담고있는 jar 이 있다.
• [라이브버리명]-...
디버깅 환경 구축하기
일반 소스코드
.class과 연동된 소스코드
디버깅 환경 구축 - Eclipse
• maven 을 이용하여 프로젝트를 구축한 경우
• 이클립스에서 자동으로 source code를 attach 시켜준다.
• 만약 자동으로 attach 가 안되면, 아래 사진처럼 po...
디버깅 환경 구축 - eclipse
• 독립적인 시스템일 경우, IDE에서의 디버깅 가이드
문서가 존재한다
참조 : https://wiki.apache.org/cassandra/RunningCassandraInEclip...
디버깅 환경 구축 – 기타 환경
• Python
• pip install 시, 소스코드가 설치되므로 크게 신경쓰지 않아도
된다.
• 리눅스 환경의 C/C++
• gcc –g 로 디버그 심볼을 붙인다.
• gdb로 분석하...
오픈소스 분석 방법에 대한 노하우
API 코드 흐름을 따라가면서 분석
API 코드를 따라가다보면 어떤 파일들이 있고
어떤 용도로 쓰이는지 쉽게 파악할 수 있다
API 코드 흐름 따라가기
• 분석할 라이브러리를 사용하는 예제코드를 만든다.
• 처음에는 “정의 따라가기” 기능을 통해 API 내부
코드를 눈으로 분석한다.
• 눈으로 어느정도 분석이 끝나면, 실제로 실행하면서
변수값...
API 코드 흐름 따라가기
• 분석 시 유의할 점은, 모든 내용을 완벽히 이해하려
하지 말자 (나중에 다 알게된다)
‘이런 애들을 초기화하는구나 ‘로넘어가면 마음이 편하다.
오픈소스 분석 방법에 대한 노하우
Diagram 을 그리면서 분석 과정을 메모
Component Diagram
Diagram을 그리면서 분석 과정 메모
• 우리들의 뇌는 기억력이 좋지 않다.
• 먼저 API 함수 자체의 Flow Chart 를 그린다.
• 이 함수가 대략적으로 어떤 동작을 하는지 알 수 있다.
• if/else ...
오픈소스 분석 방법에 대한 노하우
개발과정을 역추적
• 내가 지금 보는 코드는 수 많은 고민과 토론을 통해
탄생
• 코드만 봐서는 이해가 안되는 부분이 존재한다.
• 커밋로그, 코드리뷰 기록을 통해 개발 과정을
역추적하...
개발 과정을 역추적
잘 운영되는 오픈소스에는 Commit 메세지가 아주 자세하게 적혀있다.
의미있는 결과물
고민 2. 서비스 중 디버깅
서비스를 운영하다가
발생하면 어떻게 하지?
예기치않은 오류가
고민 2. 서비스 중 디버깅
평화로운 환경에서는 서버는 열심히 로그를 쌓는다
request
log
splunk
log
error
log
[13/Feb/2016:23:25:16] [INFO] 123.123.123 “GET...
고민 2. 서비스 중 디버깅
예상치 못한 입력, 실수로 예외처리를 안해서 서버가 터지면
원인을 어떻게 찾아야할까?
request
log
splunk
log
error
log
고민 2. 서비스 중 디버깅
어떤 입력이
온거지?
어떻게
재현하지?
뭘
확인해야하지?
고민 2. 서비스 중 디버깅
혹시 현업에서는 이런
상황에서는 어떻게
하나요?
저희는 Sentry 라는
도구를 사용합니다.
고민 2. 서비스 중 디버깅
실시간으로 웹/모바일 앱에서 발생하는 crash를 리포팅해주는 툴
http://getsentry.com
Sentry 모습
Sentry 모습
TraceBack (StackTrace) 도 남겨준다.
Sentry 모습
코드가 실행될 당시의, 변수 상태도 같이 저장해줍니다.
Sentry 사용 방법 - Python
Sentry 에서 발급받는 주소를 이용하여 Client 객체를 생성한다.
예외가 발생하면 captureException() 함수를 호출해준다.
• ELK (ElasticSearch, Logstash, Kibana)
• Splunk
Response를 주기 직전, 예외처리를 수행
어플리케이션에서 정의한 Exception 외, 예외 발생시 상세정보를 로그로 기록
로...
현업에 대한 이야기
너한테만
알려주는거야.
현업에 대한 이야기
• 학생들은 경험할 수 없는 현업의 생생한 이야기
• 원하는 직업의 현실적인 삶의 이야기를 들을 수 있다.
• 현업으로 가기 전, 배우면 좋은 지식들
• Git의 다양한 기능
• Git Branch ...
커리어에 대한 조언
• 무엇을 좀 더 심화적으로 공부해야하는지?
• 최신의 트랜드는 무엇인지?
• 미래에는 어떻게 될 것인지?
• 이를 위해 나는 무엇을 준비해야하는가?
진로에 대한 이야기
나처럼 살지마
진로에 대한 이야기
기초지식을 확실히 다지세요(OS, Network .. )
눈 앞의 기술보다는 졸업 후를 생각해서 공부해야.
공부하는 것이 돈을 버는 것이다.
커뮤니티 활동의 결과
넓어진 시야 그리고 내면의 성장
본격!
커뮤니티 활동
시작하기
Naver D2 커뮤니티 지원
https://developers.naver.com/d2/community
개발자 커뮤니티
• Python Korea
• 한국 러스트 사용자 그룹
• 라 스칼라 코딩단
• C++ Korea
• Golang Korea
언어
• 인공지능 스터디
• 손고리즘
• 바벨피쉬
• IAMROOT
이론
개발자 커뮤니티
• 한국 스프링 사용자 모임
• Flask Korea
• Django
• OSXDEV
• OpenStack Korea Group
• Korea Docker User Group
• 우분투한국커뮤니티
• 안...
제가 활동하는 커뮤니티
스터디
오프라인 활동을 찾아보자
커뮤니티는 사람을 만나는 곳이므로 오프라인 활동에 적극 참여해보자
뒷풀이에 참석하기
• 세미나, 스터디가 지식을 공유하는 자리라면,
뒷풀이는 네트워킹을 하는 자리
• 처음에는 어른들 사이에서 서먹서먹하지만,
용기를 가지고 대화를 시도하면 됩니다.
행사의 자원봉사로 활동해보기
• 커뮤니티에서 주최하는 컨퍼런스에 자원봉사자로
참가해보자
• 운영진과 친해질 수 있는 기회!
• 발표자와도 친해질 수 있는 기회!
2014 PyCon 자원봉사자 도전
어느날 Python Korea 그룹에서 이런 글을 보았다.
2014 PyCon 자원봉사자 도전
젊음의 패기로 자원봉사자로 신청하였다.
2014 PyCon 자원봉사자 도전
합격! 생애 첫 커뮤니티 활동의 시작
사진 출처 : PyCon
2014 PyCon 자원봉사자
2015 PyCon 자원봉사자
2016 PyCon APAC 준비위원회 도전
2016 Openstack Days Korea 자원봉사자
친목 모임 참석
친목 모임 참석 - PyJog
결론
두려워 하지 말고 참여해보세요
새로운 세계가 기다리고 있습니다.
커뮤니티는 대학생들의 참여를
원하고 있기도 한다고 합니다
커뮤니티를 통해 자신 그리고 다같이
성장하기를 기대합니다
추천 모임
합니다
Upcoming SlideShare
Loading in …5
×

커뮤니티와 함께한 예비개발자 성장기- 조성수님

7,360 views

Published on

제 4회 D2 CAMPUS SEMINAR 1세션

Published in: Technology
  • Login to see the comments

커뮤니티와 함께한 예비개발자 성장기- 조성수님

  1. 1. 커뮤니티와 함께한 예비개발자 성장기 조성수 ( nexusz99 @ gmail.com ) 경희대학교
  2. 2. 오늘 이야기할 내용 평범한 대학생이 커뮤니티에서 활동하면서 예비 개발자로써 성장하고있는 이야기
  3. 3. 오늘 이야기할 내용 • 커뮤니티란 무엇인가? 우리는 왜 모임을 만드는가 • 커뮤니티가 주는 도움? 커뮤니티는 예비개발자에게 무슨 도움을 주나? • 커뮤니티에서 활동하기 본격! 커뮤니티 활동하기 • 결론
  4. 4. 펜과 노트는 잠시 넣어두시고 편안한 마음으로 “감상”해주시면 됩니다.
  5. 5. 개발자 커뮤니티
  6. 6. 개발자 커뮤니티 개발자들이 공통의 관심분야를 주제로 모여있는 모임
  7. 7. 커뮤니티 활동 • 질문 / 응답 • 유용한 정보 공유 • 온라인 상 토론 • 채팅 • 세미나 • 스터디 • 정기모임 • 행사 자원봉사 온라인 오프라인
  8. 8. 커뮤니티를 통해 생태계를 만들고, 경험과 지식을 공유하여 다같이 성장하고 공존하는 것이 가장 큰 목표 커뮤니티의 목표
  9. 9. 대학생에게도 이런 모임이 존재한다! “ 동아리 “
  10. 10. D2 Campus Partner (2016년 2월 기준)
  11. 11. 동아리 활동 동아리의 주 목적은 학교 정규교과과정을 넘어서서 더 많은 것을 같이 심도있게 공부하고 경험하는데 있다. 대학생들간의 “커뮤니티”인 셈이다.
  12. 12. 동아리 활동 • 교육 신입생 대상 프로그래밍 교육 • 스터디 특정 주제에 관심있는 사람끼리 모여 공동 학습 • 세미나 서로 공부한 것을 공유 • 해커톤 & 공모전 실제로 서비스를 만드는 프로젝트를 경험하면서 실무능력 배양
  13. 13. 동아리 vs 커뮤니티 동아리는 성장의 발판이 되어주는 공간 하지만 커뮤니티에는 동아리에 없는 한가지가 있다
  14. 14. 동아리 vs 커뮤니티 개발자 커뮤니티에는 다양한 사람들의 다양한 경험 이 있다.
  15. 15. 동아리 vs 커뮤니티 개발자 커뮤니티가 가지고 있는 다양한 경험이 예비개발자에게 끼치는 영향 능력치 시간 동아리를 통해 성장한 구간 정체기 커뮤니티에 가본 순간
  16. 16. 왜 동아리로만 성장하기 어려운가? • 문제 해결의 방식 • 회피 • 일단 돌아가게만 만들자 • 시연때는 잘 돌아가는 케이스만. • 견고함 보단 기능 구현을 우선 • 우리의 혁신적인 아이디어를 빨리 만들어야해 • 주먹구구식 개발 • 반복된 맨땅의 해딩으로 심각한 두통
  17. 17. 어떤 경험이 예비개발자의 성장을 촉진시키는가? • 선배 개발자의 풍부한 개발 경험 우리의 고민의 답을 명쾌하게 내려주신다. 구글링보다 더 자세한 답변 • 진로에 대한 이야기 미래를 위해 어떻게 공부해야하는가? • 현업에 대한 이야기 학생이니까 알려준다. 이게 현업이야.
  18. 18. 선배 개발자의 풍부한 개발 경험
  19. 19. 대학생들의 개발 경험 과제 해커톤 공모전 • 대부분의 대학생들은 위 3가지로 개발 경험을 쌓게됩니다. • 과제를 통해 이론을 구현하는 능력을 키울 수 있습니다. • 해커톤, 공모전을 통해 내손으로 직접 서비스를 만들어 볼 수 있습니다. • 하지만 대부분 1회성 코드들입니다.
  20. 20. 대학생들의 개발 경험 그리고 고민 • 그래도 이왕 코드를 만들어내는거 제대로 만들어보고 싶다. • 코드 구조를 어떻게 잡아야할까? OOP를 배웠으니 적용해보고 싶은데.. 디자인 패턴도 배웠는데.. • 서비스를 한 이후 버그를 어떻게 잡아낼까? 서비스가 되면 이미 내손을 떠난 자식. 사고치면 어떻게 고치지?
  21. 21. 고민 1. 예쁜 코드 만들기 • 분명 내가 짠 코드인데 왜이리 더러울까? • OOP 도 배웠고, 디자인 패턴도 배웠다. • 적용해볼까? • ( 털썩 )
  22. 22. 고민 1. 예쁜 코드 만들기 코드를 예쁘게 만들고 싶어요! 오픈소스를 한번 분석해보세요
  23. 23. 고민 1. 예쁜 코드 만들기 • 오픈소스는 훌륭한 개발자들이 만든 금덩이 코드 • 그 안에 온갖 프로그래밍 기법이 들어가 있다. • 이론으로만 배웠던 내용이 실제 눈으로 구성되어 있는 모습을 볼 수 있다.
  24. 24. 오픈소스 분석하기 마침 사용하는 오픈소스도 있었고 어떻게 구현되어있는지 궁금하기도 했었다
  25. 25. 오픈소스 분석하기 막상 뜯어보니 엄청 복잡한 소스코드 이미지 출처 : http://www.eclipsezone.com/articles/lattix-dsm/?source=archives
  26. 26. 오픈소스 분석하기 오픈소스 분석하고 싶은데 너무 복잡해서 뭘 먼저해야할지 모르겠어요 자.. 일단 옆에 앉아보렴
  27. 27. 오픈소스 분석 방법에 대한 노하우 디버깅 환경 구축하기
  28. 28. 디버깅 환경 구축하기 • 소스코드 정적분석에는 한계가 있다 • 실제 변수에 어떤 값이 들어가고, 변화하는지 알 수 없기 때문 • 코드를 실행시키고, 변수값을 확인하면서 분석하면 좀 더 용이하게 분석할 수 있다.
  29. 29. 디버깅 환경 구축하기 • 예제코드에서 build() 함수 내부를 분석하려면 • 정의 따라가기 기능을 이용하거나 -> (정적 분석) • 디버거의 Step Into 기능을 이용해야한다. -> (동적 분석)
  30. 30. 디버깅 환경 구축하기 • 예제코드에서 build() 함수 내부를 분석하려면 • 정의 따라가기 기능을 이용하거나 -> (정적 분석) • 디버거의 Step Into 기능을 이용해야한다. -> (동적 분석)
  31. 31. 디버깅 환경 구축 • 만약 정의된 곳으로 따라가기, Step Into 를 했는데 아래와 같이 뜬다면, 소스코드를 수동으로 attach 해줘야한다. (소스코드만 가지고 있는 jar 파일)
  32. 32. 디버깅 환경 구축 • 일반적인 자바 라이브러리 파일명 • [라이브러리명]—[버전].jar • 여기에는 바이트코드인 .class 파일만 들어있다. • 라이브버리의 소스코드를 담고있는 jar 이 있다. • [라이브버리명]-[버전]-sources.jar
  33. 33. 디버깅 환경 구축하기 일반 소스코드 .class과 연동된 소스코드
  34. 34. 디버깅 환경 구축 - Eclipse • maven 을 이용하여 프로젝트를 구축한 경우 • 이클립스에서 자동으로 source code를 attach 시켜준다. • 만약 자동으로 attach 가 안되면, 아래 사진처럼 pom 설정
  35. 35. 디버깅 환경 구축 - eclipse • 독립적인 시스템일 경우, IDE에서의 디버깅 가이드 문서가 존재한다 참조 : https://wiki.apache.org/cassandra/RunningCassandraInEclipse
  36. 36. 디버깅 환경 구축 – 기타 환경 • Python • pip install 시, 소스코드가 설치되므로 크게 신경쓰지 않아도 된다. • 리눅스 환경의 C/C++ • gcc –g 로 디버그 심볼을 붙인다. • gdb로 분석하거나, eclipse 로 원격 디버깅을 설정한다. • printf 로 로그를 찍는다. • 윈도우 환경의 C/C++ • 프로젝트 설정에서 참조설정에 dll 의 소스코드 위치 명시 • https://msdn.microsoft.com/library/4c8f14c9.aspx • 기타 각 언어에 맞는 디버깅 환경을 찾아서 구축
  37. 37. 오픈소스 분석 방법에 대한 노하우 API 코드 흐름을 따라가면서 분석 API 코드를 따라가다보면 어떤 파일들이 있고 어떤 용도로 쓰이는지 쉽게 파악할 수 있다
  38. 38. API 코드 흐름 따라가기 • 분석할 라이브러리를 사용하는 예제코드를 만든다. • 처음에는 “정의 따라가기” 기능을 통해 API 내부 코드를 눈으로 분석한다. • 눈으로 어느정도 분석이 끝나면, 실제로 실행하면서 변수값을 확인하면서 정확한 동작을 분석한다.
  39. 39. API 코드 흐름 따라가기 • 분석 시 유의할 점은, 모든 내용을 완벽히 이해하려 하지 말자 (나중에 다 알게된다) ‘이런 애들을 초기화하는구나 ‘로넘어가면 마음이 편하다.
  40. 40. 오픈소스 분석 방법에 대한 노하우 Diagram 을 그리면서 분석 과정을 메모 Component Diagram
  41. 41. Diagram을 그리면서 분석 과정 메모 • 우리들의 뇌는 기억력이 좋지 않다. • 먼저 API 함수 자체의 Flow Chart 를 그린다. • 이 함수가 대략적으로 어떤 동작을 하는지 알 수 있다. • if/else 를 너무 상세히 그리지 말자 • API 함수에서 다른 모듈을 사용한다면, 각 모듈간 연관관계를 그리자 (Component Diagram) • 마지막으로 Sequence Diagram 으로 모듈 간 호출 순서를 정리하자
  42. 42. 오픈소스 분석 방법에 대한 노하우 개발과정을 역추적 • 내가 지금 보는 코드는 수 많은 고민과 토론을 통해 탄생 • 코드만 봐서는 이해가 안되는 부분이 존재한다. • 커밋로그, 코드리뷰 기록을 통해 개발 과정을 역추적하여 역사를 되짚어본다.
  43. 43. 개발 과정을 역추적 잘 운영되는 오픈소스에는 Commit 메세지가 아주 자세하게 적혀있다.
  44. 44. 의미있는 결과물
  45. 45. 고민 2. 서비스 중 디버깅 서비스를 운영하다가 발생하면 어떻게 하지? 예기치않은 오류가
  46. 46. 고민 2. 서비스 중 디버깅 평화로운 환경에서는 서버는 열심히 로그를 쌓는다 request log splunk log error log [13/Feb/2016:23:25:16] [INFO] 123.123.123 “GET / HTTP/1.1” 200 783 “Mozilla/4.0” [13/Feb/2016:23:25:16] [ERROR] filesize must over 0
  47. 47. 고민 2. 서비스 중 디버깅 예상치 못한 입력, 실수로 예외처리를 안해서 서버가 터지면 원인을 어떻게 찾아야할까? request log splunk log error log
  48. 48. 고민 2. 서비스 중 디버깅 어떤 입력이 온거지? 어떻게 재현하지? 뭘 확인해야하지?
  49. 49. 고민 2. 서비스 중 디버깅 혹시 현업에서는 이런 상황에서는 어떻게 하나요? 저희는 Sentry 라는 도구를 사용합니다.
  50. 50. 고민 2. 서비스 중 디버깅 실시간으로 웹/모바일 앱에서 발생하는 crash를 리포팅해주는 툴 http://getsentry.com
  51. 51. Sentry 모습
  52. 52. Sentry 모습 TraceBack (StackTrace) 도 남겨준다.
  53. 53. Sentry 모습 코드가 실행될 당시의, 변수 상태도 같이 저장해줍니다.
  54. 54. Sentry 사용 방법 - Python Sentry 에서 발급받는 주소를 이용하여 Client 객체를 생성한다. 예외가 발생하면 captureException() 함수를 호출해준다.
  55. 55. • ELK (ElasticSearch, Logstash, Kibana) • Splunk Response를 주기 직전, 예외처리를 수행 어플리케이션에서 정의한 Exception 외, 예외 발생시 상세정보를 로그로 기록 로그 수집 도구 활용
  56. 56. 현업에 대한 이야기 너한테만 알려주는거야.
  57. 57. 현업에 대한 이야기 • 학생들은 경험할 수 없는 현업의 생생한 이야기 • 원하는 직업의 현실적인 삶의 이야기를 들을 수 있다. • 현업으로 가기 전, 배우면 좋은 지식들 • Git의 다양한 기능 • Git Branch 전략 • 테스트 코드 작성 (TDD) • 다양한 개발 방법론 • 등..
  58. 58. 커리어에 대한 조언 • 무엇을 좀 더 심화적으로 공부해야하는지? • 최신의 트랜드는 무엇인지? • 미래에는 어떻게 될 것인지? • 이를 위해 나는 무엇을 준비해야하는가?
  59. 59. 진로에 대한 이야기 나처럼 살지마
  60. 60. 진로에 대한 이야기 기초지식을 확실히 다지세요(OS, Network .. ) 눈 앞의 기술보다는 졸업 후를 생각해서 공부해야. 공부하는 것이 돈을 버는 것이다.
  61. 61. 커뮤니티 활동의 결과 넓어진 시야 그리고 내면의 성장
  62. 62. 본격! 커뮤니티 활동 시작하기
  63. 63. Naver D2 커뮤니티 지원 https://developers.naver.com/d2/community
  64. 64. 개발자 커뮤니티 • Python Korea • 한국 러스트 사용자 그룹 • 라 스칼라 코딩단 • C++ Korea • Golang Korea 언어 • 인공지능 스터디 • 손고리즘 • 바벨피쉬 • IAMROOT 이론
  65. 65. 개발자 커뮤니티 • 한국 스프링 사용자 모임 • Flask Korea • Django • OSXDEV • OpenStack Korea Group • Korea Docker User Group • 우분투한국커뮤니티 • 안드로이드 팁!팁!팁 • 한국 MySQL 사용자그룹 프레임 워크 플랫폼
  66. 66. 제가 활동하는 커뮤니티
  67. 67. 스터디 오프라인 활동을 찾아보자 커뮤니티는 사람을 만나는 곳이므로 오프라인 활동에 적극 참여해보자
  68. 68. 뒷풀이에 참석하기 • 세미나, 스터디가 지식을 공유하는 자리라면, 뒷풀이는 네트워킹을 하는 자리 • 처음에는 어른들 사이에서 서먹서먹하지만, 용기를 가지고 대화를 시도하면 됩니다.
  69. 69. 행사의 자원봉사로 활동해보기 • 커뮤니티에서 주최하는 컨퍼런스에 자원봉사자로 참가해보자 • 운영진과 친해질 수 있는 기회! • 발표자와도 친해질 수 있는 기회!
  70. 70. 2014 PyCon 자원봉사자 도전 어느날 Python Korea 그룹에서 이런 글을 보았다.
  71. 71. 2014 PyCon 자원봉사자 도전 젊음의 패기로 자원봉사자로 신청하였다.
  72. 72. 2014 PyCon 자원봉사자 도전 합격! 생애 첫 커뮤니티 활동의 시작
  73. 73. 사진 출처 : PyCon 2014 PyCon 자원봉사자
  74. 74. 2015 PyCon 자원봉사자
  75. 75. 2016 PyCon APAC 준비위원회 도전
  76. 76. 2016 Openstack Days Korea 자원봉사자
  77. 77. 친목 모임 참석
  78. 78. 친목 모임 참석 - PyJog
  79. 79. 결론
  80. 80. 두려워 하지 말고 참여해보세요 새로운 세계가 기다리고 있습니다.
  81. 81. 커뮤니티는 대학생들의 참여를 원하고 있기도 한다고 합니다
  82. 82. 커뮤니티를 통해 자신 그리고 다같이 성장하기를 기대합니다
  83. 83. 추천 모임
  84. 84. 합니다

×