Hot Trend Lambda Expressions, Compare C# With Java
-
Upload
junseok-jung -
Category
Technology
-
view
801 -
download
10
Transcript of Hot Trend Lambda Expressions, Compare C# With Java
1
Hot Trend Lambda,Compare C# With Java
중앙일보JunSeok.Jung
2
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 )
SQLXML
Object
EntitiesDataSet
29
C# Lambda – ex4 ( 고급 LINQ to SQL )
30
C# Lambda – TIP
foreach( var x in y ) VS ToList().ForEach
ImperativeProgramming
FunctionalProgramming
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가 주는 교훈
DeclarativeProgramming
Elegance
F#의 탄생 Java 위협* 주관적인 제 생각^^;;
36
37
Java Lambda – ex1 ( 과거의 Thread )
38
Java Lambda – ex1 ( 람다의 Thread )
Functional Interface
39
Java Lambda – ex1
Functional Interface
Interface Abstract Method1 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 IterationAnti ImperativeProgramming
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…
WISEnutCo-worker
Silicon ValleyStudy Group
Spring Camp ETC…
71
Thank You !!
〃
잔잔한 바다에서는
좋은 뱃사공이 만들어지지 않는다.
- 영국 속담 -
〃