Page tree
Skip to end of metadata
Go to start of metadata

최종 스터디 주제 결정

Java 성능

이 스터디를 해야하는 이유

  1. java 개발자라면 JVM 정도는 깊게 이해하는게 좋지 않을까?
  2. 저도 잘 모르지만 열심히해서 많은 지식을 공유할 수 있습니다. (특기가 열심)
  3. 회사일로 시간이 없어 스터디 준비를 못하셨다면, 걱정마세요. 제가하면 됩니다.
  4. JVM 지식으로 잘하는척 할 수 있다.
  5. 후회하지 않으실거에요!

주차 별 진행 내용

자바 성능 튜닝 참고, 이 스터디는 책 읽는 스터디가 아닙니다. 책은 각자 알아서 읽어오면 됩니다.

1주차 : 진행 내용 공유 및 변경
2~4 주차

  • JVM 이해
  • 툴을 이용해 JVM 알고리즘 별 그래프 확인
  • 성능을 고려한 코딩 (byte code 확인)

5~6주차 : Spring 환경에서 JVM과 성능
7~8주차 : 병목 | 대용량 예제를 만들고 튜닝, 코드 수정을 통해 병목 해결

  • 도구 사용 : jstat, pinpoint, ngrinder, aws, 등

9주차 : 회고

기대 효과

  1. JVM을 이해하고 튜닝 할 수 있다.
  2. JVM을 이해한 java 개발자가될 수 있다.
  3. 실무에서 병목 지점이 생겼을때 당황하지 않고 병목 지점을 찾아내고, 해결 할 수 있다.
  4. helloworld 말고 SLiPP wiki 문서에서 JVM 자료 검색

참고 문헌

* [자바 성능 튜닝] : (http://www.yes24.com/24/goods/24848833?scode=032&OzSrank=2)
* [Garbage Collection 튜닝] : (https://d2.naver.com/helloworld/37111)
* [Java 애플리케이션 분석을 위한 BTrace] : (https://d2.naver.com/helloworld/9042309)
* [대규모 분산 시스템 추적 플랫폼, Pinpoint] : (https://d2.naver.com/helloworld/1194202)
* [자바 애플리케이션 성능 튜닝의 도(道)] : (https://d2.naver.com/helloworld/184615)
* [Garbage Collection 모니터링 방법] : (https://d2.naver.com/helloworld/6043)
* [대용량 아키텍처 성능과 튜닝] : (https://d2.naver.com/news/3622708)
* [고맙다 JVM, 사과해라 JVM 크래시] : (https://d2.naver.com/helloworld/1134732)
* [JVM Internal] : (https://d2.naver.com/helloworld/1230)


주식 자동 트레이딩

소개글은 슬라이드로 대신합니다 : http://bit.ly/2IL7lib


다음의 책 내용을 주차별로 따라하면서 각자 겪은 장애 상황 공유합니다. 

추가로, 취급하는 주가데이터를 기계학습을 통해 예측해보는 실습까지 진행합니다.

https://wikidocs.net/book/110

01. 파이썬 시작하기
02. 윈도우 개발 환경 구성 및 증권 API 연동
03. Pandas를 이용한 데이터 분석 기초
04. Pandas와 zipline 을 이용한 백테스팅 & matplotlib을 이용한 데이터 시각화
05. 머신러닝 기반 예측 모델 설계 및 주가 데이터 저장하기
06. 실전 프로그램 개발
07. 실전 프로그램 개발 (2)
08. 텐서플로우 활용, 순환신경망(LSTM)을 이용한 주가 예측 구현
09. 회고


Elastic Search

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

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

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

공식 문서 : 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/



Kotlin 응용

부제 : SLiPP in the life of the developer

SLiPP스터디에서 습득한 기술을 활용합니다. 기술의 영속성을 가지고 타 팀과 기술 공유/전환을 거쳐 지속적인 발전을 이루는 시초가 될것 입니다. 우리는 우리가 투자했던 노력과 기술을 잊어 버리지 않고 각팀에서 전수한 노하우들을 해당 개발 프랫폼에 지속 통합할 예정입니다. SLiPP의 영속적 이고 지속 가능한 스터디 플랫폼을 만들 계획입니다.

모집정보

  • 코틀린으로 안드로이드 앱 개발하기
  • 구성원 : 3팀(3~4명)
  • 기간 : 8주

주요 커리큘럼

1. 코틀린 요점 정리 /레이아웃

2. 안드로이드 레이아웃/스튜디오/예시

3. 간단 앱 추가 구현, 앱 장터, Play 스토어에 앱 등록하기

4. 회원가입(수정 탈퇴) / 로그인/아웃

  • 백엔드 서버(스웩) 구축 지원(스프링)
  • 게시판 기본
  • 게시판 확장
    • 에디터
    • 파일 (사진/일반)
    • 추천 (반대)/ 공유
    • 댓글 추천(반대)
  • OAuth적용
  • AWS 활용한 내 앱서비스 출시

적용 기술

  • Kotlin, Springboot2.0
  • TDD/코드클린/성능/배포 프로세스

알고리즘, 인터뷰

알고리즘(게일 라크만 맥도웰)과 실전면접

스터디 개요
  항상 준비 될 수 있도록..! 코팅 인터뷰와 실전 면접을 준비하는 스터디입니다.
  책의 앞부분은 자유롭게 읽고 면접문제가 스터디의 주된 내용입니다.
  문제를 계속 풀면 지겨울 수가 있어서 중간중간 면접을 진행하여,
  본인의 이력서도 다듬는 계기를 갖습니다.
스터디 방식
  - 발표자가 책에 나온 문제를 골라 다 같이 30분정도 문제를 푼다.
    (미리 문제를 풀어왔다면 다른 문제를 풀어도 된다. 자유롭게 30분이란 시간을 문제 푸는데 사용)
  - 30분은 문제 해설 및 다른 사람들이 어떻게 풀었는지나 질의 응답
  - 이 같은 방식으로 스터디 한주차에 2개씩 진행
  - 스터디의 중간에 본인의 이력서로 실전 면접을 진행
  - 본인의 이력서에 대해 스터디원의 첨삭
  - 커리어 관리에 대한 토의

1주차
  - 배열 문자열
  - 연결 리스트
2주차
  - 스택
  - 큐
3주차
  - 1:1 실전 면접 및 토의
4주차
  - 수학과 확률/객체지향 설계
  - 재귀와 동적 프로그래밍/정렬과 탐색
5주차
  - 규모확장성과 메모리 제한 
  - 테스팅
6주차
  - 1:다 실전 면접 및 토의
7주차
  - Java
  - 데이터 베이스
  - 쓰레드 락
8주차
  - 이력서 공유/첨삭
9주차
  - 커리어 관리에 대한 토의 및 총평



클린 코드

더 나은 코드를 짜기 싫어하는 개발자는 없을 겁니다. 하지만 좋은 코드가 무엇인지 몰라서 아니면 개발일정에 쫓겨서 좋은 코드를 고민하기 전에 습관적으로만 코드를 짜는 경우가 생깁니다. 어떻게 하면 현업에서도 좋은 코드를 만들 수 있을까요? 이번 스터디를 통해 경험을 나누면서 좋은 구조를 만들고 좋은 코드를 탐구하는 방법을 함께 찾아봅니다.

OOP 법칙에 기반한 클린코드 작성, 클린 소프트웨어가 무엇인지에 대해 이야기하고, 실제 리팩토링 실습을 진행합니다. 스터디 자료 외에 리팩토링한 경험과 노하우를 같이 이야기해봅니다.

  • 목표 
    • 건강한 생활! 건강한 코드!
    • 실제 생활에서 포기하지 않고, 스트레스 덜 받고 적용시킬 수 있는 방법을 탐구하는 것을 중심으로 둡니다.

  • 진행 : 
    • 실습 + 매 시간 회고 (해당 주차주제에 맞추어 실제 경험 회고)
    • (옵션) 매 차 시 실습과제 각자 온라인 코드리뷰 또는 위키공유
    • 1주차 - 무엇이 좋은 코드일까? 각자 자료 정리해와서 토의
    • 2주차 - OOP란 무엇일까? OOP 법칙에 기반한 설계 패턴
    • 3주차 - 코드 속의 나쁜 냄새 찾기 - 실제 코드에서 찾기
    • 4주차 - 좋은 코드를 어떻게 유지할 것인가?
    • 5주차 - 실용적인 팁 - 메소드 정리, 개체간의 기능 이동
    • 6주차 - 실용적인 팁 - 데이터 구성, 조건문의 단순화
    • 7주차 - 실용적인 팁 - 대규모 리팩토링
    • 8주차 - 리팩토링, 재사용, 그리고 현실
    • 9주차 - 스터디 회고

(위 스터디 제안은 아래 세 가지 주제를 병합하여 작성하였습니다)


OOP 법칙에 기반한 클린코드 작성 그리고 리팩토링

OOP 법칙에 기반한 클린코드 작성 그리고 리팩토링

1. 좋은 코드란 무엇일까 토론하기.

2. OOP란 무엇일까?

3. OOP 법칙에 기반한 설계 패턴(1) : 단일 책임 원칙, 개방 폐쇄 원칙

4. OOP 법칙에 기반한 설계 패턴(2) : 리스코프 치환 원칙, 의존 관계 역전 원칙

5. OOP 법칙에 기반한 설계 패턴(3) : 인터페이스 분리 원칙

6. 마틴 파울러가 쓴 Refactoring책의 예제 소스를 활용하여 리팩토링 코딩(1) : 코딩하기

7. 마틴 파울러와 켄트 벡이 쓴 Refactoring책의 예제 소스를 활용하여 리팩토링 코딩(2) : 토론하기

8. 뒤돌아보기

더 나은 코드를 짜기 싫어하는 개발자는 없다

더 나은 코드를 짜기 싫어하는 개발자는 없을 겁니다. 하지만 좋은 코드가 무엇인지 몰라서 아니면 개발일정에 쫓겨서 좋은 코드를 고민하기 전에 습관적으로만 코드를 짜는 경우가 생깁니다. 
어떻게 하면 현업에서도 좋은 코드를 만들 수 있을까요? 이번 스터디를 통해 경험을 나누면서 좋은 구조를 만들고 좋은 코드를 탐구하는 방법을 함께 찾아보고 싶습니다. 스터디자료를 보고 좋은 코드가 무엇인지 살펴보고 실제 코드를 가지고 리팩토링을 해봅니다.
- 실습 스터디와 함께 매 시간 간단한 회고를 통해 리팩토링한 경험과 노하우를 같이 이야기해봅니다.
- 굳이 자료의 모든 목차를 따라가지 않더라도 실제 생활에 스트레스 덜 받고 적응할 수 있는 방법을 탐구하는 것을 중심으로 둡니다.
- 스터디 자료 : 실제 작성코드, 리팩토링 관련 도서 (리팩토링 - 마틴파울러 저,...)

1주차 - 무엇이 좋은 코드일까? 각자 자료 정리해와서 토의
2주차 - 코드 속의 나쁜 냄새 찾기 - 실제 코드에서 찾기
3주차 - 좋은 코드를 어떻게 유지할 것인가? (방법찾아봅시다 - 테스트 코드짜기? 객체지향 생활 체조)
4주차 - 실용적인 팁 - 메소드 정리, 개체간의 기능 이동
5주차 - 실용적인 팁 - 데이터 구성, 조건문의 단순화
6주차 - 실용적인 팁 - 대규모 리팩토링
7주차 - 리팩토링, 재사용, 그리고 현실
8주차 - 스터디 회고

'클린 소프트웨어' 함께 읽기

절판된 '소프트웨어 개발의 지혜' 가 복간되었습니다. 복간 되고 바로 구매하였지만.. 역시 너무 두껍습니다ㅠ 함께 읽으면 올해안에 완독은 하겠죠?! 
진행 방식은 1시간 분량만큼 각자 읽고 리뷰어를 정해 리뷰하고 토론합니다.
1주 : part1 애자일 개발 (ch1 ~ ch6)
2주 : part2 애자일 설계 (ch7 ~ ch12)
3주 : part3 급여관리 사례 연구 (ch13 ~ ch17)
4주 : part3 급여관리 사례 연구 (ch18 ~ ch19)
5주 : part4 급여관리 시스템 패키징 (ch20 ~ ch22)
6주 : part5 기상 관측기 사례 연구 (ch23 ~ ch26)
7주 : part5 기상 관측기 사례 연구 (ch27)
8주 : part6 ETS 사례 연구 (ch28 ~ ch30)


  • No labels