자바_웹_개발자를_위한_c#_핵심_기능

59
1 자자 자 자자자자 자자 C# 자자 자자 자자자 JunSeok.Jung

Transcript of 자바_웹_개발자를_위한_c#_핵심_기능

1

자바 웹 개발자를 위한C# 핵심 기능

에듀윌JunSeok.Jung

2

정준석[email protected]

2011.01 ~ 2011.10 : LG 전자 R&D 연구소 ( 아주 잠깐 )

2011.11 ~ 2015.05 : WISEnut( Search-Tech 팀 )

2015.05 ~ : 에듀윌 ( 개발팀 )

- Crawling Technical Specialist

- Web Developer

- Polyglot Programmer… 가 되고 싶은…

- .NET 과 JAVA 이중 스파이

INDEX

3

1. Intro

2. 이것만 알면 나도 .NET 개발자3. 고급 개발자가 되기 위한 LINQ

4. Expected to .NET Framework

5. Q&A

오늘 할 이야기

4

Intro

5

JAVA 도 빡 샌데 왜 C# 을 알아야 하는데 ?

Intro

6

지금은 Polyglot 시대

Intro

7

이 슬라이드를 보면 유익할 것 같은 대상자

- 신입 소프트웨어 공학도

또는

- 지금까지 개발 하면서 C# 을 접해보지 못하신 분 (Java, Python, C++, 등등… 개발자 )

- 그 중에서도 웹 개발자

- 그 중에서도 이번에 ASP.NET 으로 프로젝트를 해야 하는데 , 공부하기 싫은 분 ( 빠르게 핵심 기능만 써서 위기 상황을 넘어가실 분 )

즉 , 이 강연은 C# Master 분들이 들으시면 너무 싱거울 수 있습니다 .

Intro

8

