Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Content Zone

Table of Contents


대규모트래픽 분산처리를 위한 자바 서버개발 시즌3

1. introduce spring cloud
2. Message driven spring cloud stream with rabbitmq
3. API Gateway with spring cloud gateway
4. discovery pattern with eureka
5. API Client with ribbon / Feign Client
6. monitoring with micrometer
7. spring cloud config 

...


Flutter(AOS, IOS 앱제작)

- 구글에서 나온 flutter
- 안드로이드와 아이폰앱을 동시에 만들 수 있음
- Dart 기반

- (1) 환경구성 및 Hello World
- (3) Dart 기본 학습
- Flutter coolbook
- (3)기본 기능 앱만들기 (todoList, 계산기)
- (3)Flutter Firebase 등 응용 앱 만들 프로젝트 배포

...


이펙티브 자바 3/E

이펙티브 자바 3/E 실무적용

이펙티브 자바 3/E 책 스터디이며 책의 내용을 학습하는 동시에 학습한 내용을 실무에 적용해본 경험을 각자 공유하는 방식으로 진행합니다.

총 12장으로 이뤄진 내용을 주차별로 2개 챕터씩 학습합니다.

이펙티브 자바 3

1주차


2장 객체 생성과 파괴 
아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라 
아이템 2. 생성자에 매개변수가 많다면 빌더를 고려하라 
아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라 
아이템 4. 인스턴스화를 막으려거든 private 생성자를 사용하라 
아이템 5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 
아이템 6. 불필요한 객체 생성을 피하라 
아이템 7. 다 쓴 객체 참조를 해제하라 
아이템 8. finalizer와 cleaner 사용을 피하라 
아이템 9. try-finally보다는 try-with-resources를 사용하라

3장 모든 객체의 공통 메서드 
아이템 10. equals는 일반 규약을 지켜 재정의하라 
아이템 11. equals를 재정의하려거든 hashCode도 재정의하라 
아이템 12. toString을 항상 재정의하라 
아이템 13. clone 재정의는 주의해서 진행하라 
아이템 14. Comparable을 구현할지 고려하라

2주차
4장 클래스와 인터페이스 
아이템 15. 클래스와 멤버의 접근 권한을 최소화하라 
아이템 16. public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라 
아이템 17. 변경 가능성을 최소화하라 
아이템 18. 상속보다는 컴포지션을 사용하라 
아이템 19. 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라 
아이템 20. 추상 클래스보다는 인터페이스를 우선하라 
아이템 21. 인터페이스는 구현하는 쪽을 생각해 설계하라 
아이템 22. 인터페이스는 타입을 정의하는 용도로만 사용하라 
아이템 23. 태그 달린 클래스보다는 클래스 계층구조를 활용하라 
아이템 24. 멤버 클래스는 되도록 static으로 만들라 
아이템 25. 톱레벨 클래스는 한 파일에 하나만 담으라

5장 제네릭 
아이템 26. 로 타입은 사용하지 말라 
아이템 27. 비검사 경고를 제거하라 
아이템 28. 배열보다는 리스트를 사용하라 
아이템 29. 이왕이면 제네릭 타입으로 만들라 
아이템 30. 이왕이면 제네릭 메서드로 만들라 
아이템 31. 한정적 와일드카드를 사용해 API 유연성을 높이라 
아이템 32. 제네릭과 가변인수를 함께 쓸 때는 신중하라 
아이템 33. 타입 안전 이종 컨테이너를 고려하라


3주차

6장 열거 타입과 애너테이션 
아이템 34. int 상수 대신 열거 타입을 사용하라 
아이템 35. ordinal 메서드 대신 인스턴스 필드를 사용하라 
아이템 36. 비트 필드 대신 EnumSet을 사용하라 
아이템 37. ordinal 인덱싱 대신 EnumMap을 사용하라 
아이템 38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라 
아이템 39. 명명 패턴보다 애너테이션을 사용하라 
아이템 40. @Override 애너테이션을 일관되게 사용하라 
아이템 41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라

7장 람다와 스트림 
아이템 42. 익명 클래스보다는 람다를 사용하라 
아이템 43. 람다보다는 메서드 참조를 사용하라 
아이템 44. 표준 함수형 인터페이스를 사용하라 
아이템 45. 스트림은 주의해서 사용하라 
아이템 46. 스트림에서는 부작용 없는 함수를 사용하라 
아이템 47. 반환 타입으로는 스트림보다 컬렉션이 낫다 
아이템 48. 스트림 병렬화는 주의해서 적

4주차

