Project Management

Project를 진행하기 위한 기본적인 지식과 사례를 공유 하여 원할한 Project를 하기위한 필수(부가) 요서들이 어떤것들이 있고 practice를 통한 효율적인 방안을 토론 해본다.

1주차 - Project Health Chek방안

2주차 - Project와 Product의 개념 및 R&R

3주차 - Visualize : Project 가시화를 위한 방법 (JIRA, WIKI, WBS...)

4주차 - Visualize : Project 정보를 공유 하는 방법

5주차 - JIra를 이용한 Project 관리 상세

6주차 - 회고 소개

7주차 - 회고를 효율적으로 진행하기 위한 실용적인 방법

8주차 - 스터디 회고


Hello scala

개요 :

함수형 언어인 스칼라를 학습하고 skillup 해보자.

진행 내용 :

1,2,3,4 주차 까지 문법적인 내용을 학습 및 실습 & 5,6,7,8,9 주차에 문법에 익숙해지도록 간단한 개발을 해보도록 할 예정입니다.

Let's getting close to Clojure !

클로저에 대해 기본개념을 익히며 7주짜리 훈련 프로그램을 함께 진행해 봅니다.

1주차 - 1장 클로저의 구조

2주차 - 2장 제어문과 함수형 변환

3주차 - 3장 상태와 병행성

4주차 - 4장 자바 코드 가져다 쓰기와 다형성

5주차 - 중간세미나

6주차 - 5장 클로저 프로젝트와 라이브러리 사용법

7주차 - 6장 core.async로 통신하기

8주차 - 7장 클로저로 웹 애플리케이션 만들기 9주차 - 회고


더 나은 프로그래머가 되기 위한 궁극의 언어 클로저에 함께 스며들어보아요.

올바른 일을 한다는 것(doing the right thing)이 단지 관례나 훈련에 의해 되는 것이 아니라, 저절로 자연스럽게 되길 바라며 만들어진 언어라고 합니다.

에릭 레이먼드가 말한 대로 클로저에 대한 그 경험만으로도 “훌륭한 프로그래머”가 되는 데 가까워지기를 기대하며 함께 공부해보면 좋겠습니다. :)

(게다가 가장 고연봉을 받고 있는 언어 !! +_+ )


RX Java / DevOps

RxJava 리액티브 프로그래밍 - 도서 위주

또는

DevOps 의 경우 kubernetes/aws 등에 대한 공부.

kubernetes/aws 의 경우는 요즘 운영환경을 제외하면 각 팀별(개발자)들이 직접 dev환경을 구성하기 때문에 한번쯤 해보는 것이 좋아보여서 추천하게 되었습니다.~

도커/쿠버네티스 맛보기

도커가 교양이라던데? 쿠버네티스는 그렇게 핫하다던데 도대체 무엇 ?

1주 : 도커란 무엇인가, 도커 컨테이너 배포

2주 : 도커 실습(spring boot app, mysql 등..)

3주 : 스웜(해야하나 ?)

4주~7주 : 쿠버네티스란 무엇인가 (파드, 서비스, 복제 컨트롤러, 레이블, 네트워킹, 로드밸런서, 인그레스 .... 쿠버네티스가 무엇인지 몰라서 정할 수가 없다......)

9주 : 지속적인 통합과 전달 설계 (젠킨스 + 도커 + 쿠버네티스 ?), 모니터링과 로깅


도커 & 쿠버네티스 공부하기

GDG 스터디의 커리큘럼을 바탕으로 도커, 쿠버네티스 입문 단계의 스터디를하고자 합니다.

(아래의 강의 기반으로한 내용입니다.)

https://www.udemy.com/docker-and-kubernetes-the-complete-guide/

1. Dockerfile을 이용한 서버배포

2. Docker-compose 입문

3. github를 통해 aws ec2로 자동배포 #1

4. github를 통해 aws ec2로 자동배포 #2

5. 복잡한 형태의 서비스를 도커로 배포하기

