E D R , A S I H C RSS

김선재 (rev. 1.26)

김선재

2. 16학번 김선재 입니다.

안녕하세요. 모고등학교 12기 해킹방어과(를 가장한 그냥 이과)를 졸업한, 전자전기공학부 16학번 김선재 입니다.
최종목표는 하고 싶은 것 하면서, 평범하고. 행복하게. 사는 것 입니다.

2.1. 수강과목

3. 나에게 날아 온 많은 질문들

3.1. 왜 컴공을 가지 않았는가?

1학년 입학하기 전부터 주변 사람들에게 지금까지 가장 많은 질문을 받았다.
나는 남들과 전형이 조금 달랐다. 학교에서 주로 가는(사실 상 우리 학교가 먹었던) 모전형이 있었다.
2016학년도 모집에는 전기전자공학부와 기계공학부만 정시모집을 하였다. (2017학년도 모집에는 에시공 추가)
  1. 그래도 IT에 가까운 전자전기공학부를 선호하긴 했었다.
  2. 학교측에서 각 학교의 반영비율에 따라 성적을 오름차순 정렬해주는 시스템을 가지고 한명씩 원서를 어디 쓸 것인지 상담을 해주었다. 원서를 쓰려는 친구들의 성적분포를 보고, 나랑 같은데를 지원하지만 상위권 대학에 합격될 것 같은 친구들을 제외하면 딱 추가합격라인에 들어서 원서접수를 하였다. 예상대로 최초합은 떨어지고 친구들이 상위권 대학으로 가고, 나는 1차추합에 바로 붙었다. ( 기계공학부는 상위권 대학에 합격되더라도 남아 있을 친구들이 대부분이라 지원하지 않았다. ) ( 이 시기에 대학 조언을 해주었던 고등학교 선배 형, 지금은 15학번 형한테 고맙다. ㅎㅎ )
  3. 입학 이후 전자전기공학부 학술 소모임을 가입하였다. 많은 선배님들(09~15학번)을 경험하고, 여러 작품들을 만들고 난 뒤 나는 이 쪽 분야(회로, 임베디드)도 굉장히 재미있겠다 라고 느꼈다.
  4. 몇몇 컴공 선배와 연락을 할 때 마다, "선재는 무조건 컴공인생이다. 빨리 컴공 전과해라", "근데 너는 전과 안하냐?", "선재씨는 전과 안하세요?" 라는 말을 많이 들었다. 물론, 컴공 전과나 복수전공에 대해 진지하게 생각해 본 적은 많았다. 하지만 생각 외로 공학인증, 복수전공 84학점의 크리티컬로 졸업이 많이 힘들어보였다. 84학점이라.. 내가 굳이 그렇게 많은 것을 들을 필요가 있을까? 라는 생각을 가장 먼저 하였다. 나는 대학에 입학하면 비단 IT뿐만 아니라 다양한 분야를 공부하고 경험해보고 싶었다. 그래서 굳이 스스로 비생산적인 것들로 묶여있고 싶진 않았다. 고심 끝에 부전공을 선택하게 되었다. (병특 때문에 부전공 4학기를 이수해야 한다.)
  5. 엄마는 내가 IT 직종에서 일하는게 싫어 전과 반대를 하였다. 나는 부모님의 말을 잘 듣는 착한 아들은 아니라서, 한 0.001% 영향을 미쳤다. 남들이 뭐라 하든 IT 직종에서 일할 것이다. 그리고 내 결정은 내가 정하는게 옳다고 생각한다.

3.2. 코딩을 어떻게 그리 잘하게 됐냐?

