책 잘 읽는 방법

Book

책을 읽으면 잘 살수 있느냐는 질문에 저는 이렇게 답하고 싶어요. 정해진 운명보다 조금 더 나은 삶을 살 수 있다고요.

by 김봉진 님의 ‘책 잘 읽는 방법’에서

책에서 인용한 김영하 님의 “읽을 책을 사는 것이 아니라 산 책 중에서 읽는것이다.”도 마음에 와 닿는 글이었네요.

 

삼성전기레인지 잠금 해제

samsung_electric_range

거주중인 오피스텔이 정전이 되면서 삼성 전기레인지가 잠금상태로 되었는데요. (잠금상태에서는 자물쇠 아래쪽의 빨간색 등이 점등이 됩니다.)

해제 방법은 전혀 버튼처럼 생기지 않은 자물쇠 버튼을 2분정도 꾹 누르면 해제가 됩니다. 전원 버튼에 대한 안내 이미지처럼 생겼지만 버튼입니다;;;;

passive 옵션 지원여부 체크하는 신박한 방법

vue 코드를 읽기 시작했는데 test-passive 이벤트를 윈도우에 등록하는 듣도 보도 못한 코드가 나와서 한참을 들여다 봤는데요. (바닥부터 다시 공부해야 할 것 같습니다.) 일단 passive옵션은 이벤트 핸들러 등록시 줄 수 있는 옵션 중 preventDefault()를 허용하지 않음으로 스크롤 동작시 성능을 개선하게 해주는 옵션입니다. (공유 받은 기사에서 본 것 같은 기억이 있기는 합니다. 자세한건 Improving scrolling performance~~ 글을 읽어보세요.)

여튼 vue에서 passive 옵션을 지원하는지 여부를 체크하여 지원여부에 따라 분기를 하게 되는데요. 지원여부를 체크하는 방법이 참 신박합니다.

export let supportsPassive = false
if (inBrowser) {
  try {
    const opts = {}
    Object.defineProperty(opts, 'passive', ({
      get () {
        supportsPassive = true
      }
    }: Object))
    window.addEventListener('test-passive', null, opts)
  } catch (e) {}
}

이벤트 핸들러 등록시 넣어주는 옵션 객체의 passive 속성에 getter를 지정해서 넘겨주는데요. 만약 passive 옵션을 지원한다면 해당 값을 읽을 것이고 이러한 기능 여부를 통하여 지원여부를 판단하게 되네요.

신박한 js의 세계네요.

기사단장 죽이기

조금이라도 의식을 되찾으려 애쓰는 중이야. 그러나 의식이 돌아오면 육체적 고통도 함께 돌아오지. 그의 몸은 육체의 고통을 지우기 위한 특수한 물질을 분비하고 있었네. 그런 작용이 있어야 사람은 아주 큰 고통 없이 조용히 숨을 거둘 수 있거든. 그러나 의식이 돌아오면 고통도 뒤따라. 그런데도 그는 의식을 되찾으려고 필사적으로 노력하고 있다네. 설령 육체의 격렬한 고통을 떠안는 한이 있더라도 지금 여기서 꼭 해야 할 일이 있으니까.

기사단장 죽이기|무라카미 하루키

 

당신들의 조국

“세상에는 눈앞에서 진실을 흔들어대도 믿지 못하는 사람이 있다는 거야.”
글로부스는 마르크의 얼굴에 침을 뱉었다. 회색 빛이 도는 노란색 점액덩어리였다.

“세상은 바로 그만큼의 신경을 쓴다고.”

독일인은 30년 동안 명령에 익숙해진 나머지 무슨 일에든 책임지기를 꺼리게 되었다. 심지어 문을 열고 닫는 일조차도 말이다.

당신들의 조국|로버트 해리스

리디북스에서 자세히 보기: https://ridibooks.com/books/510000454

당신 인생의 이야기

1770년 쿡 선장이 지휘하는 범선 인데버호는 오스트레일리아의 퀸즐랜드 해안에서 좌초했어. 쿡은 부하들 일부에게 수리를 맡겨놓고, 탐험대를 이끌고 상륙해서 원주민들을 만났지. 선원 중 한 사람이 새끼를 배의 주머니에 넣고 껑충껑충 뛰며 돌아다니는 동물들을 가리키며 원주민에게 그 이름이 무엇인지를 물었어. 그러자 원주민은 “캥구루Kanguru”라고 대답했어. 이때부터 쿡과 그의 부하 선원들은 이 동물을 이 이름으로 불렀어. 그들은 나중에야 이 말이 실은 “방금 뭐라고 했지?”라는 뜻이라는 사실을 알았지

“그게, 의인화를 통해 확대해석을 해도 무방하다면, 빛은 일단 선택 가능한 경로들을 검토하고 각각 시간이 얼마나 걸릴지 계산해야 해.” 게리는 마지막 군만두를 접시에서 집어들었다.

“그러기 위해서는,” 나는 그의 말을 이어받았다. “광선은 자신의 정확한 목적지를 알아야 해. 목적지가 다르다면 가장 빠른 경로도 바뀔 테니까.”

