김보안의 블로깅
  • 🏠 Home
  • 📚 Project
    • Blockchain
      • 🎦 PickMe
      • 🎦 IoTC
      • 🎦 Blackchain
      • 📃 Gemology
      • 🎦 PickMe
      • 🎦 PickMe
    • AI
      • 👋 A.I. Dream Reader
      • 🎦 A.I. Dream Reader
    • Security
      • 🎦 SNAC
    • Education
      • 🎦 Smart Lecture
  • 🤸‍♂ Hobby
    • Music
      • Violin
      • Guitar
      • Piano
      • Drum
    • Flower
      • Flower Certificate
    • Sport
      • Ski
      • Skateboard
      • Golf
      • Boxing

2021년 4월 28일 수요일

Node에서 Object에 분명 다른 값을 넣었는데 이상한 값이 들어가 있다!

 SecureKim     오전 2:33     address, debugging, Node.js, reference     No comments   

node에서 시간 많이 쓰는 버그 TOP 3에 드는 것으로,

아래와 같이 만들어 둔 object를 대입해서 초기화 해 버리면 같은 주소를 참조하기 때문에 

예상치 못한 결과를 유도하게 된다. 

이것에 항상 유의하도록 하고, KEY_C나 KEY_D를 만든 방법으로 초기화 하도록 한다.

//////////REFERENCE TESTER //////////

let _OBJECT = {}

function my_object(value){
    this.value = value;
}

function objectTester(){
    let object = {value : 0};
    //////////// 초기화
    _OBJECT["KEY_A"] = object;
    _OBJECT["KEY_B"] = object;
    _OBJECT["KEY_C"] = {value : 0};
    _OBJECT["KEY_D"] = new my_object(0);
    console.log(_OBJECT);
    /* 실행 결과
    { KEY_A: { value: 0 }, KEY_B: { value: 0 } }
    */
    
    /////////// 값 대입
    _OBJECT["KEY_A"].value = 1
    _OBJECT["KEY_B"].value = 2
    _OBJECT["KEY_C"].value = 3
    _OBJECT["KEY_D"].value = 4

    console.log(_OBJECT);
    /* 실행 결과
    { KEY_A: { value: 2 }, KEY_B: { value: 2 } }
    */
}

objectTester();
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg

2021년 4월 17일 토요일

Node에서 Date의 toLocaleString 이후 Date.parse가 동작하지 않을 때.

 SecureKim     오전 12:17     Javascript, Node.js, timestamp     No comments   


단순히 new Date().toLocaleString() 을 하게 되면


리눅스에서는 

4/17/2021, 12:00:08 AM


윈도우에서는

2021. 4. 17. 오전 12:00:08

이런식으로 시간이 뜨게 되는데,


문제는 윈도의 방식은 Date 객체 함수들(getMinutes 등등)과 호환이 안된다는 점이다.

시간차를 계산하려고 Date.parse를 사용하면 NAN 이 뜨게 된다.


따라서 

new Date().toLocaleString('en', {timeZone: "Asia/Seoul"})

를 사용하도록 하자.


Date.parse(new Date().toLocaleString('en', {timeZone: "Asia/Seoul"}))

1618585705000


Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
최근 게시물 이전 게시물 홈

페이지

  • 홈
  • Hobby

Categories

  • AI
  • android
  • AWS
  • Blockchain
  • Hardware
  • Javascript
  • mysql
  • Node.js
  • Plasma
  • review
  • Security
  • Study
  • Video
  • windows

Popular Posts

  • 블랙보드 강의 녹화 영상 다운로드 가능한 방법 (노설치)
    별도의 설치도 필요 없고 아주 쉽습니다. 구글 크롬브라우저 에서 블랙보드 녹화 영상에  다운로드 가능한 메뉴가 나오게 하는 코드입니다.  먼저 블랙보드 강의자료에 입장하고, 재생 버튼을 클릭 하지 않은 상태로 F12 를 입력합니다. 재생을 클릭하지 마세요.
  • [Node.js] Redis 의 hmset
    Redis 의 hmset 사용하기 var redis = require('redis'); var client=redis.createClient(포트,호스트,null); /* * MySQL을 사용하다가 Redis를 사용해보니 신세...
  • 안드로이드 음성 소켓 통신 (2월 단기)
    안드로이드-음성을 패킷화 하여 P2P 소켓 통신. 처음엔 TCP로 구현했었는데 서버 과부하를 줄일 수 있도록 P2P로 구현하겠노라 큰소리 쳤습니다. P2P는 홀펀칭이 필요하며 따라서 TCP로는 어렵다는 것을 알게 되었죠. 각 단말...

Blog Archive

  • ►  2023 (1)
    • ►  1월 (1)
  • ►  2022 (10)
    • ►  12월 (1)
    • ►  11월 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  6월 (2)
    • ►  3월 (2)
  • ▼  2021 (9)
    • ►  12월 (3)
    • ►  11월 (1)
    • ►  6월 (1)
    • ►  5월 (2)
    • ▼  4월 (2)
      • Node에서 Object에 분명 다른 값을 넣었는데 이상한 값이 들어가 있다!
      • Node에서 Date의 toLocaleString 이후 Date.parse가 동작하지 않을 때.
  • ►  2020 (12)
    • ►  10월 (1)
    • ►  9월 (2)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (5)
    • ►  4월 (1)
    • ►  2월 (1)
  • ►  2019 (14)
    • ►  10월 (2)
    • ►  7월 (1)
    • ►  3월 (4)
    • ►  2월 (2)
    • ►  1월 (5)
  • ►  2018 (14)
    • ►  12월 (2)
    • ►  11월 (4)
    • ►  10월 (1)
    • ►  8월 (2)
    • ►  5월 (4)
    • ►  1월 (1)
  • ►  2017 (12)
    • ►  10월 (2)
    • ►  9월 (9)
    • ►  5월 (1)
  • ►  2016 (8)
    • ►  10월 (2)
    • ►  8월 (1)
    • ►  6월 (1)
    • ►  1월 (4)
  • ►  2015 (6)
    • ►  12월 (3)
    • ►  10월 (1)
    • ►  6월 (1)
    • ►  5월 (1)
  • ►  2014 (10)
    • ►  11월 (1)
    • ►  9월 (1)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (3)
    • ►  4월 (1)
    • ►  3월 (2)
  • ►  2013 (28)
    • ►  12월 (3)
    • ►  11월 (6)
    • ►  10월 (6)
    • ►  9월 (6)
    • ►  8월 (1)
    • ►  7월 (3)
    • ►  6월 (3)

구독

글
Atom
글
전체 댓글
Atom
전체 댓글

로드 중입니다...

각오

직접 해보지 않은 것은 포스팅 하지 않겠습니다.

Copyright © 김보안의 블로깅 | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates