본 영상은 2021-2 KMOOC-데이터엔지니어링 강의의 원본이며, 강좌 오픈 이후에는 질의 응답 채널으로 이용 예정입니다. 각 Topic에 질문 해주시면 가능한 답은 달아드리도록 하겠습니다.
강의노트 (SlideShare) - https://www.slideshare.net/ssuser4a9113
코드 (GitHub) - https://github.com/JaewookByun/data_engineering
총 11강
구성
- ArrayList 연산
- MyArrayList - 배열 기반 List interface 구현
- LinkedList 연산
- MyLinkedList - 참조 기반 List & Queue interfaces 구현
- HashSet/HashMap 연산
- Lambda Expression
- Stream - Open JDK 15에서 이용가능한 거의 대부분의 연산을 다루려고 노력함
100% Serverless big data scale production Deep Learning Systemhoondong kim
- BigData Sale Deep Learning Training System (with GPU Docker PaaS on Azure Batch AI)
- Deep Learning Serving Layer (with Auto Scale Out Mode on Web App for Linux Docker)
- BigDL, Keras, Tensorlfow, Horovod, TensorflowOnAzure
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유iFunFactory Inc.
2018 아이펀팩토리 데브데이 서버위더스
(iFunFactory DevDay Server,Withus)
제목 : 분산 환경을 위한 ORM 개발 경험 공유
발표자 : 남승현 시니어 프로그래머
일정 : 2018년 03월 28일
개요 : ORM의 모든 것! ORM이 분산 환경에서 작동하기 위한 조건들과 ORM을 위한 캐시, 분산 락 구현에 대해 소개합니다.
아래링크를 통해 아이펀팩토리의 더 많은 정보를 얻으실 수 있습니다.
*아이펀팩토리 홈페이지 : https://ifunfactory.com/
*아이펀팩토리 기술 블로그 : https://blog.ifunfactory.com/
본 영상은 2021-2 KMOOC-데이터엔지니어링 강의의 원본이며, 강좌 오픈 이후에는 질의 응답 채널으로 이용 예정입니다. 각 Topic에 질문 해주시면 가능한 답은 달아드리도록 하겠습니다.
강의노트 (SlideShare) - https://www.slideshare.net/ssuser4a9113
코드 (GitHub) - https://github.com/JaewookByun/data_engineering
총 11강
구성
- ArrayList 연산
- MyArrayList - 배열 기반 List interface 구현
- LinkedList 연산
- MyLinkedList - 참조 기반 List & Queue interfaces 구현
- HashSet/HashMap 연산
- Lambda Expression
- Stream - Open JDK 15에서 이용가능한 거의 대부분의 연산을 다루려고 노력함
100% Serverless big data scale production Deep Learning Systemhoondong kim
- BigData Sale Deep Learning Training System (with GPU Docker PaaS on Azure Batch AI)
- Deep Learning Serving Layer (with Auto Scale Out Mode on Web App for Linux Docker)
- BigDL, Keras, Tensorlfow, Horovod, TensorflowOnAzure
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
[아이펀팩토리] 2018 데브데이 서버위더스 _02 분산 환경을 위한 ORM 개발 경험 공유iFunFactory Inc.
2018 아이펀팩토리 데브데이 서버위더스
(iFunFactory DevDay Server,Withus)
제목 : 분산 환경을 위한 ORM 개발 경험 공유
발표자 : 남승현 시니어 프로그래머
일정 : 2018년 03월 28일
개요 : ORM의 모든 것! ORM이 분산 환경에서 작동하기 위한 조건들과 ORM을 위한 캐시, 분산 락 구현에 대해 소개합니다.
아래링크를 통해 아이펀팩토리의 더 많은 정보를 얻으실 수 있습니다.
*아이펀팩토리 홈페이지 : https://ifunfactory.com/
*아이펀팩토리 기술 블로그 : https://blog.ifunfactory.com/
This document describes an experiment with four cases that use Arduino to control digital and analog input/output. Case 1 uses a button for digital input to randomly turn LEDs on and off. Case 2 uses three colored buttons for digital input to adjust the brightness of an RGB LED. Case 3 uses a potentiometer for analog input to control the on/off states of eight LEDs. Case 4 uses three potentiometers for analog input to adjust the brightness of an LED. The document provides circuit diagrams, code snippets, output results, and conclusions for each case.
3. 숭실대학교 아주대학교
※ 리스펙토링: 리스펙트 + 리펙토링, 약칭 리펙
※ 외부활동, 해커톤을 하면서 만난 고수들의 공통점
- 과 동아리가 있었다!
- 개발 공부자극이 지속적으로 오는 환경!
- 보이는 것부터 만들면서 흥미를 가졌다!
4. 1. 학기 중 매달 세미나
- 5월 : OT, git, github
- 6월
- 9월
- 10월
- 11월
- 12월
구성원 중 누군가 발표한다. 예정되는
주제로 aws를 통한 개인서버 구축,
API문서보는 방법, MVC프레임워크
다루기 등이 있다.
2. 학기 중 격주 스터디
※ 스터디 주제 예시
- java + spring or 파이썬+장고
- 빅데이터
- 프론트엔드(react, 앵귤러)
- 알고리즘
- 게임(유니티)
- 보안, 해킹
3. 프로젝트 및 외부활동
※ 교내대회(필수)
- 프로젝트경진대회 : 11월
※ 교외활동(옵션)
- 알고리즘: scpc, acm
- 해커톤
- 공모전
- 개발 커뮤니티
5. 1. 개발자의 세계
- 퍼블리싱
- 프론트엔드
- 백엔드
- 모바일: 안드로이드, 아이폰, 윈도우
- 게임
- DBA
- 데이터과학자: 머신러닝, 데이터분석=대용량처리
2. 최신기술의 세계
- 앵귤러
- 리액트
- 스프링
- 장고, 플라스크
- 루비온레일즈
- 코틀린
- aws, azure
- hadoop
프로그래밍 공부가 흥미없고 잘할 자신없는데, XX 프로그래밍 공부를 할때는 너무
재밌다.
→ 자신의 분야를 찾고, 그 분야에 필요한 기술스택을 공부하자
3. 성장은 어떻게
- mooc
- 유다시티
- 생활코딩
- 백준
- 인프런
- 코드카데미
4. 인턴하세요
제발
꼭
5. 학교커리큘럼도 중요하다. 머
릿속에서 조합되는 날이 올것.
원리에 대한 깊은 이해는 cs 지
식을 기반으로 한다.
6. 1. 페이스북 비밀그룹: 개인활동이 타임라인에 기재X
https://www.facebook.com/groups/124023688174089/
- ppt 공유
- 좋은 자료 공유
- 코드 질문
- 해커톤, 공모전 공유
2. 카카오톡 단톡
- 일정, 해커톤, 공모전 공유
- 코드질문 포인터 공유
- 잡담
3. 동아리 기타 활동
- 매년 깃수가 있으나, 선후배개념이 아님. 서로 나이에 따라 편하게 부르자
- 한번 리펙은 졸업할때까지 리펙이다. 본인이 속한 깃수의 세미나만 필수참여이고
이외 활동(다음깃수의 세미나 등)은 모두 자율참여다. 다만 N기는 N+1기를
이끌어줄 의무가 있다. 모두의 성장을 위하여
- 얼굴아는데 어색해서 인사안하는 경우가 많죠? 마주치면 그냥 편하게 인사합시다
- 스터디 수요조사를 통해, 희망자 스터디 구성을 합니다
리펙출신이 11월 교내프로젝트경진대회 1,2,3등 하는걸 목표하고 있습니다, 6월 세미나엔 해커톤 방식으로 개인당 아이디어발표하고 팀매칭하고 11월 대회 준비합니다.
여기는 학원이 아니다. 자신이 노력 여하에 따라 얻어가는 것이 틀릴거고, 성장속도가 틀릴 거다.
코틀린 구글io 공식언어 채택
앵귤러: ajax를 이용한 프론트 프레임워크, 싱글페이지 앱
리액트: 앵귤러코드가 덕지덕지있는걸 모듈화
못하는건없다. 설계, 그림(어떤 기술을 쓸지)그릴줄만 알고 구글링으로 통해 모든걸 해결할 수있다.