본문 바로가기

달밤에 코딩하기/커뮤니케이션을 위한 IT 지식

(11)
#11-깃(git)과 깃헙(GitHub) git과 GitHub 구분하기 git은 소스 버전을 관리할 수 있도록 도와주는 소프트웨어다. GitHub은 Git 호스팅을 지원하는 웹서비스이다. git 깃은 앞서 말했듯이 소스 버전을 관리할 수 있도록 도와주는 소프트웨어다. 버전 관리를 할 경우 위와 같이 버전이 분리되었다가, 합쳐질 수도 있다. 여기서 사용하는 단어들이 별도로 존재하며, 자세한 사항은 아래와 같다. 용어 내용 커밋 (Commit) 변경점을 기록하는 행위를 커밋이라고 한다. 위 이미지의 경우, 네모 박스(버전)이 변경점이 될 수 있다. 커밋 로그 (Commit Log) 커밋 내용에 대해 기록된 정보를 말한다. 채크아웃 (Checkout) 현재 기록된 지점을 벗어나는 것을 말한다. 이전에 기록한 특정 변경점으로 돌아갈 때 사용한다. 브랜..
#10-프레임워크와 라이브러리 프레임워크와 라이브러리란 이 주제에 대해서는 부트스트랩 쪽에서 이미 알아보았다. 때문에 자세한 사항은 하단 링크를 통해 알아보자. 구분 내용 프레임워크 하나의 애플리케이션을 구축할 때, 모든 애플리케이션의 공통적인 개발 환경을 제공해 주는 것. 개발에 필요한 화면 구현, DB 연동, 개발 환경들에 공통적인 부분을 제공함으로써, 개발 시간과 리소스 비용을 절감해 생산성을 높여주는 것. 코드와 라이브러리의 집합체. 라이브러리 소프트웨어를 개발하기 쉽게 기능을 제공하는 도구. 톱, 망치, 삽 같은 연장과 같음. 어떤 도구를 사용하든, 사용자가 원하는 것을 만들어 주는데 집중하는 것. #1-Bootstrap이란? #1-Bootstrap이란? Bootstrap을 알기 전, 라이브러리와 프레임 워크를 알아보자. 라..
#9-DB (Database, 데이터베이스) DB DB는 데이터베이스(database)의 줄임말이다. 이는 여러 사람이 공유하여 사용할 목적으로, 체계화/통합하여 관리되는 데이터 집합이다. 데이터를 관리하는 방법은 여러 가지가 있는데 가장 대표적인 것이 '관계형 데이터베이스'이다. 관계형 데이터 베이스 - DB관리 방법론 위의 이미지를 보자. 사용자/제품 표를 분리하여 ID로 관리하고, 사용자 ID와 제품 ID는 주문 표와 관계를 맺어 사용된다. 이 관계에서 각각을 지칭하는 용어가 별도로 존재하며, 자세한 내용은 아래와 같다. 그렇다면 개발자들은 왜 관계형 데이터베이스를 사용할까? 이를 알기 위해서는 데이터의 무결성에 대해 먼저 짚고 넘어갈 필요가 있다. Table : 각각의 표를 말한다. Datatbase : 사용자/주문/제품 table의 데이터..
#8-애플리케이션과 웹 애플리케이션과 웹 앞서 애플리케이션과 웹에 대해 알아봤다. 내용이 헷갈린다면 애플리케이션과 웹에 대한 글을 보고 오자. 특징 비교 애플리케이션 웹 실행 형식 서버에 있는 앱을 다운받아 클라이언트에 설치하는 형식 서버에 있는 원본 HTML/CSS/Javascript의 사본을 클라이언트 화면에 띄워 주는 형식 원본 위치 클라이언트 서버 수정 어려움 쉬움 앱스토어에 수정된 앱을 등록해 심사를 받아야 하고, 사용자가 이를 업데이트하는 과정을 거쳐야 하기 때문에 어려움 서버에 있는 원본을 수정하고, 사용자가 새로고침(페이지 이동, 탭 종료도 새로고침에 포함)만 하면 수정이 가능 네트워크 영향 적게 받음 많이 받음 데이터를 클라이언트 디바이스에 주로 저장하기 때문에 네트워크에 영향을 적게 받음 네트워크가 원활하지 ..
#7-웹 Web 웹을 구성하는 3요소 웹은 HTML, CSS, Javascript로 구성되어 있다. 아래 내용을 통해 각각 웹에서 어떤 일을 하는지 살펴보자. HTML HTML은 Hyper Text Markup Language의 약자다. HTML은 운영체제나 프로그램에 상관없이 언제나 동일하게 보이도록 하기 위해 '팀 버너스리'가 고안했다. 때문에 HTML 문서는 운영체제에 상관없이 브라우저만 있으면 어디서든 동일한 정보를 볼 수 있다. Hyper Text Markup Language의 Markup이란, "태그를 이용하여 문서나 데이터의 구조를 표현하는 것"을 말한다. 그래서 HTML 작업을 '마크업 / 마크업 개발 / 마크업 디자인 / 마크업 작업'이라고 하며, 작업자를 '마크업 개발자'라고 한다. 태그는 HTML을 ..
#6-애플리케이션 애플리케이션이란 설치해서 사용하는 모든 프로그램을 애플리케이션이라고 한다. 아래 4가지 단어는 모두 애플리케이션과 같은 말이다. 애플리케이션 (Application) 응용 프로그램 (Application Software) 앱 (APP) 어플 애플리케이션 버전 디자이너는 '최종_최종의 최종.psd'와 같이 변경된 파일을 관리한다. 하지만 개발자는 변경 범위에 따라 애플리케이션에 숫자를 매기며, 이를 버전이라고 한다. 버전은 '1.2.3'과 같이 세자리로 구분되고, 아래와 같은 규칙을 따른다. 버전 2.4.0 첫번 째 숫자 (2) : 하위 버전과 호환이 가능하지 않은 큰 변화 일 경우 숫자를 올림. 두 번째 숫자 (4) : 하위 버전과 호환이 가능하지만 큰 변화 일 경우 숫자를 올림. 세 번째 숫자 (0) ..
#5-개발자와 API (API, RESTful API, CRUD, JSON) API란 Application Programming Interface의 약자이며, 클라이언트와 서버가 각각의 다른 프로그램에서 요청과 응답을 주고받을 수 있게 만든 체계다. 자세한 설명은 아래와 같다. 개발자에 따른 API 백앤드 개발자 / 서버 개발자 : 서버 프로그램 및 API를 개발한다. 프론트 개발자 / 클라이언트 개발자 : API를 사용한다. API의 체계 API는 다음과 같이 동작하게 되어있는 체계이다. 기본적으로 API는 CRUD에 대한 요청을 처리한다. 여기서 "서버 주소 = IP주소 = 도메인"이라고 생각하면 된다. A 프로그램의 클라이언트가 "서버 주소/00"에 00을 요청한다. B 프로그램의 서버가 "서버 주소/00"에서 해당 데이터를 JSON 파일에 담는다. B 프로그램의 서버가 J..
#4-개발자가 리눅스를 사용하는 이유 (리눅스, 우분투) 리눅스(Linux)란? 리눅스란 Window Mac과 같은 운영체제다. 개발자 중 서버를 담당해야 하는 백엔드 개발자가 주로 리눅스를 사용하며, 리눅스에서 서버 프로그램을 실행하기 때문이다. 그렇다면 개발자는 왜 리눅스에서 서버 프로그램을 실행할까? 리눅스를 사용하는 이유 리눅스는 제작자인 '리눅스 토발스'가 무료로 배포했으며, 수정 및 배포를 허가했다. 즉, 리눅스는 기본적으로 무료라는 이야기다. 리눅스가 Window나 Mac과 달리 가격이 싸고 접근이 어려운 이유가 있다. 리눅스는 Window와 Mac과 같이 그래픽 UI를 제공하지 않아 컴퓨터 언어를 잘 알아야 사용할 수 있기 때문이다. 때문에 기본적으로 명령어를 통해 컴퓨터를 제어하며, 서버 프로그램을 돌려야 하기 때문에 안정적이라는 특징이 있다...