본문 바로가기 메뉴 바로가기

야라바

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

야라바

검색하기 폼
  • 분류 전체보기 (1581)
    • 사는 이야기 (150)
      • 독서 (26)
      • 사람과 자연(自然) (112)
    • 무료 소프트웨어 (131)
      • 시스템 도구 (51)
      • 사용자 도구 (69)
    • 여행 (932)
      • 파리걷기 (153)
      • 제주올레걷기 (89)
      • 지리산둘레길 (38)
      • 마카오 홍콩 걷기 (51)
      • 산티아고 순례길 (117)
      • 뚜르 드 몽블랑 TMB (78)
      • 해외 트레킹 (156)
      • 해파랑길 (165)
    • 프로그래밍 (207)
    • IT 일반 (90)
    • 웹 및 앱 (24)
    • 컴퓨터 팁(Tip) (43)
  • 방명록

프로그래밍 (207)
오픈소스 정적 분석 도구 Cppcheck 사용하기 - Static Analysis

프로그램 개발을 하는 조직이 어느 정도 규모가 있고 체계적이어서 QA 조직까지 있으면 나름 프로그램 품질 관리의 수준을 높일 수 있는 기반은 갖추어진 것이라 할 수 있다. 물론 QA 조직에서 공격적이면서도 꼼꼼한 다양한 테스트 케이스 작성과 테스트 자동화를 운용하고 있을 때 이런 이야기도 가능할 것이다. 그렇다면, 이런 조직도 없고, 풍성한 테스트 케이스에 기반한 자동 테스트 시스템도 없다면 어떻게 프로그램의 품질을 놓일 수 있을까? 유닛 테스트(Unit Test)로 미처 개발자가 감안하지 못한 오류를 검출하거나 잘못된 프로그램 수정으로 인한 오류를 예방할 수도 있고 테스트 커버리지(Coverage)를 극대화한 테스트 자동화 시스템 구축도 검토해 볼만하고, 성능 프로파일링(Performance Profi..

프로그래밍 2021. 11. 3. 14:34
다국어 기반의 C# WinForm 응용 프로그램 만들기

응용 프로그램을 동작하는 시스템의 언어 설정에 따라 사용자 인터페이스의 언어가 자동으로 바뀌게 하면 그만큼 프로그램의 활용도와 유용성은 높아진다. 상당히 많은 오픈소스 프로젝트들이 이런 체계를 적용하고 있고, 국내의 많은 개발자들은 나름의 번역 실력으로 해당 프로젝트에 참여하기도 한다. 코드 커미터로 참여하면 더 좋겠지만 개인적으로 보기에는 대부분은 한국어 번역 추가에 그치고 있다. 아무튼 이러한 다국어 기반 또는 국제화(i18n)가 적용된 프로젝트들은 많은 경우 gettext를 도구로 활용한다. 통상 영어를 기본 언어로 하여 소스 코드 등에서 gettext를 사용하도록 개발한다. 개발이 어느 정도 진행되면 도구를 통해서 사전 파일인 *.po를 만들어 내고, 번역자들은 소스 코드를 손대지 않고 단순 텍스..

프로그래밍 2020. 7. 24. 13:36
C# 배포시 난독화를 해야 할까? - ConfuserEx 사용법

다양한 CPU, 다양한 운영체제의 홍수 속에서 자바와 .Net과 같은 플랫폼 독립성을 가진 체계가 점점 더 힘을 얻어가고 있는 형국이다. 운영체제나 CPU의 종류에 제한받지 않는 응용 프로그램의 개발 및 배포는 생산성뿐만 아니라 여러 가지 장점을 제공한다. 더구나 끊임없는 하드웨어 성능의 발전은 플랫폼 독립성 때문에 희생해야 하는 성능적인 단점조차도 문제가 되지 않게 해주고 있다. C언어로 작성한 프로그램을 C/C++ 컴파일러로 빌드하게 되면 윈도나 리눅스와 같은 특정 운영체제에서만 수행할 수 있는 기계어 코드가 만들어 진다. 이 기계어 코드는 특정 운영체제에서만 사용할 수 있을 뿐만 아니라 CPU의 제약도 받을 수밖에 없다. 그만큼 개발자의 입장에서는 다양한 플랫폼 환경을 감안해야만 한다. 그렇지만 자..

프로그래밍 2020. 5. 5. 16:33
C# 스트롤바 컨트롤 사용하기

대부분의 일반적인 응용 프로그램에서는 사용할 가능성이 거의 없지만, 약간 도구성의 프로그램을 개발하거나 직접 _paint 메시지를 받아서 이미지나 텍스트를 드로잉 하는 프로그램의 경우에 화면 크기를 벗어나는 영역에 대한 처리를 위해서는 스트롤 바 컨트롤을 적용하는 것이 사용자 편의성을 높여 주는 방법이라 할 수 있다. 비주얼 스튜디오 도구 상자에서는 수직 방향의 컨트롤을 위한 VScrollBar와 수평 방향의 컨트롤을 위한 HScrollBar 컨트롤을 제공하고 있으므로 해당 컨트롤을 폼에 삽입하여 처리한다. 폼에 스크롤바 컨트롤을 추가한 다음에 속성 창에서 Dock를 VScrollBar는 우측(Right)으로 붙도록, HScrollBar는 아래쪽(Bottom)으로 붙도록 설정해 준다. Dock 값을 Ri..

프로그래밍 2020. 5. 2. 14:54
C# 압축 라이브러리 적용하기

프로그램을 개발하다 보면 압축 상태의 자료를 읽거나, 아니면 자료를 압축 상태로 저장해야 하는 경우가 있다. 장기간 보관이나, 통신량 최소화, 보안 등의 필요와 연관되는 경우가 대부분이다. 이런 경우 외부 프로그램을 통해서 압축 및 압축 해제를 수행시키고 그 결과를 사용하는 방법도 있지만 프로그램의 융통성도 떨어지고 좀 더 효율성이 높은 프로그램을 제작하기에는 무리가 있다. 이런 경우 압축 라이브러리를 사용하면 프로그램의 융통성도 높이고 다양한 아이디어를 프로그램에 적용할 수 있다. 또한 .Net 전용 라이브러리를 사용하면 별도의 C/C++ 라이브러리를 사용하지 않아도 되므로 개발 및 배포 과정이 더 간편해진다. 비주얼 스튜디오에서 NuGet 도구를 활용하여 라이브러리를 설치할 수도 있겠으나 많은 경우 ..

프로그래밍 2020. 4. 30. 14:44
C# 32비트와 64비트를 모두 지원하는 SQLite 응용 프로그램 개발하기

다중 사용자 환경이 아닌 응용 프로그램의 데이터베이스로는 SQLite 만한 것이 없다. 윈도, 리눅스, 맥과 같은 범용 운영체제뿐만 아니라 안드로이드 등 수많은 환경에서 SQL 기반으로 프로그래밍을 할 수 있기 때문이다. 파일 시스템을 사용하는 소위 삽질을 하지 않더라도 SQL을 사용해서 가독성도 높이고 생산성과 유지보수 등에 있어 수많은 장점을 가진 프로그램을 개발할 수 있다. SQLite를 사용하는 프로그램은 프로그램 배포 과정에서 문제가 발생할 수 있다. 개발 환경에서는 문제없이 잘 동작했는데 막상 실제 수행 환경으로 가면 종종 문제가 발생하는 것이다. 대부분의 문제를 살펴보면 그 원인은 라이브러리에 있는데 수행 환경의 32비트/64비트 환경과 일치하는 라이브러리가 배포되지 않았기 때문이다. 32비..

프로그래밍 2020. 4. 30. 13:42
C# ColorDialog 대체하기, 웹 전용 색상 선택하기

C# 프로그래밍을 하다 보면 글자색이나 배경색을 선택할 때 위의 그림처럼 사용자 지정, 웹, 시스템으로 크게 나누어 미리 정의된 색상을 선택할 수 있다. 물론 각 색상에는 영문으로 색상 이름이 부여되어 있기도 하다. 통상 색상을 선택하거나 바꾸는 작업에는 별 문제가 없다. 그런데, 사용자로 하여금 특정 요소의 색상을 바꿀 수 있도록 기능을 제공하는 경우는 이야기가 조금 달라진다. 이런 기능을 제공할 때는 색상 선택, 선택한 색상 정보 저장, 저장한 색상 정보를 컨트롤에 적용하는 단계들이 개입하는데 각 단계별로 색상 정보를 어떻게 다룰지가 전체적인 기능 구현에 영향을 미친다. 색상을 선택하는 단계는 ColorDialog 컨트롤을 가져다 사용하면 간단히 해결된다고 생각할 수 있다. 물론 대화창 인스턴스의 C..

프로그래밍 2020. 4. 29. 14:26
C# 자주쓰는 타입 변환 - byte, string, int

C# 프로그래밍을 하다 보면 자주 사용하는 데이터 타입 간 변환이 있는데 이것들을 정리해 볼까 한다. ■ 바이트 배열과 문자열 간의 변환 일단은 byte[] 타입과 스트링 간의 변환이다. byte 타입은 통신 과정에서 많이 다루게 되는데 시리얼 통신이나 TCP/IP 통신 과정에서 서버와 클라이언트, 피어 간의 메시지 전달은 통상 byte [] 배열을 사용하는 내장 함수들이 많다. 대표적인 사례를 살펴보면 소켓 클래스의 메시지를 송수신하는 Send(), Receive() 함수를 들 수 있다. byte 배열은 말 그대로 8비트가 모인 1 바이트가 하나의 원소인 배열로 그 안에 포함된 내용이 영문인지, 한글인지, 문자인지 이진 값인지 상관하지 않는다. 반면에 문자열 스트링은 사람이 인식하는 텍스트를 가지고 있..

프로그래밍 2020. 2. 19. 15:01
C#에서 시스템 시간 설정하기, 관리자 권한으로 시작프로그램 등록하기

C# 닷넷 프로그램에서 시스템 시간을 변경하는 과정을 설명합니다. C# 닷넷 프로그램에서 시스템 시간을 설정하는 과정에서 꼭 유념해야 할 것들은 WIN32 API인 SetSystemTime()을 이용해서 설정하는데 그 과정에서 컴퓨터 시스템의 타임존을 반드시 감안해야 한다는 것입니다. 또한 윈도우 10등의 경우 시스템 시간을 변경하는 것이므로 프로그램을 관리자 권한으로 수행시켜야 프로그램이 실제 효력을 발휘할 수 있습니다. struct SYSTEMTIME { public ushort wYear; public ushort wMonth; public ushort wDayOfWeek; public ushort wDay; public ushort wHour; public ushort wMinute; public..

프로그래밍 2020. 1. 23. 16:15
WinForm에 가상 키보드 내장시키기 - C#

키보드가 없는 임베디드 시스템이나 터치스크린 시스템에서 키 입력을 받는 방법은 크게 두 가지가 있습니다. 하나는 윈도 시스템에 내장되어 있는 가상 키보드 어플을 동작시키는 것으로 외부 프로세스로 osk.exe를 실행시키는 방법입니다. 다음과 같은 코드로 간단하게 수행시킬 수 있습니다. Process p = new Process(); p.StartInfo.FileName = "C:\\Windows\\System32\\osk.exe"; p.StartInfo.Arguments = null; p.StartInfo.WindowStyle = ProcessWindowStyle.Normal; p.Start(); 두 번째 방법은 WinForm 내에 자체적인 가상 키보드를 내장시키는 것으로 가상 키보드를 직접 제작하는 방..

프로그래밍 2019. 12. 18. 11:07
항상 보여지는 창 만들기 - C#

다른 프로그램을 실행시켜도 화면 한 구석에 항상 창이 보이는 응용 프로그램을 제작해야 하는 필요가 생겼습니다. 통상 트레이(Tray)등을 활용하는 경우가 많지만 임베디드 환경처럼 키보드도 없고 윈도 상태바도 숨김으로 동작한다면 이런 필요를 충족시켜주기에는 한계가 있습니다. 예를 들어 한 응용 프로그램에서 다른 프로그램을 실행시킨 다음에 ALT+TAB이나 트레이 등의 방법을 사용하지 않고 원래의 프로그램으로 돌아올 방법이 필요한 것입니다. 아니면 너무나 자주 사용하는 프로그램이기 때문에 항상 가동 중에 있다가 다른 프로그램을 사용하고 있는 중이더라도 버튼만 누르면 해당 프로그램으로 복귀하고 싶은 필요를 해결해 주고자 하는 경우입니다. 이런 경우 C# WinForm의 TopMost 속성을 사용하는 경우가 많..

프로그래밍 2019. 12. 18. 10:43
프로그램의 설치와 배포 - 파이썬 배우기(Python)

■ 파이썬 모듈의 설치 파이썬 모듈을 rpm, yum, apt-get등의 리눅스 설치도구나 윈도우의 실행 프로그램으로 설치하면 현재의 시스템과 파이썬 구동 환경에 맞게 간단히 설치할 수 있지만 특정 모듈에 집중해서 배포하는 경우에는 파이썬의 Distutils에서 제공하는 표준 기능을 활용하여 어렵지 않게 설치 할 수 있습니다. 위의 그림은 파이썬에서 생성한 setuptools의 윈도우용 배포 파일을 실행 했을 때의 화면으로 현재의 파이썬 환경을 자동 인식하여 손쉽게 설치를 진행 할 수 있음을 확인할 수 있습니다. 모듈을 설치하면 위의 그림과 같이 파이썬 라이브러리 폴더 아래 site-packages에 저장됨을 확인 할 수 있습니다. 설치 작업은 모듈을 다운로드 받아서 압축 파일을 특정 폴더에 해제하는 것..

프로그래밍 2019. 3. 22. 11:09
유용한 파이썬 라이브러리 모듈 - 파이썬 배우기(Python)

"파이썬 모듈과 패키지 - 파이썬 배우기(Python)" 에 이은 포스팅입니다. 파이썬의 내장 라이브러리 모듈은 다양한 분야에 걸쳐서 충분한 테스트를 거친 좋은 코드임에도 불구하고 이를 모르거나 접해 보지 못하면 이미 만들어져 있는 훌륭한 코드가 있음에도 불구하고 똑같은 또는 유사한 기능을 다시 코딩하는 우를 범할 수 있습니다. 본격적인 파이썬 프로그래밍에 앞서 구현하려는 기능이 파이썬 라이브러리 모듈에 있는지 꼭 확인해 볼 필요가 있습니다. 이미 잘 만들어 놓은 라이브러리를 최대한 활용해서 효율적이고 효과적인 프로그래밍을 누려 보세요. 파이썬의 내장 라이브러리 모듈은 모듈 단위의 문서화 자료를 참조해도 되고 import 모듈명 이후에 help(모듈명)하면 자세한 설명을 확인할 수 있습니다. 아래는 re..

프로그래밍 2019. 3. 22. 10:51
파이썬 모듈과 패키지 - 파이썬 배우기(Python)

파이썬은 지금까지 다룬 다양한 타입과 기본 제공 함수들을 통해서도 다른 프로그램밍 언어에서는 볼수 없는 상당히 유연한 모습을 보여주고 있는데 확장 모듈을 통해서 이보다 좀더 복잡한 문제들을 간편하게 해결하거나 기타 유용한 기능들을 활용 할 수 있습니다. 모듈은 파이썬의 클래스, 함수, 전역 변수 등을 묶어 놓은 것으로 용도에 따라 코드의 재사용성을 극대화 시켜 줍니다. 모듈을 사용하게 되면 얻는 유익을 정리해 보면 다음과 같습니다. 연관성이 있는 모듈만을 로드하여 프로그램 시작 시간을 최소화.필요한 모듈을 손쉽게 추가하여 사용할 수 있습니다.별도의 네임스페이스를 가지고 있어서 다른 모듈과 독립적으로 작업할 수 있습니다.특정 모듈을 필요에 따라 대치시킬 수도 있습니다. ■ 모듈(module)의 정의와 사용..

프로그래밍 2019. 3. 22. 09:56
파이썬 클래스 2 - 파이썬 배우기(Python)

"파이썬 클래스 1 - 파이썬 배우기(Python)"에 이은 포스팅 입니다. ■ 상속(Inheritance) 상속은 클래스 핵심 개념중 하나로 슈퍼 클래스를 두고 슈퍼 클래스의 모든 속성을 상속 받으면서 전문적인 부가정보를 갖는 서브 클래스를 정의하는 방식 입니다. 한개 이상의 슈퍼 클래스로부터 상속을 받을 수 있고, 시스템 내장 클래스도 상속 받아 기능을 확장할 수 있습니다.생성자(__init__)는 서브 클래스 부터 슈퍼 클래스로 계층적으로 이동하면서 한번만 호출 됩니다. 즉 서브 클래스에 __init__가 정의되어 있으면 서브 클래스의 생성자만 호출되고 서브 클래스에 없고 슈퍼 클래스에 있으면 슈퍼 클래스 생성자가 호출 됩니다. 따라서, 서브 및 슈퍼 클래스에 모두 생성자가 있는 경우에는 서브 클래..

프로그래밍 2019. 3. 21. 11:06
파이썬 클래스 1 - 파이썬 배우기(Python)

클래스는 데이터(속성, attribute)와 그에 대한 처리를 하나로 정의한 것으로 파이썬 오브젝트들은 특정 클래스의 인스턴스들 입니다. 클래스의 인스턴스인 오브젝트는 다음와 같은 생애주기를 갖습니다. 정의 class 문을 통해 클래스를 정의.(시스템 클래스도 마찬가지)생성 정의한 클래스 정의에 따라 오브젝트를 생성하고 __init__를 호출하여 속성을 초기화.작업 메쏘드 또는 메쏘드 함수를 통하여 작업을 수행.정리(Garbage Collection) 더이상 사용하지 않는 오브젝트를 정리. ■ 클래스 정의 클래스 정의는 아래와 같은 문형을 갖습니다. class 클래스명(부모 클래스):코드 블럭 클래스명은 변수명 규칙을 따르지만 클래스명은 첫문자를 대문자로 해서 혼란을 방지 하는 것이 좋습니다. 메쏘드나 ..

프로그래밍 2019. 3. 21. 10:22
파이썬 함수 - 파이썬 배우기(Python)

프로그램을 보다 효율적으로 작성하기 위한 방법은 좋은 함수 작성에서 시작한다고 해도 과언이 아닐 정도로 함수를 잘 활용하면 프로그램의 가독성 향상과 효율화를 가져올 수 있습니다. 파이썬의 함수는 입력 파라미터 타입의 제한이 없고 리턴되는 값 또한 자유로워서 뛰어난 확장성을 갖습니다. 함수의 정의는 아래와 같은 형식을 취합니다. def 함수명(파라미터 리스트):코드블럭 함수명은 변수 작성에 따라 제한없이 작성할 수 있지만 추후 클래스명 등과 혼동되지 않도록 되도록 소문자로 시작 합니다. 파라미터 리스트에 기술하는 변수들은 적용 범위가 해당 함수 내부로 한정되는 로컬 변수로 취급 합니다. 변수명=값의 형식으로 기술한 파라미터는 기본값을 가지는 파라미터로 함수를 호출하는 곳에서 해당 파라미터를 지정하지 않으면..

프로그래밍 2019. 3. 20. 11:50
파이썬 제어구조 2 - 파이썬 배우기(Python)

"파이썬 제어구조 1 - 파이썬 배우기(Python)"에 이은 글입니다. 파이썬의 흐름 제어를 다루는 기본적인 문장들을 다루고 있습니다. ■ 주석문과 기타 제어문 프로그램이 커지고 복잡해지면 가독성이 떨어지게 마련인데 이를 보완해 줄 수 있는 방법 중의 하나가 코드에 주석을 달아 놓는 것입니다. 파이썬에서는 # 문자로 주석을 표시 합니다. 줄의 맨처음에 #를 표시하면 해당 줄은 모두가 주석이고 줄의 중간에 오면 그 이후가 모두 주석 입니다. 단, 따옴표 바깥에 표시해야 합니다. 코딩 스키마 주석 프로그램의 첫줄이나 두번째 줄에 기술하며, 코드의 인코딩을 기술 합니다. 코드중에 한글 인코딩(euc-kr)이 있을때는 다음과 같이 기술 합니다. # -*- coding: cp949 -*- UTF-8 인코딩을 사..

프로그래밍 2019. 3. 20. 11:12
파이썬 제어구조 1 - 파이썬 배우기(Python)

프로그래밍 언어가 제공하는 핵심 기능중 하나는 제어 흐름을 기술 할 수 있도록 하는 것으로 제어 흐름에는 해야할 작업을 차례대로 나열하는 순차적 흐름, 특정 조건에 따라 True 또는 False로 흐름을 변경하는 조건적 흐름, 일정한 조건을 따르는 반복 흐름을 대표적인 것으로 들 수 있습니다. 이런 흐름 제어의 중심에 비교 연산이나 논리 연산이 자리 잡고 있으며 앞선 "파이썬 스칼라 타입, 논리(Boolean) - 파이썬 배우기(Python)"에서 기본적인 내용을 다루었습니다. 몇가지 꼭 기억할 사항 옮겨보면 아래와 같습니다. 파이썬에서는 True와 False라는(대소문자 주의) 특별한 값을 제공하고 있으며 False, 0, None, '', "", (), [], {} 등을 모두 False로 처리 합니다..

프로그래밍 2019. 3. 20. 10:08
파이썬 사전(Dictionary) - 파이썬 배우기(Python)

사전 타입은 인덱스로 개별 항목에 접근하는 배열과 달리 키 값으로 접근할 수 있는 리스트 타입 입니다. 사전은 {키:값, 키:값...}의 방식으로 선언 합니다. 사전 타입의 타입명은 dict인데 dict()함수로 리스트를 사전으로 만들수도 있습니다. dict 로 전달할 인수는 키,값 쌍으로 구성한 리스트들을 원소로한 리스트를 넘겨주면 됩니다. 예제처럼 zip 함수로 키 리스트와 값 리스트 두개로 사전 배열을 작성할 수도 있습니다. {}는 빈 사전을 의미 합니다. 키는 스트링을 비롯한 어떠한 타입으로도 가능하며 아래의 예제 처럼 배열을 키로 가질 수도 있습니다. 또한, 사전은 내부적으로 해시 테이블을 사용하기 때문에 사용자가 입력한 순서로 저장하는 것이 아닙니다. 다시 말해서 항목간 순서가 존재하지 않습니..

프로그래밍 2019. 3. 19. 11:31
파이썬 배열(Array) - 파이썬 배우기(Python)

파이썬의 배열은 여러 원소를 하나의 묶음으로 관리하고 각 원소간에는 순서(order)가 존재하여 인덱스(Index)를 통해 접근하는 리스트로 파이썬에서는 리스트(list)와 튜플(tuple)이라는 두가지 타입이 있습니다. 통상 프로그래밍 언어에서 배열은 동일한 데이터 타입의 원소들로 구성되지만 파이썬에서는 각 원소의 데이터 타입이 동일하지 않아도 되고 심지어 다른 배열을 원소로 갖는 것도 허용 됩니다. 배열간의 비교는 동일 인덱스 끼리 각각 비교해 가는 방식으로 적용 됩니다. ■ 리스트(list)와 튜플(tuple) 리스트(list)는 [1, 2, 3] 형태로 정의하며 각 원소를 수정 할 수 있는 특성을 갖습니다. []는 빈 list를 의미 합니다. >>> b = [1,"aa",3,4,5]>>> type..

프로그래밍 2019. 3. 19. 11:13
파이썬 스칼라 타입, 논리(Boolean) - 파이썬 배우기(Python)

참과 거짓의 두가지 값 만을 가지는 타입으로 타입 이름은 bool 입니다. 파이썬에서는 True와 False라는(대소문자 주의) 특별한 값을 제공 합니다. >>> 7 == 7True>>> 7 == 8False>>> a = 7==7>>> type (a)>>> print aTrue ■ 연관 연산자 bool 타입과 연관된 논리 연산자는 True 또는 False만을 리턴하며 그 내역은 아래와 같습니다. == 양쪽이 같으면 True. ==와 =는 서로 다른 연산자로 = 하나는 대입 또는 치환을 의미하므로 주의 합니다.= 우측 보다 크면, 크거나 같으면 Truea> 1 < 3 >> 3 < 3 >> 1 < 3 >> 1 != 3True>>> 1 != 1False>>> 1 1Falseand 양쪽이 모두 True 이면 T..

프로그래밍 2019. 3. 19. 10:08
파이썬 스칼라 타입, 스트링(String) - 파이썬 배우기(Python)

문자열 표현으로 파이썬에서의 타입 이름은 str 입니다. 작은 따옴표('), 큰 따옴표(") 모두 사용 할 수 있는데 작은 따옴표(')로 시작한 문자열은 반드시 작은 따옴표(')로 끝나야 하고 중간에 작은 따옴표(')를 문자열로 표현할 때는 \'와 같이 Escape합니다. 그렇지만 중간에 큰 따옴표가 올 때는 Escape할 필요가 없습니다. 이 표현법은 큰 따옴표(")에도 동일하게 적용 됩니다. r' '의 방식으로 Raw 스트링을 기술할 수 있는데 r다음의 스트링을 Escape하지 않고 기술한 그대로 처리하기 위한 방식 입니다. 인접한 스트링은 하나의 스트링으로 간주 합니다. 예를 들어 "aa" "bb" "cc"로 기술하면 "aabbcc"와 동일 효과를 냅니다. 여러줄에 걸친 스트링을 표현할 경우에는 따..

프로그래밍 2019. 3. 18. 15:24
파이썬 스칼라 타입, 숫자(Numbers) - 파이썬 배우기(Python)

가장 기본이 되는 데이터 타입으로 값의 표현 방식은 아래와 같습니다. 숫자 상수 앞 또는 끝에 영문자를 붙여서 진수 표현이나 데이터 타입을 지정할 수 있는데 상수 표현에 사용하는 B, X, L, E, J 등의 영문자는 대문자와 소문자 모두를 사용할 수 있습니다. ■ int 정수형 데이터 타입. 0으로 시작하면 8진수, 0x로 시작하면 16진수, 0b로 시작하면 2진수를 나타 냅니다. >>> 10 - 33-23>>> 0Xff - 1 #ff=255254>>> 070 + 1 #70=5657>>> 0b1010 + 10 #1010=10 ■ long 긴 정수형 데이터 타입. 상수 값 뒤에 L을 붙입니다. C언어와는 달리 길이 제한이 없습니다. >>> 2**324294967296L ■ float 부동소숫점 표현으로 ..

프로그래밍 2019. 3. 18. 15:00
파이썬의 변수와 데이터 타입 - 파이썬 배우기(Python)

프로그래밍 언어 배우기를 시작 할 때 가장 추천하고 싶은 학습 방법은 손으로 직접 입력해 보고 그 결과를 확인하면서 한단계씩 프로그래밍 언어를 몸으로 체득하는 것입니다. 아주 오래전 생전 처음 8비트 퍼스널 컴퓨터를 가지고 베이직 언어를 접하며 컴퓨터를 배울 때를 떠올려 보면, 선생님이 칠판에 쓰신 따라서 코드를 직접 입력하여 결과를 확인하는 것으로 시작했던 기억이 있습니다. 처음에는 그저 따라하는 것이었지만 결과를 확인하며 즐거워 하는 친구들도 있었고 다양한 원인으로 헤매는 친구들도 있었습니다. 오타나 기타 이유로 원하는 결과가 나오지 않았을 때 그 원인을 찾아 수정하는 디버깅 과정에서 이해하고 배우는 효과는 프로그래밍 실력 향상의 첩경이라 하겠습니다. 첫 결과를 만난 다음에는 조금씩 나만의 의도를 적..

프로그래밍 2019. 3. 18. 11:56
파이썬 프로그램의 형태 2 - 파이썬 배우기(Python)

"파이썬 프로그램의 형태 1 - 파이썬 배우기(Python)"에 이어지는 글입니다.웹브라우저를 통해서 정보를 제공하는 사용자 인터페이스로 웹서버측에서 프로그래밍이 필요하고 아래와 같이 다양한 적용 방법이 있습니다.(참고 자료 http://docs.python.org/2/howto/webservers.html) CGI(Common Gateway Interface)mod_pythonFastCGI, SCGImod_wsgiTemplatesFrameworks ■ CGI(Common Gateway Interface) 웹서버와 파이썬 프로그램간의 가장 전통적인 인터페이스로 속도 및 기타 문제로 사용 할 수는 있지만 추천하지 않습니다. 되도록 WSGI(Web Server Gateway Interface)를 사용하도록 ..

프로그래밍 2019. 3. 15. 19:54
파이썬 프로그램의 형태 1 - 파이썬 배우기(Python)

어떤 프로그래밍 언어로 프로그램을 제작하더라도 본격적인 프로그램 제작 이전에 어떤 형태의 프로그램을 만들 것인지 방향성을 결정하는 것은 상당히 중요 합니다. 프로그램의 동작방식, 연관 범위, 인터페이스에 따라 프로그램의 구현 방식과 규모 등에 있어 큰 차이가 있기 때문에 파이썬을 배워나가는 사람의 입장에서도 이 부분에 대한 이해가 필수적이다 하겠습니다. 결론을 먼저 말한다면 파이썬은 단순 배치 프로그램 부터 시작하여 GUI 프로그램 및 웹 서비스까지 모든 분야에서 사용할 수 있는 매력적인 프로그래밍 언어 입니다. 다음은 사용자와의 인터페이스 관점에서 바라본 프로그램의 종류 입니다. ■ 일괄 작업 프로그램 배치(Batch program) 프로그램이라고도 부르는 것으로 콘솔창 또는 명령행(command li..

프로그래밍 2019. 3. 15. 16:52
문서화 자료와 매뉴얼 활용 - 파이썬 배우기(Python)

파이썬을 스터디하면서 궁금한 것을 그때 그때 구글링을 통해서 해결할 수도 있지만 미리 준비되어 있는 자료를 활용하면 더 효과적인 프로그래밍에 도움이 될 수도 있습니다. 아래의 글들에 이어지는 포스팅입니다. 파이썬 학습 환경 설치 - 파이썬 배우기(Python)파이썬 맛보기 - 파이썬 배우기(Python) ■ 문서화 자료 보기(Module docs) 파이썬 학습 환경을 설치하고 프로그램 메뉴에 있는 "Module docs"를 실행하면 자료를 이용할 수 있습니다. "Module docs"는 pydoc.py 가 문서화 서버가 되어(TCP 7464포트 사용) 파이썬 각종 모듈의 문서화 자료를 검색 및 제공 합니다. pydoc 스스로가 작은 웹서버 역할을 하는 셈입니다. "Search for" 입력창에 단어를 입..

프로그래밍 2019. 3. 15. 09:59
파이썬 맛보기 - 파이썬 배우기(Python)

"파이썬 학습 환경 설치 - 파이썬 배우기(Python)"에 이은 글입니다. 파이썬 학습 환경을 설치한 이후 실제로 파이썬 소스 코드를 실행하여 파이썬의 효과적인 학습을 위한 맛보기를 진행합니다. IDLE는 Integrated DeveLopment Environment의 약자로 비쥬얼스튜디오나 이클립스 같은 파이썬의 통합 개발 환경(IDE) 입니다. 물론 비주얼스튜디오나 이클립스 수준의 통합 개발 환경이라고 하기에는 한계가 있습니다. 그렇지만 나름 통합 개발 환경이 가지고 있는 기능들을 조금씩은 가지고 있습니다. 차이점이 있다면 비주얼스튜디오 처럼 편집-컴파일-실행-디버깅하는 전형적인 IDE의 모습과 함께 위의 그림과 같은 파이썬 인터프리터 환경이 함께 제공된다는 점 입니다. ■ 인터프리터에서 직접 실행..

프로그래밍 2019. 3. 14. 17:29
파이썬 학습 환경 설치 - 파이썬 배우기(Python)

직장이나 집에서 사용하는 컴퓨터에서 수행하는 대부분의 프로그램들은 많은 경우 C/C++, C#, Java등의 프로그래밍 언어로 제작 합니다. 어셈블리나 베이직등의 언어를 사용하기도 하지만 대부분의 응용 프로그램들이 이들 언어로 제작되고 있다고 해도 과언이 아닙니다. 그런데, 이런 환경에서 파이썬이란 언어가 등장한 배경에는 바로 "개발 생산성"에 있습니다. 쉽고 빠르게 개발할 수 있고 라이브러리 활용성, 확장성 및 재사용을 극대화 하면서도 시스템 독립성 확보로 어떤 시스템에서나 제한 없이 사용할 수 있는 그러한 언어를 만들자는 의도로 1980년대말에 네덜란드 출신의 개발자 귀도 반 로섬(Guido van Rossum)에 의해 시작 되었습니다.(http://en.wikipedia.org/wiki/Python..

프로그래밍 2019. 3. 14. 14:39
이전 1 2 3 4 ··· 7 다음
이전 다음
최근에 올라온 글
  • 해파랑길 39코스 - 강문 해변에서 경포⋯
  • 해파랑길 39코스 - 남항진에서 송정해변⋯
  • 해파랑길 38코스 - 청량동에서 남항진까⋯
  • 해파랑길 38코스 - 명주동에서 월화거리⋯
  • 해파랑길 38코스 - 모산봉에서 명주동까⋯
  • 해파랑길 38코스 - 여찬리에서 모산봉까⋯
  • 해파랑길 38코스 - 오독떼기 전수관에서⋯
  • 해파랑길 37코스 - 동막저수지에서 오독⋯
  • 해파랑길 37코스 - 언별2리 갈림길에서⋯
  • 해파랑길 37코스 - 모전리에서 언별2리⋯
최근에 달린 댓글
  • 모노(mono) 환경에서 C# 프로그래밍을⋯
  • 고맙습니다.
  • 잘보고가요
  • Set-ExecutionPolicy를 수행하고 Get해⋯
  • 감사합니다.
  • 도구>환경설정에서 [기본설정]을 선택하⋯
  • 안녕하세요. 최근에 프리마인드 깔아서⋯
  • dnspy 추천 감사합니다. 평소 Reversin⋯
  • dotpeek?? 은 캐쉬 때문에 재부팅 전까⋯
  • 즐거운 걷기 되세요
«   2022/07   »
일 월 화 수 목 금 토
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
글 보관함
  • 2022/07 (2)
  • 2022/06 (24)
  • 2022/05 (12)
  • 2022/04 (17)
  • 2022/03 (24)
  • 2022/02 (5)
  • 2022/01 (31)
  • 2021/12 (38)
  • 2021/11 (19)
  • 2021/10 (2)

Blog is powered by Tistory / Designed by Tistory