woniper

[Adieu 2014, 봄싹] 세미나 후기 본문

이야기

[Adieu 2014, 봄싹] 세미나 후기

woniper1 2014. 12. 1. 01:08

  봄싹은 KSUG에서 따로 분리되어 스터디 그룹으로 시작해서 커뮤니티로 발전한 커뮤니티이자 스터디 그룹이다.

2008년에 처음 시작해서 2014년까지 6년이란 시간동안 스터디를 하고 기술공유에 힘써왔다고한다. 개인적으로 봄싹이라는 커뮤니티를 알게된건 얼마되지 않았지만, 정말 보기 좋은 커뮤니티라고 생각했다. 멋진 개발자분들도 많고 여러 활동을 했다고한다. 그런 멋진 커뮤니티가 이제 공식적인 대외 활동을 멈추고 없어진다고 하여 처음이자 마지막으로 기술 공유 세미나를 열었다고 한다. 


세션 시간표

시간 

제목 

발표자 

10:00~10:30 

등록 및 입장 

 

10:30~10:40 

키노트 

김정우 

10:50~11:40 

자바 8 스트림 API 

김제준 

11:40~12:40 

점심 + 네트워킹 시간 

 

12:40~13:30 

스위프트 프로그래밍 

김다솜 

13:40~14:30 

도커 사용에 유용한 유틸리티와 팁 

신명수 

14:40~15:30 

프론트엔드 개발프로세스, 어디까지 개선할 수 있나 

변정훈 

15:40~16:30 

 Resource Handling in Spring MVC

박용권 

16:40~17:30 

Building REST API Server 

백기선 

17:40~17:50 

봄싹 회고 및 마무리 

윤군 



자바 8 스트림 API

  올해 새롭게 자바7에서 자바8로 업데이트가 됐다. 자바8에서 여러가지 많은 기능이 추가 되었는데 이번 세션에서는 스트림 API에 대한 내용이었다. 회사 프로젝트로 자바8을 살짝 써보기도 했고 자바8 책도 조금 읽어보았는데 읽는 동안 자바7을 잘 이해하고 자바8을 다시 읽어야겠다는 생각때문에 책을 끝까지 읽지 못했지만, 오늘 내용은 전반적으로 이해가 잘가는 편이였고 첫 세션이라 높은 집중력으로 재밌게 들었던 세션이다. 내용은 기존 자바7에서 filtering이나 정렬, 최대값, 최소값 같은 간단하지만 코드가 길어지는 내용을 자바8에서는 스트림을 이용해 어떻게 코드가 간단하고 쉽게 코딩 할 수 있는지를 잘 비교해 보여주었고(코드 자체로 설명은 제외하겠다.) 스트림을 이용해서 개발할때 주의할 점(예를 들면 filtering과 sorting 실행 순서의 중요성, filtering과 sorting은 코드 변경 범위가 다르기 때문에 어떤 메소드를 먼저 실행하는지에 따라 다른 결과가 나올 수 있기 때문이다.)을 이야기했다. 후반 내용은 샘플코드에 내용보다는 api를 어떻게 사용하고 어떤 api가 있는지 소개하는 정도로 마무리했다.

  일단 세션을 다 듣고 모두 이해가서 정말 좋았고 좀더 깊이 있게 공부해야겠다는 생각이 들었다. (아 그전에 자바7부터...ㅋㅋ)



점심 + 네트워킹 시간

  점심은 햄버거와 콜라를 주었다. 맛있었다. 크게 네트워킹이라기 보단 기존에 알고 계셨던 분들 오랜만에 만나서 반가워 이런저런 이야기를 한 시간이였고, 다들 여전히 열심히들 하셔서 보기도 좋고 오랜만에 근황 이야기도 하면서 재밌는 시간을 보냈다.(커피도 2잔이나 얻어 먹었다ㅋㅋ) 집에 와서 블로그에 정리하면서 이런 자리 아니면 또 언제 볼까 라는 생각이 들면서 올해도 벌써 한달밖에 남지 않았고 만나지 못했던 분들을 한분씩 찾아뵙는게 어떤가라는 생각도 들었다.



스위프트 프로그래밍

  정말 신선하고 놀라웠던 세션이다. 고3 고등학생이 심지어 여고생!!이 발표하는 세션이였다. 일단 고3 여고생이 발표한다는거에 신기했고 재밌었다. 세미나에 참석한 사람들 모두 다른 세션보다 더 크게 박수쳐주고 격려해주는 듯한 느낌에 세션이였고, 더 놀라웠던 것은 많이 떨릴텐데 라이브 코딩까지 했다는 점. 물론 많이 어려운 소스는 아닌듯했지만 이렇게 사람 많은 자리에서 라이브 코딩하는게 절대 쉬운게 아닐텐데 당차고 유머있게 잘했던 친구였다. 반대로 반성해야겠다는 생각도 많이 들었고, 나도 빨리 발표를 해봐야겠다는 생각이 들었다.

  세션 내용은 objective-c와 스위프트를 비교하면서 스위프트 언어 자체가 어떻게 쉽게 개발할 수 있는지 간단하게 보여주었고, 스위프트를 이용해 ios todo관리 앱을 간단하게 만드는 내용이었다. 중간중간 안되는 부분은 위트있게 넘어가기도 하고 "혹시 아시는분 있으세요?"라고 말하며 센스있게 발표하는 모습이 정말 인상적이였다. 솔직히 발표 내용보다는 발표 자체에 큰 의미가 있는 세션이라고 생각한다.



