전체 글

프론트엔드 개발자가 되고픈 개미의 일대기 🐜
프론트엔드/React

3. React Router (리액트 라우터)

오늘 배운 것은 리액트 라우터!! 사실 JSX에 익숙해지기도 전에 벌써 페이지 이동을...?? 나 이래도 되는걸까..? 지금까지 앞에서 JSX를 쓰는법과, 구조를 나눠서 작성하는 컴포넌트까지 배웠다. 이제 그 컴포넌트들을 연결해서 페이지 이동을 시켜봐야 하지않겠나!?? 🔗 라우팅..?? 샤우팅은 알아도 라우팅은 뭐야... 누가 나에게 라우팅이 뭐야?? 라고 물었을 때 나는 이렇게 대답할 것 같다. 사용자가 요청을 한 URL에 따라 해당 URL에 맞는 페이지를 보여주는 것 리액트 라우터는 라우팅을 하기 위한 사용도구!! 라고 생각 일단, 라우팅이 왜 필요한지 알아야 쓰지... 그걸 알기 위해서는 SPA에 대해 알아야한다. 리액트는 SPA (Single Page Application)이다. 싱글 페이지 어플..

코테/데일리 코딩

6. 데일리 코딩

문제 : 문자열을 입력받아 해당 문자열에 등장하는 두 칸의 공백을 모두 한 칸의 공백으로 바꾼 문자열을 리턴해야 합니다. 입력 : string 타입의 문자열 출력 : string 타입의 문자열 주의사항 : 두 칸을 초과하는 공백은 존재하지 않는다고 가정합니다. 입출력 예시 : 풀이 : 나만의 해설: 정규식을 활용하여 풀었다. 정규식을 크게 풀어보면, 문자열의 시작부분에 있는 하나 이상 또는, 두개 이상의 연속 공백를 대체하는 단일 공백 문자 (" ") 를 주었다. 자세하게 정규식을 뜯어보면, ^\s+ : 문자열의 시작 부분에 하나 이상의 공백 문자를 찾습니다. \s{2,} : \s는 모든 공백 문자를 나타내며, {2,}는 연속으로 두번 이상의 공백을 나타낸다. 이것들을 마지막에 " " 를 통하여 단일 공..

프론트엔드/React

2. React 컴포넌트

React포스팅 중 첫번째 포스팅인 jsx문법을 마치고 문법을 알았다면! 그다음에 아주아주 중요한!! 컴포넌트에 대해 써보자! 리액트로 만들어진 웹사이트 및 화면은 컴포넌트로 구성이 되어있기 때문에 리액트를 쓴다?? 하면 엄청나게 중요하다. 빡세게 기초부터 공부해두자!! 알아야쓰지... 리액트 컴포넌트가 뭐야?? 그쵸?? 알아야 쓰든가말든가 하죠 한번 알아봅시다!! 리액트 컴포넌트는 역할도 많고 이점이 상당히 많은 친구다 뭐... 한마디로 정해보면 리액트의 핵심 빌딩 블록중 하나 즉, 리액트에서 개발한 모든 애플리케이션은 컴포넌트라는 조각으로 구성이 된다. 그런 컴포넌트로 UI구축 작업을 훨씬 쉽게 만듬. 그리고, "props"라는 임의의 입력을 받고 화면에 어떻게 표시되는지 기술하는 리액트 엘리먼트를 ..

프론트엔드/React

1. JSX 문법

첫 리액트 포스팅은 !! React에서 사용하는 문법 JSX에 대해 쓰려고 한다. 바로 본론으로~ ⭐️ JSX가 뭘까?? JSX(Javascript XML)는 Javascript에 XML을 추가한 확장문법. JSX는 리액트로 프로젝트 개발할 때 사용되므로 공식적인 Javascript 문법은 아님. 브라우저는 Javascript형태의 코드를 읽기 때문에, 브라우저에서 실행하기 전에 바벨을 사용하여 JS 형태의 코드로 변환. JSX는 하나의 파일에 JS와 HTML 동시 작성. 위의 이유 때문에 가독성이 높고 작성이 쉬움. 🖋️ 그럼 JSX를 어떻게쓰는거야?? (문법) JSX는 기본 규칙이 존재한다. 어떤게 있는지 살펴보자! 1. 구성요소에서 여러 요소를 반환하려면 단일 상위 태그로 요소를 래핑해야함. 쉽게 ..

코테/koans, 코플릿, sprint

5. React Twittler Intro 풀이

오늘은 리액트를 시작하는 날이였다 하지만 첫날부터 이런 고비가...?? 이거 jsx 뭐야..?? 왜이래? 내가했던 HTML, JS 어디감...?? 여튼 이번 과제는 이름, 사진, 내용 등등이 들어있는 데이터 더미가 주어지고 이 데이터 더미에서 내용을 뽑아와서 구현해보는 과제를 풀었다. 처음에 딱 app.js 보자마자 든생각은 이걸 뭐 어쩌라고??? 어떡하라고 하지만 마음을 다잡고 다시 이해해보니 오?? 이렇게하는건가? 하나씩 맞춰가다보니 생각보다 간단했다. 완성된 브라우저는 다음과 같이 된다. 1. import로 모듈 불러오기 먼저 import 를 통해 export로 내보낸 모듈을 가져온다. 2. Sidebar 컴포넌트 구성 Sidebar 컴포넌트는 위의 브라우저 사진에서 왼쪽 빨간색 사이드바의 컴포넌트..

