Skip to main content

[GDG Seoul] OSS/Github 입문 CodeLab 후기

작년 이맘때 쯤, GDG Android Korea 에서 CodeLab 을 진행 했었는데, 올해는 GDG Seoul 에서 진행한 "OSS/Gitub 입문 CodeLab" 이란 타이틀로 CodeLab 을 진행하여 참가하게 되었다.

git 이나 Github 를 처음 사용하는건 아니였지만, 거의 SVN 처럼 사용 해 온지라, "이참에 재대로 한번 배워보자!" 하는 맘이 컸고, 다른 분들은 어떻게 Github 를 사용하시는지도 궁금했다.

CodeLab 은 크게

- OSS 에 대한 설명 및 Newbi 를 위한 Tutorial
- Github 및 git 에 대한 Tutorial
- CodeLab

순으로 진행 되었다. (딱히 순서에 이름이 없는것 같아서 임의로 붙였다.)

1. OSS 에 대한 설명 및 Newbi 를 위한 Tutorial (뉴비X 님) (슬라이드 링크)



OSS (Open Source Software) 에 대한 간략한 소개와 Linux Kernel 를 예로 Contribute 하는 방법에 대한 이야기를 들을 수 있었다.

Android 의 경우만 해도 여러 open source library 의 도움으로 좀더 편하고 쉽게 App 개발을 진행 할 수 가 있는데, 사용하면서 개선한 사항에 대해서 내가 코드에 기여할 수 있겠다. 라는 생각이 많이 들었다. 특히 Newbi 를 위한 주의해야 할 사항이 인상깊었는데,

간단하게 요약 하자면,

- coding Style

- You are just a newbi here- start from jab 
(작은 것 부터 시작하자.. 조그마한 작업부터, 혹은 리뷰…)

- commit log style

- summarized title on First Line

- just \n on Second Line- Detailed log after 3rd Line

이정도가 아닐까 싶다. 특히, 의욕이 너무 지나쳐서 너무 많은 것을 커밋하려고 하면 그것도 문제니 작은것부터 차근차근 익숙해 지는게 중요하다는 내용이 핵심.
예전에 다른 프로젝트에 contribute 했다가 까인 경험이 있어, 소심해 진 적이 있었는데, 차근차근 다시 도전해 봐야겠다 라는 생각이 들었다.

2. Github 및 git 에 대한 Tutorial (지나가는 삽질러 님) (슬라이드 링크)

처음 부분까지는 괜찮았는데.. 뒤로갈수록 난이도가 갑자기 높아져서 맨붕을 일으킨 세션.
역시 rebase 와 merge 가 문제였는데.. 열심히 질문할껄 끝나고 나서 후회했다ㅠ
슬라이드를 공유해 주셔서 자세한설명은... 생략..(절대로 잘몰라서 설명 안한게 아님.)

3. CodeLab

다들 자신 없어 하시는거 같았는데 막상 시작하니 전부 쉬지도 않고, 계속해서 pull request & issus 생성... 처음에는 어떻게 수정해서 올릴까 고민하다가 올라오는 issus 와 pull request 를 보고는 당황... 난 점수를 얻기위해.. 코드보다는 주변 환경에 신경쓰는 전략을 짜고 README.md 와 gradle.build 를 공략했다.

다행히 gradle build 는 out of 관심 중 하나여서..main code 에 적용 성공! issue 를 먼저 생성하고 올렸더라면 1점 더 받을 수 있었는데ㅠ

다행히 main code 에 등록!

한번 등록에 성공한 다음부터는 좀 더 공격적으로 진행했다. LICENSE 를 추가하자! 라는 목표로 pull request 를 날렸는데.. 아래와 같은 답변이 달렸다.


rebase...rebase...rebase... 여기서부터 삽질이 시작되었다. commit 을 하려고 해도 에러가 계속나고.. 결국 튜터님들의 도움으로 간신히 push 직전까지 갔는데... 튜터님께서 뒤돌아서 가시는 순간.. pull 을 해 버렸다... OTL....

그리고 다시 conflict... 이런 상황을 다시 몇번 반복... 간신히 pull request 를 했지만.. merge 되기전에 codelab 은 아쉽게도 종료 ㅠ

막판 rebase 덕에 삽질한 흔적...

codelab 이 끝나고 간단한 질의응답 시간 후, 점수합계 및 훈훈한 점수 기증까지 이어지고,
2등에게는 특별한 부상을 하사 하신후 오늘 시간을 마무리 하였다. (사실 난 술을 못하니까... 라며 위로했지만 마셔보고 싶었는데 ㅠ)

나중에 집에와서 보니 짧은 시간동안 피튀기는 전쟁을 했음을 알 수 있었다.

39 open 에 28 close 라니...

codelab을 하면서 git 의  branch 를 활용하여 (topic branch) 작업하지 않고 master 에 모든 작업을 행한게 상당히 아쉬웠다. 이왕 하는거 늦더라도 좋은 습관을 좀 익혔어야 했는데.. 점수에 눈이 멀어서ㅠ
그리고 rebase 에 대해서 이해를 충분히 하지 못한것도 아쉬운 점 중 하나였다. 물론 이번 시간만으로 rebase 를 마스터 하긴 불가능 했지만, 좀더 질문을 많이 했어야 했는데.. 아는게 없다보니 ㅠ

그래도 여러 좋은 팁들을 얻어갈 수 있는 매우 유익한 시간이였다. 이번 시간을 계기로 좀 더 git 과 친해지고 더 열심히 공부하게 될 계기를 얻게 된거 같다. 또한, 앞으로 Github 을 사용할때마다 어떻게 하면 내 코드를 추가할 수 있을까? 하는 생각을 하게 될 것 같다.