처음 만나는 타대학 전공자분들, 같이 작업하는 형누나들, 같은 동아리하는 형누나동생들 모두 묻는 말이다. 그분들에겐 김 빠지겠지만 답은 간단하다.
"그냥 계속 했어요. 많이 하니깐 차차 늘더라고요."
올해 컴퓨터공학부에 입학한 후배, 또는 다른 후배들, 처음 입문하는 형누나들에게도 늘 했던 말이다. 포기하지 말고 계속하라고.
사실 나도 나와 비슷한 나이(10대초반)에 처음 시작했던 친구들보다 잘한다고는 생각하지 않지만, 적어도 막 시작하려는 사람들과 비교했을 때 경험을 많이 했다고는 자신있게 말할 수 있다.
그리고 슬럼프가 있었긴 했지만 포기하지 않게된 원동력은, 어렸을 때부터 비록 온라인 상이지만 여러 사람들을 만나고, 그들을 롤모델로 삼았기 때문에 지금까지 발전할 수 있지 않았나 생각한다.
지금은 이 길이 아니면, 나는 먹고 살게 없다는 생각이 강하다.

3.3. 창업할 것인가?

창업과 나는 물과 기름이다. 나는 그냥 남이 주는 돈을 받고 싶다. 애초에 큰 모험은 하지 않는 성격이다. 아마도 내가 창업을 한다면, 그냥 소소하게 시작할 확률이 높을 것이고, 망하더라도 나은 빠져나올 구멍을 만들고 시작할 것이다.

3.4. 학창 시절에 공부를 잘했는가?

아니다.

중학교 때 흔히 동네에 있는 똥통학교에 다닌 덕분에, 별다른 공부를 안하고도 내신을 쉽게 따 모고교도 쉽게 간 편이다. ( 물론 중학교 생활은 재미있었고, 잊지 못할 추억도 있고, 평생 친구들도 만났다. ) 고등학교 때도 공부를 못했다. 안하는 건 아닌데, 그렇다고 하는 것도 아니었다. (고백하자면, 고3때는 매일 게임 한 판씩 하였다...ㅎ) 수학을 가장 못하고, 영어를 가장 잘하고 좋아했는데, 막상 수능을 보니 수학을 가장 잘 봤고, 영어를 가장 못 봤다. ( 막판에 수학에 시간을 많이 쏟긴 했다. ) 대학에 와서야 공부다운 공부를 하는 중이다. 1학년 1학기 때는 공부를 안하기도 하고, 기말 기간에 아파서 학교를 1주일 못나간 적이 있어서 3점대 중반밖에 맞지 못했다. 1학년 2학기 때부터 본격적으로 공부를 시작해서 4점대를 맞았고 2학년 1학기도 성적 장학금을 받을 정도의 4점 후반 (망할 공설입)을 맞았다.

위에 서술했다시피 학점에 그렇게 목매다는 성격은 절대 아닌데, 1학년 2학기 때 학점을 괜찮게 받고나니 복수전공을 고려해보았다. IT와 연관되어있기도 하고, 내가 충분히 도전할 수 있는 분야고, 이 학문을 배우면 시야를 넓힐 수 있겠다 하는 과를 찾다보니 응용통계학과가 눈에 띄었다. 그러나, 1학년 1학기를 망쳐서, 그 해 2학기 때를 잘봐도 커트라인에 미치지 못했다. 2학년 1학기 때 학점을 잘 받을 수 있는 과목들로 듣고 커트라인에 넘긴 하였다. (지금 쓰고 있는 날에는 아직 발표가 안되었다... 발표하고 다시 써야지) (커트라인이 급상승했다. 평점 0.1점 모잘라서 불합격됐다. 한학기 더 고생해야 한다.)

아마 복수전공에 합격한 뒤로는 학점에 목매지는 않을 것이다. 그냥 C+ 안받는 정도? 내가 가장 잘하는, 시험 공부를 안 하는건 아닌데, 그렇다고 하는 건 아닌. 딱 내용 이해만 할 것이다. (등록금 값은 뽑아 먹어야지...) 대신에 배운 이론으로 학기중에 조그마한 프로젝트 비스무리한 것을 할 것이다.

3.5. 어떤 언어를 다룰 줄 아는가? + 여태 살아온 행적

아마 나의 생각에 공감하는 사람들도 있을 것이다. 이것과 같은 질문을 받았을 때, 솔직히 난감하다. 왜냐하면 언어는 내 생각을 구현해주는 도구일 뿐이다. 막말로 생전 처음보는 언어라도 그 언어를 이용해서 내 생각을 구현할 수 있을 것이다.