8장 메서드 
아이템 49. 매개변수가 유효한지 검사하라 
아이템 50. 적시에 방어적 복사본을 만들라 
아이템 51. 메서드 시그니처를 신중히 설계하라 
아이템 52. 다중정의는 신중히 사용하라 
아이템 53. 가변인수는 신중히 사용하라 
아이템 54. null이 아닌, 빈 컬렉션이나 배열을 반환하라 
아이템 55. 옵셔널 반환은 신중히 하라 
아이템 56. 공개된 API 요소에는 항상 문서화 주석을 작성하라

9장 일반적인 프로그래밍 원칙 
아이템 57. 지역변수의 범위를 최소화하라 
아이템 58. 전통적인 for 문보다는 for-each 문을 사용하라 
아이템 59. 라이브러리를 익히고 사용하라 
아이템 60. 정확한 답이 필요하다면 float와 double은 피하라 
아이템 61. 박싱된 기본 타입보다는 기본 타입을 사용하라 
아이템 62. 다른 타입이 적절하다면 문자열 사용을 피하라 
아이템 63. 문자열 연결은 느리니 주의하라 
아이템 64. 객체는 인터페이스를 사용해 참조하라 
아이템 65. 리플렉션보다는 인터페이스를 사용하라 
아이템 66. 네이티브 메서드는 신중히 사용하라 
아이템 67. 최적화는 신중히 하라 
아이템 68. 일반적으로 통용되는 명명 규칙을 따르라

5주차
중간 세미나

6주차
10장 예외 
아이템 69. 예외는 진짜 예외 상황에만 사용하라 
아이템 70. 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라 
아이템 71. 필요 없는 검사 예외 사용은 피하라 
아이템 72. 표준 예외를 사용하라 
아이템 73. 추상화 수준에 맞는 예외를 던지라 
아이템 74. 메서드가 던지는 모든 예외를 문서화하라 
아이템 75. 예외의 상세 메시지에 실패 관련 정보를 담으라 
아이템 76. 가능한 한 실패 원자적으로 만들라 
아이템 77. 예외를 무시하지 말라

11장 동시성 
아이템 78. 공유 중인 가변 데이터는 동기화해 사용하라 
아이템 79. 과도한 동기화는 피하라 
아이템 80. 스레드보다는 실행자, 태스크, 스트림을 애용하라 
아이템 81. wait와 notify보다는 동시성 유틸리티를 애용하라 
아이템 82. 스레드 안전성 수준을 문서화하라 
아이템 83. 지연 초기화는 신중히 사용하라 
아이템 84. 프로그램의 동작을 스레드 스케줄러에 기대지 말라


7주차
12장 직렬화 
아이템 85. 자바 직렬화의 대안을 찾으라 
아이템 86. Serializable을 구현할지는 신중히 결정하라 
아이템 87. 커스텀 직렬화 형태를 고려해보라 
아이템 88. readObject 메서드는 방어적으로 작성하라 
아이템 89. 인스턴스 수를 통제해야 한다면 readResolve보다는 열거 타입을 사용하라 
아이템 90. 직렬화된 인스턴스 대신 직렬화 프록시 사용을 검토하라

8주차
회고

이펙티브 자바 3E 읽기

자바 7,8,9의 특징들을 살펴봅시다.
책의 완독보다 내용을 이해하고 스터디원들의 생각을 공유하는 것이 목표입니다.

이펙티브 자바 3판 읽기

1주차 - 소개 및 1~3장
- 팀원 소개
- 객체 생성과 파괴
- 모든 객체의 공통 메서드
2주차 - 4장
- 클래스와 인터페이스
3주차 - 5장
- 제네릭
4주차 - 6~7장
- 열거 타입과 에너테이션
- 람다와 스트림
5주차 - 중간세미나
6주차 - 8장
- 메서드
7주차 - 9~10장
- 일반적인 프로그래밍 원칙
- 예외
8주차 - 11~12장
- 동시성
- 직렬화
9주차 - 총평

이펙티브 자바 3판 효과적으로 읽기

자바 6까지 다루던 이펙티브 자바 2판이 자바 7, 8, 9를 다루기 위해 3판으로 다시 돌아왔습니다. 그동안 객체 지향에 치중하던 자바에 새로 도입된 함수형 프로그래밍 요소도 자세히 알아봅니다.
- 자바 8, 9에서 새로 다룬 내용이 과연 무엇인지 비교 정리하며 스터디를 진행합니다.
- 기존 2판에서 다루던 내용보다 3판에서 새로 다루는 내용에 많은 시간을 편성합니다.
- 2명 씩 조를 나누고 돌아가면서 각 주차의 주제에 대해 공부 후 발표하는 식으로 진행합니다.

