[네트워크] HTTP의 특성 톺아보기
·
CS/네트워크
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 OSI 7계층 중에서 제3계층인 응용계층과 가장 밀접하게 연결되어 있는 HTTP에 대해서 정리를 해보려고 합니다. HTTP의 개념과 특징을 잘 정리하고 알고 계시면 개발을 할 때에도 직접적인 도움을 많이 받으실 수 있을 겁니다! 그럼 바로 시작하겠습니다! HTTP란?먼저 HTTP의 특성에 대해서 배우려면 HTTP가 뭔지부터 알고 넘어가야겠죠? 정말 간단하게 설명하고 넘어가겠습니다. HTTP(Hypertext Transfer Protocol)는 월드 와이드 웹(WWW)에서 데이터를 주고받기 위한 프로토콜입니다. 웹 브라우저와 웹 서버 간의 통신을 담당하며, 요청(Request)과 응답(Response)을 통해 정보를 주고받는 방식으로 작동합니다. HTTP는..
[운영체제] CPU 스케줄링 알아보기
·
CS/운영체제
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 오랜만에 운영체제에 대해서 다뤄볼건데 그 중에서도 CPU 스케줄링에 대해서 한번 정리를 해보려고 합니다. 본론에 들어가기에 앞서서!운영체제가 CPU로 할당하는 대상에는 프로세스 뿐만 아니라 스레드도 포함이 되어 있지만 이번 포스팅에서는 이 두가지를 '프로세스'로 통칭해서 포스팅한다는 점 유의하고 봐주시면 감사하겠습니다. 스케줄링이란?먼저 기본적인 부분부터 짚고 넘어가겠습니다.  모든 프로세스와 스레드는 실행되기 위해 자원을 필요로 합니다. 여기서 자원이란 프로세스가 실행되기 위해 요구되는 모든 요소를 의미하죠. 따라서 자원 배분은 매우 중요한 문제입니다. 하지만 만약 이 중요한 자원을 무작위로 배분해, 어떤 프로세스에는 100 중 80을 주고, 다른 곳에..
[DataBase] 데이터베이스와 테이블 관리하기
·
CS/Database
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 데이터베이스 생성하고 관리하는 방법 중에서 데이터베이스 생성과 테이블 생성에 대해서 포스팅을 해보겠습니다! 우선 들어가기에 앞서서 MySQL이 관리하는 것들에 대해서 정리하고 가겠습니다. MySQL을 설치하면 DBMS가 설치될 거고, 여러개의 데이터베이스를 갖게 될 겁니다. 그리고 그 데이터베이스 안에는 여러개의 테이블을 가질 수 있습니다. 아래 그림처럼 말이죠!우리는 이런 구조로 MySQL을 관리할 수 있습니다.  MySQL이 관리하는 것MySQL이 관리하는 것들을 살펴보면 데이터베이스들을 관리하게 되고 그 데이터베이스들은 테이블들을 관리하게 될 것입니다. 그리고 또  테이블은 데이터를 의미하는 행과 열들을 가지고 있고 각각의 데이터 정확하게는 열에는 ..
[디자인패턴] MVC 패턴 이해하고 활용하기
·
CS/디자인 패턴
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 소프트웨어 디자인 패턴 중 하나인 MVC 패턴에 대해 간단하게 한 번 살펴보도록 하겠습니다. MVC 패턴이란?먼저 MVC 정의 먼저 살펴보겠습니다. "MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다"라고 하는군요.... 말이 좀 어렵죠? MVC 패턴(Model-View-Controller Pattern)은 소프트웨어 공학에서 사용되는 아키텍처 패턴 중 하나입니다. 이 패턴은 애플리케이션을 세 가지 역할로 분리하여 개발하는 방법론을 의미합니다.  제가 밑에서 좀 더 쉽게 설명해드리겠습니다! 그 전에 우선 각 키워드 별로 어떤 역할을 하는지 간단하게 살펴보겠습니다. Model(모..
[디자인패턴] 이터레이터 패턴 With Swift, Java
·
CS/디자인 패턴
서론 제가 블로그 포스팅을 1일 1포스팅을 해보려고 했는데 개인 사정으로 너무 바빠서 결국 실패해버렸네요..ㅎ 그런 이유로 오랜만에 포스팅을 해보려고 합니다! 이번시간에는 디자인패턴에 이터레이터 패턴에 대해서 포스팅을 해보려고 합니다! 이터레이터 패턴은 디자인 패턴 중 하나로, 여러분이 컬렉션을 다루는 데 있어 매우 유용한 도구입니다. 이터레이터 패턴이 무엇인지, 왜 필요한지, 그리고 어떻게 사용하는지에 대해 자세히 알아보도록 하겠습니다. 이터레이터 패턴이란? 이터레이터 패턴은 객체의 컬렉션, 즉 목록을 순회하는 방법을 제공하는 디자인 패턴입니다. 쉽게 말해서, 컬렉션 안의 각 요소에 순차적으로 접근할 수 있는 방법을 제공하는 것이죠. 그런데 왜 이런 패턴이 필요한 걸까요? 왜 이터레이터 패턴이 필요한가..
[디자인패턴] 프록시 패턴(Proxy Pattern)
·
CS/디자인 패턴
안녕하세요! 오늘은 소프트웨어 개발에서 자주 사용되는 디자인 패턴 중 하나인 "프록시 패턴"에 대해 이야기해보려고 합니다. 프록시 패턴은 어떤 객체의 대리자 역할을 하는 객체를 생성하여 사용하는 방식으로, 코드의 유연성과 재사용성을 높이는 데 도움이 됩니다. 우선, 프록시 패턴에 대해 알아보기 전에 프록시라는 단어부터 알아보겠습니다. '프록시'란 우리가 일상 생활에서 종종 마주치는 대리인이나 중개인을 의미합니다. 예를 들어, 외국에 살고 있는 친구에게 선물을 보내려면 그 나라의 대리점을 통해서 보내는 것과 비슷한 개념입니다. 이와 같이 프록시 패턴도 실제 객체의 역할을 수행하지만, 클라이언트와 실제 객체 사이에 중간 계층으로서 동작합니다. 프록스 패턴이란? 프록시 패턴은 이름에서 알 수 있듯이, 어떤 다..