5 articles per week

created : 2020-04-07T11:19:37+00:00
modified : 2020-06-28T14:44:02+00:00

# 하루 1개씩을 목표로, 하지만 못하는 날을 감안해서 일주일에 5개를 하는 것을 목표로

2020.01

Dec 29, 2019 11:17pm Tips I use to avoid burnout

Tips I use to avoid burnout

순간 해커뉴스에서 보다가 눈길이 갔다. burnout은 항상 존재하는 두려움이다. 언제 추진력을 잃을지 걱정된다.

Tips I use to avoid burnout:

  • no 라고 자주 말해라. 너한테도 한계가 있다. 할수 있는 것까지만 하자
  • 시간이 가장 소중하다. 더 중요한것에 사용해라
  • 도와달라고 말해라. 협업하는 것을 고민하거나 혼자할지 결정하는 것도 포함해서 조언을 구해라
  • 재충전할 짧은 시간을 가져라

Jan 01, 2020 1:11am The Old Internet Died And We Watched And Did Nothing

The Old Internet Died And We Watched And Did Nothing

우리는 오래된 인터넷(오래된 서비스)가 죽은걸 봤다. 아무것도 하지 않은채로

→ 가만히 서비스들이 죽는 것을 지켜봤다.

  • 10년이 더되기 시작한 오래도니 게시글은 점점 사라져간다. 구글이나 페이스북에 검색되지 않는다면 더욱더 빠르게 사라져간다.
  • 지난 10년간(2010년대) 사라졌던 서비스들
    • Friendster
    • Myspace : 음악 중심의 서비스가 되버렸다. 여전히 사진이나 데이터는 남아있으나 점점 사라져간다.
    • Flickr : 물론 아직 있지만 대부분이 죽었다.
    • Webshots, Photobucket, Blogs, WordPress, Xanga, Tumblr’s Adult Content, AOL Instant Messenger

Jan 01, 2020 1:21am Immotal Game

불멸의 게임

Immortal Game

[체스] 불멸의 게임.gif ㄷㄷㄷ : MLBPARK

사실 밑의 해설을 읽고서야 이해했다.

해커뉴스에 올라온걸로 봐서는 엄청 유명해서 상식적으로 알고 있는 내용인듯 하다. 물론 IT 기사가 아니라서 실망했긴 했지만 재미있는 내용인것 같다.

굳이 정리하자면 minor pieces 3개(나이트 2, 비숍1)로 체크메이트를 한 내용이다.

Jan 01, 2020 1:24am On Technical Writing

On Technical Writing

  • 기술 글쓰기와 관련된 내용인듯 하다. 지금 정리하면서 읽어보고 있다.
  • 새롭게 배운 영어 표현 : Fast-forward to [time] - 과거의 경험을 이야기 할때 사용하는 숙어인듯 하다.
  • 잡설들(기술글이 무엇인지와 같이)이 끼어있긴 한데, 주 내용은 기술적 글쓰기 과정에 대해서 설명한다.
  • Idea-Schedule-Writing-Publising-Stats의 과정이다.
    • Idea : 다른 사람들도 딱히 먼가 대단한 아이디어가 막 솟구치는건 아닌가보다. 그냥 일하다가 번뜩이면서 더 찾아보고 싶거나 연구하고 싶은걸 한다고 한다. 하지만 단순히 적당히만 찾아보는(narrowing)을 피하라고 한다. 원문은 During the research I look around, in fields I'm not familiar with - to avoid narrowing the field of view. Eventually, the research becomes a document with a number of notes and links. 이다.
    • Schedule : 필자는 한달의 한개의 글을 쓰는걸 목표로 했다고 한다. 한걸음 한걸음 시작하는것이 좋다고 한다. 자유롭게 하기 위해서?
      • 대충 적당히 자유롭게 한개씩 해나가는게 좋다고 하는듯 하다.
      • 얘도 원문을 적어두면 : It was a good idea since it forcesd me to start working on a piece, at the same time leaving me enough space for freedom.
      • 적당히 가볍게 하라는 뜻인듯 하다. 맨 위의 Tips to avoid burnout 과 비슷한 맥락인듯.
    • Writing : 역시 이 인간도 개발자인듯… MacVim을 사용한다고 한다 미리보기 같은거 없이(역시 힙스터들) 출판과정에서는 Hugo를 사용한다고 한다. 나는 개인플젝으로 하고 있는 에디터 개발하기 전까진 그냥 여기(Notion) 에다가 정리해야겠다.
    • Publising: Medium은 blogging 하기에는 별로라고 단언한다. GitHubPage를 Hugo를 사용해서 추천한다고 한다. 다만 자동화에 대한 이야기는 계속해서 한다. Hacker News, Android Weekly, Kotlin Weekly, 그리고 관련 있는 Reddit에다가 기사 링크를 첨부한다고 한다. (이 사람은 안드 개발자인듯?)
    • Stats : 얼마나 썻는지, 얼마나 많이 구경오는지 확인하는 통계자료가 필요하다고 한다. 이런부분에서 재미를 느끼는듯 하다. 사실 공감 안되는 건 아니다. Notion은 이런 측면에서 별로인듯 하다.

