Skip to content

Information

Contents

Information

Stackoverflow Survey

개발 공부를 하다보면 스택오버플로우의 답변을 한번쯤 참고해보셨을텐데요. 전세계 개발자가 바로 이 사이트를 통해 개발 관련 질문을 올리고 정보를 공유하고 있습니다.

이곳에서 질문에 대한 답변이 사용자들에게 채택되면 점수가 오르는데, 얼마나 공신력이 있는 곳이면 상위 1% 의 스택오버플로우 유저는 구글 입사가 프리패스된다는 말도 들은적이 있네요.

이 커뮤니티는 매년 전세계 개발자를 대상으로 설문조사를 하는데 이 서베이를 보면 트렌디한 기술이 뭔지, 나만 모르고 있던 좋은 기술이 뭔지 알 수 있습니다. 다음 링크를 통해 2019년 설문조사에 들어가보세요.

https://insights.stackoverflow.com/survey/2019

왼쪽 카테고리를 보면 여러 항목에 대한 설문조사를 한 것이 보이는데 다음과 같이 Technology 분야가 메인 디쉬라고 볼 수 있을 것 같습니다.

나머지 항목은 궁금하시면 더 살펴보셔도 되고 지금 이 시간에는 이 설문조사를 통해 전세계에서 가장 핫한 플랫폼과 에디터가 뭔지 알아보겠습니다.

개발자들이 가장 사랑하는 플랫폼

설문조사에서 Platforms 항목을 찾아보면 다음과 같은 설문결과를 볼 수 있습니다.

개발자들에게 인기있는 플랫폼 1위는 53.3% 로 리눅스네요. 어제 배웠던 도커는 3위를 차지했는데 이는 스택오버플로우가 2019년에 처음으로 도커에 대한 설문조사를 한 결과라고 하니까 개발자들이 얼마나 도커에 주목하고 있는지 감이 오시나요? 전세계 개발자들이 이런 플랫폼과 기술들에 왜 사랑에 빠졌는지 몰라서는 안되기 때문에 꼭 배워봐야 합니다.

개발자들이 가장 사랑하는 개발환경

이제 Most Popular Development Environments 항목을 보면서 개발자들이 어떤 개발환경을 가장 좋아하는지 알아보겠습니다.

설문조사는 "모든 개발자", "웹 개발자", "스마트폰 어플 개발자", "데브 옵스" 를 대상으로 진행되었는데 "스마트폰 어플 개발자" 를 제외하고는 Visual Studio Code 즉, VSCode 가 1위를 차지했습니다. 심지어 "스마트폰 어플 개발자" 에서도 VSCode 가 Android Studio 와 매우 미세한 차이로 2위를 차지했으니, 전세계 개발자들이 VSCode 가 제공하는 개발환경에 얼마나 푹 빠져버렸는지 알 수 있겠죠?

좋은 정보 얻기

여기에서는 좋은 정보나 최신기술을 어디에서 찾을까 에 대한 대답을 알아보겠습니다. 하지만 부족한 제가 알아볼 수 있는 한 알아보고 저만의 결론을 내린 것이기 때문에 이것들이 최선의 해답이 되지 않을 거라는 것은 명백합니다. 그러니 각자 제가 드리는 지식에 안주하지 말고 최신동향과 좋은정보에 예민해지려고 노력해야 합니다.

Awesome Repository

프로그래머만큼 최신기술과 좋은정보에 민감해야만 하는 직종은 없을겁니다. 그래서 프로그래머들은 각자의 분야에서 최신기술이나 좋은정보를 모아둔 Awesome Repository 를 만들기로 했고 다음과 같은 좋은 레포지토리들이 탄생했습니다.

Awesome Repository
인공지능 https://github.com/owainlewis/awesome-artificial-intelligence
기계학습 https://github.com/josephmisiti/awesome-machine-learning
해킹 https://github.com/carpedm20/awesome-hacking
Flutter https://github.com/Solido/awesome-flutter
Python https://github.com/vinta/awesome-python
알고리즘 https://github.com/tayllan/awesome-algorithms
VSCode https://github.com/viatsko/awesome-vscode
NodeJS https://github.com/sindresorhus/awesome-nodejs
MacOS https://github.com/iCHAIT/awesome-macOS
Web Extensions https://github.com/fregante/Awesome-WebExtensions
C/C++ https://github.com/fffaraz/awesome-cpp
React https://github.com/enaqx/awesome-react
웹 성능 최적화 https://github.com/davidsonfellipe/awesome-wpo
Docker https://github.com/veggiemonk/awesome-docker
Nginx https://github.com/fcambus/nginx-resources
Flask https://github.com/humiaozuzu/awesome-flask
강의 https://github.com/prakhar1989/awesome-courses
수학 https://github.com/rossant/awesome-math
Vim https://github.com/mhinz/vim-galore
마인크래프트 https://github.com/bs-community/awesome-minecraft

