본문 바로가기

728x90
반응형

Javascript

(133)
[Javascript] Set 자료 구조 Set 의 특징 중복되지 않고 한 개의 데이터만을 수집하고 싶을 때 사용 Set은 중복되지 않는 자료 구조이며, add를 이용하여 데이터를 입력한다. 자료구조에 데이터가 중복으로 들어와도 한 번만 입력이 된다. Has라는 메소드를 사용하여 해당 자료 안에 특정 값이 존재하는 지 확인할 수 있다. 예시 소스 'use strict' // set의 자료 구조로 test를 생성 const test = new Set(); // 중복된 데이터 입력 test.add(1); test.add(1); test.add(2); test.add(2); test.add(3); // set의 입력된 구조 확인 // test에 있는 자료들을 하나하나 검색 for(const item of test) { // 데이터가 중복되지 않고 나..
[Javascript] Object.assign, spread 먼저 Assign은 할당이라는 뜻으로 object에 할당하는 것이다. 새로운 객체를 생성하기도 하고 두 개의 객체를 합쳐 통합하기도 한다. 예시 소스 'use strict' const obj = { title : 'node.js 올인원 패키지' } const newObj = { name : '패스트 캠퍼스' } // 하나로 합치기 // Object는 글로벌 메소드이기 때문에 바로 호출 없이 사용 가능 // 새로운 객체를 통합해서 사용 const ret = Object.assign({}, obj, newObj); console.log(ret); Spread 또한 기존의 객체에 새로운 객체를 합치는 역할을 한다. Spread만의 특징은 객체 뿐만 아니라 배열에서도 활용이 가능하다. 'use strict' c..
[Javascript] find, includes find는 이전 포스트에서 findIndex 등과 다룬적이 있습니다. 본 포스트와 같이 보시면 좋을 것 같습니다. developing-move.tistory.com/11 Javascript 배열 내장 함수 정리(indexOf, findIndex, find) indexOf는 내가 원하는 텍스트 위치를 알려준다. const animals = ['호랑이', '사자', '사슴', '토끼', '거북이']; const index = animals.indexOf('사자'); console.log('사자의 위치는 : ' + index); 하지만 i.. developing-move.tistory.com Find는 설정된 배열의 특정한 요소를 찾는다. Find는 조건을 통해 특정 값을 가져올 필요가 있을 때 주로 사용한다..
[Javascript] Every every는 ES6부터 지원하는 문법으로 특정 배열이 어떤 조건에 대해서 모두 만족하는 지를 체크한다. every는 다양한 용도로 활용이 가능한데 백엔드 뿐만 아니라 프론트엔드에서도 페이지 랜더링을 할 때 설정한 모든 조건이 만족하는 것을 체크하는 것 등에 쓰일 수 있다. 예를 들어 UI 페이지를 만들었을 때 회원 가입디 외어있고, 로그인을 했고 회원이 추천코드를 받았을 때만 보여주는 화면을 만든다고 하면 여러번의 if문 처리가 필요하다. 이럴 때 every를 쓰면 간단하게 표현할 수 있다. 예시 소스 'use strict' // 1보다 큰 수만 모아 놓은 배열 생성 const arr = [2, 3, 4]; const isBiggetThanOne = arr.every(key => key > 1); con..
[node] Sequelize에서의 DB 삭제 index.js에 라우팅 생성 router.get('/products/delete/:id', ctrl.get_products_delete); admin.ctrl.js에 삭제 로직 추가 exports.get_products_delete = ( req , res ) => { models.Products.destroy({ where: { id: req.params.id } }).then( () => { res.redirect('/admin/products'); }); }; products.html에 button과 url 맵핑 삭제 url에 접속하여 삭제 버튼 클릭 삭제 후 조회
[node] Sequelize에서의 DB 수정 수정을 하기 위해선 수정할 데이터를 먼저 화면에 불러오는 작업이 필요하다. 즉 수정하기 버튼을 눌렀을 때 기존 데이터를 input 박스에 꽂아줘야 한다. 이 과정을 위해서 먼저 조회 로직을 추가한다. controller(controllers/admin/index.js)에 url을 지정한다. router.get('/products/edit/:id', ctrl.get_products_edit); admin.ctrl.js에 아래 소스를 추가한다. // 수정할 때 write.html의 폼을 재활용한다. // 수정을 누르면 해당하는 데이터가 조회된 후에 수정 작업을 해야하기 때문 exports.get_products_edit = (req, res) => { models.Products.findByPk(req.pa..
[node] 상세페이지 보기(findByPk로 DB 조회하기) 링크를 연결할 html(products.html) 파일에 a 태그를 추가하여 해당 url로 이동할 수 있게 한다. {{ product.name }} admin의 index.js로 가서 url을 생성한다. router.get('/products/detail/:id', ctrl.get_products_detail ) controller(admin.ctrl.js)로 이동하여 아래 소스를 추가한다. template/admin 폴더에 detail.html을 생성하고 아래의 소스 코드를 추가한다. {% set title = "관리자 : 상세페이지" %} {% extends "layout/base.html" %} {% block content -%} {{ product.name }} 작성일 : {{ product.d..
[node] Moment.js 적용 moment.js를 인스톨한다. 날짜형식을 지정할 js파일(Products.js)에 moment 관련 아래 소스를 추가한다. const moment = require('moment'); Products.prototype.dateFormat = (date) => ( //return 생략 moment(date).format('YYYY-MM-DD') ); 화면에 뿌려주는 html파일(products.html)에서 해당 함수를 불러 사용한다. {{ product.dateFormat( product.createdAt ) }} 지정한 날짜 형식으로 출력된다.

728x90
반응형