Jan 11, 2020 12:15am A Networking Protocol Built For Low Latency Interactive Game Streaming

A Networking Protocol Built For Low Latency Interactive Game Streaming

Parsec Networking Architecture

  • 사실 일주일 전에 도운이형이 사지방에서 파섹을 사용해보고 싶어서 시도하다가 잘 안됬다는 걸 보고 스크랩해놨었다. 이제야 읽어보네
  • 읽어보면 초기에는 TCP를 사용했다가 만족할만큼의 성능이 나오지 않아서 다른 여러 프로토콜들을 채택해서 사용해봤으나 결국 직접 프로토콜을 만들어야된다고 결정함.
  • 프로토콜에서 우선시하는건 latency(반응속도? 응답속도? 통신속도? 어캐 번역하는게 올바른지 모르겠네), frame rates, video quality 순서라고 한다.
  • 나머진 성능 이야기가 주를 이루는데, 나중에 BUD protocol이 나오면 여기서 파생됬다는걸 알아놔야겠다.

Jan 12, 2020 11:46pm Performance testing HTTP/1.1 vs HTTP/2 vs HTTP/2 + Server Push for REST APIs

Performance testing HTTP/1.1 vs HTTP/2 vs HTTP/2 + Server Push for REST APIs

  • Http/1.1 은 6개의 request 동시 요청이 가능하다고 나온다. 이건 다양한 최적화 테크닉의 결정체라고 한다.
  • HTTP/2 는 HTTP/1.1에 비해 아래와 같은 많은 장점들이 있다고 한다.
    • 하나의 response에서 많은 entities를 정리하기를 브라우저 어플리케이션에서 더이상 요구하지 않는다고 한다. 모든건 그냥 GET에서 가져올수 있다.
    • 304 Not Modified에서 더 빠르게 응답하고 캐시가 더 잘된다.
    • 빨리 끝나면 빨리 온다.
  • 뭐 많은 이야기들이 있었는데 결국 성능 테스트한다.

    Untitled

결론 : HTTP/2가 더 좋다. 인줄 알았는데 맨마지막에 요약이 있다.

  • 속도가 최우선 요구라면, compound documents를 유지해라.
  • 더 간단하고 고결한(?) API가 더 중요하다. endpoint 를 작게 유지해라.
  • Caching은 약간의 차이를 가져온다.
  • 최적화는 client보다 server 더 이득본다.

Jan 12, 2020 11:57pm Tim sort에 대해 알아보자