보시면 아시겠지만 레포지토리의 이름들이 각각의 분야의 이름을 기반으로 규칙적으로 awesome-<분야> 라고 되어있음을 알 수 있습니다. 그렇다면 이러한 Awesome Repository 들을 내가 관심있는 분야에서도 찾고 싶은데, 도대체 어떻게 해야 할까요?

정답은 Awesome Repository 들을 모아둔 Awesome Repository 에 방문하는 것입니다.

Awesome Repository
Awesome https://github.com/sindresorhus/awesome

이 레포지토리는 Github 레포지토리의 스타가 470,793 개(2020/05/22 기준) 로 가장 많은 sindresorhusAwesome Repository 들을 모아둔 레포지토리로써 이 단일 레포지토리에 스타가 약 134,000 개가 달려있습니다.

여기에서 각자 관심있는 주제나 분야, 툴들의 Awesome 한 정보들을 찾아보세요. 저는

https://github.com/carpedm20/awesome-hacking#readme

https://github.com/ChristosChristofidis/awesome-deep-learning#readme

에 관심이 있습니다.

https://awesomeopensource.com/

Hacker News

참고/출처 : https://en.wikipedia.org/wiki/Hacker_News

참고/출처 : https://www.quora.com/What-is-Hacker-News

Hacker NewsPaul Graham 이 만든 인터넷 커뮤니티로써 컴퓨터 해커에게 흥미로운 모든 것을 공유하기 위한 커뮤니티입니다.

단 여기서 "해커" 란 정보보안가를 뜻하는 것이 아니라 좀 더 포괄적인 의미로의 "해커" 입니다. 해킹이란 원래 무언가를 능수능란하게 다루거나 호기심과 지적욕구에 의해 컴퓨터와 네트워크를 탐험하는 행위라는 의미 였는데 여기에서는 이와같은 포괄적인 의미로 보아야 할 것 같습니다.

왜냐하면 해커 뉴스에는 컴퓨터 보안에 관련된 정보 뿐만 아니라 인공지능, 웹 개발, 게임 개발, 전자 회로, 수학 관련 글(선형대수학 관련 글이 꽤 올라옵니다), IT대기업(Google, Amazon, Facebook 등)의 최신동향 등등 정말 다양한 좋은 정보들이 많이 올라오기 때문입니다. 심지어 취업을 잘 하려면 어떻게 해야 하는지에 대한 글도 올라옵니다.

이렇게 좋은 정보들에 예민하게 반응한다면 자신이 있는 공동체에 좋은 정보를 공유함으로써 그 공동체가 한 단계 더 성장할 수 있습니다. 그 공동체가 동아리가 될 수도 있고 기업이 될 수도 있고 친구들이 될 수도 있습니다. 그렇게 되면 좋은 정보의 원천이 된 여러분이 사람들로부터 더욱 인정받게 되고요.

  • 실제로 이 ProgrammerBase 를 만들게 된 계기와 아이디어를 MITMissing Semester 에서 착안했는데, 이것 또한 다음과 같이 Hacker News 에서 발견한 것입니다.

    여러분이 이 ProgrammerBase 를 통하여 조금이라도 실력을 높힐 수 있었다면 제가 말했던 "공동체(고스트 동아리) 자체가 한 단계 성장" 하는 것의 실례가 되는 셈입니다.

  • Hacker News 에는 다음과 같이 DiscordGo 언어에서 Rust 언어로 갈아타게 된 과정에 대한 글도 올라왔었습니다.

    실제로 글을 읽어보면 대충 Go 의 가비지 콜렉터보다 Rust 의 가비지 콜렉터가 Discord 에서 더 좋아보이더라 라는 결론으로 Rust 를 쓰게 되었다고 했습니다. 물론 Go 도 최고의 언어이고 분명 Rust 보다 더 효율적으로 사용되는 상황과 분야가 있을 겁니다.

    여러분이 이러한 새로운 프로그래밍 언어에 대한 좋은 정보를 갖춘 다음 여러분이 하고 있는 프로젝트에 이러한 새로운 제안을 하게 되서 그 혁신으로 프로젝트가 조금이라도 더 개선된다면 여러분의 입지는 더욱 커지는 것이고 능력을 더 인정받게 될 겁니다. 그리고 여러분 한 사람으로 인해 프로젝트와 그 공동체가 더욱 발전하게 될 겁니다.

  • Hacker News 에는 다음과 같이 MS 에서 메모리를 혁신적으로 최적화하여 신경망 학습 시 메모리를 효율적으로 절약할 수 있는 기술에 대한 글도 올라왔습니다.

    Screen Capture_Navigator_20200523002033

    대충 microsoft/DeepSpeed 라는 것을 쓰면 신경망 학습이 5배 배 빨라지고 메모리 효율이 최대 64배 높아진다는 심지어 PyTorch 와 호환된다고까지 하니까 만약 여러분이 PyTorch 로 진행되는 프로젝트에 참여중이라면 충분히 이런 정보를 공유할 수 있고, 여러분이 속한 공동체를 발전시킬 수 있습니다.