도커 사용에 유용한 유틸리티와 팁

  요즘 핫한 도커다. 사용해봐야겠다고 생각만하고 설치만 하고 하나도 해보지 못했던 참에 잘됐다 싶어서 집중해서 들으려했는데, 도통 무슨 말인지 잘 이해가지 않아서 집중해서 보지 못했다. 한가지 생각나는건 발표자분이 감기로 고생하고 계신다는점? 그리고 도커 자체에 장점과 개념잡는 정도는 도움이 된것 같다. 개발 환경을 통합하기에는 정말 좋은 장점이 있지만 도커 자체를 입문하는 벽이 높은것 같기도하다.  일단 도커는 나중에 해보는걸로...



프론트엔드 개발프로세스, 어디까지 개선할 수 있나

  프론트엔드를 관심있게 보고 개발하고 있지는 않지만 outsider님의 발표라 기대했던 세션이다. 개인적으로 알지는 못하지만 이런저런 활동도 많이 하시고 이분의 블로그를 구독해서 읽을 정도로 도움받는 포스팅도 많고 정리자체를 깔끔하게 잘하시는 것같다.

  발표 첫 내용중에 개발자는 게을러야 한다고 하셨는데, 게으르다는 뜻이 우리가 흔히 사용하고 이해하고 있는 게으르다는 뜻보다는 "반복해서 작업해야 하는 1시간 짜리 작업을 7~8시간을 투자해 자동화 시킨다" 처럼 같은 단어지만 다른 뜻으로 말씀하셨다.  공감가는 표현이였다. 그리고 프론트엔드 개발 생산성이나 코드 품질을 높이기 위해서 사용하기 좋은 솔루션을 많이 제시해 주셨고, 프론트엔드 개발을 거의 안해본 나로써는 정말 신기한 프로젝트가 많았다. 예를 들면 grunt watch를 이용해 백그라운드에서 계속 돌아가며 수정되는 코드를 실시간으로 감시하고 있다던지, 코드가 수정되면 자동으로 브라우저를 리로딩 시켜준다 던지 이런 프로젝트가 정말 신기하게 다가왔다. 

  발표 내용도 그렇지만 outsider님께서 발표를 잘한다고 사소한거지만 대단하다고 느꼇던 부분은 총 5가지 기능을 설명하면서 기능별로 프로젝트 폴더 구조를 쪼개 놓으셨는데, 터미널에서 폴더 구조를 쉽게 알아보기 위해서 기능별 이름 앞에 번호를 붙여서 빠르게 폴더에 접근할 수 있게 만들어 놓으셨다. 무슨 말인가 하면 5개의 프로젝트에 폴더 이름을 "01-grunt" 이런식으로 만들어 놓으셨다. 터미널을 쓰는 사람은 알겠지만 저런 폴더명으로 돼있는 경우에 01만 입력하고 tab을 누르면 01을 포함한 이름이 자동으로 입력된다. 그렇기 때문에 01, 02, 03, 04, 05 기능 모두 "프로젝트 숫자 + tab"만 누르면 빠르게 폴더 전환이 가능하다는 것이다. 사소 한것 같지만 내 생각엔 그 사소함 차이에서 발표 능력에 차이가 생기는 것 같다.(시간은 약간 넘기셨지만ㅋㅋ) 아무튼 발표 기술에 대해서도 배우게 되는 세션이였다.



