11월, 2018의 게시물 표시

어떤 프로그래밍 언어를 배워야 할까

이미지
제가 많이 듣는 질문중에 하나입니다. 1. 코딩을 처음 접하는 분은 코딩이 무엇인지 물어봅니다. 코딩은 소프트웨어(같은 표현으로 Program, Application)를 만드는 것을 말합니다. 윈도우, 안드로이드, 카카오톡, 게임, 파워포인트 모두 소프트웨어 입니다. 좀 더 정확히 이야기 하자면 윈도우, 안드로이드는 해당 전자기기 내부를 통합(하드웨어, 소프트웨어 모두) 관리하는 운영체제 소프트웨어 (Operating System, OS )이며, 카카오톡, 게임, 파워포인트는 응용소프트웨어( App lication) 라고 분류합니다. 운영체제 소프트웨어는 각종 앱도 관리해야 하며, 모니터, 메모리, 하드디스크 등 하드웨어  기기도 모두 관리해야 하는 막중한 역활을 담당하고 있습니다. 따라서, 운영체제 소프트웨어(이하 OS)를 만드는 것은 응용소프트웨어(이하 앱)을 만드는 것에 비해 상당한 시간과 기술이 필요합니다. 우리가 알고있는 OS는 윈도우즈, iOS, Android, Unix, Linux 등 몇 가지 없습니다. 그만큼 상용화하기 어려운 기술이며, 표준화(대중화) 시키기도 쉽지 않습니다. OS의 종류 일반적으로 우리가 말하는 코딩은 앱(카카오톡, 게임, 파워포인트 등)을 만드는 것을 의미합니다. 좀 더 자세히 표현하면 어떤 OS에 설치되어 동작하는 특정한 목적을 가진 소프트웨어를 만들는 것 이라고 설명드리고 싶습니다. OS든 앱이든 그것을 만들기 위해서는 2진수 기반(전기의 있음 1, 없음 0, 즉 디지털)으로 동작하는 컴퓨터에 내가 원하는 목적에 맞게 동작하도록 명령 을 내려야 하는데요, 이런 명령어들의 조합을 0과 1로만 인간이 작성한다면 굉장히 복잡한 형태가 될 것입니다. 예를 들면 이런 형태의 명령이 될 것입니다. 01110010111111001101110111....  (난해합니다) 왜냐하...

Visual Studio 설치하기

이미지
Visual Studio (이하 VS) 는 MS사에서 만든 통합 개발 환경도구(IDE)입니다. C, C++, C#, Python 등의 언어를 지원하며, 프로그래밍 언어를 이용해 소프트웨어 개발이 가능하도록 만들어 주는 프로그램입니다. (보통은 개발 툴, 또는 IDE 라고 이야기합니다) 버전은 커뮤니티(무료), 프로(유료), 엔트프라이즈(유료) 3가지가 있습니다. 무료 버전은 학생, 개인 개발자, 오픈소스용으로 사용 가능 하며, 이름은 Community 버전이라 부릅니다. 버전별로 개발 규모에 따른 약간의 차이는 존재하나 무료버전(Community)으로도 학원에서 배우는 모든 과정을 다 개발, 수정, 빌드가 가능 합니다. 현재 최신 빌드 버전은 VS 2017버전이 있지만, 버그도 존해하며, 지속적으로 업데이트가 진행중이라 학원에서는 VS 2015 버전을 기준 으로 수업합니다. 자, 이제 어떻게 설치하는지 알아 볼까요. 참고로 VS를 설치하고 사용하게 위해서는 MS 계정이 하나 필요합니다. 무료로 계정을 만들 수 있으니 아래 VS를 설치해 가면서 안내에 따라 만들면 됩니다. 1.  MS VS 다운로드 사이트로 접속  (링크 클릭) 아래와 같은 사이트로 연결되며, 최신 버전인 VS 2017을 다운로드 하는 메뉴가 보입니다. 우리는 VS 2015 버전을 설치할 계획이므로 좀 더 다운로드 페이지의 아래로 내려보면 이전 버전을 다운로드 할 수 있는 링크를 찾을 수 있습니다. 2. 이전 버전을 선택 자, 이제 VS 2015 버전 (커뮤니티 버전)을 다운로드 가능한 페이지로 연결되었으며, 해당 파일을 다운받아 설치해 보겠습니다. 3. 설치 프로그램 설정 설치 마법사가 안내하는 대로 계정을 만듭니다. (무료입니다) 아래 설치 페이지를 참조하여 Visual C++ 항목을 체크해 설치를 진행하면 끝입니다. 저는 유료 버전(프로버전)을 구입해 사용...

