URI

"Uniform Resource Identifier" (통합 자원 식별자)

 

URL

컴퓨터 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약(URI의 서브셋)

 

"URI는 식별하고 URL은 위치를 가리킨다"

 

 

'Computer Science > Network' 카테고리의 다른 글

[VM] VirtualBox 네트워크 정리  (0) 2022.12.22
BGP 개념  (0) 2022.11.30
[Server] HTTPS와 SSL 인증서  (0) 2021.08.06
RESTful  (0) 2021.07.27

"웹 개발은 크게 프론트엔드 개발과 백엔드 개발로 나눌 수 있다"

 

Front -End 

  • 유저와의 상호작용이 일어나는 인터페이스 전체를 개발
  • 주로 사용하는 언어 : HTML, CSS, JavaScript

Back-End

  • 유저에게 보이지 않는 튼튼한 서버와 인프라 구축
  • UX엔지니어, SRE, DevOps 등으로 세분화
  • UX(User Experience) Engineer : 사용자 경험 개선 또는 새로운 경험 제공의 목적으로 디자인 아이디어를 프로토타입으로 만드는 전문 엔지니어
  • SRE(Site Reliability Engineering) : IT운영에 대한 소프르웨어 엔지니어링 접근 방식, 소프트웨어를 툴로 활용하여 시스템을 관리하고 문제를 해결하며 운영 태스크를 자동화
  • DevOps(development + operations) : 하나의 아이디어가 사용자에게 가치를 제공할 수 있도록 운영 환경에서 개발로부터 배포로 진행되는 프로세스의 속도를 높이는 접근 방식(코딩에서 배포, 유지관리 및 업데이트에 이르는 개발 사이클 전체에 걸쳐 요구 사항간의 균형을 맞춘다)

SRE vs DevOps

" 조직의 생산 운영 관리, 모니터링/식별 가능, 자동화"

SRE DevOps
규범으로 인식 문화로 인식
안정성을 위한 엔지니어링 개발과 운영의 사일로 현상을 해결하기 위한 문화
"저는 SRE입니다." "저는 DevOps 개발자 입니다."

주요 차이점

  SRE DevOps
주요 관심 확장성, 운영지표, 자동화 개발 배포 과정 통합
담당자 운영에 관심있는 개발팀 개발에 관심있는 운영팀
측정 지표 서비스 수준 목표(SLO)의 최소/최대치(SIO) 주로 시스템 Telemetry
적용 기업 클라우드-네이티브 환경에서 IT 서비스기업 온-프레미스에서 클라우드로 전향하는 기업

 

 

❗내가 조금 더 관심이 가는 분야는 BE이며 SRE나 DevOps가 궁금하다❗

'Web' 카테고리의 다른 글

TDD  (0) 2021.07.27

REST

