분류 전체보기181 [FE] 프론트엔드에서의 상태관리란 무엇인가? (1) 등장배경과 정의 서론 대상독자 프론트엔드(이하 FE) 상태관리를 처음 접하는 웹 프로그래밍 입문자. 큰 맥락에서 FE 상태관리를 이해하고 싶은 웹 프로그래밍 초급자. 오늘의 학습 목표 웹의 역사와 FE 상태관리의 등장배경에 대해서 이해한다. 상태관리의 정의를 이해하고 활용 방법에 대해서 학습한다. 다양한 상태관리 라이브러리들의 장/단점을 비교할 수 있다. 개발 상황에 알맞게, 상태관리 라이브러리를 선택할 수 있다. 실제 웹 어플리케이션에 필요한 기능을 상태관리를 활용하여 구현할 수 있다. 프론트엔드 상태관리란 무엇이며, 왜 필요한가? FE 개발을 할 때, 가장 중요하게 여겨지는 두 가지가 있습니다. 바로 스타일링과 상태관리인데요, 그래서인지 프론트엔드 개발을 할 때 어떤 상태관리 라이브러리를 사용할 것인지가 화두로 떠오.. Framework/React & RN 2021. 11. 6. [Web] Mac에서의 웹 프로그래밍 개발환경 구성과 이해 서론 대상독자 큰 맥락에서 개발 환경을 이해하고 싶은 웹 프로그래밍 초급/입문자. 웹 개발에 익숙하지만 각각 수행하는 역할을 자세히 알고 싶은 중급자. 오늘의 학습 목표 서버와 클라이언트 구조를 파악한다. 기본적인 HTML 구조를 이해한다. HTML 파일과 CSS, Javascript 파일을 연동한다. 웹 서버와 WAS의 차이점을 이해한다. 본론 개발환경 구축하기 (For Mac) Web Browser 웹 프로그래밍 개발환경을 구축하기 위해, 가장 먼저 필요한 소프트웨어는 바로 웹 브라우저입니다. 저희에게 익숙한 크롬, 인터넷 익스플로러 등입니다. 바로 이 웹 브라우저들이 웹 페이지의 문서 파일들을 읽어 사용자가 확인할 수 있도록 화면에 띄워주는 역할을 합니다. 현재 세계에서 가장 많은 점유율을 차지하고.. Language 2021. 10. 17. [TypeScript] 타입스크립트 환경 설정하기 학습 목표 오늘은 배워두면 프론트엔드 개발에서 유용하게 활용할 수 있는 타입스크립트 환경설정 하는 방법에 대해서 알아보겠습니다. 타입스크립트에 대해서 구구절절 설명을 늘어놓기보다는 실제 코드로 돌려보며, 어떤 성격을 가진 언어인지에 관해 차차 알아가봅시다. 타입스크립트 설치하고 설정하기 자, 먼저 디렉토리부터 만들어줍시다. 그런 후, 해당 디렉토리에서 npm init 명령어를 통해, package.json 파일을 만들어 줄 것입니다. mkdir testTsc cd testTsc npm init -y 설정이 완료되면 다음으로 넘어갑니다. 타입스크립트를 설치하는 방법에는 두 가지가 있습니다. 로컬 설치, 글로벌 설치. 특별한 경우가 아니라면, 모든 패키지는 되도록이면 로컬로 설치되는 편이 버젼 관리함에 좋기.. Language/Typescript 2021. 8. 5. [Storybook] 스토리북 환경 설정하기 (with Styled-component) 서론 웹 UI 개발에 빠질 수 없는 라이브러리가 있다면 바로, 스토리북일 것입니다. 오늘은 스토리북 환경설하는 방법에 대해서 간단히 알아보겠습니다. 대상독자 스토리북을 처음 접하는 프론트엔드 개발 입문자. 오늘의 학습 목표 storybook cli를 통해 리액트에서 스토리북 환경 설정을 하는 방법, 그리고 기본적으로 제공되는 파일들의 기능을 아는 것이 목표입니다. storybook 설정에 대해서 집중해서 알아보기 위해, 자동으로 많은 설정을 해주는 create-react-app 혹은 create-next-app을 사용하지 않았습니다. create-next-app을 사용한 후, storybook cli로 환경설정을 해줘도 같은 결과가 나타납니다. create-react-app와 같이, 이미 부트스트래핑된 .. 기타 2021. 8. 2. [웹/앱 아키텍처] 클린 아키텍처란 무엇인가? 서론 아마 프로그래머 분들이라면 한번 쯤 클린코드라는 책을 들어보셨을 것 같은데요, 클린 아키텍처 역시 마찬가지입니다. 오랜 기간 동안, 프로그래머로 일해오신 로버트 C. 마틴 작가님께서 쓰신 책입니다. 제가 알기론 반 세기(!?) 동안 프로그래머로 일하셨다고 해요. 정말 대단하지 않나요? 오늘 다뤄 볼 클린 아키텍처는 소프트웨어 설계 방법론으로 주로 웹이나 모바일 앱의 아키텍처로 자주 활용된다고 합니다. 단순히 프레임워크를 사용할 줄 아는 수준을 넘어, 저를 포함하여 조금 더 체계적이고 소프트웨어를 만들고 싶은 분들이라면 오늘 내용에 주의를 기울여보면 좋은 통찰을 얻어갈 수 있으시리라 생각합니다. 아키텍처? 왜 알아야할까. 소프트웨어 개발자로 일하다보면, 소프트웨어 아키텍처에 관한 이야기와 글들은 평소.. 기타 2021. 6. 24. 프론트엔드 면접 질문 정리 ⑤ TypeScript 질문 서론 오늘은 프론트엔드 개발에 화두 중 하나인 타입스크립트에 관한 인터뷰 질문들을 정리해보았습니다. 해당 글을 번역한 글이므로, 원문을 확인하고자 하시는 분들은 직접 방문하셔서 확인해보시길 추천드립니다. 본론 타입스크립트의 특징은 무엇인가요? 기준 TypeScript JavaScript 패러다임 객체 지향 언어 스크립트 언어 Typing Method 정적 타이핑 동적 타이핑 Module System 지원 미지원 Optional Parameters 지원 미지원 언어의 패러다임 : 물론 Tsc도 자바스크립트에 속한다. 그러나 Tsc는 클래스와 인터페이스 그리고 정적 타이핑을 제공하는 자바나 C#과 같은 객체 지향 프로그래밍 언어이기도 하다. 타이핑 방법 : 자바스크립트는 기본적으로 변수에 값이 할당될 때, .. Language/JS(Node.js) 2021. 5. 27. 프론트엔드 직무 면접장에서 받았던 질문 목록들 웹/네트워크 사용자가 웹 서버로부터 파일을 전송 받기까지의 과정을 설명해봐라. CSR과 전통적인 렌더링 방식/SSR과의 차이를 설명해봐라. HTTP Status code에 대한 설명을 해봐라. 401과 403의 차이점은? CSS Scss와 css-in-js 방식의 차이점 그리고 장/단점을 설명해봐라. JavaScript TypeScript를 써봤는지? 정적 타이핑과 동적 타이핑의 차이점을 이야기해봐라. 동기 프로그래밍과 비동기 프로그래밍의 차이는 무엇인가? 콜백 지옥을 들어봤는지? 콜백지옥의 해결 방법은 무엇인가? ES6 이상의 문법을 사용해봤는지? 여러 개의 비동기 응답을 한 번에 받도록 처리하려면 어떻게 해야 하는지? React/React Native SPA란 무엇인가? 기존 렌더링 방식과의 차이점은.. 기타 2021. 5. 18. [JavaScript 내장함수 다루기 ③] Array.Prototype.map, 배열의 원소를 1:1 매핑해보자. Array.Prototype.map arr.map(callback(currentValue, index, array), thisArg) 오늘 JavaScript 내장함수 다루기에서 다뤄볼 함수는 map 함수입니다. map 함수에 대해 알아보기에 앞서, 간단하게 map 함수를 사용해보겠습니다. map 함수 안에 콜백함수를 등록합니다. 콜백함수의 파라미터로 아무런 변수로 지정한 뒤, 이를 계산에 활용하여 return 합니다. const a = [1, 2, 3]; const doubled = a.map((num) => { return num * 2; }); console.log(a === doubled) // false // a = [1, 2, 3]; // doubled = [2, 4, 6]; map 함수가 동.. Language/JS(Node.js) 2021. 5. 17. 프론트엔드 면접 질문 정리 ③ CSS 질문 박스 모델에 대하여 설명해보세요 CSS에 포함되는 모든 요소의 외장은 박스이며 주어진 태그의 특성에 따라, 블록 박스와 인라인 박스로 나뉜다. 블록 박스의 대표적인 태그는 div이며, 인라인 박스의 대표적인 태그는 span이다. CSS box는 콘텐츠/패딩/테두리/여백 총 4가지 영역으로 구성되는데, 블록 박스는 해당 영역이 모두 적용되어 구성되며, 인라인 박스는 컨텐츠 영역만으로 구성된다. 또한 블록 박스는 줄바꿈이 일어나며, width와 height을 지정해줄 수 있고 padding/margin/border 영역이 적용된다. 인라인 박스는 세 특징들 모두 해당되지 않는다. padding은 border와 콘텐츠 영역 사이에 위치하며, margin은 박스 주변의 여백을 지정하며 border는 박스 여백과.. Web/CSS 2021. 5. 17. 프론트엔드 면접 질문 정리 ② JavaScript 질문 이벤트 위임이란? 이벤트 위임은 event bubbling을 활용해 이벤트 리스너를 하위 요소에 추가하는 대신 상위 요소에 추가하여, 이벤트 핸들러를 줄임으로써 메모리 사용을 줄이는 방법을 말한다. 이벤트 전파의 의미와 그 종류? 이벤트 전파란 여러 이벤트가 발생하는 순서를 정하는 방식을 말한다. 이는 HTML 태그가 중첩되어 있기 때문이며, 여러 태그에 각각 이벤트가 설정되어 있을 때(이게 중요하다! 만약 자식 태그에만 이벤트가 등록됐을 경우, 부모 태그는 무시하고 자식 태그의 이벤트만 발생될 것이기 때문임) 어떤 것부터 실행할지를 결정하는 것을 말한다. 종류는 이벤트 캡처링과 이벤트 버블링 2가지가 있다. 이벤트 버블링이란 하위 태그에서부터 상위 태그로 올라가는 것을 말한다. 기본적으로 설정된다. 이.. Language/JS(Node.js) 2021. 5. 14. [JavaScript 내장함수 다루기 ②] Array.Prototype.Filter, 조건에 부합하는 값만 반환한다. Array.Prototype.Filter(callback) Filter 함수는 자바스크립트를 쓸 때 자주 쓰이는 함수 중 하나로, 배열 원소들 중 일부 값을 추출해내기 위하여 사용한다. 사용방법은 filter의 매개변수로 callback 함수를 두되, 해당 함수는 return 값으로 true 혹은 false 값을 갖는 함수여야 한다. const objArr = [ { id: 1, data: "리액트 초급 배우기", checked: true, }, { id: 2, data: "리액트 중급 배우기", checked: true, }, { id: 3, data: "리액트 고급 배우기", checked: false, }, ] const filterdObjArr = objArr.filter((obj) => obj... Language/JS(Node.js) 2021. 5. 12. [JavaScript 객체 파헤치기 ①] Object.key(obj), 객체의 필드 값을 배열로 반환해준다 자바스크립트의 객체 다루기 그걸 알고 있었는가? 자바스크립트의 대부분의 요소들은(배열, 함수 등) 사실 객체다. 자바스크립트의 데이터 형식에는 Primitive Types(원시타입)와 Non Primitive Types(비원시타입)로 나뉜다. 전자는 string, number, null, boolean, undefined, symbol 총 6개가 속하고 후자는 functions, arrays and objects가 속하는데, 이들 역시 전부 객체로 간주된다. 이와 관련하여선 추후에 포스팅으로 설명하겠다. 만약 관심이 있는 사람은 해당 글을 참고하면 좋을 것이다. 객체란? '객체란 무엇인가'에 대해서는 이미 블로그에서 다룬 바 있다. 내용을 요약하면 객체란 각각 키(key)와 값(value).. Language/JS(Node.js) 2021. 5. 12. 이전 1 ··· 9 10 11 12 13 14 15 16 다음 반응형