원래 시ㅋ망ㅋ한 블로그지만...

1월 19일 입대일이 다가옵니다. ㅇ<-<

여러분 모두 몇달뒤에 봅시다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2010/01/16 20:12 2010/01/16 20:12
TAG

댓글을 달아 주세요

  1. 클리블랜드 2010/07/19 05:29  댓글주소  수정/삭제  댓글쓰기

    (핫뉴스)발기부전 남성들의 수명단축및 당뇨,뇌졸증의 위험이 50%이상 증가합니다
    "MSN 메인 홈에 (2009.12.6)"

    **미국 클리블랜드에서 세계최초로 30분대 초기발기력/80시간 효과지속 발기부전제 제조 공급"

    ■발*기력과 강*직률을 3배 이상 증가!! 강력한 즉*효성 (30분내)
    ■기회를 놓치지 마십시오! 당신을 반드시 폭발시킵니다!
    013-0298-1495
    한글문자가능/ 한국에서 시내요금)
    ■하룻밤에 7번이 불가능 한가요? 아니요. 가능합니다!!
    -지금 보다 2, 3 인치 커지기가 불가능 한가요? 충분히 가능합니다!
    -100% 천연 생*약성분, 부작용 없이 3일간 효력 지속!!
    ■한국인 체질에 맞는 허브 고농축 성*기능 강*화 제품 (미국FDA분류)
    -초강력 새벽 발#기 가능!! 30분 이내 발#기 강력 유지!! *부작용 제로!!
    013-0298-1495한글문자가능/ 한국에서 시내요금)
    ■폭발적 오*르*가즘, 더 이상 남의 얘기가 될 수 없습니다!!
    한국내 최저가/ 발기력,강직성 최고
    15정10만원
    23정13만원
    34정18만원(은행잎 추출물 20일분 무료제공)
    52정25만원(은행잎 추출물 30일분 무료제공)

    ■■■■ 은행잎 추출물 120mg을 아침 저녁으로 2회 복용과 동시에 3일에 허브발기부전제 1정을 복용하여
    당뇨환자를 비롯하여 모든 경우의 발기부전자들에게 확실한 효과를 가져다 주고 있읍니다




    ■■■■ 복용자들의 체험담 ■■■■
    !. 불임 10년만에 얻은 꿈같은 내 아이를 !! ( 38세 )
    2009/09/06 (08:31)
    작성자 : 문경 돌쇠네 조회수 : 55
    결혼 10년만에 임신!! 5개월째!!
    결혼후 10년만에 아들을 얻었읍니다
    감격스럽습니다
    38살입니다
    ***를 안지 6개월이 돼 갑니다
    처음에는 정말 안믿는 맘으로 긴가민가?
    너무 속아서..
    그렇다고 발기가 완전히 안되는것도 아닌데..
    물론 몸도 약하고 회사 작업환경이
    유해환경이라서 아이가 안생긴다고..
    2. 너무 쎈데 이거 갠찬나요? (61세)
    2009/09/14 (13:13)
    작성자 : 해바라기 (fghjklsd@nate.com) 조회수 : 108
    샘플/ 빳빳한게 좋은데
    새벽에 소식오는게
    너무 쎈데 이거 갠찬나요?
    내가 나이가 61인대
    무슨 문제가 있는거 아인가요?
    적당한게 조은대
    겁시나서요 ...
    3.?아지는데 주체를 못하겠데여 (41세)
    2009/09/19 (10:03)
    작성자 : 누리꾼 (dgfsjkyut1@hotmail.com) 조회수 : 110
    지난주 구입한 골드쓰는데
    부드러우면서도 1시간 지나자
    쏱아지는데 주체를 못하겠데여
    아직 40초반인데 벌써 3년째 발기부전을 겪는지라
    안겪어 본 사람은 몰라요
    진짜 먹고 싶은 떡 앞에 두고 못먹는 심정
    진짜 말로 못하지요 .....
    4.아직도 벌렁벌렁!! (54세)
    2009/10/26 (13:12)
    작성자 : 돌팔이 조회수 : 78
    와이리 아렛도리가 아직도 벌렁거리노?
    이거 무슨 성분 들어 있읍니까?
    정확히 어제 밤 11시반에 먹고
    행사는 12시반 경에 치뤘는데
    한번 하고도 안죽어서
    1시간 이따가 또 올라갔더니만
    또 되데 ....
    5.거실에 나와서 진정시키느라고 팔 ?혀 펴기 10번 하는데
    도저히 안죽어요 (46세)
    2009/10/19 (11:53)
    작성자 : 구름따라 조회수 : 67
    정확히 40분있으니께 발동이 걸리는지 느른하게 아래동네가 뻐근^^
    따스한 온기가 순간 거시기하게^^
    기냥 자는 ** 기습 공격^^
    내리치는데 음메 팍팍 코쳐서리
    길게 가데예
    한10분여 했을까?
    아참 내일 출근이제?
    기냥 자려는데!!
    죽어도 잠이 안오길래
    꼬냑 한 잔 때리고'잠을 청하는데
    잠깐 눈 붙였을까?
    뭔가 꿈에 아랬동네가 뻐근해서 잠이 확 깼느데? .....
    (013-0298-1495한글문자가능/ 한국에서 시내요금)

    부작용 제로!!
    발.기.부.전에 획기적인치유력!!
    30분이내 직효성 발.기/ 4일간 지속효과!!
    조루 치료!!

    노인성및환경성등 모든 발.기.부.전에 획기적인치유력!!
    1천여명의 검증결과 확실한 효과보장!!

    문자로 성함과주소 함께 주문해주세요 바로 1시간이내에 전화연락드립니다.

    013-0298-1495 문자요금은 국내 요금과 같습니다. 부담갖지마세요^^

    **판매를 원하신다구요? 지원해 드립니다..연락주세요"

