본문 바로가기

programming study

(889)
Git 브랜치 전략 본 내용은 10분 테코톡 웨지님의 강의를 토대로 작성하였습니다. 브랜치 전략이란? 여러 개발자가 협업하는 과정에서 git 저장소를 효과적으로 활용하기 위한 work-flow 브랜치의 생성, 삭제, 병합이 자유로운 git의 유연한 구조를 활용하여 다양한 방식으로 소스관리를 할 수 있다. 자주 쓰이는 브랜치 전략 git-flow: 5가지의 브랜치를 이용해 운영하는 브랜치 전략 github-flow: master 브랜치와 Pull Request를 활용한 단순한 브랜치 전략 git-flow 항상 유지되는 2개의 메인 브랜치와 역할을 완료하면 사라지는 3개의 보조 브랜치로 구성 main: 항상 유지 master: 제품으로 출시될 수 있는 브랜치 develop: 다음 출시 버전을 개발하는 브랜치 보조 브랜치: me..
인증과 인가 본 내용은 10분 테코톡 나봄님의 강의를 토대로 작성하였습니다. 1. 인증과 인가의 차이 인증 사용자가 누구인지 확인하는 작업 로그인 인가 사용자의 권한이 어디까지인지 관리자 권한 하의 게시글 삭제 2. 쿠키, 세션, 토큰 인증을 유지할 수 있는 수단 HTTP 비연결지향 한 번 통신하고 나면 끝남 상태없음 서버가 클라이언트의 상태를 보존하지 않음 장점 서버의 리소스를 절약할 수 있다. 서버 확장성에 용이 단점 상태를 보존하지 않는다. 쿠키 쿠키는 브라우저에 저장된다. 쿠키의 흐름 서버에서 Set-Cookie 헤더에 key=value를 포함해 보낸다. 클라이언트는 Set-Cookie 헤더 기반으로 브라우저에 저장한다. 다음 요청부터는 Cookie헤더에 key=value를 포함해 보낸다. Domain: 쿠키..
SSR, SSG, JAM Stack 1. SSR Server Side Rendering 스프링, JSP SEO 최적화 CSR(Client Side Rendering)의 반대 React, Vue 자바스크립트를 사용해서 HTML 요소를 동적으로 바꿈 대게 SPA 좋은 UX 규모가 크면 로딩 속도가 길어짐 SEO 미흡 2. Next.js, Nuxt.js Next.js: React의 SSR 페이지 제공 프레임워크 Nuxt.js: Vue의 SSR 페이지 제공 프레임워크 사이트의 원하는 부분을 SSR로 만들 수 있다. API 서버로부터 데이터를 서버에서 미리 받아옴(SSR모드) Next.js, Nuxt.js의 서버 Node.js가 깔린 서버에서 프로젝트를 어플리케이션으로 실행하여 프론트엔드를 배포 바로 나타나야할 것을 정할 수 있음 SSG(Stati..
모듈 번들러와 빌드도구 본 내용은 10분 테코톡 썬님의 강의를 토대로 작성하였습니다. 1. module 분리된 코드의 조각 시스템을 이루는 논리적인 일부분 EcmaScript modules(ESM): 자바스크립트의 모듈 시스템은 2015년에 정식으로 도입 2. CommonJS 많은 자바스크립트 파일을 스크립트 태그를 통해 가져왔을 때, 변수가 겹치면 덮어씌워질 것이다. 예측하기 어렵고 오류가 발생한다. 모듈화를 위해서 스코프: 각 모듈을 독립적 스코프를 가진다. 정의: 모듈을 정의할 수 있어야 한다. 사용: 모듈을 사용할 수 있어야 한다. 2009년 CommonJS 등장 각각의 파일이 독립적인 스코프를 가지며 module.exports를 통해 모듈을 정의 require 문법을 통해 모듈을 사용 모든 파일이 로컬에 존재하여 바로..
pull request pull request란? 한 브랜치를 다른 브랜치로 병합하는 것 다른 사람의 코드에 대한 리뷰를 받을 수 있다. 코드의 품질을 높이고 master와 같은 통합 브랜치의 안정성을 높임 branch 전략 aster: 언제나 실행 가능하고 문제 없는 상태 해당 브랜치에서 작업하는 것은 지양 새로운 브랜치에서 작업할 것 topic, feature: 특정한 기능을 작업하기 위해 만든 브랜치 pull request 만들기 브랜치를 만든 후 push 해당 repo에 pull requst 버튼이 생성 됨 제목과 코멘트 입력 Reviewers: 코드의 품평을 할 수 있는 사람 Assignees: 작업에 실제로 일을 한 사람 Create pull request 작업이 다 끝난 후 pull request 신청 Create..
실전 Git 명령어 정리 Git 사용 환경 최초 설정 Git 사용자 이름(username) git config --global user.name "greedysiru" Git 사용자 이메일 git config --global user.email "greedyisru@g.com" Git 저장소 초기화 git init 원격 저장소 복제 git clone Git staging 해당 파일 올리기 git add [파일 명] 해당 디렉토리의 모든 파일 올리기 git add . 스냅샷 git commit -m "메시지" add와 동시에 하는 옵션 git commit -a -m "메시지" Git 상태, 로그 확인 Git 상태 확인 git status Git 목록 확인 git log 한줄 로그 확인 git log --oneline 코드 버전 전..
OSI 7 Layer 본 내용은 10분 테코톡 파즈님의 강의를 토대로 작성하였습니다. 1984년 ISO에서 발표한 7계층으로 이루어진 네트워크 모델 네트워크를 묘사하는 모델 현재 사용하는 모델은 TCP/IP 모델 세션 계층과 프레젠테이션 계층이 어플리케이션 계층으로 통합 7. Application Layer 응용 프로세스를 직접 사용하여 응용 서비스를 수행하는 계층 http, FTP, SMTP 등이 속한 계층 6. Presentation Layer 데이터의 변환, 압축, 암호화가 이루어지는 계층 서로 다른 통신 기기 간에 다른 인코딩을 사용할 수도 있기 때문에 해당 계층에서 데이터 변환 5. Session Layer 세션을 열고 닫고를 제공하는 메커니즘의 계층 세션 복구 지원 세션 도커는 체크포인트라는 것을 통해 동기화를 시..
[프로그래머스] 약수의 개수와 덧셈 - python 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 파이썬 코드 # 약수의 개수와 덧셈 # 약수를 세는 함수 def count_measure(number): count = 0 for j in range(1, number): if number % j == 0: count += 1 return count def solution(left, right): answer = 0 # 약수 구하기 for i in range(left, right + 1): # 약수의 개수 count = count_measure(i) # 짝수인 경우 더하기 if count % 2: answer += i print(i) # 홀수이면 빼기 else: answer -= i print(i) return answe..