목록전체 글 (109)
나의 지식 보관소
딕션너리는 다른말로하면 연관 배열이라 부르는데, 연관 배열이란 키 하나가 값 하나와 연관되어 있어 키를 통해 연관되는 값을 얻을수 있는 자료구조이다. 다음은 딕셔너리의 기본 모습이다. { key1:value1, key2:value2, key3:value3 } 다음은 사용 예시이다. dic = { 'name':'YaSic', 'phone':'01012345678' } print(dic['name']) # YaSic 출력 dic['birth'] = '021220' # 'birth':'021220'를 추가 del dic['phone'] # 'phone':'01012345678'를 제거 한가지 더 알아두면 좋은 것은 dic['height']처럼 없는 키값을 불러오려 하면 오류가 발생하지만 dic.get('hei..
튜플은 리스트와 거의 유사한 모양새를 띄지만 다음과 같은 차이를 보인다 - 리스트는 []으로 감싸고 튜플은 ()으로 감싼다. - 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다. - 튜플은 요소가 하나일때 하나의 요소뒤에 , 를 붙여주어야 한다. - 튜플은 괄호를 생략해도 무방하다. ( 그래도 요소가 하나일땐 , 붙여야한다. ) a = ( 1, 2, 3, 4 ) b = ( 1, ) c = 1, 2, 3 수정이 안된다는 점만 빼면 나머지 사용법은 리스트와 같다.
문자열 인덱싱 파이썬도 다른 많은 언어들 처럼 문자열 인덱싱 기능을 지원한다. a = "Life is too short, You need Python" print(a[0]) #L print(a[-1]) #n 문자열 슬라이싱 a = "Life is too short, You need Python" print(a[0:5]) #Life print(a[0:-17]) #Life is too short print(a[4:]) # is too short, You need Python print(a[:5]) #Life 주의 할 점은 a[0:5]의 범위는 0
SQL 서버에 접근하는 법 1 2 3 4 5 6 SqlConnection sqlCon = new SqlConnection(); sqlCon.ConnectionString = @"Data Source=[서버]\[인스턴스명];Initial Catalog=[DB명];User ID=[계정명];Password=[비밀번호]" sqlCon.Open(); // 작업하고 sqlCon.Close(); 쿼리 명령어 실행하는 법 1 2 3 4 SqlCommand cmd = new SqlCommand(); cmd.Connection = sqlCon; cmd.CommandText = "INSERT INTO [테이블명] ([칼럼명], ...) VALUES ([값], ...)" cmd.ExcuteNonQuery(); 위 코드처럼 C..
자료 생성: INSERT INSERT INTO [테이블명] ([칼럼명], ...) VALUES ([값], ...) 자료 선택: SELECT - 테이블의 모든 데이터 조회 SELECT * FROM [테이블명] - 테이블의 특정 칼럼에 해당하는 데이터만 조회 SELECT [칼럼명], ... FROM [테이블명] - 선택되는 조건을 지정해서 조회 SELECT ... FROM [테이블명] WHERE [조건] 자료 갱신: UPDATE UPDATE [테이블명] SET [칼럼명] = [값], ... WHERE [조건] 자료 삭제: DELETE - 테이블의 모든 데이터를 삭제 DELETE FROM [테이블명] - 선택되는 조건을 지정해서 삭제 DELETE FROM [테이블명] FROM [조건] 테이블의 조건에는 AND..
async 한정자는 메서드, 이벤트 처리기, 태스크, 람다식 등을 수식함으로써 C# 컴파일러가 이들을 호출하는 코드를 만날 대 호출 결과를 기다리지 않고 바로 다음 코드로 이동하도록 실행 코드를 생성하게 한다. 단 async로 한정하는 메서드는 반환 형식이 Task나 Task또는 void이여야만 한다. void 메서드는 async 수식 하나만으로 완전한 비동기 코드가 된다. 하지만 Task나 Task형식의 메서드는 async로 한정한것만으로는 동기코드와 다름 없이 동작한다. C#컴파일러는 Task나 Task형식의 메서드를 async로 한정한 경우 await연산자가 해당 메서드 내부의 어디에 위치하는지 찾아서, 그곳에서 호출자에게 제어를 돌려주도록 한다. 또한 await 키워드는 awaitable 클래스 ..
병렬처리는 하나의 작업을 여러 작업자가 나눠서 수행한뒤 다시 하나의 결과로 만드는 것을 뜻한다. 비동기 처리는 A 작업을 시작한후 A의 결과가 나올 때까지 대기하는 대신 다른 작업을 수행하다가 A작업이 끝나면 그때 결과를 받아내는 방식을 뜻 한다. System.Threading.Tasks.Task 클래스 Task 클래스는 인스턴스를 생성할 때 Action 대리자를 넘겨받는다. 즉 반환형을 갖지 않는 메서드와 익명메서드, 무명 함수등을 넘겨 받는다. 그후 Start()메서드를 호출하여 넘겨받은 Action 대리자를 비동기로 실행시킬수있다. 1 2 3 4 5 6 7 8 Task myTask = new Task( () => { Thread.Sleep(1000); Console.WriteLine("Hello")..
익명 메서드 익명 메서드는 이름이 없는 메서드이다. 이름이 없기때문에 기본적으로 대리자에 참조시키기 위한 용도로 자주 쓰인다. 만일 아래와 같은 대리자가 있다면, 1 delegate int Calculate (int a, int b); 대리자는 delagate 키워드를 이용해서 선언한다. 대입할 대리자의 형식과 동일한 형식으로 선언되어야한다. 1 2 3 4 Calculate cal = delegate (int a, int b) { return a+b; } 위 코드처럼 사용하고, 이후 cal(1,2);를 호출하면 3이 반환된다. 람다식 람다식은 익명메서드를 만드는 하나의 방법이다. 다만 람다식으로 만드는 익명 메서드는 무명함수라는 이름으로 불린다. 기본적인 람다식(식 형식)을 선언하는 형식은 다음과 같다...