본문 바로가기
728x90

Web75

[Web] 웹의 진화과정(SSR, CSR, SSG, JAM Stack) [Web] 웹의 진화과정(SSR, CSR, SSG, JAM Stack) 20여년 간 웹 기술은 폭발적으로 성장해온 것 같다. 위와 아래를 비교해보면 우리는 그 변화를 실감할 수 있다. 예전에는 서버에서 모든 문서를 가지고 있고, 구현을 할 것이 있으면 구현을 해서 사용자의 컴퓨터에 그 데이터를 쏴주었다면, 지금의 애플 공식 홈페이지와 같은 것은 서버단에서 구현을 해서 보내주는 것이 아니라, 이런 식으로 브라우저에서 구현을 하라는 코드를 쏴준다. 기술이 많이 발전했기 때문에, 무엇인가 스르륵 움직이는 것도 구현이 가능해진 것이다. 어케했냐를 물어볼 때에는, 과거를 살펴보고 발자취를 들여다보는 것이 좋을 때가 있다. 웹의 발전사가 그러하다. 이번 포스팅에서는 SSR SSG JAM Stack(CSR, SEO,.. 2022. 7. 8.
[Web] 웹 서버 : apache, NginX, Tomcat [Web] 웹 서버 : apache, NginX, Tomcat 1. 웹이 우리에게 오기까지 HTML, CSS, JavaScript 등의 파일은 페이지를 구현하기 위해 필요한 문서들이다. 이 문서들은 클라이언트에 있는 것이 아니라, 그 정보를 저장하고 있는 어느 서버에 들어있다. 자사 서비스를 제공하는 네이버의 경우 네이버의 서버실에 그 문서가 들어있을 것이고, 어떤 클라우드에 그 문서를 올려놓았을 경우, 예를 들어 깃허브 저장소를 사용할 경우 깃허브 서버 어딘가에 그 문서가 들어있는 것이다. 그 서버에 있는 문서 파일들은 특정 디렉토리에 넣어두는데, 이 디렉토리를 외부에서 접근 가능하도록 개방해서 서버에 지정된 웹 사이트 주소로 접속하면 이것들을 받아갈 수 있도록 하는 것이 웹 서버이다. 이 구동 방식은.. 2022. 7. 7.
[Web] Content Delivery Network(CDN) [Web] Content Delivery Network(CDN) 1. CDN의 필요성 CDN는 컨텐츠를 서버에서 사용자에게 전송하는 네트워크이다. CDN이 없이도 온라인 서비스들이 동작은 하지만, 서버도 결국 컴퓨터다. 어떤 클라이언트가 사이트에 접속하면, 그 요청에 따라 서버는 컨텐츠를 찾아 보내주는 어떤 '일'을 해야한다. 그것의 트래픽이 엄청나게 증가한다면...? 서버의 용량 또는 성능이 좋지 않고서는 주저 앉고 말 것이다. 그렇다 컴퓨터도 컴퓨터다! 자기 자신의 능력만큼만 일할 수 밖에 없는 기계! 이것의 과부하를 줄여주기 위해서 CDN이 있는 것이다. 현재 사용자가 10명이어도, 잠재적 사용자는 이 순간에도 늘어나고 있다. 우리 나라에서 만들어진 서비스여도, 다른 곳에서 그 서비스를 원할 수도 .. 2022. 7. 6.
[Web] REST API와 GraphQL [Web] REST API와 GraphQL ~목차~ RESTful API GraphQL REST API와 GraphQL의 비교 1. RESTful API 1) REST API 간단 요약 RESTful API는 HTTP 요청을 사용하여 데이터에 액세스하고 사용하는 애플리케이션 프로그램 인터페이스(API)의 아키텍처 스타일이다. GET, PUT, POST 및 DELETE 등의 메소드를 활용하여 서버에 있는 리소스에 접근하고, 그것을 json 등의 파일 형태로 받아오는 방식인 것이다. 하는 데 데이터를 사용할 수 있다. 쉽게 설명하면 다음과 같다. 소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단을 API(Application Programming Interface)라고 한다.. 2022. 7. 5.
[Java] 상위 클래스의 타입으로 변수 선언을 하는 이유 [Java] 상위 클래스의 타입으로 변수 선언을 하는 이유 - 다형성 추가. 1. 다형성에 대한 의문점 발동 이전에 다형성에 대해 알아본 적이 있다. 그 때는 이해했지만, 무엇인가 알기 어려운 '왜'라는 질문을 자꾸 품게 되었다. 2022.06.13 - [프로그래밍 언어/Java] - [Java] 다형성(Polymorphism) 알아보기 [Java] 다형성(Polymorphism) 알아보기 [Java] 다형성(polymorphism) 알아보기 칼은 참 다양한 종류가 있다. 요리할 때만 해도, 과일칼, 채소자르는 칼, 고기 다지는 칼, 빵칼 등등등.. 요리 용도가 아니라 도축, 수술 등등 많은 곳에서 쓰는 masterpiece-programming.tistory.com (1) 굳이 상위 부모클래스의 타입으.. 2022. 7. 3.
[JavaScript] Scope란 무엇인가? [JavaScript] Scope란 무엇인가? 자바스크립트를 하다 보면 스코프라는 단어를 많이 접할 수 있다. 스코프는 우리말로 '범위'라는 뜻을 가지고 있다. 즉, 스코프는 변수에 접근할 수 있는 범위를 의미한다. global(전역)과 local(지역)이 그 예가 될 것이다. 전역 스코프는 전역에 선언되어 있어 어느 곳에서든지 해당 변수에 접근할 수 있다는 의미이고, 지역 스코프는 해당 지역에서만 접근할 수 있어 지역을 벗어난 곳에서는 참조 또는 접근 할 수 없다는 의미이다. 함수 스코프가 지역 스코프의 한 예이다. 이것은 자바의 특수한 변수 체계 때문에 더욱 알아야 되는 개념인데, 아래에서는 var, let의 차이점을 중심으로 Scope가 무엇인지를 알아볼 것이다. 1. 레벨 스코프 var a = 1.. 2022. 7. 3.
728x90