다른 서비스
NEW
기획
디자인
개발
프로덕트
아웃소싱
프리랜싱
비즈니스
최근 검색어
전체 삭제
최근 검색어가 없습니다.

개발

나에게 맞는 웹 기술 스택을 고르는 방법

 

본문은 요즘IT와 번역가 Mr.P가 함께 만든 해외 번역 콘텐츠입니다. 이 글을 작성한 The Educative Team은 직접 하면서 배우는 개발자 학습 플랫폼 Grokking의 콘텐츠 발행팀입니다. 이번 글은 웹 개발을 위한 여러 인기 기술 스택을 살펴보고, 어떤 장단점이 있는지 분석하는 내용입니다.

 
웹 기술 스택

 

세상에는 웹 개발을 하기 위한 많고도 다양한 기술 스택이 존재합니다. 그러나 어떤 스택을 채택해야 하는지, 언제 그것을 사용할 수 있는지를 아는 것은 특히 초보자에게 어려운 일입니다. 이 글을 통해서 우리는 웹 개발을 위한 여러 인기 있는 기술 스택들을 살펴본 뒤 그것들의 장단점을 분석할 것입니다. 그 후에 우리는 일반적인 소프트웨어 개발, 웹 개발, 모바일 웹 앱 개발 등의 목적에 따라서 웹 개발 기술 스택을 고르기 위한 몇 가지 팁을 제공할 것입니다.

 

이제 시작하겠습니다!

 

 

기술 스택이란?

우선, 기술 스택이란 무엇일까요?

 

기술 스택이란 웹사이트나 웹 앱을 만들기 위한 언어, 데이터베이스, 프레임워크의 집합입니다. 일반적인 웹 개발 스택은 다음을 포함한 프론트엔드, 백엔드 기술이 혼합되어 있습니다.

 

  • 프레임워크: 다른 개발자가 작성한 코드 라이브러리입니다. 이는 웹 애플리케이션을 제작할 때 처음부터 시작하지 않아도 되기 때문에 도움이 될 수 있습니다.
  • 웹 서버/HTTP 서버: HTTP(Hypertext Transfer Protocol) 서버는 이메일을 보내거나 받고, 파일을 다운로드하는 등의 요청을 다룹니다.
  • 데이터베이스: 데이터베이스는 데이터를 저장하고 구성합니다. 데이터는 다양한 방법으로 검색, 변경, 업데이트, 관리할 수 있습니다.
  • 프로그래밍 언어: 컴퓨터가 이해할 수 있는 방식으로 명령어(Instruction)를 전달하는 데 사용됩니다.
  • 운영체제 (OS): 하드웨어, 소프트웨어, 기타 응용 프로그램이나 리소스를 관리하는 소프트웨어입니다.

 

모든 개발 요구사항을 처리하기 위한 다양한 기술 스택이 존재하며, 프로젝트의 요구에 따라서 그에 맞는 기술 스택이 매번 달라집니다. 예를 들어 만일 여러분이 많은 트래픽과 데이터를 처리해야 하는 고성능의 웹 사이트나 웹 애플리케이션을 생각하고 있다면, 강력한 백엔드 지원을 포함한 기술 스택을 채택해야 합니다.

 

마찬가지로 만일 여러분이 제한된 기능과 자원 속에서 빠르게 시작하고 실행해야 하는 웹 사이트를 구축하기를 원한다면(간단한 랜딩 페이지같이), 가볍고 세팅이 간단한 기술 스택을 고르는 것이 좋습니다.

 

 

웹 개발을 위한 인기 있는 기술 스택

웹 개발을 위해 사용할 수 있는 다양한 기술 스택이 존재합니다. 그러나 이 글에서는 다음을 다룰 것입니다:

  • LAMP: Linux, Apache, MySQL, PHP/Perl/Python
  • WAMP: Windows, Apache, MySQL, PHP/Perl/Python
  • MAMP: macOS, Apache, MySQL, PHP/Perl/Python
  • MEAN: MongoDB, Express.js, AngularJS, Node.js
  • MERN: MongoDB, Express.js, ReactJS, Node.js
  • MEVN: MongoDB, Express.js, Vue.js, Node.js
  • Django: Django, Python

 

기술 스택을 고르기 위해 고려해야 할 포인트

  • 요구 사항 정의: 제품이 무엇을 하며, 여러분의 비전을 달성하기 위해 어떤 조건이 필요하나요?
  • 시장 조사: 잠재적인 경쟁자를 조사하고, 아직 충족되지 않은 요구사항을 기회로 만든 후 타깃으로 하는 고객을 분석합니다.
  • 제품의 실행 가능성: 프로토타입(최소 기능 제품 혹은 MVP라고도 불리는)을 만들고 타깃으로 하는 시장에서 테스트 후, 유의미하게 사용되는지 확인합니다.
  • 확장성 고려: 제품이 성장할 때 어떻게 하면 제품의 품질과 통제를 잃지 않고 유저를 더 많이 수용할 수 있을까요? 확장을 위한 해결책으로서 다른 기술 스택은 어떨까요?
  • 보안: 웹 애플리케이션과 사용자 데이터를 어떻게 보호해야 할까요?
  • 가격 비교: 몇몇 기술 스택은 다른 기술 스택에 비해서 호스팅이나 다른 자원에 대해 많은 비용을 요구합니다. 제품에 가장 경제적인 것을 선택해야 합니다.

 

