SQL ADO.net 1일차-1 (관계형데이터베이스 DB 테이블,DML,DDL,DCL)비트교육센터 고급과정 강의정리내용입니다. 빠진내용, 잘못된 내용이 있을 수 있습니다. 올리지못한 네트워크프로그래밍, 윈도우즈 시스템프로그래밍, API(WIn32)프로그래밍, C#, WInform, WPF 등 도 시간나는대로 정리해서 올려보도록 하겠습니다.. 할게너무 많아서 씁슬합니다 ^^;SQL 일반적으로 DB(데이터베이스)라고 하면, DBMS라고 생각하면된다. 왜냐면 DB를 가지고 작업을 할라면 DBMS를 가지고 조작해야 하기 떄문. 없으면 거의 불가능 하기 때문이다. 그래서 DB는 다이렉트로 열지 않고 일반적으로 DBMS로 열게됩니다. 그 것을 처리할때 동일하게 사용할 수 있는 언어,문법이 바로 SQL이다. 결론적으..
[C#] 확장 매서드 extend method (라이브러리에 매서드를 추가할 수 있다?) 만약에 우리가 라이브러리를 구매해서 사용하는데 (클래스라고 할께요) 이 클래스에 우리가 원하는 매서드를 추가하면 참 편하게 프로그래밍할 수 있는데 라이브러리는 이미 기계어로 컴파일되어있기에 수정이 참 거의 불가능하죠 그래서 이 때 사용할 수 있는게 바로 C#의 확장매서드(extend method) 기능입니다. 위 코드를 한번 쭉 읽어주세요. Point클래스를 누가 만들어 놓은 클래스라고 가정합니다. 그리고 우리는 Print라는 매서드를 추가해서 사용하고 싶다면, 우선 첫번째로 static 클래스가 필요합니다. 위에서는 AAA클래스가 되겠죠. 그리고 두번째로 public static 매서드가 필요합니다. C#에서는 수..
[C-sharp#] Timers event 타이머 이벤트 사용 C# 중에서 이벤트. 그 중에서 타이머 이벤트에 대해서 알아보겠습니다. 아직 람다를 공부하지 않았기에 아주 간단히 딱 쓰는 방법만 알아보고 추후에 자세히 포스팅하기로 하겠습니다. 타이머는 말 그대로 특정 시간마다 특정 이벤트를 해주는 녀석입니다. 우선 타이머 객체인 t를 생성해주고 new를 사용해서 초기화 해줍니다.(당연?..) 그리고 Timer 필드인 Interval을 설정하는데 이때 1000은 1초를 설정해주는 것 입니다. 그 후에 뭔지모를 람다라는 것을 사용해서 이벤트를 등록합니다. 여기서 등록한 이벤트는 Hello출력입니다. 그리고 Start()매서드를 사용해서 시작해주면 끝입니다. (?) 그럼 위와같이 1초마다 Hello가 출력되는 ..
[C#] IEnumerable Interface 열거자 인터페이스 C#은 다중상속이 문법적으로 불가능한 개발언어입니다. 그대신 인터페이스가 존재하며 인터페이스를 통한 간접적인 다중 상속이 가능합니다. 그 중에서 IEnumerable 인터페이스를 한번 알아보게 습니다. 위 코드 내용을 전체적으로 살펴보면, Person 즉 사람 객체가 있고 사람객체를 Student, Professor (학생, 교수) 이 두 객체가 상속해서 클래스를 구현해둔 모습을 알 수 있습니다. 학생객체 및 교수객체는 부모클래스 멤버 매소드인 Print매서드를 오버라이드해서 재 구현해주고 있습니다. 그렇게되면 부모객체배열(사람배열)을 생성해서 자식인 학생,교수 객체를 각각 넣어준뒤에 Print()해주면 각각 재정의해준 Print매서드가 ..
[C#] 참조복사 값복사 (얕은 복사, 깊은 복사)오후 2:10 2018-04-05 수업내용정리 [TUTO][생성자]객체가 생성될때마다 호출 [스테틱 생성자]프로그램이 시작되고 (이 클래스가 있는지확인할때) 딱 한번만 실행된다.그럼 목적이무엇이냐?스테틱 멤버를 초기화할 목적으로 사용한다. []타입이 사용되기 전에는 딱 한번 컴파일 될 필요가 있다.이때 타입이있구나 해석이된다. 이때 스테틱 생성자가 호출된다.타입이 호출될 때. 타입은 한번호출하면 그 다음부터는 호출되지 않는다.1000개의 타입중 우리가 사용될 타입만 생성되고 인식되는데 이때스테틱생성자가 스테틱변수(필드)를 초기화할 목적으로 같이 실행된다. [static]C#에서는 지역(변수)에 생성할 수 없다.시스템 내부에서는 static을 전역으로 생성..
C# Linq (from in select 구문, orderby)리스트 등의 컬렉션에서 조건에 맞는 데이터를 추출하는 코드가 자주 사용되기 때문에 개발된 것이 바로 Linq(*쿼리)이다. 그래서 전형적으로 반복적으로 사용되는 코드를 좀 더 줄일 수 있게 해줍니다.*쿼리:정보 수집에 대한 요청에 쓰이는 컴퓨터 언어 예를 들어서 위와 같은 코드는 input1이라는 리스트(list)컬렉션에 있는 데이터 중에서 짝수만 output1에 담아주는 코드인데 이런 것이 자주 사용되다보니, 위 와 같이 3줄로 줄여줄 수 있습니다. 이 구문을 from in select 구문이라고 하는데, 반드시 모든 Linq쿼리는 from, in, select 키워드를 포함시켜야합니다. from 변수이름(맘대로) in 컬렉션이름 sele..
C# 계산기 프로그램 프로젝트 (윈도우폼 이용) 코드예정, 실행파일첨부복학을 하고 이번 학기에C#프로그래밍언어를 배워보고자강의를 수강했는데,교수님이 대뜸 계산기를 만들라고 하셔서 만들게 되었습니다.C#언어에 대한 것은 책 한권 내용을 숙지한 상태에서 과연 만들 수 있을 것 인가무엇보다 이렇게 눈으로 결과물이 보이는프로젝트를 해보는 것은 처음이라서약간 걱정도 했었는데생각보다 그렇게 어렵지 않아서 다행이었네요.처음에는 조별프로젝트여서 같이 진행하다가이런저런 사정 때문에나중에는 제가 그냥 코드 싹업고서 혼자묵묵히 만들게 되었네요.무엇보다도.. 재밌어서 혼자 막 만든듯?C# 계산기 Calculator 계산기의 조건은 아래와 같습니다.1. UI(버튼) 환경2. 사칙연산 가능3. 메모리 기능4. 계산 히스토리5. ..
C# 예외처리, 고급예외처리 (try, catch, finally, throw) 적용시키기이번 시간에는 C#프로그래밍언어에서 예외처리를 하는 방법을 공부해보겠습니다.예외처리란 말 그대로 예외가 발생했을 때 어떻게 처리를 해줄 것이냐를 정해주는 것입니다.예를들어서 정수를 입력받아야하는데,문자나 특수문자를 입력하거나인덱스가 10까지 있는 배열인데, 15번째 인덱스에 접근하려고하거나없는 파일인데, 불러오려고 할 경우에예외처리를 각각 주어 처리할 수 있겠죠.예를 들어서 위와 같은 코드는크기가 5인 char형 배열을 선언해서a~e까지 저장을 해주고인덱스를 입력받아서 출력하는 프로그램입니다.그래서 3을 입력하면 정상적으로 0,1,2,3번째 인덱스인 b가 정상적으로 출력되는 것을 알 수 있습니다.그러나 여기서 인덱스..
[C#] 쓰레드(Thread) 사용방법 + start() 메서드(method)안녕하십니까 오늘은 드디어 C#에서 사용되는 Thread, 즉 쓰레드를 공부해보겠습니다.원래는 코드가 한줄 한줄 읽어 내려가면서 순차적인 방법으로 실행이 되었죠.하지만 쓰레드를 사용하게되면, 동시에 여러가지 프로세스를 실행할 수 있습니다. 아니. 마치 동시에 진행되는 것처럼 체감할 수 있죠.실제로 더 파고들어가서 시스템내부를 본다면, 순차적으로 분활실행하는 것인데 이건 패스..쓰레드 생성방법 쓰레드를 생성하는 방법입니다. Thread 클래스 생성자에는 매개변수로다가 메서드명, 무명델리게이터, 람다를 넘겨 줄 수 있습니다.위 예시는 순서대로메서드(함수)명, 무명델리게이터, 람다 를 사용해서 생성해주는 모습입니다.상황에 맞게 효율적..
c# 인터페이스(interface) 그리고 IComparable, IDisposable 무엇이번 글에서는 C#에서 사용되는 인터페이스(interface)라는 기능에 대해서 공부해본 내용을 정리해보겠습니다.인터페이스는 사용자가 코딩을 할 때 이런건 지켜주라고 가이드라인을 주는 것과 비슷합니다.그래서 자기 마음대로 코딩하는 사람이 있다면, 그것을 방지할 수 있겠죠. IComparable 사용방법대표적인 인터페이스로는 IComparable 이 있습니다. 이름 그대로 비교를 할 수 있게하는 인터페이스인데요.여기서 대문자 I로 시작을 하는데 인터페이스는 암묵적으로 대문자I로 시작을 하자고 정했기 때문입니다.위 Product클레스 에서는 IComparable 인터페이스를 상속받았습니다. 그렇기 때문에 Compare..