마지막으로 한 가지 사례만 더 들고 Hacker News 는 마무리 하겠습니다.

  • 어느날 Hacker News 에는 다음과 같이 Can AI Become Consious? 라는 글이 올라왔습니다.

    이 글에서는 정보통합이론(Integrated Information Theory) 를 소개하면서 핵심적으로 다음과 같은 사실을 설득하려 했습니다.

    1. 인과적 힘을 갖는다면 어떤 물리 체계일지라도 의식을 갖는다. 뇌의 뉴런이 다른 뉴런을 자극하여 촉발시키는 것 또한 인과적 힘의 예시라고 볼 수 있고, 컴퓨터 회로에서 트랜지스터가 다른 트랜지스터에게 자극을 주는 것도 인과적 힘의 예시라고 볼 수 있다.

    2. 정보통합이론은 임의의 물리 체계가 얼마나 의식적인가 측정하는 방법 또한 개발하였고, 이것을 의학에 응용하여 뇌손상을 입은 환자나 식물인간이 얼마나 의식을 갖고 있는지 측정하기도 하였다.

    3. 정보통합이론은 의식이 인간에게만 존재하는 유일한 특성이 아니라고 말한다.

    4. 현재의 기계(컴퓨터)가 의식을 가질 수는 없으나 미래에 탄생할 기계가 의식을 갖게 되고 인간과 같은 지능을 갖게 될 것이라는 것은 의심할 수 없는 사실이다.

    5. 지능이란 행동에 관한 것이다. 가령 당신은 당신에게 주어진 환경에서 살아남기 위하여 어떻게 행동할 것인가? 그러나 의식이란 행동에 관한 것이 아니다. 의식이란 존재에 관한 것이다.

    6. 폰 노이만 구조로 구현된 표준적인 회로에서의 트랜지스터는 통상적으로 두 개 이상의 트랜지스터로부터 입력을 받고 두 개 이상의 트랜지스터에게 출력을 보낸다. 이것이 인과적 힘인 것은 맞지만 극단적으로 복잡한 인과적 힘을 갖고 있는 뇌의 약 860억개의 뉴런이 갖고 있는 인과적 힘과 명백히 다르다. 그러므로 폰 노이만 구조 위에서 실행되는 어떠한 인공지능이라 할지라도 그것은 인간의 뇌처럼 의식적이지 못하다.

    만약 여러분이 인공지능 관련 프로젝트에 속해있고 이런 글을 읽었다면 인공지능이 의식을 가질 수 있는지에 대한 연구가 진행되어온 이 정보통합이론에 더 관심이 생겨서 "Integrated Information Theory" 나 "정보통합이론" 이라는 키워드로 검색을 하다가

    이런 책들을 찾아보았을 수도 있습니다.

Reddit

레딧은 매우 광범위한 주제와 커뮤니티가 존재하는 거대 커뮤니티이지만 프로그래머들 또한 레딧에서 상당히 큰 생태계를 만들고 그곳에서도 매우 좋은 정보가 공유되고 있습니다. 여기에서는 가볍게 몇가지 서브레딧만 알아보고 나중에 여러분이 개인적으로 마음에 드는 서브레딧을 찾아보세요.

Github trending 은 현재 Github 에서 가장 핫하고 트렌드한 레포지토리가 올라오는 곳입니다. 이곳에서도 좋은 정보를 많이 얻을 수 있습니다. 왜냐하면 전세계의 개발자들이 최근동안 가장 관심을 기울이고 있는 레포지토리들이 올라오기 때문입니다.

firefox_FViJ96Yk9y

여기에서 마음에 드는 레포지토리의 Star 버튼을 누르면서 관심있는 레포지토리들을 Your stars 페이지에 모아두세요. 이렇게 Star 버튼은 추천 뿐만 아니라 즐겨찾기 기능도 있는 것입니다.

Stackoverflow Survey

매년 하는 Stackoverflow Survey 도 좋은 정보를 얻을 수 있는 소스가 됩니다. 하지만 이미 다뤘기 때문에 넘기겠습니다.