LAMP

LAMP는 많은 트래픽을 요구하는 페이스북, 위키피디아, 텀블러에서 사용되는 전통적인 기술 스택입니다.

 

LAMP는 다음으로 이루어져 있습니다:

  • 리눅스(Linux) (운영체제)
  • 아파치(Apache) (서버)
  • MySQL(데이터베이스)
  • PHP/펄(Perl)/파이썬(Python) (프로그래밍 언어)

 

리눅스: 리눅스 OS는 LAMP의 기반을 다져줍니다. 이는 무료이며 쉽게 수정할 수 있기 때문에 개발자들에게 인기 있는 오픈소스 플랫폼입니다. 반면에 윈도우는 클로즈드 소스(closed-source)[1] 플랫폼입니다. 따라서 여러분은 작동 방식에 대한 제어 권한이 리눅스와 비교하면 그다지 많지 않습니다. 리눅스는 또한 대규모 개발자 커뮤니티와 많은 양의 문서를 제공합니다.

 

아파치: 아파치는 많은 양의 트래픽과 데이터를 처리할 수 있는 크로스 플랫폼이자 오픈소스 HTTP 서버입니다. 1996년부터 사용해온 아파치는, 빠르고, 안전하며, 신뢰할 수 있습니다. 아파치는 모듈화 되어 있으며 필요에 따라 성능을 최적화하도록 사용자가 설정할 수 있습니다.

 

MySQL: MySQL는 관계형 데이터베이스 관리 시스템으로 행과 열로 구성된 표 형식으로 데이터를 저장하고 보여줍니다. MySQL 또한 오픈소스이며, 사용하기 편리합니다. MySQL는 확장성을 지원하며 많은 양의 데이터를 처리할 수 있지만, 너무 거대한 데이터베이스를 처리할 때는 성능과 효율성이 저하될 수 있습니다.

 

PHP/펄/파이썬: PHP는 LAMP와 함께 사용되는 가장 인기 있는 프로그래밍 언어이며 대부분의 서버와 호환됩니다. 게다가 상대적으로 배우기 쉽고 다양한 라이브러리와 프레임워크를 제공합니다. 펄과 파이썬 또한 PHP를 대신하여 사용되고 있습니다.

  • 펄: 강력한 고급 객체 지향 언어지만 초보자가 배우기 어려운 복잡한 문법을 가졌습니다.
  • 파이썬: 확장성이 좋으며 여러 방면으로 사용할 수 있는 언어입니다. 가독성이 좋아 개발자들에게 인기 있는 언어이기도 합니다. 또한 파이썬은 머신러닝과 과학, 수학적 연산에서 널리 사용되는 언어이기도 합니다.

 

장점단점
  • 소유권이 없으며, 오픈소스입니다.
  • 오랫동안 사용되어 왔습니다.
  • 스택의 구성요소는 필요에 따라 교체될 수 있습니다. 따라서 높은 유연함이 존재합니다.
  • 사용과 초기 설정이 쉽습니다. 특히 초보자에게 유용합니다.
  • MySQL과 PHP는 이미 많은 웹 호스팅에 사용되었습니다.
  • 경제적입니다.
  • 제한된 확장성으로 인해 대규모 애플리케이션에는 적합하지 않습니다.
  • MySQL은 상대적으로 배우기 쉽습니다. 그러나 고성능의 애플리케이션에 있어서 최선의 선택지는 아닙니다.
  • 공유 서버가 성능 이슈를 유발할 수 있습니다.

 

 

WAMP와 MAMP

WAMP와 MAMP는 각각 리눅스를 대신하여 마이크로소프트의 윈도우와 맥 OS(Mac OS)에서 사용할 수 있도록 설계된 LAMP의 변형된 버전입니다.

 

MEAN

MEAN은 유튜브(YouTube), 넷플릭스(Netflix), 페이팔(PayPal)과 같은 웹 사이트를 제작하는 데 사용된 자바스크립트(JavaScript) 웹 프레임워크입니다. MEAN은 이미 자바스크립트에 친숙하거나, 개발 진행 속도를 높이려는 사람들에게 훌륭한 기술 스택입니다.

 

MEAN은 다음으로 이루어져 있습니다:

  • 몽고디비(MongoDB) (데이터베이스)
  • Express.js (Node.js용 웹 프레임워크)
  • Angular.js (프론트엔드 프레임워크)
  • Node.js (서버)

 

