별이라는 지식을 얻기 위해서는, 별에 대해서만 찾아보는 것이 아니라
세모도, 네모도, 오각형도, 때로는 동그라미도 찾아봐야 한단다.
그것들이 이어져 결국에는 내가 원하는 별이라는 지식을 주게 된다고 한다.
나는 우리 회사 웹 사이트가 왜 느린지 궁금했을 뿐이다.
그래서 우리 웹 사이트아 어떤 식으로 만들어졌길래 이렇게 느린지,
개선방법은 뭔지 궁금했다.
이해하기 위해 파고파다 보니 아래와 같은 것들이 감자 캐듯이 줄줄이 나온다.
a 를 알기위해서 b 를 알아야하고, b 에 대한 정보를 찾다보니 c 가 나오는데, 그럼 c 는 뭐지..
하는 식으로.
예전에 공부하며 기록했던 것들을 간단히 살펴보며 다시 기억했고,
대부분의 것들은 나무 위키를 통해 연결해서 알게 됐다.
나무위키..엄청 좋잖아..?
HTML
- 말하자면 웹의 구조를 그냥 글로 나열한 것
- 웹 페이지의 모습을 기술하기 위한 규약.
- 프로그래밍 언어가 아니라 마크업 언어
마크업 언어
- 문서가 화면에 표시되는 형식을 나타내거나 데이터의 논리적인 구조를 명시하기 위한 규칙들을 정의한 언어의 일종
- 데이터를 기술한 언어
- 본래는 교정 부호 등을 표기하는데에 사용했지만, 점차 용도가 확장되어 문서의 구조를 표현하도록 발전
- 대표적인 마크업 언어로 HTML, 마크다운이 있다.
- 메모장이나 워드프로세스에서 제목 앞에 몇 칸의 공백을 넣는 등의 행위도 마크업의 일종이라고 볼 수 있다.
CSS
- HTML 을 꾸미는 것
- HTML 등의 마크업 언어로 작성된 문서가 실제로 웹사이트에 표현되는 방법을 정해주는 스타일시트 언어
JavaScript
- HTML 이 웹페이지의 기본 구조, CSS 가 디자인을 담당한다면 자바스크립트는 클라이언트 단에서 페이지가 동작하는 것을 담당. 위의 것들을 진짜 움직이게 하는 프로그래밍 언어
- 웹 페이지를 자동차에 비유하자면, HTML은 자동차의 뼈대, CSS는 자동차의 외관, JavaScript는 자동차의 동력이라고 볼 수 있다.
프로그래밍 언어
- 기계(컴퓨터)에게 명령이나 연산을 시킬 목적으로 설계되어 기계와 의사소통을 할 수 있게 해주는 언어를 뜻한다.
- 이 언어들은 사람이 이해하기 쉽게 만든 언어로 실행될 때 컴파일러로 컴파일 된다.
컴파일러
- 어떤 프로그래밍 언어로 쓰여진 소스파일을 다른 프로그래밍 언어로 바꿔주는 번역기
컴파일
- 사전적 의미
1
(여러 출처에서 자료를 따와) 엮다, 편집[편찬]하다
We are trying to compile a list of suitable people for the job
우리는 그 일에 적합한 사람들의 명단을 작성해 보려고 하고 있다.
2
명령어를 번역[컴파일]하다
- 명령어를 해석해주는 것
- 어떤 언어의 코드를 다른 언어로 바꿔주는 과정. 대표적으로 C++ 코드를 기계어로 바꿔주는 것이다.
기계어
- 따로 해석해주지 않아도 컴퓨터가 바로 알아듣는 용어
- 컴퓨터(CPU)가 별다른 해석(컴파일) 없이 읽을 수 있는 프로그래밍 언어.
- 컴퓨터만을 위해 사용되는 언어.
- CPU 에 입력했을 때. CPU 가 바로 해석할 수 있는 유일한 언어.
- 모든 프로그래밍 언어의 종착지.
- 모든 프로그래밍 언어는 이 기계어를 인간이 이해하고 사용하기 쉽도록 번영하고 축약하고 풀이한 것으로, 어떤 프로그래밍 언어든지 입력된 뒤 최종적으로는 기계어로 번역되어 CPU 에 전달되어서 컴퓨터가 인간이 의도한 작업을 수행케 한다.
- 비트 단위로 표기하기 때문에 0과1로만 표현된다.
php
- 대표적인 서버 사이드 스크립트 언어로 전 세계 수많은 웹 시스템의 기반이 되는 언어다.
- 비슷한 언어로는 ASP, JSP 등이 있다.
- 웹 페이지 제작시 기본적으로 웹관련 함수들이 많아 생산성이 높다는 점에서 사용자, 사용처가 많다.
- 워드프레스, 미디어위키 등의 많은 애플리케이션이 PHP 로 작성되어있다.
- 한국에서는 대다수 웹사이트들이 PHP 로 되어있는 경우가 많다.
- 서버에 배포하는 것이 간편하다. PHP 인터프리터에서 실행할 때마다 파일을 확인 후 바뀐 부분이 없으면 캐시를 실행하고 바뀐 부분은 다시 해석한 뒤 캐시하는 방식으로 작동해서 업로드만 하면 되므로.
- 위의 특징으로 인해 프로젝트가 커지면 빌드시간이 늘어나는 다른 언어들과 달리 PHP 는 개발이나 배포할 때 빌드가 필요없다.
- 초기 버전과 그 뒤의 버전이 바뀐 부분이 많아 일관성이 떨어지는 부분이 많다.
- 스크립트언어라는 특성상 인터프리터 방식을 사용하는 만큼 성능한계가 있다.
- 업그레이드 되면서 단점이 나아지고 있다.
- PHP 로 작성된 프로그램에는 그누보드, 워드프레스, 미디어위키 등이 있다.
서버
- 서버(server)는 클라이언트에게 네트워크를 통해 서비스하는 컴퓨터를 의미한다.
- 제공자.
스크립트 언어
- 기존에 있는 소프트웨어를 조종할 수 있는 언어
- 프로그래밍 언어의 한 종류로, 기존에 이미 존재하는 소프트웨어(어플리케이션)를 제어하기 위한 용도로 쓰이는 언어
- 대표적으로 자바스크립트, 오토핫키, 파이썬, PHP 등이 있다.
인터프리터
- 코드를 한 줄씩 읽어 내려가며 실행하는 프로그램. 컴파일러와는 대조적
- 이 방식을 쓰는 프로그래밍언어의 대표는 MATAB, Python
- 고급 프로그래밍 언어 중 대부분이 인터프리터 언어
- 자체적인 실행기능이 없어, 목적 프로그램(.exe)을 만드는 곳만 컴파일러 언어를 사용하고 대부분 코드를 인터프리터 언어로 짜는 식으로 결합하는 경우가 많다.
- 컴파일러 언어는 C언어 계열 언어 정도지만 인터프리터 언어는 인터넷 웹브라우저에서 동작하는 자바스크립트, 데이터베이스 언어인 SQL, 파이썬, 스크래치 등 다양하다.
- 실행시마다 소스 코드를 한 줄씩 기계어로 번역하는 방식이기 때문에 실행 속도는 컴파일 언어보다 느리나, 프로그램 수정이 간단하다는 강력한 장점이 있다.
- 수정이 빈번히 발생하는 용도의 프로그래밍 언어에서 많이 사용되는데, 인터프리터를 적극적으로 채용한 것이 스크립트 언어다.
워드프레스
- 오픈소스를 기반으로 한 설치형 블로그 또는 CMS
- 전세계 웹사이트의 41% 정도가 워드프레스로 제작
- 업데이트가 되면서 각종 쓸만한 플러그인이 나왔고, 단순 블로그 뿐 아니라 웬만한 사이트를 만드는 데에 활용할 수 있을 정도가 되었다.
- 전세계 개발자들이 제작한 다양한 플러그인과 테마가 존재
- 전세계에 사용자가 있어, 외국어만 가능하다면 당신도 해외에서 프리랜서 가능
- 웹사이트를 완전히 커스터마이징 할 수 있는 자유도
- 사용법을 배우는데 시간이 걸린다.
CMS
- Content Managment System
- 게시판, 레이아웃, 모듈과 같은 기능을 모아둔 웹 프레임워크.
- CMS 를 사용하면 클릭 한번으로 사이트를 만들 수 있다.
프레임워크
- 어떠한 목적을 달성하기 위해 복잡하게 얽힌 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다.
- 웹 프레임워크는 웹 서비스 개발을 위한 프레임워크를 말한다.
'자라나라 PM' 카테고리의 다른 글
그리드시스템, 아임웹, 쿼리, MySQL, DBMS, 그누보드 (0) | 2022.07.11 |
---|---|
아이피, 웹 호스팅 서버 아이피 (0) | 2022.07.05 |
코호트 분석이란? (코호트 리텐션, 동질 집단 분석,코호트 격리, 코호트연구) (0) | 2022.07.01 |
개발 기능 기획 전/후 기획자가 확인해야 할 사항 (0) | 2022.05.25 |
피그마에 SF PRO 폰트 추가하는 방법(브라우저 버전) (0) | 2022.05.20 |