NAVER D2

  • 알고리즘에서 놓치고 있었다고 생각했던 것들을 사실 다른 많은 사람들은 이미 고민하고 해결했다는 것을 알게됬다.
  • 일단 기본적으로 설명을 하자면, Heap sort가 더 좋지 않은 이유는 참조 지역성이 좋지 않기 때문이고, Merge Sort는 참조 지역성의 원리는 잘 만족하지만 메모리 추가사용이 단점이며, Quick 은 최악의 경우 O(n^2)이다 라는 내용이다.
  • 따라서 2002 년에 Timsort가 등장했다고 한다. …
  • 시간이 없어서 일단 여기까지만 하고 끝. 내일와서 해야지
  • Jan 14, 2020 10:42pm 어제 연등이 너무 짧아서 2일만에 이어서 쓰게됬다.
  • Tim sort에 대해서 인트라넷에 타이핑해서 옮기느라 너무 잘 이해하게 됬는데, 크게 말하자면 Insertion sort의 지역성의 장점, merge sort의 시간복잡도의 장점을 채택한거다. Binary Insertion Sort나 Run 최적화 등이 추가적으로 적용되어 있다.

Jan 14, 2020 10:43pm 그림자 페이지 대체 기법(Shadow paging)

Shadow paging

  • Atomicity 와 Durability를 지원하기 위해서 사용하는 기법이다.
  • copy-on-write로 in-place update를 피하기 위해서 사용하는 거다. 페이지가 변경될때 shadow page를 할당하고 shadow page를 바로 가르키지 않고 준비가 다 되면 페이지를 덮어쓰는게 아니라 reference를 변경하는 식으로 가르키게 한다. 이때 가르키는 작업이 atomic 하다면 atomicity와 durability를 유지하게 된다.

Jan 14, 2020 10:48pm In-place algorithm

In-place algorithm

  • no auxiliary data structure(보조적인 구조 없이) input을 변형하고자 하는 알고리즘을 의미한다.

    function reverse_in_place(a[0..n-1]) for i from 0 to floor((n-2)/2) tmp := a[i] a[i] := a[n − 1 − i] a[n − 1 − i] := tmp

  • 대부분의 sorting algorithm들이 in-place algorithm이다.

Jan 14, 2020 11:19pm 색인 순차 파일(Indexed Sequential File)

  • 색인 순차 파일은 순차 처리와 랜덤 처리가 모두 가능하도록 레코드들을 키 값 순으로 정렬(Sort)시켜 기록하고, 레코드의 키 항목만을 모은 색인을 구성하여 편성하는 방법이다.
    • 색인을 이용한 순차적인 접근 방법을 제공하여 ISAM(Index Sequential Access Method)이라고 한다.
    • 레코드를 참조할 때 색인을 탐색한 후 색인이 가리키는 포인터(주소)를 사용하여 직접 참조할 수 있다.
    • 일반적으로 자기 디스크에 많이 사용되며, 자기 테이프에서는 사용할 수 없다.
  • 색인 순차파일의 구성
    • 기본 구역(Prime Area) : 실제 레코드들을 기록하는 부분으로, 각 레코드는 키 값 순으로 저장된다.
    • 색인 구역(Index Area) : 기본 구역에 있는 레코드들의 위치를 찾아가는 색인이 기록되는 부분으로 트랙 색인 구역, 실린더 색인 구역, 마스터 색인 구역이 있다.
    • 오버플로 구역(Overflow Area): 기본 구역에 빈 공간이 없어서 새로운 레코드의 삽입이 불가능 할 때를 대비하여 예비적으로 확보해둔 부분이다.

Jan 14, 2020 11:29pm Banker Algorithm

Banker’s Algorithm in Operating System - GeeksforGeeks

Jan 14, 2020 11:40pm Goodbye, Clean Code

