[독서 기록📚] 오늘도 개발자가 안 된다고 말했다 (3): 디자이너의 일
[독서 기록📚] 오늘도 개발자가 안 된다고 말했다 (2) 기획자의 일[독서 기록📚] 오늘도 개발자가 안 된다고 말했다 (1) 가깝고도 먼 개발자1. 어딘가 이상한 비전공자의 협업 기획자 김 군의 협
alwayshappydaysforever.tistory.com
1. 개발자 이해하기
웹 개발자 = FE, BE
1. 프론트엔드 개발자
1) 퍼블리싱: 웹 디자이너가 만든 디자인을 웹페이지에 입히는 작업
- 웹페이지 만들 때는 HTML과 CSS를 활용한다
- HTML: 다양한 태그들을 활용하여 웹 문서 구조 제작 / 현재 가장 보편화된 마크업 언어
- CSS: HTML로 작성된 문서를 레이아웃, 배치, 컬러, 폰트 등을 적용하여 시각적으로 아름답게 꾸미는 역할
2) 프론트엔드 개발
- 대표적인 개발 언어
- 자바스크립트
- 특징1: 가볍고, 실행 속도가 빠르며 러닝 커브가 낮다
- 특징2: HTML과 CSS로 만든 웹페이지는 정적인 느낌이라면, 자바는 동적인 느낌을 줌
- 특징3: 다양한 기능을 제공하는 웹 애플리케이션 개발에 집중 (싱글 페이지 애플리케이션 / UI 컴포넌트 집합)
2. 백엔드 개발자
- 서버 기반의 프로그래밍 언어로 클라이언트에서 요청하는 데이터를 처리하는 작업
- 웹 서버는 프레임워크를 기반으로 개발하여 클라이언트에 API 또는 View를 제공하며 MySQL, MongoDB, Oracle등 데이터베이스 제품을 웹 서버 프레임워크와 연결해 사용
- 대표 업무 : 데이터베이스와 연동하여 쓰기, 읽기, 수정, 삭제 등 데이터를 가공하는 비즈니스 로직 개발
- 특징 : 복잡한 업무 특성 때문에 한 가지 언어와 프레임워크를 고수하는 경우가 많다
- 소통: 백엔드 개발자와 원활한 소통과 협업을 하려면 이들이 사용하는 언어와 프레임워크가 어떤 것인지 이해하고 서비스의 방향성과 맞는 언어와 프레임워크는 어느 것인지 확인하는 과정이 중요
3. 풀스택 개발자
- 프론트엔드 개발 + 백엔드 개발이 가능한 개발자
- 대표적으로 MEAN Stack이 있다
모바일 개발자
모바일 = 모바일 웹(=웹 프론트엔드 개발자) + 네이티브 앱
1. iOS 개발자
- 언어: Swift(애플에서 직접 개발한 언어, 오픈소스로 공개) 혹은 Objective-C 언어 사용
- iOS 애플리케이션은 Mac 환경에서만 개발할 수 있고, 배포 또한 XCode라는 Mac 전용 개발 도구에서 가능
- XCode는 스토리보드라는 UI 편집도구 제공
- 배포가 까다로워 Testflight앱으로 테스트 진행
2. 안드로이드 개발자
- 언어: Java 혹은 Kotlin(안드로이드 스튜디오를 만든 JetBrain에서 새롭게 개발)
- 안드로이드 스튜디오라는 프로그램으로 개발
- 배포가 까다롭지 않다
3. iOS + 안드로이드 개발을 합친 하이브리드 앱 개발자
- 하나의 개발로 각각의 앱스토어에 배포할 수 잇는 방식
1) 웹뷰 패키징 방식
: 모바일 웹을 개발하고 안드로이드와 iOS의 웹뷰 UI에 연결하는 방식
: 단점 - 네이티브보다 느리고, 자연스럽지 X, 디바이스의 기능을 사용하기 힘듦
2) 네이티브 빌더 방식
<소통에 필요한 개발 용어>
용어 | 뜻 |
서버와 호스팅 | 웹페이지가 브라우저에 나타나려면 서버가 필요. 서버: 인터넷과 연결된 컴퓨터 / 호스팅: 서버를 임대해주는 서비스 > 소규모 회사나 개인이 운영하는 경우에는 전문 웹 호스팅 회사에서 운영하는 서버 사용 |
트래픽 | 웹사이트에 사용자가 방문하면 서버에서 다양한 데이터를 불러오는데, 이 때 사용되는 서버 데이터 전송량 = 트래픽 접속자 수에 비해 트래픽 용량이 적다면 서버 다운 |
프로토콜 | 컴퓨터, 서버, 네트워크 장비가 통신할 수 있도록 공용화된 언어 = 프로토콜 대표 프로토콜: HTTP, HTTPS, FTP,.... |
HTTP/HTTPS | 하이퍼텍스트 전송 프로토콜의 약자, 서버에서 데이터를 전송해주는 가장 기본적인 프로토콜 > 하지만 암호화되지 않아 내용 노출 가능성 - 보안 문제를 보완해주는 프로토콜: HTTPS |
SSL | 서버와 브라우저 사이의 데이터 보안을 위해 만들어짐 SSL을 구축하면 HTTPS 프로토콜을 구성할 수 있음 |
FTP | 서버에 파일을 전송하기 위한 프로토콜 |
DNS | 도메인 네임 서버, 네트워크에 연결된 컴퓨터나 스마트폰 등의 장치들은 서로 구분할 수 있는 IP 주소를 가짐 = DNS를 이용해 IP 주소를 문자로 변환하여 사람들이 쉽게 접속하도록 도움 |
클라이언트와 서버 | 클라이언트: 사용자, 서비스를 제공받는 유저 = 프론트엔드 서버:서비스를 제공하고 데이터를 저장하는 컴퓨터 = 백엔드 |
프레임워크 | 특정 개발 언어를 개발하고자 하는 목적 등에 맞게 쉽게 작성할 수 있도록 뼈대를 갖추어 개발자가 손쉽고 빠르게 구현할 수 있도록 만든 것 > 프레임워크 안에는 '라이브러리' 코드가 포함 |
라이브러리 | 필요한 기능을 모아둔 도구 > 프레임워크를 지정했다면, 그에 맞는 기능을 구현하기 위해 미리 짜여진 '라이브러리' 코드를 가져와서 사용하면 더 쉽고 빠르게 개발 가능 |
리팩토링 | 개발 코드의 기능을 바꾸지 않으며 코드의 가독성을 높이고 수정하기 쉽게 만드는 과정 > 버그 발견하거나 줄일 수 있고, 개발 속도 단축 가능 > 새로운 개발 기능을 추가해야 할 때 리팩토링 하는 경우가 많음 |
버그 | 코드에 오류가 있음 |
디버깅 | 버그의 원인을 찾고 수정하는 작업 |
API / 오픈 API | API: 개발자가 만든 특정 기능을 다른 사람이 사용할 수 있도록 모듈화한 것 오픈 API: 누구나 사용할 수 있도록 공개, 사용된 코드는 숨겨서 공유 (ex. 소셜 로그인 API, 지도 API) |
데이터베이스 | 데이터를 저장하는 장소 DB 관리하는 시스템: MySQL, MongoDB |
Git / Github | Git: 개발자들이 사용하는 버전 관리 프로그램 GitHub: 백업, 다른 유저들에게 오픈소스 공유 |
예외 처리 | - |
컴파일 | 작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업 |
빌드 | - |
배포 | - |
핫픽스 | 긴급배포를 하기 위한 코드 작업 |
SDK | 소프트웨어 개발 키트 / 개발, 디버깅 프로그램,, API 등 응용 프로그램을 만들 수 있게 해주는 개발 도구 |
APK/IPA | APK: 안드에서 동작하는 애플리케이션 확장자 IPA: iOS에서 동작하는 애플리케이션 확장자 = 디바이스에 앱 설치하는 역할 |
IDE | 통합 개발 환경 (ex. 인텔리J, 이클립스, Xcode,...) |
리눅스 | 컴퓨터 운영체제, 유닉스 운영체제 기반으로 만들어짐 = 저렴해서 개인, 중소기업에서 사용 |
동기방식/비동기방식 | 동기: 요청 순서대로 데이터 처리 비동기: 요청 순서 관계없이 데이터 처리 |
워터폴방법/ 애자일방법 |
워터폴: 기획이 완전히 끝난 후 개발 애자일: 서비스를 단위로 쪼개어 특정 기간안에 개발 범위를 세분화하고 점진적으로 고도화 |
코드 리뷰 | - |
오픈 소스 | 누구나 자유롭게 확인,수정, 배포할 수 있는 코드 (ex. 리눅스 OS) |
모듈 | 프로그램을 구성하는 요소의 일부, 기능별로 나누어지는 프로그램 |
알고리즘 | 문제 해결할 때 이용하는 논리적인 절차, 방법 |
순서도 | 알고리즘을 알아보기 쉽게 도식화하여 작성한 것 |
모바일 웹 | 웹 개발 방식으로 모바일 스크린 크기에 맞춰 제작한 웹 |
네이티브 앱 | 모바일 스토어에서 내려받아 단말기에 직접 설치하는 어플 |
하이브리드 앱 | HTML 기반으로 제작된 모바일 웹앱 |
2. 생산성 향상을 위한 협업 툴
1) 커뮤니케이션 도구
- 슬랙
- 지라: 할당 업무 부여(티겟)
- 컨플루언스: 위키 소프트웨어 (위키백과)
- 트렐로: 소규모 추천
- 노션
2) 기획자/디자이너 협업 도구
- 스케치
- 제플린: GUI 가이드 프로그램
- 피그마
'📕 독서 기록' 카테고리의 다른 글
[독서 기록📚] 오늘부터 프로덕트 매니저(2): 팀 관리자로서의 역할 / 그것도 PM이 해요? (0) | 2025.04.29 |
---|---|
[독서 기록📚] 오늘부터 프로덕트 매니저(1): 스프린트와 프로덕트 매니저의 역할 (0) | 2025.04.29 |
[독서 기록📚] 오늘도 개발자가 안 된다고 말했다 (3): 디자이너의 일 (0) | 2025.04.21 |
[독서 기록📚] 오늘도 개발자가 안 된다고 말했다 (2) 기획자의 일 (0) | 2025.04.20 |
[독서 기록📚] 오늘도 개발자가 안 된다고 말했다 (1) 가깝고도 먼 개발자 (0) | 2025.04.20 |