먼저 글쓰기에 앞서, 너무나 나에게 필요했던 부분의 강의를 제공해 주신 [스파르타코딩클럽] 이범규대표님한테 감사의 말씀을 전하며,
글에 사용된 모든 사진파일의 출처는 스파르타코딩클럽 강의자료에서 가져왔습니다 ! 무료강의니까 필요하신 분들은 수강 추천 !!
또 중간에 보충 개념이 필요한 부분은 [네이버 지식백과]에서 정보를 가져왔다는 점을 알려드립니다 :)
1.컴퓨터와 인터넷
컴퓨터 : 기본적으로 기계를 모아둔 것
운영체제(OS) : 인간이 기계와 소통할 수 있게 만드는 기반 프로그램. 예) Android, ios, Window10, Linux
참고로 리눅스는 무료, 즉 오픈소스 이기 때문에 기업에서 많이 활용한다.
코딩 : 이 운영체제(OS)에 명령을 내리는 것, 프로그래밍과 같은 말.
프로그래밍 언어 : 코딩을 할 때 사용되는 언어. 예) 파이썬, 자바, 자바스크립트, C++ 등
참고로 언어는 좋고 나쁨이 있다기 보다 각자 갖고있는 특성이 다를 뿐
프로그램 : 코딩을 통해 만들어서 명령을 입력했을 때 매번 똑같이 움직이게 하는 것 그래서 코딩을 다른말로 프로그래밍이라고 함
인터넷 : 컴퓨터끼리 대화를 주고 받는 것
http : 컴퓨터끼리의 대화에 필요한 규칙 중 하나
https : 암구호 표를 서로 가져서 보안을 지키는 것. 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전
2. 웹서비스 동작 방식
서버: 컴퓨터들 가운데서 데이터를 저장하고 주는 곳. 컴퓨터 네트워크에서 다른 컴퓨터에 서비스를 제공하기 위한 컴퓨터 또는 소프트웨어를 가리키는 용어.
클라이언트: 서버에서 보내 주는 정보 서비스를 받는 측 또는 요구하는 측의 컴퓨터 또는 소프트웨어
HTML: (Hyper Text Markup Language) 웹 문서를 만들기 위하여 사용하는 기본적인 웹 언어의 한 종류이다. = 뼈대
CSS: (Cascading style sheets) 웹 문서의 전반적인 스타일을 미리 저장해 둔 스타일시트 = 꾸미기
Javascript: 자바스크립트는 크로스 플랫폼(cross platform), 객체지향 스크립트 언어로 웹페이지의 동작을 담당한다
Json: 웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성 · 값의 쌍 형태(= ket : value)로 표현하는 형식. 자바스크립트(JavaScript) 토대로 개발되었다
IDE: (Integrated Development Environment : 통합 개발 환경) 프로그램 개발을 위한 작업들을 하나의 프로그램 안에서 처리할 수 있는 환경을 만들어 제공하는 소프트웨어. 소프트웨어 개발에 관련된 모든 작업, 즉 패키지 인클루딩, 문서 편집, 컴파일, 디버그, 원격 서버 액세스, 바이너리 배포 등을 하나의 프로그램 안에서 모두 처리하는 환경을 제공하는 툴. 비슷한 말로는 고속 개발 도구가 있다. 반대말은 날코딩
3. 서버-클라이언트
라이브러리 : 라이브러리는 함수들의 집합이라 할 수 있는데 미리 만든 함수를 모아 놓은 곳
API: 라이브러리에 접근하기 위한 규칙들을 정의한 것을 API라고 하는데 Application Program Interface 즉, 프로그래머가 라이브러리가 제공하는 여러 함수를 이용하여 프로그램을 작성할 때 해당 함수의 내부 구조는 알 필요없이 단순히 API에 정의된 입력 값을 주고 결과 값을 사용할 수 있게 해줍니다.
API 명세서: 헷갈리니까 문서로 써두는 것
Open API: 인터넷 이용자가 일방적으로 웹 검색 결과 및 사용자인터페이스(UI) 등을 제공받는 데 그치지 않고 직접 응용 프로그램과 서비스를 개발할 수 있도록 공개된 API를 말한다.
4. 개발 언어, 프레임 워크
프레임워크: 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경
일종의 코드 집합. 보편적으로 라이브러리와 비교되는데, 라이브러리는 특별한 규칙없이 사용할 수 있는 코드 집합이라면, 프레임워크는 규칙에 따라 작서되어야 한다는 점이 다르다.
프론트엔드: 프런트 엔드(Front-end)는 UI(User-Interface)를 가지고 동작하며 백엔드(Back-end)는 UI없이 프로세스 형태로만 존재
프론트엔드 응용프로그램은 사용자와 직접 인터페이스할 수 있으며, 요구된 데이터를 얻거나 요구된 서비스를 수행하기 위하여 원격지의 다른 컴퓨터에 위치한 백엔드 프로그램으로 요구를 전달한다. 클라이언트/서버 컴퓨팅 모델과 비교한다면, 프론트엔드는 클라이언트로, 백엔드는 서버로 이해할 수 있다.
백엔드: Back-End는 클라이언트와는 직접 대면하지는 않으나, Front-End프로그램과 연동하여 기술적인 기능을 하는 프로그램을 말한다.
5. 아키텍쳐/DB
클라우드: 데이터를 인터넷과 연결된 중앙컴퓨터에 저장해서 인터넷에 접속하기만 하면 언제 어디서든 데이터를 이용할 수 있는 것.
데이버베이스: 기존의 파일시스템에서는 중복된 정보를 효율적으로 처리하는 것이 관점 연구 분야였다. 이 중복을 피하여 정보를 일원화(一元化)하여 처리를 효율적으로 수행하기 위해서 서로 관련성을 가지며 중복이 없는 데이터의 집합을 유지하는 것을 데이터베이스라고 한다.
6. 협업(git)
GitHub: 개발자들이 서로 정보를 공유하는 사이트
GitHub is where over 83 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and features, power your CI/CD and DevOps workflows, and secure code before you commit it.
commit: 분산 트랜잭션 처리(DTP)에서, 하나의 트랜잭션에 포함되는 조작이 모두 실행되고 그에 따른 데이터베이스의 갱신 내용이 작업 영역(기억 장치)에 기록되어 트랜잭션의 적용이 완료되었다고 판단되는 시점에서 그 종료를 요구하는 동작. 이 시점을 커밋 시점이라고 한다. 커밋이 실행되면 갱신 데이터가 실제로 데이터베이스(자기 디스크)에 기록되고, 관련된 잠금이 해제되어 갱신된 내용이 다른 트랜잭션으로부터 접근할 수 있다.
push: 인터넷에서 클라이언트 측 사용자의 검색 조작에 의하지 않고 서버의 작용에 의해서 서버상에 있는 정보를 클라이언트로 자동 배포(전송)하는 것.
pull: 인터넷에서 클라이언트 측 사용자의 조작에 의해서 서버로부터 정보를 검색하는 것.
브랜치 따기: 내 코드를 작성하는 것
머지하기: 내 코드를 팀원의 코드와 합치는 작업.
'Coding > 기타' 카테고리의 다른 글
Error : Address already in use 오류 해결하기 (0) | 2022.11.04 |
---|---|
피그마 figma (0) | 2022.10.27 |
JWT 관련 필요한 용어 정리 (0) | 2022.10.26 |
JWT 이해하기 (1) - 토큰 기반 인증 (0) | 2022.10.26 |
[Linux] 리눅스 기본 명령어 정리 (0) | 2022.10.21 |