몽고디비: 몽고디비는 프론트엔드 프레임워크(이 경우 Angular.js)에서 생성된 JSON 문서를 Express.js에서 처리한 후 저장하는 오픈소스 프레임워크입니다. 몽고디비는 많은 양의 데이터를 저장할 수 있고, 클라이언트-서버 간의 빠른 데이터 교환을 가능하게 하며, 클라우드 호환성을 지녔습니다.

 

Express.js: Express는 Node.js 서버에서 실행되는 가벼운 백엔드 웹 프레임워크입니다. Express.js는 URL 라우팅과 HTTP 요청 처리에 탁월한 성능을 가지고 있습니다. Express.js는 웹 프레임워크로부터 JSON 문서를 받고, 그것을 처리하며 몽고디비에 저장합니다.

 

Angular.js: Angular.js는 빠르고, 오픈 소스이며, 본격적인 프론트엔드 프레임워크입니다. Angular.js는 강력하게(그러나 너무 엄격하지 않게) MVC(Model-View-Controller) 구조를 따르고 있습니다.

 

Node.js: Node.js는 비동기 이벤트 기반 자바스크립트 런타임 환경입니다. 비동기 서버로서 Node.js는 메모리에 대해 매우 효율적입니다. 또한 Node.js는 오픈소스이며, 윈도우, 맥, 리눅스 등 어느 환경에서 실행될 수 있는 크로스 플랫폼입니다.

 

장점단점
  • 빠른 개발 속도를 지녔습니다.
  • 오직 하나의 프로그래밍 언어(자바스크립트)를 사용합니다.
  • 오픈소스이며 무료입니다.
  • 새로운 기능을 추가하기 쉬운 거대한 라이브러리 모듈이 존재합니다.
  • MVC 구조입니다.
  • 클라우드 호환성을 지녔습니다.
  • 웹 애플리케이션이 서버로 바로 배포될 수 있습니다.
  • 자바스크립트는 완벽하게 숙달하기 어려울 수 있습니다.
  • 모바일 애플리케이션 지원을 위해 Native Script[2]가 필요합니다.
  • 테스트를 위한 프레임워크가 없습니다.

 

 

MERN과 MEVN

MERN과 MEVN은 앞서 다룬 MEAN과 유사하지만, Angular.js를 대신해 각각 리액트와 Vue.js를 사용합니다.

 

우리는 우선 MERN을 살펴본 후, MEVN과 어떤 차이점이 있는지 알아보겠습니다.

 

MERN

MERN은 MEAN, MEVN과 매우 비슷합니다. 그러나 프론트엔드 프레임워크로 Angular.js나 Vue.js 대신 리액트를 사용한다는 점에서 차이가 있습니다. MERN는 드롭박스(Dropbox), 페이스북(Facebook), 에어비엔비(Airbnb)와 같은 회사에서 사용되고 있습니다. MERN는 MEAN의 많은 이점을 함께 공유하고 있지만, 리액트의 Angular.js에 비해 완곡한 러닝 커브를 그리고 있습니다.

 

MERN은 다음으로 이루어져 있습니다:

  • 몽고디비 (데이터베이스)
  • Express.js (Node.js용 웹 프레임워크)
  • 리액트 (프론트엔드 프레임워크)
  • Node.js (서버)

 

몽고디비: 몽고디비는 프론트엔드 프레임워크(이 경우 리액트)에서 생성된 JSON 문서를 Express.js에서 처리한 후, 저장하는 오픈소스 프레임워크입니다. 몽고디비는 많은 양의 데이터를 저장할 수 있고, 클라이언트-서버 간의 빠른 데이터 교환을 가능하게 하며, 클라우드 호환성을 지녔습니다.

 

Express.js: Express는 Node.js 서버에서 실행되는 가벼운 백엔드 웹 프레임워크입니다. Express.js는 URL라우팅과 HTTP 요청 처리에 탁월한 성능을 가지고 있습니다. Express.js는 웹 프레임워크로부터 JSON문서를 받고, 그것을 처리하며 몽고디비에 저장합니다.

 

리액트: 빠르고, 확장이 용이한, 오픈 소스 자바스크립트 라이브러리로 MERN 스택의 프론트엔드 프레임워크로써 사용되었습니다. 리액트는 웹 페이지 조작을 쉽게 만들어주는 가상 DOM을 제공합니다. 그러나 네이티브 DOM을 사용하는 MEAN에 비해 약간 느립니다. 또한 리액트는 컴포넌트 기반의 라이브러리를 사용합니다. 이는 애플리케이션의 다른 파트에서 코드 재사용을 쉽게 해 줍니다. 게다가 여러분이 자바스크립트가 어떻게 작동하는지 알고 계신다면 리액트를 쉽게 배울 수 있습니다.

 

Node.js: Node.js는 비동기 이벤트 기반 자바스크립트 런타임 환경입니다. 비동기 서버로서, Node.js는 메모리에 대해 매우 효율적입니다. 또한 Node.js는 오픈소스이며, 윈도우, 맥, 리눅스 등 어느 환경에서 실행될 수 있는 크로스 플랫폼입니다.

 

MEVN

MEVN은 Angular.js나 리액트 대신에 Vue.js를 웹 프레임워크로 사용합니다. Vue.js 사용자 인터페이스(UI)를 구축하기 위한 가장 인기 있는 자바스크립트 프레임워크 중 하나입니다. MEVN는 알리바바(Alibaba), 비핸스(Behance), 깃 랩(GitLab)과 같은 웹 사이트를 구축하는 데 사용되었습니다. Vue.js는 미티어(Meteor)와 도커(Docker)와도 호환됩니다.

 

MEVN은 다음으로 이루어져 있습니다:

  • 몽고디비 (데이터베이스)
  • Express.js (Node.js용 웹 프레임워크)
  • Vue.js (프론트엔드 프레임워크)
  • Node.js (서버)

 

MongoDB: 몽고디비는 프론트엔드 프레임워크(이 경우 리액트)에서 생성된 JSON 문서를 Express.js에서 처리한 후, 저장하는 오픈소스 프레임워크입니다. 몽고디비는 많은 양의 데이터를 저장할 수 있고, 클라이언트-서버 간의 빠른 데이터 교환을 가능하게 하며, 클라우드 호환성을 지녔습니다.

 

Express.js: Express는 Node.js 서버에서 실행되는 가벼운 백엔드 웹 프레임워크입니다. Express.js는 URL 라우팅과 HTTP 요청 처리에 탁월한 성능을 가지고 있습니다. Express.js는 웹 프레임워크로부터 JSON문서를 받고, 그것을 처리하며 몽고디비에 저장합니다.

 

Vue.js: Vue.js는 MVVM[3] 아키텍처를 기반으로 만들어진 점진적인 프레임워크(Progressive Framework)입니다. 새로운 기능이나 함수를 추가하는 것은 간단한 과정이며, (단지 패키지를 추가하면 됩니다) 프로젝트에 점진적으로 통합할 수 있습니다. Vue.js는 직관적이고 읽기 쉬운 문법을 가지고 있어서 오픈소스 커뮤니티의 개발자들에게 인기 있는 언어입니다.

 

Node.js: Node.js는 비동기 이벤트 기반 자바스크립트 런타임 환경입니다. 비동기 서버로서, Node.js는 메모리에 대해 매우 효율적입니다. 또한 Node.js는 오픈소스이며, 윈도우, 맥, 리눅스 등 어느 환경에서 실행될 수 있는 크로스 플랫폼입니다.

 

 

장고(Django)

장고는 빠른 개발과 깨끗하고 잘 구성된 코드를 권장하는 고급(High-level) 파이썬 웹 개발 프레임워크입니다. 장고의 유연한 아키텍처와 손쉬운 사용으로 인해 웹 개발자 사이에서 인기 있지만 배우기가 다소 어려울 수 있습니다. 장고 기술 스택은 인스타그램(Instagram)과 핀터레스트(Pinterest) 개발에 사용되었지만 핀터레스트는 이후 Flask로 프레임워크를 변경했습니다.

 

장고 스택은 언제나 장고와 파이썬을 사용합니다. 그러나 서버와 데이터베이스는 선호에 따라 다르게 선택할 수 있습니다.

 

장고 기술 스택의 하나의 예시입니다:

  • 장고 (웹 프레임워크)
  • 파이썬 (프로그래밍 언어)
  • 아파치 (서버)
  • MySQL (데이터베이스)

 

장고: 다양하고 즉시 사용할 수 있는 기능을 갖춘 종합적이고 다목적의 웹 프레임워크입니다. 장고는 빠른 개발과 깔끔한 설계를 우선순위로 둡니다. 장고는 다양한 웹 호스팅 제공업체 및 데이터베이스와 호환되며 관리자 패널, ORM[4], 템플릿, 인증(패키지를 통해) 등을 제공합니다.

 

파이썬: 확장성이 좋으며 여러 방면으로 사용할 수 있는 언어입니다. 가독성이 좋아 개발자들에게 인기 있는 언어이기도 합니다. 또한 파이썬은 머신 러닝과 과학, 수학적 연산에서 널리 사용되는 언어이기도 합니다.

 

아파치: 아파치는 많은 양의 트래픽과 데이터를 처리할 수 있는 크로스 플랫폼이자 오픈소스 HTTP 서버입니다. 1996년부터 사용해온 아파치는, 빠르고, 안전하며, 신뢰할 수 있습니다. 아파치는 모듈화 되어 있으며 필요에 따라 성능을 최적화하도록 사용자가 설정할 수 있습니다.

 

