brunch

You can make anything
by writing

C.S.Lewis

by 책읽는 헤드헌터 Aug 26. 2021

비전공자를 위한
이해할 수 있는  IT 지식


어느날 재택하던 중에 회사에서 단체메일이 왔다. 

<비전공자를 위한 이해할 수 있는 IT 지식> 에 대해 읽고 싶은 분들은 신청하라는 내용이었는데 주로 책 선정은 주도적으로...하는 편이라 신청하지 않았다. 그런데 웬걸! 신청하지 않으니 그때부터 한번 읽어볼껄 하는 후회가. 물밀듯이. 


그러나 인생지사 새옹지마라고 했던가. 어느날 회사 책장에 이 책이 꽂혀있었다.

이게 머선일이지....

선견지명있는 지니어스 '지니'가, 우리팀 공용으로 한권을 신청해두었던 것! 

그래서 첫 주자로 읽게 되었다. 빨리 읽고 써머리해두면, 서치하느라 바쁜 팀분들에게도, 요즘 백엔드+풀스택 개발 공부하고 있는 시스터에게도 도움이 될 것 같아서.






다음은 비 전공자를 위한 이해할 수 있는 IT 지식에 대해 읽은 내용을 내가 보기 편하게 정리해둔 글이다.




파일을 달라고 계속 보채는 컴퓨터 <클라이언트> 

파일을 주는 컴퓨터 <서버>

고객의 바로 앞에 있는 이 컴퓨터를 클라이언트 = 프론트 엔드라고 하며,

고객에게 보이지 않는 곳, 서버를 다른 말로 백엔드라고 부릅니다.


운영체제: 리눅스/윈도우/ mac os/ Android

Linux: 무료. 리누스 토발스가 깃과 리눅스를 만들었음. 리눅스의 유명한 버전 중 하나가 Ubuntu. 우분투는 리눅스입니다. 리눅스 개량버전 유료 Red hat (금융산업 등에서 품질 보장해주는 유료 버전). 안드로이드 또한 리눅스의 유명한 개량버전. 

- C언어가 발전해서 C++, Objective-C, Python 등의 언어가 되는 것처럼 리눅스가 발전해서 안드로이가 됨.

** 안드로이드: A알파. B베타, C부터 cupcake라는 이름으로 서비스함


API. SDK. JSON. 

서버는 요청에 의해 적합한 처리를 해주는데그 요청이 메세지르 달라는건지, 로그인 시켜달라는건지 알 수 없다. 요청을 구분할 수 있도록 하는 체걔가 바로 API. API는 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계. SDK(Software Development Kit)는 API를 제공해주는 다른 소프트웨어를 부르는 용어. 소프트웨어를 개발할때 도움을 주는 <다른 소프트웨어>. 요청파일의 형식을 일원화 하는 것 JSON. 

CRUD

Create 올려줘 Read 불러워죠 Update 바꿔줘! Delete 지워줘.

개발자들은 데이터를 볼때 항상 CRUD 관점에서 생각합니다. 타임라인의 CRUD 요청은 각각의 주소를 가집니다. 주소가 너무 많아지면 관리가 힘들어지니까 좀더 체계적인 API가 만들어질ㄴ다. RESTful API (Representational State Transfer). 이전보다 주소 개수가 줄어들과 CRUD 하나를 하나의 주소로 관리한다. 어떤 요청을 보냈는지 파악할 수 있는 스티커를 함께 붙여서 전송한다. 다음 5가지 스티커는 기억해두길! 

현업에서 사용하는 용어는 스티커가 아니는 메소드! (파라미터-메소드 보낼때 요청변수, 메소드, 함수, 요청변수 자주 쓰는 용어)

** Create 생성해줘 POST/ Read 불러오줘 GET/ Update 바꿔줘 PUT(전체) PATCH (일부)/ Delete 지워줘:DELETE 

** 서버 관점에서 클라이언트 요청이 잘 마무리된 경우는 숫자 200대로 표기

** 서버 관점에서 클라이언트 요청이 잘 마무리 안된 경우는 숫자 400대로 표기 (404 에러코드. 서버 잘 돌아가는데 요청이 이상하다는 뜻)

** 반면 문제가 서버 자체이 있는 경우는 굿자 500대로 표기 


