아이패드에서 프로그래밍 공부를 해보고자 여러 어플을 찾아봤습니다. 파이썬 같은 경우는 적당한 유료 어플이 있었지만 VSCode와 같은 무료면서 강력한 기능을 가진 어플은 없었습니다.
다양한 방면으로 찾아보던 중 Code Server라는 기능을 사용하면 웹 브라우저에서 VSCode의 기능을 이용할 수 있다고 하여 사용하는 방법에 대해 포스팅합니다.
1. Code server란?
Run VS Code on any machine anywhere and access it in the browser.
* Code on any device with a consistent development environment * Use cloud servers to speed up tests, compilations, downloads, and more * Preserve battery life when you're on the go; all intensive tasks run on your server
🔔 code-server is a free browser-based IDE while Coder, is our enterprise developer workspace platform. For more information, visit Coder.com
사실 바로 기술적인 내용으로 들어가려 했는데 개발 경험 관련 결과로 흥미로운 결과가 보였습니다.
교육을 포함하여 총 몇 년 동안 코딩을 하였습니까?
교육은 포함하지 않고 전문적으로 코딩한 기간은 몇 년입니까?
거의 50%에 달하는 개발자는 코딩을 배운 지 10년 미만이며 현직 개발자 셋 중 한 명은 경력이 5년 미만입니다. 제 생각엔 꽤나 놀라운 결과입니다.
지금에 와서야 개발 학원 등 널리 알려졌지만 개발자라고 하면 왠지 엄청 어려운 공부를 오랜 기간 한 뒤에 숙련되어 업무를 수행하는 그런 직종으로 알려져 왔습니다. 특히나 현업에 종사하고 계시는 분들의 셋 중 하나가 경력이 5년 미만이라는 것은 최근 개발자가 되신 분이 그만큼 늘어난 것처럼 보이기도 합니다.
굳이 이런 내용을 왜 가져왔냐고요? 이 글을 읽고 계신 분들 중 개발자가 아닌 분들도 개발에 관심을 갖고 한번 도전해 보시라는 내용을 전달해 드리기 위함입니다. 전혀 늦지 않았다는 걸 알려드리고 싶었습니다.
2. Technology
이제 기술적인 주제로 넘어가 보겠습니다.
가장 인기 있는 언어 - 지난 1년 동안 어떤 프로그래밍, 스크립팅 및 마크업 언어에서 광범위한 개발 작업을 수행했으며 내년에는 어떤 작업을 하고 싶습니까?
개발 언어에 관심이 있던 사람이라면 누구나 예측 가능한 결과가 나왔습니다. 당연히 JS 쪽의 강세로 TS도 뒤따르고 있으며 Node.js 역시 인기입니다.
가장 사랑받고 두려워하는 프로그래밍, 스크립팅, 마크업 언어
인기 있는 언어와는 또 다른 결과가 나왔습니다. 가장 인기 있던 JS는 중위권에 그쳤으며 TS는 오히려 상위권으로 올라섰습니다. Java 역시 인기투표와는 달리 오히려 C#, C++ 보다 하위권에 위치하였습니다.
가장 사랑받고 두려워하는 데이터 베이스
회사에서 쓰라는 Oracle이 순위가 매우 낮아서 슬픕니다. Redis, pgSql, MongoDB가 차례로 상위권에 위치하고 있습니다. RDB가 인기가 많이 없어진 건 사실인가 봅니다.
가장 사랑받고 두려워하는 웹 프레임워크
스벨트가 가히 압도적입니다. 등장한 지 얼마 되지 않았음에도 불구하고 1위를 차지했습니다. 그 뒤를 dotNet Core, React js, Vuejs가 따르고 있습니다. Angular는 아직 중위권을 유지하고 있습니다. 이제 jQuery와 AngularJs는 그만 놓아주어야 할 때인 것 같습니다.
가장 많은 임금을 받는 프로그래밍, 스크립팅, 마크업 언어
Perl의 순위가 많이 떨어졌으나 여전히 많은 임금을 받는 언어입니다. 높은 임금을 받는 언어들은 함수형 언어로 보입니다. 하지만 대부분의 개발자들과 개발에 관심이 있는 사람들은 위에 명시된 언어들 중에서 아는 언어가 얼마나 많이 있을까요?
함수형 언어를 잘 알지 못하는 이유는 명확합니다. 그만큼 쓰는 사람이 적어서입니다. 함수형 언어의 최강점은 짧은 코드로 짧은 시간 안에 개발을 해낼 수 있다는 점입니다. 이를 가능하게 해 주는 것은 함수형 언어의 재귀 함수입니다. 이와 동시에 함수형 언어의 진입 장벽이 되는 것이 재귀 함수입니다.
C 언어를 배울 때 재귀 함수 관련 내용을 읽고 따라 해 볼 때를 생각하면 이해하기 쉽습니다. 코드가 엄청나게 간결해짐과 동시에 내 머리는 터져갑니다. 미루어 말해보자면 저 함수형 언어를 사용하는 개발자들은 이미 다른 언어에 매우 숙련된 시니어 개발자일 확률이 높습니다. 처음부터 저런 함수형 언어부터 시작하는 것은 말리고 싶습니다.
맺음글
올해도 슬슬 마무리돼가고 있습니다. 몇 년간 그래 왔듯 웹 프레임워크 쪽에서는 매년 난리가 나고 있습니다. 올해도 스벨트가 핫 트렌드로 올라왔습니다. 클로저나 엘릭서와 같은 함수형 언어는 사랑받는 언어긴 하지만 배우고 싶어 하는 언어는 아닙니다.
언어 선택에는 정답이 없습니다. 이런 글을 쓰는 많은 분들이 언어는 도구일 뿐이다 라고 말씀하는 이유가 있습니다. 이런저런 설문조사와 트렌드를 꾸준히 확인하면서 자신의 상황에 맞는 학습 로드맵을 만드는 게 좋다고 생각합니다.
Ubuntu Jenkins에서 docker build시 Docker permission denied 문제를 수정하는 방법에 대해 알아봅니다.
1. 문제
Ubunto 20.04에 설치된 Jenkins 2.317 버전에서 docker build시 다음 에러 메시지와 함께 permission denied 에러가 발생합니다.
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=my-app%3Alatest&target=&ulimits=null&version=1": dial unix /var/run/docker.sock: connect: permission denied
2. 원인 및 수정
jenkins 유저가 docker에 접근할 권한을 설정해야 합니다. 다음 명령을 통해 docker에 권한을 부여합니다
Fatal error C1083 포함 파일을 열 수 없습니다. 'ctype.h': No such file or directory / Cannot open include file: 'ctype.h': No such file or directory 에러가 발생했을 때 해결 방법에 대해 알아봅니다.
1. 현상
최근 C++ 프로젝트에서 curl을 사용할 일이 생겨 소스코드를 받아 빌드를 시도했습니다.
한 번에 성공하면 좋았으나 위와 같은 에러가 발생했습니다.
2. 해결
에러 로그를 가만 보고 있자니 왜인지 "windows kit 8.1"이 눈에 들어옵니다. 프로젝트 -> 속성 -> 일반으로 이동해 Windows SDK 버전을 변경해 줍시다.
대상 프로젝트는 VisualStudio 2017에서 사용하므로 SDK 버전을 10.0.17134.0으로 변경해줬습니다.