더 많은 샘플코드는 아래 주소에서 보실 수 있습니다.
https://github.com/KennethanCeyer/pycon-kr-2017/blob/master/README-KR.md
파이썬으로 개발을 진행할 때
메모리가 넘쳐흐르거나 프로세스 진행 순서가 엉망인 경험 없으세요?
리액티브 프로그래밍은 복잡한 데이터 흐름을 새로운 관점에서 쉽게 정의하고 재활용 할 수 있도록 도와줍니다.
또한 제너레이터와 코루틴은 거대한 데이터 스트림을 가볍게 하이파이브하며 여러분이 원하는대로 처리해줄 수 있게 설계되어 있습니다. 물론 처리시간도 늘어나지 않으면서요!
다가오는 파이콘 한국 2017, 13일 일요일 점심에 여러분에게 앞서 말한 기능을 이용하여 여러분의 코드를 조금 더 효율적으로 짜실 수 있는 노하우를 공유드리고자 합니다.
더 많은 샘플코드는 아래 주소에서 보실 수 있습니다.
https://github.com/KennethanCeyer/pycon-kr-2017/blob/master/README-KR.md
파이썬으로 개발을 진행할 때
메모리가 넘쳐흐르거나 프로세스 진행 순서가 엉망인 경험 없으세요?
리액티브 프로그래밍은 복잡한 데이터 흐름을 새로운 관점에서 쉽게 정의하고 재활용 할 수 있도록 도와줍니다.
또한 제너레이터와 코루틴은 거대한 데이터 스트림을 가볍게 하이파이브하며 여러분이 원하는대로 처리해줄 수 있게 설계되어 있습니다. 물론 처리시간도 늘어나지 않으면서요!
다가오는 파이콘 한국 2017, 13일 일요일 점심에 여러분에게 앞서 말한 기능을 이용하여 여러분의 코드를 조금 더 효율적으로 짜실 수 있는 노하우를 공유드리고자 합니다.
In this presentation, I provide a definition of the Internet of Things (IoT) and, after having told a brief story of IoT, I introduce the scenario of e-Health
Dans cet exposé (non scientifique) je présente une définitions de "Internet des Objets" (IdO ou IoT de l'anglais "Internet of Things"), je raconte une brève histoire du concept et aussi du terme. Enfin, je montre un scénario applicatif: l’e-santé
Ce cours introduit à l'intelligence artificielle. La première partie du cours présente et définit ce qu'est l'intelligence et décrit les notions d'agent rationnel et d'environnement et leurs propriétés. Ces deux concepts permettent d'offrir un cadre de réflexion sur l'intelligence. La fin de la première partie présente les neufs formes d'intelligence selon Howard Gardner. La seconde partie du cours présente et définit l'intelligence artificielle, initiée par Marvin Minsky et John McCarthy au MIT. Elle présente également le test de Turing, test permettant de déterminer si une machine peut penser. Cette partie se termine en présentant les six grands domaines de l'intelligence artificielle.
2018년 6월 24일 "백수들의 Conference"에서 발표한 개발자를 위한 (블로그) 글쓰기 intro입니다
좋은 글을 많이 보는 노하우 + 꾸준히 글을 작성하는 노하우에 대해 주로 이야기했습니다! (어떻게 글을 작성하는가는 없어요!)
피드백은 언제나 환영합니다 :)
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
Gonnector(고넥터) 고영혁 대표가 주최한 스타트업 데이터 활용 세미나 '우리가 데이터를 쓰는 법' 의 세 번째 발표 자료
세미나 : 우리가 데이터를 쓰는 법 (How We Use Data)
일시 : 2016년 4월 12일 화요일 10:00 ~ 18:00
장소 : 마루180 (Maru180) B1 Think 홀
제목 : 모바일 게임 로그 데이터 분석 이야기
연사 : 엔터메이트 공신배 팀장
CNA(Cloud Native Architecture)
MSA(Micro Service Architecture)
Service Mesh
MDA(Micro Data Architecture)
Data Mesh
MIA(Micro Inference Architecture)
Inference Mesh
씨마스에서 만든 소프트웨어교육론(저자 정영식, 유정수, 임진숙, 손유경) 책의 파워포인트 자료를 공유합니다.
소프트웨어 교육의 환경, 소프트웨어 교육의 목적, 소프트웨어 교육의 이해, 소프트웨어 교육 과정, 소프트웨어 교수법, 소프트웨어 교재, 소프트웨어 교육의 평가와 분석, 자료, 문제해결과 언플러그드 활동, 알고리즘, 프로그래밍 언어, 융합과학과 소프트웨어, 정보 윤리와 저작권 등으로 구성되어 있습니다.
In this presentation, I provide a definition of the Internet of Things (IoT) and, after having told a brief story of IoT, I introduce the scenario of e-Health
Dans cet exposé (non scientifique) je présente une définitions de "Internet des Objets" (IdO ou IoT de l'anglais "Internet of Things"), je raconte une brève histoire du concept et aussi du terme. Enfin, je montre un scénario applicatif: l’e-santé
Ce cours introduit à l'intelligence artificielle. La première partie du cours présente et définit ce qu'est l'intelligence et décrit les notions d'agent rationnel et d'environnement et leurs propriétés. Ces deux concepts permettent d'offrir un cadre de réflexion sur l'intelligence. La fin de la première partie présente les neufs formes d'intelligence selon Howard Gardner. La seconde partie du cours présente et définit l'intelligence artificielle, initiée par Marvin Minsky et John McCarthy au MIT. Elle présente également le test de Turing, test permettant de déterminer si une machine peut penser. Cette partie se termine en présentant les six grands domaines de l'intelligence artificielle.
2018년 6월 24일 "백수들의 Conference"에서 발표한 개발자를 위한 (블로그) 글쓰기 intro입니다
좋은 글을 많이 보는 노하우 + 꾸준히 글을 작성하는 노하우에 대해 주로 이야기했습니다! (어떻게 글을 작성하는가는 없어요!)
피드백은 언제나 환영합니다 :)
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
Gonnector(고넥터) 고영혁 대표가 주최한 스타트업 데이터 활용 세미나 '우리가 데이터를 쓰는 법' 의 세 번째 발표 자료
세미나 : 우리가 데이터를 쓰는 법 (How We Use Data)
일시 : 2016년 4월 12일 화요일 10:00 ~ 18:00
장소 : 마루180 (Maru180) B1 Think 홀
제목 : 모바일 게임 로그 데이터 분석 이야기
연사 : 엔터메이트 공신배 팀장
CNA(Cloud Native Architecture)
MSA(Micro Service Architecture)
Service Mesh
MDA(Micro Data Architecture)
Data Mesh
MIA(Micro Inference Architecture)
Inference Mesh
씨마스에서 만든 소프트웨어교육론(저자 정영식, 유정수, 임진숙, 손유경) 책의 파워포인트 자료를 공유합니다.
소프트웨어 교육의 환경, 소프트웨어 교육의 목적, 소프트웨어 교육의 이해, 소프트웨어 교육 과정, 소프트웨어 교수법, 소프트웨어 교재, 소프트웨어 교육의 평가와 분석, 자료, 문제해결과 언플러그드 활동, 알고리즘, 프로그래밍 언어, 융합과학과 소프트웨어, 정보 윤리와 저작권 등으로 구성되어 있습니다.
오컴 Clip IT 세미나 1회차 "머신러닝과 인공지능의 현재와 미래"
1. 인공지능과 머신러닝
- 영화 및 애니메이션에 나타나는 친화적 인공지능과 적대적 인공지능, 그리고 감성적 인공지능
- 강한 인공지능과 약한 인공지능의 차이
- 인공지능과 머신러닝의 관계
2. 딥러닝과 강화학습
- 인공지능의 중요 열쇠이자 머신러닝의 세부 이론인 딥러닝과 강화학습에 대한 개괄 소개
3. 인공지능에 대한 우리의 자세
- 과연 인공지능은 완벽한가?
- 과연 인공지능은 인간 전문가를 대체할 수 있을까?
- 데이터의 중요성
이노베이션 아카데미 멘토로서 3년 간의 혁신교육 경험을 글로 정리했습니다.
- 독자 : 개발자 학교, 부트캠프 등
- 했던 일 :
- 42 Seoul (에꼴42 서울캠퍼스) 교육지원
- 새로운 교육모델 연구개발 (집단학습모델, 학습 커뮤니티 연구)
pdf 파일로 누구나 다운로드 가능합니다.
출처명기 후 얼마든지 인용 및 활용 가능합니다. (6.5 MB, 224페이지)
좋은 후배 많이 양성해주세요.
오탈자 양해 부탁드립니다.
소개글 : https://subokim.wordpress.com/2023/03/20/3years_in_innoaca/
제가 멘토로 참여한 한 팀과제를 올려봅니다.
참여 팀원들 모두 고생하셨습니다.
---
관심 : 장애인복지시설 개선에 대한 관심으로 시작,
주제 : 평균 1시간 이상씩 걸리는 "장애인콜택시" 대기시간 분석
목표 : 어떻게 개선할 수 있을까를 도출함.
참고 : http://data.seoul.go.kr
교육과정 : SBA 빅데이터 교육과정, PBL 과제
앱서비스에서 결제를 하고 싶어하는 팀을 위한 안내서.
개념 잡기용이며 상세한 것은 링크를 참조하셔서 공부하세요.
- 독자 : 결제, 정산을 구현하고 싶은 개발자 (입문자 이상)
- 내용 : 결제를 개발할 때 내 서버에 구현해야 할 것들
- 특이사항 : 요즘은 '아임포트' 같은 걸 이용해서 쉽게 연동이 가능합니다만...
어느 해커쏜에 참여한 백엔드 개발자들을 위한 교육자료
쉽게 만든다고 했는데도, 많이 어려웠나봅니다.
제 욕심이 과했던 것 같아요. 담번엔 좀 더 쉽게 !
- 독자 : 백엔드 개발자를 희망하는 사람 (취준생, 이직 희망자), 5년차 이하
- 주요 내용 : 백엔드 개발을 할 때 일어나는 일들(개발팀의 일)
- 비상업적 목적으로 인용은 가능합니다. (출처 명기 필수)
OKJSP 'SI프리랜서 개발자들을 위한 5 Step Manual' 이라는 행사에서 발표한 내용입니다. 청중의 50%정도는 SI 개발자분들이셨고 50%정도는 프리랜서를 고민하는 분들이었습니다. 주로 미래에 대한 불안이 많으셨는데요. 스스로를 어떻게 가꾸고 알릴 것인가를 말씀드렸습니다.
OKJSP, '개발자의 삶' 행사에서 발표한 내용입니다.
개발자들이 어떻게 살아야 할지 이야기를 해주는 경우가 많지 않아 초기 취업과 이직에 실패하는 분들이 적지 않은데요.
부족하지만 제 경험들을 바탕으로 얻는 노하우를 함께 공유해드렸습니다.
- 독자 : 5년차 이하의 개발자분들
- 주제 : 취업관련 진로고민
- 주요 내용 : 내가 경험해본 회사들과 특징
- 인용시 출처명기
대형 병원의 교양 세미나에서 발표한 자료입니다.
이미 기술 지식은 충분하셨고 사례를 많이 궁금해 하셨습니다. 그래서 제 경험을 통해 얻었던 인사이트를 많이 나누었습니다. 하지만 의료현장은 플랫폼이나 기술보다는 의료기기로 접근하지 않으면 사용되기 힘들다는 생각이 들었습니다.
2. 강의하는 사람
2
1996 대기업 : 공공 SI (4GL, DBA, SA …)
2000 벤처 : 로드뷰 기반의 인터넷 가상여행 서비스
2003 중소기업 : KTF, LGT 서비스 인프라
(SOA, API BigData)
2010 포털업체 : Full GIS, 스마트 모바일 서비스
2013 중소기업 : BigData 연구소
2014 OKJSP : 소프트웨어 교육
6. 우리가 상상하는 미래
6
아바타, 입체지형도
• 촬영(투시) – GIS – 3D – 가상출력 – 공간조작
스타트랙, 엔터프라이즈호
• 몇 개의 컴퓨터와 소프트웨어
시스템이 들어갈까?
써로게이트
• 통신 + 로보틱스 + 관제
+ 뇌과학
• 기형 안마 의자
7. 현실은?
7
모든 시스템은 무한하게 복잡해진다.
– Systemantics, Systems science, John Gall, 1975
항상 바쁜 일이 먼저다.
장애
멘붕의 반복
발토매틱 시스템
8. 컴퓨팅 환경의 빠른 진화
8
ENIAC
1943 ~ 1953
Cray
1975~
CDC6600
1964~1969
HP-UX
1983~
9. 소프트웨어 시장의 변화
9
대충대충 분류해보면… 주요 예제
기업체의 전통적
자원 조달방법
기술환경의
변화
새로운
자원 조달방법
인터넷서비스
(포털,커머스…)
내재화+용역
오픈 소스화
= 기술환경의 재편
내재화 높아짐
= 개발팀 역할이
커지고 일이
많아짐
SAP, Siebel… 구매
Oracle,MySQL,
NoSQL
구매
Windows, Linux 구매 리눅스 대세 -
… 구매+용역 기술의 범용화
내재화 비중
높아짐
… 내재화+용역
특수업체만 생존
시장이 좁아짐
-
… 구매
안드로이드,애플,
윈도우,리눅스
-
… 구매 범용화 -
Service Application
Solution
Database, Middleware etc
Server OS
Package, Application
Embedded Software
Device OS
Hardware
서버단말,PC
통신의 발달 사업환경이 글로벌화됨 범용 HW, 다양한 SW(기능)
10. 소프트웨어 역할의 변화
10
하드웨어
소프트웨어
하드웨어
(범용)
소프트웨어
하드웨어
(범용)
소프트웨어
(인터넷 서비스)
첨단 제조업의 시대 소프트웨어 제품의 시대 인터넷 서비스의 시대
산업관점
다양한 기능을 가진 하드웨어 제
품이 등장함
패키지 소프트웨어의 등장,
업무 전산화가 시작됨
통신과 소프트웨어를 이용한
서비스업종이 등장함
하드웨어
디지털 워드 프로세서
의료장비, 디지털 라디오
PC, Mobile, MP3 Player 스마트폰, 아이패드, IoT
소프트웨어
Embedded S/W
HW 종속적 기술
아래한글, MS Office
주민등록전상망 시스템
API, Full Stack
가상화된 기술이 등장
SW 개발자 HW 엔지니어링 지식이 중요 소프트웨어 언어, OS환경이 중요 인터넷 기반 기술환경이 중요
SW 조직 별도 조직이 필요없음 대형 신규 SW 구축조직 (ITO포함) 지속적인 개발 운영 + 개선 역량
개발방법론 없음 폭포수 개발방법론, CBD, MDA 등 Agile, XP
11. 호모 IT쿠스의 짧은 역사
11
• IT 기술사업을 위한 조직관리, 경영관리 노하우 부족
• 다양한 IT 자원 조달을 위한 사회적 시스템 부재
• Mega Complex 해지기 위한 기술혁신이 필요
세계 IT의 역사(66년)
- ENIAC 탄생 68년
- WIN95출시 20년
- 구글 탄생 17년
국내 은행의 역사(116년)
- 1897년, 한성은행
근대 보험의 역사(325년)
- 1688년, 영국
VS
12. 현실과 미래의 차이
12
기술적인
관점
소프트웨어
개발자
소프트웨어
개발팀
IT 회사
• Mega Complex해지기 힘든 기술구조
- Java Spring, Node, MySQL …
- Oracle, BPM, CRM …
- MVC, N-Tier, Observer Pattern …
• 기술을 다루는 기술 부족
- Code, Architecture, Pattern, Mode, Language …
- Computer Engineering …
- 의사소통, 일처리 기술
사회
• 일하는 방법의 느린 발전
- 시스템 품질 유지를 위한 일처리 기술
- 효과적 협업방안과 팀업무 처리 기술
- 동기 부여와 성과 유지 기술
• IT 사업의 노하우 부족
- 팀빌딩, 프로젝트 수행 기술
- 기술인력 및 재원의 조달관리
- 마케팅 및 세일즈, 고객 연구
• IT 사회를 위한 사회적 인프라 부재
- 인지학, 심리학, AI 등의 학문 성과 부재
- 소프트웨어 인프라의 고도화 (클라우드, API, SW Market등)
- 법적 문제, 권리 문제에 대한 인식
13. 프로젝트, 팀에 대한 이야기
13
※ Greg Duncan 블로그(2013.12), 실로콘밸리, MS Developer
이 사람이
일의 99%를 함
언제나 생각이 없음
도와주겠다고 이야기하지만 절대 그러지 않음
시작할 때 사라져서
절대 다시는 나타나지
않는 사람
14. 움직이는 복잡성
14
전체 부품 20,000 개
엔진은 1,200개의 부품으로 구성됨
신차개발주기 5년 30개월 20개월
제너시스 H사의 모앱
서버 장비 15대
DB Table 200여개
Internal API 150여개
웹화면 100개
단말화면 100개
3개 인프라 사용(캐쉬, 쿠폰, 회원)
개발기간 1년 + 운영기간 1년
모든 부품은 한 번에 만들어지지 않는다. 인프라 축적이 중요
15. 한계효용 체감의 법칙
15
제품의 품질
자원의 투입량
완성도 100%
사업환경이
계속 변한다.
• 품질은 절대 한번에 좋아지지 않는다.
• 품질은 개발자가 투입한 시간과 노력만큼 좋아진다.
• 자원 투입의 한계효용성은 점점 떨어진다.
• 품질 완성도는 결코 100%에 이르지 않는다.
품질은 신기술로 해결되지 않는다. 점진적 개선을 위한 업무계획과 수행
16. 오버 엔지니어링, 아키텍쳐링 …
16
기술은 완벽해질 때가 아니라 사용자를 웃게 만들 때 가장 가치가 있다.
17. 문제에 대한 최초의 인식
17
Organizations which design systems ... are constrained to produce
designs which are copies of the communication structures of these
organizations
- M. Conway (1968)
Melvin Conway
시스템을 만드는 조직은 그 조직의 소통구조와 똑같은 시스템을 만들게
제약받는다. (모든) 시스템은 그 조직의 의사소통구조에 종속적이다.
18. 애자일에 대한 이해
18
Agile Manifesto(2001.2)
1. Process, Tools Individual, Interactions
2. Document Working Software
3. Contract Negotiation Customer Collaboration
4. Following plan Responding to Change
소프트웨어 공학
- 구축 후 변경이 없는
- 복잡한 대규모 기능
- 프로세스와 절차에 따라
- 설계와 수행을 분리
- 절차적 언어에서 비롯
- 건설 관리 방법을 차용
현실적 괴리
- 요구사항의 변경이 잦아
- 작업량 예측이 힘듬
- 비용과 시간의 한계
- 객체 지향 기술과의 부조화
17인의 개발자 (2001.2)
- 켄트백(40), 하이스미스(56), 스테판멜로(49)
외 14인 = 미국 소프트웨어 엔지니어 원로모임
실리콘밸리
- XP, Scrum, Feature-Driven, Extreme Modeling
,Adaptive Software Development
소프트웨어 사업의 핵심자산은 절차와 도구가 아니라 훈련된 사람이다.
19. 좋은 IT 회사의 자산
19
Reusable
Source
Testable
API
Documents
Re-
Creation
B2D
Business
B2C
Business
DevOps Environment
Auto - Deploy Fail Recovery
Monitor&
Control
기술자산 창의적, 능동적 문화 훈련된 개발팀
운영 지원 시스템
24. 공통적인 개발자의 현실
24
20대 60대30대 40대 50대
인생1막
- 조직 속의 나
인생2막
- 조직을 떠난 후
인생3막
- 경제능력 상실 후
우리나라 미국
나만 아는 코드
젖은 낙엽 정신
신기술 따라가기
치킨집
커뮤니티 참여
개인 프로젝트
스타트업 로또복권
고액연봉
In Progress
25. 어떤 삶을 선택할 것인가?
25
Technique
Product
Reputation
무엇으로누구에게 어떤 존재
Buyer Result
Value
26. 그동안의 교훈
26
250만 가입자
(국내)
1,000만 다운로드
(글로벌)
300만 다운로드
(글로벌)
1,000만 다운로드
(한국, 중국)
기술은 동기를 가질 때 위대해진다.
적정기술오버엔지니어링
고수하수
유지보수 하지 않으면 사라진다.
모두가 처음 가는 길이다.
1.
2.
3.
4.
Alan Kay, OOP, windows GUI의 개척자, ‘미래를 예측하는 가장 좋은 방법은 미래를 창조하는 것이다.’
Alan Cooper, Visual Basic의 아버지, Goal Directed Design Methodology, Interaction Design, Ruby 의 전신 Tripod 개발, IT에 페르소나를 도입
Ted Nelson, 사회학자, 철학자, Hyper Text, Hyper Media, 1963
Gerald Weinberg, 소프트웨어 개발에 대한 인류학자이자 심리학자, 애자일에 지대한 영향을 끼침. The Psychology of Computer Programming and Introduction to General Systems Thinking
Lary Wall, Perl의 창시자,