본문 바로가기
반응형

컴퓨터892

[C#] ContextMenu 호출 컨트롤 구하기 ContextMenu이 실행될 때 ContextMenu를 호출하는 컨트롤를 구하는 방법은 다음과 같다. private void MenuViewDetails_Click(object sender, EventArgs e) { MenuItem menuItem = sender as MenuItem; if (menuItem != null) { ContextMenu menu = menuItem.GetContextMenu(); Control ctrl = menu.SourceControl; } } ContextMenuStrip일 때는 다음과 같이 구한다. private void MenuViewDetails_Click(object sender, EventArgs e) { ToolStripItem menuItem = sen.. 2023. 1. 26.
[C#] 2차원 다차원 배열 C#에서 2차원 배열은 다음과 같이 사용한다. int[,] a = new int[4, 2]; a[0,0] = 1; C#에서 3차원 배열은 다음과 같이 사용한다. int[,,] a = new int[4, 2, 3]; a[0,0,0] = 1; 2023. 1. 26.
UI 상태 표시 방법 UI에서 상태를 표시하는 방법 1. 텍스트 2. 시간 그래프 3. 벡터 그래프 2023. 1. 26.
명령어 인터페이스 (CLI) CLI(Command-line interface)는 DOS나 니눅스의 터미널과 같이 명령어를 입력하여 컴퓨터에게 명령을 주는 인터페이스를 의미한다. CLI에 반해 GUI는 기본적으로 그래픽 화면을 마우스로 선택하여 동작한다. 2023. 1. 25.
Notepad++ 색깔 설정 설정 메뉴에서 스타일 설정을 선택하면 다음과 같은 창이 뜬다. - Current line background : 현재 줄의 색 - Selected text colour : 선태 글자의 색 - Caret colour : 커서 색 2023. 1. 21.
사인 테이블 프로그래밍 사인 함수값을 구할 때 함수를 사용하지 않고 테이블을 사용할 수 있다. 사인함수의 1/4 주기만 테이블을 만들어 sin_table에 저장한다. 사인값을 구하는 코드는 다음과 같다. int sin_value(int x) { int i = x % L; if (0 2023. 1. 12.
무료 아이콘 편집기 Junior Icon Editor Greenfish Icon Editor 2023. 1. 10.
comboBox 아이템 복사하기 아래 코드는 comboBox1의 모든 아이템을 comboBox2로 복사한다. comboBox2.Items.AddRange(comboBox1.Items.Cast().ToArray()); 2023. 1. 10.
tabControl 사용법 tabControl은 사용해야 하는 컨트롤 개수가 많을 때 탭으로 나누어 사용할 수 있다. tabControl의 탭이 변경될 때 실행되는 이벤트는 다음과 같다. private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { MessageBox.Show("Text=" + tabControl1.SelectedTab.Text); MessageBox.Show("Index=" + tabControl1.SelectedIndex.ToString()); } 2023. 1. 5.
Visual Studio C# 설정 C# 편집기 폰트는 도구 메뉴에서 옵션을 선택하여 아래와 같이 설정한다. 글자 색을 변경하려면 다음 창에서 설정한다. 탭을 유지하기 위해서는 다음과 같이 '탭 유지'를 선택한다. 2023. 1. 4.
MFC 사용을 위한 Visual Studio 설치 Visual Studio에서 MFC를 사용하기 위해서는 아래 그림의 오른쪽에서 "최신 v142 빌드 도구용 C++ MFC ..."를 체크해야 한다. 디폴트로 선택되어 있지 않기 때문에 직접 선택해야 한다. ☞ Visual Stduio 무료 버전 2023. 1. 4.
래스터 이미지와 벡터 이미지 차이 래스터(Raster) 이미지 또는 비트맵(Bitmap) 이미지는 픽셀로 이미지를 표현하는 방법이다. bmp 파일, jpg 파일 등이 래스터 이미지 파일이다. 벡터(Vector) 이미지는 점, 선, 곡선 등과 같은 도형으로 이미지를 표현하는 방법이다. ai 파일, eps 파일 등이 벡터 이미지 파일이다. 포토셥은 래스터 이미지를 편집할 때 사용하고 일러스트레이터는 벡터 이미지를 편집할 때 사용한다. 래스터 이미지는 이미지가 픽셀로 저장되기 때문에 확대하면 픽셀이 커지면서 이미지가 흐려지지만 벡터 이미지는 도형 데이터로 저장되기 때문에 확대해도 선명도가 흐려지지 않는다. 다음 그림과 같은 1000x1000 이미지를 래스터 방식으로 저장하기 위해서는 1000x1000 메모리가 필요하다. 동일한 그림을 벡터 방.. 2023. 1. 2.
스마트폰 악성앱 검사 삼성 갤럭시에서 악성앱을 검사하는 방법은 다음과 같다. 1. 설정에 들어가서 '배터리 및 디바이스 케어'를 선택한다. 2. '디바이스 보호'를 선택한다. 3. '휴대전화 검사' 버턴을 선택한다. 4. 검사가 시작된다. 2022. 12. 28.
추상 데이터 타입 (ADT) 뜻 ADT(Abstract Data Type, 추상 데이터 타입)는 데이터를 사용자 관점에서 보는 것으로 데이터 구조는 정의하지 않고 어떻게 사용하는지를 정의한다. ADT에 대응되는 말은 Data Structure로 Data Structure는 데이터가 어떤 구조로 저장하는지에 대한 것을 정의한다. 예를들면, 스택이 있을 때 ADT에서는 스택 크기와 Push와 Pop 명령어만 정의한다. 사용자는 Push와 Pop 명령을 사용하면 스택을 사용할 수 있다. Data Structure 관점에서는 스택의 데이터 구조와 Push와 Pop일 구현되는 내부 구조를 정의한다. 프로그램 개발시 ADT와 Data Structure를 분리하면 Data Structure가 변경되어도 다른 프로그램을 수정하지 않아도 된다. 리눅스.. 2022. 12. 24.
#define 문 사용법 C에서 #define문을 사용하는 방법은 다음과 같다. #define PI 3.1415 #define MAX(a,b) ((a < b) ? (b) : (a)) #define PORT(x) (*((volatile char*)0x00001000) = (x) #define multiply(f1,f2) (f1*f2) 2022. 12. 9.
Notepad++ 설치, 초기 설정 Notepad++의 64비트 버전은 플러그인이 안되는 것이 많기 때문에 32비트 버전을 설치한다. 처음 설치한 후에는 다음과 같이 설정한다. 메뉴의 설정-스타일 설정에서 테마를 Twilight를 선택한다. C와 C++에서 COMMENT로 시작하는 형식을 연두색으로 바꾼다. 메뉴의 설정-환경설정에서 열표식 설정에 80을 입력한다. 2022. 12. 9.
구글 서치 콘솔: 적절한 표준 태그가 포함된 대체 페이지 구글 서치 콘솔에 가면 다음과 같이 색인이 생성되지 않은 페이지가 매우 많다. 구글에 색인이 생성되지 않았다는 것은 구글에 검색되지 않는다는 의미이다. 페이지 색인이 생성되지 않은 이유는 다음과 같이 나온다. 가장 큰 이유는 '적절한 표준 태그가 포함된 대체 페이지'이다. '적절한 표준 태그가 포함된 대체 페이지'는 다음과 같이 설명되어 있다. 구글은 같은 내용의 페이지가 다른 주소로 되어 있을 때 한 주소만 색인하고 다른 주소의 페이지는 색인하지 않는다. 티스토리는 하나의 포스트가 PC 버전과 모바일 버전으로 2개의 다른 주소로 되어 있고 둘 중 하나는 색인되지 않는다. '적절한 표준 태그가 포함된 대체 페이지' 메세지가 나오는 것은 정상으로 별다른 조치를 취할 필요가 없다. 2022. 12. 2.
빠른 포맷과 일반 포맷의 차이 빠른 포맷과 일반 포맷의 차이는 다음과 같다. 빠른 포맷 (Quick Format) - 파일시스템 영역만 초기화 - 데이터 영역은 그대로 둠 - 배드섹터를 검사하지 않음 일반 포맷 (Normal Format, Full Format) - 빠른 포맷에서 배드섹터 검사 추가 - 배드 섹터 검사에 매우 많은 시간이 걸림 (2TB 포맷에 이틀이 넘게 걸림) 하드디스크 문제가 없다면 빠른 포맷만 하면 되고 하드 디스크가 이상하다면 일반 포맷을 해야 한다. 빠른 포맷이든 일반 포맷이든 포맷을 해도 데이터가 남기 때문에 민감한 정보가 있으면 버리거나 다른 사람에게 주기전에 다른 조치를 취해야 한다. 2022. 11. 30.
노트북 하드디스크 케이블 연결 노트북에 하드디스크를 연결하는 케이블을 연결하는 방법은 다음과 같다. 1. 하드디스크 커넥터는 아래 사진과 같다. 2. 커넥터의 흰색 부분을 위로 올린다. 3. 하드디스크 케이블을 커넥터 위에 놓는다. 4. 커넥터 흰색 부분을 내린다. 딱 소리가 난다. 5. 하드디스크 케이블이 연결된 커넥터는 다음과 같다. ※ 알면 쉬운데 모르면 한참 고민해야 한다. 2022. 11. 29.
갤럭시 덱스 사용법 삼성 갤럭시에 모니터와 키보드와 마우스를 연결하면 삼성 덱스(Samsung DeX)를 이용하여 PC 처럼 사용할 수 있다. 갤럭시에 모니터와 키보드와 마우스를 연결하기 위해서는 다음과 같은 어댑터가 필요하다. 삼성 정품이 아니라도 몇 만원짜라 멀티허브를 사용해도 된다. 덱스를 사용하기 위해서는 다음과 같이 '설정'의 '유용한 기능'을 선택하고 'Samsung DeX'를 선택한다. 'Samsung DeX'를 길게 누르면 덱스 설정 화면으로 들어갈 수 있다. 삼성 덱스의 화면은 다음과 같다. 윈도우 처럼 사용할 수 있다. 해상도은 전용 덱스 패드를 사용하면 최대 2560x1440까지 지원되는데 덱스 패드를 사용하지 않으면 1920x1080 또는 1600x900 중에서 선택할 수 있다. 4k는 아직 지원하지 .. 2022. 11. 28.
레노버 노트북 수리/고장 후기 2년 반전에 산 레노버 노트북이 동영상 재생중 갑자기 꺼짐 파워 스위치로 다시 부팅하니 부팅 중 화면이 꺼짐 어떤 때는 윈도우 부팅 전에 화면이 꺼지고 어떤 때는 윈도우 부팅 후 10~20초 후 화면이 꺼짐 바이오스 설정 화면에서도 1분 정도 지나면 화면이 꺼짐 화면이 꺼져도 하드디스크에서 드르륵 거리는 소리는 계속 남 윈도우 문제가 아니라 하드웨어 문제로 추정됨 특히, 하드디스크가 이상한 것 같음 분해해서 하드디스크를 분리함 하드디스크를 분리하니 정상적으로 부팅됨 하드디스크를 외장하드 케이스에 넣어 컴퓨터에 연결하니 하드디스크 파일은 정상적으로 읽힘 윈도우의 오류검사를 해도 정상으로 나옴 하지만, 하드디스크 액세스되는 소리가 계속 들리고 외장하드 LED도 계속 깜박임 USB 꺼내기를 하면 아래와 같은 .. 2022. 11. 27.
USB 마이크로 커넥터 A와 B 차이 USB 커넥터 중 크기가 가장 작은 마이크로 커넥터는 A와 B와 AB의 3종류가 있다. USB2.0 Revised에서 나온 마이크로 커넥터의 A와 B는 다음 사진과 같다. 지금은 USB-C로 통일되었지만 몇 년전까지 스마트폰에서 많이 사용한 것은 마이크로 B 타입이다. USB 3.0과 USB 3.1에서 속도가 빨라지면서 마이크로 커네터가 다음 사진과 같이 변경되었다. 마이크로 A는 PC와 같은 마스터에 사용하고 마이크로 B는 폰과 같은 슬레이브레 사용한다. 하지만, 마이크로 A를 주위에서 보기는 어렵다. 2022. 11. 26.
갤럭시 데이터 통신 속도 모니터링 갤럭시에는 데이터 통신속도 모니터링 기능이 없다. 통신속도 모니터링을 위해서는 앱을 설치해야 한다. Internet Speed Meter Lite를 설치하면 상태줄에 통신속도가 표시된다. Internet Speed Meter Lite에서 다음과 같이 날짜별로 데이터 사용량을 확인할 수도 있다. Internet Speed Meter Lite 설정 화면은 다음과 같다. PRO는 유료 버전이다. 2022. 11. 25.
데이터 백업용 저장장치 방송국, 구글, MS, 아마존 등에서 데이터 백업으로 많이 사용하는 저장장치는 LTO(Linear Tape-Open)이다. LTO는 자기 테이프 방식의 저장장치이다. 자기 테이프 저장장치는 1950년대부터 사용된 방식이다. LTO는 1990년대 기존에 사용되고 있던 자기 테이프 방식을 대신하여 공개 표준으로 만든 방식이다. IBM, HP, 퀀텀이 LTO 컨소시엄을 구성했다. LTO은 2000년의 LTO-1에서 2021년의 LTO-9까지 업그레이드 되었다. LTO-9는 비압축 데이터 18TB을 저장하고 압축 데이터는 45TB를 저장할 수 있다. 하드디스크에 비해 LTO는 용량당 가격이 1/8 정도로 저렴하고 신뢰도도 훨씬 높다. 하지만, 랜덤 에세스할 때 시간이 많이 걸리는 단점이 있기 때문에 가끔씩 사용.. 2022. 11. 9.
5G 인터넷 속도 5G일때 스마트폰에서 인터넷 속도를 측정해 보면 400Mbps 정도나온다. 와이파이 핫스팟으로 테더링할 때 PC에서 인터넷 속도를 측정해 보면 25Mbps 정도나온다. USB 테더링을 하고 PC에서 인터넷 속도를 측정해 보면 33Mbps 정도로 와이파이 테더링보다 속도가 빠르다. PDANET+ 테더링 PDANET+을 이용하여 다이렉트 와이파이로 테더링하면 43Mbps 정도 나온다. PDANET+을 이용하고 USB 테더링하면 51Mbps 정도로 와이파이보다 속도가 빠르다. 스마트폰 테더링보다 PDANET+ 테더링이 속도가 더 빠르다. ※ 넷플릭스 인터넷 속도 측정 사이트 ☞ 테더링 우회앱 PDANET+ 사용법 2022. 11. 8.
[C#] FFT 프로그램 코드 C#은 복소수 연산을 지원한다. (using System.Numerics) C#에서 FFT를 구하는 소스코드는 다음과 같다. int BitRev(int n, int bits) { int rN = n; int cnt = bits - 1; n >>= 1; while (n > 0) { rN = (rN >= 1; } return ((rN 2022. 11. 2.
삼성 갤럭시 키패드 숨겨진 코드 전화번호를 입력하는 키패드에서 특정 코드를 입력하면 숨겨진 기능이 나타난다. 코드 : *#0*# 아래와 같은 하드웨어 테스트 화면이 나타난다. 화면, 센서, 카메라 등을 테스트할 수 있다. 코드 : *#0228# 배터리 상태를 확인할수 있다. 2022. 11. 1.
카카오 화재후 티스토리 유입 감소 카카오 데이터센터 화재가 2022년 10월 15일 토요일 발생하고 티스토리는 10월 19일 수요일 완전복구되었다. 구글 유입은 화재(빨강 화살표) 후 다음과 같이 크게 변하지 않았다. 네이버 유입은 화재(빨강 화살표) 후 다음과 같이 매우 크게 감소하였다. 티스토리 사이트가 몇일간 중지되면서 네이버 검색 순위에서 밀려난것 같다. 전체적으로 페이지뷰는 30%정도 감소하고 수익은 1/4정도 감소했다. RPM이 매우 많이 떨어졌다. 2022. 10. 23.
티스토리 네이버 서치어드바이저(웹마스터도구) 소유확인 방법 1. 아래 링크의 네이버 서치어드바이저로 들어간다. https://searchadvisor.naver.com/ 2. 오른쪽 메뉴에서 웹마스터 도구를 선택한다. 3. 사이트에 티스토리 주소를 입력한후 오른쪽 버튼을 선택한다. 4. HTML 태그를 선택한후 부분을 선택한 후 복사한다. 5. 티스토리 관리자에서 HTML 편집화면에서 사이에 복사한 글자를 붙여넣고 적용한다. 6. 4번의 HTML 태그 화면에서 소유확인 버턴을 클릭한다. 7. 이렇게 하면 소유확인이 끝난다. 2022. 10. 23.
정적할당, 동적할당, 자동할당 차이 변수 종류는 정적할당, 동적할당, 자동할당 변수로 구분할 수 있다. 1) 정적할당 (Static Memory Allocation) 정적할당 변수는 전역변수와 같이 프로그램이 실행되면 메모리를 할당하고 프로그램이 종료될때까지 사용하는 변수이다. 2) 자동할당 (Automatic Memory Allocation) 자동할당 변수는 지역변수와 같이 프로그램 실행 중 함수가 호출되면 함수내의 변수는 스택에 저장하고 함수를 빠져 나오면 스택에서 해제된다. 프로그램이 실행됨에 따라 스택에 저장되는 변수는 커졌다 작아졌다를 한다. 지역변수를 Local variable 또는 Automatic variable이라고 한다. 3) 동적할당 (Dynamic Memory Allocation) 동적할당 변수는 malloc 함수를 .. 2022. 10. 20.
반응형