메뉴 건너뛰기

박영식 홈페이지

[독서] 코드 브레이커

suritam92022.07.25 16:37조회 수 17댓글 0

    • 글자 크기

한 2주 정도 교육청의 강남도서관에서 코드 브레이커를 읽었다.

 

재난 영화를 보면 과학자나 해결사의 일상을 보여주면서 사건이 일어나고 호출하는 방식으로 전개되는데 약간 비슷한 느낌의 서론으로 시작되었다.

 

이 책에서 다루는 인물은 2020년 노벨 화학상 수상자이다. 이를 모르고 읽다가 인물의 대담함이나 추진력에 대해 의아해 했는데, 후반부 수상자로 선정되는 대목에서 내용을 인터넷에서 찾아보게 만들었다.

 

기존의 코드(유전자 배열?)을 수정하여 의도한 대로 동작(?) 시키는 것이 코드 브레이커가 하는 일이다.

 

하지만 어떤 것이 윤리적으로 옳고 그른지 판단하는 것은 매우 어려운 일이다.

 

희귀병을 고치는 것, 근육을 늘리는 것, 지방을 줄이거나 심장의 기능을 강화시키는 것이 기준에 따라 악용될 소지가 있기 때문이다.

 

오랜만에 책을 읽으면서 연구자들의 작명 센스에 대해 언급하는 부분을 발견 하였다.

 

한 때, 한창 개발에 열을 올릴 때, 여러 기능을 활용하면서 기능과 사용되는 SW의 이름을 조합해 여러 스니펫을 제작하였다.

 

유전자 조작이나 각 마이크로 서비스를 만들며 조합하는 작업들은 이러한 공통점이 있다.

 

의도한 대로 동작하도록 짜맞추고 네이밍에 따라 새로운 의약품/백신/SW/서비스로 창출되는 것이다.

 

 

[숨이 죽다의 중의성]

채소를 소금으로 또는 끓이는 방식으로 숨을 죽이는 것은 사람이 기를 죽이거나 실제 생존하지 않는 듯하게 "숨을 죽이고"있는 것과 같다.

 

채소가 수분이 부족하여 숨이 죽어 있지만, 물기를 적당이 보충하면 숨이 다시 살아나게 할 수 있다.

 

물론 과도하게 숨이 죽었을 경우, 회생하지 못하는 것도 유사하다.

 

 

[어머니는 도서관을 불신하였다]

학창시절 여러 도서관을 순회하며 책을 빌려 보았다.

 

이자 없는 대출에 손을 댔던 것을 우려하신 탓일까, 공부하지 않고 책만 보는 나를 달갑게 여기지는 않았다.

 

아마도 교통비가 많이 나가서 그러하였을지도 모른다.

 

 

[오수재와 우영우]

대부분의 드라마는 초반에 직업이 부각되지만 2~3회를 지나면 러브라인으로 넘어간다.

 

우영우를 리뷰하는 변호사들의 이야기에 따르면 오수재는 직업에 대해 논할 시점은 지나갔다고 한다.

 

우영우도 러브라인을 타며 불편하게 하였다.

 

비밀의 숲처럼 거의 배제했어야 하는데, 마이 네임 처럼 오점을 남겼다.

 

 

[원로 멤버는 안전의 약속]

중년 배우가 영화나 드라마에 감초처럼 등장하는 이유는 늙어버린 관객을 잡기 위한 수단으로 보이다.

 

"또경영", "만년 조연"들이 반가울 때도 있지만 너무 자주 나오면 지겹다.

 

영화는 그렇다 치더라도 예능에 자주나오면 그건 반칙이다.

 

카메오 출연은 여러 관객을 포용하기 위한 가성비 좋은 선택이다.

 

 

[스낵타운을 보며 도전 정신에 감탄하다]

다들 안될 거라는 부정적인 생각이 도전을 짓누르지만, 그 많은 컨텐츠들의 주제가 다 비슷비슷하고 새로울 것이 없다.

 

틱톡이나 유튜브 컨텐츠의 99%는 모방, 커버 영상, 릴레이, XX챌린지 같은 따라하기에 지나지 않는다.

 

영화, 드라마도 기승전결의 사랑 타령이나 영웅이 나와서 지구를 구하는 내용이 99% 이다.

 

노래도 마찬가지이며 SW도 다르지 않다.

 

같더라도 다르므로 도전하는 삶을 이어가자.

 

 

    • 글자 크기

댓글 달기

[visual c] precompiled header error 처리

[원문보기]
Visual Studio 2010 beta 2를 설치했는데, C를 위한 프로젝트 생성 메뉴가 없어서 C++로 생성했다.


Error 1 error C1859: 'Debugtest3.pch' unexpected precompiled header error, simply rerunning the compiler might fix this problem c:userskistidocumentsvisual studio 2010projectstest3test3test3.cpp 4 1 test3

 
위와 같은 error가 발생하면, Project의 properties에서 C/C++ Precompiled Headers 옵션을 Not Using Precompiled Headers로 바꿔준다.