6. Docker hub를 Travis를 통해서 자동 배포하기

7. Docker hub의 이미지를 aws에 beanstalk로 올리기

8. 다양한 도커 이미지를 로컬 쿠버네티스를 통해 배포하기 #1

9. 다양한 도커 이미지를 로컬 쿠버네티스를 통해 배포하기 #2


도커와 쿠버네티스를 활용한 컨테이너 관리

[주제 개요]

도커와 쿠버네티스를 이용한 구축 및 배포 실전 이용법 익히기

[주차별 진행내용]

1주차(OT) : 도커의 기초

2주차 : 도커 컨테이너 배포

3주차 : 컨테이너 구축 및 배포

4주차 : 쿠버네티스 기초

5주차 : 쿠버네티스 클러스터 구축

6주차 : 컨테이너 운영

7주차 : 도커 간단한 이미지 만들기, 도커 활용 방법

8주차 : 보안 등


스프링으로 알아보는 DDD

참고 서적: 도메인주도설계 - 에릭에반스 / DDD Start - 최범균

도메인주도설계 관점을 배워 실무에서 활용해보자.

1. 도메인주도설계 - 지식 탐구/ 의사소통과 언어 사용/ 모델과 구현의 연계

2. 도메인주도설계 - 4장 도메인의 격리  / 5장  소프트웨어에서 표현되는 모델 / 6장 도메인 객체의 생명주기 

3. 도메인주도설계 - 7장 언어의 사용(확장 예제) 

4. 도메인주도설계 - 8장 도약 / 9장 암시적인 개념을 명확하게

5. 도메인주도설계 - 10장 유연한 설계

6. 도메인주도설계 - 11장 분석 패턴의 적용 , 12 장 모델과 디자인 패턴의 연결 

7. DDD Start 2장 - 아키텍처 개요

8. DDD Start CHAPTER 4, 5장 - 리포지터리 (JPA 중심)


DDD 책읽기

DDD STAT! - 저 최범균 / 해당 책으로 진행하려고 합니다.

서로 책을 읽고 토론을 하거나 혹은 발표를 통한 토론 - 주 목적은 토론을 통한 심도있는 이해입니다.

1주차 - 도메인 모델 시작, 아키텍처 개요

2주차 - 애그리거트, 리포지터리와 모델구현

3주차 - 리포지터리의 조회 기능

4주차 - 용 서비스와 표현 영역, 도메인 서비스

5주차 - 중간발표

6주차 - 애그리거트 트랜잭션 관리

7주차 - 도메인 모델과 BOUNDED CONTEXT

8주차 - 이벤트, CQRS

도메인주도설계 학습

도메인주도설계에 대한 학습과 실습을 진행

한 주는 이론에 대한 학습 및 토론을 진행하고 다음차수 때 2명씩 페어프로그래밍을 진행

1~2주차 : 애그리게이트, 레포지토리

3~4주차 : 서비스, 표현 영역

6~7주차: 트랜잭션

8~9주차 : bounded context

DDD Master

도메인 주도 설계에 한발 더 다가가며, 핵심 개념을 익혀본다.

발표와 실제 학습을 병행하면서 각 개인이 주도적으로 참여하도록 한다.

1. 목표 정하기

2. 엔티티와 벨류

3. 애그리거트

4. Repository

5. 서비스

6. 트랜잭션

7. Bounded Context

8. 이벤트

9. CQRS 각 부분에 대해서 발표와 각자 설계 및 코딩을 해보면서 토의 및 학습

도메인 주도 개발 (DDD)

DDD Start! 책(https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=84000742)을 기준으로 진행하며

실습 or 미니 프로젝트를 통해 개념과 실제 적용방식을 알아가고자 함.

함수형 프로그래밍을 위한 카테고리 이론

Bartosz Milewski의 [Category Theory for Programmers](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/)의 글들을 통해 카테고리 이론을 공부합니다.

