Vue 라이브러리를 사용하는 이유
·
Vue.js
이건 web-app을 만들 때 씁니다. Web-App은 페이지가 새로고침되지 않고 부드럽게 전환되는 사이트를 뜻합니다. 쉽게 말해서, 페이지 전환시 페이지를 새로 요청하는게 아니라 자바스크립트로 HTML을 갈아치우면서 부드럽게 구현하는 것입니다. 근데 그냥 자바스크립트로 이런거 만들려면 귀찮고 코드가 길어집니다. 그래서 Vue React Angular 이런거 쓰면 쉽게 개발이 가능합니다. 근데 굳이 다른거 냅두고 Vue 쓰는 이유를 아십니까. 1. 쉬워서 씁니다. 이게 진짜 중요한 이유입니다. React Vue Angular 전부 똑같이 웹앱을 만들어낼 수 있습니다. Angular는 매우 방대하고 Typescript를 강제로 써야하고 React는 기존 JS문법을 매우 많이 활용하고 Vue는 Vue 문법을..
자바스크립트 기초
·
JavaScript
프로그래밍이란? 컴퓨터가 똑똑한 이유는 컴퓨터가 안에 담겨있는 프로그램 덕분 프로그래밍 : 사람이 우너하는 대로 컴퓨터가 작동할 수 있도록 컴퓨터 언어로 명령어를 나열하는 행위 따라서, 자바스크립트는 HTML과 CSS와 다르게 프로그래밍 언어라고 불리운다. 웹 프로그래밍이란? 웹 프로그래밍 : '웹 브라우저'를 동작시키는 프로그램을 작성하는 것 백엔드 프로그래밍 : 서버에서 데이터 관리를 프로그래밍 프론트엔트 프로그래밍 : 서버에서 받아온 정보를 웹 브라우저에 어떻게 표시할 것인지 프로그래밍 자바스크립트의 특징 모든 웹 브라우저에서 작동한다. 웹 브라우저에서 실행 결과를 즉시 확인할 수 있다. 풀스택 웹 개발 뿐 아니라 다양한 용도의 프로그램을 만들 수 있다. 다양한 자바스크립드 공개 API를 사용할 수..
서버리스(ServerLess)
·
몰입 교육
서버리스(ServerLess) 서버리스 아키텍처란? 서버리스는 언뜻 단어로만 보면 'Server + Less'로 '서버가 필요 없다'는 뜻으로 생각될 수 있습니다. 하지만 실제 의미는 클라우드 서비스 공급자가 서버를 관리, 실행하며, 요청이나 특정 이벤트가 있을 때 클라우드의 서버를 이용하거나 서비스 할 어플리케이션을 동작시키는 것입니다. 이를 통해 사용자(개발자)는 서버 관리에서 완전히 자유로워지며 실제 구현해야 할 기능에 더 집중할 수 있게 됩니다. 서버리스는 보통 '서버리스 컴퓨팅' 또는 '서버리스 아키텍처'로 불립니다. 서버리스 개념은 어플리케이션 관점에서 BaaS(Backend as a Service)와 FaaS(Function as a Service)로 나누어 살펴보면 이해가 더 용이합니다. ..
Cloud Service
·
몰입 교육
Cloud 개념 클라우드 컴퓨팅이란 인터넷 기반의 컴퓨팅을 말합니다. 인터넷 상의 가상화된 서버에 프로그램을 두고 필요할때마다 컴퓨터나 스마트폰 등에 불러와 사용하는 서비스입니다. 클라우드(Cloud)라는 단어가 말해주듯, 인터넷 통신망 어딘가에서 구름에 싸여 보이지 않는 컴퓨팅 자원(CPU, 메모리, 디스크 등)을 원하는 대로 가져다 쓸 수 있습니다. 구름에 싸여 있다는 것은 그 내부를 보려고 하거나 알지 않아도 얼마든지 내가 원하는 것을 꺼내어 사용할 수 있다는 것이며, 인터넷이 연결된 어느 곳에서든 이것을 보장 받을 수 있다는 뜻입니다. 장점 웹서비스 운영자 입장에서 클라우드를 바라본다면 다음과 같은 장점이 있습니다. 서버를 직접 구매할 때 고려해야 할 전력, 위치, 확장성을 고민하지 않고 데이터 ..
MSA(Micro-Service Architecture) 설계
·
몰입 교육
Micro-Service Architecture MSA(Microservices Architecture)는 대규모 시스템을 구축하기 위한 아키텍처 패턴 중 하나로, 서비스 기능 단위로 시스템을 구성하는 접근 방식입니다. MSA는 기능을 독립적으로 개발하고 배포할 수 있는 잘 분리된 마이크로서비스들로 시스템을 구성합니다. 이로 인해 시스템이 탈중앙화되고, 서비스 간의 느슨한 결합을 갖게 됩니다. 분산 처리 시스템: MSA는 분산 처리 시스템의 한 유형입니다. 시스템의 기능은 작은 단위의 서비스로 나누어지고, 이 서비스들은 분산되어 서로 다른 서버 또는 컨테이너에서 실행됩니다. 이렇게 분산되어 실행되는 서비스들은 서로 독립적으로 동작하며, 다른 서비스들과 통신을 통해 상호작용합니다. 대규모 시스템: MSA는..
네트워크 기초
·
몰입 교육
네트워크 기초 네트워크란 네트워크는 컴퓨터와 기타 장치들이 데이터를 교환할 수 있도록 연결된 구조를 말합니다. 인터넷도 하나의 거대한 전 세계 네트워크입니다 . 라우터, 스위치 라우터: 네트워크 간에 데이터를 전송하는데 사용되는 장치로, 최적 경로를 결정하여 데이터를 보냅니다. 스위치: 네트워크 내에서 데이터를 전달하는데 사용되는 장치로, MAC 주소를 기반으로 데이터를 전송합니다. LAN, WAN LAN (Local Area Network): 가까운 지리적 위치에 있는 컴퓨터와 장치들을 연결하는 작은 규모의 네트워크입니다. WAN (Wide Area Network): 지리적으로 넓은 지역을 연결하는 네트워크로, 여러 개의 LAN을 연결합니다. 인터넷도 하나의 대표적인 WAN입니다. OSI 7 Layer..
GIt 사용자 지정 및 버전 커밋하기
·
몰입 교육
Git Bash를 사용합니다 0) Git 설치 확인 깔려있는 git 버전을 확인할 수 있습니다. 1) 사용자 정보를 지정해 줍니다. 이름과 이메일을 설정해줍니다. 2) 현재 Git 리포지토리에서 설정된 모든 구성 옵션들을 보여주는 명령어입니다. 이 명령어를 사용하면 Git 설정에 대한 정보를 쉽게 확인할 수 있습니다. 1번에서 설정했던 이름과 이름이 Git설정에 보이는 것을 확인할 수 있습니다.(노란색글씨) 3-1) 현재 사용자의 홈 디렉토리에서 "project" 디렉토리로 이동하게 됩니다. 3-2) git init을 실행하면, Git은 .git 디렉토리를 생성하고, 이 디렉토리에 Git의 객체(database)들과 설정 파일들이 저장됩니다. 이를 통해 Git은 버전 관리에 필요한 모든 정보를 저장하고 ..
Git(Gitbash) 설치 및 다운로드(window)
·
몰입 교육
OS(운영체제) : Window 다운로드 링크 : https://git-scm.com/download/win 대부분의 경우 64-bit Git for Window Setup. 을 설치해주시면 될 것입니다. 완료.
웹이 동작하는 원리 & 데이터 모델링
·
몰입 교육
# 웹이 동작하는 원리 HTTP 프로토콜: 웹에서 클라이언트와 서버 간의 통신을 담당하는 규칙과 규약. 3-way 핸드쉐이크: TCP/IP 프로토콜을 사용하여 클라이언트와 서버가 연결을 설정하는 과정. HTTP/1.1과 HTTP/2.0: HTTP 프로토콜의 버전 차이와 기능적 향상. API와 라이브러리의 차이점 API (Application Programming Interface): 외부 시스템과 상호작용하기 위한 인터페이스로, 다른 애플리케이션에 기능을 노출시키는 방법. 라이브러리: 코드 조각들의 집합으로, 어플리케이션의 특정 기능을 제공하거나 보완하는 데 사용. 웹 브라우저 동작 원리 DOM (Document Object Model): 웹 페이지의 구조화된 표현 방식으로, 웹 브라우저가 HTML 문서..
병합정렬(MergeSort)
·
Algorithm
지난 시간까지 시간 복잡도 O(N ^ 2)인 선택 정렬, 버블 정렬, 삽입 정렬 알고리즘을 공부했습니다. 이어서 평균 시간 복잡도 O(N * logN)인 퀵 정렬에 대해서도 공부하는 시간을 가졌습니다. 이번 시간에 다룰 내용은 병합 정렬(Merge Sort) 입니다. 병합 정렬도 대표적인 '분할 정복' 방법을 채택한 알고리즘입니다. 결과적으로 퀵 정렬과 동일하게 O(N * logN)의 시간 복잡도를 가집니다. 다만 퀵 정렬은 피벗 값에 따라서 편향되게 분할할 가능성이 있다는 점에서 최악의 경우 O(N ^ 2)의 시간 복잡도를 가진다고 하였습니다. 병합 정렬은 정확히 반절씩 나눈다는 점에서 최악의 경우에도 O(N * logN)을 보장합니다. 개념 자체도 굉장히 쉽기 때문에 퀵 정렬을 이해하신 분들이라면 어..