본문 바로가기

혼공학습단

#1 개발자를 이해하고 개발자와 소통하기 [혼공학습단 9기]

사진 출처 : 구글 도서

 

안녕하세요 오늘은 드디어 혼공학습단의

1주차 공부 내용과 추가 미션 글을 가지고 왔습니다 !

 

1주차에서는 혼공얄코의 1장 01-02 부분을 공부하게 되는데요,

1장은 IT 업계에서 자주 사용하는 기초적인 용어와 개념을 설명해주고 있습니다:)

 

 

01-1 개발자는 대체 뭐하는 사람인가요?

 

개발자는 컴퓨터가 이해할 수 있는 언어로 무에서 유를 창조하는 작가와 비슷한 일을 합니다.

 

작가에도 소설가, 시나리오가 작가가 있듯 개발자도 다양한 분야의 개발자가 있습니다.

 

-웹 개발자 

 : 웹 사이트를 개발하는 개발자

 

우리가 PC나 스마트폰에서 웹서핑을 하며 방문하는 각종 웹사이트드을 만듭니다. 

 

웹 개발은 포괄적인 용어로, 웹사이트는 눈에 보이는 부분과 보이지 않는 부분으로 구성되어 있고, 각각을 담당하는 개발자들과 협업해서 만듭니다.  

사진 출처 : 혼공얄코

웹 개발자의 범주에 속하는 개발자는 웹 퍼블리셔, 프로트엔드 개발자, 백엔드 개발자 등이 있습니다.

 

- 웹 퍼블리셔  (해외에서는 UI 라고 많이 부름)

: 웹사이트에서 보이는 부분을 담당하는 개발자,

웹 사이트의 기능을 프로그래밍하기보다는 웹사이트의 외적 요소를 코드로 구현하는 역할.

 

타 직군에 비해 진입 장벽이 낮고 디자인과 밀접하기 때문에 웹 디자이너를 비롯한 비전공자들이 코딩을 시작하는 첫 단계로 도전하는 분야

 

주로 사용하는 언어 : HTML, CSS, 자바스크립트

 

-프로트엔드 개발자(클라이언트 개발자)

: 웹 퍼플리셔 역할 + 자바트르립트로 프로그래밍 요소 개발 하는 사람들

사용자들에게 보여줄 웹사이트 화면을 만들고 사용자의 클릭이나 드래그와 같은 동작에 따라 웹사이트의 다양한 기능(이미지 슬라이드, 웹 채팅 창, 온라인 디자인 도구 등등)이 실행되도록 프로그래밍하는 역할.

 

주로 사용하는 언어 : HTML, CSS, 자바스크립트

(프로트엔드 분야의 프로그래밍은 기본적으로 자바스크립트에서 이루어지기 때문에 '자바스크립트'를 집중적으로 공부해야 함!)

 

-백엔트 개발자(서버 개발자)

: 웹사이트에서 눈에 보이지 않는 요소를 개발 하는 개발자,

프로트엔드 개발자가 만든 화면에 들어갈 데이터를 주고받는 서버의 기능(데이터 베이스에 저장되는 각종 정보의 입출력, 데이터 분석과 가공, 로그인을 비롯한 보안 요소, 모바일 앱의 서버 등)을 구현

 

주로 사용하는 언어 : 자바스크립트, 파이썬, PHP, 자바 등

 

+프레임워크

:각 언어마다 백엔드 프고르매을 만들 수 있도록 도와주는 제작키트

(한국에서는 자바언와와 스프링 프레임워크 조합을 많이 사용)

 

 

-풀스택 개발자

: 프로트엔드와 백엔드 관련 지식을 고루 갖추어 양쪽 모두 개발할 줄 아는 개발자

 

다수의 개발자가 서비스를 분담하는 대기업보다는 소수 인원이 제품 전반을 만드는 소기업이나 스타트업에서 필요로 하는 개발자

 

-모바일 개발자(앱 개발자)

: 스마트폰에서 작동하는 애플리케이션을 개발하는 개발자

        - 안드로이드 개발자

         갤럭시를 비롯한 안드로이드 기반의 모바일 앱을 개발         주로 사용하는 언어 : 자바, 코틀린       - ios 개발자         아이폰과 아이패드용 모바일 앱을 개발         주로 사용하는 언어 : 오브젝티브-C(오늘날 거의 사용되지 않음), 스위프트

 

 

+ 크로스 플랫폼: 안드로이드와 ios 앱을 하나의 소스코드로 양쪽 모두 작동하는 앱을 만들 수 있는 플랫폼자유 사용하는 플랫폼과 각각에 사용되는 언어 조합 :

크로스 플랫폼 언어
플러터 다트
리액트 네이티브 자바스크립트
자마린 C#

 

 

-게임 개발자 

: 게임의 전체적인 구조를 설계해서 게임이라는 하나의 결과물을 만드는 개발자

 

게임 진행을 위한 복잡한 알고리즘부터 물리 엔진 구현, 3D 그래픽 렌더링, 수많은 접속자가

몰리는 서버 관리 등 게임의 모든 구성 요소를 다뤄야 함

 

주로 사용하는 언어 : C++(고사양 게임 프로그래밍), C#(유니티를 사용하는 게임), 자바스크립트(웹 게임)

 

 

-응용 소프트웨어 개발자

: 통상적으로 PC용 프로그램을 개발하는 사람

 

응용 소프트웨어란? 컴퓨터에서 사용하는 워드, 포토샵, 압축 프로그램, 동영상 재생 프로그램 등

 

주로 사용하는 언어 : 윈도우용 프로그램 개발(C++, C#), 맥용 프로그램(스위프트)

 

-임베디드 개발자

: 정해진 목적에 맞게 설계된 하드에어의 작동을 프로그래밍하는 직군

하드웨어 자체를 개발하기도 하며 이를 작동시킬 소프트웨어를 개발함.

 

주로 사용하는 언어 : C언어, C++

 

     -임베디드 시스템

      기계 또는 기타 제어가 필요한 시스템을 제어하는 컴퓨터 시스템

 

 

-AI 개발자

: 인간의 사고와 학습같은 지적 능력을 컴퓨터를 통해 구현하는 기술

 

실제 업계에서 AI 개발자는 그 범위가 넓어 규정하기가 모호하다. 인공지능을 학문적으로 깊이

연구하는 연구직, AI 소프트웨어를 개발하는 프로그래머, 데이터에서 의미 있는 정보를 찾아내는

분석가 등 모두 AI 관련 개발자라고 할 수 있음

확인문제

 

01-2 코딩과 프로그래밍, 앱과 프로그램