Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- useCallback
- list
- 웹
- 가상회선교환
- 리액트
- CSS
- useState
- Git
- pull
- list.map
- createPortal
- Kotlin
- 리덕스
- 공부
- redux
- hot Reloading
- async
- 비동기처리
- merge
- await
- 리액트를 다루는 기술
- rebase
- 자동반영
- javascript
- typescript
- php문법
- 리사이클러뷰
- equalityFn
- react
- 컬러구성
Archives
- Today
- Total
공부블로그
기술스택 공부 with.chat GPT 본문
우선, 웹 개발에서 사용되는 전형적인 기술 스택에 대해 알아보자.
- 프론트엔드(클라이언트 측):
- HTML(HyperText Markup Language): 웹 페이지의 구조를 정의하는 마크업 언어입니다.
- CSS(Cascading Style Sheets): 웹 페이지의 스타일을 정의하는 스타일 시트 언어입니다.
- JavaScript: 웹 페이지의 동적인 동작을 제어하고 사용자와 상호 작용하는 프로그래밍 언어입니다.
- 프레임워크 및 라이브러리: Vue.js(Nuxt.js), React.js(Next.js), Angular 등의 프론트엔드 프레임워크 및 라이브러리를 사용하여 웹 애플리케이션을 개발합니다.
- 백엔드(서버 측):
- 웹 서버: 클라이언트 요청을 받아들이고 응답하는 소프트웨어입니다. 예를 들어, Node.js, Apache, Nginx 등이 사용됩니다.
- 언어 및 프레임워크: JavaScript(Node.js), Python(Django, Flask), Ruby on Rails, Java(Spring), PHP(Laravel) 등의 언어와 프레임워크를 사용하여 백엔드 로직을 구현합니다.
- 데이터베이스: 사용자 데이터, 애플리케이션 데이터 등을 저장하고 관리하는 데 사용됩니다. 예를 들어, MySQL, PostgreSQL, MongoDB 등이 사용됩니다.
- API(웹 서비스): 클라이언트와 서버 간의 통신을 위한 인터페이스입니다. RESTful API, GraphQL 등의 방식으로 구현됩니다.
- 개발 및 배포 도구:
- IDE(Integrated Development Environment): 개발을 위한 통합 개발 환경으로서, Visual Studio Code, Atom, Sublime Text 등이 있습니다.
- 버전 관리 시스템: 코드의 변경 내역을 관리하고 추적하기 위해 Git을 주로 사용합니다.
- 협업 도구: 여러 개발자들 간의 협업을 위해 GitHub, GitLab, Bitbucket 등을 사용합니다.
- 배포 도구: 애플리케이션을 서버에 배포하고 관리하기 위해 Docker, Kubernetes, AWS 등을 사용합니다.
일반적으로 프론트에서의 스택변경은 프레임워크의 변경을 말하는 경우가 많고, 백엔드는 정말 잘 모르지만 4가지 모두 변경 가능성이 높은 것 같다. ( 아마 프론트는 js기반 언어를 쓰는 경우가 대부분이라 언어의 변경이 적은 것 같고, 백엔드는 언어부터 서버, DB까지 장단점이 다르기 때문에 그럴지도..? )
보통의 웹 서비스는 클라이언트(브라우저) > 웹서버 > WAS > DB 순으로 이루어져 있다.

웹서버: 클라이언트 요청에 따라 HTML, CSS, JS, 이미지 파일과 같은 정적 파일을 응답하여 제공하는 소프트웨어, HTTP프로토콜을 사용해 클라이언트와 통신한다. 웹서버의 한 종류가 NginX이다.
WAS(web application server): 클라이언트 요청에 대한 동적인 처리를 담당하는 영역. 예를 들어 회원가입이나 로그인 등의 로직을 처리하거나 데이터베이스 연동, 트랜젝션 관리, 보안, 로깅 등의 기능을 제공한다. Node.js는 웹서버 또는 WAS로도 사용할 수 있다.
+ 개발을 위해 미리 정의된 가상의 데이터나 응답을 제공하는 모의(mock)서버를 사용할 수도 있다!
API: 클라이언트와 서버 간의 상호 작용을 표준화하고 효율화하기 위한 규약
- RESTful API: HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 클라이언트가 리소스( 접근할 대상 ex. 서버의 endpoint경로 )에 대한 요청을 보내고 서버는 해당 요청에 대한 응답을 제공한다.
- GraphQL: 페이스북에서 만드 쿼리 언어. RESTful API에서는 서버가 사전에 정의된 엔드포인트를 통해 데이터를 제공해서 종종 클라이언트에게 필요한 데이터보다 많거나 적은 경우가 있다. 이와 달리 GraphQL에서는 클라이언트가 정확히 원하는 데이터를 쿼리로 지정할 수 있다. 이를 통해 불필요한 데이터를 전송하지 않고 필요한 데이터만을 효율적으로 가져올 수 있다.
배포도구
- Docker: 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼. 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는데 필요한 모든 것이 포함된다.
다음 포스팅은 CSR, SSR에 대해서....
'공부하기' 카테고리의 다른 글
앱 UI 디자인 기본 - 아이콘, 타이포그래피 (0) | 2024.01.21 |
---|---|
앱 UI 디자인 기본 - 레이아웃과 컬러 (1) | 2023.11.12 |
프로그래머스 - [ 개인정보 수집 유효기간 ] (1) | 2023.04.18 |
네트워크 통신 방식 - 회선교환과 패킷교환 (0) | 2023.03.15 |
PHP 문법 (0) | 2023.03.12 |