논리식은 "정보처리기능사 필기 해설 1 - 논리게이트"와 "정보처리기능사 필기 해설 2 - 부울 대수"를 통해서 살펴 본것 처럼 매우 중요한 역할을 합니다. 그런데, 회로나 주어진 게이트가 없는 상태에서도 입력과 출력이 주어진다면 이런 조건을 만족하는 최적화된 논리식을 유도할 수 있습니다. 주어진 입력과 출력은 우선 진리표로 표현합니다. Input Output A B Y 0 0 1 0 1 0 1 0 0 1 1 1 진리표의 각 입력 상태를 0이면 A', 1이면 A처럼 표시해서 두입력을 논리곱으로 표현한 것을 최소항이라 합니다. 진리표의 각 입력 상태를 0이면 A, 1이면 A'처럼 표시해서 두입력을 논리합으로 표현한 것을 최대항이라합니다. Input Output 최소항 최대항 A B Y 0 0 1 A'B' ..
부울 대수(Boolean algebra) 또는 불 대수는 조지 불(George Boole)이 창안한 논리 대수입니다. 대수(代數)의 사전적 의미는 "숫자 대신에 그 숫자를 대표하는 문자를 써서 수학 법칙을 간명하게 나타내는 수학의 한 분야"로 부울 대수는 논리 문제로 기호로 설명하는 것이라 할 수 있습니다. 부울 대수는 값의 범위가 참(True)과 거짓(False)으로 한정되는 대수의 한 분야로 컴퓨터에서 부울 대수가 기본적으로 언급되는 이유는 바로 컴퓨터의 논리 회로가 1, 0만의 디지털 신호를 다루기 때문입니다. 부울 대수는 회로 뿐만아니라 소프트웨어와도 깊은 연관성을 가지는데 프로그래밍 언어에서 조건을 기술하는 if , for, while 등의 문장에서는 부울 대수와 연관성을 가지는 논리 연산이 수..
게이트(gate)는 단순히 "통로"의 의미도 있지만 워터게이트를 비롯해서 사회를 혼란의 폭풍속으로 밀어넣는 부정적인 사건에 붙는 단어이기도 합니다. 그렇지만, 기술적으로는 신호를 연결하거나 끊는 회로를 의미합니다. 논리 게이트(Logic gate)는 하나 이상의 입력을 받아 하나의 출력을 내보내는 논리 연산을 구현한 실제 또는 가상의 장치를 의미합니다. 최신의 CPU나 메모리의 근원에는 이러한 논리 게이트가 존재합니다. 논리 게이트는 전자공학적인 접근이지만 소프트웨어에서도 이러한 논리 연산은 그대로 적용되므로 정확한 이해와 숙지의 필요가 있습니다. 논리게이트의 표현 방식은 NOT, AND, OR처럼 논리 키워드를 사용하는 것과 함께 논리식, 진리표나 기호 표현 방식이 있습니다. 기호 표현 방식에는 MIL..
※ LINQ 연관글 모음 LINQ는 무엇인가?LINQ 배우기를 위한 최적의 환경 LINQ to ObjectsLINQ 질의의 기본과 사전 타입LINQ 정렬 기능 사용하기LINQ 사용법 - 그룹과 집합 연산LINQ 조인 구문 사용하기LINQ 필터링 다루기LINQ 특정 항목 추출하기LINQ 사용법 - 변환 및 생성LINQ 집합 연산 다루기 조인(JOIN) 구문은 데이터베이스에서 테이블 또는 릴레이션을 연결하여 새로운 테이블이나 릴레이션을 생성해 주는 구문입니다. 물론 LINQ에서는 테이블만이 아니라 일반적인 데이터 오브젝트의 결합도 수행할 수 있도록 확장되었습니다. 사실 DBMS 입장에서는 조인 구문만큼 DB 시스템을 괴롭히는 구문도 없을 것입니다. 문장은 간단하지만 그 결과를 얻기 위해서 DBMS가 처리해야..
오픈소스 프로젝트를 만나거나, 업무로 기존 프로젝트를 분석할때 도구의 좋은 기능을 활용하면 분석의 효율성은 엄청난 차이를 보이기 마련입니다. 유닉스/리눅스 환경에서 vi 에디터 만으로 개발하던 개발자들 조차도 ctags와 vim을 활용하면 왠만한 IDE 부럽지 않은 코드 분석 환경을 사용할 수 있었으므로 최근의 IDE에서 관련 기능을 찾기란 그리 어렵지 않은 일입니다. 코드를 읽다가 특정 변수나 클래스, 함수, 메소드등이 어떻게 정의되었는지 확인하려면 Ctrl+F 단축키로 검색을 하는 것이 아니라 코드의 해당 위치에 커서를 둔 상태에서 컨텍스트 메뉴(마우스 우측 마우스)>"정의로 이동"을 선택하면 됩니다. 물론 자주 사용하는 단축키이므로 F12는 외워 두는 것이 좋겠죠! 문제는 어떻게 정의 되었는지를 살..
사물인터넷(IOT, Internet of Things)에 대한 기술과 다양한 응용이 폭증하고 있는 시대에 살고 있지만 RS-232, RS-422, RS-485등의 직렬 통신(Serial communication) 방법은 다양한 시스템의 기저에서 여전히 그 활용도가 높습니다. 요즘 나오는 노트북에는 직렬 포트를 없애고 USB로 대체하고 있지만 "COM1"으로 지칭하던 직렬포트는 USB to Serial 컨버터를 통해서 다양한 장치나 센서와의 정보 전달 방식으로 사용하고 있습니다. 개발자의 입장에서는 통신속도나 사용자 프로토콜만 맞추어 주면 동기 또는 비동기 방식으로 장치와의 통신이 어렵지 않지만 새로운 장치를 붙이는 작업을 하다보면 전송한 데이터가 제대로 가는지 확인할 방법이 그다지 녹록치 않습니다. 값비..
※ LINQ 연관글 모음 LINQ는 무엇인가?LINQ 배우기를 위한 최적의 환경 LINQ to ObjectsLINQ 질의의 기본과 사전 타입LINQ 정렬 기능 사용하기LINQ 사용법 - 그룹과 집합 연산LINQ 조인 구문 사용하기LINQ 필터링 다루기LINQ 특정 항목 추출하기LINQ 사용법 - 변환 및 생성LINQ 집합 연산 다루기 테이블의 특정 컬럼 값을 기준으로 데이터를 묶어서(Grouping) 동일 컬럼 값을 가지고 있는 행의 개수(Count)를 구하거나 합계나 평균을 구하는 작업은 굳이 데이터를 모두 읽지 않더라도 SQL을 통해서 DBMS에 해당 작업을 요청하는 것으로 간편하게 수행할 수 있는 작업입니다. SQL을 사용하는 데이터베이스 뿐만아니라 XML이나 내부 오브젝트도 데이터 소스로 사용할 ..
티스토리에 프로그래밍 관련 블로깅을 할 때면 가장 자주 사용하는 것은 바로 "코드 구문 강조"(Syntax Highlighting) 입니다. 다양한 프로그래밍 언어에 대해서 문법 요소를 인식하여 키워드나 문자열, 상수, 변수등을 색으로 구분해서 표시하여 코드를 보다 보기 쉽도록 해주는 장치입니다.("티스토리 구문 강조(Syntax Highlighting) 적용" 참조) 티스토리 글쓰기에서 HTML 모드를 켜고 ....로 C# 코드를 복사해서 붙여 넣으면 어떤 코드들은 문제가 없지만 처럼 HTML 태그처럼 보이는 요소는 문제가 발생합니다.위의 그림은 별다른 조치를 취하지 않았을때 코드가 깨져서 보이는 현상을 나타낸 것입니다. 티스토리에 저장되는 과정에 C# 코드 부분을 HTML 태그로 인식하는 문제입니다...
※ LINQ 연관글 모음 LINQ는 무엇인가?LINQ 배우기를 위한 최적의 환경 LINQ to ObjectsLINQ 질의의 기본과 사전 타입LINQ 정렬 기능 사용하기LINQ 사용법 - 그룹과 집합 연산LINQ 조인 구문 사용하기LINQ 필터링 다루기LINQ 특정 항목 추출하기LINQ 사용법 - 변환 및 생성LINQ 집합 연산 다루기 SELECT * FROM tablea WHERE username like '%hong%' ORDER BY username, userid DESC; 위의 SQL 문장은 tablea라는 테이블에서 username 컬럼에 "hong"이 들어 있는 모든 행을 추출하면서 username 컬럼으로 오름차순 정렬하고 username 값이 같은 행끼리는 userid 컬럼 값으로 내림차순 ..
※ LINQ 연관글 모음 LINQ는 무엇인가?LINQ 배우기를 위한 최적의 환경 LINQ to ObjectsLINQ 질의의 기본과 사전 타입LINQ 정렬 기능 사용하기LINQ 사용법 - 그룹과 집합 연산LINQ 조인 구문 사용하기LINQ 필터링 다루기LINQ 특정 항목 추출하기LINQ 사용법 - 변환 및 생성LINQ 집합 연산 다루기 앞선 "LINQ 배우기를 위한 최적의 환경 LINQ to Objects"에서 다루었듯이 다양한 데이터 저장소에 대한 LINQ 사용법은 내부 오브젝트에 대한 LINQ 사용법을 익힘으로써 일정 부분 대신할 수 있으므로 리스트나 사전과 같은 C# 내부 오브젝트를 활용해서 LINQ에 대한 이해와 사용법을 차근 차근 다루어 볼까 합니다. 이번 포스팅은 사전 타입을 활용하여 LINQ ..
좌판에서 채소를 파시는 할머니들에게 돼지 감자 만큼 천덕꾸러기는 없나 봅니다. 천연 인슐린이라고 당뇨에 좋다고 하고 변비나 체지방 분해에도 좋고 다이어트에도 효과가 있다 하니 한번 심어 볼까해서 가격을 여쭈어 보면 "뭐하러 이런걸 심어!"하는 타박만 듣기 마련입니다. 그러다가 작년 가을 얻어온 돼지 감자를 일부는 채썰어서 말리고 남은것은 나면 좋고 안나면 할수 없지! 하는 마음으로 두엄 옆에 묻어 두었는데 근처에 심은 호박 줄기와 치열한 전투를 벌이다가 키가 3미터 가량 높이 올라간것 같습니다. 가을비가 촉촉히 내리는 이 가을에 꽃봉오리를 이쁘게 보여 줍니다.감자도 꽃이 피고 열매를 맺기는 하지만 돼지 감자 만큼은 아닙니다. 국화과의 다년생 식물이니만큼 꽃 또한 국화 비슷합니다. 줄기는 해바라기와 비슷한..
지난 추석에는 처가 부모님 두분을 모시고 온가족이 1박 2일 캠핑으로 명절 모임을 대신했습니다. 명절에 처가에 가서 멀뚱하니 텔레비전과 씨름하는 대신 상큼한 바다 내음, 푸른 하늘, 따스한 초 가을 햇빛과 벗하며 요리도 하고 설겆이도 하며 물이 빠지면 망둥어 낚시도 하는 참 즐거운 시간이었습니다. 어르신의 캠핑 말씀에 숟가락 하나 얻는 식으로 장소를 찾은 중에 선택한 장경리 해수욕장이 신의 한수와 같은 선택이 아니었나 싶습니다. 서울에서 냐려 올때도, 지방에서 올라 올때도 교통 체증을 피할 수 있었고, 캠핑 장소도 무료로 이용할 수 있었으니 참 후회없는 선택이었습니다. 2016년 가을 현재 장경리 해수욕장은 정식 영업을 하는 캠핑장이 아니기 때문에 전원 공급도 없고 정해진 구역도 따로 없습니다. 낚시 미..
가을이 온것을 눈으로 느끼게 해주는 대표적인 꽃, 코스모스입니다. "코스모스 한들한들 피어 있는 길~~"하는 왈츠의 리듬을 타는 듯한 가요가 콧노래로 저절로 흘러 나옵니다.누렇게 고개 숙인 벼에게서 삶의 고뇌와 성숙을 배운다면 코스모스를 만나면 모든 것을 잊고 하늘을 날을것 같은 감상에 젖게 합니다. "우주"라는 코스모스(Cosmos) 꽃의 우리말 이름은 "살사리 꽃"이라 합니다. 해바라기, 토끼풀 처럼 우리말 "살사리꽃"이 있음에도 코스모스라는 외래어가 몸에 익숙해진 현실이 안타깝기는 하지만 몸에 감성적인 단어로 배여진 "코스모스"도 좋고 바람에 살랑이는 "살사리꽃"도 좋습니다. 연분홍빛 코스모스 꽃잎과 높고 푸른 가을 하늘 배경 만큼이나 아름다운 풍경은 없죠. 세상 삶의 모든 시름을 우주로 날려 보낼..
"저건 무슨 꽃이지?" 거대한 몸체에 비하면 꽃이 그렇게 화려한 것은 아니지만 군락으로 피어난 연분홍빛 꽃 무더기에 대한 호기심에 무작정 셔터를 눌러 보았습니다. 울금 잎도 아니고 저런 잎은 담배가 맞는것 같기는 한데 조금 작은듯 하기도 하고, 잎을 재배하는 담배를 저렇게 잎은 따지 않고 꽃까지 피웠을까?하는 의구심에 여러 사이트를 뒤져 보았지만 꽃은 분명 "담배의 꽃"이었습니다. 1~2미터까지 키가 큰다고 하니 키로도 담배가 아닐 이유는 없었습니다. 문제는 왜 저렇게 방치하고 있을까? 하는 질문입니다. 담배 재배 과정을 보면 따뜻한 날씨를 좋아하는 담배는 비닐하우스에서 모종을 키우고 본밭에서도 비닐 피복을 하여 옮겨 심을 뿐만아니라 꽃대가 올라올 즈음이면 순지르기를 해서 꽃이나 열매로 갈 영양분이 잎으..
피부에 느껴지는 온도의 변화, 곧 촉각으로 계절이 바뀌고 있음을 인식할 수 있다면 눈안으로 들어오는 색의 변화, 곧 시각으로 계절을 인식할 수 있음도 사람에게는 큰 축복이 아닌가 싶습니다. "단풍"으로 대표되는 가을의 색이 있지만 가을은 "열매"의 계절입니다. 사람도 지난 시간을 돌아보며 한해의 열매를 위해 힘을 다하는 계절이죠. 식물들에게도 가을은 자신들의 존재를 열매를 통해서 분명하게 드러내는 시기입니다. 낙상홍 나무 입니다. 감탕나무과의 활엽 관목인 낙상홍은 서리가 내려 잎이 모두 져도 빨간 열매가 남아 있다고 붙여진 이름이랍니다. 노각나무의 열매입니다. 마치 꽃봉우리처럼 보이지만 10월이면 5각형으로 익습니다. "조신하게 피는 노각나무 꽃" 참조. 때죽나무 열매입니다. 때죽나무는 꽃도 이쁘지만 열..