웹: HTML. CSS. JanaScript. 
반응형 웹(모바일과 PC버전 자동으로 변형. 다만 오래 걸리고 비용많이 듦)

HTML(Hyper Text Markup Language) 은 프로그래밍 언어가 아니라 브라우저가 볼 수있는 문서를 적는 언어.

CSS(cascading style sheets) 는 디자인을 입히는 코드. HTML+CSS 합쳐서 퍼블리싱 작업이라고 표현하고, 이 작업을 하는 사람을 퍼블리셔, 라고 부른다. 마크업디자인, 마크업 개발자라고도 불린다. 웹쪽에서는 javascript 언어가 프로그래밍 언어 역할을 하게 된다.JS라고 부르기도 함. 자바스크립트와 자바는? 아무 관계없다. 인도와 인도네시아 관계라고 이해하면될듯. 


데이터 

Relational Database. 엑셀 sheet를 관계형 데이터베이스에서는 table 이라고 표현. 엑셀자체를 Schema 혹은 database라고 함. 관계형 데이터베이스 관리 시스템 RDBMS. MS. SQL. Oracle DB. MySQL. MariaDB 등 세상에는 무수히 많은 관계형 데이터베이스 관리 시스템이 있다. 

알람앱은 클라이언트에 저장. 나이키 런 기록은 다른 모든 기기에도 변경적용. 서버에서 가져온 데이터다.

<클라이언트에 데이터가 있다는 표현>

1. 로컬에 있다. 2. 내부 DB에 있다 3. 네이티브에서 가져온건데?

<서버에 데이터가 있다는 표현>

1. API 에서 가져온거에요 2. DB에 저장해두고 쓰면 안되나요? 

** 상기 내부 DB와 DB만 잘 구분하면 OK!



프레임워크. 라이브러리
왜 자꾸 도선관 얘기를 하는거죠?

도넛가게 창업할때 도넛 우유 설탕 다 있어야 하는데 더 빠르게 창업하는 방법은 프렌차이즈로 들어가면된다. 간단히 말해 프레임워크는 '던킨도너츠'다. 애플 앱을 만들때 버튼 하나하나 코딩하면 오래걸리니까 애플은 프레임워크를 제공한다. 애플은 기기가 많아서 기기별로 프레임워크가 존재한다. 이 것들을 통칭해서 코코아라고 부른다. 라이브러리도 다른사람들이 만들어놓은 코드를 이용한다는 측면에서는 프레임워크와 같지만 둘은 어떻게 다를까? 프레임워크가 더 광의의 개념. 각종 라이브러리 코드가 모여 프레임워크가 된다. 


웹 프론트엔드 프레임워크 및 라이브러리 삼대장: Angular.js/React.js/Vue.js

Angular.js 구글에서 운영

React.js 페이스북에서 만듦

Vue.js Evan You 라는 중국인이 만듦 

각 언어별로 유명한 프레임워크가 있다.

자바는 스프링

파이썬은 Django 장고

루비는 레일스 Rails

Javascript 는 express.js 



리눅스 개발자 리누스 토발즈가 개발한 프로그램. 개발하다 새로운 내용 추가할때 종종 덮어쓰기를 하는데 내용이 잘못되어서 되돌려야 할때 번거롭기도 하거니와 이전 내용으로 100% 돌아간다는 보장도 없다. 분석코드는 그냥 두면 안되나? 이 문제를 깃이 해결해준다. 개발자들은 단계별로 깃발을 꽂을 수 있고 이를 commit 이라고 한다. 커밋에는 항상 메모가 따라다닌다. 그 메모를 commit log 라고 한다. 

하나의 플젝 진행할때 동시에 여러기능 충돌없이 작업하고, 분석 기능의 코드가 이미지 처리 라이브러리 코드에 영향을 주지 않는다. 각각 브랜치에서 작업한 것을 합치기만 하면되는데 이 기능이 바로 merge 다. 깃은 똑똑해서 작업한 부분이 겹치지 않으면 자연스럽게 합쳐주고 겹치는 부분이 있으면 어떤 부분이 충돌됐는지 보여준다. 


디자이너와 개발자


스케치. 재플린.XD. 디자이너의 작업 결과물을 보여주는 프로그램.

가이드를 만들고 수정하지 않아도 된다. 

매거진의 이전글 10년차 헤드헌터가 말하는 헤드헌팅 이직 가이드
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari