반응형

예전부터 한번 읽어보고 싶은 책이었는데, 드디어 읽었다.

생각보다도 재밌고 흥미진진한 내용이었다.

모모라는 어린아이와 그 주변의 여러 친구들의 이야기로 시작해서,

시간을 훔치고 그걸로 먹고 사는 회색 신사들이 등장하고

회색 신사들의 음모로부터 세상을 지켜내는 모모의 활약상이 전개된다.

 

모모의 친구인 이야기꾼 기기가 지어내는 이야기는 그 자체로도 하나의 동화같은데,

지구를 복제한 폭군 이야기가 특히 재밌었고, 거울공주 이야기도 재밌었다.

회색 신사들의 존재와 그들의 영업전술에 넘어가는 어른들의 모습은,

효율성을 중시하고 시간관리를 하다 보니

오히려 더 많이 바빠지고 더 욕심부리게 되고,결국 소중한 것들을 잃어버리게 되는

현대인의 삶을 그대로 보여준다.

그래서 결국 작품에서는 세상이 끝장나기 일보직전까지 간다.

시간을 통째로 장악하고 통제하려는 회색 신사들의 계략이 거의 성공할 뻔 한 것이다.

하지만, 시간의 창조와 분배를 관리하고 있는 호라 박사와

신비한 거북 카시오페이아의 도움으로

회색 신사들의 본부에 가서 회색 신사들을 모두 물리치고 시간금고를 열어,

도둑맞은 시간들을 다시 원래의 주인들에게 돌려준다.

그러면서, 시간을 되찾은 사람들은 잃어버린 마음의 여유 또한 되찾는다.

 

같은 시간을 살지만, 마음 상태에 따라 시간은

급하게 흐르기도 하고 천천히 흐르기도하며,

의미있는 시간이 되기도 하고 공허한 시간이 되기도 한다.

더 나은 삶을 살겠다고 하면서 자꾸만 시간을 쪼개고 자투리 시간을 없애다 보면,

어느 순간 마음의 여유를 잃어버리고, 결국 시간을 잃을 수 있다.

시간관리의 역설이고 많은 사람들이 느끼지만.

막상 원인이 무언지, 어떻게 해결하지 잘 모를 수 있다.

한마디로 말할 수 있는 해결책이 있을 수는 없지만,

이 책을 읽으면서, 모모와 함께 여행하면서

왜 그런지, 어떻게 해결할 수 있는지 생각해 볼 수 있다.

 

미하엘 엔데의 또다른 작품으로는,

영화로도 개봉된 '네버엔딩스토리' 등이 있다.

다음에 다른 작품도 읽어봐야겠다.

반응형
반응형

Node.js를 서버에 설치하는 방법은 여러가지가 있는데,

그중에서도 인터넷이 되지 않는 서버에 Node.js를 설치하는 과정을 기록해 본다.

 

그 과정은, 크게 두가지로 나눌 수 있을 것이다.

- Linux Binaries 파일 압축 풀기

- 경로 설정

 

다음 사이트 내용을 참고하여 진행하였다.

https://github.com/nodejs/help/wiki/Installation

 

nodejs/help

:sparkles: Need help with Node.js? File an Issue here. :rocket: - nodejs/help

github.com

 

다음과 같은 단계로 진행한다.

1. Linux Binaries 파일 다운로드

https://nodejs.org/en/download/

 

Download | Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

인터넷이 되는 PC에서, 위 사이트로부터 환경에 맞는 파일을 다운로드한다.

내 경우에는, Linux Binaries (x64)를 다운로드하였다.

 

2. Linux Binaries 파일 Linux 서버에 전송

FTP를 통해, 다운로드한 파일을 Linux 서버에 전송한다.

내 경우에는, Linux서버의 /usr/local/lib에 src라는 폴더를 만든 다음,

chmod를 써서 FTP로 업로드할 수 있도록 권한을 변경한 후에,

su -
mkdir -p /usr/local/lib/src
chmod 777 /usr/local/lib/src

FTP프로그램을 써서 해당 폴더에 업로드하였다.

 

3. 압축 해제

mkdir -p /usr/local/lib/nodejs
tar -xJvf /usr/local/lib/src/node-v10.16.0-linux-x64.tar.xz -C /usr/local/lib/nodejs

 

4. 경로 설정

su가 아닌 일반 유저 상태로 전환 후, 다음과 같이 vi 에디터를 열고,

exit
vi ~/.profile

다음 내용을 추가한 다음 저장하고,

# Nodejs
VERSION=v10.16.0
DISTRO=linux-x64
export PATH=/usr/local/lib/nodejs/node-v10.16.0-linux-x64/bin:$PATH

다음 명령어를 통해 profile을 업데이트함

. ~/.profile

 

5. 다음 명령어를 통해 install이 잘 되었는지 확인

node -v
npm version
npx -v

 

사실상, 일부를 제외하곤 https://github.com/nodejs/help/wiki/Installation의 내용을 그대로 따라하였다.

 

 

반응형
반응형

사람들에게 나무를 그려보라고 하면,

그리는 사람에 따라 정말 다양한 나무 그림이 나올 것이다.

HTML5를 통해 나무를 그리는 것 역시, 다양한 결과물이 나온다.

 

DEMO

 

WaysToDrawTree

Demonstration of various ways to draw tree in HTML5

truemaxdh.github.io

SOURCE

 

truemaxdh/WaysToDrawTree

Demonstration of various ways to draw tree in HTML5 - truemaxdh/WaysToDrawTree

github.com

1. 겨울나무

 

https://truemaxdh.github.io/WaysToDrawTree/Tree1.html

 

