전체 글

프론트엔드 개발자
문제 상황- git, github를 이용하면서 원격 저장소(remote repository)에 commit을 잘못 push한 경우- 해당 commit 이전으로 되돌리기 위한 방법 해결 방법 원격 저장소에 올라간 커밋 기록을 제거한 뒤, 이를 원격 저장소에 반영하면 됩니다.commit 삭제는 주로 git reset 명령을 이용하며 자주 사용되는 명령어는 아래와 같습니다. 1. 가장 최근의 commit 제거git reset HEAD^ 2. 특정 개수만큼의 commit 제거# 가장 최근의 commit 기록 N개 제거git reset --hard HEAD~N 3. 특정 commit으로 복구git reset --hard  위 명령어를 통하여 각자 자신에게 맞는 commit으로 되돌린 다음, 원격 저장소에 이를 반..
· Web
1. 경고 문구 설명 React를 사용하면서 "Warning: validateDOMNesting(...): cannot appear as a descendant of ."라는 경고를 본 적이 있으신가요? 이 경고는 태그 안에 태그를 넣었을 때 발생합니다. HTML 구조에서 태그는 블록 레벨 요소를 포함할 수 없기 때문에 발생하는 문제입니다. https://www.w3.org/TR/2014/REC-html5-20141028/grouping-content.html#the-p-element 4.4 Grouping content — HTML5A p element's end tag may be omitted if the p element is immediately followed by an address,..
· 알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr본 포스팅에서 다루는 문제는 위 프로그래머스 링크를 통하여 문제 확인 및 풀이가 가능합니다!  1. 문제 풀이 본 문제는 동적 계획법(Dynamic Programming)으로 풀이 가능한 문제들 중 가장 베이직한 경우로 볼 수 있습니다. 효진이가 n칸의 계단을 오르는 방법의 총 가짓수를 bottom-up 방식으로 구하는 것이 문제 풀이에서 가장 중요한 포인트입니다. 또한, 동적 계획법을 풀이할 때 가장..
· 알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/120837 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr본 포스팅에서 다루는 문제는 위 프로그래머스 링크를 통하여 문제 확인 및 풀이가 가능합니다!  1. 문제 풀이 탐욕(Greedy) 알고리즘을 사용하여 풀이하는 문제 중 가장 베이직한 문제입니다. 사냥감의 체력(hp)에 딱 맞게 병력을 내보냄과 동시에 가장 적은 수로 구성해야 합니다. 장군개미, 병정개미, 일개미의 공격력이 각각 5, 3, 1이기 때문에 장군개미 > 병정개미 > 일개미 순으로 가능한 많..
· 알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/68644?language=javascript 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr본 포스팅에서 다루는 문제는 위 프로그래머스 링크를 통하여 문제 확인 및 풀이가 가능합니다! 1. 문제 풀이 문제에서 제시한 것처럼 단순하게 서로 다른 인덱스에 있는 두 개의 수를 뽑아서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하기만 하면 되는 간단한 문제입니다.  신경써야 할 부분은 서로 다른 인덱스에 있는 두 개의 수를 뽑아서 나온 수가 중..
· 회고록
지원 과정 국민대학교 SW중심대학사업단에서 진행하는 "국민대학교 2023 동계 인턴 프로그램"을 통하여 CONCAT에 지원하게 되었다. CONCAT은 여러 차례 본교 잡페어 행사에도 직접 참여하여 기업에서 진행 중인 프로젝트를 소개하기도 해서 지원 이전에도 알고 있었고 이번 하계 인턴에서 사용하는 기술 스택 Flutter와 채팅 서비스에 많은 관심을 가지고 있어서 별다른 망설임 없이 지원하였다. 매칭은 프로그래머스를 통하여 1. 서류 제출 -> 2. 면접 -> 3. 최종 합격 -> 4. 인턴쉽 시작 순으로 진행되었다. 면접은 약 15분 가량 진행되었으며 이력서에 기재한 사이드 프로젝트와 Flutter에 대한 가벼운 기술 질문을 받은 뒤, 회사 측에서 몇 가지 질문을 받아주는 시간을 가졌다.  면접 하루 ..
자바스크립트에서 숫자를 다루거나 연산을 하다보면 NaN 값을 가끔 마주할 때가 있습니다. NaN은 not-a-number의 약자로 자바스크립트에서 '산술 연산 불가'의 값임을 표현할 때 사용됩니다.우리가 자바스크립트를 사용하면서 NaN을 접하게 되는 상황들을 몇 가지 알아보면 다음과 같습니다.// 문자열을 숫자로 변환할 수 없으므로 NaN을 반환한다let x = 'Jiwon';console.log(+x); // NaN// undefined는 숫자로 타입 변환되지 않는다+undefined; // NaN1 + undefined; // NaN0 / 0; // NaN  이렇게 NaN 값이 반환되었을 때 isNaN 함수를 사용하여 해결할 수 있으며 isNaN은 매개변수가 숫자인지 검사하는 함수입니다.isNaN(v..
· Web/React
웹 애플리케이션을 구현하다 보면 사용자의 권한 등에 따라 접근 제한을 두어야 하는 페이지가 있습니다. 우리는 여러 서비스를 비회원으로 사용하면서 로그인이 필요한 기능 페이지에 진입 시에는 로그인, 회원가입 페이지로 이동한 경험을 모두 가지고 있을 것입니다. 그렇다면 이러한 페이지 별 접근 제한을 React에서는 어떻게 구현할 수 있을까요? 오늘은 제가 이전에 useEffect hook을 이용하여 페이지 별 접근 제한을 구현한 방법 그리고 이를 개선한 1가지 방법을 더 알아보려고 합니다. 1. useEffect를 사용한 페이지 접근 제한 구현 // login 상태가 아닌 경우에 Keyword 페이지로 접근하면 Login으로 redirect useEffect(() => { if (!isLoggined) { ..
최 지원
AID_CHOI