MySQL: MySQL는 관계형 데이터베이스 관리 시스템으로, 행과 열로 구성된 표 형식으로 데이터를 저장하고 보여줍니다. MySQL 또한 오픈소스이며, 사용하기 편리합니다. MySQL는 확장성을 지원하며 많은 양의 데이터를 처리할 수 있지만, 너무 거대한 데이터베이스를 처리할 때는 성능과 효율성이 저하될 수 있습니다.

 

장점단점
  • 빠른 개발 속도를 가졌습니다.
  • 국제화와 현지화를 지원합니다.
  • 대규모의 서드파티(Third-party) 라이브러리가 존재합니다.
  • MVC 아키텍처를 사용합니다.
  • 일반적인 코딩 컨벤션[5]이 부족합니다.
    역주: 현재는 장고 코딩 컨벤션공식문서가 존재합니다.
  • 이미 존재하는 변수와 파일, 규칙을 장고에 배포하기 전에 미리 공부해야 합니다.
  • 배우기가 어렵습니다.

 

 

어떤 기술 스택을 사용해야 하나요?

지금까지 우리는 여러 인기 있는 개발 스택에 대해 살펴보았습니다. 아마도 여러분은 어떤 기술 스택이 여러분에게 가장 좋은 선택지 일지 궁금해하실 수 있습니다. 정답은 여러분의 프로그래밍 경험과 여러분의 목적에 있습니다.

 

만약 여러분이 웹 개발이 처음이시라면, MEAN이나 MERN이 좋은 시작점이 될 수 있습니다. 이러한 스택은 상대적으로 배우기 쉽고 하나의 언어(자바스크립트)만을 사용하기에 일을 간편하게 할 수 있습니다.

 

만약 여러분이 조금 더 개발에 경험이 있거나, 좀 더 유연한 스택을 찾으신다면 LAMP나 MEVN과 같은 스택이 더 나은 선택지가 될 것입니다. 이 기술 스택들은 사용하려는 도구와 기술을 더 자유롭게 선택할 수 있습니다.

 

만일 자바스크립트를 프론트엔드와 백엔드 둘 다 사용하고 싶으시다면, 자바스크립트 기반 스택들(MEAN, MERN, MEVN)이 좋은 선택입니다. 만약 프론트엔드와 백엔드의 언어를 다르게 사용하고 싶으시다면 LAMP, WAMP, MAMP가 더 낫습니다.

 

또한 이러한 스택을 엄격히 준수할 필요는 없습니다. 원하는 경우에 다른 기술을 혼용해서 사용할 수 있습니다. 궁극적으로 가장 중요한 것은 목표를 달성하는 데 가장 도움이 되는 도구와 기술을 사용하는 것입니다.

 

 

스택을 선택하고, 통달하기까지의 팁

웹 개발이 처음이라면, 다양한 툴과 기술을 배울 때 하나를 깊게 하기보다 다양하게 넓게 배우고 싶다는 유혹에 빠질 수 있습니다. 그러나 일반적으로 하나의 스택에 집중하여 공부하는 것이, 스택에 포함된 구성요소를 마스터하는 데 도움이 될 수 있습니다.

 

이러한 관점에서 기술 스택을 고르고 통달하는 것에 대한 몇 가지 팁이 있습니다.

  • 흥미와 커리어 목표를 정의하기. 여러분의 필요와 가장 부합한 기술 스택을 선택할 수 있습니다.
  • 천리길도 한 걸음부터. 처음부터 기술 스택의 모든 것을 알려고 할 필요는 없습니다. 스택에 있는 구성요소의 기본적인 기능을 연습하는 것에서부터 시작하세요.
  • 끊임없이 시도하고 실험하기. 만일 지금 고른 스택이 여러분과 맞지 않는다고 생각된다면, 다른 스택을 적용해보고 가장 적합한 스택을 확인하세요.
  • 시간을 쏟아 선택한 스택의 기술을 마스터하기. 스택에 있는 도구를 더 잘 아는 것이, 개발자의 생산성을 높여주는 길입니다.

 

여러분이 어떤 스택을 선택하였던, 가장 중요한 것은 끊임없이 학습하고 기술의 폭을 넓혀가는 것임을 잊지 마세요. 그렇게 할 수만 있다면, 머지않아 여러분들은 멋진 웹 애플리케이션을 만들 수 있을 것입니다.

 

 

글을 마치며

평생의 개발자 커리어 동안 하나의 기술 스택을 고수해야 한다는 생각하는 실수를 저지르지 마세요. 웹 개발의 아름다움은 문제를 해결하기 위한 기술과 방법이 언제나 새롭게 생겨난다는 점에 있습니다. 따라서 마음을 열고, 새로운 스택의 도입을 실험해보세요. 그리고 업계의 발전에 적응하세요.


