본문 바로가기

개발 이야기163

C# .Net String to Byte array, Byte array to String Convert문자열 변환 안녕하세요 마블랑입니다. C#에서 데이터 통신을 할때면 바이트형식으로 변환해야할 때가 많습니다. 통신 패킷을 구조체로 만들어 전체를 변경하는 방법이 있긴 하지만 데이터를 하나씩 일일이 바이트로 변경해야할 경우가 있어 문자열을 바이트 배열로 변경하는 방법에 대해서 소개하겠습니다. 1. string(문자열) to byte array byte[] arrbyte = Encoding.UTF8.GetBytes("testMessage"); //변환 데이터 출력 string strOutput=""; for (int i = 0; i < arrbyte.Length; i++) { strOutput += arrbyte[i] + " "; } MessageBox.Show(strOutput); 출력 : 116 101 115 116.. 2020. 3. 14.
비주얼 스튜디오 2019 설치프로젝트 추가하기 안녕하세요 마블랑입니다. 윈도우에서 프로그램을 배포할때 설치파일로 묶어서 배포를 할수 있습니다 비주얼 스튜디오에서 그러한 기능을 제공하는데 자신이 만든 프로그램 뿐만 아니라 다른 프로그램도 묶어서 같이 배포할수도 있고 이미지나 동영상같은 리소스를 포함해야할때도 한꺼번에 묶어서 배포할수 있습니다~ 비주얼 스튜디오에 있는 설치프로젝트를 생성하고 그안에 파일들을 포함하면 되는데요 기존 비주얼 스튜디오 2015버전까지는 설치프로젝트가 기본적으로 같이 설치되어 있던걸로 알고 있습니다. 비주얼 스튜디오 2017부터는 직접 추가로 설치해줘야 합니다. 그럼 Visual Studio 2017, 2019에서의 설치프로젝트 기능을 추가하고 설치프로그램을 생성해보도록 해보겠습니다~ 마블랑은 Visual Studio2019를 .. 2020. 3. 7.
C# .Net OpenFileDialog 여러파일선택 안녕하세요 마블랑입니다. 프로그래밍을 할때 해당 프로그램이 다른 파일과 연동되는 경우가 많습니다. 게다가 이 파일을 선택하는것은 프로그래머가 아닌 사용자라면 파일 경로를 직접 사용자의 입력으로 받아야하는데요 C# 또는 .Net에서는 그것을 아주 쉽게 구현할수 있습니다. C# 프로젝트를 생성하고 디자인화면에서 도구창을 보면 "OpenFileDialog" 클래스가 있습니다. 바로 이클래스를 활용해보겠습니다. 바로 디자인 화면에서 드래그해서 사용할수 있지만 이번에는 직접 코딩을 해보도록 하겠습니다. 드래그해서 사용하는경우 속성창에서 해당 OpenFileDialog의 속성을 설정해주면 됩니다. 코딩은 다음과 같습니다. 약간의 주석을 달아두었는데 표시가 안되는 부분은 따로 설명하겠습니다. using System;.. 2020. 3. 7.
VisualStudio .Net 버전 3.0 빌드문제 해결 안녕하세요 마블랑입니다. 프로그램을 개발하다보면 인터넷에 있는 오픈소스를 활용할때가 많습니다. 비주얼스튜디오를 이용해서 개발하는 C++이나 C#, .Net 등 굉장히 오픈소스가 많은데요 주로 비주얼스튜디오 오픈소스는 프로젝트, 솔루션 단위로 다운 받을수있습니다. 프로젝트, 솔루션 단위라 분석하고 빌드하기 정말 편리한데요 그런데 프로그래밍이라는 분야가 오래되었듯이 오래된 오픈소스가 아직도 꽤 많습니다. 물론 굉장히 유용한데 C#의 경우 .Net 프레임워크의 버전이 맞지 않아 빌드할때 아래와 같은 에러가 발생합니다. " ".NetFramework.Version=v3.0" 프레임워크에 대한 참조 어셈블리를 찾을 수 없습니다. " " .NetFramework v3.5 서비스 팩 1을 찾을 수 없습니다. ".Ne.. 2020. 2. 26.
IT분야 취업 용어 정리 안녕하세요 마블랑입니다. IT전공에 맞춰 구직활동을 하다보면 SI, SE, PL, PM 등 여러가지 생소한 용어가 보입니다. 대체로 줄인말인것은 알겠지만 무엇을 줄였는지 몰라 내가 일하기 원하는 직장이 맞나 싶습니다. 이번 포스팅은 IT분야에 취업할때 등장하는 취업 용어에 대한 정리입니다. 1. SI (System Integration) 한글로 직역을 하면 시스템 통합이라는 뜻으로 SI사업이라고 하면 시스템의 설계부터 개발, 유지보수 등 모든 일을 말합니다. 그리고 하나의 시스템을 구성하는 Hardware나 Software 등 시스템에 들어가는 모든 요소를 개발하거나 통합하는 업무를 말합니다. 즉 SI에서 하나의 시스템을 개발하는 과정의 일을 하는 Hardware개발자, Software 개발자입니다. 2.. 2020. 2. 18.
Windows 관리자 권한 실행 안녕하세요 마블랑입니다. 윈도우에서 프로그램을 사용하다보면 관리자 모드가 필요할때가 있습니다. 간단한 예로 C: 드라이브에 파일을 저장하려고하면 아래와 같은 메시지가 출력됩니다. 파일을 다른곳에 저장한뒤에 C: 드라이브로 옮겨도 되지만 그것또한 관리자가 맞는지 물어봅니다. 그럼 이러한 메시지가 안뜨게 하려면 어떻게 해야될까요? 윈도우에서 관리자 권한을 요청하니 관리자 권한으로 프로그램을 실행하면 되는데요 그럼 프로그램을 관리자권한으로 어떻게 실행하는지 알아보겠습니다~ 우선 시작프로그램에서 관리자 권한으로 실행하는 방법인데요 평상시라면 프로그램을 그냥 마우스 왼쪽클릭을 하여 실행합니다. 하지만 그렇게 하지 말고 마우스 우클릭을 하면 여러가지 메뉴가 나오는데 거기서 "관리자 권한으로 실행"을 누르면 관리자 .. 2020. 1. 23.
PowerPoint 동영상으로 만들기 안녕하세요 마블랑입니다. Microsoft의 발표자료 문서 작성 프로그램인 파워포인트를 그동안에 슬라이드로 만들어서 사용을 했었습니다. 파워포인트 기능을 찾아보던중 우리가 흔하게 사용할수있는 동영상 플레이어로 볼수 있는 방법이 있더군요 한번 슬라이드를 윈도우 동영상으로 만들어 보겠습니다~ 비디오로 만들 PPT를 열고 메뉴탭에 [슬라이드 쇼] - [슬라이드 쇼 녹화] - [처음부터 녹음 시작] 을 눌러주세요 상황에 따라서 "현재 슬라이드에서 녹음 시작" 을 눌러도 됩니다~ 아래와 같은 화면이 표시되면 녹화시작을 누르면 녹화가 시작됩니다. 애니메이션이나 사운드를 함께 녹음하려면 아래 체크박스들을 확인하고 녹화시작을 눌러주세요~ 녹화는 슬라이드쇼가 진행하는 동안에 녹화가 됩니다. 직접 클릭하여서 슬라이드가 넘.. 2020. 1. 23.
Excel 목표값 찾기 안녕하세요 마블랑입니다. 마이크로소프트의 엑셀에서는 단순히 문서 작성 뿐만 아니라 어느정도의 수식이라든가 계산 기능이 있어 사용자가 원하는 데이터를 추출하기 쉬운데요 엑셀에서 제공하는 "목표값 찾기"도 그중에 하나입니다. 이번 포스팅은 엑셀의 목표값 찾기 기능을 활용하여 원하는 결과값을 얻기위해 어떤 데이터를 입력해야하는지 알아보도록 합시다. 우선 적접 만든 샘플데이터를 보면 여러가지 수가있고 합계와 평균이 있습니다. 그럼 [데이터] - [가상분석] - [목표값 찾기] 항목을 찾아 클릭합니다. 아래와 같은 목표값 찾기 화면이 표시되면 "수식 셀"에는 수식이 포함된 셀을 클릭해줍니다. 그리고 해당 셀의 값을 어떤 값으로 맞추고 싶은지 "찾는 값" 항목에 입력해주세요 그리고 "수식 셀"의 값이 "찾는 값"으.. 2020. 1. 22.
Python 예외처리(try..except) 안녕하세요 마블랑입니다. 어느 프로그램이나 예상치 못한 상황이 존재합니다. 그때마다 에러가 발생하는데요 그래서 프로그래밍 언어에서는 에러가 발생하면 프로그램을 중지하고 에러가 발생하였다는 메시지를 출력해줍니다. 대표적으로 자바나 C#의 try..catch 문이 있습니다. 이 예외처리 구문이 파이썬에도 있는데요 try..catch와 조금 다른 "try..except" 입니다. 사용법에 대해서 알아보겠습니다. try: #코드 실행부분 except: #try부분에서 에러 발생시 실행되는 부분 finally: #try문이나 except문을 마친뒤에 반드시 실행되는 부분 다른 프로그래밍 언어를 접해보신분들은 try..except의 각 부분이 어떤 역할을 하는지 알것같습니다. 그럼 예제코드를 실행해보겠습니다. ra.. 2020. 1. 21.
Excel 머리글 바닥글 추가하기 안녕하세요 마블랑입니다. 문서작성 프로그램을 사용하여 문서를 작성하면 대부분 출력해야하는 경우가 많습니다. 그때마다 쪽번호라든지 날짜라든지 머리글이나 바닥글에 추가해야하는데요 이번 포스팅은 엑셀에 머리글과 바닥글을 추가하는 방법에 대해서 알아보겠습니다. 문서 샘플은 지난번 부분합을 위해 만들어두었던 샘플파일을 이용하였습니다~ 엑셀 문서 파일을 열고나서 [삽입] - [머리글/바닥글]을 눌러주세요 [머리글/바닥글]을 누르면 머리글과 바닥글을 입력할수 있는 폼이 생기는데요 각각 왼쪽/중간/오른쪽을 선택해서 입력할수있습니다. 테스트삼아 모든 영역에 내용을 추가해보았습니다. 보통 머리글과 바닥글은 모든페이지에 표시가 되는데 다르게 추가하고 싶으면 머리글이나 바닥글을 클릭한뒤에 [디자인] 탭을 눌러 수정할수 있습니.. 2020. 1. 21.
Excel 부분합 사용하기 안녕하세요 마블랑입니다. 개인적으로 생각하는 오피스 프로그램의 최고는 Microsoft에서 개발한 Excel 이지 않을까 싶습니다. 같은 회사에서 개발한 Word나 Powerpoint 보다도 더 사용자 편의에 맞고 잘활용하면 문서관련해서는 못하는게 없어 보입니다. 그래서 그 대단한 엑셀의 기능을 하나씩 살펴보았는데요 이번에는 '부분합' 이라는 기능에 대해서 알게되었습니다. 보고서를 위해 많은 분들이 엑셀을 활용하는데 '부분합'은 데이터를 입력한 뒤에 특정기준으로 데이터를 정리 및 요약할수 있는 기능입니다. 그럼 엑셀에서 부분합을 어떻게 사용하는지 알아보겠습니다~ 이 데이터는 부분합 설명을 하기 위해 자체적으로 만든 샘플파일입니다~ 내용이 맞지 않아도 이해해주세요 직업별로 부분합을 이용해 데이터를 요약해보.. 2020. 1. 21.
Python 실행시 매개변수 인자 전달 안녕하세요 마블랑입니다. 얼마전에 파이썬에 대해 포스팅을 하면서 파이썬 파일을 작성하는 방법에 대해서 간단하게 했었습니다. 이번 포스팅은 파이썬 파일을 명령 프롬프트(CMD창) 에서 실행을 하고 실행시 파라미터를 주어서 매개변수 인자값으로 전달하는 것에 대해서 알아보겠습니다. 먼저 파이썬 파일을 작성해보겠습니다. 메모장에서 작성해도 되고 파이썬 에디터를 이용해도 되고 다른 에디터 프로그램을 사용해도 됩니다. import sys print(sys.argv[0]) # PythonTest_01.py print(sys.argv[1]) # aaaa print(sys.argv[2]) # bbbb print(sys.argv[3]) # cccc print(sys.argv[4]) # dddd 파라미터값을 가져오기 위해서.. 2020. 1. 17.
Python 파일 입출력 구현 안녕하세요 마블랑입니다. 이번 포스팅은 파이썬에서 파일을 다루는 방법에 대해서 알아보겠습니다. 파일을 다루기 전에 우선 파일을 열어야 합니다. 파이썬에서 파일을 여는 함수는 open() 함수를 이용하면 됩니다. open() 함수에는 두가지 매개변수가 입력해줘야 하는데요 첫번째 매개변수는 파일의 경로가 포함된 파일명이고, 두번째 매개변수는 파일모드입니다. open("파일경로","파일모드") 파일모드란 파일을 읽기모드로 열것인지, 쓰기모드로 열것인지, 추가모드로 열것인지 정하는 매개변수입니다 다른 프로그래밍 언어와 마찬가지로 읽기모드는 'r', 쓰기모드는 'w', 추가모드는 'a'를 입력하면 됩니다. 파일을 읽기모드로 열었을때는 쓰거나 추가할수 없으며, 쓰기모드나 추가모드로 열었을때 파일을 읽을수 없다는 점.. 2020. 1. 17.
Windows10 Unity 설치하기 안녕하세요 마블랑입니다. 얼마전에 VR을 접할 기회가 생겨 한번 VR을 경험해보니 관심이 생기더군요 그래서 VR의 기초라고 할수 있는 Unity를 배워보려고 Unity를 다운받아 설치해보았습니다. 유니티 홈페이지에 접속해서 아래와 같이 시작하기를 눌러주세요 사업자는 라이선스 비용을 지불해야하지만 개인에게는 무료로 제공이 됩니다. 개인 탭을 클릭한뒤에 시작하기를 눌러주세요 시작하기를 누르면 아래 페이지로 이동이 되는데요 처음 사용자용이 있고 재방문 사용자 용이 있습니다. 두개가 같은건줄 알았는데 다른거 더군요 일단은 첫 사용자이니 왼쪽 시작하기를 눌렀습니다. 가이드식 학습이 있다고 하네요 약관에 동의를 해주고 다운받아 줍니다. 다운받은 파일을 실행해주세요 유니티 허브는 런처같은 개념이라 금방 다운이 됩니다.. 2020. 1. 16.
Python 사용자 입력 받기 안녕하세요 마블랑입니다. 이번 포스팅은 프로그램에서 중요한 부분인 하나인 사용자 입력을 Python으로 구현해보려고 합니다. 컴퓨터라는 것은 텔레비전과 다르게 사용자가 데이터를 입력하고 그 데이터에 맞춰 결과값을 보여주죠 만약 사용자 입력이 없다면 컴퓨터와 텔레비전의 경계가 모호해지지 않을거라는 개인적인 생각이 있습니다~ 파이썬에서 사용자 입력은 굉장히 간단합니다. 미리 파이썬에서 구현해 놓은 "input()" 함수를 이용하면 되는데요 사용법은 아래와 같습니다. 변수를 지정하고 입력을 받아 사용자 입력을 받고 있습니다. 변수에 저장하지 않고 input() 함수를 사용하면 사용자가 값을 입력한 다음에 바로 출력이 이뤄집니다. 다음은 input() 함수에 매개변수를 지정하여 메시지를 출력하면서 입력값을 받는.. 2020. 1. 16.