Resource Handling in Spring MVC

  처음 세션 제목을 보고 Resource Handling이란 주제로 어떤 내용을 발표하실까 궁금했고 기대했다.

  발표 내용은 실제 Spring 프로젝트를 진행하면서 백엔드와 프론트엔드를 분리해서 작업하면서 격었던 경험 공유였고, 단순히 백엔드를 Restful로 구현한게 아니라 일반 프로젝트처럼 구성하되 프론트엔드를 분리하므로써 분리되어있는 프로젝트의 Resource를 어떻게 Handling하는지를 정리해주셨다. 일단 백엔드와 프론트엔드를 분리해서 개발함에 있어 장점은 의존되어 개발하지 않아도 된다는 점이다. 백엔드는 백엔드만, 프론트엔드는 프론트엔드만 집중해서 개발이 가능하다는 큰 장점이 있다. 개발은 분리해서 개발하고 배포 시점에 통합되어 resource handling하는 방식이다. 실제로 프론트엔드 프로젝트 자체도 java프로젝트로 구성되었고 java프로젝트로 구성된 이유는 jar파일로 묶어서 실제 배포시에는 백엔드와 함께 내장되어 배포되기 때문이라고 하셨다.(농담인지는 모르겠지만 실제로 프론트엔드 개발자들이 아직도 이게 java프로젝트라는걸 모를 수도있다고...) 이런식으로 프로젝트를 구성하기 위해서는 제대로 통합되기 위해서 각 프로젝트마다 설정을 해주어야한다.(정확히는 나도 잘 모르겠지만)

  아무튼 이번 세션은 조금 신선한 주제였다. 내가 지금까지 생각한 백엔드와 프론트엔드를 분리해서 개발하기 위해서는 백엔드는 Restful로 구성되고 프론트엔드에서 백엔드 Rest를 이용해서 개발하는 것만 생각했었지, 이런식으로 프로젝트를 분리, 통합은 생각해보지 못한 구조였다. 무엇보다 재밌어 보이기도하고 좋은 방법이라고 생각도된다.




Building REST API Server

  개인적으로 가장 기대되는 세션이였다. 이유는 일단 백기선님을 드디어 보게된다는 점 그리고 요즘 가장 관심있게 보고 있는 내용이기 때문이다.

  발표 내용은 Spring Boot + Spring Data JPA + Spring Security 프로젝트 생성과 Rest API 개발, 테스트까지 라이브 코딩으로 진행되었고, 개발환경이 똑같이 맞춰있는 사람은 같이 코딩하는 시간이였다. 내가 가장 마지막까지 쫒아가긴 했는데 너무 빠르게 진행하셔서 중간에 포기했다ㅋㅋ 

  요즘 개인적으로 가장 관심있게 보고 있는 3개의 프로젝트로 어떻게 Rest API를 구성할까 궁금했고 이미 회사 프로젝트로 간단하게 개발된 구성이여서 크게 어렵거나 무리는 없었다. Spring Boot는 기존에 java Config나 xml Config를 이용해서 설정하던 Spring프로젝트를 거의 설정없이 기본적인 설정은 default로 되어있는 프로젝트고 JPA는 ORM 기술이고 관심은 있지만 깊게는 공부해보지 못한 부분이다. Security 또한 그렇다. 한가지 아쉬웠던 점은 시간이 너무 없어서 발표 내용을 끝까지 다 못해주셨던 점이 크게 아쉬웠다. 사실 앞 부분 라이브 코딩 내용보다는 뒷부분이 더 궁금한 내용이였다. 소스를 공유해 주신다고 했으니 그걸 참고하도록 해야겠다.


마무리

  개인적으로 봄싹에서 진행되는 스터디에 한번도 참가해보지 못하고 봄싹이 없어지는 것에 대해 많이 아쉽다. 내년 큰 목표중에 하나가 오래 지속될수 있는 스터디팀을 만드는 것인데, 내가 생각하는 이상적인 스터디팀이 봄싹이 아닌가 생각된다. 마지막 봄싹 스터디를 하면서 발자취를 영상과 사진으로 보여주었는데 정말 멋진 분들이다. 그리고 그 긴 시간동안 정말 미친듯이 스터디를 했다고 하셨는데 나도 그렇게 미친듯이 스터디해서 공유하고 싶다.

  그리고 정말 감사하게 스티커를 주셨다. 안녕 "봄싹!!"


'이야기' 카테고리의 다른 글

애지중지 맥북프로  (0) 2015.03.14
2014년 정리  (0) 2014.12.17
[Adieu 2014, 봄싹] 세미나 후기  (2) 2014.12.01
[OSS개발자포럼 세미나] 세미나 후기  (0) 2014.06.29
[교육] OLC 안드로이드 Instagram 만들기 3일과정  (2) 2014.02.19
2013년 정리....  (0) 2013.09.04
2 Comments
  • 프로필사진 BlogIcon 백기선 2014.12.08 14:48 아 그 제 기준으로 오른쪽 앞에서 인텔리J로 끝까지 따라오시던 분인가요? ㅋㅋㅋ

    이건 제가 발표 준비할 때 만들어 둔 프로젝트(완성형?)
    https://github.com/keesun/moim-sample

    이건 발표 했던 부분까지 코딩해둔 프로젝트 입니다.
    https://github.com/keesun/adiue2014-moim

    참석해 주시고 후기 작성해 주셔서 감사합니다.
    스터디 번창하시고 즐거우시길 바랍니다.
  • 프로필사진 BlogIcon woniper1 2014.12.08 16:12 신고 안녕하세요ㅋㅋ
    어떻게 찾아서 여기까지 오셨나요. 반갑습니다!!
    깃에서 프로젝트도 잘 봤고 세미나때 발표도 잘봤습니다.
    다음에 뵈면 인사드릴게요!! 감사합니다.^^
댓글쓰기 폼