본문 바로가기

전체 글441

TIL(24.05.16): Git 2 오늘 배운 내용Gitgit config -l: 유저 정보가 나옴git config -l | grep user: user라는 단어가 나오는 내용만 추출rcp, rsync: 과거에 웹서버에 접근하던 방법ssh: 현재에 웾 서버에 접근하는 방법DevOps: 개발을 operation한다ctrl + shift + f: 돋보기 단축키 → 추가 단축키는 찾아보기ctrl + p: 창 열기git ls-files: 파일의 현재 상태 확인하기-u: 이 뒤로는 origin main 작성할 필요가 없다.git branch other / git checkout otherswitch branch명 / git checkout -c namename(새로운 브랜치 생성 및 이동)git checkout branch명 / git check.. 2024. 5. 18.
TIL(24.05.14): Git 오늘 배운 내용Gitgit commit: 메모리에 올라와 있는 데이터를 실제 저장소에 write하는 것형상관리 툴 사용 이유remote repository 때문에 → remote repository가 살아있어야 데이터가 사라지지 않는다.여러 명이 동시에 코드를 작성하기 위함히스토리 확인stage: 임시 저장공간, 작업본stage가 필요한 이유충돌방지실수 방지repository: 실제 저장소, 최종본branchmain: head branch파일이 커밋될 당시의 버전을 의미브랜치의 커밋 버전과 파일의 커밋 버전은 서로 다른 것git rm : tracked → untracked로 변경됨, 지우는 명령어git clean : untracked된 파일을 삭제하는 명령어git ignore: 삭제도 적용. 삭제 명령어.. 2024. 5. 18.
TIL(24.05.09): 컴퓨터 구조 오늘 배운 내용컴퓨터 구조block: 데이터를 그룹화 해놓은 것페이지: 여러 개의 데이터를 한번에 묶어서 옮김. 이 단위를 페이지라 함. 페이지의 사이즈는 유동적.버퍼: 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역. 데이터를 이동시키는 바가지 개념. 버퍼의 사이즈는 유동적. 개발자가 정할 수 있음. 보통 8k 단위.⇒ 메모리를 적게 사용하기 때문에 메모리 입장에서는 버퍼를 사용하는 것이 유리하다.여러 개의 버퍼를 지칭하는 용어로도 페이지를 사용한다.데이터의 순서가 무조건 선입선출은 아니지만 어떻게든 데이터가 이동하기는 함 ⇒ 스트리밍스트리밍 방식을 사용하지 않고 한번에 데이터를 받는 것 ⇒ 다운로드 TCP/IP이동하는 데이터의 순서 보장(넘버링을 통해).. 2024. 5. 18.
TIL(24.05.08): 웹개발 기초 (컴퓨터구조, 컴파일러, 자바스크립트 기초) 오늘 배운 내용컴퓨터 구조Memory Data 영역Data 영역에는 const(상수)가 저장된다. (타입 크기 변경의 여지가 없음)전역변수: 전역 + 상수정적변수: 변하지 않는 상수 Memory code 영역function (함수) 존재 ⇒ 단위 시간당 n번 이상의 호출이 있다면 캐시 메모리로 이동  OS프로세스 개수만큼 PCB 생성 (컨텍스트 스위칭이 일어남)  타임스탬프: 유닉스 타임 기준  순수함수: 입력값에 따른 출력값이 항상 동일한 함수자바스크립트는 쓰레기값을 싫어한다! ⇒ 언어는 브라우저 내에서 돌기 때문에, 브라우저에는 이미 쓰레기값이 많다function add (a, b) {} ⇒ 매개변수(parameter)add(1, 2) ⇒ 인수(argument)컴파일러렉시컬일종의 문화. 어떤 문맥인지.. 2024. 5. 8.
면접대비 질문 정리: 자바스크립트, 타입스크립트 면접질문 참고https://nomadcoders.co/community/thread/3979[diary] 프론트엔드 신입 면접 준비하기[면접준비] 프론트엔드 개발자 취업 면접 질문 및 답변 정리(64문)프론트엔드 면접질문 중요도별 정리[Frontend] 프론트엔드 주니어 개발자 면접 질문 (기술/인성) 1. 호이스팅(hoisting)이란?호이스팅이란 "끌어올린다" 라는 뜻으로 변수 및 함수 선언문이 스코프 내의 최상단으로 끌어올려지는 현상을 말합니다. (여기서 주의할 점은 "선언문" 이라는 것이며 "대입문"은 끌어올려지지 않습니다.) 👾 변수 호이스팅console.log(score); //undefinedvar score;js는 인터프리터에 의해 한줄씩 순차적으로 실행되는 인터프리터 언어다. 따라서 순.. 2024. 5. 1.
면접대비 질문 정리: 리액트 면접질문 참고https://nomadcoders.co/community/thread/3979[diary] 프론트엔드 신입 면접 준비하기[면접준비] 프론트엔드 개발자 취업 면접 질문 및 답변 정리(64문)프론트엔드 면접질문 중요도별 정리[Frontend] 프론트엔드 주니어 개발자 면접 질문 (기술/인성) 1. 리액트란?✅ 답변UI를 구축하기 위한 자바스크립트 라이브러리입니다.프레임워크가 아니고 라이브러리라 다른 프레임워크에 간편하게 붙여서 사용가능합니다.SPA이며 component를 기반으로 하여 모듈형으로 ui를 구성합니다.컴포넌트 기반이라 생산성과 유지보수가 용이하며, virtual DOM으로 인해 앱의 효율성과 속도가 빠릅니다. 참고: https://manon-kim.tistory.com/entry/.. 2024. 4. 30.
[React/Node.js/Express/MongoDB] 소셜 가계부 프로젝트 구현 일지: JavaScript → TypeScript 마이그레이션 7(타입 폴더 구조 및 타입명 변경, 마이그레이션 완료 소감) 타입스크립트 마이그레이션이 완료됐지만 구현할 때 타입명이나 폴더 구조를 신경 쓰지 않고 진행했기에 코드가 엉망진창이었다. 따라서 오늘은 폴더 구조도 변경하고 타입 이름도 조금 더 명시적으로 바꾸어주었다. 폴더 구조 타입스크립트로 프로젝트를 진행하는 건 처음이라 타입을 어떤 식으로 폴더에 정리해야 할지 고민을 많이 했다. 그 과정에서 다른 개발자 분들의 프로젝트도 많이 찾아봤는데, 딱히 어떻게 하면 좋다 그런 건 없는 것 같고 각자 규정한 컨벤션에 따르는 듯하다. 나는 `src > types` 폴더 아래에 각 기능 별로 타입과 인터페이스를 묶어 정리했다. `index.ts` 파일에서는 정의해 둔 타입 모듈을 모두 export 해 주었다. // index.ts export * from "./user"; ex.. 2024. 4. 17.
[React/Node.js/Express/MongoDB] 소셜 가계부 프로젝트 구현 일지: JavaScript → TypeScript 마이그레이션 6(index, 리덕스 코드) 이전 마이그레이션 관련 포스팅 JavaScript → TypeScript 마이그레이션 1(세팅, App, AppRouter) JavaScript → TypeScript 마이그레이션 2(대시보드 페이지, 대시보드 관련 컴포넌트: state 빈 배열 초기화 never type 에러 해결) JavaScript → TypeScript 마이그레이션 3(가계부 페이지, Button 컴포넌트: onClick 함수 타입 지정, 자잘한 오류들 해결) JavaScript → TypeScript 마이그레이션 4(가계부 페이지 관련 컴포넌트: TransactionList, Modal) JavaScript → TypeScript 마이그레이션 5(Auth: Test 계정 Auto Fill 구현, Community: paginat.. 2024. 4. 17.
[한 입 크기로 잘라먹는 TypeScript] CH3. 타입스크립트 이해하기 1(1. 타입은 집합이다, 2. 타입 계층도와 함께 기본타입 살펴보기) chapter 3. 타입스크립트 이해하기 0. 타입스크립트를 이해한다는 것은? 타입스크립트가 어떤 기준으로 타입을 정의하고, 어떤 기준으로 타입들 간 관계를 정의하고, 어떤 기준으로 타입스크립트 코드의 오류를 검사하는지 그 원리와 동작 방식을 이해하는 것. 1. 타입은 집합이다 타입스크립트의 '타입'은 여러 개의 값을 포함하는 '집합'이다. 집합: 동일한 속성을 갖는 요소들을 하나의 그룹으로 묶은 단위 타입스크립트의 모든 타입들은 집합으로써 서로 포함하고 포함되는 관계를 갖는다. 이런 관계에서 다른 타입을 포함하는 타입을 슈퍼 타입(부모 타입)이라 부르며, 반대는 서브 타입(자식 타입)이라고 한다. 타입 간의 이러한 계층 관계를 어떻게 이용할 수 있는지 살펴보는 것이 중요하다. ✅ 타입 호환성 A와 B .. 2024. 4. 15.
[React/Node.js/Express/MongoDB] 소셜 가계부 프로젝트 구현 일지: JavaScript → TypeScript 마이그레이션 5(Auth: Test 계정 Auto Fill 구현, Community: pagination 마이그레이션) 이전 마이그레이션 관련 포스팅 JavaScript → TypeScript 마이그레이션 1(세팅, App, AppRouter) JavaScript → TypeScript 마이그레이션 2(대시보드 페이지, 대시보드 관련 컴포넌트: state 빈 배열 초기화 never type 에러 해결) JavaScript → TypeScript 마이그레이션 3(가계부 페이지, Button 컴포넌트: onClick 함수 타입 지정, 자잘한 오류들 해결) JavaScript → TypeScript 마이그레이션 4(가계부 페이지 관련 컴포넌트: TransactionList, Modal) 🔐 Auth 페이지 Form 태그 내부 데이터 수정 및 submit //수정 const onEditChange = (e: ChangeEvent.. 2024. 4. 14.
면접대비 질문 정리: 웹, HTML, CSS 면접질문 참고https://nomadcoders.co/community/thread/3979[diary] 프론트엔드 신입 면접 준비하기[면접준비] 프론트엔드 개발자 취업 면접 질문 및 답변 정리(64문)프론트엔드 면접질문 중요도별 정리[Frontend] 프론트엔드 주니어 개발자 면접 질문 (기술/인성) 1. 브라우저 작동 원리 (주소창에 google.com을 입력하면 일어나는 일)(사용자가 브라우저에 주소를 입력한 후에 서버로부터 전송된 데이터가 화면에 보이기까지 그 일련의 과정을 설명할 수 있어야 합니다.) ✅ 답변브라우저에 도메인을 입력하면, 브라우저는 해당 IP 주소를 얻기 위해 DNS(Domain Name System) 서버에 요청을 보내 IP주소를 받아옵니다. IP 주소를 받은 브라우저는 해당 .. 2024. 4. 11.
[한 입 크기로 잘라먹는 TypeScript] CH2. 타입스크립트 기본 3(6.any와 unknown, 7.void와 never) chapter 2. 타입스크립트 기본 6. any와 unknown ✅ any 타입 타입스크립트에서만 제공되는 특별한 타입 타입검사를 받지 않은 특수 타입 let anyVar: any = 10; anyVar = "hello"; anyVar = true; anyVar = {}; anyVar.toUpperCase(); anyVar.toFixed(); anyVar.a; 어떠한 타입 검사도 받지 않으므로 아무 타입의 값이나 범용적으로 담아 사용 가능하며 다양한 타입의 메서드를 마음대로 호출해도 문제가 되지 않는다. any 타입은 모든 타입스크립트의 문법과 규칙으로부터 자유롭지만, 타입 검사가 이뤄지지 않기 때문에 코드 오류가 발생할 여지가 크다. 따라서 *특수한 경우를 제외하고는 any 타입 사용은 권장되지 않는.. 2024. 4. 11.
반응형