분류 전체보기
-
[자료구조] Queue 알아보기자료구조 2024. 3. 4. 14:38
1. Queue란? 추가되는 자료를 차례대로 저장하여, 저장된 순서에 의해 데이터가 나오는, 선입선출( First-In-First-Out )의 선형 자료구조이다. 먼저 저장된 데이터가 나중 저장된 데이터 보다 항상 앞서 나오기 때문에 선입선출의 특성을 지니고 있으며, 저장된 자료들 사이의 선후 관계가 모두 1:1 이기에 '선형' 자료구조라고 부른다. Queue에서 반환은 앞(front)에서만 가능하고 자료의 추가는 뒤(rear)에서만 가능하다. a) enqueue(item) 새로운 자료를 큐에 추가하는 것을 enqueue라고 한다. 제일 먼저 A가 빈 큐에 추가되면, 큐의 front와 rear은 A를 가르키게 된다. 그 다음 단계로 저장된 A의 위쪽으로 새로운 자료 B가 저장되며 rear은 B를 가르키게..
-
[자료구조] 스택(Stack)이란?자료구조 2024. 2. 26. 02:06
1.스택(Stack)이란? 스택(Stack)은 자료를 한 방향으로만 쌓는, 후입선출(Last-In-First-Out) 형태 선형 자료 구조이다. 처음과 중간, 그리고 끝에 자료를 추가할 수 있는 리스트와 다르게 스택은 오직 스택의 제일 위에서만 자료를 추가하고 추출할 수 있다. a) push(item) 새로운 자료를 스택에 추가하는 것을 푸시(push)라고 한다. 위 그림은 A와 B가 스택에 추가되는, 즉 푸쉬하는 과정을 보여주고 있다. 제일 먼저 A가 빈 스택에 추가된다, 그 다음 단계로 저장된 A의 위쪽으로 새로운 자료 B가 저장된다. 푸쉬를 통해 스택에 새로운 자료를 추가할 경우, 새로운 자료는 항상 기존 자료의 위쪽으로마 저장됨을 알 수 있다. 즉, 푸쉬는 스택의 맨 위에 새로운 자료를 추가한다...
-
[React] vite 사용하여 react 개발환경 시작하기React 2024. 2. 10. 00:22
최근들어 `CRA`보다 `vite`를 선호한다는 소식을 들어 이번 코드잇 강의를 수강할 때 사용해볼까 하는 마음으로 알아보았다. 강의 내에서 제작하는 프로젝트들을 `vite`를 사용하여 사용하려 한다. 1. Vite 란? 빠르고 간결한 모던 웹 프로젝트 개발 경험에 초점을 맞춰 탄생한 빌드 도구이다. https://ko.vitejs.dev/ (기본적으로 node.js가 설치되어있어야 하니 주의) Vite Vite, 차세대 프런트엔드 개발 툴 ko.vitejs.dev React 만들 때 CRA(create react-app: 리액트 프로젝트를 시작할 때 필요한 개발 환경을 세팅 해주는 도구) 을 사용하였는데, 자바스크립트는 interpreted 언어이기 때문에 처리해야 할 코드 양이 방대한 경우 CRA를 ..
-
[React] Fragment [<> </>] 사용 이유와 사용법React 2024. 2. 5. 22:40
아무지식 없이 react를 마주하였을 때 매번 함수 컴포넌트 내에서 ` ...` 을 써주었다. 그 이유는 쓰지않으면 오류가나기에,, 제대로 된 이유를 알지 못했다. 그저 사용해야 오류가 나지 않는구나 생각하였는데, 이러한 이유들이 존재했다. 이번에 기초부터 공부를 하며 이유를 알게 되었다. 전체적인 JSX 문법 형식을 몰라서 이러한 일이 발생하지 않았을까 싶다. Fragment란? ``단일 요소가 필요한 상황에서는 요소를 래핑하여 함께 그룹화하는 문법이다. React의 JSX문법을 이용할 때에는 HTML을 반환할 때 반드시 하나로 감싸진 태그를 반환하여야 한다. function App() { return ( 안녕! 리액트! ); } 위와같이 두 개의 태그를 연달아서 작성하게 되면 오류가 발생한다! fun..
-
[JavaScript] slice()와 indexOf() 활용하기Java script 2024. 1. 18. 22:09
코드잇에서 자바스크립트의 코드문제를 푸는 도중, 문자열을 이용한 문제를 마주했다. 문제의 의도인 형돈의 가사만 떼어내는 것이 아닌, 원하는 멤버의 이름을 입력했을 때 그 멤버의 가사를 알 수 있도록 하는 함수를 만들어 범용성 있게 제작해보고자 한다. 함수를 만들어 해당 가사를 return하여 출력할 수 있도록 제작하였고, 전체 가사 중 일부분만 들고오기 위해 slice 함수를 사용하였다. slice() 함수 배열로 부터 특정 범위를 복사한 값들을 담고 있는 새로운 배열을 만드는데 사용한다. 첫번째 인자로 시작 인덱스(index), 두번째 인자로 종료 인덱스를 받으며, 시작 인덱스부터 종료 인덱스까지 값을 복사하여 반환한다. let nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,..
-
[Git] 자주 사용하는, 커맨드 한 줄 요약git 2024. 1. 10. 20:45
git init : 현재 디렉토리를 Git이 관리하는 프로젝트 디렉토리(=working directory)로 설정하고 그 안에 레포지토리(.git 디렉토리) 생성 git config user.name 'name' : 현재 사용자의 아이디를 'name'으로 설정(커밋할 때 필요한 정보) git config user.email 'name@gmail.com' : 현재 사용자의 이메일 주소를 'name@gmail.com'로 설정(커밋할 때 필요한 정보) git add [파일 이름] : 수정사항이 있는 특정 파일을 staging area에 올리기 git add [디렉토리명] : 해당 디렉토리 내에서 수정사항이 있는 모든 파일들을 staging area에 올리기 git add . : working directory..
-
[Git] git 사용 기본개념 (repository, commit)git 2024. 1. 8. 03:20
1. 레포지토리(repository) repository 는 저장소라는 뜻입니다. 프로젝트를 위해 디렉토리를 만드는데, git으로 프로젝트 디렉토리의 버전으로 관리하기 시작하면 원하는 시점마다 그 디렉토리 안에 어떤 것들이 있는지, 그것들의 내용이 어떻게 변해가는지를 기록할 수 있습니다. glt이 이런 정보들을 기록하는 곳을 repository라고 합니다. 즉, repository안에는 프로젝트 디렉토리의 초창기 모습부터 현재까지 버전별로 담겨져 있습니다. git을 사용하여 버전관리를 하게 된다면 디렉토리 안에 숨겨진 디렉토리 [.git 디렉토리] 가 만들어집니다. 바로 이 디렉토리가 repository입니다. 2. 커밋(commit) 프로젝트 디렉토리의 모습을 하나의 버전으로 남기는 동작을 '커밋한다'..
-
[Git] Git과 Githubgit 2024. 1. 8. 02:53
Git이란 코드 버전 관리 프로그램 입니다. 1. 버전관리 버전관리는 쉽게 말해 수정된 파일의 원본파일을 관리해놓은 것이라고 말할 수 있습니다. 즉, 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템입니다. 이는 지난 과정을 확인 할 수 있게 하며, 이전 버전으로 돌아갈 수 있게 합니다. 2. 동시협업 소스코드를 주고받을 필요없이 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능합니다. 이에 git은 여러 개발자가 협업할 수 있도록 도와줍니다. Github란 외부에 컴퓨터를 대신 만들어주는 서비스로, 원격 저장소를 대신 제공해주는 서비스입니다. 외부컴퓨터를 따로 마련하지 않아도 작업한 내용을 자신의 컴퓨터가 아닌 다른 곳에 저장할 수 있게 도와줍니다. 1. 다른 사람과 협업 가능 외부 컴퓨터..