2009년 말, 처음 시작은 Visual Basic 6.0 으로 입문을 시작했고, 그 후 중학교에 올라가서 C와 WIN API, C++, JAVA, HTML, CSS, JS, PHP, ASP, 네트워크이론, 자료구조를 공부했다. Visual Basic 을 너무 오래 했던 탓인지, 다른 언어는 통 익숙하지 않았다. 다른 사람이 보기에는 대단해보이겠지만, 그냥 입문서를 한번 두번 본 것 뿐이다. 당연히 모두 이해하지 못했다.(그리고 책들은 구석에... 최근에 책장을 산 뒤 복구되었다.)

2013년, 고등학교에 올라간 뒤로는 (쓰레기 같은)Visual Basic 6.0 을 버리고, 수업으로 또 독학으로 C# WinForm을 배웠다. 그리고, 동아리에서 모기업 청소년 앱 대회를 우연치 않게 나가게 되어 Android 4.X 젤리빈 버전을 공부하게 되었다. 위에 서술했다시피 Java 에 대해 깊지 못해서, 또 물어 볼 사람이 없어서 좀 고생을 많이 하였다.(이 놈의 이클립스는 왜이렇게 뻑이 많이 가는지, 레이아웃은 왜이렇게 말을 안듣는지, 디버깅은 또 왜이렇게 힘든지, 구글에 뭐라 쳐야 나오는지, 영어는 또 왜이렇게 해석하기 힘든지) (당시에 아마 안드로이드 스튜디오가 있었는데, 공식으로 지정되기 전이고 레이아웃이 실시간으로 렌더링되는것 말고는 장점이 없었다. 툭하면 강제종료되었다.)

2014년, 학년이 올라가게 되어 Java 수업을 들었다. 머리가 좀 커지니 (지옥의 안드로이드를 겪고 나니) 확실히 이해가 더 잘 되었고, 객체지향에 대해 무언가 깨우친 느낌이 많이 들었다. 이 때 교내 대회로 Java Swing Graphics 으로 슈팅게임 만드는 대회가 있었는데, 디자인 하는 친구와 팀을 맺어 동상을 받았다. 처음에 테트리스로 속인 다음에, 게임 시작하면 슈팅게임으로 바꾸었다. 금상 은상을 수상한 다른 친구들은 물리엔진을 사용하였다. 나는 엔진을 사용해야겠다는 생각을 1도 안해서 충격이었다. 충돌 알고리즘도 밤새가면서 순수 짰었다. (확실히 엔진을 사용하니깐 퀄리티가 급상승하였다..)

2015년, 그 다음 학년에는 웹 프론트엔드(HTML, CSS, JS), Android 와 SQL, R, 정보기술기초(를 가장한 컴퓨터 아키텍쳐) 를 배웠다. 고3이다 보니, 수업은 그렇게 타이트하게 나가지는 않았지만 여러 배울점이 많았다. 웹 프론트엔드는 쉬워서 수험 도중 머리 식힐겸 할 만 했다.(나중에 알게 되었는데, 대학교에 와서 내가 봤던 책에서 수행평가 문제를 내셨다.) Android는 삼성에 다니시다 온 IT선생님이(지금의 스마트폰이 있게 된.. 물론 그 분 없어도 누군가 했겠지만) 가르치셔서 테크닉적인 부분을 많이 배웠다. SQL은 정규화 이론부터, SQL 구문까지 익히고 R로 실습을 진행하고 마지막엔 프로젝트(그 때 당시 수행평가)로 마무리 하였다. (이 때부터 통계학과를 관심 있게 생각했던 것 같다.) 컴퓨터 아키텍쳐는 어차피 컴공과 가면 나중에 배운다고, 컴퓨터 구조와 운영체제론을 통암기 시키게 하였다. 그리고, 다 까먹었다.

2016년, 겨울방학 때 모컴퓨터학원에 다녔다. 웹개발자 과정을 들었는데 돈만 날렸다. 그래도 고3때 배운 웹프론트엔드 기초를 다질 수 있었고, Java 기초와 JSP 기초를 배울 수 있었다. JSP 프로젝트를 했지만, 탈주자가 너무 많아서 FAIL

대학교에 와서는 웹개발하는 모IT동아리에 지원하게 되었다. 덕분에 프론트엔드(HTML, CSS, JS)에 대해 다시 공부하게 되었다. 이 때도 확실히 머리가 커서 이해가 쑥쑥 되었다. 그리고 Ruby와 Python 같은 스크립트 언어를 공부했고, Ruby의 웹프레임워크인 Ruby On Rails를 공부하고 프로젝트(자격증 관리 서비스)를 타대학 사람들과 진행하게 되었다. 같은 동아리 형누나들에게 실력을 인정받아 2017년에는 IT동아리의 운영진을 맡게 되었고, 그 중 강의부분을 담당하게 되었다. 여담으로 동아리 면접 때 분위기 풀기, 날카로운 질문을 담당하였다.

2017년, 겨울방학 때 과소모임 사람들과 뇌를 자극하는 Python3 책으로 스터디(를 가장한 멘토링)을 진행하였다. 지정된 분량을 내가 설명하고 질문을 받는 형태로 진행하였고, 나중에는 내가 내는 문제들(프로그램 만들기)을 풀라고 시켰다. Tweepy API 라이브러리를 이용한 프로그램을 만들었다. (2017년 DevilsCamp 첫날에 어떤 분이 Tweepy에 대해 발표하셨는데, API키들을 GitHub에 노출시켰길래 그대로 적용을 해보았더니, 작동이 되었다...)
스크린샷_2017-07-14_오전_9.56.12.png
[PNG image (1.92 MB)]


그리고, 링고스타의 윤성관 대표님과 야곰님이 진행하신 iOS 특강을 듣게 되었다. 이 때 아이디어 프로토타이핑 후 Swift 구문을 배운 다음 프로젝트 개발을 하였는데, 아이폰의 미리알림 기능과 한줄일기를 도입하여 Seize the day 라는 앱을 만들었다. (한 전체 6~7할정도 개발했다.)

3월달 이후 전전 과소모임 후배들 C언어 멘토링을 담당하게 되었고, 후배들은 고맙게도 A+을 모두 받아주었다.(그 중 한명은 솔직히 상상못한 성적을 받기도 하였다. 공부를 그렇게 잘하는 줄은 몰랐는데ㅋㅋ) 그리고, 앞서 소개한 IT동아리에서 팀장을 담당하여 멘토링(이름은 스터디)을 진행하여 Ruby On Rails 와 웹 프론트엔드를 가르쳤고, 3주에 한 번 씩 전체 동아리분들에게 강의를 진행하였다. 4월 초 동아리 자체 해커톤을 열어 깊은 밤까지 멘토로 활동했다. 5월 말, Ruby On Rails Sidekiq 과 Cronjob 을 통한 일정 주기로 백그라운드 작업하기를 끝으로 1학기 활동을 마쳤다.

학기 중에, 프로그래밍 시간에 자료구조(중도 포기)와 TCP/IP 네트워크, PHP Laravel(중도 포기) 를 공부했다. 그래도 서적 중간까지는 봤다. 나머지는 미래의 내가 필요하면 보겠지.

4. 현재 근황


2017년 여름 방학 때, Java 에 대해 공부하고 있다. 이것이 자바다 라는 책을 한 번 돌리고 있다. 클래스와 인터페이스 개념을 정확하게 설명해주고 있고, Java8에 들어간 람다식과 반복자 스트림, 병렬처리, JavaFX, NIO 기반 입출력과 네트워킹을 공부했다. 이 책이 끝나면, JSP와 객체지향 디자인패턴, 예전에 중도포기한 Android, C++(기본 개념부터 STL), 자료구조를 공부할 계획이다. 여건이 된다면, 알고리즘과 TCP/IP (디도스 해킹툴) 프로젝트를 진행하고 싶다. 그전에 물리부터 끝내고..

2학기 때는 조용히 외부활동은 지양하고 공부만 하고 싶다. 우선순위는 아래와 같다.
  1. 자료구조와 알고리즘 공부 ( 온라인 저지 문제풀이 )
  2. 통계학 기초 공부, R 공부
  3. JSP, Spring 공부 (취업용..)
  4. Node.js
  5. React와 React Native
  6. Ionic Framework
  7. 딥러닝 관련 공부
  8. TCP/IP 프로젝트
  9. PHP Laravel 프레임워크 (달라진 모던 PHP를 만끽하고 싶다.)
  10. 과학 공부 (취미)

5. 진행한 프로젝트 + 끄적거림

5.1. 2010년

  1. 넷X스를 모방한 해킹툴
  2. Hal.dll 파일보호기 (그 당시에 유난히 집착하고 재밌었다. 테스트하다 컴퓨터 고장나기도 했었다..ㅎ)
  3. 다기능(?) 숫자맞추기 게임(네트워크) (집착22..)
  4. 네이버 카페 파싱 프로그램 (멤버 추출, 멤버 쪽지보내기, 게시글 목록 파싱, 게시글 알림기능 등..)
  5. 사설게임서버 접속기(런처) 메이커

5.2. 2011년

  1. 커맨드명령어 컨셉인 해킹툴
  2. 특정 사설게임서버 접속기(런처) (용돈 짭잘했다.)
  3. 업그레이드한 파일보호기
  4. 청소년 유해 차단 프로그램
  5. 컬쳐랜드 관리 프로그램
  6. 영어단어 암기 프로그램
  7. 가위바위보를 활용한 1:1 전투게임(네트워크)
  8. 가계부 프로그램
  9. 간단한 문명게임 (되도 않은 머리로 AI 구현에 힘을 썼다.)
  10. Voice 채팅 프로그램 (사람이 직접 말을 하는건 아니고, 윈도우즈에 내장된 기계음을 사용했다.)
  11. 맘아이 같은 프로그램 (부모가 지정한 시간만 컴퓨터 사용 가능...)
  12. 간단한 외주 (먼저 연락이 왔다. 왜 좋아하는 일을 직업으로 하면 스트레스를 받는지 이해가 되었다. 외주를 많이 하진 않았다.)

5.3. 2012년

  1. 풍X, 넷X, 카X툴을 모방한 디도스 해킹툴
  2. 도스 공격툴
  3. 업그레이드한 파일보호기 버전2
  4. IDEA Cloud (한 3일 밤샜는데, 정보올림피아드 공모전 예선광탈했다. 더 웃긴건 수상한 경력이 있는 친구도 예선광탈. 헬수도권이었다.)
  5. 간단한 외주

5.4. 2013년

  1. Film (Android 대회 출품작. 여행갈 때 또는 뭔가의 변화를 보고 싶을 때, 짤막한 영상들을 자동으로 붙여주어 인코딩해주는 서비스)

5.5. 2014년

  1. 롤쟁이 (op.gg를 활용해 학교에서 게임을 해선 안되는 시간에 롤을 하는 친구를 적발하였다.)
  2. 영어시험 내신대비 프로그램 (문과 친구들에게 선풍적인 인기를 끌었다. 정작 나는 문과친구들을 하나도 몰랐다..)
  3. 지니어스 진행 프로그램 (동아리에서 당시 유명하던 지니어스 게임 같은것들을 했었는데, 진행할 프로그램이 필요해 보여 만들었다.)
  4. Tetris Shooting 게임 (교내 대회)

5.6. 2015년

  1. R을 활용한, 게임뉴스기사 텍스트 마이닝 후 워드클라우드 생성 (수행평가)
  2. 안드로이드 두더지 게임 (수행평가)

5.8. 2017년

  1. Seize The Day (iOS 특강 프로젝트 결과물)
  2. 비공개 프로젝트 (위험한 프로그램)
  3. 아이디어톤 랭킹 서비스 (모동아리에서 쓸 RubyOnRails 웹서비스)

  • ZeroWiki에 오신 것을 환영합니다. 오랜만에 전자전기공학부 사람이 들어오는군요. 많은 활동을 ZeroPage에서 같이 하면 좋겠습니다. - 박인서
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-16 14:07:47
Processing time 0.0769 sec