본문 바로가기

전체 글839

스위치, 허브, 라우터, 공유기 차이점 스위치 리소스 공유를 목적으로 여러 기기를 연결하는 네트워크 장비이다. L2 계층에서 작동하며 MAC 주소를 사용해 물리적 포트에 연결된 기기들의 위치를 식별한다. 한 포트에서 들어온 패킷을 받아 헤더를 읽고, 패킷이 도달해야 하는 기기로 이어지는 특정 포트로만 패킷을 내보낸다. 장점은 목적지 기기로만 패킷을 전달하기 때문에 충돌이 적고 대역폭 활용이 효율적이다. 허브 허브 역시 리소스 공유를 목적으로 여러 기기를 연결하는 네트워크 장비이다. 허브가 스위치와 다른 점은 연결된 기기 중 하나에서 전송된 패킷을 허브에 연결된 모든 기기로 브로드 캐스팅한다. 단점은 대역폭이 제한되어 있고 충돌 가능성이 높다. ❗ 허브는 허브에 연결된 모든 노드가 전체 패킷을 받을 수 있는 구조기 때문에 wireshark를 통.. 2023. 12. 16.
MFC ] 정적 라이브러리에서 MFC 사용 MFC 프로젝트를 생성하면 디폴트가 "공유 DLL에서 MFC 사용"으로 되어있다. 이 설정은 해당 프로그램이 필요로 하는 MFC 라이브러리를 DLL을 사용하여 참조하겠다는 뜻으로 대상시스템에서 Visual C++ 재배포 패키지를 설치하거나, mfc*.dll 파일을 구해 system32 또는 sysWow64 경로에 넣어주어야 정상적으로 동작한다. 반면 "정적 라이브러리에서 MFC 사용" 옵션을 선택하면 실행파일에 필요한 dll이 포함되어 컴파일되기 때문에 실행파일의 사이즈는 커지지만 배포시 별도의 dll을 같이 제공할 필요가 없다. 런타임 라이브러리도 실행파일에 포함시켜 배포하기 위해 /MD가 아니라 /MT 옵션으로 바꿔주는 것도 잊지 않는다. 2023. 12. 15.
MFC ] 컨트롤 색상 변경하기 WM_CTLCOLOR 메시지는 컨트롤이 처음 생성될 때 또는 컨트롤이 다시 그려져야할 필요가 있을 때 컨트롤의 색상을 결정하기 위한 메시지 이다. 이 메시지의 핸들러를 등록하여 컨트롤의 색상을 처리할 수 있다. 파라미터는 다음과 같다. pDC : 윈도우에서 그리기 작업에 필요한 모든 정보를 가지고 있는 디바이스 컨텍스트 구조체 포인터 pWnd : 화면에 그려질 대상 컨트롤에 대한 포인터 nCtlColor : 컨트롤의 종류에 대한 정수값. 예를들어 에디트 컨트롤이라면 CTLCOLOR_EDIT이고 해당 컨트롤이 읽기 전용이라면 CTLCOLOR_STATIC이 된다. 위 파라미터를 활용하여 특정 컨트롤에 대한 색상 처리를 수행하고 변경된 색상을 나타내는 HBRUSH를 반환하면 된다. 반환된 브러시는 실제 해당 .. 2023. 12. 14.
Win32 API ] 윈도우 프로그램의 기본 구조 MFC 프레임워크 안에 숨겨진 윈도우 프로그램의 기본 구조를 이해해보자. Windows에서 실행되는 애플리케이션의 종류 윈도우에서 실행되는 애플리케이션은 크게 콘솔 애플리케이션과 GUI 애플리케이션으로 나눌 수 있다. 콘솔 앱 또는 데스크톱 애플리케이션 만들기 프로젝트 생성 시 콘솔 또는 데스크톱 애플리케이션을 지정하여 생성할 수 있으며, 이미 생성한 프로젝트를 콘솔 또는 GUI 애플리케이션으로 변경하려면 프로젝트 우클릭 - 속성 - 링커 - 시스템 - 하위 시스템에서 변경 가능하다. Windows C/C++ 애플리케이션의 진입점 프로그램이 실행될 때 가장 먼저 호출되는 함수를 프로그램의 진입점(entry point)라고 하고, 이 진입점을 호출하는 함수는 C/C++ 런타임(CRT) 초기화를 담당하는 함.. 2023. 12. 13.
삼성화재 다이렉트 임시운전자 특약(특정기간 운전자 범위 변경) 가입 방법 삼성화재 다이렉트 홈 접속 https://direct.samsungfire.com/ 삼성화재 다이렉트 착 삼성화재 다이렉트 착 공식사이트, 자동차/운전자/실손의료비/어린이/해외여행등 삼성화재 오프라인대비 저렴 direct.samsungfire.com 검색 - 임시운전자특약(특정기간운전자범위 변경) 가입 로그인 보험계약(자동차) 선택 특약 가입기간 선택 결제할 보험료를 확인 후 결제 ❗ 원데이자동차보험과 임시운전자 특약 비교 원데이 자동차 보험 임시 운전자 특약 가입기간 1일 ~ 최대 7일 1일 ~ 최대 30일 보험 가입자 운전자가 가입 차주가 가입 운전자 범위 원데이 자동차 보험을 가입하는 사람 누구나 보험 적용시점 가입즉시 적용 익일 0시부터 적용 (보장 받고 싶은 날부터 최소 하루 전 가입 필요) 비.. 2023. 12. 12.
C/C++ ] ANSI 이스케이프 코드 시퀀스 사용해서 커서 이동 + 터미널 조작하기 C/C++ 콘솔 프로그램에서 ANSI 이스케이프 시퀀스 명령어를 사용하여 콘솔 커서 이동 등 터미널을 조작할 수 있다. 1. 이스케이스 시퀀스 시작 : \x1B[ 또는 \033[를 사용하여 ANSI 이스케이프 시퀀스를 시작한다. 아래서는 \x1B[ 기준으로 설명한다. 2. 커서 이동 커서를 위로 이동 : \x1B[A, \x1B[A 또는 \x1B[1A 는 위로 한칸 이동하고 \x1B[2A 는 위로 두칸 이동한다. 커서를 아래로 이동 : \x1B[B 커서를 오른쪽으로 이동 : \x1B[C 커서를 왼쪽으로 이동 : \x1B[D 특정 위치로 커서 이동 : \x1B[;H, row는 행번호 col은 열번호로 \x1B[0;0H 또는 \x1B[1;1H 는 화면의 좌측 상단 첫번째 칸으로 이동한다. 3. 커서 숨기기/보.. 2023. 12. 11.
ISO 국가표준 규격서 무료 열람 아래 사이트에서 가능하다. https://standard.go.kr/KSCI/portalindex.do e-나라 표준인증 수송기계 수송기계일반, 시험검사방법, 공통부품, 자전거, 기관ㆍ부품, 차쳬ㆍ안전, 전기전자장치ㆍ계기, 수리기기, 철도, 이륜자동차, 기타 standard.go.kr 앞에 KS가 붙는 표준이지만 국제표준과 대동소이하지 않을까 싶다. 2023. 12. 10.
C/C++ ] 윈도우 콘솔 프로그램 아이콘 변경하기 + 무료 아이콘 찾기 콘솔 프로그램의 기본 아이콘을 변경해보자. IconFinder 등의 사이트에서 무료 상업용 아이콘 파일을 찾는다. https://www.iconfinder.com/search?q=smile&price=free&license=gte__1 Icons - Iconfinder Download 7,594,057 icons. Available in PNG and SVG formats. Ready to be used in web design, mobile apps and presentations. www.iconfinder.com Free icon 중에서도 Free for commercial use라고 되어있는 것을 찾는다. ICO 파일이 아니라 PNG 파일로 다운받는데 128 px 이상으로 받는다. 이미지파일을 여.. 2023. 12. 9.
C/C++ ] start 명령어 사용 새로운 프롬프트 창에서 시스템 명령 사용하기 start 명령어는 일반적으로 명령 프롬프트나 배치 파일에서 다른 프로그램 또는 명령을 시작하는 데 사용한다. 사용 방법 start [/d ] [/i] [{/min | /max}] [{/separate | /shared}] [{/low | /normal | /high | /realtime | /abovenormal | /belownormal}] [/node ] [/affinity ] [/wait] [/b] [/machine ] [ [... ] | [... ]] https://learn.microsoft.com/ko-kr/windows-server/administration/windows-commands/start start 지정된 프로그램 또는 명령을 실행하기 위해 별도의 명령 프롬프트 창을 시작하는 시.. 2023. 12. 8.
티스토리 ] Bing 웹마스터 도구에 내 사이트 등록하기 https://www.bing.com/webmasters/about?cc=www 시작하기 로그인 Bing 웹마스터 도구에 등록하려는 사람이라면 이미 구글 서치 콘솔에는 등록해뒀을거라 본다. 구글 서치 콘솔에서 가져오기 선택 구글 서치콘솔 아이디로 로그인 한 후 사이트 체크하고 가져오기 선택 2023. 12. 7.
티스토리 ] 블로그 제목 폰트 바꾸기 + 눈누 웹 폰트 원하는 굵기 사용하기 블로그 제목 폰트 바꾸는법 1. 상업용 무료한글폰트 사이트인 눈누에 접속해서 원하는 폰트를 찾는다. 내가 찾은 Y클로버체는 굵기가 2가지라고 나와있다. 옆에 웹폰트로 사용 박스에 있는 코드를 복사해서 티스토리 블로그 제목 폰트로 적용하려고 하는데, YClover-Bold만 있고 일반굵기의 코드가 안보인다. 2. 원하는 굵기의 @font-face 찾는방법 구글 크롬에서 F12를 누르고 개발자 모드를 연 뒤 좌측 상단의 화살표 표시를 누른다. 그리고 원하는 굵기의 폰트로 써있는 글씨에 마우스를 가져다 댄 후 클릭한다. 개발자 도구 Styles에서 font-family를 알아낼 수 있다. 알아냈으면 위의 Element 화면에서 Ctrl + F를 누르고 해당 font-family를 검색해서 @font-face를.. 2023. 12. 6.
티스토리 ] 코드블럭 글씨체, 폰트 크기, 탭사이즈 변경 티스토리 - 스킨 편집 - CCS에서 스크롤 다운해 맨 밑에 아래 코드를 추가한다. 폰트 크기는 16px 라인 높이는 24px 폰트는 consolas 탭사이즈는 4로 설정했다. code { font-size: 16px; line-height: 24px; font-family: consolas; tab-size: 4; } 2023. 12. 5.
티스토리 ] 구글크롬 개발자도구(F12)를 활용한 스킨편집 팁 구글 크롬 블로그에 접속하고 F12를 눌러 개발자 도구를 연다. 좌측 상단의 화살표 표시를 클릭한다. 블로그 화면에 마우스를 갖다대면 블락이 잡히는데, 수정하고 싶은 부분을 클릭한다. 나는 본문을 클릭해보았다. 개발자 도구 Styles 탭에 해당 영역을 수정하려면 어디를 고쳐야하는지 나타난다. 얘를들어 여기서 글자 크기를 임의로 수정하면 화면에 실시간으로 적용되는 것을 볼 수 있다. 여기서 수정한 것은 저장되지 않기 때문에 수정해보고 적당한 값을 찾아냈으면 티스토리 - 스킨 편집에 가서 확인한 값으로 수정 후 적용을 눌러주면 된다. 2023. 12. 4.
티스토리 ] 코드블럭에 가로 스크롤바 설정하기 티스토리 - 스킨 편집 - CCS에서 맨 아래로 스크롤 다운해 아래 코드를 추가해주면 된다. .hljs { white-space: pre; overflow-x: auto; } 코드블럭에 가로 스크롤바가 생긴 것을 확인할 수 있다. 2023. 12. 3.
티스토리 ] 북클럽 스킨 글 제목에 배경사진 없애기 티스토리 - 스킨 편집 - HTML HTML 삽입 미리보기할 수 없는 소스 아래 글 검색 background-image를 none으로 바꿔준다. 이렇게 하면 배경이 회색으로 바뀐다. HTML 삽입 미리보기할 수 없는 소스 스킨 편집 - CCS에 들어가 아래 코드를 찾는다. .post-cover { position: relative; z-index: 20; display: table; width: 100%; height: 340px; background-color: #cbcbcb; background-position: 50% 50%; background-size: cover; box-sizing: border-box; } height를 340px에서 줄여준다. .post-cover { position: r.. 2023. 12. 2.
티스토리 ] 구글 서치콘솔 HTML 태그 다시 등록하기 구글 서치콘솔 소유권인증을 위한 HTML 태그를 스킨편집하다 날려먹었을 경우 다시 찾아서 등록하는 법 서치콘솔 - 설정 사용자 및 권한 점 세개 클릭 - 소유권 인증 세부 정보 복사 티스토리 스킨 편집 사이에 복사한 HTML 태그를 넣는다. 2023. 12. 1.
티스토리 ] 네이버 서치어드바이저 HTML 태그 등록 네이버 서치어드바이저에 신규로 사이드 등록하는 방법 + 기존에 등록해뒀더라도 티스토리 스킨편집하다 메타태그가 날라갔으면 기존 등록을 삭제하고 새로 등록해 줘야 한다. 네이버 - 서치 어드바이저 검색 웹마스터 도구 클릭 HTML 태그 선택 후 복사 티스토리 - 스킨 편집 - HTML 에 들어가 사이에 태그 붙여넣기 후 적용 다시 네이버 웹마스터 도구로 돌아가 소유확인을 누르면 사이트 등록이 완료된다. 요청 - RSS 제출 요청 사이트맵 제출 이렇게 해도 바로 검색노출이 되는건 아니라서 노출을 앞당기고 싶다면 요청 - 웹 페이지 수집에서 수동으로 색인 요청을 하는 방법이 있다. 2023. 11. 30.
티스토리 ] 구글 애드센스 코드 넣기 구글 애드센스 - 광고 - 코드 가져오기 티스토리 - 스킨편집 - HTML 사이에 복사한 코드를 붙여넣기 한다. 2023. 11. 29.
티스토리 ] 북클럽 리스트 타입과 더보기 방식 바꾸기 북클럽 스킨의 기본 리스트 타입은 북리뷰인데' 스킨 편집 창에 들어가 스크롤 다운 하면 리스트 타입과 더보기 방식을 바꿀 수 있다. 2023. 11. 28.
UTF-8, UTF-8(BOM) 차이 메모장의 인코딩 옵션을 살펴보면 UTF-8과 UTF-8(BOM)이 있다. 그리고 Visual studio 고급 저장 옵션에는 서명있는 UTF-8과 서명있는 UTF-8이 있다. 둘의 차이는 무엇일까? BOM은 Byte Order Mark의 약자로 해당 문서가 UTF-8 인코딩임을 텍스트를 읽는 프로그램에 알리기 위한 용도로 파일 시작 부분에 위치하는 특별한 바이트 시퀀스이다. UTF-8과 비교해 UTF-8(BOM)의 차이는 파일 맨 앞에 EF BB BF가 붙는다는 것 뿐인데, UTF-8(BOM) 인코딩의 빈 텍스트 파일을 만들고 format-hex 명령어를 사용해서 hex dump를 해보면 알 수 있다. UTF-8에 BOM을 붙이는 것은 유니코드 표준에서 허용하지만 필수나 권장사항이 아니고, 대부분의 경우.. 2023. 11. 27.
윈도우 소켓 ] select 입출력 모델 select 모델 select() 함수는 동기식 다중 입출력함수(Synchronous Multiplexing IO)로 recv(), send() 등 소켓 함수 호출이 성공할 수 있는 시점을 미리 알 수 있다. 따라서 소켓 함수 호출 시 조건을 만족하지 않아 생기는 여러 문제를 해결할 수 있다. 또한 멀티스레드 방식 등 다른 모델과 비교하여 select 모델의 사용상의 장점은 여러 소켓을 한 스레드로 처리할 수 있다는 점이다.     select 모델 사용 준비 select() 모델을 사용하려면 세 종류의 소켓 셋을 준비해야 한다. 읽기셋, 쓰기셋, 예외셋이 있는데 세 종류중에 필요한 소켓셋만 준비해도 된다. 소켓 셋은 소켓의 집합으로 종류에 따라 소켓들을 담아두는 역할을 한다. 예를 들어 어떤 소켓에 대.. 2023. 11. 26.
Visual Studio ] C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 한글버전 Visual Studio를 사용하다보면 아래 경고가 뜰 때가 있다. C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 기본적으로 소스파일, 헤더파일을 만들고 한글 주석을 다는 경우 인코딩이 ANSI로 바뀐다. 파일을 메모장으로 열어보면 알 수 있다. 이게 문제가 되므로 인코딩을 UTF-8로 다시 바꿔주면 된다. 해결방법 1 파일 선택 상단 메뉴의 파일 - 우클릭 - 다른이름으로 ... 파일 저장 - 인코딩하여 저장 선택 ... 파일이 이미 있습니다. 바꾸시겠습니까? 라는 문구가 뜨면 예 선택 인코딩을 UTF-8로 변경하여 저장하면 된다. 참고. 유니코드 - 코드 페이지 1200은 UTF-16을 의미한다. 해결방법 2 이미 만들어진 파일의 경우 위의 방법으로.. 2023. 11. 25.
RS-422, RS-485 Waveform RS-422 RS-422 은 두 개의 전압 신호 선을 사용해 데이터를 전송하는 Balanced(Differential) signaling을 사용하므로 Tx+와 Tx-를 측정한다. 일반적으로 양극성 신호라인을 A, 그 반대 극성의 신호를 B라고 하는데 아래 사진에서 노란색이 A라인(Tx+), 연두색이 B라인(Tx-)이다. RS-422 데이터 해석 A-B 전위차가 positive인 경우 그리고 수신단에서 A - B > 200mV 이면 Logic 1(= mark)로 해석한다. A-B 전위차가 negative인 경우 그리고 수신단에서 A - B < -200mV이면 Logic 0(= space)으로 해석한다. START bit가 Logic 0, STOP bit가 Logic 1이고 LSB first로 데이터가 전송.. 2023. 11. 24.
RS-232 Waveform RS-232RS-232는 비동기 직렬통신 표준중 하나로 데이터는 클락신호 없이 전송된다. 송신자와 수신자는 서로 다른 클락을 사용하지만 서로 동일한 Buad rate로 설정하고 데이터 전송의 시작과 끝을 알리는 비트를 사용해 데이터를 정확히 송수신할 수 있다.  RS-232 Waveform 분석 RS-232 통신파형을 스코프로 측정하면 다음과 같다.Single ended 신호라서 tx핀만 측정하면되고, ASCII 코드 '1'을 터미널에 입력해본다.     신호 레벨 Vmin은 -9.5V, Vmax는 +600mV 정도로 Vpp가 10.1V로 측정되었다.출력전압사양은 마이너스 전압이 -3V~-15V 플러스 전압이 +3V~+15V 사이로 보통 ±12V를 사용한다고 알고있는데 내가 갖고있는 컨버터가 산업용이 아.. 2023. 11. 23.
Windows 10 ] 네트워크 브리지 설정 네트워크 브리지 네트워크 브리지(Network Bridge) 기능은 두 개 이상의 네트워크 어댑터(랜카드)를 결합하여 하나의 논리적 네트워크로 통합하는 기능을 제공한다. 브리지된 네트워크에서는 모든 연결된 장치가 동일한 IP 서브넷 내에 있으므로, 하나의 IP 주소를 할당받고 통신한다. 또한 네트워크 브리지를 설정하여 두 랜카드가 하나의 논리적 네트워크로 결합했을 때, IP 주소는 하나지만 물리적인 랜포트는 여전히 두 개가 존재하므로 두 랜포트를 각각 다른 장치에 연결하여 독립적으로 각기 다른 통신을 할 수 있다. 네트워크 브리지 연결 방법 제어판 - 네트워크 및 인터넷 - 네트워크 연결 네트워크 브리지 설정할 이더넷 인스턴스를 드래그 하여 선택 후 우클릭 - 네트워크 브리지 연결을 선택하거나 하나씩 선.. 2023. 11. 22.
C/C++ ] 키보드 메시지 후킹을 사용한 간단 키로거 WH_KEYBOARD_LL 저수준 키보드 후크는 해당 애플리케이션 창이 비활성화되거나 포커스가 없는 상태에서도 모든 키보드 입력 이벤트를 후킹할 필요가 있을 때 사용한다. OS 시스템 메시지 큐에 있는 키 이벤트가 응용프로그램에 도달하기 전에 후킹 되므로 후크 프로시저에서 이벤트를 차단하거나 수정할 수 있다. #include #include #include #include HHOOK hHook; std::ofstream logfile; LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam) { LPKBDLLHOOKSTRUCT key = (LPKBDLLHOOKSTRUCT)lParam; if (code >= 0 && wParam == WM.. 2023. 11. 21.
Vmax, Vmin, Vp, Vpp, Vavg, Vrms Vmax : 파형의 가장 높은 지점에서 GND까지의 전압값 Vmin : 파형의 가장 낮은 지점에서 GND까지의 전압값 Vpp (Peak to Peak) : 파형의 가장 높은 지점에서 낮은지점까지의 전압값 잠깐❗ Vavg과 Vrms에 대해 알아보기 전에 우리나라의 가정용 전기는 220V AC이다. 그런데 교류전압은 방향도 값도 계속 변하는데 어떻게 딱 220V라고 정해서 말하는 걸까? 사실 이때의 220은 Vrms 값이며 가정용 전기는 최대 전압(Vpeak)이 311V인 60Hz 사인파다. 즉, +311V와 -311V 를 1초에 60번 오르내리는 전압이다. Vavg : 파형의 평균 전압값 사인파형의 AC 전압의 경우 한 사이클 동안(0에서 2π까지)의 평균값을 구하게 되면 0이 된다. 따라서 보통 양의 반.. 2023. 11. 20.
무기체계 소프트웨어 개발 및 관리 매뉴얼 무기체계 소프트웨어 개발 및 관리 매뉴얼 원안- 본문 무기체계 소프트웨어 개발 및 관리 매뉴얼 원안 - 부록 기술문서 작성 가이드: - 서식(본문 작성법, 서식명, 작성단계, 작성기관, 목차 구성 등) - 소프트웨어 개발 계획서 SDP - 소프트웨어 요구사항 명세서 SRS - 소프트웨어 설계 기술서 SDD - 소프트웨어 통합시험 계획서 STP - 소프트웨어 통합시험 절차서 STD - 소프트웨어웨어설치절차서 등... 무기체계 소프트웨어 개발 절차 무기체계 소프트웨어 세부 개발 절차 및 산출물 출처 : https://www.dapa.go.kr/dapa/rlm/rllawd/RlmNttList.do?menuId=340 방위사업청 행정규칙 | 방위사업청 www.dapa.go.kr 2023. 11. 19.
한글 ] 고화질 이미지 붙여넣기 복사 후 Alt + Ctrl + v 그림(메타파일) 붙이기 이후 텍스트 입력에 따라 자연스럽게 같이 이동할 수 있게 그림 - 속성 - 글자처럼 취급 을 설정해준다. 2023. 11. 18.
Windows ] 원격 데스크톱 연결 시 파일 전송하기 원격 데스크톱 연결에서 옵션 표시 클릭 로컬 리소스 - 로컬 장치 및 리소소스 - 자세히... 클릭 드라이브 - 연결할 드라이브 체크 이렇게 설정한뒤 원격 데스크톱 연결한다. 원격지 Host PC의 파일 탐색기 - 내 PC에 접근하면 Guest PC의 드라이브에 접근할 수 있다. 이후 파일 복사 붙여넣기를 통해 서로 전송하면 된다. 2023. 11. 17.