1주차 : 1장 들어가기, 2장 객체 생성과 파괴 읽기
2주차 : 3장 모든 객체의 공통 메서드 읽기, 4장 클래스와 인터페이스 읽기
3주차 : 5장 제네릭 읽기, 6장 열거 타입과 애너테이션 읽기
- Java Enum 활용기 (http://woowabros.github.io/tools/2017/07/10/java-enum-uses.html)
4주차 : 7장 람다와 스트림 읽기
5주차 : 중간 세미나
6주차 : 8장 메서드, 9장 일반적인 프로그래밍 원칙 읽기
7주차 : 10장 예외, 11장 동시성 읽기
8주차 : 12장 직렬화 읽기
9주차 : 회고

...

해외 개발 컨퍼런스 시청

해외 개발 관련 컨퍼런스를 유투브 등을 통해 함께 시청하고 토론 혹은 정보 공유


...


실무 파이썬 디자인 패턴

제가 회사에서 파이썬으로 주식데이터를 수집하고 분석해서 모의로 과거 데이터를 테스트 하는 등의 일을 하고 있는데요, 이런 일들은 굉장히 절차지향적이다보니 객체 지향적으로 프로그래밍 하는데 어렵더라구요( 제가 못해서 ). 저랑 비슷한 고민을 할 분들과 함께 스터디를 해보면 어떨까 합니다.
언어를 파이썬으로 쓰기 때문에 크게 2개로 진행이 됩니다.
1. 책 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=102151688&start=we 내용을 먼저 공부할 예정입니다. 공부 방식은 각자 챕터별로 내용을 정리하고 모여서 실습 내용을 따라하고 느낀 점을 공유하기. ( 4주 * 4단원 = 16~18단원 ) 4명 이상만 모이면, 1단원씩 해오기 입니다.
2. 몇 가지 데이터를 수집하고 모의로 주식을 거래하고 수익을 계산해보는 시뮬레이터를 리팩토링하기입니다. 같이 프로그래밍을 하면 좋겠지만, 그러기엔 한정된 시간에 많은 내용을 많이 작성하기 어려워서 이미 작성해놓은 코드를 리팩토링 하려고 합니다. 또한, 몇 가지 요구사항도 이미 여러번 필요했던 요구사항을 실제로 반영해보려 합니다.
2-1) finance.naver.com 등 웹에서 데이터를 수집하는 크롤러를 리팩토링 합니다.
2-2) 주식 혹은 ETF를 거래하는 로직을 리팩토링 합니다.
2-3) 사용자의 기능에 맞는 웹 페이지와 기능을 리팩토링 합니다. (차트 그리기 등..)
2-4) 과거 데이터에 기반해서 해당 로직을 평가하는 시뮬레이터를 리팩토링합니다.

스터디 설계 목적)
0 - 파이썬으로 객체지향적으로 프로그래밍을 공부해보자 ( Java 와는 또 다른 언어 설계로 새로이 공부해볼만한 영역이 많습니다. 신기한 접근법도 많구요 ) 주 언어가 파이썬이 아닌데, 파이썬을 좀 깊게 다뤄볼 기회가 아닐까요.
1 - GoF 의 Design Pattern 에 대해서 공부하면서 코드에 적용해보자.
2 - 간단한 프로그램에서 Enterprise Architecture Pattern 에서 다루었던 내용들을 적용할 수 있는 부분이 있을까를 같이 고민해봄
3 - 객체 지향 생활 체조 같은 내용들을 적용해보면서 코딩을 하거나 고칠 수 있을까?
4 - 금융권에서 다루는 데이터 방식이란 어떤 것일까? (저도 다 아는건 아니지만 제가 아는한 다 공유하려 합니다. 생각보다 별게 없습니다.. )" "두 가지 주제 중에 하나로 고민하려 했는데, 하나는 오픈소스 컨트리뷰트 도전하기 인데, 지난번에 스터디 리더를 하면서 뭔가 아주 명확하고 달성가능한 목표가 있어야 스터디를 운영하기 더 쉽다고 느껴서 목표를 굉장히 명확하게 잡으려고 노력했고, 오픈소스 컨트리뷰트 해보기 ( 번역이나 오탈자 말고 실제 버그 수정 )를 고민했으나, 당장 실력이 아직도 많이 부족한 것 같아 실력을 늘리는 스터디로 하려고 합니다.
리팩토링할 코드는 전부 제가 짰던 막장 코드이니 예는 얼마나 코드를 못 짜나?를 구경하면서 힐링할 목적으로 참가하셔도 좋겠습니다 와주셔서 많은 훈수질 부탁드립니다....

...


Elastic Search

elastic search

1주차 : 일래스틱 스택 소개, 시작하기
2주차 : 유사도 검색
3주차 : 일래스틱서치 분석
5주차 : 데이터 분석
6주차 : 로그스태시를 활용한 데이터 파이프라인 구축
7주차 : 키바나를 활용한 데이터 시각화
8주차 : 일래스틱 엑스팩
9주차 : 일래스틱 스택 운영 환경에 적용하기

