즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

전체 글 258

[2021.03] C#에서 Unix Time을 구해보자.

보통 로그에 시간정보가 누적해서 들어가기 때문에 Date타입이나 String타입으로 설정하는 것보다는 UnixTime을 이용해 숫자값으로 저장하는 것이 훨씬 적게 데이터를 쌓을 수 있다. UnixTime은 ISO8601 표준에 의거해 1970년 01월 01일 09시 00분 00초를 기점으로 초 단위로 카운트 된다. 이 글을 작성하는 시간으로 Unix Time을 구하면 다음과 같다. # date -d '2021-03-26 15:29:00' '+%s.%N' | cut -b1-10 1616740140 이 정보를 이용해 C#으로 작성해보자. public static DateTime IntToDateTime(int intDate) { return new DateTime(1970, 1, 1, 9, 0, 0).Add..

개발/C# 2021.03.26

[2021.03] C# 프로그램을 관리자 권한으로 실행하기

출처: www.enjoydev.net/xe/en_devboard/26728 엔조이데브: 팁&트릭 - 관리자 권한으로 실행하기 다음 함수 추가 public static bool IsAdministrator() { WindowsIdentity identity = WindowsIdentity.GetCurrent(); if (null != identity) { WindowsPrincipal principal = new WindowsPrincipal(identity); return principal.IsInRole... www.enjoydev.net 다음 함수는 프로그램이 관리자 권한으로 실행했는지에 대한 여부를 알 수 있게 하는 함수이다. Static 함수로 추가하거나 클래스에 다음 함수를 추가한다. 아래 코드..

개발/C# 2021.03.26

[2021.03] Winston패키지를 이용한 Logger 클래스

Winston을 이용한 Logger 패키지이다. 사용법은 다음과 같다. const logger = require('./src/helper/logger').logger; logger.info('===================================') logger.info('Program Started!!'); logger.info('-----------------------------------') 사용 패키지 path fs winston-daily-rotate-file winston moment-timezone 환경설정 "Logger": { "TimeZone": "Asia/Seoul", "logPath": "logs", "logFile": "logfilename", "loglevel": "de..

개발/Node.js 2021.03.26

2008.04.12 MS 글로벌 서밋 & 캐나다 여행기 (1)

2008년 04월 12일 오후 5시 30분 비행기에 올랐다. 미국 MS글로벌 서밋에 참가하는 MVP가 대략 50명정도 였는데 대한항공 단체 티켓으로 굉장히 싸게 구입을 했다. 당시 왕복티켓 70만원에 구매했던 것으로 기억한다. 2008년 04월 12일 오전 11시 30분 시애틀 타코마 공항에 도착했다. (비행시간은 13시간인데, 버스 탄 시간인가보다.) 이 당시에는 아직 미국 무비자 입국이 안되는 시점이었기에 미국대사관 가서 비자발급을 받았었다. 간단한 영어 시험을 받아야 했는데 다행히 다 들리더라.. 입국심사 상대로 어여쁜 여자가 해줬는데 다행히 몇몇 문장만 Again해서 알아듣고 통과했다. 게다가 수화물까지 쉽게 찾아 12시 30분 발 벤쿠버행 퀵셔틀을 탈 수 있었다. (왕복 87$-크레디트) (여기..

2007.04.07 첫 해외여행, 일본 후쿠오카

30살이 넘어서야 첫 비행기를 타고 일본에 다녀왔다. 그것이 기점이 된 것인지 모르겠지만 그 해 구축사이트가 제주한라병원으로 결정이 되면서 9월부터 10월까지 총 8번을 제주도 왕복했던 것일까? 마지막 관광지였던 ... 하우스텐보스라고 하는 곳인데 유럽마을을 그대로 옮겨온 곳이라고 보면 된다. 점심을 한국음식 파는 곳에서 먹었는데 김치가 없었던 것 같고 맛도 없었다. ㅋ

[2021.03] 엔조이 데브(EnjoyDev)의 지나온 길

디스크를 정리하던 중 홈페이지 리뉴얼 할 때마다 백업한 소스를 발견했습니다. 2002년 4월 8일 첫 오픈!! (결혼 기념일도 4월 8일인데 홈페이지 오픈일이 이렇게 맞아떨어지다니 신기하네요) 허접합니다. 네.. 아직도 허접하지만 약 20년 전 개발 초짜가 짜집기로 만들어서 오픈해서 운영했습니다. 그 때 그 자료가 아직 남아있었다면 상당한 데이터를 자랑했겠지만 많이 날려 먹었습니다. T_T 아마 이때가 디빅돌이라는 프로그램을 만들어서 무료배포 했던 시기네요. 일 평균 10만을 찍었던 시기이기도 합니다. 구글 애드센스 대박터졌을 텐데 그때는 그런게 없었습니다. 디빅돌이는 영화를 관리하는 프로그램이었습니다. 버전 업데이트 할 때 디비 구조를 변경하면서 기존 사용자들의 마이그레이션 부분을 전혀 생각하지 못하고..

[2021.03] 론 제프리의 "효율적인 소프트웨어 개발을 위한 7가지 핵심 원칙"

출처: pragprog.com/titles/rjnsd/the-nature-of-software-development/ The Nature of Software Development Go from the desire for value, down to the specific activities that help good Agile projects deliver better software sooner and at a lower cost. pragprog.com 1. 처음부터 끝까지 가치에 초점을 맞추자. (Begin and end with a focus on value.) 소프트웨어 제품을 만들때, 소프트웨어가 어떤 가치를 가지는지 마음속에 두고 시작한다. 단지 돈을 벌기 위해서가 아니라, 이 소프트웨어를 ..

[2021.03] Visual Basic 6.0 나의 개발 패턴이력

이전 글에 이어서 2011년 기준 10년동안 개발해오면서 개발방식에 대한 패턴을 정리했던 글이다. 2000년 10월에 첫 입사하여 2001년 1월부로 3개월짜리 프로젝트를 VB로 시작한 이래로 2011년까지 거의 10년간 VB로 개발하면서 나의 개발패턴의 변화를 적는다. 첫 프로젝트는 3개월짜리로 원래 MFC로 개발하라는 것을 신입사원이 어떻게 MFC로 3개월만에 결과물을 내놓느냐 VB로 하겠다라고 한것이 받아들여져서 VB로 시작한 것이 프로젝트 자체는 1년만에 끝이났다. 이유는 하드웨어 PCB를 다시 제작하고 OS포팅이 늦어져서 발생했던 것이었다. 그러면서 VB라는 것에 더 심취하게 되었고 개인적으로는 6번 VB프로젝트를 갈아엎는 상황이 만들어졌다. 이유는 한달전에 짠 코드가 성능, 디자인, 모두가 개..

[2021.03] Visual Basic 6.0 개발 노하우

VS98의 비주얼베이직 6.0에서의 노하우를 약 6~7년전에 비주얼베이직을 메인으로 했던 어떤 회사에 공유했던 글입니다. 아직도 비주얼 베이직을 사용하고 있는 분들을 위해 올려봅니다. 1. 편의 또는 디자인을 위해서 많은 상용 콘트롤을 사용하지 말아라. - VB런타임도 무거운데 상용 콘트롤까지 덕지덕지 붙어있으면 더 무거워진다. 실행자체가 느려짐. 2. 꼭 상수를 선언해서 사용해라. (하드코딩해서 일일히 숫자로 사용하지 말 것) - 그 상수가 향후 변경이라도 되면 그거 바꾸는데 골 뽀개진다. 3. 색상을 단조롭게 해라. - 회색,흰색,검정색이 가장 오래간다. 원색은 일주일만 지나도 식상해진다. 4. 선언한 객체는 꼭 해제해라. (메모리 문제) - VB도 .net만큼은 아니지만 원래 자동으로 메모리 관리를..

[2021.03] 윈도우에서 Linux(Gnome) 원격 데스크탑으로 접속하기

필자는 리눅스 개발을 할 때 윈도우에 Code를 설치하고 Remote로 접속하는 방식을 사용합니다. 보통은 최소설치로 개발서버를 만들어서 세팅을 해서 사용하지만 Linux에 Virtual Box를 설치할 때는 CLI로 하기 귀찮아서 그놈 윈도우(Gnome Window)를 설치하고 원격접속해서 가상 VM제어를 하는 방식을 사용하곤 하는데 이때 원격 접속하는 방법을 소개하겠습니다. (흠.. 오늘은 경어체...) 방식은 아래 스크립트를 보시면 아시겠지만 xrdp와 vnc를 이중으로 접속하는 방식입니다. xrdp는 윈도우의 원격데스크탑 클라이언트의 서버역할을 하고 다시 VNC를 이용해 리눅스에 접근하는 방식을 취합니다. CentOS7 배시 쉘에서 다음을 차례대로 입력합니다. sudo yum install -y ..