본문 바로가기

전체 글113

웹팩(Webpack) 이해하기 - 개발 서버 저번 글에 이어서 웹팩 개발 서버에 대해 알아보자. 웹팩 개발 서버 외에도 VS code의 Extension인 Live Server나 Node.js로도 로컬 서버를 구현할 수 있다. 이런 여러 선택지 중에서 웹팩 개발 서버를 통해 얻을 수 있는 이점은 무엇일까 생각을 해봤다. 운영 환경과 비슷하게 만들기 개발 환경에서도 운영 환경과 비슷한 환경을 만들어 주는 것이 좋다. 운영 환경과 맞춤으로써 배포 시에 잠재적 문제를 미리 확인하고, 예방할 수있다. 이런 노력은 타입스크립트를 사용하는 것과 비슷한 맥락이다. 협업에서의 이점도 있지만 타입을 지정하여 운영 환경의 문제들을 예방할 수 있다. 학습 비용 감소 처음엔 Node.js를 통해 서버를 구현하고 목업 API 작업을 했었다. Node.js를 공부하니 Ex.. 2021. 11. 22.
87번의 탈락, 9번 면접 본 후기 (feat.프론트엔드 개발자) 아..정말 긴 터널과 같은 취업 준비 기간이었다. 1년 넘게 프론트엔드 개발자 취업 준비를 하면서 그동안 느꼈던 점들, 경험들을 정리 해보려고 한다. 아니..왜 서류 합격도 안되지? 자바 백엔드 과정으로 국비지원 학원을 6개월만에 수료를 하고, 프론트 엔드 개발자가 되고 싶었다. 사실 학원을 다니기 전엔 프론트, 백엔드의 개념 없이 그냥 개발자가 되고 싶어서 들어가게 되었는데 HTML, CSS가 너무 재밌었다. 그리고 당시에 난 이클립스의 UI가 너무 싫었다. 딱딱하고 재미가 없었기 때문에 VS Code로 테마도 적용하고, 코딩도 멋있게 꾸며서 하고 싶었다. 지금와서 생각해보면 내 나름대로 코딩에 재미를 붙이기 위해 했던 행동이었던 것 같다. 그 당시엔 한마디로 비전공생, 무스펙이었던 것이다. 블로그도 .. 2021. 11. 19.
웹팩(Webpack) 이해하기 처음 리액트를 배울 때 이런 생각이 들었다. "이렇게까지 어려운 문법을 배우면서 굳이 써야하나? 내 개인 프로젝트에 쓰일 정도로 편하긴 한가?" 반은 억지로 하다보니 따라치기 수준의 학습밖에 하지 못했다. 그러다 Vanilla JS로 SPA 만들기같은 과제를 두 번이나 하게 되면서 리액트를 쓰는 이유를 알게 되었다. 아니, 좋아하게 되었다. 리액트에선 많은 것들이 추상화 되어 있었고 굉장히 편리한 도구였다. 이제는 "고작 이 문법으로 이렇게나 많은 것들을 할 수 있다니"로 생각이 바뀌게 되었다. 그렇다면 CRA에서 기본으로 깔려있는 이 웹팩도 알아볼 필요가 있다. 분명 이유가 있을 것이다. 내 평일은 물론이고 주말까지 시간을 순삭하게 만든 웹팩을 한번 살펴보자. ✏️ 웹팩을 배우면서 제가 개인적으로 느꼈.. 2021. 11. 16.
자료구조 더 알아보기 - 해시 테이블 자료구조 더 알아보기 - 배열 글에 이어서 이번엔 해시 테이블(hash table)에 대해서 알아보자. 해시 테이블은 여러 프로그래밍 언어에 내재되어 있고 자주 사용하는 자료구조이다. JS는 객체(object), Python은 딕셔너리(dictionary), Go는 맵(map) 등..많은 언어에서 사용된다. 해시 테이블은 키(key)와 값(value)으로 데이터를 매핑하여 자료를 정리한다. 예시로 사전을 떠올려보자. 찾는 단어는 키가 되고, 단어에 해당하는 설명은 값이 될 수 있다. 이런게 어떤 장점을 가져올까? 자바스크립트 코드로 배열과 해시 테이블을 비교해보자. fruits = [ { kind: '🥑', price: 10 }, { kind: '🍓', price: 8 }, { kind: '🥕', pri.. 2021. 11. 10.
자료구조 더 알아보기 - 배열 자료구조와 알고리즘 이해하기 글에서 알아본 것처럼 자료구조란 데이터를 효과적으로 다루기 위한 방법을 뜻한다. 서비스나 어플리케이션에서 필요한 데이터를 메모리에 어떻게 구조적으로 담아두고 관리할지 생각하고, 최종적으로 가장 효율적인 자료구조를 채택하여 데이터를 빠르게 읽고(read), 검색(search)하거나, 수정(modify), 추가(add) 및 삭제(delete)를 할 수 있다. 읽기(read) 검색하기(search) 수정하기(modify) 추가하기(add) 삭제하기(delete) 서비스나 어플리케이션에서 클라이언트에 데이터를 제공 또는 사용자에게 데이터를 보여주고, 수정할 때 효율적으로 일을 처리하기 위해선 기능에 적합한, 알맞는 자료구조를 쓰는 것이 중요하다. 어떤 자료구조를 쓰냐에 따라 사용자가.. 2021. 11. 7.
자료구조와 알고리즘 이해하기 자료구조(Data Structure) 이해하기 자료(Data)가 그렇게 귀하다며..? 요즘 세상의 '자료(이하 데이터)'는 '새로운 석유(new oil)'라고 할만큼 AI, 정부, 구글 등 분야를 막론하고 많은 곳들에서 우리의 데이터를 원한다. 그래서 우리가 많은 서비스들을 무료로 사용할 수 있기도 하다. 예를 들어 데이터가 있어야 AI를 훈련시킬 수 있다. 데이터가 있어야 광고를 타겟팅 할 수 있다. 유튜브는 우리의 정보를 바탕으로 맞춤 광고를 설정하고, 영상을 보여준다. 그만큼 데이터는 중요하고 개발자라면 항상 데이터를 다루게 된다. 데이터를 효과적으로 다룰 수 없을까? 프로그래밍이 존재할 때부터 데이터는 항상 다루어왔다. 그렇게 데이터의 양이 커짐에 따라 선배 개발자들이 데이터를 효과적으로 다루기 .. 2021. 11. 6.
개발자(또는 개발자 취준생)의 마음가짐, 힘이 되는 글/영상 모음 각성이 되는 글/영상들, 열정 열정 열정! 🔥 개발의 기술적인 부분 외에도 좋은 글들이 참 많다. 그동안 수많은 개발관련 글들을 보며 정말로 나에게 힘을 주고, 자신감을 심어준 글들은 즐겨찾기를 해놨었다. 뛰어난 개발자분들의 개발 철학, 마음가짐, 성장 등 도움 되는 글/영상들을 모아봤다. 공개적으로 학습하라 비교적 최근에 읽은 글인데 두고두고 봐야할 글인 것 같다. 개발자의 성장에 대해 자세하게 조언해주고 무엇보다 이제는 스스로를 위해 글을 써야겠다는 생각을 많이하게 되었다. 결과를 '박수'나 리트윗, 스타, 좋아요와 같은 것들로 판단하지 마세요. (단순히 3개월 전의 당신을 돌아 보는 것으로 충분합니다.) 저는 거의 매일 개발 블로그를 작성하는데, 이것은 그 누구도 아닌 저 자신만을 위한 것입니다. .. 2021. 11. 3.
public 폴더 안 axios import 에러 Vanilla js로 SPA를 만들면서 정말 많은 에러들을 겪고 있다. 그래도 점점 직접 부딪혀보는 실력이 늘고 있다. 구현 후에 에러가 뜨면 해결하는 재미가 쏠쏠하다. 그런데 이번엔 조금 찝찝하게 마무리하게 되었다. 서버쪽에서 잘 사용하던 axios가 왜 클라이언트에선 불러오지 못하는 것일까? 일단 중요한 부분만 표현한 프로젝트의 폴더 구조는 다음과 같다. node_modules public |-- main.js // 여기서 axios를 import 해와서 쓰고 싶다 |-- index.html |-- style.css src |--api package-lock.json package.json server.js // axios 사용 main.js에서 import axios from 'axios';를 하면.. 2021. 11. 1.
new 연산자로 재사용성 높이기 new 연산자와 생성자 함수 new 연산자는 사용자 정의 객체 타입 또는 내장 객체 타입의 인스턴스를 생성한다. - MDN MDN에서 설명하는 new 연산자다. 여기서 설명하는 '사용자 정의 객체'와 '객체 타입의 인스턴스 생성'에 대해 알아보자. 객체 리터럴 {...}을 사용하면 객체를 쉽게 만들 수 있다. 하지만 유사한 객체를 여러 개 만들 경우엔 new 연산자와 생성자 함수를 사용하면 유사한 객체 여러 개를 쉽게 만들 수 있다. 예를 들어 복수의 사용자, 메뉴 내 다양한 아이템을 객체로 표현할 경우에 유용하다. 생성자 함수 생성자 함수는 다음과 같은 관계를 따른다. 함수 이름의 첫 글자는 대문자로 시작한다 반드시 new 연산자를 붙여 실행한다. 예시 function User(name) { // th.. 2021. 11. 1.
반응형