반응형
let prices = {
  banana: 1,
  orange: 2,
  meat: 4,
};

let doublePrices = Object.fromEntries(
  // 객체를 배열로 변환해서 배열 전용 메서드인 map을 적용하고 fromEntries를 사용해 배열을 다시 객체로 되돌립니다.
  Object.entries(prices).map(([key, value]) => [key, value * 2])
);

alert(doublePrices.meat); // 8

//객체 > 배열
// 배열 > 객체 전환

      let list = {
            banana: {
              title: '서울 바나나',
              배송유무: true
            },
            orange: {
              title: '서울 오랜지',
              배송유무: false
            },
      };
      let 배송체크 = Object.fromEntries(
        // 객체를 배열로 변환해서 배열 전용 메서드인 map을 적용하고 
        // fromEntries를 사용해 배열을 다시 객체로 되돌립니다.
        Object.entries(list).map(([key, value]) => [key, value.배송유무])
      );

      console.log(배송체크); //{banana: true, orange: false}

자료구조를 언제쯤 검색 안하고 다룰수 있을까요~~~~~~~

 

 

https://ko.javascript.info/keys-values-entries

 

반응형
반응형

콜백 함수 이야기를 많이 듣는데 개념이 모호해서 정리

 

일반함수는 사용자가 직접 호출해서 사용한다

 

콜백함수는 콜백 함수를 등록해둔 코드가 실행되면서 호출된다. 말이 참.. ㅎㅎㅎ

 

app.get('/', (req,res) =>{
  res('hello');
});

간단한 노드.js 코드로 설명하면

 

get('/') 요청 응답후  두번째 인수로 등록된

(req,res) 함수를 부른다 

 

 

그냥 저냥 볼만했던 .. ㅠㅠ

반응형
반응형

해당 설정은

왼쪽 값이 undefined, null ,false 이면 오른쪽 값을 사용하라는 설정

ex)

const port = process.env.PORT || 8080;

이면
포트 설정 값이 따로 없으면 8080 으로 세팅 된다

오늘 팁 끝

대충 쌓아도 잘 타는 장작

반응형
반응형

node 개발 .. 삽질 기록 220623

 

code: 'ERR_HTTP_HEADERS_SENT'

 

 

res. 2개 이상 하면 세션도 날라가고 오류가 발생한다..

 

 

 

반응형
반응형

얍얍

<html>
    <head></head>
    
    <body>
        <div>
            <span id="num">5</span></div>
    </body>
    
    <script>
        // 1초 마다  1씩 차감
        let time = 5;
        var 타이머 = setInterval(얍,1000);

        function 얍(){

            if ( time >= 1 ) {
                time = time-1;
                document.querySelector('#num').innerHTML = time;
            }else{
                clearTimeout(타이머);
                // 이걸 안하면 타이머 계속 호출한다..흐음 ..
            }
            // 계속 호출 되는거 확인용 콘솔
            // console.log('ttttt') 
        }
    </script>
    
</html>

이거 왜 할때마다 헷갈리지 ㅎㅎ

 

 

반응형
반응형

body-parser 사용해야 한다

 

express 4.16부터는 body-parser를 포함 

 

그 이하는 직접 설치해야함 

 

4.16 이상이면 

 

app.use(express.json()) 선언후 사용하면 정상 출력

 

const express = require('express')
const app = express();
app.use(express.json())
app.post('/', (req, res) => {
  console.log(req.body)
})

Json 형식이라면

console.log('res' + JSON.stringify(req.body) )

// 여러 row라면
console.log('res' + JSON.stringify(req.body[0]) )

code 

반응형
반응형

 

require('./models');

 하위 스크립트 파일 모두 읽어온다

 

Class constructor model cannot be invoked without 'new'

 

아래 오류가 계속 발생함

 

삽 질

결국 app.js 에서  주석 처리 후 실행

으어어어

으어어 동작한다..

 

여러개 한번에 sync가 안되는건가..

 

한개씩 리콰이어 하면 정상적으로 테이블 생성 된다.