그리고.. 오늘의 득템..

오늘 얻은 스티커! bower 는 마지막 한장 남을걸 get!

ps1. 혼돈의 흔적들.. (링크)




Comments

Popular posts from this blog

[Googe I/O 2014] 국산 재료로 Cardboard 만들기!

올해 Google I/O 에서 가장 흥미있었던 내용중 하나가 바로 Cardboard 였다고 한다. 사실 난 Android L Preview 와 Material Design 에 때문에 상대적으로 이녀석을 홀대하고 있었는데, 회사 선임님께서 요놈이 얼마나 대단한 녀석인이 알려주신 덕분에 관심을 갖게 되었다. 더군다나 제작 방법은 물론 Libraray 까지 제공하다니... 그래서 바로 만들기로 결정. 우선 아래 사이트를 참고하자. 1. Reference SIte - Cardboard 제작 - Cardboard API 사이트를 들어가면 친절하게 구매할 수 있는 사이트까지 링크되어 있으나...전부 아마존. 참고로 이 글을 쓰고 있는 지금까지 아마존에서 주문한 렌즈를 받지 못했다.(한 2주 된듯.) 그래서! 결국 국내에서 파는 제품들로 꾸려보기로 했다. 순수 국내산으로~ 이미 nurinamu 님 께서 블로깅을 하셨지만... 여튼. 필수 재료는 아래를 참고하자. 2. 국내에서 구입한 재료 목록 1)  렌즈 - 양면 볼록 렌즈 : 유리 / 직경 : 30mm / 초점거리 : 46mm (한알당 3,300원) 2)  자석 - 네오디움 원형사라 자석 : 지름 : 20mm / 두께 4T (1,460원) - 페라이트 자석 : 지름 : 20mm / 두께 5.0mm (2,000원) 3)  골판지 - 택배 박스 사용 (0원) NFC 는 집에서 저장할 방법도 없으니 Pass. 고무줄이나 밴드는 취향에 맞게... 사실 도면도 공개되어 있고, 재료만 구하면 만드는건 쉽다. 굳이 설명을 하자면... 자르고... 자르면 ... 골격완성! 그리고... 오랜 기다림 끝에 결국 받지못한 아마존 렌즈를 뒤로하고, 국내 사이트에서 주문한 렌즈를 끼워주면... (국내산 렌즈는 오전에 주문하고 다음날 점심에 바로 겟.) 이렇게 완성! 개인적으로 신기했던 것중 하나가 자석을 사용한다는 것

[Tip] Android Studio, Intellij 에서 Source Code Pro font 적용

예전에 코딩할 때 좋은 폰트 에 Source Code Pro 가 1등으로 선정된 것을 본 적이 있다. 그전까진 나눔고딕코딩 을 자주 썼는데, Source Code Pro 를 쓰면서 가독성이 좀더 향상된 것을 느낄 수 있어 요즘 주력 폰트로 사용 하고 있다. 그런데 Mac에서는(윈도우는 어떨지 모르겠지만...) Eclipse 나 Xcode 에서는  문제없는 이 폰트가 유독 Intellij 혹은 Android Studio 에서는 폰트 설정 시, 이탤릭체가 깨지는 문제가 발생하고 있다. 폰트 설치 후, Intellij 에 적용하면 아래와 같이 이텔릭 채 부분에서 깨지기 시작한다. 이같은 문제는 이미 Source Code Pro Github issue 에 등록되어 있는데, issue 에서 가이드 하는 수정방법은 다음과 같다. 먼저 Source Code Pro Font 를 다운받고, 설치하자. Source Code Pro Font 다운로드   그 후 아래 폴더로 이동하자. /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/fonts 위 경로에 Source Code Pro 의 TTF 에 포함되어 있던 폰트들을 모두 복사하여 붙여넣는다. 그리고 Intellij (혹은 Android Studio) 를 재부팅 후, 다시한번 폰트를 설정하러 들어가면 아래와같이 폰트들이 나타나는것을 확인 할 수 있다. 개인적으로 Medium 을 선호하기 때문에 Medium 을 선택. 그러면 아래처럼 정상적으로 출력됨을 확인할 수 있다.

[리뷰] 러스트 핵심 노트

C 와 C++ 의 성능을 보이면서 동시성 문제를 좀 더 쉽게 처리할 수 있는 언어에 대한 소개가 종종 이루어 지곤 하는데 최근까지 이러한 분야에서 가장 두드러진 활약을 보이는 언어를 꼽으라면 단연 Go 와 러스트 를 꼽을 수 있을 것입니다.  [러스트 핵심 노트] 는 예제를 통해 제목 그대로 러스트의 핵심 부분을 설명하면서 러스트란 언어란 이런 언어다 라고 소개하고 있습니다. [러스트 핵심 노트] 는 언어 입문서에 가깝기 때문에 러스트 언어를 세세하게 설명하지는 않습니다. 그러나 러스트가 가지고 있는 특징들을 잘 설명하고 있어 새로운 언어가 나와서 흥미를 느끼시는 분들이 가볍게 읽을 수 있는 책이라 생각 됩니다. 다만 중간 중간 오타가 눈에 띄기 때문에 (원서도 같은 오류가 있었습니다.)  추가적으로 검색을 해 보거나 한빛 미디어 사이트에서 오탈자를 반드시 확인할것을 추천 드립니다. (http://www.hanbit.co.kr/realtime/books/book_view.html?p_code=E2088508957) 책 분량은 많은 편은 아니지만 내용은 절대 가볍지는 않습니다. 앞에서 이야기 했듯이 러스트를 빠르게 살펴본 다음 토이프로젝트를 하고자 하시는 분께는 좋은 시작점이 될 것입니다.