[1] 사유화되어 소스코드가 외부에 공개되지 않은 프로젝트
[2] 자바스크립트 기반의 모바일 애플리케이션 지원을 위한 프레임워크
[3] Model, View, ViewModel로 이루어진 코드 디자인 패턴.
[4] 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것
[5] 코드의 가독성을 높이기 위해 코드를 작성할 때 모두가 지키자고 약속한 일종의 규칙
 

<원문>

How to choose the right tech stack for web development

 

위 번역글의 원 저작권은 The Educative Team에게 있으며, 요즘IT는 해당 글로 수익을 창출하지 않습니다.

댓글 0

요즘IT의 번역글들

이 프로필을 만든 저만 해도 영어가 서툴러 영어로 된 기사는 읽는 게 더딥니다. 그래서 준비했습니다. 읽어볼만한 해외 소식들을 번역해 전합니다. We are the world.

북극성 지표(North Star Metric) 선택하기

비즈니스

피그마는 여러분을 나쁜 디자이너로 만들고 있습니다

디자인

인터랙션 디자인 vs 시각 디자인

디자인

좋은 디자인 포트폴리오를 만드는 팁

디자인

윈도우11은 실패작이다

프로덕트

“파이썬은 느리다”에 대한 반론

개발

파이썬 초보자가 저지르는 10가지 실수

개발

우리가 주목할 UI/UX 디자인 트렌드

디자인

2022년 프론트엔드 개발 동향

개발

코드 리뷰 문화

개발

데이터 분석가는 무슨 일을 할까요?

개발

최고의 오픈 소스 개발 도구 Top 8

개발

데이터 분석이란 무엇일까?

개발

Flutter로 UI를 구현하는 방법

개발

자바 언어의 장단점과 2022년 트렌드

개발

데브옵스(DevOps) vs 데브섹옵스(DevSecOps)

개발

엑셀을 사용한 아름다운 데이터 시각화

디자인

여러분을 더 나은 플러터 개발자로 만들어줄 7가지 프로젝트

개발

모든 디자이너가 숙지해야 할 피그마 팁과 노하우

디자인

디자인 원칙과 디자인 가치, 그리고 디자이너

디자인

디자인, 산출물 그 이상을 넘어

디자인

이 회사는 디자인에 투자하고 있는 회사일까요?

디자인

애자일은 정말 디자인을 배제하나요?

디자인

평판 관리가 프리랜서 경력에 미치는 영향

프리랜싱

리액트 네이티브 개발자들이 겪는 가장 빈번한 5가지 문제와 해결책

개발

“솔직히 우리가 하는 것은 스크럼이 아닙니다!”

기획

데이터 시각화가 인류를 위기에서 구한 세 가지 역사적 사건

디자인

NFT의 장밋빛 미래는 사실일까?

기획

피그마 토큰으로 디자인 시스템 만들기

디자인

디자이너+개발자 = 슈퍼팀 만들기

기획

1인 개발자로서 테크 스타트업을 운영하며

기획

웹 디자이너가 PX대신 REM을 사용해야 하는 이유

디자인

100개의 스타트업을 멘토링하며 깨달은 성공의 비밀

기획

중화권 앱 UI가 영미권 앱 UI와 다른 점 알아보기

프로덕트

내가 테크 리더로 일하면서 얻은 8가지 교훈

기획

모두가 즐길 수 있는 디자인 검토 회의 만들기

디자인

프로덕트 매니저에서 프로덕트 마스터로

기획

10배 이상 뛰어난 개발자가 되는 법

개발

제품 디자인 관점에서 바라보는 NFT 아바타 열풍

디자인

에어비앤비: 대규모 iOS 앱 개발 생산성을 위해 바꾼 것들

개발

스포티파이: 맞춤형 플레이리스트 개발 비하인드 스토리

개발

프리랜서가 일하게 될 15가지 유형의 프로젝트

프리랜싱

슬랙: 제품 원칙을 통해 다시 태어난 알림 기능

프로덕트

페이팔: 실시간 그래프 데이터베이스 분석을 통해 사기를 방지하는 방법

개발

트위터: 수십억 개의 이벤트를 실시간 처리하기

개발

슬랙: 4가지 애자일 가치와 방법

기획

스퀘어: 모바일 우선을 넘어 웹에서 누리는 모바일앱 경험

디자인

스포티파이: 카피를 언어로 만드는 UX 라이팅

기획

마이크로소프트: 디자인의 미래를 위한 4가지 원칙

디자인

메타: AR/VR 경험까지 고려한 디자인 청사진

프로덕트

슬랙: 훌륭한 마케팅 카피를 위한 5가지 원칙

기획

2022년 UX/UI 디자인 트렌드

디자인

구글: 가변 폰트의 놀라운 활용법

디자인

에어비앤비: 위기 상황에서의 디자인 원칙 5가지

디자인

어떻게 두 명의 인턴이 수백만 개의 코드들을 보호할 수 있었나

