#include <boost/filesystem.hpp>

 

 

// full_path가  D:\svn\MasterChronicleDev\test.exe 일때

boost::filesystem::path path( full_path ); 

 

 

// 확장자 없는 파일네임만 리턴  ( "test.exe" )

std::string only_filename = path.stem();         

 

 // 확장자 포함 파일 네임        ( "test" )

std::string filename = path.filename();           

 

// 파일네임 없는 path만 리턴    ( "D:\svn\MasterChronicleDev" )

std::string path = path.parent_path().string(); 

 

// 확장자 리턴 ( ".exe" )

std::string ext = path.extention();

 

// full path 리턴 ( "D:\svn\MasterChronicleDev\test.exe" )

std::string full_path = path.string();   


,


고스트로 복원하다보면 백업 하드에 대한 드라이브 정보 때문에 부팅할 때 C 드라이브가 Z 처럼 다른 드라이브로 잡혀서 부팅이 안될 때가 있다. 이럴때는...

http://support.microsoft.com/kb/223188/ko


시스템/부팅 드라이브 문자 변경

경고 레지스트리 편집기나 다른 방법을 사용하여 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 문제를 해결하기 위해 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 문제에 대해 해결을 보증하지 않습니다. 레지스트리의 수정에 따른 모든 책임은 사용자에게 있습니다.
  1. 컴퓨터와 시스템 상태의 전체 시스템 백업을 만듭니다.
  2. 관리자로 로그온합니다.
  3. Regedt32.exe를 시작합니다.
  4. 아래의 레지스트리 키로 이동합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
  5. MountedDevices를 누릅니다.
  6. 보안 메뉴에서 사용 권한을 누릅니다.
  7. 관리자에 모든 권한이 있는지 확인합니다. 이 단계를 완료하면 이 설정을 원래대로 변경합니다.
  8. Regedt32.exe를 종료한 다음 Regedit.exe를 시작합니다.
  9. 다음 레지스트리 키를 찾습니다.
    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
  10. 변경할 새 드라이브 문자를 찾습니다. "\DosDevices\C:"를 찾습니다.
  11. \DosDevices\C:를 마우스 오른쪽 단추로 누른 다음 이름 바꾸기를 누릅니다.

    참고 이 레지스트리 키의 이름을 바꾸려면 Regedt32 대신 Regedit를 사용해야 합니다.
  12. 이름을 사용하지 않는 드라이브 문자 "\DosDevices\Z:"로 바꿉니다.

    이름을 바꾸면 드라이브 문자 C가 해제됩니다.
  13. 변경할 드라이브 문자를 찾습니다. "\DosDevices\D:"를 찾습니다.
  14. \DosDevices\D:를 마우스 오른쪽 단추로 누른 다음 이름 바꾸기를 누릅니다.
  15. 이름을 적절한 새 드라이브 문자 "\DosDevices\C:"로 바꿉니다.
  16. \DosDevices\Z: 값을 누르고, 이름 바꾸기를 누른 다음 이름을 "\DosDevices\D:"로 다시 지정합니다.
  17. Regedit를 종료한 다음 Regedt32를 시작합니다.
  18. 사용 권한을 관리자의 이전 설정(읽기 전용)으로 다시 변경합니다.
  19. 컴퓨터를 다시 시작합니다.
,

멀티 부팅을 사용하다 윈도우XP를 제거하거나 할경우 MBR이 손상이 되는 경우가 있습니다.

이럴때는 윈도우 7 설치 시디를 넣으시고 복구 모드로 들어가셔서 명령프로프트 창을 선택하시면 도스로 들어갑니다.

도스창에서 아래 텍스트를 순서대로 입력을 하시면 됩니다.

bootrec /fixmbr

bootrec /fixboot

exit

도스창이 닫히고 재부팅 하시면 됩니다. ^^
,

http://linuxexpresso.wordpress.com/2010/03/31/repair-a-broken-ext4-superblock-in-ubuntu/


HOWTO: Repair a broken Ext4 Superblock in Ubuntu
31Mar10

This has happened to me a few times, and it’s not a nice problem to find yourself in. You computer won’t boot, all your filesystem checks tell you you’ve a bad superblock, but you cant seem to find how to fix it. Well, here goes :)

This guide is for ext4 , though I’ll explain how other filesystems can be cured along the way. The easiest way to carry all this out, seeing as your computer probably won’t boot at this stage, is to download and burn a copy of Parted Magic. Boot from that, and you’ll access to a number of useful tools.

First, figure out what partition we’re dealing with.

1 sudo fdisk -l

The above will list all the partitions on all the drives in your computer. To recover a lost partition, your going to need Testdisk. Testdisk is included in Parted Magic, and there’s a great guide on their site. For this though, we just need the partition number, such as /dev/sda3 or /dev/hdb1.

Now, make sure your superblock is the problem, by starting a filesystem check, replacing xxx with your partition name. Here, you can change ext4 to ext3, or ext2 to suit the filesystem.

1 sudo fsck.ext4 -v /dev/xxx

If your superblock is corrupt, the output will look like this

