본문 바로가기

전체 글29

.git 내부를 살펴보자 .git을 까보자 모던 자바스크립트 튜토리얼의 .git을 까보았는데 이런 구조로 생겼다. objects 내부 object 내부에 이런식의 폴더들이 있는데 이는 각각의 커밋마다 생기는 폴더들이고 폴더의 이름은 커밋해시값의 앞2자리일것이다. 원래 git은 sha-1을 사용하였지만 현재 git은 SHA256으로 해시를 만든다고 한다. (아직 완전히 바뀌지 않았을 수도 있다.) Object는 3가지를 담고 그 3가지는 blob, tree, commit이다. Blob Blob은 다양한 파일의 데이터를 압축해서 저장한다. 파일명이나 식별자등은 관심없이 파일 내부 데이터만 담긴다. Tree git이 폴더구조를 관리하도록 하는 것이 tree 파일이고 Blob에는 실제 파일의 데이터들만 담기지만 Tree는 구조를 담기 .. 2022. 8. 5.
의존성 주입 With JS Code 아이디어: 객체의 인스턴스를 만들어서 사용하는 곳에서 매개변수로 값을 줄 수 있게 하고 객체는 고정값을 받아쓰지 말자. 의존성 주입의 정의: 클래스간 의존성을 클래스 외부에서 주입하는 것 그래서 의존성 주입을 하면 무엇이 좋을까? 의존성 주입을 하지 않았을 때 코드를 살펴보며 얘기를 해보자. //users-service.js const User = require('./User'); const UsersRepository = require('./users-repository'); async function getUsers() { return UsersRepository.findAll(); } async function addUser(userData) { const user = .. 2022. 7. 29.
절대 경로와 상대 경로 절대 경로와 상대 경로 절대 경로 절대 경로는 절대 지점을 기준으로 다른 지점까지의 경로이다. 나의 경우는 더 이상 올라갈 수 없는 경로(root)가 절대경로로 설정돼있었고 해당 경로에서 pwd 명령어를 사용했을 때 나오는 지점이 절대경로이기 때문에 찾기 어렵지 않다. 내가 어떤 경로일 지 모르는 공간에서 내가 짠 코드를 실행하고 싶다면 절대 경로로 적어주면 경로로 인한 트러블이 생길 일이 절대적으로 적어진다. 실제로 절대경로가 길고 외우고 다니거나 pwd를 해야하는 단점이 있지만 어디서 사용할 지 모르는 파일이거나 컴퓨터 내부에서 작동해야하는 파일이라면 절대경로를 사용하는 것이 좋아보인다. 상대 경로는 현재 지점을 기준으로 다른 지점까지의 경로이다. 상대 경로 상대경로는 현재 지점을 기준으로 찾는 경로.. 2022. 7. 22.
자바스크립트의 동기와 비동기 제가 생각하고 사용하는 동기와 비동기를 다룹니다. 제가 잘못 알고 있는 내용이 있거나 말씀해주실 부분이 있다면 댓글 한 번 적어주시면 정말 감사하겠습니다. 동기 동기는 요청후에 응답을 기다렸다가 다음이 실행되는 것이다. 동기의 핵심은 기다림이다. 어떤 작업이 수행중이라면 기다린다. 프로그램이 동기로만 이루어진다면 쓰레드 하나로도 작업을 할 수 있겠지만 문제는 응답이 오래 걸리는 작업들을 무작정 기다린다면 비효율적일 것이다. 비동기 비동기는 요청후의 응답을 기다리지 않고 다음이 실행되는 것이다. 비동기의 핵심은 건너뜀이다. 어떤 작업의 응답을 건너뛴다. 만약 비동기가 없다면 응답의 양이 많고 시간이 오래걸리는 코드가 많아진다면 모든 실행이 느려질 것이다. 비동기가 있음으로 효율적인 프로그래밍이 가능해진다... 2022. 7. 16.
네이버 부스트캠프 웹 모바일 과정 7기 최종 합격 후기 네이버 부스트캠프에 지원하여 1차, 2차 코딩테스트를 합격하고 챌린지 과정을 시작하게 된 스토리를 담는다. 느낀 점을 위주로 적겠습니다. 객관적인 정보로 사용하시기보단 가볍게 구경하시거나 참고 정도로만 생각해주시면 감사하겠습니다. 1차 코딩테스트 1차 코딩테스트는 프로그래머스에서 진행되고 객관식 문제들과 코드를 직접 구현하는 문제가 섞여있다. 객관식 문제들은 전공자분들이라면 한 번 이상 들어보셨을 내용이지만 팩트 체크를 안 하고 넘어가기에는 무서운 문제들이 출제됐다. 지금 생각해보면 비전공자분들이 따로 공부하셨을 때도 전공자들보다 어려울 지는 모르겠는 느낌이다. 구현 문제들은 이전까지의 후기들에서는 풀만하다는 얘기를 봤었는데 7기에서는 조금 혹은 더 많이 어려웠던 것 같다. 핵심 주제는 요구 사항을 분석.. 2022. 7. 16.