무인 자동차 기술 순서는 대략 이렇습니다. 스마트카 -> 자율주행 자동차 -> 커넥티드카. 보통 스마트카로 시작되어 궁극적인 커넥티드카로 가는 중간 과정을 자율주행 자동차로 보고 있습니다. 현 단계에선 혼용하는 경우도 많은데, 딱히 잘못된 건 아니라는 게 제 생각입니다. 자율주행 자동차 센서 중 핵심 5가지 설명합니다. Smart Car Sensor1 - RADAR(RAdio Detection And Ranging) 차량 및 도로 시설물 감지용이며 24GHz 근거리 레이더와 77~78GHz 중장거리 레이더가 주로 사용된다. 최근에는 250m까지 검지 거리를 확장한 레이더도 사용되는데 크루즈 컨트롤, 전후방 충돌 경보, 충돌 방지 시스템 등에 주로 사용되고 있다. Smart Car Sensor2 - LID..
.NET C# 라이브러리는 문자열 암/복호화를 위한 기본 요소를 제공합니다. 암복호화를 위해선 몇 가지 단계가 필요한데, 이 포스트에서는 암복호화 과정에 대한 간단한 루틴을 소개합니다. MD5 해쉬 합계 생성기(MD5 hash sum generator)의 도움을 조금 받아, 실제 암호화를 위해 사용할 3DES(Triple DES)를 사용합니다. 전체 소스 코드는 맨 아래에 있지만, 먼저 구현 순서를 살펴보는 것도 괜찮습니다. 3DES 프로젝트 다운로드 - ◆ 문제점암호화할 문자열 값을 설정한 뒤, 비밀번호(Password 변수의 secret)로 암호화하여 비교적 안전하게 문자열을 보관할 수 있도록 Base64로 인코딩해야 합니다. 12345678910// 메세지 암호화 (복호화 전 단계)string Ms..
일원분산분석 예제와 해석과 5가지 변동 (One way ANOVA) 일원분산분석. (One-way ANOVA) 여러 개의 모평균을 비교하는 실험에서 총 N개의 동질의 실험단위가 있고, 이것을 이용하여 서로 다른 k가지의 처리에 대한 효과의 차이를 일원분산분석으로 알아보고자 합니다. 이 N개의 실험단위를 크기가 n1, n2, ..., nk인 소그룹으로 임의로 나누고 각 소그룹에 서로 다른 처리를 하나씩 적용했다고 가정합시다. 이때 서로 다른 k개의 처리 효과를 파악하고자 합니다. 위 자료에서 각 행은 서로 다른 처리를 한 하나의 표본을 의미합니다. 표본의 크기는 k개가 모두 같을 필요는 없으며 Yij는 i번째 처리의 모집단에서 추출한 j번째 표본 값을 말합니다. 주어진 자료에 대한 분석을 수행하기 위해서는..
◆ 비구조적인 코드복잡한 프로그램 명령문들을 흔히 스파게티 코드(spaghetti code)라고 한다. 스파게티가 담긴 접시에서 국수 한 가닥을 따라가는 것처럼 프로그램의 코드가 혼란스럽기 때문에 이런 이름을 사용하게 된 것이다. ☆ 프로그램의 기본 구조구조(structure)는 프로그래밍 논리의 기본적인 단위이다. 기본적인 구조에는 순서(sequence), 선택(selection), 루프(loop)가 있다. 아래 그림은 첫 번째 구조인 순서를 보여준다. 순서 구조(sequence structure)에서는 각 동작이 차례대로 수행된다.일단 한 순서를 시작하게 되면 첫 번째 동작부터 마지막 동작까지 차례대로 따라가야 한다. 두 번째 구조는 선택 구조(selection structure) 또는 판단 구조(d..
C# 액티브엑스 라이브러리(dll) VB로 이식하는 방법 (ActiveX DLL) 출처 : C# ActiveX dll을 VB에서 사용하는 방법 [한빛, 링크] 1. C# ActiveX의 생성 Visual Studio .net 2005 or 2005 express or higher 버전을 설치하고 사용할 언어를 C#으로 설정한다. 그리고 프로젝트 유형을 Class Library로 설정하고 이름을 부여한다. 기본적으로 프로젝트를 만들어 주는데 여기에서 namespace는 프로젝트 이름을 의미한다. 이것은 Visual Basic의 프로젝트 이름과 같다. 이제 사용할 Class 이름을 제공해 주어야 한다. 기본적으로 Class1이란 이름이 주어지는데 이것을 CDllTest로 부여하기로 한다. 프로젝트 탐색기에서..
비주얼 베이직 코드 재사용 방법, C# 마이그레이션과 Class 생성 등 출처 : C#에서 재사용하기 위한 Visual Basic code 재사용 방법 [한빛, 링크] Visual Basic에서 C#으로 Migration 이를 원하는 많은 사람은 2가지 큰 문제점을 만나야 한다. 우선은 C#이라는 장애물은 만나야 하고 나아가 .Net이라는 더 큰 장애물을 지나야 한다. 다음으로 기존에 작성한 다양한 Visual Basic code를 어떻게 재사용해야 할지에 대하여 충분한 고민을 하여야 한다. 그나마 Visual Basic code가 ActiveX dll이면 다행일 것이다. 본 기사에서는 이러한 문제점을 극복할 방법에 대하여 기술하고자 한다. 먼저 Visual Basic에서의 Class 생성에 대하여 기술..
디지인 패턴 중 상태패턴 (C# state pattern)을 활용한 응용 예제입니다. 실행 화면은 아래와 같습니다. State Pattern 프로젝트 - 스테이트 패턴 실행파일 - 전체 소스는 바로 위 링크를 참조하세요. 화면에서 위로 버튼을 누르면, 12가 증가하고, 아래로 버튼을 누르면, 12가 감소합니다. C# state pattern 상태 패턴 예제 소스 설명 시작합니다. c# State Pattern 구현할 기능이 담긴 인터페이스를 하나 선언합니다. 123456789101112131415using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace TestImageButton_State_{ i..
리눅스에서 유용한 GIT GUI 프로그램 6개 (Linux 추천) 1. Git-colaGit-cola는 파이썬으로 개발되었으며 pull, push, commit 기능을 제공합니다. 물론 diff 뷰어와 파일 스테이징 모드도 제공이 되죠. 설치 방법 1sudo apt-get install git-colacs 2. Gitggitg는 정말 간단한 프로그램입니다. 변경된 사항을 적용하면 디스플레이 화면으로 diff와 파일들을 확인할 수 있습니다. 설치 방법 1sudo apt-get install gitgcs 3. SmartGitSmartGit는 자바 기반의 cross-platform 지원 프로그램입니다. git 저장소(repository)를 관리할 수 있는 거의 모든 기능을 제공합니다. (pull, push, ..
IsWindo, MFC 다이얼로그 종료 메시지 순서 (윈도우 폼 끝내기) 윈도우 프로그램이 종료되는 메시지의 순서를 알고 적절한 대처를 합니다. 이것을 응용하면 윈도우가 죽기직전에 살릴 수도 있습니다. 사용자가 종료(X)버튼 클릭 -> WM_SYSCOMMAND -> WM_CLOSE -> WM_DESTROY -> WM_QUIT 아래 코드는 b1 -> b2-> b3-> b4 의 순서로 코드가 진행됩니다. 123456789101112131415161718192021void CMainFrame::OnClose(){ BOOL b1 = ::IsWindow( m_hWnd ); // b1 = TRUE // 윈도우를 살릴 수 있는 마지막 기회!!! (중요) if( 윈도우가 살아야함 == TRUE ) return; CFr..
MFC 트레이 아이콘 만들기, 프로그램 예제 소스 포함 첨부파일프로젝트 - 실행파일 - 참조 사이트....블로그 - [MFC]트레이 아이콘 생성과 시작시 프로그램 자동실행에 대한 예제 [클릭]팡상닷컴 - [MFC] 트레이 아이콘 등록 [클릭] 기본적인 소스는 참조 블로그에서 그대로 가져왔습니다. 참조한 블로그에서는 VS6.0 기반으로 작성되어서 VS .NET2003 버전으로 수정해 봤습니다. 열기 메뉴나 트레이 아이콘을 더블클릭해서 다이얼로그를 확인할 수 있고, 윈도우 시작시..를 누르면 "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" 경로에 프로그램이 추가됩니다. 프로그램을 실행하면 아래처럼 창이 하나 뜨는데 최소화시켜서 확인해 보세요. MFC 트레이 아이콘..
모바일웹 핵심 정리2 [WURFL, HTML5, jQuery, W3C Widget, 웹 위젯 등] 5장 그룹으로 만들기. WURFL(Wireless Universal Resource FiLe) 같은 장치 데이터 저장소를 이용하면 수많은 장치에 대한 자세한 정보를 구할 수 있습니다.. WURFL 데이터는 장치에 대한 500가지가 넘은 기능 정보를 가지고 있으며, 수십 가지의 그룹으로 정보를 분류합니다. . 모바일웹 장치 데이터베이스를 이용하면 장치의 기능에 대한 값을 구해서 활용할 수 있습니다.. WURFL의 PHP API는 WURFL 데이터를 처리하는 API입니다. 서로 다른 API는 조금씩 다르게 데이터를 처리합니다. . WURFL을 만든 사람들이 2011년에 ScientiaMobile을 설립했습니다...
C# MFC 차이 비교 - part2 (소스 차이 비교) C# MFC 차이 비교 A1. MFC - abs 12345int n = ...;int a = abs(n); int n = -2147483648; // 아래처럼 변환UINT u = abs(n);cs C# - Math.Abs 123456int n = ...;int a = Math.Abs(n); int n = -2147483648; // 아래처럼 변환uint u = Math.Abs(n);uint u = unchecked(n - C# MFC 비교 테이블 [링크] C# MFC 차이 비교 - part2 (소스 차이 비교)