모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    프로그래머님의
    개인페이지입니다
    가입 : 07-05-23
    방문 : 549회
    닉네임변경 이력
    회원차단
    회원차단해제
     

    프로그래머님의 댓글입니다.
    번호 제목 댓글날짜 추천/비공감 삭제
    437 원 게시글이 삭제되었습니다. [새창] 2015-08-19 21:00:11 1 삭제
    저도 그 글보면서 좀 이건 아니다 싶었어요

    내용은 재끼고 중간에 답변중에 비트연산으로 하는 재미난 댓글이 있어서 좀 보다가 댓글 남깁니다.

    문제의 답변 코드는 다음과 같은데요

    #include <stdio.h>
    int main()
    {
    int i, j;
    printf("-----n");
    for (i = 0x00477dc4, j = 0x01084210; i; i >>= 1, j >>= 1) {
    printf("%c%c", (i&1)*('*'-32) + 32, (j&1)*10);
    }
    printf("n");
    printf("-----n");
    return 0;
    }

    이 코드의 핵심은 글쓴이님께서 생각하신것처럼 비트 연산입니다. 중요한건 i 값과 j 값이죠

    먼저 ascii table 에서 * 은 10진수로 42, 스페이스는 32, 그리고 띄어쓰기는 10 입니다.

    저 for 문 안에 있는 printf 에서 하는일은 i값과 j 값의 가장 하위 비트를 보고 * 을 찍을건지 스페이스를 할건지 띄어쓰기를 할건지 결정을 합니다.

    결론적으로 printf 는 다음과 같은 순서로 동작합니다.
    (처음 맨 윗줄만 예를들면 다음과 같습니다.

    printf("%c%c", 0x20, 0x00); // 띄어쓰기
    printf("%c%c", 0x20, 0x00); // 띄어쓰기
    printf("%c%c", 0x3A, 0x00); // *
    printf("%c%c", 0x20, 0x00); // 띄어쓰기
    printf("%c%c", 0x20, 0x0a); // 띄어쓰기 + 한칸 띄기

    이렇게 되면 처음에 두칸 스페이스 , 별(*) , 두칸 스페이스 , 그리고 띄어쓰기가 완성됩니다.

    자세히 비트 연산을 통해 살펴 보면 먼저 i 는 0x00477dc4 인데 이를 하위 1바이트만 보면

    1 1 0 0 0 1 0 0 과 같이 되어 있습니다. 오른쪽부터 왼쪽으로 하나씩 가신다고 생각하시고 0 이면 띄어쓰기 1 이면 별을 찍습니다.

    마찬가지로 j 의 비트 연산을 보면

    0 0 0 1 0 0 0 0 과 같이 되어 있고 여기서 오른쪽부터 왼쪽으로 하나씩 간다고 생각하면 0 일때 아무것도 안찍고 1 일때는 한칸 띄어쓰기를 합니다.

    저도 초등학교때 이런문제를 본것 같은데 1 중 for문으로도 이렇게 풀리는게 신기하네요 ^^
    435 오늘자 홈팬들에게 기립박수 받은 추신수의 어시스트!! [새창] 2015-08-18 18:52:50 0 삭제
    GO ! CHOO !
    434 알고리즘은 영업비밀로 남겨놔도 되는가?? [새창] 2015-07-20 13:02:26 0 삭제
    참 재미있는 토픽인것 같습니다.

    아마 다양하게 찬반 의견이 나올 수 있는 것 같네요.

    저도 곰곰히 생각해 봣는데 어디까지 공개 하고 어떻게 공개 할지를 고민해보면 참 쉽지 않는 내용이네요 =)
    433 발코딩의 시대가 왔습니다. [새창] 2015-07-20 12:58:27 0 삭제
    저...저도 ... Function 키랑 텐키 없는걸로 ...
    432 원 게시글이 삭제되었습니다. [새창] 2015-07-20 12:56:32 0 삭제
    헬로 월드님 말씀에 키보드를 '탁!' 치고 갑니다.
    431 해외 취업 글이 많이 보여서 적어봅니다... [새창] 2015-07-20 12:54:47 0 삭제
    좋은 내용 감사합니다 ~ :-)
    430 SKT, IoT 해커톤 개최한다고 합니다. [새창] 2015-07-20 12:51:30 0 삭제
    뉴욬커 // 해커톤 자체는 굉장히 흥미로운 경험이 될 수 있는 좋은 기회 인것 같습니다. 한 번 도전해 보시고 경험을 기반으로 더 좋은 기회를 만드실수 있을것 같아요! 두려움은 떨쳐버리시고 일단 도전해보세요! 'ㅁ'/
    429 프로그래밍 언어란? - 6 [새창] 2015-07-20 12:48:19 0 삭제
    함수에 지역 변수가 꽤 존재한다면 재귀 함수를 은근히 조심하셔야 합니다.

    50 바이트 정도의 스택 프레임이 5000번 가량 재귀를 돌면 일반적인 스택 커밋 사이즈는 스택 오버플로우를 뱉습니다.
    (Vista 이상 윈도우 계산기 (공학용)에서 1/999 한 뒤, F-E 버튼을 누르면 스택 오버플로우가 발생하는 원리)

    inline 의 경우는 케바케 인것 같은데 일반적으로 작은 inline 을 만들경우 (전체 호출이 function call 시 발생되는 코드들 보다 작을 경우), 함수 호출에 대한 오버 해드를 줄일 수 있기 때문에 코드 사이즈가 줄어 드는 효과를 볼 수 있다고 하네요 :-)
    428 게임 프로그래머 되려면 게임 끊어야됨? [새창] 2015-07-20 12:25:07 0 삭제
    겜 프로그래머도 케바케 이긴 하지만 유명 게임 회사들은 고학력자들이 많습니다. (겜 프로그래밍책을 한번 참고해보시면 그 이유가 명확하죠 +_+)

    겜을 취미로 하셔도 커버 가능하시면 겜하셔도 상관은 없지만 제 생각엔 잠 잘시간은 있으시려나 모르겠어요 .... =_=
    427 안드로이드 개발자분들 궁금한게있습니다 [새창] 2015-07-20 12:21:21 0 삭제
    보통 제휴 업체 DB는 영업에서 관리를 하고 이를 편하게 하기 위한 인터페이스를 개발자들이 만들어 줍니다.

    규모에 따라 다르긴 하지만, 서버 1대로 위의 서비스를 만들려면 한 서버에 웹서버, DB 서버 등등이 올라가고

    앱에서 특정 URL 이나 특정 프로토콜을 이용하여 서버에 정보를 요청하고 받는 형식으로 합니다

    큰 그림은 질문자님께서 생각하시는게 맞는것 같습니다 'ㅅ'/ 화이팅~
    426 php] 가입시 이메일 인증 시스템 구축하기 (?) 질문 [새창] 2015-07-18 02:37:55 1 삭제
    잘 생각하신것 같아요 'ㅁ'

    마지막은 4-1만으로도 충분할것 같습니다.

    추가적으로 발급한 해쉬나 암호 url의 접근에 대한 expired time 잘 체크해주시면 될것 같아요 'ㅡ'/ 화이팅
    425 리버싱이나 크랙 전문가분 도움요청합니다. [새창] 2015-07-18 02:32:02 0 삭제
    타사 어플이나 랭킹 알고리즘 벤치 마킹 하시려고 하는건가요 ~_~

    검색 엔진들이 자주 랭킹 알고리즘을 바꿔서 힘들다고 들었는데 아직도 가능은 한가보네요
    424 여러분 제가 재미있는 암호화 문제를 가지고 왔습니다. [새창] 2015-07-18 02:25:23 0 삭제
    음 마지막에 인코딩 때문에 고생했네요....

    문제 마지막에 gzip을 복호화 한 뒤, 나온 깨진 인코딩을 한글로 복호화 했던 프로세스를 적으면 다음과 같습니다.

    1. notepad.exe 에서 마지막에 복호화한 바이트 코드를 넣으면 나오는 문자열을 복사합니다.
    2. notepad.exe 에서 새로운 파일을 만든 뒤, 한글을 몇 글자 넣고 ANSI로 저장합니다.
    3. 다른 에디터 (저는 sublime 2)에서 해당 파일을 읽으면 해당 한글이 깨져서 보입니다. 그 밑에 (1)에서 복사했던 문자열을 붙여 넣기 하고 저장합니다.
    4-1. 그리고 크롬에다가 파일을 드래그 해서 인코딩을 한글로 해주시거나
    4-2. 아래 파이썬 코드를 콘솔에서 실행하여 결과를 확인하실 수 있습니다.

    #-*- coding: utf-8 -*-
    print open('./result.txt', 'r').read()

    문제의 깨졋다고 생각하는 인코딩과 정상적으로 보이는 한글 인코딩의 차이는 한글의 1글자가 사용하는 바이트 수에 있습니다. 깨진 인코딩은 한글 1글자에 4바이트씩 할당이 되어 있고 우리가 일반적으로 쓰는 UTF-8 형식은 한 글자당 2바이트씩 표현을 하기 때문에 깨져서 보인겁니다. (한글은 2, 3, 4바이트를 문자의 특징에 따라 변경)

    제가 했던 방식도 꼼수를 이용한 것인데 혹시 좀더 명확하게 해결하신분 계시면 댓글 한 번 부탁드립니다.
    423 원 게시글이 삭제되었습니다. [새창] 2015-07-15 18:47:48 0 삭제
    리버싱 엔지니어링 이라고 완성품을 뜯어 보고 내부 구조를 이해 하는 방식이 있습니다.

    물론 컴퓨터, 해킹쪽에만 있는 용어는 아니고 메모리나 다른 분야에서도 많이 쓰이는 용어 입니다.

    컴퓨터쪽에서 리버싱 엔지니어링하는 것을 힘들게 하기 위해 프로그램 내에 더미 코드를 넣거나 안티 리버싱 기능을 넣어서 분석을 힘들게 하는 방법도 있습니다.



    [◀이전10개] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [다음10개▶]

     
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