1. API Gateway — API의 입구외부의 HTTP 요청을 받아 Lambda 등의 백엔드 서비스로 전달하는 서비스예:Vue │ │ GET /users ▼API Gateway │ ▼Lambda API Gateway에서는 /users, /products 같은 API Endpoint를 만들고 GET, POST, DELETE 등의 HTTP 요청을 처리할 수 있다.핵심API Gateway = 외부 요청을 받아 적절한 백엔드로 전달하는 API의 입구2. Lambda — 서버리스 코드 실행서버를 직접 구축하고 관리하지 않고 코드를 실행할 수 있는 Serverless 서비스요청 / 이벤트 발생 ↓ Lambda ↓ 함수 실행 ↓ 작업 완료 EC2와 달리 서버와 OS ..
비전공자의 좌충우돌 개발 일기 ٩(๑′∀ ‵๑)۶•*¨*•.¸¸♪
1. 애자일 선언의 4가지 가치오른쪽도 가치가 있지만, 왼쪽을 더 중요하게 생각한다. 더 중요하게 생각하는 것상대적으로 덜 중요하게 생각하는 것👥 개인과 상호작용프로세스와 도구💻 작동하는 소프트웨어포괄적인 문서🤝 고객과의 협력계약 협상🔄 변화에 대응계획을 따르는 것① 개인과 상호작용Individuals and interactions over processes and tools좋은 프로세스나 도구보다 사람들 사이의 소통과 협력을 중요하게 생각한다.② 작동하는 소프트웨어Working software over comprehensive documentation완벽하고 방대한 문서를 만드는 것보다 실제로 동작하고 가치를 제공하는 소프트웨어를 우선한다.③ 고객과의 협력Customer collaboration..
1. Agile이란?변화에 유연하게 대응하면서 작은 단위로 개발하고 지속적으로 개선하는 개발 방식/철학 핵심 흐름계획 → 개발 → 피드백 → 개선 → 반복 Agile 핵심 가치프로세스/도구보다 개인과 상호작용문서보다 작동하는 소프트웨어계약보다 고객과의 협력계획 준수보다 변화에 대응계획·문서가 필요 없다는 의미가 아니라, 상대적으로 더 중요한 것에 집중한다는 뜻.2. Scrum이란?Agile을 실제 팀에서 실행하기 위한 대표적인 프레임워크Agile = 철학 / 사고방식Scrum = Agile을 실천하는 방법 짧은 개발 주기인 Sprint를 반복하며 제품을 점진적으로 완성한다.3. Scrum Team 역할 핵심 Product Owner (PO)제품 가치 극대화, Product Backlog 관리Scrum M..
1. Vitest란?Vitest는 JavaScript/TypeScript 프로젝트에서 사용하는 테스트 프레임워크(Test Framework)이다.특히 Vite 기반 프로젝트와 궁합이 좋기 때문에 Vue.js + Vite 환경에서 많이 사용된다.쉽게 말하면,내가 작성한 코드가 예상한 대로 동작하는지 자동으로 확인해 주는 도구라고 생각하면 된다.예를 들어 다음과 같은 함수가 있다고 하자.function add(a: number, b: number): number { return a + b}사람이 직접 add(2, 3)을 실행해서 결과를 확인하는 대신 Vitest로 다음과 같이 테스트할 수 있다. ..
1. CI/CDCI/CD란?소스코드 변경부터 테스트와 배포까지의 과정을 자동화하기 위한 개념이다.개발자가 코드 작성 ↓ Git Push ↓┌─────────────┐│ CI ││ 빌드 / 테스트 │└─────────────┘ ↓┌─────────────┐│ CD ││ 배포 │└─────────────┘ ↓ 실제 서비스CI — Continuous Integration(継続的インテグレーション)여러 개발자의 코드를 지속적으로 통합하면서 빌드와 테스트를 자동으로 수행하는 것.예:Git Push ↓Build ↓Test ↓성공 ✓목적은 문제를 빨리 발견하는 것.CD — Continuous Delivery / DeploymentC..
Ruby는 동적 타입 언어로, 변수 선언 시 타입을 명시하지 않아도 된다. (이건 파이썬과 동일)조건문 사용시 end 키워드를 사용해서 블록을 닫아야 한다.# Rubyif age > 18 puts "Adult"elsif age == 18 puts "Just turned adult"else puts "Minor"end# Pythonif age > 18: print("Adult")elif age == 18: print("Just turned adult")else: print("Minor")상수 (constant, 定数) : 절대 변하지 않는 수. 언어적으로 강제되지는 않지만 변수명을 모두 대문자로 작성하는게 관례 Numeric(숫자형의 최상위 클래스) : 숫자 관련 클래스들의 추상적인 ..
Github Codespaces를 이용한 클라우드 기반의 개발 환경 구축하기Github Codespaces : Github가 제공하는 클라우드 기반 개발 환경 서비스. Visual Studio Code 기반으로 동작하며, GitHub 리포지토리와 완벽히 통합된다. 1. 새로운 레포지토리를 생성한다.2. Codespaces를 생성한다.3. https://github.com/codespaces 여기서 코드스페이스 재가동/종료 가능 루비 개발환경 구축 관련 명령어ruby -v #버전 확인rvm -v #루비 버전 매니저rvm list #설치된 루비 버전 확인 / =* 표시된게 디폴트 버전rvm install ruby-3.0.2 #특정 버전 루비 설치rvm --default use 3.0.2 #3.0.2버전 디..
자료와 정보자료의 정의현실 세계에서 관찰이나 측정을 통해서 수집된 값(value)이나 사실(fact)우리의 생활에서 실제러 만질 수 있거나 볼 수 있는 것 (길이, 무게, 부피 등을 측정할 수 있는 대상)에 대해서 물리적인 단위로 표현하여 얻어낼 수 있는 내용정보의 정의어떤 상황에 대해서 적절한 의사결정을 할 수 있게 하는 지식으로서 자료의 유효한 해설이나 자료 상호 간의 관계를 표현하는 내용어떠한 상황에 적절한 결정이나 판단에 사용될 수 있는 형태로 가공되거나 분류되기 위해 '처리 과정'을 거쳐서 정리되고 정돈된 '자료'의 2차 처리 결과물 수학식으로 표현하면 I = P(D)I = informationP = processD = data 추상화공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의하..
활용 빈도가 높고 중요한 함수를 중심으로 알파벳 순서로 간략히 정리했다.함수명설명abs()주어진 숫자의 절대값을 반환all()반복 가능한(iterable) 모든 요소가 참(True)이면 True를 반환any()반복 가능한(iterable) 중 하나라도 참(True)이면 True를 반환chr()주어진 정수에 해당하는 유니코드 문자를 반환dir()객체가 가지고 있는 변수와 메소드 목록을 반환divmod()두 수를 나눈 몫과 나머지를 튜플로 반환enumerate()반복 가능한(iterable) 객체를 인덱스와 함께 열거 객체로 반환 # enumerate는 '열거하다' 라는 뜻eval()실행 가능한 문자열(1+2, 'hi' + 'a' 같은 것)을 입력으로 받아 문자열을 실행한 결괏값을 반환filter()함수와 ..
if문조건문이란 참과 거짓을 판단하는 문장을 말한다.파이썬 if문의 기본 구조if 조건문: 수행할 문장1 수행할 문장2else: 수행할 문장A 수행할 문장B들여쓰기if문을 만들 때는 if 조건문: 바로 아래 문장부터 if문에 속하는 모든 문장에 같은 너비로 들여쓰기를 해주어야 한다. 비교 연산자비교 연산자설명x x가 y보다 작다x > yx가 y보다 크다x == yx와 y가 같다x != yx와 y가 같지 않다x >= yx가 y보다 크거나 같다x x가 y보다 작거나 같다 and, or, not연산자설명x or yx와 y 둘 중에 하나만 참이면 참이다x and yx와 y 모두 참이어야 참이다not xx가 거짓이면 참이다 x in s, x not in sinnot inx in 리스트not x in ..