전체 글

뭐 그렇게 됐다
데브코스

[2주차 - DAY2] 웹 이론(1)

웹의 이해 인터넷 전 세계의 모든 컴퓨터를 하나의 통신망 안에서 연결한다는 의미 웹 != 인터넷, 인터넷 안에 웹이 포함되어 있음 웹 World Wide Web 줄여서 Web이라고 한다. 인터넷에 연결된 컴퓨터를 통해서 사람들이 정보를 공유할 수 있는 공간이다. 정보를 하이퍼텍스트 형식으로 표현하고, 하이퍼텍스트(링크)를 따라 이동하며 다양한 정보/문서들을 확인한다. 웹 페이지들의 집합이 웹 사이트이다. 웹 페이지나 웹상의 데이터를 찾거나 읽을 때 사용하는 것을 웹 브라우저라고 한다. 웹의 구조 클라이언트와 서버는 인터넷으로 연결되어 있으며 웹 프로토콜인 HTTP를 사용하여 데이터를 주고받는다. 웹 개발 직무 이해 프론트엔드: 사용자 화면에서 사용자와 상호작용 백엔드: 서버 측에서 프론트엔드에게 전달받은..

데브코스

[2주차 - DAY1] Git 고급

branch 이름 규칙 기능 개발: feature ex) feature/login, feature/select-product 출시 준비: release ex) release-1.3. release-1.4 긴급 수정: hotfix ex) hotfix-1.2.1 branch 삭제 git branch -d 브랜치이름 branch에 커밋 반영하기 아래와 같이 두 개의 브랜치를 생성했다. feature/login 브랜치로 이동한 후 test2.txt 파일을 아래와 같이 수정한다. 이 상태에서 feature/select-product 브랜치로 이동하면 커밋을 하지 않았기 때문에 수정된 파일이 똑같이 보인다. feature/login 브랜치에서 커밋을 해주고, feature/select-product 브랜치로 이동하..

코딩테스트

[JS] 다리를 지나는 트럭

난이도: Lv. 2 정답률: 53% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 트럭이 다리에서 내려오는 시점은 (다리에 올라간 시각 + 다리의 길이)이다. 대기 트럭이 없을 때까지 아래의 과정을 반복한다. 시간을 1 증가시키고, 다리 위에 트럭이 존재한다면 현재 시각과 트럭이 다리에서 내려오는 시각이 일치하는지 확인한다. 일치한다면 다리 위에 있는 트럭들을 나타내는 큐에서 dequeue 한다. 다리 위에 트럭이 더 올라갈 ..

데브코스

[1주차 - DAY4] Git 브랜치 전략 기반의 협업 워크 플로우

Clone 원격 저장소에 연결하여 소스 코드를 받아오는 명령어이다. CLI 새 폴더 생성 생성한 폴더를 vscode에서 열기 터미널에 아래 코드 입력 git clone 원격저장소_URL .git 폴더가 내려받은 폴더인 FirstRepository 폴더에 위치하고 있기 때문에 pull 할 때는 FirstRepository로 작업 디렉토리를 변경하고 수행해야 한다. 디렉토리를 변경하지 않고 pull을 수행하면 아래와 같이 fatal: not a git repository (or any of the parent directories): .git 에러가 발생한다. GUI 이 경우에는 현재 작업 디렉토리가 FirstRepository이기 때문에 별도의 디렉토리 이동 없이 pull을 수행하면 된다. vscode 탐..

데브코스

[1주차 - DAY3] Github를 활용한 원격 코드 관리

Add 프로젝트 폴더에서 git init을 실행하면 .git 폴더가 생성되고 git이 프로젝트 폴더를 관리해 주기 시작한다. 하지만 프로젝트 폴더에 있는 파일들을 트래킹 해주지는 않는다. 따라서 우리가 원하는 파일을 지금부터 트래킹 해달라고 git에게 명령을 내려한다. git add 파일명 위 코드를 실행했을 때 정상적으로 수행되었다면 아무것도 출력되지 않는다. 위 코드를 실행하면 git은 버전 히스토리를 생성하기 위해 해당 파일을 대기열에 모아둔다. vscode에서 GUI로 add 하려면 왼쪽 사이드바에 있는 5개의 아이콘 중 세 번째 아이콘(소스 제어)를 클릭하고 원하는 파일을 찾아 + 버튼을 클릭하면 된다. Commit 버전으로 저장할 것들을 모두 모았으니 모아둔 것들로 버전을 만들어 달라는 명령어..

