개발 런타임을 사용하는 언어는 프로그램마다 사용하는 라이브러리가 다른 경우는 물론이고 같은 라이브러리를 사용하더라도 버전이 다를 수 있습니다. 심지어는 라이브러리가 지원하는 개발 런타임의 버전이 다른 경우도 존재합니다. 그러다 보니 개발 환경을 구축한다는 것이 당연히 어렵다면 어려울 수밖에 없게 된 거죠. 그래서 이 글에서는 개발 런타임을 사용하는 언어 중 파이썬을 중심으로 리눅스에서 개발 런타임을 구축하는 방법을 살펴보겠습니다. 파이썬의 개발 런타임 구축을 도와주는 도구는 여러 가지가 있지만 여기서는 pyenv를 살펴봅니다. pyenv는 여러 파이썬 개발 런타임을 자동으로 설치해주고 바로 사용할 수 있도록 준비해주는 대표적인 도구입니다.
자신의 지식과 경험을 글로 표현하는 데 어려움을 겪고 있는 사람들이 많이 있다. 몇 년 전 어느 책 저자의 멘토링 수업에 참관한 적이 있었는데 거기에서도 비슷한 질문이 나왔었다. 사내 위키에 가이드 같은 것들은 쓰겠는데 인터넷처럼 불특정 다수에게 공개되는 글은 쓰는 것이 어렵습니다. 어떻게 하면 잘 쓸 수 있을까요? 나 스스로 글을 잘 쓴다고 생각해 본 적이 없기 때문에 이런 질문이 생경하다. ‘이렇게 써라’, ‘저렇게 써라’라고 말하는 것은 내 스타일도 아니거니와 나로서는 주제넘은 일이다. 그래서 2016년부터 7년간 내가 어떤 생각과 어떤 방식으로 글을 써 왔는지 2회에 걸쳐 풀어보려 한다.
비즈니스 관리 영역에는 이런 격언이 있습니다. ‘Lead People, Manage Business.’ 일을 잘할 수 있도록 사람들을 ‘리드’하고, 비즈니스를 철저하게 ‘관리’하라는 이야깁니다. 사업을 철저하게 ‘관리’하지 않으면 망합니다. 돈이 얼마나 벌리고 얼마나 쓰이는지 파악해 사업을 더욱 철저하게 ‘관리’해야 합니다. 단순히 개발만 하고 만다면 상관없지만, 더 높은 직급을 원한다면 비즈니스 전체 그림을 봐야 합니다. 매출은 어디서 나오는지, 매출을 어떻게 내는지, 비즈니스가 사회에 어떻게 기여하는지 등을 알아야 합니다.
좋은 프로그래밍 언어는 어떻게 정의할 수 있을까요? 상황에 따라 중요도는 다르겠지만 보통 1) 문제를 해결하는 능력 2) 코드의 성능(실행 속도, 안정성) 3) 지원되는 기능 4) 용이한 유지 보수 5) 사용하기 쉬운 정도 6) 사용하는 개발자의 수(인기도) 등의 기준을 생각해 볼 수 있습니다. 특히 어떤 프로그래밍 언어를 가장 많이 쓰고 있는지가 중요한 기준이 될 수 있는데요. 이번 글에서 살펴볼 티오베는 티오베 지수(Tiobe Index)를 통해, 매월 프로그래밍 인기도를 측정하고 있습니다. 과연 티오베는 어떤 방법으로, 그리고 왜 이런 지표를 만들었을지에 대해 알아보겠습니다.
지금까지 데이터 산업에서 데이터를 표나 그래프로 정리해서 본다는 것을 배웠습니다. 그렇다면 표에 정리했을 때, 독립변수와 종속변수는 어떻게 표현될까요? 표에서 어떤 열의 값이 변할 때 함께 변하는 다른 열이 있고, 이러한 상황이 해당 열에 모두 적용된다면 두 변수는 서로 엮여있다고 볼 수 있습니다. 이런 변화의 모습은 상관관계와 인과관계로 나뉘며, 상관관계가 인과관계를 포함하고 있습니다. 모든 인과관계는 상관관계이지만, 모든 상관관계가 인과관계는 아닐 수도 있습니다. 예를 들어, 바깥 기온이 높아질수록 실내 에어컨 온도가 낮아진다면, 실내 온도에 따라 실내 에어컨 온도가 변화해 둘은 인과관계에 있다고 볼 수 있습니다.