Goodbye, Clean Code

  • 내용을 요약하자면, 깨끗하게 코드를 짜려고(중복을 없앨려고) 추상화를 하고, 여러가지를 했지만 상사와 1대1면담을 하게되었다는 것이다.
  • 깨끗한것과 더러운것은 과연 무엇일까 화두를 던지고 있다. 코드에서 올바름을 느낀다거나 하는 것에 대해서 과연 그게 맞는건가?
  • 여기서하는 말을 인용하자면 Coding is a journey....Skip... But don't stop ther. Don't be a clean code zealot. Clean code is not a goal.
  • 목적과 수단이 바뀌면 안된다는 거다. 우리는 목표에 집중해서 투자해도 힘들다. 수단을 계속 너무 신경쓰지 말자.

Jan 18, 2020 12:15am Mozilla lays off 70 as it waits for new products to generate revenue

Mozilla lays off 70 as it waits for new products to generate revenue

  • Mozllia 재단이 70명을 해고했다는 이야기이다.
  • 사실 글을 일기 전에 모질라 재단은 대체 머 먹고 살길레 규모가 저렇게 크지? 라는 생각을 가지고

    “모질라, 구글 의존 재정구조 탈피”

  • 검색해서 이 글을 읽어봤다. 여기도 마찬가지로 광고 수익을 기반으로 먹고 사는 거라고 생각하게 됬다.
  • 인터넷 회사들은 광고 이외에 수익 창출 구조가 없나? 라는 생각이 요즘 부쩍 드는 것 같다. 물론 아마존이나 구글 같은 경우 자체적으로 규모가 커서 광고 마저도 자기내들 회사 제품으로 하면 되지만 그렇지 않는 곳들은 너무 힘들 것 같다. 이와 동시에 토스의 수익모델도 동시에 연관되어서 생각난다.
  • 본론으로 돌아와서 이 기사에서 이야기하고자 하는 것은
    • 모질라 재단은 작년에 새로운 구독 서비스들이 많은 수익을 거둘것이라고 생각했지만 그렇지 않았고, 이에 따라 자리를 없앤다는 것이다.
    • 투명하게 전부 공개하지 못해서 미안하지만 단순히 자신(CEO)의 의견만이 아니다라는 것을 밝혔다.
    • 정확히 어떤 서비스를 위해서 이런 결정을 했는지는 좀더 두고 봐야된다고 생각한다.

Jan 18, 2020 12:31am Glia – High-quality low-cost open source medical hardware (glia.org)

Glia

  • 의료 기기를 3d프린터로 만드는 것이다. 단가같은 것을 아직 정확히 몰라 말은 못하겠지만 의료기기를 구하기 힘든 곳에서 혁신적이라고 생각한다.
  • 여기서 소개하는 건 Stethoscope: 청진기? Tourniquet : 혈압측정기?, Otoscope: 흐음… 귀에다가 대서 안을 보는 거?
  • 단순히 이것만해도 오픈 소스로 3D 프린터를 사용해서 만들었다는게 혁신적이라고 생각한다.

Jan 18, 2020 12:37am JetBrains Mono: A free and open-source typeface for developers (jetbrains.com)

  • Jetbrains 에서 새로 폰트가 나왔다.
  • 하지만 나는 아직까진 D2Coding이 더 좋다.

Feb 14, 2020 Every Google result now looks like an ad

Craig Mod on Twitter

2020. 06. 28. (일) 23:40:40 KST

Microsoft Releases Windows File Recovery for NTFS, FAT, exFAT, ReFS File Systems (microsoft.com)

  • file recovery tool 이다. 윈도우즈에서 주로 사용하는 파일 시스템에서 지원하니 다음에 참고할만 한것 같다.

    iOS14 reveals that TikTok may snoop clipboard contents every few keystrokes (twitter.com)

  • tiktok 이 지속적으로 clipboard contents를 가져간다는 건데, 의도된거라면 굉장히 좋지 않게 보이지만, 개인적으로는 노이즈마케닝이거나, 단순한 개발자의 실수라고 생각한다.