본문 바로가기

전체 글

(171)
C# 005 LINQLanguage Integrated Query Network- 서버소켓, 일반소켓으로 자바는 있음- C#은 서버소켓, client소켓 주로 서버는 한쪽은 요청 대기(Server) 한쪽은 요청하는 쪽(Client) 나이트클럽가면 웨이터가 문앞에 서있으면서 다른 웨이터에게 자리를 안내한다문앞에 웨이터(Server Socket)논리적인 포트번호가 있어 프로세스마다 안걸리게함 서버- 리스너가 있어 계속 듣는 역할(새로운 클라이언트가 있는지)- Accept 새로운 클라이언트 연결할때 닷넷에서는 소켓을 통해 서버를 만들수 있고 같은 클래스에 클라이언트 클래스도 만들수도 있다서버는 엔드포인트를 통해 어떤 아이피, 어떤 포트로 클라이언트를 받아들일지 설정한다 IP any는 모두 받겠다그리고 바인딩을 함 ip포인..
C# 004 좋은 프로그램이란?사용자의 입장에서- 사용하기 편한것- 원하는 기능이 있는 것 개발자 입장에서- 쉽게 수정할 수 있는 것(남이 작성한 코드를 읽기 쉽게)- 유연한 개발 구조를 가지고 있어서 요구 조건에 따라 쉽게 유지 보수 할 수 있는 것- 이해하기 쉬운 것 Refactoring결과는 똑같지만 프로그램의 구조를 바구는것중복된 코드를 하나의 메서드로 바꾸는것가독성이 떨어지는 메소드, 변수명을 바구는 것 코드는 사람을 위한 문서다. 과거 pc 성능이 안좋을때는 한줄로 코드를 짜면 좋은 코드였지만, 지금은 이해가 어렵더라면 좋은 코드라고 인정받기 어렵다. cns에서는 코드 변수명, 4줄마다 띄어쓰기 등 신입사원 연수에서 이런것을 평가 항목으로 놨다 한다. 코드도 컴퓨터를 돌리는 것이지만, 결국 다른사람을 위한..
C# 003 (컬랙션, 싱글톤) - 데이터 컬렉션- String API 복습다형성다형성은 많은 부분에서 적용이 됨어제는 형광등을 통해 예제를 함형광등, 백열등이렇게 있었지만, 공통된 분모를 뽑아내 전구라는 새로운 부모클래스를 만듬.앞으로 LED나 어떤 비슷한 기능이 있는 클래스가 오더라도 전구라는 부모 클래스를 상속 받을 수 있음 다른 workshop문제로 비행기, 배, 자동차를 예시로 했음요구사항이 이름별로 오름차순을 하라고 함그래서 vehicle이라는 인터페이스를 만들어서 모두 한 클래스로 합침 다형성은 프레임워크에도 많이 쓰이는데, 프로그래밍을 하다보면 많이 사용하는 부분이 있음 그구분을 슬롯처럼 만들어 그 안에 내용만 우리가 넣으면 됨 컬랙션(Collection)이란?: 컬렉션은 객체를 저장할 수 있는 데이터 구조입니다. 상황에..
C# 002 - 상속 - 다형성 - 추상클래스 - 인터페이스 - 프로퍼티 - 컬렉션 API, 객체 컬렉션- Winform Out에 의한 참조- ref와 유사하지만, 변수에 어떤값이 초기화 되어 있지 않아도 사용 가능(어차피 메서드 호출에 의해서 초기화 될 것으로 기대) 빈그릇을 받아서 채운다는 개념 * ref vs outref는 컵에 물을 채워서 바꿔줘라면 out은 빈컵을 내밀고 채워줘하는 것 확장 메서드- 어떤 클래스에 대해서 추가적인 기능(메서드)를 삽입해 주는 특별한 형태의 static 메서드확장메서드는 스테틱으로하기this 쓰기 캡슐화- 은행에서 금고가 있음 로또를 당첨받아 40억을 동네 금고에 들어가 다 넣음 은행 금고에 있는 돈은 다 내꺼지만 그걸 내가 은행 금고에 직접 들어가 돈을 꺼내오면 그것은 절도범..
삶이 그대를 속일지라도 삶이 그대를 속일지라도 - 알렉산드르 푸쉬킨 삶이 그대를 속일지라도슬퍼하거나 노여워하지 말라!슬픈 날을 참고 견디면기쁜 날이 오고야 말리니. 마음은 미래에 살고현재는 우울한 것모든 것은 순간에 지나가고지나간 것은 다시 그리워지나니.
<죄와 벌> 표도르 도스토예프스키, 1867 '이렇게 큰 일을 꾸밀 생각이면서 동시에 이렇게 시시한 것을 두려워하다니!' 그는 야릇한 미소를 머금으며 생각했다. '음... 그렇다....' 모든 것이 인간의 손에 달려있는데 오로지 겁을 먹은 탓에 모든 것을 놓쳐버린다.... 이것이야 말로 *공리이다. 궁금하군, 사람들이 제일 두려워 하는 것이 뭘까? 새로운 걸음, 자기 자신의 새로운 말을 그들은 제일 두려워 하지. p12 *공리(公理, 영어: axiom)는 어떤 이론체계에서 가장 기초적인 근거가 되는 명제(命題)이다. 어떤 다른 명제들을 증명하기 위한 전제로 이용되는 가장 기본적인 가정을 가리킨다. 이제, 내 금쪽 같은 로쟈, 곧 만날 때까지 너를 껴안고 어미로서 축복하마. 네 동생 두냐를 사랑해 주어라, 로쟈. 그 애가 너를 사랑하듯 너도 그 애를..
사전 과제 C# 1. 실행파일이 만들어지는 전통적인 컴파일러 방식에 비해 닷넷 프레임워크 환경이 제공하는 장점을 설명하시오.닷넷의 장점1. 닷넷의 가장 큰 장점은 플랫폼에 독립적인 응용 프로그램을 만들 수 있다는 것이다. 플랫폼 독립성은 중간 코드와 JIT 컴파일러에 의해 구현된다. 닷넷이 필요해진 이유이기도 하다. 소프트웨어를 딱 한 번만 작성해서 수정 없이 어디에서나 실행된다는 것은 정말 큰 매력이다. 2. 언어 상호 운용이 가능하다. CLS를 만족하고 관리 코드를 생성해 낼 수 있다면 어떤 언어로도 닷넷 응용 프로그램을 개발할 수 있다. 오로지 자바 언어만 인정하는 자바와는 비교되는 부분이다. 언어 상호 운용성은 언어 독립성보다는 한단계 더 상위의 개념으로서 이기종의 언어끼리 교차 호출, 교차 상속, 교차 디버깅까..
[C#] Virtual(가상) vs Abstract(추상) vs Interface(인터페이스) http://hongjinhyeon.tistory.com/93출저: http://hongjinhyeon.tistory.com/93 OOP개념에서 상속을 이야기할 때 Virtual이나 Abstract 한정자가 사용이됩니다.두개를 사용하면서 헷갈리는 점을 정리했습니다. 또한 Interface와 비슷한 기능을 제공하는데같이 비교해보겠습니다. 1.Virtual ( 가상 키워드 ) virtual 키워드는 메서드,속성, 인덱서 또는 이벤트 선언을 한정하는데 사용됩니다.파생 클래스에서 필요에 따라서 재정의(override) 할 수 있지만 필수적으로 재정의 할 필요는 없습니다.Virtual 한정자를 사용한 클래스는 완벽한 기능을 제공할 수 있습니다. 123456789101112131415161718public clas..