"Representational State Transfer"

  • 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미
  • 자원(resource)의 표현(representation)에 의한 상태 전달
    • 자원: 소프트웨어가 관리하는 모든 것(문서, 그림 등)
    • 자원의 표현: 자원을 표현하기 위한 이름(DB의 학생정보가 자원이면 'students'는 자원의 표현
    • 상태 전달: JSON 혹은 XML을 통해 데이터를 주고 받는다
  • HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
  • 필요한 이유
    • 애플리케이션 분리 및 통합
    • 다양한 클라이언트의 등장
    • 최근의 서버프로그램은 다양한 브라우저와 안드로이드폰, 아이폰과 같은 모바일 디바이스에서도 통신을 할 수 있어야한다.
  • 구성요소
    • 자원(Resource): URI
    • 행위(Verb): HTTP Method
    • 표현(Representation of Resource): JSON, XML, TEXT, RSS
  • 특징
    • Server-Client: 서로간 의존성이 줄어든다.
    • Stateless: Client의 context(세션, 쿠키..)를 Server에 저장하지 않는다.
    • Cacheable: 웹 표준 HTTP 프로토콜을 그대로 사용하므로 웹에서 사용하는 기존의 인프라를 그대로 활용 가능
    • Layered System
    • Code-On-Demand: Server로부터 스크립트를 받아 Client에서 실행한다.(Optional)
    • Uniform Interface: URI로 지정한 Resource에 대한 조작을 통일되고 한정적인 인터페이스로 수행한다.

REST API

  • REST 기반으로 서비스 API를 구현한 것(API: Application Programming Interface)
  • 특징
    • 사내 시스템들도 REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다.
    • REST는 HTTP 표준을 기반으로 구현하므로, HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다.

❗ REST API 설계 규칙에 관해서는 https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html 를 확인하자 ❗

 

RESTful

  • 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어
  • "REST 원리를 따르는 시스템을 지칭"
  • 목적
    • 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것
    • 일관적인 컨벤션을 통한 API의 이해도 및 호환성을 높이는 것
    • 성능이 중요한 상황에선 굳이 RESTful한 API를 구현할 필욘 없다!

 

❗ 아마 url, uri와 관련이 깊은 것으로 생각된다.. 다음 내용으론 url과 uri의 차이를 알아봐야겠다 ❗

'Computer Science > Network' 카테고리의 다른 글

[VM] VirtualBox 네트워크 정리  (0) 2022.12.22
BGP 개념  (0) 2022.11.30
[Server] HTTPS와 SSL 인증서  (0) 2021.08.06
URI vs URL  (0) 2021.07.27

MVC (Model - View - Controller) 패턴의 개념

" Business logic과 Presentation logic을 분리하기 위해"

  • MVC 패턴을 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음.
Model - DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일
- 여러 개의 데이터 변경 작업을 하나의 작업으로 묶는 트랜잭션을 다루는 일
- Domain, Service
View - 모델이 처리한 데이터나 그 작업결과를 가지고 사용자에게 출력할 화면을 만드는 일
- HTML, JSP
Controller - 클라이언트의 요청을 받았을 때 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출하는 일
- 모델이 업무 수행을 완료하면 그 결과를 가지고 화면을 생성하도록 뷰에게 전달하는 일
- Servlet, JSP

Spring MVC의 주요 구성요소

구성요소 설명
DispatcherServlet 클라이언트의 요청을 받아서 Controller에게 클라이언트의 요청을 전달하고 리턴한 결과값을 View에게 전달해 알맞은 응답을 생성 (web.xml)
Handler Mapping URL과 요청 정보를 기준으로 어떤 핸들러 객체를 사용할지 결정하는 객체
Controller 클라이언트의 요청을 처리한 뒤, Model을 호출하고 그 결과를 DispatcherServlet에게 알려줌
Model and View Controller가 처리한 데이터 및 화면에 대한 정보를 보유한 객체
View Controller가 처리 결과 화면에 대한 정보를 보유한 객체
ViewResolver Controller가 리턴한 뷰 이름을 기반으로 Controller 처리 결과를 생성할 뷰를 결정

[출처] https://wellbell.tistory.com/137

 

'Web > Spring' 카테고리의 다른 글

[배경] Maven  (0) 2021.07.27
[배경] Template Engine  (0) 2021.07.27
[배경] Spring Security  (0) 2021.07.27
[배경] Spring 실행 순서  (0) 2021.07.27
[배경] Servlet  (0) 2021.07.27

Web Service의 기본적인 동작 과정

HTML Form → Servlet → HTML Page

[출처] https://gmlwjd9405.github.io/2018/10/28/servlet.html

  • 사용자가 HTML Form을 통해 정보 입력(Input)하면 Servlet이 관련된 정보를 검색하고 이 정보를 이용해 사용자의 요청에 맞는 적절한 HTML Page를 만들어 제공(Output)

 

Servlet

[출처] https://gmlwjd9405.github.io/2018/10/28/servlet.html

  • 웹 기반의 요청에 대한 동적인 처리가 가능한 하나의 클래스(개발자가 작성해야하는 부분)

[출처] https://gmlwjd9405.github.io/2018/10/28/servlet.html

  • Java Servlet Container / Web Server는 일반적으로 multi thread 환경이다.

(같은 Servlet에 대한 여러 개의 요청이 동시에 실행될 수 있어 runtime에 따라 결과가 달라질 수 있다.

즉, Concurrency Control(병행성 제어)가 필요)

[출처] https://gmlwjd9405.github.io/2018/10/28/servlet.html

  • Servlet API 3.0은 javax.servlet.annotation이라는 새로운 패키지를 도입
  • Annotation은 Web Deployment Descriptor 파일(web.xml)의 설정을 대체

'Web > Spring' 카테고리의 다른 글

[배경] Maven  (0) 2021.07.27
[배경] Template Engine  (0) 2021.07.27
[배경] Spring Security  (0) 2021.07.27
[배경] Spring 실행 순서  (0) 2021.07.27
[배경] MVC Pattern  (0) 2021.07.27

Top 10 Cloud Service Providers In 2021 

  1. Amazon Web Services (AWS)
  2. Microsoft Azure
  3. Google Cloud
  4. Alibaba Cloud
  5. IBM Cloud
  6. Oracle
  7. Salesforce
  8. SAP
  9. Rackspace Cloud
  10. VMWare

출처: www.c-sharpcorner.com/article/top-10-cloud-service-providers/

 

Top 10 Cloud Service Providers In 2021

Do you wonder what cloud service provider is good for you? Here is a report on the top 10 cloud service providers, their services, features, locations, and more.

www.c-sharpcorner.com

 

 

'Cloud' 카테고리의 다른 글

Serverless Framework 간단 실습  (0) 2022.12.16

+ Recent posts