truemaxdh.github.io

2. 여름나무

 

https://truemaxdh.github.io/WaysToDrawTree/Tree2.html

 

truemaxdh.github.io

3. 조금 더 그럴싸한 여름나무

 

https://truemaxdh.github.io/WaysToDrawTree/Tree3.html

 

truemaxdh.github.io

4. 조금 더 그럴싸한 여름나무2

 

https://truemaxdh.github.io/WaysToDrawTree/Tree4.html

 

truemaxdh.github.io

 

그밖에 참고할 만한 링크

https://gist.github.com/gsluthra/3401766

 

Fractal Tree Generation using HTML5 Canvas and Random Numbers

Fractal Tree Generation using HTML5 Canvas and Random Numbers - tree_html5.html

gist.github.com

https://www.codediesel.com/javascript/drawing-trees-in-canvas/

 

Drawing Trees in Canvas - codediesel

Lately I’ve been experimenting with the new HTML5 Canvas element, and the best way to learn some new technology is to create something in it. For some time I’ve been dabbling in Processing and thought of porting some algorithms there in Canvas. Rather than

www.codediesel.com

https://github.com/PavlyukVadim

 

PavlyukVadim - Overview

PavlyukVadim has 37 repositories available. Follow their code on GitHub.

github.com

 

그리고, 이것도 있다.

FFF(Form Follows Function) - Plant Tree

 

Form Follows Function

FFF is a collection of interactive experiences. Each experience has its own unique design and functionality.

fff.cmiscm.com

HTML5로 나무를 그리는 방법은, 

기본적으로는 CANVAS 및 재귀함수를 사용하여 그린다는 공통점이 있다.

하지만, 여기에 각자의 차이점들이 더해지면서,

실로 다양한 그림이 나올 수 있다는 것을 느꼈다.

그 차이점은, 프로그래밍 지식이나 스타일에 국한되지 않고,

사물에 대한 지식, 미적 감각, 관찰력, 상상력 및 창의성 등 다양한 분야에서 드러난다.

단순히 나무를 그리는 작업도, 생각보다 재밌는 놀이가 될 수 있다.

'놀이'(Play)라는 관점으로 접근하면, 많은 일들이 재밌어질 수 있을 것이다.

 

반응형
반응형

웹사이트나 기타 개발 작업 중에,

한글이 깨지는 문제는 종종 발생하는 것 같다.

지금까지 문제없이 운영되던 사이트에서도,

몇가지 운영 환경이 변경되거나 관련 소스가 변경되는 경우

한글 깨짐 문제가 발생할 수 있다.

애초에 컴퓨터 관련기술이 영어권에서 발달했기에,

영어권에 맞추어서 모든 기술이 개발되고 있고,

필요에 따라 타 언어권에 대한 지원이 추가되는 식으로 발달해 왔다.

그렇기 때문에, 서버건 프레임워크건

기본적인 설정만으로는 한글에 문제가 생기기 마련이다.

 

일단 한글 깨짐 문제가 발행하면,

큰 부분부터 세부적인 부분으로 범위를 좁혀가며

원인을 찾아나가는 것이 현명한 것 같다.

가령 웹프로젝트인 경우, 일단 서버 설정부터 확인하고,

그 다음에 프레임워크, 다음에 개별 페이지 순으로 범위를 좁혀가는 것이다.

 

참고:

1. Tomcat에서 한글 encoding을 설정 : https://kcmuni.tistory.com/entry/%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90-%EC%B2%98%EB%A6%ACURIEncodingUTF-8

 

한글 깨짐 처리(URIEncoding="UTF-8")

Tomcat에서 한글 encoding을 설정하는 방법은 요청 메써드 (GET or POST)에 따라 다르다. get 방식 Tomcat의 sever.xml 을 열고

kcmuni.tistory.com

 

반응형
반응형

c++에서 소켓 프로그래밍을 하는 경우,

특별히 namespace를 지정하지 않았음에도

컴파일시에 bind 함수의 namespace가

자동으로 std::bind로 지정되는 경우가 있다.

namespace를 지정하지 않더라도,

컴파일러에서 자동으로 가장 비슷한 namespace를 찾아내어

지정하기 때문이다.

bind함수와 std::bind함수는 전혀 다른 함수이기 때문에,

이런 경우에는 명시적으로 namespace가 없다는 것을

컴파일러에 설명해 주어야 한다.

 

그러기 위해서는, 함수 앞에 그냥 ::을 붙여주면 된다.

예를 들면 다음과 같다.

 

// bind(_sockfd, _sockaddr, _addrlen);
// ===>
::bind(_sockfd, _sockaddr, _addrlen);

 

 

반응형

'프로그래밍' 카테고리의 다른 글

나무를 그리는 몇가지 방법  (0) 2019.06.13
한글깨짐  (0) 2019.05.29
리눅스에 SVN 설치하기  (0) 2019.04.29
WebAudio API를 이용한 간단한 화음  (0) 2018.06.03
HTML5에서 테스트해 봐야 할 두가지 함수  (0) 2018.05.10
반응형
반응형
반응형

참고 사이트 : https://css-tricks.com/introduction-web-audio-api/


WebAudio API를 이용한 간단한 화음


반응형
반응형
  • globalCompositeOperation
    • canvas에서 사용
    • 이미지의 겹쳐지는 부분들은 밝아지도록 하는 기능
  • requestAnimationFrame
    • 일정 간격으로 함수를 호출하는데 사용하는 함수
    • 애니메이션 구현시 사용(60FPS)
반응형
반응형
반응형
반응형
반응형

+ Recent posts