목록CS (9)
Ruff! Ruff!
- 공학과 소프트웨어 개발에서 팀 단위로 개발 중인 소스 코드나 청사진 같은 설계도 등의 디지털 문서를 관리하는데 사용됨- 소스 관리, 소스코드 관리 - 동일한 정보에 대한 여러 버전을 관리 (공동 프로젝트 관리, 프로젝트 백업, 데이터 동기화 / 파일 변화를 시간에 따라 기록하여, 나중에 특정 시점의 버전을 다시 꺼내 올 수 있는 시스템)- 로컬 파일 버전 관리 ( 파일을 편집 전 상태로 되돌리고 싶을 때 : 편집 하기 전 파일 복사 -> 파일 or 폴더명에 날짜, 버전)- 로컬 버전 관리 시스템 (LVCS) : 간단한 데이터베이스를 사용하여 파일의 변경 정보 관리- 중앙집중식 버전 관리 시스템 (CVCS) : 파일을 관리하는 서버가 별도로 존재하고, 클라이언트가 중앙 서버에서 파일을 받아서 사용 (클..
- 장애 발생의 담당자 부재 a.k.a 책임 미루기- 운영 이슈에 대한 처리- 빠르고 안정적인 배포의 어려움 => 해결책 : DevOps- Development + Operation- 애플리케이션 개발-운영 간의 협업 프로세스를 자동화 하는 것을 말하며, 결과적으로 애플리케이션과 개선 속도를 빠르게 함.- 인프라에 대한 전문 지식 없이도 오픈소스와 클라우드의 도움을 받아 개발자도 "운영"을 겸할 수 있게 됨- 필수 요소 -> CALMS 모델 1. Culture : 변화를 받아들이는 문화, 협업하는 문화, 잘못을 따지기 보다 결과 개선에 집중하는 문화 2. Automation : 반복적인 수동 업무 제거, CI/CD 3. Lean : 사용자에게 가치를 전달하는 일에 집중, 애자일(개발을..
1. 사용자 계정 인증 - Stateless vs Stateful 👉 상태가 있냐/ 없냐의 차이Stateful서버의 클라이언트 이전 상태 보존대화를 주고 받을 때 컨텍스트를 이해(유지)장점: 애플리케이션 구현 편리/ 성능단점: 서버의 부담 (연결 정보 유지 + 유지 및 관리 어려움)Stateless서버의 클라이언트 이전 상태 보존 X대화를 주고 받을 때 컨텍스트를 이해(유지) X 장점: 확장성 (컨텍스트 몰라도 어떤 서버든 처리 가능)단점: 상태를 유지해야 하는 경우엔 어떡함? -> 로그인 인증.. - HTTP 프로토콜 Stateless 프로토콜대부분의 서비스는 stateful을 요구함-> 정보가 유지되지 않으면 불편한 점 많음 (로그인 다시 진행, 장바구니 리셋 등)클라이언트 정보 유..
1.mysql 서버용 vm 인스턴스 생성- 별도로 DB용 인스턴스를 생성하는 이유 ? 👉 같은 DB에 다른 사람들이 붙어서 작업 가능 👉 데이터의 일관성 유지 가능 - GCP 방화벽 설정 👉 GCP에 방화벽 규칙 새로 생성 -> 대상 : 네트워크의 모든 인스턴스 -> 소스 IP : 0.0.0.0./0 -> 프로토콜 및 포트 : TCP/ 3306 2. Node.js mysql 설정 1. mysql2 모듈 설치 npm install mysql2 -S 2. vs. mysql connection pool 지원 👉 클라이언트가 TCP 연결에 소모하는 지연 시간을 줄일 수 있음 👉 TCP 연결을 종료하지 않고 ..
1. Express.js 프레임 워크- Node.js 위에서 동작하는 웹 프레임 워크로 프레임 워크에 미리 구현된 기능을 활용함.- 요청 처리, 동적 및 정적 콘텐츠 제공, 데이터베이스 연결npm install express --save명령어를 사용하여 패키지 설치const port = 80,express = require("express"),app = express();app.get("/", (req, res) => {res.send("Hello, Universe!");}).listen(port, () => {console.log(`The Express.js server has started and is listening on port number:${port}`);});어플..
1. 자바스크립트 - 객체의 형식 배열 vs 객체 - 배열 순서가 있는 정보 순서는 인덱스로 구성 인덱스를 통해 접근 - 객체 순서가 없는 정보 Property: 키와 값으로 이루어진 쌍 (pair) 키를 통해 접근 - 선언 및 접근 배열: 대괄호 생성, arr[index]접근 객체: 중괄호 생성, obj.key or obj[key]로 접근 - 배열과 객체의 구별 typeof()는 구분 불가 Array.isArray() 구분 가능 - 데이터 순회 배열: 배열의 길이(.length) 활용 객체: in 키워드 사용 - 값으로서의 함수 -> 객체 값을 넣어야하는 자리에 함수를 대입한 변수 사용 가능 배열 -> 배열에 요소로 삽입 -> 배열 인덱스 접근을 통해 함수 호출 객체 -> property로 삽입 -> ..
1. 데이터 타입 숫자 데이터 타입 -연산자 단항연산자 : X++, ++X 이항연산자: +, -, *, / 등 삼항연산자: var a = (age >= 21) ? "beer" : "juice" 문자열 데이터 타입 - 문자열 표현 : " " or ' ' - 문자열 길이 : 문자열.length 2. 변수 변수 규칙 - 변수명에는 공백을 넣을 수 없음 - 변수명은 문자나 밑줄(_), 달러기호로 시작해야하고, 첫 글자 이후로는 문자, 숫자, 밑줄, 달러 기호만 사용할 수 있음(첫 글자 숫자 안 돼) - 변수명은 대소문자 구분함 - 자바스크립트 예약어를 변수명으로 사용할 수 없음 주석처리 - // 를 사용하여 소스코드 주석처리 가능 선언 키워드 - var : 호이스팅 시 undefined로 저장 (옛날 버전) 🌱..
1. 데이터 모델링의 개념 - 현실세계 🔁 데이터베이스 - 현실세계 ->정보모델링 -> 개념적 모델(ERD) 만들어냄 -> 데이터 모델링 -> 논리적 모델(관계데이터모델)을 만들어냄 -> DB로 구현 -> 데이터베이스 2. 데이터베이스 생명주기 1️⃣ 요구사항 수집 및 분석 (요구사항 명세서 작성) 2️⃣ 설계 (개념적 설계, 논리적 설계, 물리적 설계) 3️⃣ 구현 (DBMS에 적용) 4️⃣ 운영 (DB기반으로 SW구축해 서비스 제공) 5️⃣ 감시 및 개선 (시스템 문제를 파악하고 데베 자체의 문제점을 파악해 개선함) 3. 데이터 모델링 과정 => 요구사항 수집 및 분석 -> 설계(개념적 모델링, 논리적 모델링, 물리적 모델링) -> 데이터베이스 구현 4. 개념적 모델링 - 개체(Entity)를 추출하..