어린이 색칠공부
어린이 색칠공부
어린이 색칠공부

그동안 키보드는 무조건 로지텍이라고 생각하고 살아왔는데, 다른 분들이 사용하고 있는 키보드들을 보니 화려한 색감, LED, 타격감 등 다양한 키보드 들이 있다는 것을 알았다. 그래서 나도 이러한 조건들을 만족하는 키보드들을 써보기로 하고 인터넷, 유튜브 등을 통해 서치해 보고 1차로 선택한 키보드가 COX CK87 GATERON BLACK 갈축 키보드이다. 아래링크를 통해 구매했다.

 

 

#포토리뷰이벤트# COX CK87 블랙/다크그레이 게이트론 키보드 갈축 : N 쇼핑몰

[N 쇼핑몰] 컴퓨터 및 주변기기 정품판매점

smartstore.naver.com

우선 하루정도 사용해 봤는데 확실히 타격감이 있고 LED가 있어서 어두운 곳에서도 키보드가 보여서 좋았다. 다만 사무실에서 쓰려고 하는데 기계식 중에서는 소음이 적다고 들었던 갈축을 선택했음에도 불구하고 소음이 이전에 쓰던 로지텍 키보드에 비해 상대적으로 많이 커서 걱정이다. 우선 집에서 좀 더 써보고 사무실로 가져가야겠다.

이 글을 쓰는 이유는 다른거 보다도 단축키를 기록하기 위해서이다. 이 제품의 FN키를 사용하려면 익숙해 지기 전에는 아래 있는 메뉴얼을 참고해야 할 것 같다. 키보드 상에는 단축키에 대한 그림이 없기 때문이다...ㅜㅜ

(아래 그림은 메뉴얼을 스캔 뜬 것이다.)

구매한 제품 광고(공식 홈페이지)

 

COX

 

www.coxenc.co.kr

 

오랜만에 글을 쓰네요.
재취업을 하고 처음으로 현장에서 근무를 할 기회를 갖게 되었습니다.
금융권이고 C# Windows Form 프로그램을 유지관리 하는 역할입니다.
이미 완성되어 있는 프로그램인데 동작이 잘 안되는 부분이 있다면 수정해 가는 단계에 투입이 되었습니다.
이 과정에서 제가 실질적으로 알아야 할 내용들을 간단하게 정리하려고 합니다.

우선은 생각나는 순서대로 적을 생각이며 순서나 내용은 글이 올라간 뒤에도 추가 및 수정될 수 있습니다.

프로그램 코딩을 잘 하려면 아래의 내용들을 공부해야 합니다.

소프트웨어 개발방법론

 

소프트웨어 개발 방법론

□ 소프트웨어 개발 방법론 ○ 소프트웨어 개발 방법론이란? 소프트웨어 개발 방법론의 구성 소프트웨어 생명주기 관리 모델에서는 프로젝트가 어떤 순서로 진행될지 그리고 중간에 어떤 산출물을 점검할 지에 대..

multicore-it.com

리팩토링 및 디자인 패턴

인수받은 코드가 가독성이 떨어지고 유지보수가 어려운 상황을 Dirty Code라고 합니다. 이를 Clean Code로 만드는 과정이 Refactoring 입니다. 처음부터 Clean Code로 만드는 것이 중요하고 기존 개발한 코드도 Refactoring 과정을 활용하여 점점 clean 한 code로 만들수 있습니다. 

소프트웨어 디자인 패턴(software design pattern)은 소프트웨어 공학에서 소프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다.

참고자료https://ko.wikipedia.org/wiki/소프트웨어_디자인_패턴

사수로 계신 부장님이 추천해 준 사이트 입니다. 시간될때 영어공부도 할 겸 번역하면서 읽어봐야 겠네요...

 

Refactoring and Design Patterns

Hello, world! Refactoring.Guru makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics. This site shows you the big picture, how all these subjects intersect, wo

refactoring.guru

머리속에 프로그램 개념 및 기본 로직 개발이 되어야 함