const models = require('./models/User');

 

// 테이블 생성    
db.sync()
    .then(  log =>  console.log('스키마 생성 성공 !!' + log ))
    .catch( err =>  console.log('스키마 생성 Error: '+ err) )

한방에 생성은 왜 안될까??

여하튼 해결..

반응형
반응형

node js
-express
-router
-sequelize

docker
   DB 설치
   docker run -p 5432:5432 -e   POSTGRES_PASSWORD=1234## -e   POSTGRES_USER=dev -e   POSTGRES_DB=DEVDB --name postgresCon -d postgres

   #프로세스 러닝 확인
   docker ps

   #postgresSql 서버 접속
   docker exec -i -t postgresCon bash

   # 유저 postgres 로 변경
   su - postgres

 

   # 변경 후 postgres cli 접속   

   psql --username dev --dbname DEVDB


   #DB 목록조회
   \l
   #테이블 조회
   \dt
   #postgresql 종료
   \q
   #docker 컨테이너에서 나가기
   exit

 POSTGRES CLI 확인



   postgresql 구성 종료
   https://055055.tistory.com/39

Nodejs 설치
   디렉토리 생성 후 ex) mkdir NodePrj

​   npm init
   
   ## 시퀄라이즈 cli 로 여러가지 기본 생성 진행 할수 있다 (글로벌)
   npm install -g sequelize-cli 

 

   sequelize init 
Created "config\config.json"
Successfully created models folder at "D:\nodePrj\models".
Successfully created migrations folder at "D:\nodePrj\migrations".
Successfully created seeders folder at "D:\nodePrj\seeders".

 

config.json

{
  "development": {
    "username": "root",
    "password": null,
    "database": "database_development",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false
  },
  "test": {
    "username": "root",
    "password": null,
    "database": "database_test",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false
  },
  "production": {
    "username": "root",
    "password": null,
    "database": "database_production",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false
  }
}




   ## 시퀄라이즈 ,포스트그레스 설치
   npm install sequelize pg --save

 

 완료 후 폴더 구조

기본 구조



   시퀄라이즈(sequelize)
    자바스크립트로 간단히 DB 제어가능하다
   ORM(Object-Relational Mapping) 이용
    객체와 관계형 데이터베이스의 관계를 매핑 해주는 도구
   Model Define
    Table의 Schema를 표현하는 수단
    모델을 정의한 이후에 실제로 올려 캐쉬하려면 import 해야된다.
    예)
    module.export = (sequlize, DataTypes) =>
       (
           sequelize.definde('user',{
                   email:{
                       type:DataTypes.STRING(40),
                       allowNull:false,
                       unique:true,
                   },
                   nick:{
                       type:DataTypes.STRING(15),
                       allowNull:false,
                   },
                   password:{
                       type:DataTypes.STRING(100),
                       allowNull:true,
                   },
                   provider:{
                       type:DataTypes.STRING(10),
                       allowNull:false,
                       defaultValue:'local',
                   },
                   snsId:{
                       type:DataTypes.STRING(30),
                       allowNull:true,
                   },
               },
               {
                   //테이블생성 후 자동으로 createdAt,updatedAt 컬럼생성
                   //생성된 시간과 수정된 시간 알수있다
                   timestamps: true,
                   // deletedAt 컬럼 생성
                   // 실제로 삭제하지 않고 삭제된 날짜가 deletedAt 추가
                   // find 작업해 deletedAt row 에 데이터가 있으면 제외 된다
                   // timestamps: true 일때만 사용가능
                   paranoid: true,
               }
           )
       );
​​

반응형
반응형

editLimit  항목이 -1 인데 고걸 풀어주면 됨 

 

반응형
반응형

this.dataSet 을 선택해야 함

dataSet 영역 동적(변수)처리 되어야함

var test ="db";
this.+test; ..안됨

변수 객체로
var test = {
 name = db
}
this.test.name; .. 안됨

eval("this."+test); ...잘됨

흐음

반응형

+ Recent posts