Elastic과 함께

참고도서, 구글링을 통해서 얻은 정보를 잘 정리해서 발표!! 검색하면 90%

1주차 : ElasticSearch 소개 및 설치
2주차 : Elastic 제품군 알아보기 & 사용하기
3주차 : ElasticSearch 개념 소개 [ Index, Mapping, search... ]
4주차 : ElastisSearch Query 심화1
5주차 : ElastisSearch Query 심화2
6주차 : Log 데이터를 활용한 기본 아키텍처 구현 및 실습
7주차 : Log 데이터를 활용한 심화 아키텍처 구현 및 실습
8주차 : 팀 사용기 + 활용방법 / 머신러닝을 활용한 이상징후 탐지

여유시간이 있을경우 진행하면 좋은 내용들
- 클러스터, 보안, 형태소분석

공식 문서 : https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
참고 도서 : http://book.naver.com/bookdb/book_detail.nhn?bid=8769630
번역글 : https://iju707.gitbooks.io/elasticsearch/content/


...


JPA

- 개요 : JPA에 대해 학습과 페어 프로그래밍을 통해 습득한다. (1주 학습, 1주 페어 프로그래밍)
- 진행
1~2주차 : JPA에 대한 기본 사용법
3~4주차 : 엔티티 및 연관관계 매핑
5주차 : 중간발표
6~7주차 : 영속성
8~9주차 : 스프링환경에서의 JPA

...


ReactiveX 누구냐 넌??

우리는 왜 ReactiveX를 배워야 할까요?
- 비동기 작업을 더욱 쉽게
- java 6,7 과 같이 Stream이 없는 경우 수많은 Operator들을 통한 데이터 변형
- 콜백 지옥 탈출
- back-pressure 지원
- 쓰레드 관리

단점을 따지면 ReactiveX는 상당히 급격한 러닝커브를 가지고 있어서 온전히 자신의 것으로 만들기에는 굉장한 노력이 따릅니다.
하지만 의외로 Rx는 러닝커브의 높은 꼭대기를 정복하지 않더라도 일부만 알아도 Rx를 적재적소에 활용할 수 있습니다.
심지어 Rx에서는 구독하는 방식대신에 `blockingXxx()`, `toBlocking()`를 통해서 우리가 익숙한 Pull 방식으로 데이터를 받을 수도 있습니다.
이 스터디에서는 Rx에 입문하고 반응형 프로그래밍의 세계에 한 발을 걸치는 것을 목표로 합니다.

스터디는 다음과 같이 진행합니다.
1. 페어 프로그래밍 (2, 3명)
2. 매 주마다 주제를 하나씩 정한다.
- 중간에 스터디를 빠져도 참여하는 데에 문제없을 정도의 주제
- ex. 'Rx를 통해서 콜백 지옥을 어떻게 피할 수 있을까?', 'blocking 형태로 작동하는 기존코드를 어떻게 리팩토링할까?'
3. 앞 한시간은 해당 주제에 대해서 공식문서나 관련 문서들을 통해서 학습하고 코드를 작성합니다.
4. 남은 한시간에 해당 주제에 대해서 서로의 의견을 공유하거나 작성한 코드가 있다면 코드 리뷰를 진행합니다.

...


클라우드 네이티브 자바

클라우드가 기본인 시대에 필요한 스프링 기술들을 습득해보자!

클라우드 네이티브 자바 책을 기본으로 진도를 나가고 스터디원은 주차별 맡은 분량을 발표한다.

1 클라우드 네이티브 애플리케이션 & 스프링부트
2 12요소 애플리케이션 설정 & 테스트 & 애플리케이션 마이그레이션
3 REST API
4 라우팅 & 엣지서비스
5 데이터관리 & 메시징
6 배치 처리와 태스크 & 데이터 통합
7 관측가능한시스템
8 서비스 브로커 & 지속적 전달

...

MSA를 위한 스프링 클라우드

-마이크로서비스 아키텍처 개념 학습
-일반적인 스프링 부트 웹 애플리케이션을 스프링 클라우드, 스프링 리액티브 기술을 활용해서 마이크로서비스로 만들어가는 과정 학습
-마이크로서비스 적용 시 신경 써야 할 로깅, 모니터링
-도커 컨테이너 기술을 활용해서 마이크로서비스와 데브옵스를 잘 조합하는 방법

1주차 마이크로서비스 관련 아키텍처 스타일
2주차 스프링 부트로 만드는 마이크로서비스
3주차 스프링 클라우드 컴포넌트를 활용한 마이크로서비스 확장
4주차 마이크로서비스 로깅 및 모니터링
5주차 Spring Cloud Netflix, Spring Cloud Gateway
6주차 도커 컨테이너와 마이크로서비스
7주차 메소스와 마라톤을 이용한 도커화된 마이크로서비스 확장
8주차 실습

