본문 바로가기

분류 전체보기57

Saas, Paas, Iaas 차이 간단하게 보면 그냥 계층적으로 얼마나 deep하게 컨트롤 할 수 있냐의 차이 같다.1. SaaS (Software as a Service)정의: 소프트웨어를 인터넷을 통해 제공하는 서비스입니다. 사용자는 소프트웨어를 설치하거나 관리할 필요 없이 웹 브라우저를 통해 바로 사용할 수 있습니다. 애플리케이션의 백엔드 관리, 업데이트, 보안 등 모든 것이 서비스 제공 업체에 의해 관리됩니다.예시: Gmail, Google Drive, Microsoft 365, Dropbox, Salesforce 등사용자 역할: 소프트웨어를 단순히 사용합니다. 하드웨어나 소프트웨어 관리에 대한 걱정 없이 바로 애플리케이션에 접속하고 기능을 사용합니다.관리되는 부분: 모든 것(애플리케이션, 데이터, 런타임, 미들웨어, OS, 서버.. 2024. 10. 20.
[JavaScript] npm이란? NPM(Node Package Manager)Node.js의 기본 패키지 관리자이다. NPM은 JavaScript 라이브러리와 패키지를 쉽게 설치, 관리, 업데이트할 수 있는 도구를 제공한다. 뭐 말이 어려우니까 쉽게 생각하면  Node.js로 만들어진 pakage(module)을 관리해주는 툴이다. 1. 패키지 관리NPM은 Node.js 프로젝트에서 필요한 다양한 **모듈(패키지)**을 설치하고 관리하는 도구입니다. 프로젝트에서 필요한 모듈을 설치하면, NPM은 이를 프로젝트의 node_modules 폴더에 다운로드하고, package.json 파일에 설치된 패키지 정보를 기록합니다.2. package.json 파일NPM을 통해 설치된 패키지의 정보를 저장하고, 프로젝트 메타데이터를 관리하는 JSON .. 2024. 10. 13.
포트번호란? 포트번호는 네트워크 통신에서 데이터가 특정 프로그램이나 서비스로 전달될 수 있도록 하는 통신 경로를 식별하는 숫자입니다. 컴퓨터는 여러 프로그램이 동시에 네트워크를 사용할 수 있기 때문에, 포트 번호를 통해 어떤 프로그램이 데이터를 받을지 결정하게 됩니다.서버는 IP 주소와 포트 번호로 식별됩니다. IP 주소는 컴퓨터 자체를 식별하고, 포트 번호는 그 컴퓨터 안에서 특정 애플리케이션이나 서비스(예: 웹 서버, 이메일 서버)를 식별한다. 2024. 10. 13.
백준 1074 c++ 1074번: Z (acmicpc.net) 문제를 어떻게 접근해야할까?ㄴ아래 사진을 보면 너무너무 복잡하다. 게다가 시간 제한이 0.5초이다. 그냥 브루트포스로는 불가능 할 것다.ㄴ그렇다면 분할정복으로 접근해볼까? 일단 아이디어를 생각해보자. 저 grid를 1사분면 2사분면 3사분면 4사분면으로 계속 나누어서 하면 되지 않을까?아래 그림으로 예를 들어 설명하면 우측 상단에 있는 21을 찾는다면. 저렇게 1/4로 반갈죽 계속 시켜서 쌓아가는 느낌이면 될 것같다.분할정복 문제이므로 3가지를 먼저 생각해보자. 1. 언제 재귀하지 않아도 되는가?ㄴ문제가 n>1인 경우에 계속 호출한다니까 n=0이면 얼추 되겠다.2. 어떻게 n을 나눠야 할까?ㄴ흠.. 고민이 된다.3. 어떻게 합쳐야할까?ㄴ그냥 계속 더하면 될 것 같.. 2024. 10. 10.
알고리즘 시간 복잡도, 마스터 정리 일반적으로 반복문 같은 경우에는 보는게 쉽다. 그냥 가장 큰 루프를 보면 되는데, 까다로운 것은 자기호출 함수가 있을 때 까다롭다. 그래서 수학 잘하는 형님들이 공식을 만들었는데 바로 마스터 정리이다. 증명하는 과정도 있는데 난 수학이 잼병이라 잘 모르겠다. 이렇게 좋은게 있다~~ 하고 쓰면 될 것 같다. a: 재귀가 호출 된 수b: 기존의 n보다 얼마나 쪼개는가.c: 재귀가 아닌 것의 반복, 시간복잡도이다.  대표적인 합병 정렬을 예시로 보자.a= 2 -> 재귀가 2번 호출 되므로b=2 -> 재귀가 2로 나누어 지므로 mid =(low+high)/2k= 1 -> merge과정은 시간 복잡도가 n이므로  구체적으로 따지면 n-1번 수행하게 되는데 그냥 편의상 n으로 봐도 무방하다. 그렇다면  T(n) =.. 2024. 10. 7.
분할정복 divide & conquer (알고리즘) +(백준 1780) 알고리즘 문제에서 분할정복 문제를 만나면 어떻게 접근해야 하는지 정리하는 글이다. 이 문제를 찾는 인사이트는 문제를 보고 이 문제를 작은 문제로 쪼갤 수 있을까?를 보는 것이다.그리고 고민거리가 몇가지 있다. 1. 어떻게 나눌 것인가?2. 어디까지 나눌 것인가? degenerate case의 크기?3. 대칭적으로 나눌 것인가? 합병 VS 쾌속 정렬4. combine 단계가 필요한가? ( 대부분 쪼개긴 해야 하는데 합병 단계는 크게 필요 없는 경우가 많다.) 수시적으로 살펴보자 아래의 사진은 분할 정복을 표현하는 식이다. 이를 점화식으로 표현하면 아래와 같다.점화식의 해법은 아래와 같다. 1. 특성 방정식2. 텔레스코핑3. 마스터 정리 1번 2번은 머리 아프니 3번만 알아도 크게 상관 없다고 생각한다.ht.. 2024. 10. 7.