개발

Lattice로 마이크로 프론트엔드를 구축하는 법

개발

Cool Cats NFT를 구축하면서 배운 것

개발

웹 컴포넌트가 프론트엔드 프레임워크를 대신할까?

개발

당신이 NFT에 대해 알아야 할 모든 것

개발

우리에겐 이상하지만 개발자들에겐 일상인 일들

개발

Next.js 12에서 주목해야 할 5가지 변화

개발

스벨트 vs 리액트, 누가 더 뛰어날까?

개발

개발자를 위한 iOS 15의 새로운 기능

개발

내가 오픈소스를 싫어하는 이유

개발

프로덕트 매니지먼트 고객 여정 5단계

기획

클럽하우스의 인기는 모두 거품이었다?

프로덕트

데이터 기반 의사결정의 장점

기획

시각 디자인의 폐쇄성 법칙이란?

디자인

사용자 경험(UX) vs 서비스 디자인

기획

프로덕트 매니저는 하루 종일 무슨 일을 할까?

기획

제품 주도 성장은 어떻게 이루어지는가?

기획

UX를 망치지 않는 설득력 있는 배너 디자인

디자인

팝업(Pop-up)으로 불리는 것들에 대하여

디자인

드롭다운(Drop-down)으로 불리는 것들에 대하여

디자인

당신의 생각을 표현하는 새로운 이모지

디자인

가장 똑똑한 소프트웨어 엔지니어에게 배운 10가지 교훈

개발

성공적인 UX 프로젝트를 위한 가장 중요한 질문

디자인

2021년, UI 디자이너가 모바일 앱에서 흔히 저지르는 실수

디자인

IT 매니저가 되는 방법과 성공하기 위한 요소

기획

슬랙(Slack) 같은 앱을 만들려면 비용이 얼마나 들까?

개발

아웃소싱이 이토록 인기를 얻게 된 이유는?

아웃소싱

마케터가 UX 관련 역량을 키워야 하는 이유

기획

미니멀리즘 디자인의 핵심적인 요소들

디자인

새로운 소프트웨어 개발사가 필요하다는 7가지 신호

아웃소싱

2021년을 이끌어가는 프론트엔드 개발 트렌드 5가지

개발

PM을 성장시키는 학습 프레임워크

기획

UI 카피라이팅, 어떻게 써야 하나요?

기획

트렌드 예측: 경쟁에서 앞서는 방법

기획

제품 사고(product thinking)의 힘

기획

인하우스 vs 아웃소싱, 소프트웨어 개발 어떻게 하나요?

개발

그림을 못 그리는 사람도 쉽게 와이어프레임 그리는 방법

기획

스타트업 기업들에게 아웃소싱이 중요한 이유

아웃소싱

제품과 기능, 성공적으로 종료하는 방법 (下)

기획

제품과 기능, 성공적으로 종료하는 방법 (中)

기획

제품과 기능, 성공적으로 종료하는 방법 (上)

기획

UX 디자이너에게 반드시 필요한 12가지 스킬

디자인

패스워드 없는 세상이 오고 있다

개발

디자이너를 쉽게 잃는 방법 10가지

디자인

프론트엔드 코딩 작업에 영감을 줄 8가지 아이디어

개발

구글이 아웃소싱을 하는 이유: 아웃소싱 성공사례 5가지

아웃소싱

일 잘하는 PM이 되기 위한 로드맵 도구 5가지

기획

이제는 말할 수 있다! 아웃소싱에 대한 오해 11가지

아웃소싱

디자인 트렌드, 모던 미니멀 스타일의 UI 가이드

디자인

MVP 개발을 아웃소싱으로 해도 될까요?

개발

온보딩 효과를 높이는 '좋은' 귀차니즘 3가지

기획

게임처럼 즐겨라, 게임화 기법 TOP3

기획

시니어 소프트웨어 엔지니어는 어떻게 일할까?

개발

프로덕트 매니저가 글을 잘 써야 하는 이유

기획

2030년엔 사라질 수도 있는 프로그래밍 언어 5가지

개발

고객들이 언제나 옳은 것은 아니다

기획

유저 스토리는 무엇인가?

기획

고객 성공을 위한 14계명

기획

8px 그리드 시대가 끝나고, 4px 그리드의 시대가 열릴까?

디자인

모바일 앱은 더 이상 스타트업에게 좋은 아이디어가 아니다

기획

과연 구글의 UX 강좌는 도움이 될까요?

디자인

프로덕트 매니저 여러분, ‘소비자의 요구사항 수집’을 그만두십시오

기획

고객 여정과 경험 지도의 차이점

기획

내가 AI 업계를 떠난 이유 5가지

기획

모달윈도우(팝업)를 디자인할 때 생각할 9가지 원칙

디자인

대기업 vs 중소기업, B2B SaaS 스타트업을 위한 시장은?

기획

