본문 바로가기

728x90
반응형

Javascript/Node

(38)
[Node] File System 읽기와 쓰기(callback 방식과 async await 방식) callback 방식 'use strict' const fs = require('fs'); fs.readFile('test.txt', 'utf-8', (err, data) => { // 오류를 항상 먼저 핸들링 if(err) { console.log(err); return; } console.log(data); }); const content = 'something to write'; fs.writeFile('test.txt', content, err => { if(err) { console.log(err); return; } console.log('success'); }); callback 함수를 promise로 변경하여 파일을 읽고 쓰는 함수를 하나로 만듦 'use strict' const fs = ..
[Node] node.js에서 DNS 주소 확인하기 DNS란? DNS 또는 Domain Name System은 사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환 스마트폰이나 노트북부터 대규모 소매 웹 사이트의 콘텐츠를 서비스하는 서버에 이르기까지 인터넷상의 모든 컴퓨터는 숫자를 사용하여 서로를 찾고 통신합니다. 이러한 숫자를 IP 주소라고 합니다. 웹 브라우저를 열고 웹 사이트로 이동할 때는 긴 숫자를 기억해 입력할 필요가 없습니다. 그 대신 example.com과 같은 도메인 이름을 입력해도 원하는 웹 사이트로 갈 수 있습니다. 참조 : https://aws.amazon.com/ko/route53/what-is-dns/ DNS란 무엇입니까? – DNS 소개 - AWS ..
[Node] EventEmitter EventEmitter란? 특정 이벤트가 발생했을 때 일괄적으로 로직을, 즉 특정 코드들을 실행할 수 있도록 구조적으로 코드를 작성하는 방법을 말한다. 해당 예시는 어떠한 사이트에 새로운 유저가 들어왔을 때 특정 이벤트가 실행된다고 가정한 것이다. 자세한 설명은 이미지의 주석을 확인 'use Strict' const EventEmitter = require('events'); class ChatManager extends EventEmitter { } const chatManager = new ChatManager(); chatManager.on("join", () => { console.log("new user joined"); }) chatManager.emit("join");
[Node] Promist Chainging, Promist.all Promise Chaining은 여러 개의 프로미스를 then으로 연결해주는 것이다. 테스트할 js 파일을 만들고 아래 소스를 추가한다. 아래 소스는 setTimeout을 사용하여 1초 후에 p1의 text를 찍고 3초 후에 p2의 텍스트를 찍는 소스다. 병렬적으로 실행 된다. (p1 실행 후 3초 뒤가 아닌 처음 실행 기준에서 3초) const p1 = new Promise((resolve, reject) => { setTimeout( () => { resolve({ p1_text : "p1의 텍스트"}); }, 1000); }); const p2 = new Promise((resolve, reject) => { setTimeout( () => { resolve({ p2_text : "p2의 텍스트"}..
[Node] Promise 4callback, promise등을 사용하는 이유? 자세하게 설명하면 너무 복잡하고 어렵다. 본 포스트에서는 Promise를 사용하는 방법을 알려주는 예제입니다. Promise를 사용해야 하는 이유와 좀 더 심도 깊게 알고 싶은 분들은 구글링을 통하여 한 번 검색해 보시는 걸 추천드립니다. 본 포스트를 보시기에 앞서 동기화와, 비동기화에 대해서는 반드시 사전에 숙지가 되어 있어야합니다. 동기화 비동기화에 대해서 숙지하시지 못하신 분은 아래의 포스트를 먼저 보고 와주시기 바랍니다. developing-move.tistory.com/20 [Javascript] 동기/비동기 처리와 callback 동기와 비동기를 나누는 가장 큰 차이점을 어떻게 실행 순서를 가지는 지에 있다. 아래 이미지와 같이 Syncro..
[Node] npx란? npm과의 차이점 npm은 컴퓨터, 혹은 서버에 실제로 모듈을 설치를 하여 실행하는 방식 npx는 실제로 설치하지 않고 일회성으로 사용하는 것이 목적 npx를 사용하는 이유가 궁금하시면 아래 블로그 링크에서 확인해 보세요. 정리가 잘 되어 있습니다. geonlee.tistory.com/32 [npm] 🤔npx란 무엇인가? 🤔 npx란 무엇인가? 우리가 리액트를 처음 시작할 때, 프로젝트를 만드는 패키지인 create-react-app 이 있습니다. npx create-react-app my-app 여기서는 왜 npm이 아닌 npx를 사용하고 npx란 무엇일까요? 👨‍� geonlee.tistory.com npx 테스트를 위해 cowsay를 사용합니다. cowsay는 일종의 개발자들의 재미를 위한 툴로 n..
[Node] node Semantic Versioning node Semantic Versioning 이란? npm에서 채택하는 버전 관리 시스템으로 오픈소스에서 좀 더 체계적으로 버전을 관리하는 방법 https://docs.npmjs.com/about-semantic-versioning About semantic versioning | npm Documentation To keep the JavaScript ecosystem healthy, reliable, and secure, every time you make significant updates to an npm package you own, we recommend publishing a new version of the package with an updated version number in the ..
[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에 접속하여 삭제 버튼 클릭 삭제 후 조회

728x90
반응형