본문 바로가기

Programming

파이썬 정규표현식으로 쉼표(콤마, Comma)가 있는 숫자 찾기 파이썬의 re 모듈은 정규표현식(Regular Expression, regex)을 담당합니다.정규표현식은 이메일이나 IP 주소의 유효성 등에 활용이 가능합니다.그리고 다양한 패턴에 따라서 파일명을 바꾼다거나 하는데도 활용할 수 있습니다.여기서 알아볼 정규표현식 활용 방법은 쉼표로 구분된 숫자를 추출하는 것입니다.일반적으로 3자리마다 쉼표로 구분하는 숫자 표기방식을 찾는 방법입니다.쉼표로 구분되는 숫자는 다음과 같은 형식의 숫자입니다.45,123-12,345.0154,321.23123,456,789 파이썬 정규표현식으로 표현하면 다음과 같습니다. import re def check_number(text): regex = re.compile(r'((-)?\d{1,3}(,\d{3})*(\.\d+)?)') se.. 더보기
[정렬 알고리즘] 퀵 소트(Quick Sort) 퀵 소트는 이름 그대로 빠른 성능을 제공하는 정렬 알고리즘입니다.평균적으로 O(n log n)으로, 최악의 경우 O(n2)의 시간 복잡도를 보입니다.기본적인 방식은 아래와 같습니다. 리스트에서 원소를 한 개 선택하는데 이 원소를 피벗(Pivot)이라고 부릅니다. 피벗이 선정되면 피벗보다 작은 값들은 피벗의 좌측에, 큰 값들은 우측에 위치시킵니다. 피벗은 자신의 자리를 찾았으므로 고정되며 좌우의 작은 값들과 큰 값들을 다시 재귀로 반복합니다. 이런 식으로 피벗의 위치를 전부 찾아주게 되면 결과적으로 정렬된 리스트가 됩니다.피벗은 다양한 방법으로 선택이 가능한데 보통 가장 앞의 원소나 가장 뒤의 원소를 선택해서 진행합니다.다음 코드는 가장 뒤의 원소를 피벗으로 선택하는 퀵 소트 코드입니다. #include .. 더보기
Visual Studio 2017에서 MFC 개발하기 Visual Studio 2017 설치 이후 MFC 프로젝트가 보이지 않는 경우가 있습니다.이런 경우 개별 구성 요소에서 MFC를 추가해야 합니다.먼저 시작에서 Visual Studio Installer를 검색해서 실행합니다.실행하면 설치된 Visual Studio 2017 버전을 확인할 수 있습니다.수정 버튼을 누르면 설치된 내용을 변경할 수 있습니다.개별 구성 요소로 이동하면 설치된 구성 요소와 설치가 가능한 구성 요소를 확인할 수 있습니다. 하단 부분의 MFC 및 ATL 지원(x86 및 x64)에 체크하고 좌측 하단의 수정 버튼을 누르면 설치가 됩니다.설치가 완료되면 Visual Studio를 실행하고 MFC 프로젝트 생성이 가능합니다.좌측에서 C++의 MFC 옵션을 선택하면 MFC 응용프로그램 생.. 더보기
Windows 10 IoT Core 리모트 디스플레이(Remote Display) 일반적으로 Windows 10 IoT Core가 설치된 장치는 디스플레이를 연결하지 않습니다.라즈베리파이3의 Windows 10 IoT Core에서는 대부분 원격으로 프로그램을 실행합니다.UI의 내용을 확인하는 것보다 MQTT 등을 통한 통신을 주로 사용합니다.화면을 확인하고 싶으면 리모트 디스플레이를 통한 확인이 가능합니다.다음 영상을 통해서 라즈베리파이3 원격 디스플레이 기능을 확인할 수 있습니다.해당 기능을 사용하기 위해 먼저 원격 서버 기능을 활성화해야 합니다.웹페이지나 Windows Device Portal을 통해 원격 서버 기능을 활성화시킵니다.좌측의 Remote 메뉴를 선택하고 원격 서버(Remote Server) 활성화에 체크합니다.이제 PC에서 다음 앱을 설치합니다.https://www... 더보기
[C++11] 배열을 편리하게 사용할 수 있는 std::array 배열은 한 번 크기가 정해지면 동적으로 변경되지 않습니다.동적으로 크기를 변경하려면 벡터 등의 STL 컨테이너를 활용하면 됩니다.배열을 STL 컨테이너 형태로 사용하는 것이 바로 std::array입니다.동적인 할당과 해제가 없어서 성능상 이점이 있는 배열을 편리한 사용을 할 수 있도록 해줍니다.std::array는 헤더를 포함한 이후에 사용이 가능합니다.기본적인 std::array의 사용 방법은 다음과 같습니다. #include #include int main() { // initialization std::array data = {0, 1, 2, 3, 4}; // get size std::cout 더보기
Windows 10 IoT Core의 FTP 서버 기능 활성화 Windows 10 IoT Core의 FTP 서버 기능은 기본적으로 비활성 상태입니다.FTP 서버 기능 활성화로 간단한 FTP 접근이 가능해집니다.다만 세부적인 설정 등이 어렵기 때문에 NAS 용도 등으로 사용은 어려울 것으로 보입니다. 1. FTP 서버 활성화FTP 서버를 활성화하기 위해서는 먼저 파워쉘(PowerShell)을 통해 라즈베리파이에 연결해야 합니다.2017/06/29 - [IT/Raspberry PI] - Windows 10 IoT Core에 PowerShell로 연결하기연결이 완료된 후 아래 명령어를 입력하면 FTP 서버가 활성화됩니다. start C:\Windows\System32\ftpd.exe 정상적으로 동작하는지 확인하려면 아래 명령어를 입력하면 됩니다. tlist 프로세스 목록.. 더보기
Windows 10 IoT Core 파일 공유 파일 공유를 통해서 Windows 10 IoT Core가 설치된 라즈베리파이 파일을 옮길 수 있습니다.윈도우에서 쉽게 파일 공유 방법을 확인해보도록 하겠습니다. 1. 파일 공유 방법Windows 10 IoT Core의 파일 공유 기능은 기본적으로 실행되는 기능입니다.윈도우의 내 PC에서 네트워크 드라이브 연결을 실행합니다.라즈베리파이의 IP를 포함한 경로를 입력합니다.주소는 다음과 같은 형태로 연결하면 됩니다. \\\c$ 이제 접속을 위해 계정 정보를 입력하면 됩니다.주의할 점은 아이디를 입력할 때 IP\Administrator 형태로 입력해야 된다는 점입니다.성공적으로 연결되면 쉽게 파일 공유가 가능해집니다. 2. 파일 공유 기능 켜고 끄기파일 공유 기능을 켜고 끄기 위해서는 SSH나 파워쉘 연결이 필.. 더보기
Windows 10 IoT Core 초음파 센서(HC-SR04)로 거리 측정 초음파 센서를 활용하면 장애물과의 거리를 측정할 수 있습니다.1천 원 내외로 구매가 가능한 초음파 센서인 HC-SR04를 활용해서 거리 측정이 가능합니다.2cm에서 4m까지의 거리를 3mm의 정확도로 측정할 수 있습니다.Windows 10 IoT Core에서 HC-SR04를 통해 거리를 측정하는 방법입니다. 1. 준비물다음과 같은 부품이 필요합니다.HC-SR04330Ω 저항470Ω 저항연결용 케이블전체적인 부품은 위의 것으로 충분한데 저항은 4.7㏀과 10㏀을 사용해도 됩니다. 2. 센서 연결회로는 다음과 같이 구성하면 됩니다.빨간색은 5V 출력과 연결되며 검은색은 GND에 연결됩니다.GPIO 배치가 따로 없는데 녹색선(Trig)은 GPIO 18, 파란선(Echo)은 GPIO 12에 연결되어 있습니다.상.. 더보기