C#으로 응용 프로그램을 제작하는 과정에서 모든 라이브러리가 C# 닷넷 라이브러리로 제작되어 있다면 사용도 디버깅도 편리한 장점이 있지만 현실은 아직 언어들 예를들어 C++이나 기타 언어로 만들어진 DLL을 사용해야 되는 경우가 종종 발생합니다.PInvokeStackImbalance' 관리 디버깅 도우미가 '.........vshost.exe'에서 문제를 발견했습니다.추가 정보: PInvoke 함수 '..........::SMSUnitSend'에 대한 호출 결과 스택이 불안정하게 되었습니다. 관리되는 PInvoke 시그니처와 관리되지 않는 대상 시그니처가 일치하지 않기 때문인 것 같습니다. 호출 규칙 및 PInvoke 시그니처의 매개 변수와 관리되지 않는 대상 시그니처가 일치하는지 확인하십시오.예전에는 ..
제주 올레는 대중 교통으로도 충분히 다닐 수 있도록 코스 종점이나 시작점에 버스 정류장이 있기 마련입니다. 제주 시외버스 터미널이나 서귀포 시외 버스 터미널로 이동하는데는 무리가 없습니다. 문제는 숙소가 길에서 조금 떨어진 곳에 위치하거나 공항에서 바로 가는 것이 없어서 환승해야 하는 경우, 비행기와 버스 시간이 맞지 않는 경우등 버스 활용이 어려운 경우입니다. 이런 경우 한두명이라면 고민스러울 수 있지만 서너명이라면 과감하게 콜택시를 이용하는 것도 방법입니다. 최근 도심 지역에서는 카카오택시가 활성화되어 있어서 손쉽게 차를 부를 수 있지만, 제주의 경우는 카카오 택시를 사용하는 비중이 조금씩 늘고는 있지만 아직 지역 콜택시 비중이 높다고 합니다. 여행 지역의 콜을 미리 알아두고 부르는 것도 방법입니다...
0과 1로 정보를 표현하는 디지털 시대에서 정보의 최소 단위는 비트(Bit)입니다. "순서 논리 회로와 보수 - 정보처리 필기 해설 5"에서도 언급한 것처럼 플립플롭을 사용해서 저장하는 정보의 최소 단위는 비트입니다. 이 비트들을 모아서 다양한 정보의 단위로 사용하는데 다음과 같은 것들이 있습니다.니블(Nibble, nybble) : 4비트. 4비트는 16진수의 한자리와 같기 때문에 상위 니블, 하위 니블식으로 정보를 나누어 저장하기도 합니다.바이트(Byte) : 8비트. 문자를 표현할 수 있는 최소 단위. 워드(Word) : 컴퓨터의 정보 처리 단위라 할 수 있습니다. CPU의 레지스터 크기나 CPU가 메모리를 한번에 읽을 수 있는 단위에 따라 달라지므로 중앙처리장치(CPU)의 아키텍처가 워드의 크기를..
이번 문제는 그리 어려운 문제는 아닙니다. 다만 쉽고 단순한 알고리즘으로 풀 수 있는 문제라 하더라도 함수명, 변수명을 가독성(Readability)이 좋도록 명명하고 들여쓰기(Indentation)에 유의하면서 최적의 알고리즘을 적용하려는 노력을 기울여야 할 것입니다. 간단한 프로그램이지만 효율적인 프로그램 수행을 위한 다양한 기법을 익힐 수 있습니다. ■ 문제# 지정 옵션에 따라 다양한 형태의 ASCII 테이블을 출력하는 콘솔 프로그램을(asciitbl) 작성하세요.https://en.wikipedia.org/wiki/ASCII 를 참고합니다.화면 출력은 고정 화면폭(80자)을 기준으로 합니다.옵션을 지정하지 않으면 제어문자를 제외한(printable) 문자들만 출력합니다./a 옵션은 모든 문자를 출..
프로그래밍은 환상적인 "코딩" 보다는 완벽한 "문제 해결"에 마음을 두어야 할 것입니다. 요구사항(문제)을 잘 분석해서 핵심을 파악하는 것이 시간과 노력을 아끼는 첩경입니다. 초보 개발자 일수록 빨리 끝내려는 조급함이 오히려 함정에 빠지는 기폭제가 될 수 있으므로 "어떻게 문제를 풀 것인가?" 하는 설계가 잘 나오도록 마음을 두어야 합니다. 이번 문제는 간단하지만 방심하면 곳곳에 빈틈이 생길 수 있습니다. 완성도를 높일 수 있도록 노력해야 할 것입니다. ■ 문제 1. 프로그램 형태 및 규칙 - 콘솔 프로그램 형태이며 프로그램 아규먼트로 년도 및 월을 입력받아 해당 월의 달력을 표준 출력(화면)으로 출력합니다. - 1년 1월 1일은 월요일. 4년마다 윤년으로 2월을 29로 처리 - 4년마다 윤년이지만 10..
"데미안", "싯다르타", "페터 카멘친트"등 유난히 인상 깊었던 책들 때문일까 좋아하는 작가의 책을 다시 만나는 것은 떠나보낸 오랜 벗을 다시 만나는 기쁨만큼이나 책 표지의 저자 이름만 보아도 마음이 설렙니다. "이레" 출판사에서 펴낸 헤르만 헤세의 "정원일의 즐거움"은 글쓰기의 재주는 일천하나 시인도 되고 싶고 소설의 저자도 되고 싶은 필자와 같은이에게는 "교과서"와 같은 책이 아닐까 하는 생각이 들었습니다. 독일어 원문이 한국어로 옮겨지는 과정이 있었음에도 불구하고 헤세의 여러 시는 운문의 깊이와 시 다움을 보여주면서도 저자의 생각을 충분히 전달하고 있습니다. 옮긴이(두행숙)의 탁월함만으로는 설명할 수 없는 원작이 훌륭한 까닭이겠지요. 책의 독특함은 산문과 운문이 조화롭게 엮여 있는 것과 함께 헤세..
리눅스(CentOS) 서버를 서버 호스팅으로 하거나 내부 업무용으로 사용하는 경우 통상 sendmail을 통해 외부로 메일을 전송하는데 KISA의 화이트 도메인 등록(https://www.kisarbl.or.kr/whiteip/whiteip_tutorial.jsp 참조)등의 작업을 했음에도 불구하 메일이 도착하지 않는 경우가 있습니다. 게시판이나 공지사항에 글이 올라오면 자동으로 메일이 발송되도록 설정하고 준비 했지만 메일이 도착하지 않는다는 피드백이 오는 경우가 가끔 있지요.이렇게 메일 정상적으로 수신되지 않는 현상이 발견될 때는 우선적으로 위의 그림 처럼 메일 로그를 살펴 보아야 합니다. 필자의 CentOS 리눅스는 /var/log/maillog로 확인할 수 있었습니다. 로그를 살펴보니 네이버나 지메..
비주얼스튜디오로 Web API나 MVC 프레임웍을 사용한 응용을 개발하다보면 웹 응용임에도 불구하고 데스크탑용 닷넷 프로그램을 실행시키는 것처럼 간편하게 응용을 테스트해 볼수 있습니다. 비주얼스튜디오에서 테스트 및 디버깅을 위한 자체 웹서버를 띄우고 실제 실행 환경의 한 축인 웹 브라우저도 가동시키기 때문입니다. 이러한 과정은 로컬 호스트(127.0.0.1)에 대해서만 서비스하도록 되어 있기 때문에 스마트폰이나 다른 컴퓨터에서는 테스트하기 어렵거나 불가능한 환경입니다. 그렇지만, 프로그램을 완성하기 이전에 다양한 환경에 대한 테스트를 위해서는 비주얼스튜디오를 통한 내부 테스트를 벗어나 실제 웹서버(IIS)를 통한 테스트를 수행할 필요가 있습니다. 이번 포스팅에서는 배포 패키지를 통해서 간단하게 웹서버(I..
"정보처리기능사 필기 해설 4 - 조합 논리 회로"에서 다룬대로 논리 회로는 출력을 결정하는데 있어 현재 입력만을 대상으로 하는지, 아니면 현재 입력과 함께 과거 자료(메모리)를 사용하는지에 따라 현재 입력만을 가지고 출력을 결정하는 조합 논리 회로(Composite Logic Gate)와 메모리도 출력 결정에 사용하는 순서 논리 회로(Sequential Logic Gate)로 나눌 수 있습니다. 외부의 입력과 현재 상태(기억 기능, Memory)에 따라 출력을 결정하는 순서 논리 회로는 통상 메모리로 사용하는 플립플롭과 논리 게이트로 구성 되므로 메모리를 가진 조합 논리 회로라고도 할 수 있습니다. 대표적인 순서 논리 회로에는 플립플롭, 카운터, 레지스터, RAM, CPU등이 있습니다. 신호의 타이밍에..
※ LINQ 연관글 모음 LINQ는 무엇인가?LINQ 배우기를 위한 최적의 환경 LINQ to ObjectsLINQ 질의의 기본과 사전 타입LINQ 정렬 기능 사용하기LINQ 사용법 - 그룹과 집합 연산LINQ 조인 구문 사용하기LINQ 필터링 다루기LINQ 특정 항목 추출하기LINQ 사용법 - 변환 및 생성LINQ 집합 연산 다루기 SQL을 통해서 질의문을 작성하다보면 여러개의 SELECT문을 집합 연산을 통해서 통합 시킬 필요가 있는 경우가 있습니다. 여러 질의를 각각 수행한다음 통합하는 것 보다는 DBMS에게 해당 연산을 모두 맡기는 방법입니다. LINQ에서도 질의 결과에 대한 집합 연산을 메소드를 통해서 수행할 수 있습니다. List userinfo = new List() { new Userinf..
※ LINQ 연관글 모음 LINQ는 무엇인가?LINQ 배우기를 위한 최적의 환경 LINQ to ObjectsLINQ 질의의 기본과 사전 타입LINQ 정렬 기능 사용하기LINQ 사용법 - 그룹과 집합 연산LINQ 조인 구문 사용하기LINQ 필터링 다루기LINQ 특정 항목 추출하기LINQ 사용법 - 변환 및 생성LINQ 집합 연산 다루기 "LINQ 질의의 기본과 사전 타입"에서 다룬것과 같이 LINQ 질의의 수행시점에 따라 즉시 실행(Immediate Execution)과 지연 실행으로 나뉘어 질 수 있습니다. 질의를 선언만 하고 이후에 foreach 문장에서 실질적으로 실행하는 일반적인 지연 실행과 달리 질의 결과를 직접 받는 경우는 대부분 질의에 ToList(), First(), FirstOrDefaul..
평소 일본어 공부도 틈틈히 해두었고, 재작년 나고야-도쿄 여행 경험도 있었으니 두 모녀가 떠나는 일본 여행에 그다지 큰 심적 부담은 없지만 그래도 바다 건너 타국 땅을 밟는 것이니 꼼꼼한 계획 만큼 중요한 것은 없겠지요? 초중고 학창 시절을 끝내는 딸과 함께하는 모녀간의 여행이 즐겁고 알찬 시간이 되기를 바라면서 항공권과 숙소, 주요 이동 계획을 세워 봅니다.항공권은 6개월 단위로 일괄 개방하는 예약 일정에 따라 지난 7월에 미리 끊어두었기 때문에 부담은 덜었습니다. 유류할증료과 제반비용을 포함해서 2명 왕복에 315,000원 이었으니 중장기 여행 계획을 세워서 이벤트를 적절하게 활용하는 것은 경제적인 해외 여행의 꿀팁이라 할 수 있겠습니다. 주요 스케쥴은 아래와 같습니다.1일차 : 인천공항 출발(14:..
스마트폰으로 다양한 앱을 무료로 사용하면서 그 혜택을 마음껏 누리고 있지만 그 성능을 활용할 수 있음에도 불구하고 아쉬웠던 점이 바로 "내비게이션"입니다.(정확한 외래어 표기법은 네비게이션이 아니라 내비게이션이라 합니다) 용량도 충분하고 GPS 센서도 있고 맵 데이터 및 API가 무료로 공개되고 있는 상황임에도 내비게이션을 사용하려면 왜 굳이 인터넷에 접속해야 하나? 하는 아쉬움이 있었습니다. 필자의 경우에는 아직 피처폰을 사용하고 있고 스마트폰은 지인의 장롱폰을 인계받아 WiFi 환경에서 꼭 필용한 요도로만 활용하고 있기 때문입니다. 밴드, 카톡도 와이파이가 될 때만 잠깐 사용하고 메모나 마인드맵, 듀오링고 정도를 사용하고 해외 여행에서 Maps.Me를 활용한 정도입니다. 그런데, 이제 스마트폰을 내비..
"ASP.NET Web API 시작하기"에서 다룬 ASP.NET Web API 예제는 Visual Studio 2015 Community 버전으로 수행한 것입니다. 최신 버전의 비주얼스튜디오를 사용하고 있다면 문제될 것이 없지만 협업이나 기타 이유로 Visual Studio 2010을 사용하는 개발자의 경우에는 Web API 템플릿이 기본 제공되지 않기 때문에 간편하게 Web API 응용을 개발하는 유익을 누릴 수 없다는 한계가 있습니다. 이런 경우에는 마이크로소프트에서 제공하는 "Microsoft ASP.NET MVC 4" 패키지를 설치하면 최근 버전처럼 간편하게 Web API 응용을 개발할 수 있습니다.https://www.microsoft.com/ko-KR/download/details.aspx?i..
C언어에서 문자열 처리는 자주 사용할 뿐만아니라 반드시 익숙해져 할 만큼 매우 중요한 요소입니다. memcpy, strcpy, strncpy 등의 함수로 단순히 문자열을 복사하기, memcmp, strcmp, strncmp로 문자열 비교하기, strstr, strchr과 같은 함수로 특정 문자열이나 문자 찾기까지 C 프로그래밍에서는 너무도 빈번하게 사용하는 함수들입니다. 이번 포스팅은 문자열에서특정 항목을 추출하는 다양한 요령을 다루어 볼까 합니다. 텍스트 파일을 분석하거나 파이프나 필터를 통해서 다른 응용 프로그램의 출력을 입력으로 해서 분석하거나 웹 조회 결과를 분석하는 등의 과정에서 특정 단어를 추출하거나 숫자 항목을 추출하는 등의 작업은 C 프로그래밍에서 피할 수 없는 숙명과 같은 작업입니다. /..
ASP.NET Web API는 닷넷 프레임워크 위에 HTTP 기반의 Web API를 구축하도록 돕는 프레임워크입니다. 사용자 인터페이스와는 직접적인 연관이 없기 때문에 단순히 Web API 서비스 만을 제공할 수도 있고, ASP.NET Web Pages, Web Forms, MVC등과 함께 사용할 수도 있습니다. SPA(Single Page Application) 응용이나 페이지 갱신 없이 동적인 페이지 구성을 원하는 경우 Web API는 반드시 검토 해야하는 기술 요소입니다. 데스크탑의 웹 브라우저를 넘어서 스마트폰이나 태브릿등 다양한 기기를 대상으로 서비스한다면 ASP.NET Web API는 효용성이 더욱 높아질 것입니다. ASP.NET Web API는 클라이언트가 AJAX 프레임워크나 기타 방법을 ..
올해 1월 제주 올레 여행 계획을 세우고 비행기 티켓도 예매했었지만 기록적인 폭설로 출발도 하기전에 포기해야 했던 기억이 아직도 아찔합니다. 그래도 부.모.자.녀라는 관계로 가족 전체가 함께 여행할 기회가 점점 줄어들 것이므로 지난 7월에 비행기 표부터 예매해 두었습니다.올레길 걷기를 위한 저렴한 비행기 표는 역시 저가항공입니다. 왠만한 고속버스 편도보다 싼 가격으로 청주제주간 왕복 비행기 표를 구할 수 있었습니다. 한달 전인 지금시점에서 동일한 표를 조회하면 싼 비행기표도 거의 3배에 가까운 가격입니다. 6개월 단위로 오픈하는 예매표를 미리 확보하면 보다 값싼 가격으로 비행기 표를 구할 수 있습니다. ("저가항공 티켓을 더욱 값싸게 구입하는 요령" 참조) 7월과 1월은 장기 여행 계획을 위해 준비를 시..
논리 회로는 출력을 결정하는데 있어 현재 입력만을 대상으로 하는지, 아니면 현재 입력과 함께 과거 자료(메모리)를 사용하는지에 따라 현재 입력만을 가지고 출력을 결정하는 조합 논리 회로(Composite Logic Gate)와 메모리도 출력 결정에 사용하는 순서 논리 회로(Sequential Logic Gate)로 나눌 수 있으며 조합 논리 회로에는 반가산기, 전가산기, 병렬가산기, 반감산기, 디코더, 인코더, 멀티플렉스, 디멀티플렉스, 버스, ALU 등을 들 수 있습니다. 앞서 "정보처리기능사 필기 해설 1 - 논리게이트"에서 다룬 기본 논리 회로들을 기반으로 다음과 같은 조합 논리 회로들을 구성할 수 있습니다. ■ 반가산기 반가산기(HA, Half Adder)는 정보처리기능사에서 출제되는 조합 논리 ..
사람의 얼굴을 보면 그 사람이 어떤 사람인지, 그의 현재 감정과 개성까지도 읽을 수 있다고 하지요. 그만큼 얼굴이란 한 사람을 대표하는 아주 중요한 요소입니다. 이렇게 추운 날씨에 온몸을 꽁꽁 싸고 있을 지언정 얼굴만은 내밀고 다니는 것도 그런 배경이 아닌가 싶기도 합니다. 낙엽을 떨구고 가지에는 내년 봄을 기다리며 겨울눈이 자리한 나무들은 무엇이 얼굴일까요? 푸른 녹음을 자랑하는 잎, 화려한 꽃이나 열매, 무한히 뻗은 가지일 수도 있지만 필자의 경우에는 나무 껍질, 즉 수피(樹皮)가 아닐까 싶습니다. 특히 봄, 여름, 가을, 겨울이 선명한 이 땅에서 자라는 나무들은 4계절에 걸쳐 늘 볼 수 있는 수피(樹皮)가 나무의 얼굴이라 여겨집니다. 꽃복숭아 나무의 수피입니다. 전장에서 돌아온 군인의 아문 상처에서..
무언가를 설명하고 정리하는 것을 글이나 말로도 할 수 있겠지만 도표(Diagram)만큼 유용한 것은 없을 것입니다. 회사의 조직도, 마인드맵, 약도나 안내도와 같이 우리의 일상 생활과 밀접한 것부터 전자 회로 설계나 소프트웨어 공학, 프로세스 관리, 프로그램 설계와 같은 전문 분야 까지 도표가 활용되는 분야는 무궁무진합니다. 마이크로소프트의 파워포인트나 리브레오피스의 임프레스(Impress)와 같은 프리젠테이션 도구를 활용하는 경우도 있지만 도표 작성에는 도표 작성에 주안점을 둔 전문도구가 필요가 것이 사실입니다. 대표적인 것이 마이크로소프트의 Visio입니다. 대안이 있다면 리브레오피스의 드로우(Draw)와 오픈소스 도표 작성 도구입 Dia입니다.오픈 소스로(GPL - GNU General Public..
우분투는 기본적으로 root 사용자가 아닌 일반 사용자로 로그인하도록 하기 때문에 시스템 관련 작업을 할때면 가끔은 귀챦을 때도 있습니다. 시리얼(직렬) 포트와 같은 시스템 장치를 다루는 것도 마찬가지로 기본 사용자로는 권한이 없어서 단순한 프로그램인데도 왜 안되지? 하는 혼란에 빠질 수 있습니다. 이런 경우 대부분은 접근 권한이 없기 때문입니다."dmesg | grep tty" 명령은 시스템에 사용 가능한 시리얼 포트가 무엇이 있는지 확인할 수 있는 명령입니다. 위의 예제를 보면 ttyS0가 있는 것을 확인할 수 있습니다. 윈도우같으면 COM1 쯤 되는 것입니다. 그런데 시스템 디바이스가 있는 /dev/ttyS0를 ls -l로 조회해보면 소유자(root)와 그룹(dialout)에만 접근 권한이 있으므로..
C# 닷넷으로 응용 프로그램을 개발하다가 꺾은선 그래프나 바차트, 3D 차트등을 표시할 필요가 있을 경우에는 도구 상자에서 데이터>Chart 컨트롤을 추가하여 간편하여 차트를 추가할 수 있습니다.System.Windows.Forms.DataVisualization.Charting 클래스를 통해서 윈도우 폼에 추가된 컨트롤에는 데이터베이스로 부터 전달받은 DataTable 오브젝트를 직접 설정할 수 있는 등 편리하게 도표를 개발할 수 있도록 도와줍니다. 이렇게 비주얼스튜디오에서 기본적으로 제공하는 차트 클래스는 윈도우 시스템에서는 문제가 없지만 크로스플랫폼 환경에서는 정상적으로 동작하지 않는 제약이 있습니다. 다시 말해서 리눅스의 mono 플랫폼에서는 정상적으로 동작하지 않는다는 문제가 있습니다. 아직 차..
C#에서 화면을 캡처하는 두가지 방법이 있습니다. 첫번째는 GDI32, USER32 API를 사용하는 방법이고 다른 하나는 닷넷에서 제공하는 Graphics.CopyFromScreen()를 사용하는 방법입니다. class GDI32 { public const int SRCCOPY = 0x00CC0020; // BitBlt dwRop parameter [DllImport("gdi32.dll")] public static extern long BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop); [DllImport("gdi32.dll")] publ..
겨울이 성큼 성큼 다가오면서 지난 계절을 치열하게 살았던 나무들도 나뭇잎을 떨구기에 바쁩니다. 바람이라도 불면 이 낙엽 저 낙엽이 뒤엉켜 "조금 큰 먼지인가 보다"며 지나쳐 버릴 낙엽이 밤새 조용히 내려 나무마다 그 누구도 창조하기 어려운 아름다움 패턴을 만들어 내고 있습니다. 아저씨의 대나무 빗자루가 닿기 전에 셔터를 부지런히 눌러 보았습니다. 산딸나무 낙엽. 잎맥이 선명한 산딸나무 낙엽은 잎맥과 함께 반들반들함과 다양한 색 자체로 아름답습니다. 자엽자두 나무의 낙엽. 나뭇잎과 열매 모두 자줏빛을 뽐내던 자엽자두의 낙엽은 낙엽 마저도 그 빛깔을 유지합니다. 아직 나무에 붙어있는 나뭇잎이 많지만 단풍의 대명사 단풍나무 낙엽입니다. 무수히 쏟아져 있을때와는 다른 느낌입니다. 목련의 낙엽. 꽃도 아름답고 열..
C언어를 이제 막 배우기 시작한 병아리 개발자를 위해서 실습을 위한 과제를 내주고 이에 대한 피드백을 코드와 함께 메모로 남깁니다. 코드 실습 환경은 "C언어 배우기를 위한 준비"를 참조하세요. ■ 문제마방진 출력 프로그램 작성프로그램 형태 - 콘솔 프로그램 - 프로그램 아규먼트 입력, 화면 출력 형태입력 - 3 ~ 15의 홀수를 받음 - 오류 입력에 대처해야 함출력 - 입력 오류 발생시 오류 내용과 사용방법을 출력함 - 정상 입력시 N 마방진을 가로/세로 폭을 맞추어 출력 - 자체 검증을 위해서 가로, 세로 및 한쪽 대각선 방향의 함께를 출력함 ■ 코드와 해설다른 사람의 코드를 보지 않고 문제 내용만으로 코딩하는 연습이 실력을 키우는 첩경입니다. 홀수 마방진 작성 프로그램 연습은 2차원 배열을 기반으로..
public Form1() { InitializeComponent(); label1.Text = System.Environment.OSVersion.Platform.ToString() + ":" + System.Environment.OSVersion.Version.ToString() + ":" + System.Environment.OSVersion.VersionString; } C#으로 작성한 닷넷 응용을 윈도우 뿐만아니라 리눅스에서도 실행할 수 있는 시대가 되면서 크로스 플랫폼 응용을 개발하려는 개발자에게는 운영 체제 종류나 버전을 인식해야되는 필요성이 있습니다. 닷넷(mono 포함) 프레임워크가 발전하고는 있지만 운영체제나 버전에 따라서 지원하는 수준이나 동작 형태가 다르기 때문입니다. 오로지 특정 ..
마이크로소프트사의 닷넷 프레임워크가 발전을 거듭하면서 자바(Java)진영 처럼 어느덧 크로스플랫폼(Cross platform)이라는 말에 어울리는 수준에 도달하고 있지 않나하는 생각입니다. 자바 기반의 이클립스를 리눅스에서도 윈도우에서도 동일한 사용 경험으로 사용할 수 있듯시 닷넷 기반의 응용을 윈도우 뿐만아니라 리눅스에서도 사용할 수 있다는 말입니다. 이것을 가능해주는 프로젝트가 바로 모노 프로젝트(http://www.mono-project.com/) 입니다. 이번 포스팅은 리눅스(우분투)에서 모노(mono)를 설치해서 닷넷 응용의 크로스 플랫폼 가능성을 살펴보고자 합니다. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3..
윈도우나 리눅스를 불문하고 대부분의 운영체제에서는 [Print Screen]이라는 키에 대해서 화면을 인쇄하거나 캡처하는 동작을 수행합니다. Alt+[Print Screen]은 현재 동작하는 화면만을 캡처하는 것이 보통입니다. 화면을 캡처해서 다른 이미지 편집 프로그램이나 문서 작성기에서 붙여넣기 할 수 있도록 클립보드에 저장하거나 즉시로 파일로 저장하는 것이 일반적인 동작 형태입니다. 그런데 원격터미널 접속이나 기타 환경 구성의 원인으로 화면 인쇄 단축키가 먹히지 않을때가 있는데 이런 경우에 대처할 수 있는 방법입니다.리눅스에서는 그놈(Gnome) 데스크탑 환경과 KDE 데스크탑 환경으로 GUI 데스크탑 환경을 구성할 수 있는데 그놈 환경의 경우에는 위의 그림처럼 Accessories>Screensho..
※ LINQ 연관글 모음 LINQ는 무엇인가?LINQ 배우기를 위한 최적의 환경 LINQ to ObjectsLINQ 질의의 기본과 사전 타입LINQ 정렬 기능 사용하기LINQ 사용법 - 그룹과 집합 연산LINQ 조인 구문 사용하기LINQ 필터링 다루기LINQ 특정 항목 추출하기LINQ 사용법 - 변환 및 생성LINQ 집합 연산 다루기 데이터베이스 질의의 효용성은 특정한 키값을 가지고 있는 레코드를 찾아오는 것보다 특정한 조건을 갖는 정보들을 질의문 하나로 추출하는 과정에 있지 않나 싶습니다. where 구문을 통해 필터링한 이후에("LINQ 필터링 다루기" 참조) 그 결과에서 특정 항목들을 추출하는 것을 다룹니다. ■ 페이징(Paging) List userinfo = new List() { new Use..
※ LINQ 연관글 모음 LINQ는 무엇인가?LINQ 배우기를 위한 최적의 환경 LINQ to ObjectsLINQ 질의의 기본과 사전 타입LINQ 정렬 기능 사용하기LINQ 사용법 - 그룹과 집합 연산LINQ 조인 구문 사용하기LINQ 필터링 다루기LINQ 특정 항목 추출하기LINQ 사용법 - 변환 및 생성LINQ 집합 연산 다루기 LINQ에서 필터링은 데이터소스에서 필요한 것을 골라내는 작업으로 where 구문을 통해서 필터링 작업을 수행합니다. where 구문에 기술하는 조건문은 SQL 구문이 아니라 C# 조건문으로 기술합니다. 복합 조건인 경우 SQL의 "AND", "OR", "NOT"이 아니라 C# 구문인 &&, ||, ! 연산자를 사용합니다. public class Userinfo { publ..