역시 C는 잘 지원되긴 하지만, 뭔가 걸리적 거리는 설정이 있다. MS 녀석들... ㅋㅋ

[수학] 나의 생년월일은 소수로 되어있다.

[원문보기]
83, 7, 13 은 소수이다.
1983은 물론 소수가 아니다. 830713도 소수는 아니다.

"무한 공간의 왕"이란 책을 읽다가 문득 떠오른 것이다. 평소 수학에 관심이 많았으나, 이제야 이를 발견하다니 늦은 듯 하다.
도널드 콕세터라는 수학자를 알게되어 기쁘다.
그런데, 그 책의 "whitout geometry life is pointless"가 렌터카 광고 카피로 쓰인 이유는 아직도 모르겠다.

네이버 안부게시판에 이재율님이 4색정리와 페르마의 마지막정리를 증명한 논문에 대해 언급했는데, 이해할 수 없다. 시간이 해결해 주려나?

[상장] 다독자선정

[원문보기]
평소 도서관을 성실이 이용하였다.

[킷캣] 안드로이드는 SD 카드 접근을 불허한다.

[원문보기]

허니콤, ICS 때 부터 외장 SD 카드에 대한 엑세스를 허용하지 않았다고 한다.


그런데, 국내 제조사들은 이를 무시하고, SD 카드를 마음대로 사용할 수 있게 허용해 어플들이 자유롭게 개발되었다.


하지만, 지금은 안드로이드의 정책에 의해 SD 카드 사용 권한을 변경할 경우 판매를 할 수 없도록 했다고 한다.


킷캣이 전환점인데, 삼성도 이를 따르고 있다고 한다.


완전히 사용 못 하는 건 아니고, 외부 메모리카드의 제한된 영역(어플 전용 영역)에 대한 엑세스는 가능하나, 파일 탐색기 처럼 전체를 접근하는 건 허용되지 않는다고 한다.


어플에서는 정책과 제공하는 메서드를 이용해 개발하면 되겠지만, 한쪽에서는 큰 문제가 될 수 있다.


SD카드 관리 전용 앱과 OTG.


OTG는 손쉽게 이용할 수 있는 스마트 폰용 메모리라 할 수 있는데, 외부 메모리로 인식되므로 이를 사용할 수 없다는 것이다.


아직은 많이 퍼지지 않은 것 같은데, OTG를 사용하지 못할 수도 있다. 구글이 구글 클라우드를 이용하도록 하려는 정책이라하는데, 정확한 건 알 수 없다.


왜 그랬을까?


http://open2world.tistory.com/301


http://googledevkr.blogspot.kr/2014/01/no-writing-to-secondary-storage.html


안드로이드 킷캣 부터는 어플리케이션에 특화된 디렉토리의 경우에는 권한 요청 없이 자유롭게 파일을 읽고 쓸 수 있도록 허용하는 동시에 그 외 다른 경로에는 파일을 쓸 수 없도록 제한되었습니다. 앱은 자신에게 할당된 디렉토리를 활용하여 데이터를 저장할 수 있고, 이와 동시에 시스템은 앱이 삭제될 때 앱과 연관있는 파일을 판단하고 이를 모두 삭제할 수 있게 되었습니다.


라고도 하는데, 어떤 파급을 줄지는 지켜봐야 할 것이다.

[codility] 비도 오고 더럽게 우울하다(4월 19일 글 복구)

[원문보기]

문제 풀이 환경을 제공하는 사이트로 codility를 알게되었다.


개구리가 우는 이유는 청개구리가 비오는 곳에 그들을 묻어서 라고 하던가?


첫번째 문제는 뛸 수 있는 거리(D)가 정해져 있고, 시작거리(X)에서 출발할 때, 몇 번(R) 되어야 종료거리(Y)를 넘을 수 있는가를 묻는다.


영어로 되어 있어서 잘 이해가 가지 않아, 역시 PHP 로 걍 해보다가 답을 보았다.


C언어로 된 답은 그리 간결하지 않다. 이를 PHP로 바꿔서 했더니, 정수가 안 나온다고 해서, 리턴 값을 보니, 2.5다.


C언어에는 타입이 정해져 있어서, 자동 반올림(? 올림일 가능성이 제기됨)되어 정수로 리턴해 줘서 문제가 없었던 듯.


암튼 PHP 로 고치면 아래와 같다.


function solution($X, $Y, $D) {

     $r=0;


        if($Y>$X)

        {   

            $r=($Y-$X)/$D;

            $r=floor($r);

            if(($X+($r*$D)) < $Y)

                $r++;

        }


        return intval(floor($r));

}


먼저 도달해야하는 곳(Y)이 시작점(X) 보다 뒤에 있는지 확인하고, 몇 번 뛰어야 하는지 계산한다.


예제 케이스를 넣어보면 첫번째 R은 2.5이다.

두번째 조건문은 85<80 이므로 거짓이어서 반올림 값만 적용되어 3이 나온다.


두번째 조건문이 왜 필요할까?

