프로그램에서 오류가 발생했을 때 도움이 되는 스택 트레이스. Python이란 언어의 오류 처리 방법과 거기에 스택 트레이스 정보를 얻어 분석하는 방법 소개합니다. 스택 추적스택 추적(Stack trace 보는 법)은 프로그램에서 예외가 발생했을 때 어떻게 함수가 호출되었는지, 어디에서 오류가 발생했는지를 특정할 수 있는 수단(방법)입니다. 문제 발생 시 원인 규명에 도움이 됩니다. 예를 들어 다음과 같은 파이썬 프로그램이 있습니다. 1234567891011def a () : "" "b 함수를 호출" "" b () def b () : "" "c 함수를 호출" "" c () def c () : "" "예외가 발생한다" "" char = None char . format ( 'hello' ) # 여기서 예외 ..
이 포스트에선 파이썬 입문에 필요한 구문(제어문) 중에서 6가지 사용 방법을 알아봅니다. with 구문 (with)12with expression [as target] [, expression [as target]]... : suite...Colored by Color Scriptercs with를 이용하면 with 블록이 종료되었을 때 자동으로 오브젝트 종료 처리 기능이 호출됩니다. 예를 들어 file 클래스의 open()이 수행되면 with 종료 시 close()가 자동으로 호출됩니다. 아래 예제에서 with를 이용하면 블록이 종료될 때 f.close()가 자동으로 호출됩니다. 12345678910111213# with를 사용하지 않는 예제f = open ( "test.txt")print f.read..
만약 ~라면 (if, else, elseif)123456if expression: suite...[elif expr: suite...][else: suite...]cs if는 "만약"을 의미합니다. 문장(소스로 구현한 식)이 참이면, 들여쓰기 된 블록을 실행합니다. 다음 예제에서는 num 값이 10보다 크면 BIG를 3번 표시합니다. 1234if num > 10: print "BIG" print "BIG" print "BIG"cs else는 "그렇지 않으면"을 의미합니다. 다음 예제에서는 num이 10보다 크면 BIG, 그렇지 않으면 SMALL을 출력합니다. 1234if num > 10: print "BIG"else: print "SMALL"cs elif는 '그렇지 않다면 만약'이란 뜻입니다. 다음 예제..
파일 몇 개라면 복사 후 붙여넣기 하여 쉽게 파일을 합칠 수 있지만, 수백 개의 CSV 파일이 존재하면 하나로 합치기 매우 어렵습니다. 이 포스트는 여러 csv (쉼표로 분리) 파일을 파일 하나로 결합하는 방법을 소개합니다. 윈도우 CMD를 이용해 배치 파일을 만들어 더블클릭 한 번으로 해결할 수 있습니다. CSV 엑셀 파일 합치기 전 준비우선, 합치고 싶은 파일들을 한 폴더에 모아 주세요.폴더 경로는 어디든 상관없습니다. 그리고 하위 폴더로 "all"을 만듭니다. 이 하위 폴더엔 아무것도 넣지 마세요. 배치 파일(.bat) 만들어 CSV 엑셀 파일 합치기배치 파일은 확장자가 .bat이며 파일 합치는 명령어가 적혀있습니다. 간단하게 말씀드리면, 컴퓨터에게 "일 해!"라는 명령어를 써놓고 더블 클릭하면 컴..
Excel VLOOKUP 함수함수= VLOOKUP(검색 값, 검색 범위, 열 번호, [검색 방법])※ 엑셀 스프레드시트에 대응 VLOOKUP 함수는 검색 / 행렬 함수이며 검색한 후 데이터를 가져오는 함수입니다. 룩업 함수라고도 하지만 정확히는 엑셀 브이룩업이 정확한 표현입니다. 어려운 포인트어떤 부분에서 여러분이 엑셀 브이룩업 함수를 어렵게 느낄까요. 이름엑셀 함수에서 사용 빈도가 높은 SUM, IF 등은 이름이 간결하고 어떤 내용인지 금방 알 수 있습니다. 하지만 VLOOKUP은 어떤 함수인지 모릅니다. 갑자기 "V"입니다. "V"가 뭐야. 인수가 많다엑셀 브이룩업 함수를 구성하는 요소(인수)를 4개나 설정해야 합니다. 기본 인수가 4개니깐 참 많네요. 한국어 설명을 봐도 "?"입니다. 계산 함수가 ..
리스트 (List)[...] 형태로 파이썬 리스트(List)를 나타냅니다. 1a = [10, 20, 30, 40]cs 아래와 같이 줄을 바꿔도 허용 됩니다. 마지막 쉼표( , )는 선택 사항입니다. 12345colors = 'red' 'green' 'blue',]cs 여러 자료형을 섞어서 리스트를 만들 수 있습니다. 1a = [10, 'ABC']cs 리스트 요소는 for를 사용하여 접근/사용 할 수 있습니다. 123a = [1, 2, 3, 4, 5]for n in a: print ncs [ n ] 형태로 n번째 요소를 참조합니다. 첫번째 요소는 0번째로 간주합니다. 123a = ['A', 'B', 'C', 'D', 'E', 'F', 'G']a1 = a [0] # 0 번째 : 'A'a2 = a [2] # ..
.NET Framework 버전과 Visual Studio C# 버전은 복잡하게 얽혀있고, 상호 관계와 기능을 확인하는 것이 힘듭니다. 그래서 아래 대응표를 참고하여 프로그래밍에 참고해 보세요. 닷넷프레임워크 4.5 버전은 표 가운데에 있습니다. 참고로 Microsoft .NET Framework 4.5 다운로드 사이트는 바로 아래 링크입니다. 마이크로 소프트 다운로드 센터 - 바로가기 .NET Framework 버전 대응표설치 가능란 두꺼운 문자는 사전 설치를 나타냅니다.Windows Server 버전 표기 시, 'R2'도 포함합니다. .NETFramework 설치 가능Windows 설치 가능Windows Server VisualStudio C# 새로운 기능 1.0 2000, XP 2000, 2003 ..
요즘 코딩 시작하는 분들에게 입문용 언어로 추천하는 파이썬 소개합니다. 이 포스트에선 MAC OS 사용자들이 PyCharm IDE를 활용하여 Python 사용하는 방법을 소개합니다. 파이썬 설치할 때 여러 라이브러리가 포함된 Anaconda(파이썬 아나콘다)를 이용합니다. Python에 대해서 간단한 코드로 프로그램을 만드는 장점이 있습니다. 즉, 코드가 심플하고 읽기 쉽고!즉, 배우는 시간도 적어요! 학습 비용이 낮은 언어라는 표현도 있습니다. 전세계에서 가장 귀여움 받는 언어입니다. 아래 그림은 구글 튜토리얼에서 발표한 언어 사용량 랭킹입니다. 참조 : http://pypl.github.io/PYPL.html 준비 파이썬 배울 준비를 합시다. 이번에 사용할 환경은 아래와 같습니다. macOSPytho..
변수Python 변수는 밑줄(_)을 포함한 영문, 숫자로 이름을 지어 나타냅니다. 파이썬은 다른 프로그래밍 언어처럼 변수 첫 번째 문자는 밑줄 (_) 또는 문자만 허용됩니다. 1234value1 = 123_value1 = 123test_value = 123TEST_VALUE = 123cs 상수파이썬(Python)은 상수를 지원하지 않습니다. 관습적(보편적)으로 대문자와 밑줄(_)로만 변수 이름을 지어 상수임을 표현하는 것 같습니다. 12PI = 3.14MAX_BUFFER_SIZE = 1024cs 문서 문자열 docstring (__doc__)모듈의 시작 부분, 클래스 시작 부분, 함수 앞부분의 삼중 따옴표 """..."""에 달린 코멘트(주석)를 말하며, 이를 주석, 문서 문자열 docstring이라고 ..
이 포스트는 파이썬 2.7을 기준으로 작성되었습니다. 하지만, 기본 자료형, 문자열, 각종 수식은 2.x 3.x 거의 비슷해 파이썬 버전에 상관없이 이 글을 읽고 공부하실 수 있습니다. 정수 (int)정수(int)는 다음과 같이 설명합니다. 1num = 1234 # 양의 정수cs 0o(0O) 0x(0X) 0b(0B)는 각각 8진수, 16진수, 2진수를 의미합니다. 123num = 0o777 # 8진수 (0o 시작하는 숫자는 8진수로 간주)num = 0xffff # 16진수 (0x 시작하는 숫자는 16진수로 간주)num = 0b11000100 # 2진수 (0b 시작하는 숫자는 2진수로 간주)cs 정수 (long)파이썬 정수(long)는 정수(int)를 초과하는 자릿수의 정수를 처리합니다. 끝에 l 또는 L..
MFC에서 DLL 사용할 때 종종 발생하는 에러입니다. 저에게 발생했던 이유는 변수 이름을 잘못 적은 게 원인이었습니다. 기본 제공 형식으로 함수 스타일 변환을 수행할 때에는 인수를 하나만 사용할 수 있습니다. dll을 사용할 때 헤더 파일에 아래와 같이 호출할 함수를 정의합니다. 1typedef int (__stdcall *something)(char * arr);cs 그리고 명시적으로 호출할 함수 something과 매칭되는 변수 var_something를 정의합니다. 1something var_something;cs cpp 파일에서 dll 함수 로드 등 여러 구현을 하겠죠. 그리고 something이 아니라 객체 변수 var_something을 호출하여 사용해야 하는데, something을 호출해 ..
파이썬으로 클래스 class 사용하려는 분들은 궁금할 겁니다. "원래 클래스가 뭐지? 객체지향이 뭐지? 생성자? 상속? 함수?그리고 뭐?" 프로그래밍 언어에서 클래스(clasS)와 객체지향이라는 말을 자주 듣게 되지만 사용법은 어떻게 이해해야 할까요? 클래스를 간단하게 설명하면 처리 단위를 1개로 정의한 것으로 모든 프로그래밍 언어에서 사용되고 있습니다. 이 포스팅은 클래스 사용법이나 생성자, 메소드, 상속 등을 이해하고 싶은 분들을 위해 4단계로 클래스를 설명합니다.이 포스팅은 이런 분들을 위해 썼습니다. 기본 클래스 만드는 방법을 알고 싶어요생성자, 메소드, 상속에 대해서도 이해하고 싶어요 클래스에 대해 알기 쉽게 해설하므로, 꼭 참고하세요. Python 클래스Python에는 클래스라는 기능이 있습니..