C++ 강의 도서 안내

이미지
2023.09.20일, 현재 C++ 강의 도서 (MFC는 더이상 수업하지 않으며, Qt로 진행)

합격을 진심으로 축하합니다.

이미지
어제 일요일 등산 중에 반가운 전화 2통을 받았습니다. 학원에 다니는 중3학년 양O훈, 박O원 학생들인데, 대견하게도 대덕 SW 마이스터고 에 당당히 합격했다는 연락이었습니다. 늘 학습태도가 우수한 학생들이라 불합격은 생각해 본 적도 없지만, 그래도 참 기분 좋은 하루였습니다. 대전에 위치한 대덕 SW 마이스터고는 수업료, 입학금, 학교운영비가 모두 무료 이며, 정부에서 지원하는 공립학교(특목고)  입니다. 기숙사 생활을 하게되며, 2018년 신입생 정원 80명중 대전 32명, 전국 48명 을 모집합니다. 입학은 일반 내신 전형(상위 20%이내), 사회통합 전형, 코딩테스트 전형이 있는데 전국 우등생들이 많이 지원하고 있습니다. 전국 48명중 부산지역 3~4명학생이 합격했고, 이 중 학원에서 2명이 합격해 더 대견하고 자랑스럽습니다. 이번주 수업때 맛있는거 사줄게 애들아... 너희들의 새로운 시작을 진심으로 축하하고, 앞으로 4차 산업혁명을 이끌 핵심 인재로 성장해 세계를 누비며 너희들의 꿈을 펼치길 진심으로 기원한다. 꿈을 날짜와 함께 적어 놓으면 그것은 목표가 되고, 목표를 잘게 나누면 그것은 계획이 되며, 그 계획을 실행에 옮기면 꿈은 실현되는 것이다. A DREAM written down with a date becomes a GOAL. A GOAL broken down into steps becomes a PLAN. A PLAN backed by ACTION makes your dreams come true. -그레그 S. 레이드(Greg S. Reid)

MFC 기반 아날로그 시계앱

이미지
이번에 만들어 본 예제는 아날로그 시계입니다. C++ 언어와 MFC를 이용해 만들어 보았습니다. 아날로그 시계를 프로그래밍 하기 위해 진행한 설계 과정입니다. 1. 시계 외곽 원 그리기  이 부분은 매우 쉽습니다. CDC 클래스의 Ellipse() 함수를 호출하면 원을 그려줍니다. 다만, Ellipse 함수는 사각형의 왼쪽 위점과 오른쪽 아래점을 지정하면 그 사각형에 내접하는 원을 그려주므로 뷰 클래스의 크기를 얻어와 그 사각형에 내접하는 원을 그리면 끝입니다. 윈도우 기본 좌표계는 왼쪽 위 좌표가 0, 0 이며 X좌표는 오른쪽으로 가면 커지고, Y 좌표는 특이하게 아래쪽으로 가면 커집니다. 눈에 보이는 화면 좌표에서 음수를 없애서 편리하게 좌표를 계산하도록 만들어 줍니다. 만약, 뷰의 크기가 변함에 따라 시계의 크기를 변경하고 싶다면 가로, 세로 축 중 더 작은 값을 알아내 작은 값을 원의 지름으로 적용하면 화면에 맞는 시계의 외곽 원을 그려낼 수 있습니다. 2. 시간, 분 마크 적용하기 시계의 시간, 분 선을 그리기 위해서는 삼각함수가 필요합니다. 원의 외곽선 좌표를 찾아내 시계의 중심점으로 부터 선을 그어야 하기 때문입니다. 시계의 중심점 좌표와 (anchorPt) 시계의 반지름 (radius), 각도를 알고 있다면 다음과 같이 외곽선의 좌표를 구할 수 있습니다. // 각도를 라디안으로 변환 (각도 곱하기 파이 나누기 180) double radian = deg * PI / 180.0; // sin (라디안) 곱하기 반지름으로 X좌표 구하기 double dx = sin(radian)*radius; // cos (라디안) 곱하기 반지름으로 Y좌표 구하기 double dy = cos(radian)*radius; // 원의 외곽선 X 좌표 anchorPt.x + dx // 원의 외곽선 Y 좌표 anchorPt.y + dy 시간, 분 마크는 각도는 360도를 6으로 나누어 총 60번...

이 블로그의 인기 게시물

Qt Designer 설치하기

PyQt5 기반 동영상 플레이어앱 만들기