본문 바로가기

개발 이야기/개발자 이야기31

데이터베이스 SQL SELECT 최대 개수 제한하기 Mssql, 오라클 Oracle 데이터베이스를 오래 사용하다보면 데이터가 너무 많이 쌓여서 조회할때 시간이 너무 지연되는 경우가 있습니다. 그럴경우를 대비하여 SQL 쿼리문으로 최대 출력되는 행의 개수를 제한할수 있는데요 각각 데이터베이스 DATA BASE 마다 다르니 잘 참고해서 사용해야합니다. - 오라클 - 오라클 DB에서 SELECT 데이터 최대 개수 조절은 조건문에 ROWNUM 컬럼을 이용하면되는데요 ROWNUM 컬럼은 오라클 데이터베이스에 각 데이터 컬럼에 기본적으로 포함되어있는 컬럼이라고 보면 됩니다. SELECT * FROM 테이블명 WHERE ROWNUM 2023. 1. 13.
MSSQL DB 테이블 컬럼 추가 삭제 변경 안녕하세요 마블랑입니다. 이번 포스팅은 MSSQL 등 데이터 베이스를 사용할때 설계때 미처 생각지도 못한 컬럼을 추가해야할때 사용할수 있는 테이블에 컬럼을 추가하는 방법에 대해서 알아보겠습니다. 테스트는 MSSQL을 통해서 진행을 하였는데 오라클이나 Mysql 등 다른 데이터베이스도 가능한지는 모르겠습니다~ 1. 테이블 컬럼 추가 이미 생성되어있는 테이블에서 컬럼을 추가하거나 변경할때는 ALTER 명령어를 사용합니다. 먼저 구문을 보고 설명하는게 좋겠군요 ALTER TABLE [테이블명] ADD [추가할 컬럼명] [추가할 컬럼 타입] 위 ALTER 구문에 테이블명이나 컬럼명, 컬럼타입을 알맞게 넣으시고 실행시켜주면 되는데요 KEY나 NOT NULL 등 컬럼의 속성도 지정할수 있습니다. NOT NULL 같.. 2020. 11. 28.
Sql 쿼리문 SELECT 컬럼명 치환, 변경 안녕하세요 마블랑입니다. Sql 쿼리(Query)문에서 데이터를 조회해서 가져오는 SELECT 문이 있습니다. 데이터 조회를 원하는 테이블에서 모든 컬럼의 데이터를 가져오려면 '*'를 입력하면 되고 특정 컬럼들만 가져오고 싶다면 '*' 자리에 컬럼명1, 컬럼명2, 컬럼명3 이런식으로 넣어주면 됩니다. 추가로 조건에 해당하는 데이터만 가져올수도 있고 컬럼을 지정하고 오름차순, 내림차순 정렬을 할수 있습니다. 기본적인 SELECT문의 활용은 이러합니다. 이번 포스팅은 실제로 많이 사용되는지는 모르겠지만 그래도 알아두면 좋은 SELCET 문의 응용에 대해서 설명하려고 합니다. 바로 데이터를 가져올떄 컬럼명을 변경 또는 치환하여 변경된 컬럼명으로 데이터를 조회하는 것인데요 아주 간단합니다. 위에서 언급한 '*'.. 2020. 6. 23.
비주얼스튜디오 코드 설치, 한글화, 한글 인코딩, 라이센스 안녕하세요 마블랑입니다. 가끔 배우지 않은 프로그래밍 언어를 분석할때 툴이 없어 메모장이나 워드패드로 분석을 해야할때가 있습니다. 울트라 에디트나 다른 에디트를 이용해도 되지만 경험상 사용해보고 괜찮았던 텍스트 툴인 VisualStudio Code (비주얼스튜디오 코드)를 추천하려고 합니다~ 그럼 비주얼 스튜디오를 설치하고 한글화 하는 방법에 대해서 알아보겠습니다~ 먼저 설치파일을 다운 받아봅시다. 구글에서 검색을 하면 바로 다운받을수 있는 페이지가 표시됩니다. 파란색 버튼으로 표시된 다운로드 버튼을 누르면 자동으로 다운받아집니다~ 다운받은 설치파일을 실행하여 설치를 진행합니다~ 설치가 완료되고 실행을 해보니 메뉴가 영어로 되어있습니다~ 영어를 잘하면 몰라도 영어 공포증이 있다면 여간 불편하지 않을수 없.. 2020. 3. 23.
삼항 연산자 사용하기 안녕하세요 마블랑입니다. 프로그래밍 언어에서 조건문이 없으면 구현할수 있는 기능의 범위가 현저히 줄어듭니다. 그만큼 프로그밍 언어에서 조건문은 중요한 한 축을 담당하고 있는데요 종료할때 물어보는 메시지만 봐도 조건문을 잘 활용하면 더 퀄리티 있는 프로그램을 개발할수 있습니다~ 조건문은 if else 구문을 이용해서 구현할수 있습니다. 조건을 검사한 뒤 작업을 수행할때 구문이 길면 { ... } 로 감싸 작업을 추가할수 있습니다. 이렇게 긴 구문은 if else 구문을 이용해서 조건문을 구현할수 있지만 수행해야할 구문이 길지 않을 경우 "삼항 연산자"를 통해서도 조건문을 구현할수 있습니다. 실제로 마블랑도 코드가 길어지는 것을 싫어하여 삼항 연산자를 자주 사용하곤 합니다. 그럼 삼항 연산자에 대해서 알아보.. 2020. 3. 16.
C++ MFC CString to BYTE Array, BYTE Array to CString Casting 안녕하세요 마블랑입니다. 비주얼 스튜디오를 이용해 C++이나 MFC 프로그램을 개발할때 문자열을 바이트 배열로, 바이트 배열을 문자열로 컨버팅 해야하는 경우가 있습니다. 이번 포스팅은 간단하고 두 데이터 타입간의 형변환에 대해서 알아보겠습니다. 1. CString to BYTE Array BYTE byte[1024]; CString strTemp("TestMessage"); memcpy(byte, (VOID*)LPCTSTR(strTemp), str.GetLength()); 2. BYTE Array to CString CString strTemp; BYTE arrByte[1024]; strTemp.Format("%s", arrByte );//BYTE array to CString 또는 아래와 같이 문자열을.. 2020. 3. 14.
비주얼 스튜디오 2019 설치프로젝트 추가하기 안녕하세요 마블랑입니다. 윈도우에서 프로그램을 배포할때 설치파일로 묶어서 배포를 할수 있습니다 비주얼 스튜디오에서 그러한 기능을 제공하는데 자신이 만든 프로그램 뿐만 아니라 다른 프로그램도 묶어서 같이 배포할수도 있고 이미지나 동영상같은 리소스를 포함해야할때도 한꺼번에 묶어서 배포할수 있습니다~ 비주얼 스튜디오에 있는 설치프로젝트를 생성하고 그안에 파일들을 포함하면 되는데요 기존 비주얼 스튜디오 2015버전까지는 설치프로젝트가 기본적으로 같이 설치되어 있던걸로 알고 있습니다. 비주얼 스튜디오 2017부터는 직접 추가로 설치해줘야 합니다. 그럼 Visual Studio 2017, 2019에서의 설치프로젝트 기능을 추가하고 설치프로그램을 생성해보도록 해보겠습니다~ 마블랑은 Visual Studio2019를 .. 2020. 3. 7.
IT분야 취업 용어 정리 안녕하세요 마블랑입니다. IT전공에 맞춰 구직활동을 하다보면 SI, SE, PL, PM 등 여러가지 생소한 용어가 보입니다. 대체로 줄인말인것은 알겠지만 무엇을 줄였는지 몰라 내가 일하기 원하는 직장이 맞나 싶습니다. 이번 포스팅은 IT분야에 취업할때 등장하는 취업 용어에 대한 정리입니다. 1. SI (System Integration) 한글로 직역을 하면 시스템 통합이라는 뜻으로 SI사업이라고 하면 시스템의 설계부터 개발, 유지보수 등 모든 일을 말합니다. 그리고 하나의 시스템을 구성하는 Hardware나 Software 등 시스템에 들어가는 모든 요소를 개발하거나 통합하는 업무를 말합니다. 즉 SI에서 하나의 시스템을 개발하는 과정의 일을 하는 Hardware개발자, Software 개발자입니다. 2.. 2020. 2. 18.
Windows10 Unity 설치하기 안녕하세요 마블랑입니다. 얼마전에 VR을 접할 기회가 생겨 한번 VR을 경험해보니 관심이 생기더군요 그래서 VR의 기초라고 할수 있는 Unity를 배워보려고 Unity를 다운받아 설치해보았습니다. 유니티 홈페이지에 접속해서 아래와 같이 시작하기를 눌러주세요 사업자는 라이선스 비용을 지불해야하지만 개인에게는 무료로 제공이 됩니다. 개인 탭을 클릭한뒤에 시작하기를 눌러주세요 시작하기를 누르면 아래 페이지로 이동이 되는데요 처음 사용자용이 있고 재방문 사용자 용이 있습니다. 두개가 같은건줄 알았는데 다른거 더군요 일단은 첫 사용자이니 왼쪽 시작하기를 눌렀습니다. 가이드식 학습이 있다고 하네요 약관에 동의를 해주고 다운받아 줍니다. 다운받은 파일을 실행해주세요 유니티 허브는 런처같은 개념이라 금방 다운이 됩니다.. 2020. 1. 16.
MariaDB ODBC등록하기 안녕하세요 마블랑입니다. 마리아DB를 설치하고 난뒤에 데이터베이스에 대한 관리는 명령 프롬프트를 이용하거나 HeidiSQL(하이디SQL)를 사용해서 할수있습니다. 마리아DB가 설치된 장치에서도 할수있지만 원격으로 접속하여 데이터베이스관리를 할수있는데요 이제는 프로그램과 연동하여 프로세스에서 발생된 데이터를 마리아DB에 전달하여 저장하는 방법에 대해서 셋팅하겠습니다. 그럼 우선 ODBC를 이용하여 마리아DB의 정보를 등록해두어야 합니다. 그러려면 ODBC 드라이버가 필요하기 때문에 마리아DB 홈페이지에서 다운받아보겠습니다. 마리아DB 홈페이지에서 다운로드 페이지로 이동합니다~(아래 화면에서 오른쪽 빨간박스 부분을 클릭해주세요) 다운로드 페이지에 "Connectors" Tab이 있습니다. 버전과 OS(운영체.. 2020. 1. 14.
MariaDB와 HeidiSQL 연동 안녕하세요 마블랑입니다. 지난번에 마리아DB를 설치하는것에 대해서 포스팅을 하였습니다. 이제 마리아DB를 사용해보려고 하는데요 커맨드 명령창을 이용해서 사용할수도 있지만 UI(유저인터페이스)가 잘 갖춰져서 좀더 사용하기 쉬운 HeidiSQL을 이용하여 사용해봅시다. 마리아DB설치할때 함께 설치된 하이디SQL을 실행합니다. 세션목록에 아무것도 없으므로 아래 화면에 표시된 신규버튼을 눌러주세요 접속정보를 알맞게 입력해주세요 현재는 데이터베이스가 로컬호스트(127.0.0.1)로 설치가 되어있어 IP를 "127.0.0.1"로 접속해도 되지만 다른 장비에 설치되어 있다면 해당 장비의 아이피와 포트를 잘 확인하고 입력해주세요. 데이터베이스를 선택해야하는데 우선 명령 프롬프트창을 이용해서 데이터베이스를 생성하고 선택.. 2020. 1. 13.
윈도우10 Maria DB 설치 안녕하세요 마블랑입니다 요즘 빅데이터라고 해서 과거의 데이터를 분석하여 앞으로를 예측하는 분야가 새롭게 떠올랐습니다. 그러기 위해서는 가장 기본적으로 분석에 필요한 데이터를 모으는것이 중요한데요 데이터베이스를 통해 데이터를 축적하므로 당연히 데이터베이스의 역할도 중요해졌습니다 그래서 이번 포스팅은 무료 데이터베이스인 마리아DB를 설치하는 방법에 대해서 소개하겠습니다. 가장 먼저 마리아DB를 다운로드 해야겠죠? 아래 사진처럼 마리아 DB 홈페이지에 들어가서 DOWNLOAD 버튼을 눌러주세요 (링크 : https://mariadb.com/) 잘 보니 DOWNLOAD 버튼 위에 한국어로 변경할수 있는 버튼이 있군요. 한번 한국어로 바꿔보겠습니다~ 다운로드 버튼을 누르고 들어가니 다시 영어가 되었군요... 메인.. 2020. 1. 13.
무료 데이터베이스(DBMS) 소개 안녕하세요 마블랑입니다. 가끔은 회사 프로젝트와는 별개로 취미 또는 공부삼아서 개인 프로젝트를 진행해보고 싶을때가 있습니다. (괜찮은 아이디어와 잘 구현만 된다면 창업을 할수 있을텐데 아직 그정도 능력은 되지 않는것 같습니다ㅠㅠ) 그런데 대부분의 툴들이 라이센스라는 정책이 있어 프로그램은 무료로 개발한다고 하더라도 그래픽 라이브러리나 기타 라이브러리 등 필요한 도구를 사용할때는 돈을 지불해야할 때가 많습니다. 금액이 적은것도 아니라서 학생이거나 사회초년생 등 금전적인 지원이 없는 분들은 이용하기 꽤 어려워 보입니다. 몇가지 툴은 트라이얼 버전이라고 해서 30일 무료로 이용할수 있긴 한데 기간이 한정되어 있으니 사용하기 망설여집니다. 그래서 마블랑과 같은 처지인 개발자 분들을 위해 가장 프로그램과 연동이 .. 2019. 11. 12.
데이터전송 OSI 7 Layer 안녕하세요 마블랑입니다. 이번 포스팅은 데이터전송에 대해 배우게 되면 꼭 듣게되는 OSI 7 Layer에 대해서 살펴보겠습니다. 다음 그림과 같이 통신을 하게되면 모든 계층을 거쳐서 상대 시스템에 전송이 된뒤에 상대시스템에서도 모든 계층을 거친뒤에 사용자에게 표시가 됩니다. 그럼 각 계층에 대해서 알아보겠습니다. 1. 물리계층 (Physical layer) bit 단위로 데이터를 전기신호로 변환하거나 전기신호를 데이터로 변환하는 계층이다. 데이터 전송은 0과 1로 이루어지기때문입니다. 통신시스템끼리의 기본적인 전기적, 물리적 연결이라고 보면됩니다. 대표적인 장비로는 케이블, 리피터, 허브가 있습니다. 데이터 통신이 안된다면 가장먼저 확인해햐아는 부분으로 케이블연결이나 전원플래그 연결을 확인하는 부분입니다.. 2019. 7. 3.
[MFC] Copydata IPC 구현하기 안녕하세요 마블랑입니다. 윈도우 프로세스들을 구현하다보면 프로세스간의 내부통신을 해야할때가 있습니다. 이러한 내부통신은 공유메모리를 이용하여 구현할수 있지만 그것보다 더 간단한 윈도우메시지를 이용하여 내부통신을 구현하려고 합니다. 이번 포스팅은 MFC 프로세스로 내부통신을 구현하는 방법에 관한 포스팅입니다. 현재는 MFC프로세스들간의 내부통신이지만 MFC 프로세스와 C# 프로세스간의 내부통신도 가능합니다. 먼저 MFC 프로젝트를 생성해주시기 바랍니다. SDI나 MDI도 가능하지만 개인적으로 Dialog가 편해 대화상자기반으로 구현하였습니다. (SDI나 MDI도 가능하니 처리부분만 보시면 될거 같습니다.) 화면 UI를 꾸며주세요. 마블랑은 수신되는 프로세스와 메시지내용을 입력할수 있게 이미지와 같이 꾸몄습.. 2019. 7. 2.