사실은…그냥 전부 다 ~ ( C# Master 님들 빼고 ^^ )

Intro

이 슬라이드를 보면 유익할 것 같은 대상자

9

이것만 알면 나도 .NET 개발자

10

namespaceusingDictionary<Tkey, Tvalue>DataTableSqlConnectionSqlCommandSqlDataReader------------------------------Repeater ControlListView Control

이것만 알면 나도 .NET 개발자

11

namespaceusingDictionary<Tkey, Tvalue>DataTableSqlConnectionSqlCommandSqlDataReader------------------------------Repeater ControlListView Control

이것만 알면 나도 .NET 개발자

12

1. Java 의 package 개념

namespace

13

2. 기본적으로 namespace 이름을 나열한다 .

namespace

14

3. namespace 영역 안에 다중 namespace 를 나눌 수 있다 .

namespace

15

4. namespace 영역 안에 Class 를 만든다 .

namespace

16

5. namespace 영역 안에 Interface 를 만든다 .

namespace

17

6. 이 밖에도 enum, delegate, struct 를 만들 수 있다 .

namespace

18

namespaceusingDictionary<Tkey, Tvalue>DataTableSqlConnectionSqlCommandSqlDataReader------------------------------Repeater ControlListView Control

이것만 알면 나도 .NET 개발자

19

1. Java 의 import 기능

using

20

2. 사용자가 정의해 놓은 namespace 를 참조 할 수 있다 .

using

21

3. IDisposable 기능 ( Auto Close )

using

22

namespaceusingDictionary<Tkey, Tvalue>DataTableSqlConnectionSqlCommandSqlDataReader------------------------------Repeater ControlListView Control

이것만 알면 나도 .NET 개발자

23

1. key-value Collection

Dictionary<Tkey, Tvalue>

24

namespaceusingDictionary<Tkey, Tvalue>DataTableSqlConnectionSqlCommandSqlDataReader------------------------------Repeater ControlListView Control

이것만 알면 나도 .NET 개발자

25

1. Table 형태의 데이터 처리

DataTable

26

namespaceusingDictionary<Tkey, Tvalue>DataTableSqlConnectionSqlCommandSqlDataReader------------------------------Repeater ControlListView Control

이것만 알면 나도 .NET 개발자

27

1. SQL Connection String 을 설정 한 후에 ,

SqlConnection

28

2. Database Connection

SqlConnection

29

3. Run SQL ( CRUD )

SqlCommand

Select 는 ExecuteReader()

Insert/Update/Delete 는 ExecuteNonQuery()

30

4. Read Record ( One Row Scan )

SqlDataReader

31

5. 전체 예제

System.Data.SqlClient

32

6. 전체 예제

System.Data.SqlClient

33

namespaceusingDictionary<Tkey, Tvalue>DataTableSqlConnectionSqlCommandSqlDataReader------------------------------Repeater ControlListView Control

이것만 알면 나도 .NET 개발자

34

1. Data Binding 을 편하게 하는 .NET Control

Repeater / ListView

35

2. Repeater Front Code

Repeater / ListView

36

3. Repeater Behind Code

Repeater / ListView

37

4. ListView Front Code ( Insert/Edit/EmptyData Template 기능도 있어요 )

Repeater / ListView

38

5. ListView Behind Code

Repeater / ListView

39

고급 개발자가 되기 위한 LINQ

40

고급 개발자가 되기 위한 LINQ

LINQ 란 ?

- Language Integrate Query

- Extend Method

- Query Syntax

- Anonymous Type

- Lambda Expression

41

고급 개발자가 되기 위한 LINQ

42

고급 개발자가 되기 위한 LINQ

43

고급 개발자가 되기 위한 LINQ

44

고급 개발자가 되기 위한 LINQ

LINQ to SQL

45

고급 개발자가 되기 위한 LINQ

더 알고 싶다면 아래 URL 에서…

C# 과 Java 의 Lambda ExpressionC# 의 LINQ / Java 의 Stream APIC# 의 PLINQ / Java 의 Parallel Stream API

를 정리한 Slide Share & 동영상〃http://www.slideshare.net/junseokjung1/hot-trend-lambda-expressions-compare-c-with-java

〃〃https://www.youtube.com/watch?v=ETV91yH8sZ4&feature=youtu.be

46

Expected to .NET Framework

47

2015 년 4 월… - Spring Camp 2015 에서 했던 발언…

〃제품 기술에 대해 전혀 모르는 ,Super Sales 출신스티브 발머가 떠났습니다 .

Expected to .NET Framework

48

2015 년 4 월… - Spring Camp 2015 에서 했던 발언…

〃Super Developer 출신사티아 나델라의 새로운 MS 의 움직임이매우 기대 됩니다 .

Expected to .NET Framework

49

2015 년 4 월… - Spring Camp 2015 에서 했던 발언…

〃Open source project 증가 ,Linux Platform Collaboration

Expected to .NET Framework

50

2015 년 4 월… - Spring Camp 2015 에서 했던 발언…

〃이제는 M$ 가 아니라는 증거

Expected to .NET Framework

51

〃LINQ Provider 를 살려보자 !!

MS-SQL 만 지원하는 ,LINQ to SQL 부터뜯어고치는 것이 혁신의 시작 !

Expected to .NET Framework

52

〃이라고 했지만…

Expected to .NET Framework

53

〃LINQ TO SQL 은 가볍게 나온 Provider

여러 개의 DB 를 지원하는Enterprise 한 이슈에 대한 해결책은

Entity Framework!! 〃

Expected to .NET Framework

54

〃만약 사용하고 있는 DB 가 SQL Server( MS-SQL) 라면 ,LINQ To SQL 을 사용 하는 것이 바람직하다 .

그 외의 상황이라면 ,Entity Framework 를 도입해야 한다 .( NHibernate, Spring.NET, MyBatis.NET )

Expected to .NET Framework

55

〃하지만 ,처음부터 Entity Framework 를 사용하는 것은매우 무겁고 진입장벽도 높다 .

Expected to .NET Framework

56

〃따라서 새롭게 나온 결론은…

Expected to .NET Framework

57

〃Entity Framework 의 무거움을 해소하기 위한무엇인가가 나타나야 한다 .

마치Java 의 Spring Boot 와 같은…

가볍고 빠르게 소규모 프로젝트에서 사용 할 수 있는 ,Entity Boot 같은 것이 나오면 어떨까 ?

Expected to .NET Framework

59

Thank You !!

〃잔잔한 바다에서는

좋은 뱃사공이 만들어지지 않는다 .

- 영국 속담 -