Github Access Token발급받는 방법
·
유용한 개발지식/WEB, DB, GIT
1. GitHub Access Token을 사용하는 주된 이유 GitHub Access Token을 사용하는 주된 이유는 보안과 유연성 때문이다. 액세스 토큰을 사용하면, 사용자 패스워드를 직접 공유하지 않아도 권한을 부여할 수 있으므로 보안성이 향상된다. 또한 토큰은 특정 권한(scope)과 연결되어 있어, 필요한 작업만을 수행할 수 있도록 제한할 수 있다. 1-1. 언제부터 token이 적용되었는가? 2020년부터 GitHub는 점차적으로 패스워드 기반의 인증을 제한하기 시작했고, 2021년부터는 Git 작업에 대한 패스워드 인증을 완전히 폐지하였다. 이런 변경은 API 사용 뿐만 아니라, Git 클라이언트나 CI/CD 툴 등과의 통신에서도 적용되었다. 1-2. 표준 방식 현재는 GitHub API를..
IndexedDB: CSR 데이터베이스
·
유용한 개발지식/WEB, DB, GIT
회사에서 내가 개발하고 있는 파트였던 콘텐츠 찜하기 기능을 구현하기 위해 localStorage를 찾다가 IndexedDB라는것을 발견했다. 이에 내용을 정리한다. 1. IndexedDB란? IndexedDB는 웹 브라우저에서 동작하는 객체 지향 데이터베이스이다. 이 데이터베이스는 key-value 쌍의 형태로 데이터를 저장하며, 웹 애플리케이션과 관련된 다양한 데이터를 안전하게 보관한다. 세션 정보, 사용자 설정, 복잡한 사용자 데이터 등을 클라이언트 측에서 효율적으로 관리할 수 있다. 1-1. 주요 사용 사례 대용량 데이터 처리 온라인과 오프라인 데이터 동기화 복잡한 데이터 쿼리 예시로, 웹 메일 클라이언트, 클라이언트-사이드 데이터베이스, 웹 기반 게임 등이 있다. 1-2. 장점 비동기 데이터 액세..
GitHub에 다른일자 잔디심기 (macOS)
·
유용한 개발지식/WEB, DB, GIT
급한 상황이 생겨(예비군 같은,,,) 내가 열심히 쌓아오던 잔디를 매꿀수 없다면 어떻게 해야할까..? 너무 마음 아프지만 걱정하지 말자 이 방법대로 하면 잔디를 살릴 수 있다. 1. 깃 로그 열기 먼저 iterm(터미널)으로 커밋할 git 프로젝트 경로로 이동한다. 그리고 아래의 명령어를 친다. git log 위의 명령어를 친다면 다음과 같이 커밋 기록이 나올것이다. 아래 사진을 보면 commit 0608a712ecc4bbe77 → 이런식으로 옆에 긴 문자열이 커밋 해쉬이다. 2. git rebase -i {커밋 해쉬} 입력하기 이제 위의 사진에 있는 수정하고 싶은 날짜 이전의 커밋을 골라 해당 커밋 해쉬값을 복사한다.(커밋 내용을 작 확인하고 진행하자 가끔 맨 위에 커밋해쉬를 잘못 가져오면 제대로 동작..
SpringBoot와 Kafka(1) - 기본설명
·
유용한 개발지식/Apache Kafka
1. SpringBoot + Kafka Apache Kafka는 여러 다양한 상황에서 사용될 수 있다. 실시간 이벤트 스트리밍, 실시간 분석, 데이터 파이프라이닝, 로그 수집 등의 다양한 애플리케이션에서 Kafka를 활용하곤 한다. Spring Boot 개발자로서 Apache Kafka는 다음과 같은 상황에서 사용될 수 있다. 1. 마이크로서비스 아키텍처: Kafka는 마이크로서비스 간에 데이터를 비동기적으로 전달하는 메시지 브로커 역할을 수행할 수 있다. 서비스 간의 커뮤니케이션에 대한 복잡성을 줄이고 시스템의 전체적인 성능을 향상시키는데 도움이 된다. 2. 이벤트 소싱과 CQRS: 이벤트 소싱(Event Sourcing)과 CQRS(Command Query Responsibility Segregati..
Apache Kafka 복제(Replication)와 장애 허용(Fault Tolerance) 메커니즘 (9편)
·
유용한 개발지식/Apache Kafka
Kafka의 Replication과 Fault Tolerance는 데이터의 안정성과 가용성을 보장하는 중요한 요소이다. 이러한 개념들은 Kafka 클러스터가 장애 상황에서도 데이터 손실 없이 정상적으로 작동할 수 있게 해준다. 1. ISR (In-Sync Replicas) 1-1. 정의: ISR은 Leader Partition에 복제될 수 있는 Follower Partition의 집합이다. 즉, ISR은 현재 Leader와 동기화되고 있는 Follower Partition들을 의미한다. 1-2. 동작 방식: Leader Partition이 새로운 메시지를 받으면, ISR 내의 Follower Partition들도 이 메시지를 복제한다. 모든 Follower가 메시지를 복제하면, 해당 메시지는 'Commi..
Apache Kafka 오프셋(Offset) 관리와 커밋(Commit) 작동 원리 (8편)
·
유용한 개발지식/Apache Kafka
카프카의 Offset과 Commit의 작동 원리를 알아보자 1. Kafka 2.x 버전에서의 Offset과 Commit 이해하기 1-1. 구조 설명 Broker: Kafka 클러스터 내의 브로커다(Kafka 인스턴스). 파티션을 관리한다. Partition: 메시지가 저장되는 파티션이다. Consumer에게 메시지를 전달한다. __consumer_offsets: Consumer가 처리한 마지막 메시지의 위치(offset)를 저장하는 특수한 토픽이다. Consumer Group: 하나 이상의 Consumer로 구성된 그룹이다. 각 Consumer는 파티션에서 메시지를 가져와 처리한다. 1-2. 동작 과정 Broker가 Partition을 관리: Broker는 여러 파티션을 관리하며, 각 파티션에 메시지를 ..
Web개발 기초 - HTTP 구조
·
유용한 개발지식/WEB, DB, GIT
이번에는 HTTP의 구조에 대해서 궁금증이 생겨서 알아보았다. 1. HTTP 구조를 알아보자 1-1. 헤더 (Header) HTTP 헤더는 요청과 응답의 메타데이터를 담고 있으며, 키-값(key-value) 쌍으로 구성된다. 헤더는 다음과 같은 정보를 포함할 수 있다. 일반 헤더 (General Headers) Cache-Control: 캐싱 동작을 제어한다. Connection: 컨트롤 옵션을 지정한다. (예: keep-alive, close) 요청 헤더 (Request Headers) Accept: 클라이언트가 이해할 수 있는 미디어 타입을 지정한다. Host: 요청 대상 서버의 도메인 이름을 지정한다. User-Agent: 클라이언트의 애플리케이션 타입을 지정한다. 응답 헤더 (Response He..
Port 8080 was already in use: tomcat 8080포트 종료하는 방법
·
유용한 개발지식/WEB, DB, GIT
스프링부트 실행 시 자주 발생하는 문제중 하나인 tomcat 중복 실행 에러를 해결해보자! (8080포트 중복실행 에러) 1. 톰켓 오류 발생 스프링 프로젝트를 하다가 실수로 여러개의 프로젝트를 기본포트인 8080으로 동시에 켜서 에러가 나온 경우가 있을것이다. 이때 mac에서 중복으로 켜진 8080포트 서버를 종료하는 명령어를 알아보자 만약 동시에 8080포트의 서버를 켰다면 아래 사진과 같이 Port 8080 was already in use 라는 식으로 로그가 나올것이다. 이미 8080포트로 실행중인 서버가있는데 실수로 같은8080포트로 또다른 톰켓을 실행시켰기 때문이다. 2. 해결하기 이제 mac에서 설치한 iterm으로 들어간다.(기본 터미널을 사용해도 무방하다.) 아래와 같이 명령어를 입력한다..