4월, 2016의 게시물 표시

콤보박스에 보여지는 값과 실제 사용하는 값을 각각 다르게 지정해보자(C#)

이미지
콤보박스를 편하고 깔끔하게 사용하기 위한 방법   이 방법을 모를 때와 이 방법을 알고 난 뒤의 콤보박스 활용 능력은 극과 극을 달리게 될겁니다. 콤보박스에 상품 목록이 나열되어있고, 오름차순으로 정렬돼 있는 상태에서 DB와 연동해 현재 콤보박스에 선택된 상품 정보를 뿌린다고 생각해보세요. 요점은 콤보박스에 DB의 Primary Key와 관련된 무엇도 들어가면 안 되고, 오로지 상품명만 표시되어야 한다 는 것입니다. 비효율적인 기존 처리 방식   이 경우, 콤보박스의 리스트는 상품명 오름차순으로 정렬이 되었기 때문에 각 상품명에 대해 SelectedIndex와 DB Primary Key가 일치하지 않습니다. 그럼 결국 상품명과 PrimaryKey를 매핑시키는 작업을 거쳐 SelectionChanged 이벤트에서 작업을 하게 되겠죠. 효율적인 새 처리 방식   하지만 콤보박스의 아이템에 string ProductName과 int ProductID가 속성으로 존재하며 콤보박스의 텍스트에는 ProductName만 출력하는 방법이 있다면? 이 모든 문제는 한번에 날아가게 됩니다. 그리고 그 방법은 당연히 존재합니다. ComboBox.Items는 ObjectCollection   Object가 뭡니까? 모든 객체가 상속받는 최상위 클래스죠. 하지만 이 Object 클래스엔 어떤 string property도 존재하지 않는데 어떻게 아이템으로 사용해 텍스트를 출력한다는 걸까요? 멍청하게 뭘 묻냐고요? 당연히 ToString()을 호출해 그 반환값을 집어넣는 거라고요? 맞습니다.   Object 클래스는 네 개의 메소드를 갖고 있는데, 이중 ToString()이 있습니다. 이 메소드는 기본적으로는 Object의 클래스를 String 형식으로 반환해 주는데 이 ToString()을 오버라이드하면 ComboBox에 표시될 텍스트를 대체할 수 있습니다. ToString() 오버라이딩   자, 그럼 위 예시에서 필요한 것은 Pr

음소거했는데 스피커에서 잡음이 발생하는데?

이미지
알 수 없는 스피커의 잡음   아주 오랜만에 이사하고 나서 다시 생긴 증상이네요. 음소거를 해도 뭔 짓을 해도 전원을 차단하기 전까진 스피커에서 잡음이 들리는 현상 을 겪었습니다. 너무 오랜만에 겪는 현상이라 해결 방법을 떠올리기까지 조금 시간이 걸렸네요. 스피커 잡음 잡기   OS에서 음소거를 했음에도 불구하고 스피커에서 도저히 못 들어줄 만큼의 잡음이 발생하는 데엔 여러 가지 경우가 있지만 제 경우는 접지  문제였습니다. 접지 감전 등의 전기사고 예방 목적으로 전기기기와 대지(大地)를 도선으로 연결하여 기기의 전위를 0으로 유지하는 것. 어스라고도 한다.   예. 뭔가 그럴싸하게 쓰여있지만 요약하면 누전에 의한 감전을 방지하기 위해 누전이 될만한 물체와 땅을 도선으로 이어놓는 걸 말합니다. 그런데 스피커 잡음 잡는데 웬 접지 얘기냐고요? 바로 접지를 안 해서 생기는 누전이 잡음의 원인 이었기 때문입니다. 누전 잡기   이사 오기 전엔 집이 매우 오래된 집이어서 콘센트에 접지하는 부분이 없더군요.   이렇게 생긴 플러그와 콘센트가 접지를 지원하는 것들인데, 저번 집에는 벽에 있는 콘센트가 구형이라 저런 게 없었고, 콘센트만 간다고 해도 애초에 공사할 때 접지를 고려하지 않았기에 의미가 없었죠. 하지만 이번 집은 비교적 최근에 지어진 집이라서 다행히 접지하는 부분이 있더군요!   그런데 멍청하게도 예전 집에서 사용하던 구형 2구 콘센트를 연결해놨지 뭡니까. 덕분에 있는 접지 기능을 사용하지 못하고 있었어요. 신형 접지 지원 콘센트로 이어주고 나니 잡음이 사라지더군요. 접지 하세요 접지. 그 외의 경우   접지를 해도 잡음이 계속 발생하는 경우가 있습니다. 스피커의 노이즈는 참 많은 원인이 있지요. 그 중 몇개만 참고하시라고 간단히 써놓겠습니다. 1. 컴퓨터 내부의 누전   이게 사실 제일 답이 없습니다. 이 경우의 특징은 마우스를 움직이거나 키보드를 입력하거나 CPU 로드가 올라갈 때 고주파의

Windows 10 알람 음악 바꾸기

이미지
데스크탑에서 알람을?   대부분의 사용자는 어떨 지 모르겠지만, 저같이 6시 30분에 컴퓨터가 자동으로 켜지고 그 이후에 다시 새벽 1시까진 꺼질 일이 없는 작업환경을 갖춘 분이라면 데스크탑을 알람용으로 쓰는 것도 나쁘지 않을 겁니다. 무엇보다 볼륨을 최대로 올려도 그리 크지 않은 핸드폰의 알람 소리에 비해 데스크탑 스피커에서 짱짱하게 울리는 알람 소리는 잠 깨는데 그만 이거든요. Windows 10의 알람 앱   윈도우 8부터 마치 스마트폰과 같이 스토어 기능이 생긴 걸 다들 아실 겁니다. 당연히 알람 및 시계 어플도 기본적으로 내장이 되어 있지요. Windows + Q 를 눌러 검색창을 띄우신 후 알람 이라고 하면 첫 번째로 알람 및 시계 어플이 뜰 겁니다. 나름 디자인이 깔끔하고 사용하기도 간편해 쓸만하긴 하지만 치명적 단점이 존재하는데, 바로 앱에서 알람 음악을 원하는 대로 바꿀 수 없다는 것! 바꿀 수 없는 알람음   물론 기본적으로 제공되는 10개의 알람음도 나름 산뜻하고 좋습니다. 하지만 저처럼 웬만한 헤비메탈이나 소음공해에는 단 1헤르츠의 뇌파도 변하지 않는 꿀잠체질을 가지신 분이라면 이것으론 깨어날 수가 없다고 생각되는 음악들 뿐이죠. 하지만 앱에서 알람음 추가/변경을 지원하지 않으니 어쩔 수 없이 포기해야 할까요? 꼼수로 변경하면 됩니다   어떤 것에든 꼼수가 존재하는 법! 알람음악의 파일 자체를 바꿔치기해 음악을 변경하면 됩니다! 경로는 C:\Windows\Media 폴더의 Alarm01.wav ~ Alarm10.wav 입니다. 앱에 표시되는 알람음의 순서대로 01번부터 10번까지의 음악 파일 이 존재하죠. 파일 명을 보시면 아시겠지만 알람 음악 소리의 확장자는 .wav파일만 됩니다. 어? 변경이 안 되는데?   당연히 꼼수를 쓰기가 쉽진 않은 법. OS에서 C:\Windows\Media 폴더의 쓰기 권한을 제공하지 않기 때문에 바꿔칠 수가 없을 것 같이 보입니다.   하지만 당연히 돌파구는 존재하

Windows 10 폴더 아이콘을 원하는대로 바꿔보자

이미지
어떤 폴더인지 한눈에 알아볼 수 있게   폴더의 아이콘을 바꾸는 방법을 알려드리겠습니다. 제가 사용중인 OS가 윈도우 10이므로 윈도우 10 기준으로 작성합니다. 폴더의 아이콘을 바꾸는 방법   아이콘을 바꾸고싶은 폴더의 속성에 들어갑니다.   사용자 지정 탭의 아이콘 변경 버튼 을 누릅니다.   찾아보기 버튼 으로 원하는 아이콘/아이콘이 있는 EXE/아이콘이 있는 DLL 을 선택 후 리스트에서 원하는 아이콘을 클릭 한 뒤 확인을 누르고 적용합니다. 끝! 기본 폴더 아이콘으로 되돌리려면   기본값 복원 버튼 을 누르고 확인 후 적용하면 폴더 기본 아이콘으로 돌아옵니다.

파이어폭스 다운로드 활성화 딜레이 없애는 방법

이미지
확장 프로그램 / 다운로드를 위한 대기시간   파이어폭스는 확장 프로그램을 설치하려 하거나 뭔가를 다운로드 하려 할 때 확인 버튼이 활성화 되기까지 대기 시간이 있습니다. 나도 모르게 아무거나 다운로드 받아버리는 경우를 방지하기 위한 조치라고 하지만, 이 기능이 전혀 쓸데가 없는 사람들도 있는 법이죠. 그래서 이런 분을 위해 파이어폭스의 다운로드 대기시간을 없애는 방법 을 알려드리겠습니다. 파이어폭스 다운로드 즉시 활성화   방법은 매우 간단합니다. 파이어폭스의 모든 설정을 관리할 수 있는 about:config 에 들어가 security.dialog_enable_delay 를 원하는 값으로 수정하시면 됩니다. 단위는 ms입니다.   이 값을 0으로 바꾸면 다운로드 딜레이가 완전히 없어지게 됩니다.   이 페이지는 웹 사이트가 아니기 때문에 앞에 프로토콜(http[s]|ftp|sftp|...)을 붙이면 안 들어가집니다. 반드시 주소창에 about:config 라고만 적어주세요.

쓸모없는 OneDrive(원드라이브) 기능 끄기

이미지
  트레이 아이콘에서 하얀색 구름 모양 OneDrive 아이콘을 우클릭해 설정 에 들어가주세요.   계정 탭 - OneDrive 연결 끊기( U ) 버튼을 눌러주세요.   다시 설정에 들어와 Windows에 로그인할 때 자동으로 OneDrive 시작 을 체크 해제해주세요.

Debug는 잘 되는데 Start Without Debug는 안 된다면? (Avast 사용자만 해당)

이미지
  Avast 안티바이러스에게 뒤통수를 맞았습니다. Avast의 기능 중 하나가 개발한 프로그램이 Debug 모드에선 실행되지만 Debug 없이는 실행이 안 되는 괴이한 증상을 만들어 냈더군요.   원흉은 Avast 안티바이러스의 Deep Screen 기능이었습니다. 이 녀석은 인증되지 않은 응용 프로그램이 실행되기 전 샌드박스 모드로 실행시킨 뒤 이상이 없다면 일반 모드로 재실행 되도록 하는 기능인데, 어째서인지 샌드박스 모드에 돌입하지 않고 프로세스에서 증발한 뒤 파일 핸들을 잡고 놓질 않더라고요. 심지어 시스템 권한으로 실행되어 재부팅 전까지 다시 빌드할 수도 없었습니다.   해결 방법은 당연히 이 기능을 끄고 재부팅하면 됩니다.     설정(G) 에 들어가셔서   망할 딥스크린 사용 에 체크를 해제해주세요.

Windows.old 제대로 삭제하는 방법

이미지
  커맨드라인이나 Shift + Del역시 방법 중 하나이지만 제대로 삭제하기 위해선 디스크 정리 기능을 사용해보시기 바랍니다.

윈도우 10 리눅스 배시 셸 활성화하는 방법

이미지
  물론 이 방법은 Insider Preview를 활성화하고, 해당 빌드가 설치된 상태에서만 유효합니다.   시작 - 실행 - appwiz.cpl 을 입력해 프로그램 추가/제거 창을 띄워주신 뒤 왼쪽의 Windows 기능 추가/제거 메뉴를 들어가셔서 Windows Subsystem for Linux 를 활성화하신 뒤 모든 프로세스가 끝난 뒤 재부팅하시면 됩니다.   PowerShell이 아닌 CMD에서 최초 실행시 에러 코드와 함께 bash가 실행이 안 되는데 이 경우엔 동영상에서 설명한 것과 같이 레거시 버전 프롬프트 사용을 체크 해제 하시면 됩니다.

DevExpress BarSubItem 메뉴 프로그래밍으로 여는 방법

  DevExpress의 Radial Menu 작업을 하다가 BarSubItem이 클릭돼 메뉴가 열리는 것을 특정 조건이 충족되면 프로그래밍으로 구현하고 싶었는데 구글에 이상한 키워드를 넣고 찾아서 한참 헤맸네요.   여는 방법은 간단합니다. RadialMenu에 붙어있는 BarSubItem의 Links[0]의 OpenMenu 메서드를 호출하시면 됩니다. (bsiDetailMenu.Links[0] as BarSubItemLink).OpenMneu();

[Windows] 심볼릭 링크를 활용해 경로를 더 더 더 단축하기

이미지
  저번 포스트에선 경로를 드라이브에 할당해 단축하는 방법을 알려드렸다면 이번 포스트에선 경로 그 자체를 바로가기로 만들들어 단축하는 방법을 알려드리겠습니다. 바로 심볼릭 링크 를 활용한 방법인데요.   심볼릭 링크란 바로가기(.lnk)와 비슷하게 보일 수도 있으나 실상은 완전히 다른, 경로 그 자체를 참조하는 링크 입니다. 즉, 폴더의 바로가기를 만들었다고 해서 notepad++등등의 파일에서 찾기 기능을 쓸 수 있는 게 아니지만, 심볼릭 링크로 만들면 가능합니다!   어떻게 활용할 수 있는지는 영상 초반부에 나오니 참고하시기 바라며, 이제 만드는 방법을 알려드리죠. MKLINK [/D] 링크명 대상경로   참 쉽죠? /D 스위치는 대상경로가 폴더일 때 켜주시면 됩니다.   그리고 주의하실 점이 있는데, 파일을 심볼릭 링크로 링크시켰을 땐 평소 지우는 것과 같이 del 명령어로 지워도 원본 파일엔 문제가 없지만, 심볼릭 링크로 만든 디렉터리를 바로가기 지우듯이 del명령어로 지우면 원본 경로 안에 있는 파일까지 싸그리 지워집니다. 그러므로 반드시 rd 명령어로 지우시기 바랍니다.

[Windows] 폴더를 드라이브 경로에 할당해서 편하게 사용하는 방법 (SUBST)

이미지
  C:\Users\Name\AppData\Roaming\Microsoft\Windows\Start Menu\Programs 폴더를 간단히 G:\로 접근할 수 있다면? 굉장히 편리하겠죠? 이런 것을 가능하게 해주는 명령어가 있습니다. Subst 명령어를 사용하시면 됩니다. 위 경로를 G:에 할당하고 싶다면 SUBST G: C:\Users\Name\AppData\Roaming\Microsoft\Windows\Start Menu\Programs 라고 입력하시면 됩니다. 그럼 이제부터 G:는 위 경로와 연동돼 G:에서 일어나는 모든 작업이 위 경로에서 일어나고, 그 반대의 경우도 마찬가지입니다. 해제하시고 싶을 땐 간단히 SUBST /D G: 라고 입력하시면 됩니다.

KT 인터넷 속도 측정 후 꼭 삭제하세요.

이미지
  해당 인터넷 속도 측정 프로그램은 사용 후에도 시작 프로그램에 등록돼 부팅 속도를 늦추는 원인이 됩니다. 인터넷 속도 측정을 끝냈으면 삭제하는 게 정신건강에 이로울 듯 합니다.