카테고리 이론이 워낙 양이 방대한 양이고 또한 처음 공부하는 입장이기 때문에 공부하는 순서와 양은 Bartosz Milewski의 [강의 영상](https://www.youtube.com/playlist?list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_)을 참조하여 진행합니다.

영어에 약하셔도 이 분은 발음도 좋고 느리게 말해주니까 걱정하지 않으셔도 됩니다.

진행방식은 다음과 같습니다.

- 모든 스터디원이 스터디 전에 미리 Bartosz Milewski의 유튜브 강의영상을 통해 공부합니다.

- 2명의 인원이 발표 준비를 하여 스터디 당일에 해당 강의 내용에 대해 자료를 정리하여 발표합니다.

- 시간이 남으면 Bartosz Milewski가 미리 준비해놓은 과제로 직접 코딩해봅니다.


TDD

다시하는 tdd로 차근차근 진행


프로그래머스 코딩테스트 문제 풀어보기

첫 주는 주제를 제안한 XXX가 직접 문제를 선정해서 사전에 공유 하고 본 스터디시간엔 모두 함께 문제를 풀고 토론하는 시간을 가져본다.

이후부터는 제비뽑기와 같이 임의의 스터디원이 선정되고 직접 문제를 선정하여 스터디 시간에 문제를 풀고 토론하는 시간을 가진다.

이를 매주 반복한다.

본 스터디는 스터디 시작 전에 어떤 프로그래밍언어를 사용할지 결정해야하며 IDE는 visual studio code 를 활용하고자 한다.

따라서 익숙하지 않은 스터디원은 IDE에 대한 이해를 우선해야할 수 있다.

추가로, 위 IDE를 고집하는 이유는 원하는 인원만큼 함께 코드를 한 화면에 공유하면서 편집을 할 수 있는 기능이 있기 때문이다.

아래의 링크를 참고.

(참고로 발제한 본인이 계속 ios 버전에 따른 이유로 live 기능이 실행이 안되고 있어서 자칫 발제만 하고 빠질 수 있는 파국이 될 수도..)

https://pang2h.tistory.com/90


스프링 데이터 JPA

참고

- 인프런 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%8D%B0%EC%9D%B4%ED%84%B0-jpa#description

- SLiPP 9차 스터디 https://www.slipp.net/wiki/pages/viewpage.action?pageId=22904884

Spring Boot + JPA

- ORM(Object-Relation Mapping)에 대한 이해.

- JPA의 개요 및 특징

- 스프링 데이터 JPA의 구동 원리와 쿼리 실행

1주차 : Orientation

2주차 : ORM(Object-Relation Mapping) 개요. (도메인 주도 개발..?)

3주차 : JPA의 개요 및 특징. JPA 기본 문법

4주차 : Spring Boot + JPA 구조 및 구동 원리

5주차 : 중간 세미나

6주차 : Spring Data Common

7주차 : Spring Data JPA

8주차 : 실습1

9주차 : 실습1


"밑바닥부터 시작하는 딥러닝" 학습하기

개요

"밑바닥부터 시작하는 딥러닝"을 통해 머신러닝을 학습합니다.

주차별 진행내용

1주. 1장 헬로 파이썬

2주. 2장 퍼셉트론

3주. 3장 신경망

4주. 4장 신경망 학습

5주. 5장 오차역전파법

6주. 6장 학습 관련 기술들

7주. 7장 합성곱 신경망(CNN)

8주. 8장 딥러닝


TensorFlow + Spring Boot

인공지능 알고리듬을 서비스화 하는데 두 가지 요소의 결합을 시도해 보는 스터디를 해보고 싶습니다.

인공지능과 관련한 프레임 워크인 TensorFlow를 이용하여 학습모델을 만들고 이를 자바기반(Spring Boot)의 웹서비스에서 연결해보는 과정을 경험하는 것이 어떨까 합니다.

예를 들어 이미지 검출하는 웹서비스를 만든다던지 이미지를 올리면 새로운 화풍으로 만드는 서비스를 만들어 보는 것입니다.

이를 위해서 tensorflow를 설치, 개발, 학습, 모델 데이터 생성과정을 수행해보게 되고 spring boot로는 이 모델을 로딩하여 사용하거나 tensorflow 모듈과 통신을 통해 연결하여야 합니다.

그리고 간단한 웹서비스를 만들어보아야 하겠죠.

그리고 가능하면 이 환경을 클라우드 환경에 올리는 부분까지도 고민해보면 좋겠습니다.

적당한 주차별 목표는 아직 모호합니다. 다음과 같이 간단히 경험할 수 있는 것들이 있어서 두가지 요소(Tensorflow와 Spring Boot)에 어느 정도 정통한 분들은 너무 쉬울 수도 있고요.

잘 아시는 분들 도움도 받고 싶네요.

https://blog.mimacom.com/getting-started-tensorflow-spring/

https://www.baeldung.com/tensorflow-java

(예상 커리큘럼)

Tensorflow 설치 및 간단 학습

Tensorflow로 목표 서비스에 맞는 학습 모델 결정

Spring Boot 와 서비스 연계 관련 기술 학습

모델 로딩 기반 TF+ Spring Boot 서비스 설계 및 구현

통신 기반 TF + Spring Boot 서비스 설계 및 구현

서비스 구현 중 발생한 기술적 이슈 공부

클라우드 서비스화


구글 클라우드에서 데이터 처리하고 AI 적용하기

- 스터디 주제

구글 클라우드 서비스 GCP에 익숙해 지고, 여기에서 ML을 실제 실행하여 결과를 보려고 합니다.

GCP에서 제공하는 일종의 self-study방법으로 qwiklabs이 있는데, 웹 기반으로 튜토리얼이고, 이를 따라하면서 GCP를 실습하며 공부할 수 있는 프로그램입니다.

따로 준비해 올 필요 없이 같이 모여서 Qwiklabs를 따라하면서 진행하는 방식으로 진행합니다.

진행자가 AI나 데이터 처리에 살짝 익숙해서 약간의 도움을 드릴 수 있습니다.

- 스터디 상세 내용

GCP Essentials :GCP를 배우자

 https://google.qwiklabs.com/quests/23

 5스텝, 2시간 반. 8 크레딧.

 세부 내용

  A Tour of Qwiklabs and the Google Cloud Platform

  Creating a Virtual Machine

  Compute Engine: Qwik Start - Windows

  Getting Started with Cloud Shell & gcloud

  Kubernetes Engine: Qwik Start

  Set Up Network and HTTP Load Balancers

Baseline: Data, ML, AI : 데이터 처리 방법을 배우자.

 https://google.qwiklabs.com/quests/34

 5스텝. 3번. 3시간 30분, 5 크레딧.

 세부 내용

  Dataprep: Qwik Start

  Dataflow: Qwik Start - Templates

  Dataflow: Qwik Start - Python

  Dataproc: Qwik Start - Console

  Dataproc: Qwik Start - Command Line

  Cloud Natural Language API: Qwik Start

  Google Cloud Speech API: Qwik Start

  Video Intelligence: Qwik Start

응용들 : AI를 적용해서 결과를 보자.

 Machine Learning with TensorFlow https://google.qwiklabs.com/focuses/3391?parent=catalog&search_id=2657849 1시간 15분

 Image Classification of Coastline Images Using TensorFlow on Cloud ML Engine https://google.qwiklabs.com/focuses/1048?parent=catalog 1시간 30분

 Detect Labels, Faces, and Landmarks in Images with the Cloud Vision API https://google.qwiklabs.com/focuses/1841?parent=catalog 45분


The Elements of Computing Systems

기술 저 너머에 무엇이 있는지 궁금하시지 않으신가요? 매일매일 빠르게 변하는 것 같은 기술 밑에 변하지 않는 무언가가 있지 않을까요? 이번 스터디에서는 지식을 외우거나 기술을 익히는 것이 아니라 가볍게 산책하듯이 컴퓨터의 세계로 들어가보고자 합니다.

- 1주 : 컴퓨터 아키텍처

- 2주 : 어셈블러

- 3주 : 가상 머신 - 스택 산술, 프로그램 제어

- 4주 : 고수준 언어

- 5주 : 컴파일러 I: 구문 분석

- 6주: 컴파일러 II: 코드 생성

- 7주 : 운영체제

- 8주 : 자유주제, 회고

[참고도서]

- 밑바닥부터 만드는 컴퓨팅 시스템 - 불 논리부터 컴퓨터 아키텍처, 운영체제까지 - 노암 니산,시몬 쇼켄 저

- 컴퓨터 과학이 여는 세계 - 이광근 저

- 컴파일러 구조와 원리 - 컴파일러로 배우는 언어 처리 시스템 (https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=7739014)

- 인사이드 머신 (https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=899792)

- 해커의 기쁨 - 비트와 바이트 그리고 알고리즘

- 컴파일러 - Alfred V. Aho 저


이번만큼은 꼭 안드로이드 앱을 만들어보자.

1~3주 : 준비

4~6주 : 요이

7~9주 : 땅 !!


Flutter 배우고 To-do 같이 만들어봐요

Flutter 관련 자료가 많지 않지만, 같이 배워가면서 간단한프로젝트 완성할 수 있으면 좋겠어요!

React Native 다른 크로스 플랫폼.

Flutter JavaScript와 Dart가 비슷하기 때문에 Dart를 따로 익히는 시간을 많이 가지 않지만 그때그때 필요한 부분 익히면서 진행할 예정 입니다:)

