반응형

전체 글 49

[팀 프로젝트] 첫 팀 프로젝트의 시작

프론트엔드의 길을 걸어보고자 한지 벌써 일 년이 넘어가고 있다. 그런 내가 갖고있는 가장 큰 부족한 점은 바로 팀 프로젝트 경험 하나 없었다는 것. 변변치 않은 개인 프로젝트들만 해오다가 성장 요소의 한계에 부딪히고 뒤늦게 팀 프로젝트를 시작하였다. 이 '팀 프로젝트' 시리즈는 팀 프로젝트의 시작부터 끝까지(팀플은 아직 진행중이다)에 대한 기록과 나처럼 독학으로 준비하시는 여러 분들에게 도움이 되고자 쓰는 글이다. 팀 프로젝트 꼭 해야하나..? 나는 겁이 많은 성격이다. 모르는 사람들을 접하는 것을 좀 꺼려하고 무언가 새로운 것을 시도하는 것을 싫어하진 않으나 도전해 보기까지 굉장히 보수적인 스탠스를 취하는 편. 그래서 팀 프로젝트를 여태 안 해봤나 싶다. 이런 생각을 해보았다. 규모가 꽤 있는, 소위 ..

[React] Minified React error #321

컴포넌트를 새로 생성하고 로컬에서 실행해보았는데 위와 같은 오류가 떴다. 이게 뭔말인가 해서 해당 컴포넌트에 가보니 뜬금없이 useRef와 관련된 한 줄에서 오류가 났다고?? 뭐가 문제인가 해서 5분정도 들여다 보다가 발견한 것은 import의 경로 리액트에서 Hooks의 경로는 'react'이다. 아마 자동완성을 쓰다가 자동으로 import 된 것이 이런 문제를 발생 시킨 듯 하다.

[Javascript] keydown, keypress 너네 도대체 무슨 차이니?

최근 프로그래머스의 고양이 사진첩에 대한 과제를 해결하던 도중 오류를 접했다.참고로 나는 Javascript란 언어에 대해 기본적인 것은 알고 있다는 오만한 생각을 했었으나 해당 과제를 풀어보고 나의 오만함을 깨달을 수 있었다. 프론트엔드를 공부하는 취업준비생들에게 매우 많은 도움이 될 것으로 예상하기에 해당 문제 해설의 링크를 남겨둔다. 문제를 직접 풀어보고 싶으면 해당 링크의 상단에 문제 링크도 포함되어 있으니 참고.https://prgms.tistory.com/53 '2021 Dev-Matching: 웹 프론트엔드 개발자(상반기)' 기출 문제 해설'Dev-Matching 웹 프론트엔드 개발자'의 과제 테스트는 어떠셨나요? 내가 무엇을 잘못하였고, 무엇을 잘했는지 궁금하시지 않으셨나요? 우리 모두 해..

[React] Hooks를 활용해 유효성 검사를 해보자 (회원가입, 로그인)

평소 어떤 사이트에 회원가입을 하려 할 때 우리는 유효성을 확인하는 문구를 자주 만나게 된다. 유효성 검사란 요구하는 조건을 만족하는지 확인하는 절차를 말한다.사진을 보면 아이디의 글자수, 특수문자의 사용 가능 여부, 비밀번호와 일치하는지의 여부, 이것들 외에도 사이트에서 받아야 하는 데이터의 형식들을 제한하곤 한다.그리고 통과하지 못한 데이터를 제출하면 오류가 발생함으로서 잘못된 데이터가 전달되지 않도록 막는 역할을 해준다.최근 간단한 회원가입 페이지를 만들어보면서 이런 유효성 검사에 대해 리마인드 할 기회가 있었는데 이런 것들을 공유해 볼까 한다. 정규표현식유효성 검사를 하는데에 있어 자주 쓰이는 것이 바로 이 정규표현식이다.그럼 정규표현식이란 뭘까?정규 표현식 또는 정규식은 특정한 규칙을 가진 문자..

[Git] Detatched HEAD 상태

오류 발생 이유 첫 프로젝트를 마치고 부푼 마음으로 README.md 파일을 업데이트 해야겠다고 마음먹고 깃허브 리퍼지토리에서 직접 수정을 진행하였다. 처음 수정해본 파일이기 때문에 역시나 문제가 발생하였다. 깃허브에서도 수정을 하고 local에서도 파일을 수정하니 나중에 커밋 시 충돌이 발생 한 것. 당황한 나머지 어정쩡하게 알고있던 GUI인 Sourcetree를 통해 이것저것 만지다가 merge를 성공했나 싶었더니 이상한 오류와 함께 커밋이 되지 않는 상태가 발생하였다. 뭣도 몰랐던 나는 branch 그래프만 보면 이게 왜 안되는 건가 도대체... 절망스럽기만 했으나 침착하게 detached head라는 오류 메시지를 구글링해 보았다. Detached HEAD 상태란? 출처: Dog발자 블로그 , h..

