<

C#을 쓰면서 매번 느끼는 사실이지만, C++에 비해 개발 소요시간이 매우 단축된다는 것이다.


C++로 디렉토리 내 파일검색 메소드를 작성하려면 보통 20 라인으로 작성할 수 있다.


그런데 C#으로는 단 한줄로 디렉토리 내 모든 파일 목록을 가져올 수 있다.


심지어, 확장자 지정, 하위디렉토리 검색도 한번에 할 수 있다!


코드도 매우 간결하고, C++에서의 귀찮은 재귀함수 고려도 필요없었다.


        public string[] GetSearchFile(String _strPath)
        {
            string[] files = { "", };
            try
            {
                files = Directory.GetFiles(_strPath, "*.*", SearchOption.AllDirectories);
                
            }
            catch(IOException ex)
            {
                MessageBox.Show(ex.Message);
            }
            return files;
        } 



이미지 프로세싱에서 Tolerance와 Threshold 두 용어가 의미와 해석이 모호해서 매번 사전 검색을 했는데 이번에 정리해본다.


  • Tolerance - 허용치, 허용오차..

주변의 설정된 값(Tolerance)보다 작은 픽셀들은 같은 색상의 픽셀로 간주하고 검출함.

값이 높을수록 색상 범위가 넓어짐..

사실, 이미지 프로세싱에서 Tolerance의 종류가 다양한데 그 종류는 다양해도 의미는 비슷하다. Tolerance 값 안에 들어오면 같은 부류(?)로 해석하고 검출한다는것.

  • Threshold - 임계값, 한계값 등으로 해석됨. 

주로 바이너리 이미지(Binary Image) 검출에 많이 사용된다.


설정된 값(Threshold) 보다 낮은 값의 픽셀은 black으로, 높은 광도의 픽셀은 White로 치환한다.

Original imageOriginal imageExample of a threshold effect used on an imageExample of a threshold effect used on an image

image from wikipedia.

PC에 Geforce Experence가 설치되어 있는지 확인하자.

단축기가 동일해서 VS에서 안먹히는 경우가 있다.

가장 빠른 방법은  Geforce Experence 삭제.

Windows 10에는 불필요한 프로그램들이 너무 많이 설치된다. (끼워팔기 ㅠㅠ)


그중에 하나가 바로 OneDrive.


쓰지도 않을 뿐더러 앞으로 쓸 생각도 없다.


괜시리 탐색기에서 거슬릴 뿐이다.


삭제방법은 프로그램 추가/제거에서 OneDrive를 삭제하고 레지스트리에서도 항목을 삭제해주면 된다.


프로그램 삭제만 한다고 해서 탐색기에서 사라지지 않는다.


이 작업이 번거롭고 귀찮기 때문에 배치파일을 찾아봤는데 역시 있다.


깃허브에 이 내용이 있다.


https://github.com/TERRAOperative/OneDrive-Uninstaller


OneDrive-Uninstaller-master.zip


압축풀고 OneDrive Uninstaller v1.2.bat를 관리자 권한으로 실행하면 된다.

베바고시 3수 끝에 합격한 기념으로 수기와 함께 소소한 팁을 적어본다.


일단 베바고시에 응시하는 분들 중 대다수가 도전하는 상품 바로 이지스토어.


WD 이지스토어 10TB 외장하드 가격이 tax포함 200달러가 채 되지 않는다.


국내에서 동일 제품을 구매하려면 약 30만원 가까이 하는 반면 200달러면 현재 환율 기준 22만 6천원 정도된다.


물론 직배송이 되지 않기 떄문에 배대지 수수료를 포함한다 하더라도 국내 구입가보다 훨씬 저렴하게 구매할 수 있어서 


많은 분들이 베바고시에 응시하는 이유가 될것 같다.




일단 베스트바이 가입하는 요령은 검색을 통하면 많은 분들의 포스팅이 있으니 참고하시고.


제일 중요한 배대지 주소와 카드결제..


3수 끝에 얻은 팁을 적자면


1. 캔슬된 주문에 사용된 동일한 카드로 재주문시 무조건 캔슬은 되지 않는다. (3수 모두 동일한 카드 사용)

2. 유명한 배대지는 탈락할 확률이 매우 높다. (x테일, ㅇㅎ넥스 등..) 덜 알려진 배대지를 이용바란다.

3. 주소 수정 편법(ex. St 뒤에 마침표(.)를 붙이거나 숫자 1 대신 알파벳 I를 적는 등의 방법은 피하자.
   리뷰에 따르면 이렇게 하면 구매에 성공하더라도 리턴될 가능성이 높다고 한다.

4. 주소 수정보다는 전화번호 마지막 자리를 바꿔보자.

5. 빌링주소를 배대지 주소와 동일하게 수정하자.


베바는 동일한 배송 주소에도 상황에 따라 캔슬되고 안되고 차이가 있는것 같다.


위 팁중 가장 중요한 것은 바로 덜알려진 배대지를 이용하는 것이다.


명심하자.



18/11/27 추가

미국내 UPS배송으로 배대지에 도착했다.




12/16 추가

미국은 주별로 세금 부과기준이 조금씩 다르다.

직구시 델라웨어(DE), 오레곤(OR), 몬타나(MT), 뉴햄프셔(NH) 이곳에 물류센터가 있는 배대지를 이용하는 것이 세금을 아낄수 있는 방법이지만

반대로 생각하면 이곳의 배대지를 사용하는 사람들이 많을 것이라는 말도 된다.


따라서 몇천원 정도의 세금 차이라면 뉴저지나 일반 세금 부과하는 주를 이용하는 전략도 있다.

  1. 2018.12.06 02:56

    비밀댓글입니다

    • 2018.12.16 10:15

      비밀댓글입니다

MFC의 트리메뉴 컨트롤의 아이템 선택 이벤트 후 해당 선택된 아이템의 인덱스를 리턴하는 메소드가 없다.


편법으로 아이템 이름으로 찾는 방법도 있지만 코드가 길어지고 추가/수정이 복잡해진다.


구글링 결과 index를 구하는 방법을 찾았다.


OnTvnSelchanged 이벤트 메소드에서 child 아이템을 루프 태우면서 현재 선택된 item인지 체크하면서 증가 시키는 것이다.


이생각을 왜 못했는지..


코드의 일부는 아래와 같다. 전체는 출처로 이동해서 확인하길 바란다.


 
    int index = 0;
    HTREEITEM hItem = m_treeCtrl.GetSelectedItem();
    HTREEITEM hChild = m_treeCtrl.GetChildItem(NULL);
    while (hChild)
    {
        if (hChild == hItem) break;
        hChild = m_treeCtrl.GetNextItem(hChild, TVGN_NEXT);
        ++index;
    }
출처 : C++/(MFC)트리 컨트롤 몇 번째 아이템인지 조회


+ Recent posts