1주, Flutter 소개, 개발 환경 구축

2-3주. Dart 익히기

4주, Flutter 기초 - Appbar, Scafflod, StatefulWidget, StatelessWidget 등

5-6주, Flutter 컴포넌트 - Stack, Padding, 화면 전환 등

7-9주, Flutter 실습 - AOS, iOS로 간단한 Todo 프로젝트 진행

HTML 퍼블리싱과 CSS를 배워보자

저처럼 아직도 <TABLE> 태그를 사용하시는 분들 함께 합시다.

발을 하며 항상 아쉬워만 했던 화면 퍼블리싱을 심도있게 진행해보고 싶습니다.

(1) 교재 선정 및 스터디 진행 방향 논의

(2) html 태그 정복

(3) html layout

(4) css 태그 정복

(5) css 심화

(6) 퍼블리싱 실습 (1/2)

(7) 퍼블리싱 실습 (2/2)

(8) 라이브러리를 이용한 퍼블리싱

(9) 기타.


Akka 코딩 해 보기!

아카(Akka)는 액터 모델을 기반으로 분산 및 동시성 애플리케이션을 작성하는 데 필요한 여러 도구를 제공해주는 툴킷이자 런타임이다.

아카의 개념을 익히고 , 실제로 코딩하면서 배워봅시다!

Akka 코딩 공작소 라는 책을 주제로 정해 어느정도 책의 목차를 따라 더듬더듬 따라 가 볼 예정입니다


엘라스틱서치 실무 가이드(미워도 다시한번)

ElasticSearch를 실무에 활용할 수 있게 좀 더 깊이 공부해 봅시다.

[ 책 ] 엘라스틱서치 실무 가이드

1주차 : 검색 시스템 이해하기, 엘라스틱서치 살펴보기

2주차 : 데이터 모델링

3주차 : 데이터 검색, 데이터 집계

4주차 : 고급 검색

5주차 : 한글 검색 확장 기능

6주차 : 엘라스틱서치 클라이언트, 엘라스틱서치와 루씬 이야기

7주차 : 대용량 처리를 위한 시스템 최적화, 장애 방지를 위한 실시간 모니터링

8주차 : 안정적인 클러스터 운영 노하우, 클러스터 성능 측정


casandra? hadoop? spark?

어떤 것을 저장할 것인지?

어떤 방식으로 저장할 것인지?

어떻게 활용해야 하는 것인지?

아는 게 없네요. 가르쳐 주세요!!!!