SlideShare a Scribd company logo
1
Hot Trend Lambda,
Compare C# With Java
중앙일보
JunSeok.Jung
2
정준석
korcosin@gmail.com
2011.01 ~ 2011.10 : LG전자 R&D연구소 (아주 잠깐)
2011.11 ~ 2015.05 : WISEnut( Search-Tech 팀 )
2015.05 ~ 2016.07 : 에듀윌 ( 개발팀 )
2016.07 ~ ING : 중앙일보 ( 기술개발팀 )
- Crawling Technical Specialist
- Web Developer
- Polyglot Programmer… 가 되고 싶은…
- .NET과 JAVA 이중 스파이
INDEX
3
1. Lambda Expression?
2. Why Learning Lambda
3. C# Lambda
4. Java Lambda
5. Expected to .NET 5.0
6. Expected to Java 1.9
오늘 할 이야기
4
이 강연을 들어야 할 사람
5
숨바꼭질 中 손현주의 행위
6
7
8
장악 당한 집의 개수는?
9
장악 당한 집의 개수는?
10
장악 당한 집의 개수는?
11
장악 당한 집의 개수는?
Stream API with Lambda ( Java 8 )
12
Lambda?
13
Lambda?
14
Lambda?
〃 어떤 문제를 해결하기 위한 과정을
수학적 함수를 이용하여 표현한 수식 〃
15
Why?
Compact Code
Multi Core CPU
Trend
?
16
17
18
C# Lambda - History
Delegate ( C# 1.0 )
19
C# Lambda - History
Anonymous Method ( C# 2.0 )
20
C# Lambda - History
Lambda ( C# 3.0 )
21
C# Lambda – ex1 ( 과거의 정렬 )
22
C# Lambda – ex1 ( 람다의 정렬 )
Type Inference ( C# 3.0 )
Sort With Lambda
23
C# Lambda – ex2
LINQ ( C# 3.0 )
24
C# Lambda – ex2 ( LINQ의 예 )
25
C# Lambda – ex3
Extension Method With Lambda
26
C# Lambda – ex4
27
C# Lambda – ex4
LINQ to SQL ( C# 3.5 )
28
C# Lambda
LINQ to XXX ( C# 3.5 )
SQL
XML
Object
EntitiesDataSet
29
C# Lambda – ex4 ( 고급 LINQ to SQL )
30
C# Lambda – TIP
foreach( var x in y ) VS ToList().ForEach
Imperative
Programming
Functional
Programming
31
C# Lambda – ex5
Query Syntax
32
C# Lambda – ex6
33
C# Lambda – ex6
LINQ to XML ( C# 3.5 )
34
C# Lambda – ex7
PLINQ ( C# 4.0 )
35
C# Lambda
C# Lambda/LINQ가 주는 교훈
Declarative
Programming
Elegance
F#의 탄생 Java 위협
* 주관적인 제 생각^^;;
36
37
Java Lambda – ex1 ( 과거의 Thread )
38
Java Lambda – ex1 ( 람다의 Thread )
Functional Interface
39
Java Lambda – ex1
Functional Interface
Interface Abstract Method
1 1
java.util.function.*
40
Java Lambda – ex2
Type Inference
41
Java Lambda – ex2 ( Type Inference )
42
Java Lambda – ex3 ( 과거의 정렬 )
43
Java Lambda – ex3 ( 람다의 정렬 )
44
Default Method
Method Reference
Java Lambda – ex3 ( 람다의 정렬 심화 )
45
Java Lambda – ex4
Stream API
46
Java Lambda – ex4
Stream API
Internal Iteration
Anti Imperative
Programming
Lazy
Programming
Not How,
Do What
47
Java Lambda – TIP
Internal V.S External
48
Java Lambda – ex4 ( Stream API )
49
Java Lambda – ex4 ( Stream API )
50
Java Lambda – ex4 ( Stream API )
51
Java Lambda – ex4 ( Stream API )
52
Java Lambda – ex5
Parallel Stream
53
Tip
Stream V.S Parallel Stream
무조건 쓰는 것은 X Fork-Join 기법
Parallel Stream이 짱?
54
Tip
Parallel Stream의 고려 사항
1. 데이터 크기
2. 소스 데이터 구조
3. 객체화
4. 코어의 개수
5. 등등…
- 충분한 데이터가 있을 때
- 데이터 소스를 쉽게 나눌 수 있는 구조일 때
- int,float,double > Integer,Float,Double
- 접근할 수 있는 코어가 많을 수록
55
Tip
Parallel Stream 좋아요!
ArrayList / Array /
IntStream.range
56
Tip
Parallel Stream 그럭저럭 쓸만한데..?
HashSet / TreeSet
57
Tip
Parallel Stream 피해주세요
LinkedList Random
Access
불가능!
58
Expected to…
59
60
61
62
63
64
Stream API
65
Stream to SQL
66
Why Learning Lambda?
67
Why?
Compact Code
Multi Core CPU
Trend
?
68
Why?
Compact Code
Multi Core CPU
Trend
Polyglot
69
Reference Data…
70
Thanks to…
WISEnut
Co-worker
Silicon Valley
Study Group
Spring Camp ETC…
71
Thank You !!
〃
잔잔한 바다에서는
좋은 뱃사공이 만들어지지 않는다.
- 영국 속담 -
〃

More Related Content

PPTX
자바_웹_개발자를_위한_c#_핵심_기능
PPTX
OKKY_송년회_발표자료
PDF
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
PPTX
회사에서 새로운 기술_적용하기
PDF
스프링 코어 강의 1부 - 봄 맞이 준비 운동
PDF
Slipp clojure-1212
PPTX
[devil's camp] - Crack me (김민재)
PDF
Java the good parts
자바_웹_개발자를_위한_c#_핵심_기능
OKKY_송년회_발표자료
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
회사에서 새로운 기술_적용하기
스프링 코어 강의 1부 - 봄 맞이 준비 운동
Slipp clojure-1212
[devil's camp] - Crack me (김민재)
Java the good parts

What's hot (20)

PPTX
The Future of C# and .NET Framework
PDF
Work With Engineer
PDF
청강대 특강 - 프로젝트 제대로 해보기
PDF
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
ODP
팀장 잔소리
PDF
예제를 통해 쉽게_살펴보는_뷰제이에스
PDF
왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)
PDF
[D2 CAMPUS] Dodge the Dodge - GoN
PDF
Java null survival guide
PPTX
Tech Update - The Future of .NET Framework (김명신 부장)
PDF
자바8 나머지 공개
PDF
그루비로 안드로이드 앱 개발하기
PPTX
백엔드 서버 개발과 코틀린의 조합
PDF
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
PPTX
멸종하는 공룡이 되지 않으려면
PDF
도도와 파이썬: 좋은 선택과 나쁜 선택
PDF
TensorFlow.js & Applied AI at the Coca-Cola Company
PDF
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
PPTX
C++ GUI 라이브러리 소개: Qt & Nana
PDF
Pycon Korea 2018 - 비개발자에게 파이썬 가르치기
The Future of C# and .NET Framework
Work With Engineer
청강대 특강 - 프로젝트 제대로 해보기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
팀장 잔소리
예제를 통해 쉽게_살펴보는_뷰제이에스
왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)
[D2 CAMPUS] Dodge the Dodge - GoN
Java null survival guide
Tech Update - The Future of .NET Framework (김명신 부장)
자바8 나머지 공개
그루비로 안드로이드 앱 개발하기
백엔드 서버 개발과 코틀린의 조합
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
멸종하는 공룡이 되지 않으려면
도도와 파이썬: 좋은 선택과 나쁜 선택
TensorFlow.js & Applied AI at the Coca-Cola Company
오픈소스 개발참여한 이야기 (NIPA 오픈프론티어 3기 송태웅)
C++ GUI 라이브러리 소개: Qt & Nana
Pycon Korea 2018 - 비개발자에게 파이썬 가르치기
Ad

Similar to Hot Trend Lambda Expressions, Compare C# With Java (20)

PDF
Java8 - Oracle Korea Magazine
PDF
Java8 & Lambda
PDF
SpringCamp 2013 : About Jdk8
PDF
Java 8 & Beyond
PPTX
PDF
람다, 스트림 Api
PPTX
Java 그쪽 동네는
PDF
Java stream v0.1
PDF
Java stream v0.1
PDF
Java 8 api :: lambda 이용하기
PDF
1.Startup JavaScript - 프로그래밍 기초
PDF
JDK 변천사
PPTX
자바9 특징 (Java9 Features)
PDF
자바8강의 1강. lambda expression
PPTX
2014년에 만든 나만의 이력서
PPTX
1. introduction to java8
PPTX
Java collections framework
PPTX
자바 8
PPTX
Just java
PPTX
Tech-days 미니 토요세미나 - 3회 C#편 PPT 자료
Java8 - Oracle Korea Magazine
Java8 & Lambda
SpringCamp 2013 : About Jdk8
Java 8 & Beyond
람다, 스트림 Api
Java 그쪽 동네는
Java stream v0.1
Java stream v0.1
Java 8 api :: lambda 이용하기
1.Startup JavaScript - 프로그래밍 기초
JDK 변천사
자바9 특징 (Java9 Features)
자바8강의 1강. lambda expression
2014년에 만든 나만의 이력서
1. introduction to java8
Java collections framework
자바 8
Just java
Tech-days 미니 토요세미나 - 3회 C#편 PPT 자료
Ad

Hot Trend Lambda Expressions, Compare C# With Java