[프로그래머스] 해시테이블에 대해 알아보자 - 베스트 앨범 문제 실습

출처: 프로그래머스 강의, '코딩테스트 광탈 방지 A to Z Javascript ' 강의 내용 정리 및 공부 목적으로 게시하는 글임을 알립니다. 해시테이블 자료구조 오늘은 해시테이블 자료구조에 대해 알아보려고 한다. 해시테이블이란? 키와 값을 받아 키를 hashing하여 나온 index에 값을 저장하는 선형 자료구조이다. 키와 값 하면 떠오르는 Javascript 문법이 있을 것이다. 바로 객체, Object가 이에 해당한다. 추가로 이번 강의를 통해 알게 된 문법이 있는데 바로 Map 메소드이다. Map은 const sample = new Map()과 같이 선언하며 sample.set(key, value)로 키와 값을 설정할 수 있으며 sample.get(key)로 해당 키의 값을 불러올 수 있다. ..

React로 요리를 찾아주는 기능 구현 (a.k.a 냉장고 털기) - 7 (state)

State, 변수의 상태관리 리액트에서는 변화하는 값에 대해 클래스형 컴포넌트에서 state를 이용하여 값을 관리하였다. 함수형 컴포넌트에서는 원래 state를 관리할 수 없었기에 state를 사용할 경우 클래스형 컴포넌트를 선택적으로 사용하였는데 이러한 부분을 개선하기 위해 만들어진 기술이 Hooks. state뿐만 아니라 Life-Cycle-Method 의 사용에도 갖고 있었던 문제점을 리액트 16.8에서 Hooks라는 개념이 도입되면서 useState, useEffect 등으로 손쉽게 함수형 컴포넌트에서도 사용이 가능하게 되었다. state를 이용하는 경우는 매우 다양하다. 간단한 예로 로딩 스피너를 들 수 있는데, 듣기에는 아주 단순해 보이는 이런 경우에도 state로 관리할 수 있다. API 호..

[프로그래머스] Queue에 대해 알아보자 - 프린터 문제 실습

큐에 대하여 알아보자 출처: 프로그래머스 강의, '코딩테스트 광탈 방지 A to Z Javascript' 큐란 먼저들어온 것이 먼저 나가는 것을 말한다. 쉬운 예를 들자면 영화관에 줄을 서면 먼저 슨 사람이 먼저 입장하고 줄에서 빠져나간다. 이러한 개념을 자바스크립트로 만들어 보자. class Node { constructor(value){ this.value = value; this.next = null; } } class Queue { constructor(){ this.head = null; this.tail = null; this.size = 0; } enqueue(newValue){ const newNode = new Node(newValue); if(this.head === null){ thi..

빛번짐 효과, box-shadow & filter 활용하기 (feat. ionicons)

단 몇 줄의 코드로 색다른 효과를 낼 수 있다! 오늘도 코드가 원하는대로 짜지지 않아 김빠짐을 경험하여 유튜브와 코드팬속에서 헤엄치던 중...역시나 사이트에 재미를 선사하는 요소로 hover effect를 빼놓을 수 없지 않을까 라는 생각을 했다.그리고 조금은 색다른 효과를 내보는 것도 재밌겠다 싶어오늘은 단순히 색만 바뀌는 것이 아닌 빛번짐 효과로 좀 더 화하고 쨍한 느낌의 효과를 내는 법에 대해서 소개해보려한다. 굉장히 간단하니 겁내지 마시라!! 내가 직접 구현해 본 Hover effecthttps://codepen.io/swpark907/pen/qBVNqYg Light bleed hover effect(Pure CSS)Light bleed hover effect(Pure CSS)...codepen...

React로 요리를 찾아주는 기능 구현 (a.k.a 냉장고 털기) - 6 (React)

본격적인 리액트 사용이제 필요한 데이터를 받아오는 법은 알았겠다. 본격적으로 리액트라는 것에 대해서 적어보려 한다.리액트, React JS는 최근 많은 기업들이 사용하고 있는 자바스크립트의 대표적인 라이브러리이다.리액트는 페이스북에서 만든 Javascript 라이브러리이며 특징으로는 크게 2가지를 들 수 있다. 리액트의 특징1. SPA를 구현하는 데에 용이하다.2. 모듈형 개발을 기본으로 한다.3. 활성화 된 커뮤니티 여기서 SPA(Single Page Application)란 페이지를 이동할 때마다 서버에서 데이터를 새로 받아오는 것이 아니라 우선 Vitrual DOM을 생성 한 뒤 DOM과 비교해 변경되는 곳만 부분적으로 리랜더링을 하기 때문에 웹페이지의 사용성에 도움을 준다. 쉽게 말해 모바일 어플..

반응형