내가 개발 인터뷰에서 면접자에게 감동한 이유

개발

HTTP의 새로운 메서드, 서치(SEARCH)에 대하여

개발

세상의 모든 프로덕트 디자이너를 위한 5가지 심리학 원칙

디자인

2021년 테스트 자동화 트렌드 리포트 (下)

개발

2021년 테스트 자동화 트렌드 리포트 (上)

개발

아마존과 스포티파이는 어떻게 사용자를 유지하고 측정할까?

기획

UX 디자이너라면 필수적으로 알아야 할 5가지 법칙

디자인

앵귤러 vs 리액트, 2021년의 승자는?

개발

2021년, SaaS 스타트업 시작을 위한 놀라운 아이디어 10가지

기획

디지털 제품 관리에서 B2B와 B2C 사이의 차이점은?

기획

빠르게 실행할 수 있는 ‘제품 요구사항 문서(PRD)’ 만들기

기획

더 나은 제품을 위한 프로덕트 메트릭스 가이드

기획

노 코드(No Code) 트렌드로 프로그래머들은 일자리를 빼앗길까?

개발

넷플릭스의 플랫폼: 코스모스(Cosmos)에 대하여

프로덕트

비즈니스와 애자일 조직은 어떻게 친해질 수 있을까요?

기획

효과적인 제품 전략 세우기: 다수의 전략적 트랙(MuST) 활용

기획

1년 만에 이메일 마케팅 효과를 극대화했던 방법

기획

솔루션 아키텍트를 위한 팁: 아키텍처 다이어그램의 5가지 유형

개발

새로운 맥 OS ‘빅서’에 대한 UX 디자이너의 생각

디자인

디자인 트렌드, 뉴모피즘의 정석

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 3편

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 2편

디자인

2021년 모바일 UX 트렌드 10가지

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 1편

디자인

앱 설정 기능의 UX를 개선하는 효과적인 방법

디자인

다크모드 UI 디자인의 원칙

디자인

온라인 고객 경험을 개선하기 위한 5가지 방법

기획

신생 스타트업에서 일하는 프로덕트 매니저를 위한 현실적인 조언

기획

웹 개발자와 소프트웨어 개발자의 차이는 무엇인가요?

개발

랜딩 페이지 디자인을 개선하는 13가지 꿀팁

디자인

오프라인 비즈니스가 온라인에서 존재감을 가져야 하는 이유 5가지

기획

상향식 가격 책정 및 패키징 정책: 사용자 여정을 가이드로 활용하기

기획

B2B 제품의 UX, 그것은 숨겨진 영역인가요?

기획

상단 내비게이션 vs 사이드 내비게이션, 어느 것이 더 나을까?

디자인

자동완성 검색 기능 UX 설계를 위한 8가지 팁

디자인

프로덕트 매니저는 전문적인 IT 기술을 갖춰야 하나요?

기획

실리콘밸리 51개 기업들이 말하는 프로덕트 매니저의 역할 9가지

기획

아웃소싱에 대한 모든 것

아웃소싱

앱 디자인 가이드, 사람들이 즐겁게 사용할 수 있는 앱을 만드는 법

디자인

처음부터 완제품이 아니라 ‘MVP’를 만들어야 한다

기획

플러터 vs 리액트 네이티브 vs 네이티브, 성능이 더 우수한 것은?

개발

스타트업 프로덕트 매니저로 성장하는 법, 30-60-90일 플랜

기획

당신의 두뇌는 진보하고 있다: 성취감을 위한 3가지 전략

기획

디자이너들을 편하게 해주는 HTML/CSS 마법 10가지

디자인

코딩의 미래는 ‘노 코드(No Code)’이다

개발

내가 엔지니어링 매니저로 일하면서 저지른 실수들

개발

내가 롬 리서치(Roam Research)를 좋아하는 이유와 실제 사용법 (下)

기획

내가 롬 리서치(Roam Research)를 좋아하는 이유와 실제 사용법 (上)

기획

프로그레시브 웹 앱(PWA)이란 무엇이며, 왜 필요한가?

개발

PWA vs 네이티브 앱, 어떤 것을 선택해야 할까?

개발

UI 디자인에 여백을 활용하는 8가지 팁

디자인

마이크로소프트와 링크드인의 새로운 시도, 프리랜서 마켓에 도전장을 던지다

기획

토마스넷은 왜 가입자 수를 폭발적으로 늘려준 테스트 결과를 거부했을까?

기획

잘 팔리는 기업용 소프트웨어 디자인하기

디자인

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 하편

개발

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 중편

개발

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 상편

개발

업워크(Upwork)가 조사한 요즘 가장 인기 좋은 개발 기술 15가지

개발

일자리 산업이 휴먼 클라우드(human cloud)에 적응하는 방법

기획

팬데믹 이후 세계에서의 디지털 가속화는 어떤 모습일까?

기획

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.