IaaS, PaaS, SaaS, XaaS 의 차이는?
·
Cloud
클라우드를 접한지는 좀 되었지만 가장 처음에 접했던 용어에 대한 기억이 흐릿해져 개념을 확실히 잡을 겸 작성하게 되었습니다. 기본적인 정의IaaS (Infrastructure as a Service)IaaS 는 인프라스트럭처 부분, 서버나 네트워크를 빌려주는 형식으로 서비스를 제공합니다.구축된 서버에 OS나 미들웨어를 설치하거나 네트워크를 설정하는 등의 작업은 클라우드 이용자가 직접 수행해야 합니다. 이 인프라에서는 스토리지, 호스팅, 컴퓨팅, 네트워킹 등이 포함되어 있고 사용한 만큼 비용을 지급하게 됩니다. 기업들은 IaaS 를 통해 소프트웨어 라이선스와 서버 등 IT 자산을 직접 소유하는 대신 필요에 따라 리소스를 유연하게 대여할 수 있습니다.  PaaS (Platform as a Service)Pa..
[일주회고] 2024년 9월 첫 주 회고
·
회고록
개발1. 팀 레모나!!내가 백엔드를 맡고 있는 우리 팀의 기술 스택이 확실하게 정해졌다.제대로 사용해본 적 없는 NodeJS 와 Supabase 를 기반으로 백엔드를 구성해야 하는데, 팀원들에게 공부하는데 시간이 좀 걸린다고 엄살을 많이 떨었다. 사실 엄살이 아니라 진짜다 NodeJS 는 공식문서 읽어본 적도 없다고 나를 포함한 팀원 5명 중 나를 제외한 모든 인원이 직장인이기 때문에 장기 사이드 프로젝트로 진행되겠지만 내가 벌려놓은 일들이 많아서 내 몫은 빨리 최대한... 할 수 있는 만큼 최대한 빨리 처리하고 싶다는 욕심이 있다. 추석기간까지 몇가지 목표가 있다.NodeJS, Supabase 공식문서 정독, 개념 구체화하며 티스토리에 정리하여 업로드NodeJS, Supabase 인프런 강의를 들으면서..
[방법론 사전 스터디] TDD 개념과 왜 TDD여야 하는가?
·
항해99 플러스 백엔드
TDD테스트 주도 개발은 소프트웨어 개발 프로세스에서 테스트를 먼저 작성하고, 그 테스트를 통과하는 코드를 작성하는 방법론입니다. 이 방식은 개발 초기 단계에서 버그를 발견하고 수정하는데 도움을 주며, 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드입니다.또한, TDD는 소프트웨어의 설계를 개선하고, 리팩토링을 촉진하는 효과적인 방법으로 작용합니다. 테스트 코드를 왜 작성해야 하나?디버깅 비용이 절감된다.애플리케이션은 항상 내결함성을 가지고 있고 좋은 코드와 설계를 갖추더라도 결함의 존재 자체를 부정할 수는 없습니다. 그래서 기능에 대한 버그는 계속 발생하고 그것에 해결하기 위해 개발자는 디버깅을 꾸준히 할 수 밖에 없습니다. 만약 테스트 코드가 없다면, 버그..
MongoDB 와 VSCode 연동하기
·
DataBase/MongoDB
MongoDB 는? MongoDB Network Access MongoDB 웹 -> 좌측 하단에 보면 Network Access 라는 항목이 있다.이 페이지에서 접속할 수 있는 IP 를 설정할 수 있다.  향후에 AWS EC2 서버 혹은 기타 다른 곳에 배포하게 될 때도 고정 IP 를 얻어 여기에 등록을 해야 접속이 가능해지며, 고정 IP 가 아니라면 접속이 불가능하다. 처음 만드는 것이라면 화면 메인의 초록색의 Add IP Address 버튼을 누르고, 만든 적이 있다면 우측 상단 쪽에 초록색 Add IP Address 버튼을 눌러주면 된다.  버튼을 누르게 되면 이런 창이 하나 뜨게 된다. 프로젝트의 IP 액세스 목록에 있는 항목들만 클러스터에 대한 클라이언트 연결을 허용한다는 내용으로, 각 항목은 ..
자바스크립트에서 백그라운드, 이벤트 루프, 테스트 큐란?
·
Front/JavaScript
웹 브라우저 구성: 웹 브라우저는 크게 자바스크립트 엔진, 백그라운드 (web API), 테스트 큐 (이하 callback 큐), 이벤트 루프로 구성되어 있다. 자바스크립트 엔진자바스크립트는 싱글 스레드로 한 번에 한 가지 일만 처리할 수 있다.하지만 웹브라우저에서 HTTP 요청이나 타이머 등 비동기 함수를 병렬적으로 처리할 수 있다.이렇게 자바스크립트가 싱글 스레드임에도 병렬적으로 처리가 가능한 이유는 다양한 웹 API 를 제공하여 비동기 작업을 처리할 수 있도록 도와주기 때문이다.자바스크립트 구성자바스크립트는 Call Stack, Memory Heap 이라는 메모리 구조를 통해 데이터 및 코드 실행을 관리한다 Call Stack함수 호출과 관련된 실행 컨텍스트를 관리하는 메모리 영역이다.함수가 호출될..
Junit 프레임워크
·
Back/Spring, Spring Boot
Junit: 자바의 단위 테스팅 도구, 테스트 한 결과를 문서로 남기는 것이 아니라 Test Class 를 그대로 남겨 추후에 개발자에게 테스트 방법 및 클래스의 history 를 넘겨 줄 수 있다1) 단정문으로 테스트 케이스의 수행 결과를 판별한다2) 어노테이션으로 간결하게 사용할 수 있다어노테이션 종류@Before (초기화) : 테스트 클래스 안의 메서드들이 테스트 전에 실행할 코드를 정의할 수 있다@BeforeClass : 메서드들이 몇 번 실행되건 테스트 전 해당 클래스에서 단 한 번만 실행하도록 할 수 있다@Beforepublic void setUp( ){ //setup before testing}@After (해제) : 이 어노테이션을 메서드 위에 선언한다면 테스트 클래스 안의 메서드들이..
리액트의 Virtual DOM 이란?
·
Front/React
Virtual Dom?React 의 장점 중 하나인 Virtual DOM은 JavaScript 라이브러리나 프레임워크에서 사용되는 개념으로, 실제 DOM(Document Object Model)의 가벼운 복사본을 메모리에 유지하는 기술이다. 이를 통해 실제 DOM과의 비교를 최소화하고 효율적으로 UI를 업데이트할 수 있다. DOM 은 객체로 문서 구조를 표현하는 방법으로 XML 이나 HTML 로 작성한다.웹 브라우저는 DOM 을 활용해 객체에 자바스크립트와 CSS 를 적용한다. DOM 은 트리 형태라서 특정 노드를 찾거나, 수정하거나 제거하는 등의 원하는 곳에 삽입할 수 있다.  하지만, 동적 UI 에는 최적화되지 않다. 규모가 큰 웹 어플리케이션 (페이스북, 인스타그램 등)에서 DOM 에 직접 접근하여..
<React> 리액트에서 Axios (액시오스) 사용하기
·
Front/React
: 서버와 데이터를 주고 받기 위해 HTTP 통신을 하는데, 리액트에는 이런 작업(HTTP 상에서 커뮤니케이션을 하는 자바 기반 컴포넌트 = HTTP Client) 을 하는 내장 클래스가 없다.--> 리액트에서 AJAX 를 구현하기 위해 다른 HTTP Client 를 사용해야 한다. Fetch API, AXIOS리액트에서 Axios 구현Axios 설치npm install axiosyarn add axios사용하기비동기로 서버에 요청 -> 서버의 응답이 오면 받아서 성공/실패 를 구분하여 처리서버에 요청 후 응답이 오기까지 시간이 걸리기 때문에 요청은 비동기로 처리하고, 응답을 처리하는 부분은 then 이나 await 을 사용한다.// GETasync function getUser() { // async,..
Core JavaScript
·
Front/JavaScript
Data Types기본형 데이터 타입과 참조형 데이터 타입기본형 (Primitive Type) 데이터 타입숫자, 문자열, 논리, null, undefined / symbol (ES6 에서 추가된 )참조형 (Reference Type) 데이터 타입대표적으로 객체 (Array, Function, RegExp (정규표현) / Set - WeakSet, Map - WeakMap (ES6 에서 추가된 것) )Stack Memory (스택 메모): 변수와 함께 기본형 데이터가 저장된다, 정적할당: 변수 = 데이터 를 설정할 때 메모리에 올리게 되는데 순서는 다음과 같다var a;// 변수 a 를 임의의 메모리에 올린다 (주소를 1 이라고 하자)// 주소 1 에 이름과 값을 저장할 수 있는데, 이름은 a 로 저장한다..
다솜의 개발자 도전기
솜방망이