학습교재
[스프링 5.0 마이크로서비스 2/e ](http://www.yes24.com/24/goods/58255540?scode=032&OzSrank=1)
[클라우드 네이티브 자바](http://www.yes24.com/24/goods/61788283?scode=032&OzSrank=8)" 일체형 APPLICATION에서 R&R의 MSA는 필수적인 패러다임입니다. MSA를 적용할 수 있도록 Zuul, Euraka, Ribbon, Hystrix, Gateway를 학습하여 실습까지 진행해봅니다.

...

IT 책읽기

이펙티브 자바 3탄 & 클라우드 네이티브 자바
빠르게 읽으려고 합니다. 최소 2권을 읽고 싶네요.
주차별 진행은 책 범위 확정 후 함께 하면 될듯 합니다.

읽고 싶은 책들이 있는데 혼자서 보다보니 진도가 잘 안나가네요.
함께 읽으면 좀 더 잘 볼수 있지 않을까요?

...

자바 실무 디자인패턴(with Lambda)

1. 목표
> 전통적인 OOP 개발 패턴을 이해하고 함수형 패러다임을 적용하여 실무에 즉각 응용할 수 있도록 한다.
* 개발자간의 의사소통 원할
* 재사용 및 유지보수성 증가

2. 커리큘럼
1. 실무에서 사용되는 디자인 패턴 공유.
2. Lambda식과 functional interface
3~7. 디자인패턴 소개, 활용, 람다식 적용
3. GoF - Creational
> * Factory Method
> * Abstract Factory
> * Builder
> * Prototype
> * Singleton

4. GoF - Structural1
> * Adapter(class)
> * Adapter(Object)
> * Bridge
> * Composite

5. GoF - Structural2
> * Decorator
> * Facade
> * Flyweight
> * Proxy
> * Visitor (behavioral)

6. GoF - Behavioral1
> * Interpreter
> * Template Method
> * Chain of Responsibility
> * Command
> * Iterator

7. GoF - Behavioral2
> * Mediator
> * Memento
> * Observer
> * State
> * Strategy

8. 자주 사용되는 디자인 패턴 실습

...

SpringBoot with Spring

Spring+SpringBoot에서 사용하는 다양한 echo system 연동 모듈들에대한 밴치마크 및 데모
- spring+springboot에서 사용되는 redis(jedis, lettuce)나 db연동 connection pool(dbcp,bonecp, hikari) 등 외부와 연동하는 라이브러리들을 비교하고 실습하면서 어떤 경우 어떤 라이브러리가 적정 할지 논의 해본다.
1주차 - spring boot 기본 라이브러리 with spring 1
2주차 - spring boot 기본 라이브러리 with spring 2
3주차 - nosql관련 library benchmark
4주차 - 보안관련 library benchmark
5주차 - web 관련 library benchmark
6주차 - cache관련 library benchmark
7주차 - 통신관련 library benchmark
8주차 - 마무리스터디

...

ncloud를 기반으로 대용량 시스템 구축

aws를 기반으로 진행할 수 있는 대용량 시스템 구축과 배포 자동화를 적용한다.
ncloud 기반으로 스터디를 진행할 경우 nbp에서 ncloud를 무료로 사용할 수 있는 비용 지원이 가능하다.

...

aws 서비스들을 활용한 서버리스 서비스 만들기

각자의 계정을 활용하여 aws 실습을 바탕으로 서버리스 TODO 만들기. (aws 사용 비용이 들 수 있음.)
1주차 : api gateway, lambda, dynamoDB 에 대한 개요와 안내, lambda 에 사용할 언어 정하기. 추가로 api gateway와 통신할 로컬환경 무엇으로 할지 정하기.(postman/swagger)
2주차 : lambda 에 사용할 정해진 언어에 따른 개발환경 구축하기.
3주차 : 서비스에 대한 모델 및 필요 api 추출 및 api gateway 셑업 (TODO에 필요한 최소 api - 리스트 조회, 생성, 조회, 수정, 삭제)
4주차 : TODO 생성하기 lambda api 구현(dynamoDB create 까지.) 및 api gateway 연결
5주차 : list, one 조회 lambda api 구현 및 api gateway 연결
6주차 : update lambda api 구현 및 api gateway 연결
7주차 : delete lambda api 구현 및 api gateway 연결
8주차~9주차 : 토론?

상황에 따라 각 주차별로 시간이 매우 남을수도, 부족할수도 있으나 전반적인 aws 를 활용한 serverless 기초 개념을 실습을 통해 이해한다 생각하고 참여하시면 좋겠습니다.
추가로, 스터디 오픈과 함께 제가 참여중인 회사 게임이 오픈하는 이슈가 있으므로 ㅠㅠ, 모두 주체가 되어 참여해주시기 부탁드립니다..

...

하둡과 스파크(부제: 하둡 너는 누구니 ...?)

목표: 하둡에 대한 기본지식(아파치 하둡, 맵리듀스, HDFS, Yarn등) 및 하둡 에코시스템(Hive, Spark 등)에 대한 예제실행(?)
(업무중에 하둡에 있는 데이터를 Spark 를 이용해 처리해야 하는 경우가 았을 것 같은데 아파치 하둡 및 에코시스템에 대해서 아는게 없어서 ㅠ)
하둡 완벽가이드와 러닝 스파크를 훓어 볼 수 있는 기회가 되었으면 좋겠습니다.
1주차: 하둡이란? 하둡 완벽가이드 > 하둡 기초 파트 진행(첫주니까 .. 하둡에 대해서 훓어보기)
2주차: 하둡 완벽가이드 > 맵리리듀스 파트 진행 및 하둡 클러스터 설정 훓어보기 (설치도 해볼 수 있으면 베스트!)
3주차: 하둡 완벽가이드 > 하둡 에코시스템 1차 Hive (특히 HiveQL, 테이블부분!!)
4주차: 하둡 완벽가이드 > 하둡 에코시스템 2차 Spark (하둡 완벽가이드에 있는 부분으로 Spark 설치 및 예제 실행)
5주차: 중간 정검 및 회고
6주차: 여기서부터는 러닝 스파크 > 스파크 맛보기 및 RDD(?) 기초
7주차: 러닝스파크 > 키/값 페어로 작업, 데이터 불러오기/저장하기 등 데이터 다루는 방법 공부
8주차: 러닝스파크 > 스카프 SQL, 머신 러닝 파트 공부

스터디 주제 제시가 이번이 처음이라 이렇게 쓰면 되는지 모르겠습니다;;
회사에서 직접적으로 접하게 된 부분은 아니지만 빅데이터 관련해서 하둡과 스파크를 알게되어 이 기회에? 기초를 공부해보고자 해당 주제를 신청해봅니다. 다만 하둡을 1도 모르기때문에 진행이 된다면 어떻게 진행할 수 있을지 걱정이 좀 되긴합니다 !!

...

가장 빨리 만나는 코어 자바 9

스터디 목표 : “가장 빨리 만나는 코어 자바 9"" 책 스터디
스터디 개요 : 카이 호스트만의 “가장 빨리 만나는 코어 자바9”를 학습하여 자바를 한단계 더 깊게 이해한다.
스터디 준비물 : 가장 빨리 만나는 코어 자바9
스터디 진행 방식
1. 매주 2장 씩 책을 스터디 한 후 핵심내용을 정리 후 발표
2. 스터디를 진행한 장에 대해 실무에 적용가능한 예를 소개

스터디 회차별 진행 방식
1회차 : 1장 기본 프로그래밍 구조 
2장 객체 지향 프로그래밍 

2회차 : 3장 인터페이스와 람다 표현식 
4장 상속과 리플렉션 

3회차 : 5장 예외, 단정, 로깅 
6장 제네릭 프로그래밍 

4회차 : 7장 컬렉션 
8장 스트림 

5회차 : 9장 입출력 처리 
10장 병행 프로그래밍 

6회차 : 11장 애너테이션 
12장 날짜와 시간 API 

7회차 : 13장 국제화 
14장 컴파일링과 스크립팅 
15장 자바 플랫폼 모듈 시스템

...

DialogFlow를 이용한 챗봇 만들기

간단한 클라우드와 챗봇 프레임워크를 이용한 챗봇 프로그램 만들어보기
도서: 누구나 쉽게 배우는 챗봇 서비스/박경호 지음

1장. ES6 자바스크립트 - 도구1
2장. 폴리머 - 도구2
3장. 파이어베이스 - 도구3
4장. DialogFlow - 도구4
5장. 채팅 서비스 만들기 - 실전1
6장. 메신저 챗봇 만들기 - 실전2
7장. 외국인을 위한 맵 봇 만들기 - 실전3
8장. 오디오 신시사이저 봇 만들기 - 실전4
9장. 클로바(Clova)로 코인봇 만들기 - 실전5

장별로 주차 진행

...

서버 개발자가 배우는 리액트

서버 개발자가 프론트엔드를 배우기는 싶지 않습니다.
사실 특별한 이유가 없으면 배우지 않게 되는데요. 그렇기 때문에 점점 더 프론트엔드와 멀어지게 되는거 같습니다.
그래서 스터디를 통해 프론트엔드 기술을 공부하면 좀 더 지속적으로 학습할 수 있을거 같아서 제안을 드립니다.

진행 내용은 아래와 같습니다.
* React란 무엇인가?
* JSX
* React 컴포넌트의 상태 객체
* React 컴포넌트 라이프사이클 이벤트
* Webpack 빌드 도구
* React Routing
* Redux를 이용한 데이터 다루기

저도 리액트를 잘 모르기 때문에 주차별 진행 내용은 달라질 수 있을거 같습니다.

서버 개발자이지만 프론트엔드 기술을 배워보고 싶은 사람이나 자바스크립트를 배워보고 싶은 사람이 참여하면 좋을거 같습니다.

사실 저도 하나도 몰라서... 서로 도와가며 프론트엔드 기술을 배워보면 좋을거 같습니다.

...

Node.js / Vue.js

[자바스크립트로 서버와 클라이언트 구축하기] 책을 참고하여 자바스크립트로 서버부터 클라이언트까지 구축해보는 내용입니다.

A부터 Z까지 JS로 구현한다면 어떨까요.

책은 채팅프로그램과 쇼핑몰 구축이지만 협의하여 다른 프로젝트를 진행하는 것도 좋습니다.

1주차 - 필수문법 / 2주차 - node.js / 3주차 - nuxt.js / 4주차 - vue.js / 5주차~ 실습제가 자바스크립트 주제를 냈지만 자바에 관한 실무에 도움되는 스터디 주제가 있다면 참여하고 싶습니다...

...

일렉트론을 이용하여 PC 어플리케이션 만들기

1. 일렉트론 기술 개요
2. 개발환경 구축
3. Quick Start를 통해 빠르게 실행해보기
4. main/ renderer 프로세스 이해하기
5. 일렉트론 앱의 실행 및 배포개념
6. 일렉트론 모듈 이해하기
7. 프로세스 필수모듈 익히기
8. 실전 앱 만들기 (1)
9. 실전 앱 만들기 (2)

...

Every weeks, Every topic

빠르게 변화하는 IT 환경 및 개발환경에서 개발방법, 장애 대응 , 개발툴 등 함께 공유할 이슈와 경험해 보지 못한 타 회사의 이슈와 토픽을 매 회차에 3~5 인(or 팀)이 15~20분 할당되어 "세바시" 형식으로 발표하고 토론해본다. 스터디의 대 주제를 정하지 않음으로써 발표에 대한 부담을 줄이고, 빠른 로테이션으로 매 회차 여러가지 다양한 주제로 현장의 목소리와 상황을 실시간으로 접하고 토론함을 목적으로 한다. 개세바시.

...

코드리뷰

업무외에 관심분야에대해서 공부를하지만 과중한 업무로 지친당신!
하지만 스터디로 모인이상 성장을 놓치고 싶지 않다면 이런 스터디는 어떨까요?

** 해당 조건에 동의하는 분**
- 스터디는 좋지만 과제는 싫으신 분!
- 스터디 과제를 안해서 죄책감을 느끼고싶지 않으신분!
- 마음만은 업무보다 스터디에 열중하고싶으신 분!
- 개발자들과 친해지며 인맥 인프라를 만들고싶으신분!
- SI회사에서 복붙에 익숙하지만 성장하고싶으신 분!
- 혼자만 좀 더 나은 코드 성장을 외치는 분위기에 외로우신분!

현업에서 어렵게 느껴지는 문제들을 공유하면서 내가 가지고있는 문제를 다른사람이 보면서 쉽게 해결할 방법과 어떤 부분이 부족한지 독려해주는 스터디입니다.

주차별 진행 계획
코드리뷰 받기 전 PR로 코드리뷰 받고싶은 내용을 github에등록한다.
스터디 시간에 코드리뷰를 해준다.

...

코드 실습만으로 딥러닝을.

교제 : https://github.com/sjchoi86/Tensorflow-101
딥러닝을 실제 동작하는 코드를 가지고 실행시켜보며 감을 잡습니다.
코드는 이미 있습니다. 실행된 결과도 이미 있습니다.
따로 준비해 오실 필요 없고, 오셔서 실행시키면서 이해하면 됩니다.
코드를 붙복하셔도 되고, 코드와 실행결과를 눈으로만 보셔도 되고, 타이핑 하셔도 됩니다. 딴거 하셔도 됩니다.
실습 중에 관련 딥러닝에 대한 내용은 리더가 설명해 드립니다. 딥러닝 코드도 설명해 드립니다. 스터디 초기 실습 들어가기 전에 딥러닝 전반에 대해서도 설명 드립니다.
실행 환경은 Azure 주피터 노트북니다. 개인 노트북 사양 후져도 관계없습니다.

이론 보다는 코드를 통해서 이해해 갑니다.

...

AWS 서버리스 아키텍처

"AWS 기반 서버리스 아키텍처"" 책을 이용해서 실습을 진행해보면서 AWS 서버리스 아키텍트 공부하기

1주차 - 서버리스 아키텍처란?
2주차 - 아키텍처와 패턴
3주차 - 서버리스 애플리케이션 구축
4주차 - 클라우드 설정
5주차 - 인증과 권한
6주차 - Lambda
7주차 - API Gateway / Storage
8주차 - 데이터베이스

...

Introduction to Big Data & Spark

## 학습목표
(스터디 그룹원의 의견에 따라 스터디 목표는 수정될 수 있습니다)
- Big data 처리의 기초 학습
* Distributed Computing, Map/Reduce가 어떻게 여러 하드웨어에 연산을 분산하는지
- Resilient Distributed Dataset (RDD)
* RDD 생성과 RDD 를 사용한 데이터 변환방법
- Spark 기본적 개념과 처리
- (옵션) 실제 데이터로 spark를 사용해 K-means clustering구현

## 진행
- 매주 스터디를 마친 뒤 함께 회고하며 스터디과정을 점진적으로 개선해나갑니다.
- 각 주차에 해당하는 주제에 맞게 돌아가며 발제를 진행합니다. (개인 발제 x, 팀별 발제 x)
- 모든 스터디원은 사전학습을 진행 후 사전학습내용을 공유합니다.
- 해당 주차 학습내용에 맞는 실습을 진행하려고 노력합니다.
1. 모든 스터디원 - 사전학습 문장(사전학습 후 공유하고 싶은 문장이나 같이 이야기해보고 싶은 질문) 3개 사전 공유
2. 사전학습 문장 왜 선택했는지 이야기나누어보기 / 사전학습 문장 중 이번시간에 이야기할 것 1개 투표하기
3. 팀별 발제 진행
4. 마무리 회고 및 다음 스터디 주차 세부 목표 정하기

## 주차별 계획
1주차 - Introduction to Big Data 1
2주차 - Introduction to Big Data 2
3주차 - Big Data Essentials: HDFS, MapReduce and Spark RDD 1
4주차 - Big Data Essentials: HDFS, MapReduce and Spark RDD 2
5주차 - Big Data Analysis with Scala and Spark 1
6주차 - 앞선 스터디 내용 총 정리하기
7주차 - Big Data Analysis with Scala and Spark 2
8주차 - Big Data Analysis with Scala and Spark 3
9주차 - Big Data Analysis with Scala and Spark 4 & 회고


## 참고자료
*모든 자료를 보지 않습니다. 스터디 목표에 따라 일부만 참고하여 진행합니다*
### 동영상 강의& 실습문제
- [Introduction to Big Data](https://www.coursera.org/learn/big-data-introduction)
- [Big Data Analysis with Scala and Spark](https://www.coursera.org/learn/scala-spark-big-data#)
- [Big Data Essentials: HDFS, MapReduce and Spark RDD](https://www.coursera.org/learn/big-data-essentials)
- [Big Data Analysis: Hive, Spark SQL, DataFrames and GraphFrames](https://www.coursera.org/learn/big-data-analysis)

### 도서
- 책 - 9가지 사례로 익히는 고급 스파크 분석
- 책 - 쉽게 배워서 빨리 써먹는 스칼라 프로그래밍 (케이 호프만 저)
- 책 - 스파크를 다루는 기술(Spark in Action)

...

spring과 함께 kafka 탐험하기

# 학습 목표
- Kafka 의 기본 구조 이해
- Spring 에서 Kafka 잘 사용하는 방법 익히기

# 참고 자료
- https://kafka.apache.org/
- https://spring.io/projects/spring-kafka

# 주차별 진행 내용
1. Kafka 개요 파악 - https://kafka.apache.org/intro
2. Kafka 설치 및 구성 - https://kafka.apache.org/quickstart
3. Kafka producer
4. Kafka consumer
5. Kafka 내부 매커니즘
6. Spring-kafka 사용해보기 - https://spring.io/projects/spring-kafka
7. Kafka use case 탐구 - https://kafka.apache.org/uses
8. Kafka 관리
9. Kafka 모니터링" 이번에는 업무와 연관되고 직접적으로 도움이 될 주제를 공부해보고 싶습니다.

...

도메인 주도 설계 구현 책 읽기 스터디

개요
- DDD에 대해 이해하고 실무에서 구현 할 수 있는 방법에 대해 익혀보자.

주차별 진행 내용
- 총 15장인 책을 주차별로 2장씩 읽고, 의견 공유

진행방법
- 다같이 미리 읽어 오고, 주차별 진행자를 정해 해당 주차의 주제에 대해 공유하고 토론한다

...