그동안 개발할 때에는 인터넷이 되는 환경에서 개발을 하다 보니 기본적인 것도 인터넷으로 예제를 찾아서 복사 후 바꾸는 방식으로 진행을 했었다. 그러다가 현장에 인터넷이 전혀 안되는 환경에서 하다 보니 개발하는 속도가 현저하게 떨어졌다. 대부분의 금융권 회사는 보안이슈로 노트북, 태블릿의 출입 허가가 안나기 때문에 이 환경에서 빠른 개발을 하려면 머리속에 기술 분야 별로 기본적인 코딩은 바로바로 할 수 있어야 한다.

개발도구 - Visual Studio

보통 통합 개발 환경(Integrated Development Environment, IDE)이라고 하는데요 쉽게 말해서 개발을 할 수 있게 도와주는 소프트웨어입니다. C# Windows Form 을 개발하려면 제가 아는 수준에서는 Microsoft Visual Studio가 유일하다고 생각합니다. 특히 모든 메뉴가 한글로 되어 있기 때문에 영어를 모르시는 분에게는 최고에 IDE 입니다.

글 작성 기준으로의 최신버전은 2019 입니다. 하지만 무조건 최신버전이 좋지는 않습니다. 저는 2010으로 시작해서 현재 2017 버전을 사용하고 있습니다. 현장에서는 2015 버전을 사용중입니다.

https://docs.microsoft.com/ko-kr/visualstudio/releasenotes/vs2017-relnotes

 

Visual Studio 2017 15.9 릴리스 정보

Visual Studio 2017의 향상된 최신 기능에 대한 릴리스 정보입니다. Visual Studio를 사용하여 더 효과적으로 계획하고, 함께 코딩하여 빠르게 제공하세요.

docs.microsoft.com

소스비교 프로그램 WinMerge

소스병합 또는 기존 소스 컨버팅, 커스터마이징할 때 유용한 프로그램입니다.

https://winmerge.org/downloads/?lang=en

 

Download WinMerge - WinMerge

Download WinMerge The easiest way to install WinMerge is to download and run the Installer. Read the online manual for help using it. WinMerge 2.16.4 The current WinMerge version is 2.16.4 and was released at 2019-07-28. For detailed info on what is new, r

winmerge.org

서브버전 - SVN

서브버전(Subversion)은 자유 소프트웨어 버전 관리 시스템이다.
참고자료: https://ko.wikipedia.org/wiki/서브버전

Visual Studio SVN을 사용하였고 플러그인은 AnkhSVN 을 사용했습니다. Git도 사용할 만합니다. 버전관리는 필수입니다.

 

ankhsvn: Subversion Support for Visual Studio

About AnkhSVN AnkhSVN started as Arild Fines' final year development project at the Engineering Faculty of the Oslo College in Norway. Karl Fogel (one of the Subversion “originals”) was Arild’s outside mentor. Arild continued the project while pursuing a m

ankhsvn.open.collab.net

컴퓨터 사양 - VDI, Zero Client 환경

