1..map() 모든 배열 요소에 적용할 때 forEach 보다 간단하게 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/map Array.prototype.map() - JavaScript | MDN map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. developer.mozilla.org const array1 = [1, 4, 9, 16]; // Pass a function to map const map1 = array1.map((x) => x * 2); console.log(map1); // Expected output: Array [..
전체보기
1. .replace() 특정 문자를 대체할 때 "aabbccbb".replace("b", "."); // 'aa.bccbb' 2. .replaceAll() .replace와 달리 전체를 대체 할 때 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll String.prototype.replaceAll() - JavaScript | MDN replaceAll() 메서드는 pattern의 모든 일치 항목이 replacement로 대체된 새 문자열을 반환합니다. pattern은 문자열 또는 RegExp일 수 있으며 replacement는 각 일치 항목에 대해 호출되는 문자열 또는 함수일 de..
1. .split() 문자열을 쪼개고 싶을 때 사용 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/split String.prototype.split() - JavaScript | MDN split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다. developer.mozilla.org split(); split(separator); split(separator, limit); function solution(s) { // s = '4 6 2 5' const arr = s.split(' ').map(Number); // .map(Number) 숫자 배열 const..
두산베어스 선수 정보 프로젝트 제작중 naver API를 이용한 news 호출시 CORS 에러가 발생하였다. 이번엔 Node.js 백엔드를 추가하여 CORS 에러를 해결해 보았다. https://github.com/yeonhub/PP-doosan_bears_node GitHub - yeonhub/PP-doosan_bears_node: [개인 프로젝트] 두산 베어스 선수 정보 (Node.js) [개인 프로젝트] 두산 베어스 선수 정보 (Node.js). Contribute to yeonhub/PP-doosan_bears_node development by creating an account on GitHub. github.com 1) CORS 에러 서로간의 공유(CORS) 원격 소스 공유 (Cross-Or..
오늘은 MySQL을 연결하여 db를 업데이트, 관리하는 것을 배웠다. 결국 동적 서버에 업로드하고 실시간으로 데이터를 주고받으려면 sql이 필요하기 때문에 서버에 올리기 전에 로컬에서 사용법을 배웠다. 1) SQL db 생성 MySQL에서 database와 초기 데이터 출력을 위한 table을 생성했다. create database todo; use todo; create table todos ( id int primary key auto_increment, text varchar(100) not null , isChk boolean not null ); insert into todos (id, text, isChk ) value (1,'친구만나기', true), (2,'점심먹기',false), (3,'..
회원가입 시 기능들을 소개해 주는 팝업창을 추가했다. 요구사항 1) 팝업 형식으로 배경 처리 2) 좌우로 스와이프 3) 마지막 페이지 넘길 시 홈화면 오늘하날의 회원이 되신걸 환영합니다! 여러가지 기능들을 알려드릴게요. { dispatch(offJoin()) } } > 다른 회원님들의 오늘 하날을 볼 수 있어요! 마음에 드는 하날에 좋아요를 누르고 댓글도 달아보세요. 홈 화면에 사용법 팝업을 위한 background와 swiper를 추가했다. 회원가입 시 onJoin변수가 true로 바뀌게 되고 todays로 navigate 됨과 동시에 팝업이 뜨게 된다. { dispatch(offJoin()) } } > swiper 옵션에 onReachEnd(마지막 페이지 swiper시) onJoin변수를 false로..
node를 이용해 backend의 구조를 설계할 때 어제처럼 index.js에 모두 넣는 것보다 나누어 설계하는 것이 유지보수, 관리하기에 유용하다. 따라서 어제 만들었던 Todo 예제를 MVC 디자인 패턴을 적용하여 총 3개의 폴더를 추가로 만들 것이다. 1) index node express에 기본 내장된 Router 기능을 이용하기 위해 index 코드를 수정해야 한다. app.get('/todos', (req, res) => { res.send(todos) }) app.delete('/todos/:id', (req, res) => { todos = todos.filter(item => item.id !== Number(req.params.id)) res.send(todos) }) app.post(..
params Todo 예제 1) params node에서 서버에 요청을 보낼 때 매개변수를 같이 보낼 수 있다. 아래 코드를 보면 data에 총 5개의 객체가 있고, 3000/language엔 모든 data가 출력된다. const express = require('express'); const app = express(); const port = 3000; app.use(express.json()); const data = [ { id: 1, name: 'vanillascript', price: 100, desc: '바닐라 스크립트', imgurl: '/images/img1.jpg' }, { id: 2, name: 'node', price: 200, desc: '노드', imgurl: '/images/i..
정보처리산업기사, 데이터베이스 과목을 공부하면서 배웠던 정규화를 실무에서 어떻게 적용시키는지 배웠다. 1) 정규화 정의 데이터베이스 정규화는 데이터 중복을 제거하는 과정이다. 이를 통해서 이상현상을 방지하고 데이터의 유지 보수성을 향상할 수 있다. 2) 1NF (1차 정규화) 1차 정규화는 열에 하나의 값만 들어가게 분리하는 것이다. 3) 2NF (2차 정규화) 1차 정규화가 끝난 뒤 주요키(기본키)가 2개 이상 존재하지 않게 분리하는 것이다. 4) 3NF (3차 정규화) 학생 테이블에 과목코드, 담당 교수는 과목 테이블에 있어야 할 내용들이다. 따라서 아래와 같이 기본키가 될 수 있는 과목을 기준으로 하나의 테이블을 더 만들어 분리한다.