Web 개발
-
도커 와 마이크로 서비스Web 개발/Web 기본 지식 2022. 4. 29. 15:53
웹 서비스 개발과 마이크로 서비스 모노리틱 구조 처음에는 하나의 서버에 모든 기능을 넣었음 1세대 : USER ----- INTERNET --- WEB SERVER (Read static HTML) 2세대 : USER ----- INTERNET --- WEB SERVER (Create request-based HTML from CGI + DB) 3세대 : USER ----- INTERNET --- WEB SERVER MVC 패턴 기반 프레임원크 활용 MVC : Model - View - Control 패턴으로 구조화된 프레임워크를 사용, 빠르게 다양한 기능을 제공 코드 레벨에서 분리를 한 것임으로 분리를 했다 쳐도 하나의 Server에 있는 것과 동일하다. 마이크로 서비스 서비스가 방대해짐에 따라, 하나..
-
JWT(JSON Web Token)Web 개발/Web 기본 지식 2022. 2. 19. 16:59
JWT의 존재 이유 가상의 시나리오 어떤 웹 어플리케이션을 하나 개발한다고 생각 해보자 당연히 클라이언트가 있고, 그 클라이언트와 통신을 할 API 서버를 두게 된다. 그럼 거기에는 자연스럽게 데이터베이스가 따라간다. 이런 구조로 서비구를 구동 중에 있다가 서비스가 잘되어서 이용자가 많이 늘어 나게 되었다. 그런 경우에 클라이언트는 보통 문제가 되지 않는다. 오프라인 앱이라면 그냥 유저가 가지고 있는거니까 상관이 없고, 웹 어플리케이션이라면 CDN을 통해서 저렴하게 배포를 할 수가 있다. API서버는 어떨까 이 경우에도 스케일 아웃을 해서 서버를 늘리면 된다. 서버를 굴리기 위한 비용도 그닥 비싸지 않다. 이런 경우 가장 번거로운건 바로 데이터베이스 이다. 병렬처리 하기가 쉽지 않기 때문에 기본적으로 분..
-
Web Server와 WAS의 차이 1Web 개발/Web 기본 지식 2022. 1. 17. 11:59
Static Page - Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다. - 항상 동일한 페이지를 반환한다. Dynamic Page - 인자의 내용에 맞게 동적인 contents를 반환한다. - 즉, 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물 *Servlet:WAS위에서 돌아가는 Java Progeam - 개발자는 Servlet에 doGet()을 구현한다. Web Server 와 WAS의 차이 Web Server Web Server의 개념 Web Server의 기능 -HTTP프로토콜을 기반으로 하여 클라이어트(웹브라우저 또는 웹 크롤러)의 요청을 서비스하는 기능을 담당한다. 요청에 따라 다음 2가지 기능 중 적절하게 선택하여 수행한다. ..
-
커널과 쉘Web 개발/Web 기본 지식 2022. 1. 7. 20:00
사용자가 입력한 명령어는 일려의 과정을 거쳐 하드웨어를 제어하게 된다. 사용자가 명령어를 작성하고 조작하기 까지 이 사이에는 몇 가지의 과정을 거쳐서 수행을 하게 되는데, 명령어를 입력하게 되면 컴퓨터 내부에서는 쉘(Shell)이 이를 받아들이고, 명령어를 해석하여 커널(Kernel) 을 통해 하드웨어를 조작한다. 즉 제일 하단에는 하드웨어가 있고, 그 위에는 커널, 커널위에는 쉘, 그리고 쉘 위에는 사용자가 존재하여 사용자인 유저의 입력을 받게 된다. 커널 커널은 운영체제의 핵심 으로, 쉽게 말해 소프트웨어와 하드웨어간의 커뮤니케이션을 관리하는 프로그램 이다. 운영체제에서 가장 중요한 구성요소로서 입출력을 관리하고 소프트웨어로부터의 요청을 컴퓨터에 있는 하드웨어(CPU,메모리,저장장치등)가 처리 할 수..
-
오픈소스 라이선스 종류Web 개발/Web 기본 지식 2022. 1. 7. 13:30
OSI Open Source Definition (http://opensource.org/) 유명한 오픈 소스 라이선스들 Apache Liense2.0 GNU General public License(GPL) GNU Library or "Lesser" General Public License (LGPL) MIT license Eclipse Public License GNU General public License(GPL) 공개운영체계인 GNU프로젝트로부터 제공되는 소프트웨어에 적용되는 라이센스이다. 사용자들이 소프트웨어를 자유롭게 공유하고 내용을 수정하도록 보증하는 것을 말한다. 따라서, 사람들은 GPL을 이용하여 소프트웨어의 배포판을 만드러 배포할 수 있고, 원한다면 그 배포판을 상업적으로 이용할 수도..
-
TMSWeb 개발/Web 기본 지식 2022. 1. 2. 14:03
Transportation Management System TMS는 기술을 사용하여 기업이 들어오고 나가는 상품의 물리적 이동의 계획, 실행등을 최적화 하고, 선적이 규정을 준수하는지 확인하고, 적절한 문서를 사용할 수 있도록 지원하는 문류 플랫폼이다. -TransPortation Management 솔루션 -Transportation Management 소프트웨어 등 으로 불리는 TMS는 일상적인 운송 작업, 무역 규정 준수 정보 및 문서에 대한 가시성을 제공하고 화물및 상품의 적시 배송을 보장한다. 또한 TMS는 운송프로세스를 간소화하고, 기업이 육상, 항공 또는 행상 운송 운영을 보다 쉽게 관리하고 최적화할 수 있도록 한다. Transportation Management 외에도 일반적인 SMC시스템..
-
CI/CDWeb 개발/Web 기본 지식 2021. 12. 29. 19:51
CI/CD는 개발 환경프로세스 이다. 간단하게 말하면,어플리케이션 개발 단계부터 배포때까지 모든 단계들을 자동화를 통해서 조금더 효율적이고 빠르게 사용자에게 빈번히 배포할 수 있도록 만드는 것을 말한다. CI => Continuous Integratio 지속적인 통합 버그 수정이나 새로 만드는 기능들이 메인 Repository에 주기적으로 build되고 test가 되어서, merge되는 것을 말한다. 이 방식은 1991년 Grady booch에 의해서 처음으로 사용되어지다가 나중에는 extreme programming 개발 방법론에서 채택되어 졌다. point 1. 코드 변경사항을 주기적으로 비번하게 머지해야 한다. +어떻게 작은 단위로 나눠서 메인 Repository에 반영할지, 또는 작은 단위로 나눠..