본문 바로가기

분류 전체보기144

[네이버 부스트 캠프 개인 회고] 240802 1. 이번주 공부한 내용Event Emitter이벤트 큐VCSGit ObjectGit 명령어GitHub와 Gist로컬 Repository 와 원격 Repository파일 시스템과 디렉토리암호화 방식 SHA얕은 복사와 깊은 복사해시 알고리즘2. 이번주 회고이번주 내가 잘 했다고 생각하는 점다른 사람들의 코드로부터 배울 점을 찾기 위해 그동안 활동했던 어떤 기간 보다 열심히 노력했다.모르는 개념(ex. sha알고리즘)을 이해하기 위해 끝까지 파고 들었던 경험이 있다.이번주 부족했던 점다른 사람들과 피드백을 주고 받을 때, 다른 사람의 코드나 언어를 이해하느라 질문 타이밍을 놓쳤다.미션의 소수의 요구사항에 너무 많은 시간을 쏟아서 전체적인 완성도가 떨어졌다.다음 주에 좀더 개선했으면 좋은 점미션의 모든 요구사.. 2024. 8. 2.
[Hash] 해시 알고리즘 1. 해시 함수, 해시 알고리즘임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수.이런 해시 함수에 의해 얻어지는 갑은 해시 값, 해시 코드, 해시 라고 한다.해시 테이블 자료구조에 사용되며, 매우 빠른 데이터 검색을 위한 곳에 널리 사용된다. 2. 안전한 해시 함수역상 저항성 : 해시 값을 생성하는 입력값을 찾는 것이 계산상 어려워야한다.제 2역상 저항성 : 동일한 해시값(y)이 나오는 다른 입력값(x`)을 찾는 것은 계산적으로 불가능 해야한다.충돌 저항성 : 동일한 해시 값이 나와서는 안된다.3. SHA 종류SHA-1SHA-0을 변형한 함수264비트의 메시지로부터 160비트의 해시값을 만들어 내고, 입력 메시지는 512bit 패딩을 적용하는 방식 사용충돌쌍 문제 두 데이터에 대한 해시를 계산.. 2024. 8. 1.
[git] git과 VCS, 파일시스템, 암호화, 복사 1. VCS(Version Control System)소프트웨어 개발에서 소스 코드, 문서, 설정 파일 등의 변경 이력을 관리하는 시스템입니다.VCS는 파일의 변경 내용을 추적하고, 다양한 버전의 파일을 저장하며, 여러 개발자 간의 협업을 가능하게 합니다.소프트웨어 개발, 문서 관리, 설정 파일 관리에 주로 이용된다.주요 기능분경 이력 관리분산 및 협업백업 및 복구분기 및 병합태그 : 특정 시점의 버전을 태그로 관리하여 쉽게 찾기 가능VCS의 종류로컬 버전 관리 시스템로컬 DB에서 관리협업이 어렵고, 장애 시 데이터 손실의 위험이 있음예시 : RCS중앙 집중식 버전 관리 시스템특징: 중앙 서버에 모든 버전 정보를 저장하고, 클라이언트가 서버에 접속하여 작업을 수행합니다.장점: 협업이 용이하며, 중앙에서 .. 2024. 7. 31.
[JavaScript] 이벤트 큐, Event Emitter 1. Event Emitter비동기로 이벤트를 처리할 때 사용할 수 있다.const EventEmitter = require('events');const myEmitter = new EventEmitter();myEmitter.on('event', async () => { console.log('Start processing event'); // 비동기 함수 async function asyncTask() { return new Promise(resolve => { setTimeout(() => { console.log('Async task completed'); resolve(); .. 2024. 7. 29.