본문 바로가기

IT KNOWLEDGE/개발 방법론9

브라우저의 동작 원리 베하~ 안녕하세요 인사통입니다! 오늘은 우리가 정말 자주 사용하는 브라우저(browser)의 동작 원리에 대해서 알아보겠습니다. 우선 우리가 매번 보는 이 화면이 어떻게 구성이 되어있는지, 어떻게 작동하는지 알고 사용하는 사람은 IT 관련업에 종사하거나 관심이 없다면 알 수 없습니다. 브라우저의 주요 기능은, '선택한 자원을 서버에게 요청하고, 전송받은 자원을 브라우저 화면에 표시' 하는 것입니다. ​ 자원의 종류는 아래와 같은 요소들이 될 수 있습니다. - HTML - CSS - JavaScript - PDF - Image - 기타 등등 그렇다면 위에 언급한 자원은 브라우저가 어떻게 서버에게 요청을 할 수 있는 것일까요? 바로 URI(Uniform Resource Identifier) 덕분입니다. ​ .. 2023. 12. 12.
프로세스와 데몬 그리고 서비스 베하~! 반갑습니다 인사통 입니다! 날씨가 추워지고 있어요 다들 건강 잘 챙기시길 바랍니다! 오늘은 프로세스와 데몬, 서비스에 대해서 알아보도록 할게요! 프로세스 (Process) 프로세스는 메모리에 적재되어 CPU에 의해 실행되는 컴퓨터 프로그램을 지칭합니다. 각 프로세스는 고유한 프로세스 ID(PID)를 가지고, 운영체제는 프로세스 간의 자원 공유를 관리합니다. 예를 들어, 웹 브라우저를 실행하는 경우 브라우저라는 프로그램은 하나의 프로세스로 실행되는 것이라 보면 됩니다. 프로세스는 눈에 보이는 프로세스(foreground process) 와 눈에 보이지 않은 프로세스(background process) 로 구분됩니다. 포그라운드 프로세스 백그라운드 프로세스 사용자와 상호작용하는 프로세스 프로세스는 .. 2023. 11. 30.
DevOps란? 베하~! 인사통 인사드립니다. 오늘은 IT에서 핫한 키워드중 하나인 DevOps에 대해서 알아보는 시간을 가지도록 해요! DevOps란 무엇인가? DevOps는 Dev(개발)과 Ops(운영)이 합쳐진 용어입니다! DevOps의 기본 개념은 간단히 말하면 개발과 운영의 경계를 허물고 통합한다고 할 수 있습니다. DevOps의 정의 DevOps 를 정의하는 다양한 표현이 있어요! 그 중 아래 5가지 단어들을 이용하여 이야기 하는게 가장 쉽고 이해하기 쉬운 표현인 것 같습니다. DevOps는 아래 5가지 철학/방법을 지향하여 프로세스를 만들고, 문화를 만들어나가는 철학입니다. 문화(Culture) 자동화(Automation) 측정(Measurement) 공유(Sharing) 축적(File up and Pile.. 2023. 8. 18.
클라우드 네이티브 애플리케이션 개발의 기본 원칙과 실제 적용 사례 1. 클라우드 네이티브의 정의: 클라우드 네이티브는 클라우드 환경에 최적화된 애플리케이션 개발과 운영 방식을 의미합니다. 이 방식은 확장성, 탄력성, 복원력을 중시하며, 클라우드의 자원을 효율적으로 사용하려는 접근 방식입니다. 확장성: 클라우드 환경은 수요에 따라 자원을 쉽게 확장할 수 있는 특징을 가지고 있습니다. 탄력성: 부하의 증가나 감소에 따라 자동으로 자원을 조절합니다. 복원력: 장애 발생 시 자동 복구 기능을 제공하여 서비스의 지속성을 보장합니다. 2. 마이크로서비스 아키텍처: 모노리식 아키텍처는 전체 시스템이 한 개의 애플리케이션으로 구성된 반면, 마이크로서비스는 작은 기능 단위로 나누어진 독립적인 서비스로 구성됩니다. 이 구조는 다음과 같은 이점을 제공합니다: 독립적인 배포와 확장: 서비스.. 2023. 8. 18.
프론트 엔드란? 베하~! 안녕하세요 여러분 간만에 찾아온 김회장과 최총무 입니다! 저번에 배운 백엔드에 이어서 오늘은 프론트엔드에 대해 알아보겠습니다. https://btcd.tistory.com/1271 백엔드란? 베하!! 반갑습니다~ 인사통의 BTC_김회장, 최총무입니다!! 오늘은 IT입문자라면 상식으로 알아야할 백엔드에 대해서 알아볼게요! 보통 IT 서비스를 개발할 때 프론트엔드와 백엔드에 대해 많이 이 btcd.tistory.com 백엔드가 묵묵히 자신의 일을 해내는 정총무와 같다면 앞에서 까불거리는 제가 프론트엔드라고 보면 될까요? ㅎ 위키백과, 우리 모두의 백과사전에 따르면 프론트엔드는 "일반적으로 프론트엔드(front-end)와 백엔드(back-end)라는 용어는 프로세스의 처음과 마지막 단계를 가리킨다" .. 2023. 8. 4.
MVC 패턴이란? 탑신병자 듀오 팀 티모입니다. 오늘은 MVC 패턴에 대해서 알아보겠습니다. MVC(Model-View-Controller) 패턴은 어플리케이션을 세 개의 영역으로 분할하고, 각 구성 요소에게 고유한 역할을 부여하는 개발 방식입니다. 기본적인 구조는 위와 같습니다. 사용자는 Controller만을 조작하며, Controller는 Model을 통해 데이터를 가져온 후 View를 통해 이미지 등을 표현해 전달해줍니다. 사용자가 웹에 접속할 때를 예로 든다면, 사용자가 웹에 접속 Controller는 웹에 필요한 모델을 호출 Model은 데이터베이스, 파일 등에서 데이터 소스를 제어한 후 그 결과를 Controller에 전달 Controller는 Model이 전달한 값을 View에 반영 데이터가 반영된 View.. 2023. 7. 10.
React에서 Next.js로 베하~! 안녕하세요~ 1Tier팀 입니다. 프론트엔드&웹 개발에 관심이 있는 분들, 혹은 IT트랜드에 관심이 있으신 분들은 많이 들어보셨을 Next.js Next.js가 무엇인지, 왜 이렇게 핫한지 한번 알아봅시다. Next.js 탄생 배경 Next.js의 탄생 배경을 알고자 하면, 우선 웹 통신 중 렌더링에 대한 지식이 조금 필요하기 때문에 간단히 알아봅시다. 우선 웹 렌더링 방식에는 크게 두 가지가 있는데, 바로 Server-Side Rendering과 Client-Side Rendering 가 있습니다. Client-Side Rendering VS Server-Side Rendering Client-Side Rendering은 리액트나 뷰 같은 라이브러리를 이용하여 서버가 아닌 유저의 브라우저에서 .. 2023. 5. 11.
MSA 장애 예방을 위한 Circuit Breaker(feat. Spring) 1. Test Source Code 1.1 main application @EnableCircuitBreaker Circuit breaker 사용을 위하여 EnableCircuitBreaker Annotation 추가합니다. @EnableHystrixDashboard HystrixDashboard 사용을 위하여 @EnableHystrixDashboard Annotation 추가합니다. 1.2. Service Circuit breaker 적용하기 위해서 실 서비스 메서드 위에 @HystrixCommand(fallbackMethod = “getFallback”) Annotation 정의하고, Service 장애 시 호출한 fallback 메서드는 getFallback 메서드로 지정합니다. 앞서 정의한 Fal.. 2022. 12. 2.