데브코스

[1주차 - DAY2] Git 기본 이론

버전 관리 시스템(Version Control System) 로컬 VCS 중앙집중식 VCS 분산 VCS 백업 · 복구 O O O 협업 X O O 단위 특정 파일 하나 폴더 전체 로컬 VCS 내 컴퓨터에만 저장하여 버전을 관리하고, 백업과 복구를 할 수 있다. 협업을 위해서는 사용할 수 없다. 중앙집중식 VCS 중앙 컴퓨터에서 특정 버전의 특정 파일만 내 컴퓨터로 가져와서 작업할 수 있다. 중앙 컴퓨터에 백업이 되어 있으며 중앙 컴퓨터는 백업된 버전을 모두 가지고 있다. ex) SVN, CVS 분산 VCS 중앙집중식 VCS는 특정 파일만 가져오지만 분산 VCS에서는 특정 폴더를 내 컴퓨터로 가져오고, 중앙 컴퓨터에 저장할 때도 수정 완료된 폴더를 통째로 갖다 준다. 중앙집중식 VCS보다 관리 포인트가 줄어..

데브코스

데브코스 웹 풀 사이클 개발 2기 합격 후기

지원 동기 나는 정보통신공학과 학생이다. 우리 과 커리큘럼에는 웹 개발 관련 수업이 없다. 굳이 따지자면 데이터베이스 수업 정도겠다. 네트워크, 자료구조, 알고리즘, 데이터베이스 등의 백엔드 관련 수업을 들으면서 정말 지칠 대로 지쳐있었다. 과제를 미루지 못하는 성격이라 과제가 나온 날에 해치우는 편인데 과제가 잘 안 풀리면 그 문제를 풀 때까지 밥도 제대로 못 먹고 잠도 안 잤다. 그렇게 해도 안 풀리면 꿈에서도 그 문제를 풀고 있었다. 일이 내 일상을 집어삼키는 기분이라 그게 너무 싫어서 개발자는 하지 않겠다고 다짐했다. 4학년 1학기까지 재학하고 이제는 취준을 해야겠다고 생각해서 공고들을 봤는데 필요한 기술 스택에서 내가 할 수 있는 것들은 고작 C/C++과 SQL 정도였다. 인공지능 분야도 싫고,..

코딩테스트

[JS] 가장 큰 수

난이도: Lv. 2 정답률: 53% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 (예외 상황) 주어진 배열의 모든 수가 0이면 나올 수 있는 가장 큰 수도 0이기 때문에 0을 리턴해준다. 1. 주어진 배열의 모든 원소를 문자형으로 변환한다. 2. 병합할 순서대로 정렬한다. 문자열 a, b가 있을 때 a + b와 b + a 중 더 큰 것이 앞에 오도록 조건을 설정한다. 3. 2의 과정을 통해 정렬된 배열의 모든 원소를 하나의 ..

코딩테스트

[JS] 키패드 누르기

난이도: Lv. 1 정답률: 51% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 키패드 각각의 좌표 설정 2. 각 숫자를 무슨 손으로 눌렀는지 기록한다. 2-1. 1, 4, 7번을 누를 경우 왼손으로 누른 것이므로 isLeftHand를 참으로 설정 2-2. 3, 6, 9번을 누를 경우 오른손으로 누른 것이므로 isLeftHand를 거짓으로 설정 2-3. 2, 5, 8, 0번인 경우 더 가까운 손이 어느 손인지 판별하여 ..

코딩테스트

[JS] 쿼드압축 후 개수 세기

난이도: Lv. 2 정답률: 53% 문제: https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 BFS를 사용하여 문제를 푼다. 큐에는 압축하고자 하는 특정 영역의 [시작 행, 시작 열, 마지막 행, 마지막 열]을 저장한다. 1. 큐에 압축하고자 하는 특정 영역의 배열을 push() 한다. 2. 해당하는 영역 내부에 있는 모든 수가 같은지 확인한다. 2-1. 같은 경우 정답 배열의 해당 값을 증가시킨다. 2-2. 같지 않은 경우 영역을 정사..

미안하다 강림이 좀 늦었다
어제 내 스택이 무너졌어