01 fsck /dev/sda5
02 fsck 1.41.4 (27-Jan-2009)
03 e2fsck 1.41.4 (27-Jan-2009)
04 fsck.ext4: Group descriptors look bad... trying backup blocks...
05 fsck.ext4: Bad magic number in super-block while trying to open /dev/sda5
06
07 The superblock could not be read or does not describe a correct ext4
08 filesystem. If the device is valid and it really contains an ext4
09 filesystem (and not swap or ufs or something else), then the superblock
10 is corrupt, and you might try running e2fsck with an alternate superblock:
11 e2fsck -b 8193 &lt;device&gt;

Now lets find where your superblock backups are kept.

1 sudo mke2fs -n /dev/xxx

Down at the bottom of this output, should be a list of the backups

1 Superblock backups stored on blocks:
2 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Your almost there. Finally, restore the superblock from the backup, again replacing the x’s with your partition name, and block_number with the first backup superblock.

1 sudo e2fsck -b block_number /dev/xxx

Now reboot, and your superblock should be fixed. If it’s not, repeat the steps, but restore a different backup superblock :)

,


요즘 NAS 를 많이 사용하는데 Netdrive 로 연결하면 바로 스트리밍해서 볼 수 있는 장점이 있습니다.

그런데 Netdrive 를 ftp(port:21) 로 연결하면 속도가 느린 경우가 있더군요.

이럴 경우에는 Webdav 로 연결해 주면 속도가 빠릅니다.


1) NAS 에서 webdav 를 켜고 port 를 기억 (synology NAS 는 5005 port)
2) netdrive 옵션에서 ftp 를 webdav 로 바꿈
3) 한글 깨지는 문제를 해결하기 위해서 netdrive 의 advance 옵션에서 encording 을 UTF-8 로 변경


ftp 를 통한 netdrive 사용은 속도가 1.5M 를 못넘었는데 webdav 로 하니 5M 정도 나오는군요.
,


http://tor.whria.net

입니다. ^^

아래 검색엔진부분에 키워드를 넣고 아래 검색 site 를 클릭해도 됩니다.






,


1. 시스템 리소스를 많이 먹는 프로그램 삭제

대표적인 프로그램은 이스트 소프트의 알약, 알집, 알씨. 이것보다 낫지만 V3 도 microsoft 의 essentials 에 비해면 리소스를 많이 먹는다. 

2. ProcessExplorer 로 CPU 나 Memory 를 많이 점유하고 있는 프로그램 확인 & 삭제
 ProcessExplorer 는 아래에 첨부.

3. 제어판 -> 관리도구 -> 이벤트 뷰어 를 확인해서 에러가 난게 있나 확인. 에러가 나면 이를 해결하느라 지체되는 경우가 많다.

4. SSD 가 아닌 경우 디스크 조각 모음

5. 팬이 달린 부품에 먼지가 쌓이지 않았나 확인. 
,

이 글의 저작권은 CEnA에 있습니다. 퍼가실 때는 출처를 밝혀주세요.

Written by Inshane

불펌은 상관하지 않으나 내용 출처는 밝혀주시기 바랍니다. - CEnA

  

홍길1234동abc입!!_#니다

라는 문구가 있다고 했을때 해당 문구에서

 

홍길동입니다

1234

abc

!!_#

 

를 각각 추출해내는 함수이다.

euckr을 기준으로 작성된 함수이며 euckr에서는 한글 패턴의 추출이 어려운 관계로

UTF-8로 전환하여 변환하는 형태이다.

핵심은 1 한글,2 영문 ,4 숫자 ,8 특수기호로 명시하고 처리하는 식이다.

  

========= 내용 ==============

 

$msg = "홍길1234동abc입!!_#니다";

 

function getMsgArr($msg) {
   $convMsg = mb_convert_encoding($msg, "UTF-8", "EUC-KR");
   $resultArr = array();

 

   // 1: 한글
   $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[1] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 2: 영문
   $pattern = '/[a-zA-Z]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[2] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 4: 숫자
   $pattern = '/[0-9]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[4] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 8: 특수기호
   $pattern = '/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9a-zA-Z]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[8] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 3: 한글 + 영문
   $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}a-zA-Z]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[3] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 5: 한글 + 숫자
   $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[5] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 9: 한글 + 특수기호
   $pattern = '/[^0-9a-zA-Z]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[9] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 6: 영문 + 숫자
   $pattern = '/[0-9a-zA-Z]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[6] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 10: 영문 + 특수기호
   $pattern = '/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[10] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8"); 

 

   // 12: 숫자 + 특수기호
   $pattern = '/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}a-zA-Z]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[12] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 7: 한글 + 영문 + 숫자
   $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9a-zA-Z]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[7] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 11: 한글 + 영어 + 특수기호
   $pattern = '/[^0-9]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[11] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 14: 영문 + 숫자 + 특수기호
   $pattern = '/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[14] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 13: 한글 + 숫자 + 특수기호
   $pattern = '/[^a-zA-Z]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[13] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");

 

   // 15: 한글 + 영문 + 숫자 + 특수기호
   $resultArr[15] = $convMsg;

   return $resultArr;
  }

 

 

이 글의 저작권은 CEnA에 있습니다. 퍼가실 때는 출처를 밝혀주세요.
,

http://cdmanii.com/1535

에 있는 패치를 해보자.

패치를 하기전에 백신 프로그램을 꺼야 한다. hosts 파일을 바꾸기 때문에 바이러스로 의심을 받는다.
,

http://ninite.com/

위 site 에 들어가보면 거의 대부분 중요한 free software 가 들어있다.

installer 를 한번에 모아놓았기 때문에 설치도 금방한다.
,