Booking.com 에서의 축차 검정 (Sequential Testing)
원문: Sequential Testing at Booking.com
원문: How programming languages got their names
필 칼튼 (Phil Karlton) 은 컴퓨터 과학 (Computer Science) 에서 어려운 것이 딱 두 가지가 있다고 말했다. “캐시 무효화 (cache invalidation) 과 이름 짓기” 가 그것들이며, 후자 때문에 기술 분야에 이상하지만 멋진 이름들이 생겨났다. 이 글에서 일반적인 프로그래밍 언어의 이름을 살펴보고 왜 그 이름들이 선택 되었고, 어디서 왔는지 알아보자.
펄은 1987년 미국인 개발자 래리 월 (Larry Wall) 이 만들었다. 그는 처음에 펄 (Pearl) 이라는 긍정적인 연관이 있는 짧고 기억하기 쉬운 단어라고 생각해서 채택했다. 하지만 이미 그 이름의 언어가 존재했기 때문에 철자를 Perl 로 바꿨다. Perl 로 만든 배크로님 (철자에 맞춰서 약어를 만든 것) 은 Practical Extraction and Reporting Language (실용적인 추출 및 보고 언어) 가 있다. pearl 이라는 단어는 ‘구슬’ 또는 ‘가치있는 것’ 을 의미하는 옛날 프랑스어 perle 와 양다리처럼 생긴 연체동물까지 아우르는 ‘다리’ 라는 뜻의 라틴어 perna 에서 왔다.
Dev.to 를 만드는데 사용한 언어인 루비 (Ruby) 는 1990년대에 일본인 개발자 유키히로 “마츠” 마츠모토가 개발했다. 펄에 영향을 받아서 그는 보석으로 이름을 짓고 싶어 했고, 때마침 그의 동료의 탄생석이자 6월의 탄생석인 진주 (펄; pearl) 의 다음달인 7월의 탄생석인 루비를 택했다. ruby 라는 단어는 ‘붉은색’ 이라는 뜻의 라틴어 rubeus 에서 온 ‘붉은 보석’ 이라는 뜻의 옛날 프랑스어 rubi 에 그 기원을 둔다.
네덜란드 프로그래머 귀도 반 뤼섬 (Guido van Rossum) 은 1991년 파이썬을 만들었고, 몬티 파이썬의 플라잉 서커스 (Month Python’s Flying Circus) 라는 영국 텔레비전 코미디쇼에서 이름을 따왔는데, 때마침 그 쇼의 대본을 읽고 있었기 때문이다. 그는 “짧고, 특별하고 조금은 신비로운” 이름을 원했다. python 이라는 이름은 아폴로 신이 죽인 거대한 해양생물인 고대 그리스의 Puthón 에서 따왔다. 이 단어는 19세기 초반부터 먹이를 단단히 죄는 거대하고 단단한 몸을 가지되 독이 없는 다양한 종류의 뱀을 일컫는 말로 사용되었다.
자바는 1990년대에 제임스 고슬링 (James Gosling) 이 선 마이크로시스템즈 (Sun Microsystems) 에서 일할 때 만들었다. 그 프로젝트는 원래 ‘Oak’ 라고 불렸었는데, 카페인을 엄청나게 소비한 브레인스토밍 시간을 가진 뒤 ‘Java’ 라는 이름이 생겼다 (비록 ‘Silk’ 로 정해질 뻔하긴 했지만). 인도네시아어로 Java 또는 Jawa 는 강하고 진하고 달콤한 커피를 생산하는 큰 섬의 이름이다. 이 단어는 1800년대부터 미국에서 커피를 뜻하는 말로 쓰이고 있다.
2011년 젯브레인즈(JetBrains) 가 발표한 언어인 코틀린은 러시아의 코틀린 섬 (Kotlin Island) 에서 이름을 따왔다. 개발팀은 Java 처럼 섬의 이름을 따서 이름을 짓고 싶었다. 비록 섬 이름이 아니라 커피이기는 하지만! 코틀린 (러시아어로는 Котлин) 은 스웨덴 땅이었으며, 핀란드인들에게는 ‘여우섬’ 이라는 뜻의 Kettusaari 로, 스웨덴인들에게는 Ketlingen 로 불렸고, 이 이름은 아마도 가마솥을 의미하는 독일어 kettel 에서 왔을 수 있다. 1703년 표트르 대제가 그 섬의 통제권을 획득하고 Kotling 으로 이름을 바꿨고 이후에 Kotlin 으로 줄였다.
애플이 자신들이 개발한 언어의 이름을 Swift 라고 지은 명확한 이유는 없지만 Quora 에 누군가가 물었듯이 테일러 스위프트 (Taylor Swift) 에서 온 것은 절대 아니다. 내 생각에는 애플이 뭔가 빠르다는 인상을 주기 위한 게 아닌가 싶다. swift 는 ‘굉장히 빠른 속력 또는 속도로 움직임’ 이라는 뜻이며, 이는 선사시대로 올라가 ‘쓸어다니며 움직임’ 이라는 뜻의 swipt- 까지 거슬러 올라간다. 17세기부터 제비처럼 생긴 새들이 swift 로 알려졌으며, 이 프로그래밍 언어의 로고로도 사용하고 있다.
Bash 는 개발자 스테판 본 (Stephen Bourne) 의 이름을 딴 Bourne Shell 이 “새로 태어났다 (born again)” 는 말장난인 Bourne-again Shell 을 줄여서 만든 것이다.
C 라는 이름은 굉장히 쉽게 지어졌는데, B 라는 프로그래밍 언어 다음에 나왔기 때문이다. C 는 C++ 와 C# 과 같은 언어들로 확장되었다.
개발자는 ‘c’ (C#), ‘l’ (Lisp), 그리고 ‘j’ (Java) 를 포함했으면 했고, ‘closure’ 와 비슷한 말장난이기도 하다.
R 은 최초의 두 개발자 (Ross Ihaka 와 Robert Gentleman) 의 이름에서 따오기도 했고, 이전에 있던 언어인 S 의 다음 글자라서 R 로 정한 것도 있다.
Scala 는 ‘scalable’ 과 ‘language’ 의 앞글자를 따서 만들었다. 이 단어는 이탈리아어로 ‘stairway’ (계단) 을 의미하기도 하고, Scala 가 사용자들이 더 나은 언어로 나아갈 수 있도록 도와주기도 한다.
처음에는 “Structured English Query Language” (SEQUEL; 구조화된 영문 질의 언어) 로 불렸고, “sequal” 이라고 발음했다. 이후에 SQL 로 줄여서 부르기 시작했다.
JavaScript 에서 아쉬웠던 것 때문에 개발 되어서 비슷한 이름으로 지었다.
You can follow me on Twitter at @TheStrangeRoots for Tweets about the origin of different words used in technology.
트위터에서 @TheStrangeRoots 를 팔로우 하면 IT 분야의 보다 다양한 언어의 기원에 대한 트윗을 볼 수 있다.
원문: Sequential Testing at Booking.com
가장 좋은 방법은 당연히 영어 밖에 사용하지 못하는 환경에 강제로 처해지는 것이겠지만 그것이 어려우니…
고민의 흔적을 보여주세요
을 찾습니다.
원문: Charts & Accessibility
모수, 큰 수의 법칙, 그리고 중심극한정리에 대하여
그리고 여러분들도 (아마도) 하지 않아야 하는 이유
회사 서비스의 추천 시스템을 개선하기 위해 팀 내에서 (아직까진 두 명이긴 하지만) 지난 두 달 동안 스터디를 진행했습니다. 얼마 전 두 번째 스터디가 끝났고 이에 대한 회고를 해보려고 합니다.
원문: Dark Side of Data: Privacy by Emre Rencberoglu
원문: RStudio Projects and Working Directories: A Beginner’s Guide by Martin Chan
원문: TidyTuesday GitHub Repository
원문: How programming languages got their names
원문: How to Make Meetings Less Terrible 팟캐스트: How to Make Meetings Less Terrible (Ep. 389)
생키 다이어그램 (Sankey Diagram) 은 흐름(Flow) 다이어그램의 한 종류로써 그 화살표의 너비로 흐름의 양을 비율적으로 보여준다.
2년 전 일본어로 책을 내긴 했지만 대부분의 독자들이 이 책을 읽을 수는 없을 것 같았다.
자기회귀 모형이란 무엇인가?
회귀분석을 실행하기 위해 필요한 가정과 조건들에 대해 알아보자.
통계적 검정과 회귀분석에서 자주 사용되는 정규성 가정과 정규성 검정에 대해 알아보자.
여러 통계 검정과 모형에서 사용되는 독립성 가정에 대해 알아보자.
시계열 모형 중 ARMA 모형에대해 알아보자.
시각화에서 주의할 점인 넓이를 표시하는 원칙에 대해 알아보자.
평균 양쪽의 z-값들 사이의 넓이를 구하는 방법에 대해 알아보자.
분산분석의 개념과 방법에 대해 알아보자.
분산분석(ANOVA; ANalysis Of VAriance) 와 회귀분석의 개념을 섞은 공분산분석(ANCOVA; ANalysis of COVAriance)에 대해 알아보자. 이 글을 이해하기 위해서는 아래의 글을 먼저 읽는 것이 좋다.
Akaike’s Information Criterion 의 정의와 이를 구하는 방법에 대해 알아보자.
수정된 R제곱과 그 용도에 대해서 알아보자.
통계 용어 중 정확도(Accuracy)와 정밀도(Precision) 에 대해서 알아보자.
절대 오차와 평균 절대 오차에 대해서 알아보자.
가설 검정이란 무엇이며, 가설 검정의 다양한 방법에 대해 알아보자.
회귀분석이란 무엇이며, 회귀분석 과정에서 사용하는 용어와 다양한 방법에 대해 알아보자.
이 글은 MathJax 를 GitHub Pages Jekyll blog 에 추가하는 방법을 다룬다. 이탤릭체로 된 부분은 본문에는 없고 제가 따라하면서 고치거나 추가한 부분이니 참고하세요.
모집단과 표본집단을 이용하는 경우 통계학에서 말하는 10% 조건이 무엇인지에 대해 알아보자.
여러분의 GitHub 블로그에 Jupyter notebook 을 바꿔서 올릴 수 있도록 도와줄 글입니다. 직접 바꾸는 방법은 1회성 글들을 위해서 추가했고, 변환 과정과 파일 이동, 그리고 여러분의 블로그에 올리는 것까지 한 번에 할 수 있는 자동화 bash 를 만드는 자세한 방법...
68 95 99.7의 법칙이란 무엇인가?
단위근 검정 방법 중 하나인 Augmented Dickey Fuller 검정에 대해 알아보자.
이 자료는 데이터 과학과 관련된 특정 주제에 대한 연재물이며, 다룰 주제는 다음과 같다. 회귀분석, 군집화, 신경망, 딥러닝, 의사결정나무, 앙상블, 상관관계, 파이썬, R, 텐서플로우, SVM, 데이터 축소, 피쳐 선택, 실험 계획법, 교차검증, 모델 피팅 등. 이 글을 계속 받...