게리는 또다시 고개를 끄덕였다. “맞아. 목적지가 없다면 ‘가장 빠른 경로’라는 개념은 무의미해지지. 그리고 해당 경로를 가로지르는데 걸리는 시간을 계산하기 위해서는 그 경로 중간에 무엇이 놓여 있는지, 이를테면 수면이 어디 있는지 등의 정보도 필요해. 움직이기 전에. 맞지?”

“그렇다고 할 수 있지. 빛은 이전의 지점을 향해 출발한 다음 나중에 진로를 수정할 수는 없어. 그런 행위에서 야기된 경로는 가장 빠른 경로가 아니니까. 따라서 빛은 처음부터 모든 계산을 끝마쳐야 해.”

사건을 일정 기간에 걸쳐 바라봄으로써 만족시켜야 할 조건, 최소화나 최대화라는 목적이 존재한다는 시실을 인식하게 되는 것이다. 그리고 그 목적을 달성하기 위해서는 가장 처음과 가장 마지막의 상태를 알아야 한다. 원인이 시작되기 전에 결과에 관한 지식이 필요하게 되는 것이다.

나는 처음부터 나의 목적지가 어디인지를 알고 있었고, 그것에 상응하는 경로를 골랐어. 하지만 지금 나는 환희의 극치를 향해 가고 있을까, 아니면 고통의 극치를 향해 가고 있을까? 내가 달성하게 될 것은 최소화일까, 아니면 최대화일까?

당신 인생의 이야기 | Ted Chiang

리디북스에서 자세히 보기: https://ridibooks.com/books/1287000142

라마와의 랑데부

사실 지난 4백 년간 바다에 열댓 척, 우주에 두 척의 인데버 호가 있었지만, 그 원조는 휘트비(쿡 선장이 살았던 영국의 도시)에서 건조된 3백 70톤급 석탄선이었다. 대영제국 해군의 제임스 쿡 선장이 1768년부터 1771년까지 전 세계를 탐험할 때 몰고 다녔던 바로 그 배.

라마와의 랑데부 | 아서 C.클라크 저

리디북스에서 자세히 보기: https://ridibooks.com/books/2119000025

서버 렌더링 시 주의해야 할 점

* 주의: 생각나는 대로 추가하고 있습니다.

1. 디자인 관점이 변경되어야 합니다.

한국에서 웹 디자인은 화면 크기를 기준을 pixel 단위로 작업이 되고 있는데요. 서버 렌더링 시에 agent 정보를 알 수는 있어도 화면 크기를 알 수 있는 방법이 없습니다. 디자인이 화면 크기에 따라서 높이가 조정된다면 서버 렌더링과 실제 화면 로딩 후에 텍스트나 이미지 요소들이 이동하는 현상이 발생하게 됩니다.

예를 들어 한 줄인 경우에는 좌측 원형 이미지를 중앙에 배치하고 두 줄 이상인 경우에는 상단에 배치하는 디자인이라면 화면 크기를 알 수 없기 때문에 적용하는 스타일을 초기 상태의 가정을 통해서 정해야 하는데요. 그런 경우 화면 크기 조절에 따라서 이미지 위치가 움찔하고 바뀌게 됩니다.

case1

2. 모든 작업은 두 번 해야 합니다.

서버 렌더링을 하는 경우에는 작업을 두 번 하는 것으로 일정이 계산되어야 합니다.

예를 들어 아래 그림처럼 사용자가 로그인 한 후, 메인 페이지를 지나서 설정 페이지로 이동한 경우를 가정해 보면 현재 페이지의 모델에는 로그인한 사용자와 친구 정보와 알림 정보 메인 페이지의 데이타와 설정 페이지 데이타가 있을건데요.

case2-1

설정페이지에서 페이지를 새로고침 한 경우 이 페이지를 서버렌더링 하기 위해서는 로그인 사용자 정보, 친구 목록, 알림 정보등을 현재 페이지의 데이타와 함께 내려주는 작업이 추가가 되어야 합니다. 진입하는 경로가 두 가지로 항상 나눠서 생각해야 됩니다.

case2-2

게다가 로그인 여부에 따라서 보여주는 페이지가 달라지는 경우 (비로그인 시에도 API 호출하는 경우가 있다면) 경우의 수가 더 많아질 수 있습니다. 브라우저의 로컬 스토리지 등을 사용하면 물론 해결할 수 있는 내용입니다만 여기에 드는 작업 공수도 더 고려를 하셔야 됩니다.

편의점 인간

정상 세계는 대단히 강제적이라서 이물질은 조용히 삭제된다. 정통을 따르지 않는 인간은 처리된다. 그런가? 그래서 고치지 않으면 안 된다. 고치지 않으면 정상인 사람들에게 삭제된다. 가족이 왜 그렇게 나를 고쳐주려고 하는지, 겨우 알 것 같은 기분이 들었다.

편의점 인간 | 무라타 사야카 저

리디북스에서 자세히 보기: https://ridibooks.com/books/364000736