그건 첫번째 R에서 동일한 숫자가 나오면 ROAD를 벗어나는게 아닌, 걸치기(?) 때문이다.(글을 정리하면서 이해하게 되었다.)


그런 예라면, 시작 점(X)이 5라고 한 값을 보자.


첫번째 값은 2.666666 이고, 두번째 조건문이 80.0000001 이라 영향을 안 줄 듯.


윽... 이상하다. 두번째 조건문을 주석처리하고 테스트 케이스를 바꿔도 답이 맞는다.


그건 아니고, 테스트 케이스 값이 무엇이다만 리턴하는 듯.


그래서 처음에는 round인 줄 알았는데, 이러면 안 된다. 그래서 floor로 고쳤다.


제출 결과 어떤 테스트 케이스를 넣었는지는 모르겠지만, 통과했다.


나도 그 선을 넘고 싶다. 그런데, 세상은 올림과 반올림은 인정하지 않고, 버림아니면, 마이너스 밖에 없겠지.


https://codility.com/demo/results/demoTZD8DM-38J/


테스트 케이스의 답만 리턴할 것이 아니라, 가부 여부도 알려줘야 한다고 생각한다.


두번째 문제도 풀었다. 처음에는 바보 같이 존재하는 숫자를 순차대로 찾아서 배열에서 소거하려 했는데, 이게 아닌 연속되는 자연수의 합 원리를 이용하면 되는 거였다. 배열 총합을 빠진 숫자까지의 수열 합에서 빼면 누락된 수가 나온다.

https://codility.com/demo/results/demoNF4Q3B-A48/


3번 문제는 특정 부분을 잘랐을 때, 좌측부분의 합과 우측부분의 합의 차를 구하는 문제이다. 어려운 문제는 아닌데, 문제가 이해가 안 가서 이제야 적어놓는다.

[qt] qt 프로그래밍을 배우기 시작했다.

[원문보기]

 qt creator는 apt-get으로 설치가 안 된다.(2010년 2월 10일 기준)

http://qt.nokia.com/downloads 에서 LGPL을 누르고, 각 OS에 맞는 설치 파일을 다운로드한다.

Ubutu 8.4에서는 일반 linux 파일을 받아서, 실행권한 주고(설명에 나온대로) 따라하면 된다.


기타 라이브러리는 시냅틱 관리자나 

$ sudo apt-get install libqt4-core
$ sudo apt-get install libqt4-debug
$ sudo apt-get install libqt4-dev
$ sudo apt-get install libqt4-gui
$ sudo apt-get install qt4-designer
$ sudo apt-get install qt4-dev-tools
$ sudo apt-get install qt4-doc


위의 명령어를 입력하면 된다.

[accept] Visualization and Structure Analysis for Efficient XML Design

[원문보기]
해외 컨퍼런스에 제출한 논문의 Acceptance가 왔다.

컨퍼런스의 수준이 어느 정도인지 모르겠지만, 상당히 축하할만한 일이다!

[visio] 순서도-dijstra 알고리즘

[원문보기]
변수 초기화 과정은 없다.

- visio는 순서도 및 여러 프로젝트 설계에 관한 일정, 조직도 등을 쉽게 표현할 수 있는 툴이다."

[논문] IEEE Xplore에서 검색되는 논문

[원문보기]

Visualization and structure analysis for efficient XML
 
.Pak, Yeongsik ; Kim, Byunggi ;
School of Computing, Soongsil University, Seoul, Korea


This paper appears in:  Electronics and Information Engineering (ICEIE), 2010 International Conference On
Issue Date :  1-3 Aug. 2010
Volume :  1
On page(s): V1-44 - V1-49
Location: Kyoto, Japan
Print ISBN: 978-1-4244-7679-4
Digital Object Identifier :  10.1109/ICEIE.2010.5559835
Date of Current Version :   02 9월 2010

Abstract
XML is extensible data format and used in various areas. Thus it is proposed by independent criteria and updated frequently. But structures designed without explicit guidelines decrease dependencies in the future extension and efficiencies of parsing program. In this paper we study general structure and suggest direction for designs of efficient structures based on the relation between parsing time and complexity. We use parser for structure analysis, and propose visualization method using Cascade Style Sheet (CSS). Proposed method will provide structure analysis function for XML format designing continuously, and identify efficient structures.
http://ieeexplore.ieee.org/search/searchresult.jsp?searchWithin=Authors:.QT.Pak, Yeongsik.QT.&newsearch=partialPref

[리뷰] 1000 달성

[원문보기]
 기록된 리뷰의 수가 1000을 기록했다.

2006년 9월 8일부터 2010년 4월 17일. 기록에 의한 것이고, 누락된 것도 있으니, 4월 8일로 치면, 4년 7개월, 55개월이고, 날짜로는 1310일 정도 된다. 네이버 리뷰 작성 체계가 바뀌면서 다른데로 옮길까 하는데, 끌리는데가 없다. 좀 더 찾아봐야 할 듯.
이전 1 2 3 4 5 6 7 8 9 10... 76다음
첨부 (1)
1000.PNG
179.5KB / Download 93
위로