College of Engineering과 Microsoft간의 MSDNAA (MSDN Academic Alliance) Program을 통해서 무려 공짜정식 버전을 미리 구할 수 있었던 관계로, 기회를 놓치기가 아까워서 한번 깔아봤습니다.

시스템 정보

아니나 다를까, X1600이 발목을 잡는다. 점수를 3점대로 끌어내린 주범은 바로 X1600.



DirectX Diagnostics Tool

DirectX 11. X1600이 Direct3D 9 하드웨어인 관계로, D3D 11의 기능 중 테셀레이션 등은 지원하지 못한다.



감상은 한마디로 이거 물건입니다. 3년된 1세대 MacBook Pro 인데, 이 사양으로 이렇게 부드럽게 돌아간다는게 -_-; 부팅시간도 XP랑 별반 차이없는거같고... 오히려 반응은 더 부드러운듯. 비스타는 도저히 돌릴 엄두도 못냈는데 말입니다.

결론: 고사양 환경에서는 비스타랑 별반 차이없어도 중저사양에서는 차이가 크다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2009/09/16 01:28 2009/09/16 01:28

댓글을 달아 주세요

floating-point arithmetic의 오차 때문에, 누적시킬수록 오차가 커지는 문제를 해결하기 위하여 작성해 보았습니다. Value-type이므로 편하게 쓰시면 됩니다.

    struct Fraction
    {       
        private int numerator;
        private int denominator;

        public int Numerator { get { return numerator; } }
        public int Denominator { get { return denominator; } }

        public Fraction(int num) : this()
        {
            this.SetValue(num);
        }

        public Fraction(int numerator, int denominator) : this()
        {
            this.SetValue(numerator, denominator);           
        }

        // note that the change is irreversible.
        public static implicit operator float(Fraction f)
        {
            return (float)f.numerator / f.denominator;
        }

        public static implicit operator double(Fraction f)
        {
            return (double)f.numerator / f.denominator;
        }

        public static implicit operator Fraction(int i)
        {
            return new Fraction(i);
        }

        public static Fraction operator +(Fraction a, Fraction b)
        {
            return new Fraction(
                a.numerator * b.denominator + b.numerator * a.denominator,
                a.denominator * b.denominator);
        }

        public static Fraction operator -(Fraction a, Fraction b)
        {
            return new Fraction(
                a.numerator * b.denominator - b.numerator * a.denominator,
                a.denominator * b.denominator);
        }

        public static Fraction operator *(Fraction a, Fraction b)
        {
            return new Fraction(
                a.numerator * b.numerator,
                a.denominator * b.denominator);
        }

        public static Fraction operator /(Fraction a, Fraction b)
        {
            return new Fraction(
                a.numerator * b.denominator,
                a.denominator * b.numerator);
        }

        public void SetValue(int num)
        {
            this.numerator = num;
            this.denominator = 1;
        }

        public void SetValue(int numerator, int denominator)
        {
            this.numerator = numerator;
            this.denominator = denominator;

            Reduce();
        }

        private void Reduce()
        {
            // get GCD with Euclidean algorithm
            int a = Math.Abs(this.numerator);
            int b = Math.Abs(this.denominator);
            int temp;

            while (b != 0)
            {
                temp = a % b;
                a = b;                 
                b = temp;
            }

            this.numerator /= a;
            this.denominator /= a;
        }

        public Fraction Reciprocal()
        {
            return new Fraction(denominator, numerator);
        }

        public override string ToString()
        {
            double value = this;
            if (value == (int)value)
                return ""+value;

            return numerator+"/"+denominator;
        }

크리에이티브 커먼즈 라이센스
Creative Commons License
2009/01/04 23:27 2009/01/04 23:27

댓글을 달아 주세요

얼마 전부터 일부 트레이 아이콘이 표시됐다가 되지 않았다가 하더군요. msconfig로 시작프로그램을 조절해보면서 하루를 삽질했는데, 도저히 차도가 보이질 않았습니다.

최후의 수단으로 구글링을 하길 3시간, 키워드를 바꿔가면서 검색하던 중 하나의 자료를 찾았으니...

바로 SSDP Discovery Service 서비스를 비활성화하는 것입니다. 효과가 없는 경우 Universal Plug and Play Device Host에도 시도해 보세요. UPnP는 Plug and Play와는 관계가 없는 네트워크 관련 프로토콜입니다.
단, UPnP 장비를 사용하시는 경우에는 이 방법을 적용하시면 안 됩니다.

관련 Knowledge Base: http://support.microsoft.com/kb/841571/

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/12/17 11:33 2008/12/17 11:33

댓글을 달아 주세요

문득 떠올라서 적어봅니다.

필요조건: 관계형 데이터베이스

1. session id, unique id, expired 여부를 저장할 테이블을 만듭니다.
2. 글쓰기 요청시 각 session id에 대응하는 레코드를 만들고 unique id를 생성, 저장 후 글쓰기 페이지에 hidden attribute로 보냅니다.
3. 글이 POST될 때 해당 세션과 unique id로 AND 검색을 통해 레코드를 확인합니다. 일치하는 레코드가 존재하지 않거나 expired가 참이면 에러를 띄우고 돌려보냅니다.
4. 글을 등록하고 expired 필드의 값을 참으로 설정합니다.
 
submit 버튼을 여러번 클릭할 경우, POST로 날아오는 unique id가 동일하기 때문에 expired 된 글쓰기 세션은 사용할 수가 없게됩니다.

부가적으로는 글쓰기 페이지를 받아서 파싱하는 것은 어쩔 수 없겠지만 단순 자동 글쓰기 툴 정도는 차단할 수 있습니다.

발생할 수 있는 문제점: 레코드가 쌓여 table의 크기가 너무 커질 수 있음
해결 방안:
발급 일시에 대한 컬럼을 추가하고
1. maintenance script를 통한 주기적 정리
2. 익명 글쓰기를 허용하지 않는 경우 사용자 id 컬럼을 추가하여 처리

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/12/04 21:24 2008/12/04 21:24

댓글을 달아 주세요

MacBook Pro HDD 교체.

애플 2008/09/12 19:26
갓 1세대 MacBook Pro의 Seagate Momentus 5400.2 (80GB S-ATA) 드라이브를 Seagate Momentus 5400.5 (320GB S-ATA 2) 드라이브로 교체했습니다.

작업 과정은 구글에 MBP HDD replacement 등의 키워드로 검색해보시면 손쉽게 찾으실 수 있습니다. 한글로 번역된 자료도 잘 찾아보면 있을 겁니다.

사실 교체하게 된 계기는 Boot Camp 2.1 드라이버 깔다가 윈도즈가 맛이 가서, 다시 깔 겸 하기로 하고 320GB 하드를 지르게 된 것입니다. 요즘은 하드 값이 많이 떨어져서 8만 6천원밖에 안 하더군요. 어차피 1년짜리 워런티는 작년에 만료되었으니 겁없이 뜯었습니다.

다시 조립을 마치고 SuperDuper!로 파티션을 복구하는 중입니다. 전체적으로 별 문제는 없었으나, 팜레스트 쪽 분리하는 것과 다시 조립하는 부분이 조금 힘들었습니다. 안 그래도 케이스가 약간 찌그러진 부분도 있고, 다소 유격이 발생하는지라 좀 힘들더군요. 원래 뜯은 겸 찌그러진 부분을 펼까 생각했습니다만, 외부 케이스에 밀착되어 부품이 빼곡히 자리하고 있어서 포기했습니다.

80GB (74.5GB) 파티션을 2개로 쪼개서 겨우 연명하던 신세에서 드디어 탈출이라니 정말 기쁩니다. 이제 용량때문에 생고생은 하지 않아도 될 것 같습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/09/12 19:26 2008/09/12 19:26

댓글을 달아 주세요

 

사용자 삽입 이미지


보시다시피 결과를 보면 아무 의미 없습니다.
오차의 크기를 봐도 도저히 차이가 있다고 생각할 수가 없습니다.
1천만번의 평균을 냈는데도 실행시마다 어느쪽이 빠른지 결과가 다릅니다.
사실 요즘은 컴퓨터가 하도 빨라져서 곱셈과 비트연산의 속도차는 티도 안 납니다.
함수 호출하고 포문 돌리면서 발생하는 오버헤드가 더 크다고 생각되네요.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/04/13 23:56 2008/04/13 23:56

댓글을 달아 주세요

  1. 홍민희 2008/12/02 16:29  댓글주소  수정/삭제  댓글쓰기

    사실 저런 수준의 코드 최적화를 손으로 하는 것이야 말로 정말 미련한 짓인데… 실제 컴파일된 결과를 보면 알겠지만, 요즘 컴파일러들은 정수에 대한 곱셈 연산을 내부적으로 shift 곱으로 바꿔버리기 때문. 즉 양쪽 모두 동일한 바이너리를 가지고 있을 거야.

어이없는 favicon

잡담 2008/03/13 10:09

동아리 홈페이지에 favicon이 나오지 않길래 1시간동안 삽질했습니다.
그냥 아이콘 경로에 www 붙이니까 나오네요.
OMG [..]

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/03/13 10:09 2008/03/13 10:09

댓글을 달아 주세요

  1. shizuha 2008/03/16 23:08  댓글주소  수정/삭제  댓글쓰기

    1시간 삽질 ㅊㅋㅊㅋ <-

동아리 서적 신청할 거 보러 따라갔다가 눈에 띄길래 냉큼 질러버렸습니다.
포츈 아테리얼 쿠제 키리하 쁘띠 피규어가 들어있네요.
전격히메처럼 19금 잡지가 아니다보니 엣찌한건 상반신 노출씬 한장밖에 못찾았습니다. (사실 찾은게 더 신기합니다)
사실 갖고싶은건 전격히메지만, 돈들어가는것도 그렇고 19금이라 집에 놓을데도 없고 ㅠㅠ
사진은 디카도 없는데다 폰카로 찍기도 귀찮고 표지는 홈페이지 가면 있으니 귀찮아서 안올릴랍니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/03/05 20:54 2008/03/05 20:54

댓글을 달아 주세요

  1. shizuha 2008/03/16 23:14  댓글주소  수정/삭제  댓글쓰기

    전격히메를 갖고 싶은 이유는?? ㄹㄹ

10시쯤에 문자가 와서 방과후에 바로 받으러 갔다 왔습니다.
접수증 확인하고 금방 주더군요.
두 겹 포장을 벗기고 뒷면에 꽂으니까 사용시간이 4시간 가까이 뜨네요.
실사용시간은 3시간쯤 예상하고 있습니다.

P.S: 가서 애플TV 실물을 봤습니다. iTMS도 movie rental도 안되는 애플티비는 50만원짜리 DivX밖에 안되지 않나 싶은데 [..]
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/03/04 20:49 2008/03/04 20:49

댓글을 달아 주세요