일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- superBuilder
- JPA
- Oracle
- Di
- ORM
- Vue
- cd
- programmers
- map
- dabase
- vuejs
- 해시맵
- k8s
- CI
- 알고리즘
- hibernate
- 자바
- builder-pattern
- CKA
- DevOps
- java
- docker
- SpringMVC
- Spring
- 뷰
- IntelliJ
- 프로그래머스
- Kubernetes
- CI/CD
- 코딩테스트연습
- Today
- Total
목록개발/기타 개념 (6)
문홍의 공부장
본 글은 atlassian 의 Git Tutorials - Merging vs. Rebasing 을 번역한 글임을 밝힙니다. git rebase 명령어는 초보자가 멀리해야할 마법의 Git hocus pocus 라는 명성이 있지만, 주의하여 잘 사용한다면 개발 팀의 삶을 훨씬 더 쉽게 만들 수 있다. 이 글에서는, git rebase 와 git merge 명령을 비교하고, rebase 를 전형적인 Git workflow 에서 통합할 수 있는 모든 잠재적인 기회를 알아보도록 하겠다. 개념 가장 먼저 이해해야 하는 것은, git rebase 와 git merge 는 같은 문제를 해결한다는 것이다. 이 두 명령어는, 하나의 브랜치에서 다른 브랜치로부터의 변경 내용을 통합하기 위해 설계되었다. 하지만, 이 둘은 ..
Cookie vs. Session vs. Token 개념 정리 http 프로토콜의 비연결성(Connectionless) 과 무상태(Stateless): 서버로 가는 모든 요청은 이전 리퀘스트와 독립적으로 진행됨. 클라이언트 요청 - 서버 응답이 완료되면 바로 연결은 끊어지며, 연결이 해제됨과 동시에 서버와 클라이언트는 이전 요청/결과에 대해 잊어버린다. 요청 상태를 잊어버리게 된다면, '인증'은 어떻게 구현해야하나? 매번 클라이언트는 데이터베이스를 왕복하며 인증을 해야 하는 걸까? cookie, session, token 의 차이점을 알고 인증 구현에 사용하자! cookie 브라우저에서 요청 -> 서버에서 응답 시, 브라우저에 저장하고자 하는 내용을 쿠키에 [key:value] 형태로 담아..
프레임워크: 확장 가능한 기반 코드와 필요한 라이브러리를 통합하여 제공하는 일종의 뼈대(기반구조) ex) angular JS, Spring Application 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대를 제공해주는 것. 개발자는 뼈대 위에 코드를 작성하여 애플리케이션을 완성한다. 프레임워크는 중복되는 코드를 피하고 재사용이 가능하도록 기반 코드/라이브러리를 제공한다. 확장 가능한 기반 코드: 제작자가 설계한 구조를 유지하며 확장할 수 있도록, 의도된 제약 사항이 존재한다. 라이브러리: 자주 쓰일만한 기능들을 모아놓은 유틸(클래스/함수)의 모음 ex) jQuery, react JS 라이브러리: 특정 기능에 대한 도구/함수/클래스의 집합. 즉, 개발자가 개..
쿠키와 세션 쿠키와 세션을 사용하는 이유: HTTP 프로토콜의 약점을 보완하기 위해 HTTP 프로토콜의 특징: 비연결지향 (Connectionless) & 상태정보 유지안함(Stateless) HTTP는 먼저 클라이언트가 request를 서버에 보내면, 서버는 클라이언트에게 요청에 맞는 response를 보내고 접속을 끊는 특성이 있다. 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보는 유지하지 않는다. 장점: 통신 연결을 유지하기 않기 때문에, 리소스 낭비가 줄어든다 단점: 통신할 때마다 새로운 커넥션을 열기 때문에, 클라이언트는 내가 누구인지 계속 인증을 해야만 한다. HTTP1.1 버전에서 커넥션을 계속 열어두고(연결을 유지하고) request에 재활용하는 기능이 추가되었다. 헤더에..
객체지향 프로그래밍 (Object Oriented Programming, OOP) 컴퓨터 프로그램을 객체(Object) 들의 모임으로 파악하고자 하는 프로그래밍 패러다임 중 하나. 프로그래밍에서 필요한 데이터를 추상화시켜 객체를 만들고, 그 객체들 간의 유기적인 상호작용(메세지를 주고 받으며, 데이터를 처리)을 통해 로직을 구성하는 프로그래밍 방법이다. 객체지향 프로그래밍의 장단점 장점 코드의 재사용성 남이 만든 클래스를 가져와 사용할 수 있고, 상속을 통해 확장하여 사용할 수 있다 유지보수 용이 절차지향 프로그래밍에서는 코드 수정을 위해 일일히 찾아 수정해야하는 반면, 객체지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부의 멤버 변수/메서드로 있기 때문에, 해당 부분만 수정하면 된다. 대형 프로젝트..
클라우드 컴퓨팅(Cloud Computing)? 서로 다른 물리적 위치에 존재하는 컴퓨터들의 리소스를 가상화 기술로 통합하여 제공하는 기술. 자신의 PC가 아닌, 인터넷 위에 구름처럼 띄워져 있는 클라우드 사업자의 컴퓨터에서 정보를 처리할 수 있도록 하는 서비스. 네트워크 전체에서 컴퓨팅, 네트워크, 스토리지 인프라, 서비스, 플랫폼, 애플리케이션을 사용자에게 제공하는 접근 방식. 클라우드에 저장하고, 웹/앱을 구동해 원하는 작업을 수행할 수 있는 사용자 중심의 컴퓨터 환경을 말한다. Google Docs(Google), Work Space(MicroSoft), Acrobat(Adobe) 등이 있다. 클라우드 컴퓨팅의 장점 비용 하드웨어와 소프트웨어를 소유하지 않고, 사용하고자 하는 기능을 사용하고자 하..