PHP·MySQL·리눅스 등 실무 개발과 트러블슈팅
처음 프로그래밍을 시작하는 사람에게 "무슨 언어부터?"라고 물으면 요즘은 거의 파이썬(Python)이 첫손에 꼽힙니다. 문법이 사람이 읽는 문장에 가깝고, 세미콜론이나 중괄호 같은 잔가지가 적어 "내가 하려는 일" 자체에 집중할 수 있기 때문입니다. 어디에 쓰이나 파이썬의 진짜 강점은 활용 범위입니다. 데이터 분석과 머신러닝(판다스, 넘파이, 텐서플로우)의...
웹 페이지에서 버튼을 누르면 메뉴가 펼쳐지고, 스크롤하면 애니메이션이 따라오는 그 모든 동작의 뒤에는 자바스크립트(JavaScript)가 있습니다. 브라우저가 직접 실행하는 사실상 유일한 언어라서, 웹 프론트엔드를 한다면 선택이 아니라 필수입니다. 브라우저를 넘어서 한때 "브라우저 안의 장난감" 취급을 받던 시절도 있었지만, Node.js의 등장으로 서버까...
자바스크립트로 규모가 큰 프로젝트를 만들다 보면 꼭 겪는 일이 있습니다. 분명 숫자라고 생각했던 값이 문자열이어서 엉뚱한 결과가 나오는 일. 타입스크립트(TypeScript)는 이런 실수를 코드를 실행하기 전에 잡아줍니다. 무엇이 다른가 타입스크립트는 자바스크립트에 타입(type)이라는 안전장치를 더한 언어입니다. 작성한 코드는 결국 평범한 자바스크립트로 ...
은행, 대기업 시스템, 안드로이드 앱. 우리가 매일 쓰는 서비스의 보이지 않는 뒤편에는 자바(Java)가 깔려 있는 경우가 정말 많습니다. 1995년에 등장했는데도 여전히 가장 수요가 많은 언어 중 하나라는 사실이 그 안정성을 증명합니다. "한 번 작성하면 어디서나 실행" 자바의 핵심 철학은 Write Once, Run Anywhere입니다. 코드를 JVM...
서버를 여러 대로 늘리고 트래픽을 견뎌야 하는 시대에, 구글은 "빠르고 단순하면서 동시성에 강한" 언어를 원했습니다. 그렇게 태어난 것이 Go(고)입니다. 도커, 쿠버네티스 같은 핵심 인프라 도구들이 Go로 만들어졌다는 사실만으로도 그 위상을 알 수 있습니다. 무엇이 매력인가 Go는 문법이 의도적으로 작고 단순합니다. 배울 게 적어서 며칠이면 기본기를 익힐...
C/C++처럼 빠르면서도, 메모리 관련 버그를 컴파일 단계에서 막아주는 언어가 있다면? 그게 바로 러스트(Rust)입니다. 개발자들이 "가장 사랑하는 언어" 설문에서 해마다 1위를 차지하는 데는 이유가 있습니다. 소유권이라는 독특한 개념 러스트의 핵심은 소유권(ownership)입니다. 가비지 컬렉터 없이도 메모리를 안전하게 관리하기 위해, 어떤 값을 누가...
게임 엔진, 자율주행, 고빈도 트레이딩, 영상 처리. 1밀리초가 아쉬운 분야에서는 지금도 C++가 왕좌를 지키고 있습니다. 하드웨어를 거의 직접 제어할 수 있을 만큼 저수준이면서, 객체지향 같은 고수준 기능도 갖춘 독특한 언어입니다. 강력함의 대가 C++는 메모리를 개발자가 직접 다룹니다. 그만큼 극한의 성능을 끌어낼 수 있지만, 실수하면 프로그램이 통째로...
자바로 안드로이드 앱을 짜다 보면 "왜 이렇게 코드가 길지?" 싶을 때가 많습니다. 이 불편을 정조준해서 나온 언어가 코틀린(Kotlin)이고, 지금은 구글이 지정한 안드로이드 공식 1순위 언어입니다. 자바와 100% 친구 코틀린은 JVM에서 돌아가고 자바와 완벽하게 호환됩니다. 기존 자바 프로젝트에 코틀린 파일을 섞어 쓸 수 있어서, 점진적으로 갈아타기 ...
유니티(Unity)로 게임을 만들어 보고 싶다는 마음에 프로그래밍을 시작하는 사람이 많습니다. 그 유니티의 언어가 바로 C#(씨샵)입니다. 마이크로소프트가 만든 언어로, 게임뿐 아니라 윈도우 앱, 웹 서버(ASP.NET)까지 폭넓게 쓰입니다. 균형 잡힌 언어 C#은 자바와 비슷한 객체지향 언어지만, 문법이 더 현대적이고 편의 기능이 풍부합니다. .NET이라...
앱스토어에 내 앱을 올리는 상상을 해본 적 있나요? 아이폰, 아이패드, 맥 앱을 만들려면 애플이 만든 언어 스위프트(Swift)를 배우는 것이 정석입니다. 기존의 어려운 Objective-C를 대체하기 위해 현대적이고 안전하게 설계됐습니다. 안전하고 빠르게 스위프트는 "안전성"을 특히 강조합니다. 널 값을 옵셔널(?)로 명시적으로 다루게 해 흔한 크래시를 ...