카테고리 없음

5. 데일리 코딩

문제 : 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 각 배열을 이용해 만든 객체를 리턴해야함. 입력 : 배열을 요소로 갖는 배열 arr[i] 는 string 타입을 요소로 갖는 배열 arr[i].length 는 0 또는 2 출력 : arr[i] 의 첫번째 요소를 키, 두번째 요소를 값으로 하는 객체를 리턴해야 함. 주의사항 : 중복되는 키의 경우, 초기의 값을 사용합니다. 빈 배열을 입력받은 경우, 빈 객체를 리턴해야 합니다. arr[i]의 길이가 0인 경우, 무시합니다. 입출력 예시 : 풀이 : 나만의 해설: 리턴을 객체로 해야하니까 먼저 result에 빈객체를 만들어주었다. 2차원 배열들을 하나하나 돌면서 값을 받아와서 객체의 키와 값으로 만들어줘야 하니까 for문을 사용하여 2차원 배열들을 ..

코테/koans, 코플릿, sprint

4. fetch를 이용한 데이터 요청, 응답

오늘 진행했던, fetch를 이용하여 HTTP 요청을 보내고, 응답을 받는 연습을 정리해볼겸 포스팅하려고 한다. fetch에 대해서는 제대로된 정리글을 다시 포스팅할 것이기 때문에 문제 위주로 적으려고 합니다. 먼저, 간단하게 fetch가 뭐야...?? fetch API 는 Promise 기반으로 구성된 비동기 처리 프로그래밍에 잘 맞는 형태인 기능이다. 그래서, then이나 catch와 같은 체이닝으로 작성할 수 있는 장점이 있다. 또한, JS 기본기능이기 때문에 CDN과 같은 다른 작업 없이도 바로 사용할 수 있다. 기본 문법을 보면, fetch("여기에 URL 입력") .then(response=>response.text()) .then((text)=>{ 요청 끝나고 할일 }) 위의 문법으로 아래처..

코테/데일리 코딩

4. 데일리 코딩

문제 : 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다. 입력 : string 타입의 공백이 있는 알파벳 문자열 출력 : string 타입을 리턴해야 합니다 주의사항 : 단어는 공백으로 구분합니다. 연속된 공백이 존재할 수 있습니다. 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 입출력 예시 : 풀이 : 나만의 해설: 처음에 생각했던건, 문자열 str을 찢어보려고 하였다. 그래서 split 메서드를 생각했다가, 그렇게 되면 다음 단어의 기준점을 못잡을 것 같아서 replace에 정규식을 주어서 안의 정규식에 해당하는 부분을 변경할 수 있었다. 정규식을 해석해보면, \b 를 통해 문자의 경계선을 찾았고, g는 일치하는 패턴을 모두 변경하라는 의미이기..

코테/koans, 코플릿, sprint

3. fs모듈을 활용하여 비동기 처리(callback, Promise)

브라우저는 자바스크립트를 해석하고, 실행할 수 있는 자바스크립트 엔진을 내장하고 있음. 또한, Node.js도 자바스크립트 엔진을 내장하고 있음. 따라서 자바스크립트는 브라우저 환경 또는 Node.js 환경에서 실행 가능 하지만, 브라우저와 Node.js는 용도가 다르다!! 브라우저 Node.js 자바스크립트를 해석하고 실행할 수 있는 자바스크립트 엔진을 내장, ECMAScript 를 실행가능(몇몇 기능은 호환 X) HTML, CSS, Javascript를 실행하여 웹페이지를 브라우저 화면에 랜더링 하는 것이 주 목적 브라우저 외부에서 자바스크립트 실행 환경을 제공해주는 것이 주 목적 파싱된 HTML 요소를 선택하거나 조작하는 기능의 집합인 DOM API를 기본적으로 제공 DOM API 을 제공하지 않음..

코테/데일리 코딩

3. 데일리 코딩

문제 : 문자열을 입력받아 순서가 뒤집힌 문자열을 리턴 입력 : string 타입의 문자열 출력 : string 타입을 리턴해야 합니다 주의사항 : 입출력 예시 : 풀이 : 나만의 해설: 첫 풀이는 3가지의 메서드를 사용하여 풀어보았다. String.prototype.split(), Array.prototype.reverse(), Array.prototype.join() split() 메서드를 사용하여 부분 문자열로 구분하여, 문자열 객체를 여러개의 문자열로 이루어진 배열로 분할. let splitString = str.split(""); // str = "hello" 이라면, // 결과 : ["h", "e", "l", "l", "o"] reverse() 메서드를 사용하여 배열을 반전. let rever..

plla2
코린이 "개미"의 개발블로그