클라우드 계정을 부여받고 Zero Client 에서 접속해서 사용합니다. CPU i5(Intel(R) Xeon(R) CPU E5-2667 램은 8G, 저장공간은 100기가 정도 주어집니다. 클라우드 환경임에도 Visual Studio로 프로그래밍 하기에는 무리가 없었습니다. 제 생각에 Visual Studio로 프로그래밍만 하는 노트북 또는 컴퓨터 사양으로는 CPU i5급, 램은 8g, SSD 128gb 정도되면 적당하게 사용이 가능해 보입니다. 하지만 1인 사업으로 문서작업, 사진 및 영상편집 등을 같이 하려면 더 높은 사양이 필요할 수도 있습니다.

 

[노하드 시스템] Zero Client 란?

■ 제로 클라이언트의 정의제로 클라이언트는 중앙처리장치(CPU), 메모리, 하드디스크 등과 같이 PC의...

blog.naver.com

로컬에서 파일을 저장하는 방법

현장에서는 ini, mdb를 주로 사용하였습니다. ini는 간단한 설정 값의 정보를 쉽게 읽고 쓸 수 있습니다. mdb 는 쿼리문을 사용할 수도 있고 office를 사용하면 access 프로그램으로 쉽게 접근이 가능합니다.

다른 dll 호출방법 - 참조추가, 마샬링

Visual Studio 에서 C# 윈도우폼에서 프로그램에서 다른 솔루션의 기능을 활용하려면 참조추가, 마샬링(marshaling)으로 프로젝트에서 활용할 수 있습니다. ActiveX dll 파일도 가져와 사용합니다.

글꼴

코딩에 좋은 글꼴이 있습니다. 숫자1(일)과 소문자l(엘) 그리고 한글 ㅣ(이) 와 같이 혼동이 올 수 있는 글자들을 구분할 수 있습니다. 아래 링크에서 다운로드 받아서 설치하면 사용 가능합니다. 현장에서는 "나눔고딕코딩"을 사용했습니다.

 

naver/d2codingfont

D2 Coding 글꼴. Contribute to naver/d2codingfont development by creating an account on GitHub.

github.com

Visual Studio 기능들 - 명령줄인수, 조건부 컴파일, 단축키 등

명령줄 인수를 사용하면 웹이나 다른 프로그램에서 해당 프로그램을 실행할 때 필요한 정보를 전달해서 실행될 때 사용하거나 명령을 내릴 수 있습니다. 간단한 예를 들면 프로그램.exe "abc" 를 하면 프로그램 시작 시 abc를 가져와서 작업할 수 있습니다.

Visual Studi 프로젝트에서 조건부컴파일은 #if A 와 같이 특정 조건에서 실행되게 할 수 있습니다. 

Visual Studio 단축키를 익히면 좀 더 빠른 코딩이 가능합니다. 실제로 쓰면서 유용한 단축키는 추후에 정리해 보겠습니다. 자주 쓰면서 유용하다고 생각했던 단축키 2개만 정리하면 아래와 같습니다.

1. Ctrl + K, R: 선택 부분의 참조 찾기 / 2. Ctrl + -(마이너스): 이전 위치로 돌아가기

 

자주 사용되는 명령의 기본 바로 가기 키 - Visual Studio

Visual Studio에서 자주 사용되는 바로 가기 키Popular keyboard shortcuts for Visual Studio 이 문서의 내용 --> 이러한 기본 바로 가기 키를 선택하여 Visual Studio의 자주 사용하는 명령에 액세스할 수 있습니다.You can access frequently used commands in Visual Studio by choosing these default keyboard shortcuts. 기본 바

docs.microsoft.com

그리고 함수(Method)를 작성하고 사용을 한 다음에 다시 해당 함수로 이동을 하면 함수 이름 위에 참조 1개 라고 글씨가 뜨고 그걸 클릭하면 해당 함수를 참조하고 있는 함수들을 볼 수 있습니다. 이 기능이 괜찮아서 집에서 프로그램을 실행해 보니 뜨지 않는 겁니다. 해당 기능을 code lense 에서 참조(references) 기능인데 해당 기능은 무료 버전인 community 에는 없고 프로 이상 버전에만 제공하는 기능인 것 같습니다.

https://stackoverflow.com/questions/20823805/codelens-not-showing-references

 

CodeLens not showing references

CodeLens stopped working for some reason in project solution that I'm dealing nowadays. It is not showing references instead "- references". However, when I open up Visual Studio with another pro...

stackoverflow.com

DLL 파일 때문에 죽는 문제를 해결하려면... agent 프로그램을 만들어야 함...

아무리 예외 처리를 잘 해도 외부에서 가져온 dll 함수를 수행하다가 오류가 발생할 경우에는 프로그램이 비정상 적으로 종료될 수도 있습니다. 이를 방지하려면 외부 dll 함수를 쓸 경우에 agent 프로그램을 만들어서 호출하는 방식으로 가서 오류가 발생하더라도 agent 프로그램만 죽고 개발 프로그램은 안 죽고 계속 진행할 수 있게 만들 수 있다고 합니다.

ActiveX 디버그하기

C#으로 개발한 ActiveX를 디버그하려면 dll을 디버그 모드로 빌드하고, ActiveX를 실행한 다음에 Visual Studio 프로그램에서 프로세스에 연결프로세스에 연결하기를 하면 디버그할 수 있습니다.

AS-IS, TO-BE

현장에서 이 이야기를 들었을 때 난 이전 프로그램의 이름이 AS-IS(에즈이즈) 이고 현재 진행중인 프로그램 별명이(분명 현재 프로그램 이름은 다른 것이었기에...) TO-BE(투비) 인줄 알았다. 알고 보니 에즈이즈는 이전 프로그램, 투비는 현재 개발 및 유지보수 중인 프로그램을 말하는 것이었다. 해당 프로젝트는 기존 Visual Basic 언어로 개발되어 있던 프로그램을 C# 언어로 컨버전 한 프로그램이었던 것이었던 것이다!!!

https://blog.shovelman.dev/840

 

[삽잡이::etc] AS-IS와 TO-BE

as-is 란, 지금 현재 '있는 그대로'를 의미합니다. 즉, 현재 업무 프로세스에 대한 분석을 의미합니다. to-be란, '미래의' 라는 의미를 가지고 있습니다. 즉, 이 둘은 현재의 상태(as-is)와 미래에 원하는 상태(to..

blog.shovelman.dev

소캣 프로그래밍, MCI?

난 소캣 통신, MCI 는 이번 현장에서 처음 경험했다.

MCI는 뭐야?

 

MCI 좀 더 파기

MCI (Multi Channel Integration) 소개 및 구성1. MCI 및 EAI 배경 몇년전만 해도 금융권 차세...

blog.naver.com

이전 회사에서는 .net framework, asp.net 등으로 직접 MS-SQL에 접속해서 데이터를 송수신 했기 때문이다. 알고보니 소켓 클래스는 Low Level 클래스이었다.  이전에 개발할 때는 High Level 클레스들을 사용하기 때문에 Low Level 인 소켓을 경험할 일이 없었다.

C# 환경에서 MS-SQL에 접속하려면? 구글 검색 -> 오호 아래 글 보고 하면 되겠다. using System.Data.SqlClient 를 쓰면 되겠군!!

출처: C#에서 데이터 베이스에 연결하고, 쿼리를 실행하는 방법 (Mssql, .net)
https://kinanadel.blogspot.com/2018/10/c-mssql-net.html

 

C#에서 데이터 베이스에 연결하고, 쿼리를 실행하는 방법 (Mssql, .net)

IT 관련 내용을 포함하여 각종 취미 생활에 대한 블로그 입니다.

kinanadel.blogspot.com

현장에서 처음 접하게 된 개념으로 이를 제대로 이해하려면, 소켓, 인터페이스 등 기존 개발 경력에서 잘 사용하지 않았던 개념들을 체계적으로 공부할 필요가 있어 보인다.

 

Socket을 이용한 HTTP 호출 - C# 프로그래밍 배우기 (Learn C# Programming)

Socket을 이용한 HTTP 호출 Socket을 이용한 HTTP Raw Request C#에서 HTTP Request를 보내는 방법으로 흔히 High 레벨 클래스로서 HttpWebRequest, WebClient, HttpClient 클래스들을 사용하는데, 여기서는 Low 레벨의 HTTP 네트워크 통신을 이해하기 위해 Socket 클래스는 사용하여 HTTP 프로토콜 Raw 데이타를 보내는 방법에 대해 소개한다. 먼저 HTTP Request에 대한 Raw

www.csharpstudy.com

로그는 필수!

저는 개발할 때 로그를 남기지는 않았습니다. 대부분 사용자들이 보고 처리할 수 있도록 메시지로만 처리를 했습니다. 현장에서 일 하면서 로그가 중요하다는 것을 알았습니다. 그리고 로그도 레벨을 설정하고 원하는 수준의 로그를 출력할 수도 있습니다. 로그 레벨에 대한 내용은 아래 글들을 참고해 주세요.

 

Logging Levels: What They Are and How They Help You | Scalyr

Today, we take a look at the idea of logging levels for entries in your logs. What are they, how do they work, and why should you use them?

www.scalyr.com

 

 

log4j logging hierarchy order

What is the hierarchy of log4j logging? DEBUG INFO WARN ERROR FATAL Which one provides the highest logging which would be helpful to troubleshoot issues? Can any one provide the order or hierarch...

stackoverflow.com

백업 및 동기화 프로그램

이전 회사에서 작업했을 때는 처음에는 무식하게 솔루션 버전 별로 전체 zip 파일로 압축을 해서 로컬 컴퓨터, 공유 컴퓨터 2중으로 백업을 했었습니다. 그리고 현상관리 없이 폴더들을 동기화 하는 무료 프로그램인 freefilesync 를 사용했습니다. 이 프로그램을 사용하면 초보자도 쉽게 로컬, FTP 내용을 동기화 할 수 있습니다.

https://freefilesync.org/

 

FreeFileSync

Download FreeFileSync 10.18. FreeFileSync is a free open source data backup software that helps you synchronize files and folders on Windows, Linux and macOS.

freefilesync.org

워드, 엑셀 등의 문서는 원드라이브를 사용하고 있습니다. 여기에 자료를 정리하면 집 컴퓨터, 노트북. 태블릿, 휴대폰 등 내가 가지고 있는 어느 장치에서도 내용을 확인할 수 있습니다.

나머지 큰 영상, 사진 등의 자료는 개인적으로 시놀로지 나스를 구매서 사용중에 있습니다. 현재까지 랜섬웨어에 한번 공격을 당해서 하드디스크를 분해 후 암호를 강화했습니다. 보안에 더 신경쓰려면 포트들도 기본 포트를 쓰면 안되고 변경해서 사용해야 합니다.

현장에서는 소스만 클라우드 관리를 하고 문서 등 기타 자료는 공유 드라이브에 두고 메신저로 자료를 공유합니다.

현재 다니기 시작한 회사는 자료 공유가 잘 되지 않는 거 같습니다. 회사 솔루션 자산에 대한 보호(?) 때문일 지도 모른다는 생각을 해봅니다.

개발한 프로그램 배포하기

개발한 프로그램을 배포하려면 셋업 파일을 만들어야죠~ 셋업 파일을 만드는 방법은 다양합니다.

이전에 사용해본 방법으로는 국산 프리웨어인 Install Factory, Visual Studio 플러그인 Microsoft Visual Studio Installer Projects 이렇게 2가지를 사용해 봤습니다.

현장에서는 NSIS로  셋업파일을 만들어서 배포합니다. 아래 언어를 배우면 배포할 때 원하는 방식으로 업데이트 버전을 배포할 수 있습니다. NSIS(Nullsoft Scriptable Install System, 널소프트 스크립터블 인스톨 시스템)는 스크립트 기반으로 동작하는 윈도용 설치 시스템으로, 윈앰프를 만든 것으로 알려져 있는 널소프트가 지원하는 가벼운 설치 시스템이다.

 

NSIS - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. NSIS(Nullsoft Scriptable Install System, 널소프트 스크립터블 인스톨 시스템)는 스크립트 기반으로 동작하는 윈도용 설치 시스템으로, 윈앰프를 만든 것으로 알려져 있는 널소프트가 지원하는 가벼운 설치 시스템이다. NSIS는 인스톨실드와 같은 상용 사유 제품들을 널리 대체하면서 인기를 끌고 있다. NSIS는 주로 zlib 라이선스인 자유 소프트웨어 라이선스와 결합한 자유 소프트웨어이다.[1] N

ko.wikipedia.org

프로그램은 아래 사이트에서 다운로드 받을 수 있습니다.

https://sourceforge.net/projects/hmne/

 

HM NIS Edit

Download HM NIS Edit for free. HM NIS Edit is the best Editor/IDE for Nullsoft Scriptable Install System (NSIS). Its useful for experts and beginner in the creation of Setup programs with the NSIS.

sourceforge.net

처음부터 끝까지 프로그램 완성을 하려면 위의 내용들을 체계적으로 공부해야 합니다.

각 각의 부분에 대해서도 시간이 되면 작성해 보도록 하겠습니다.

글 내용 중에서 틀린 부분이 있다면 댓글로 남겨주시면 수정하겠습니다.

감사합니다.

+ Recent posts