전세계를 타겟팅으로 하는 프로그램을 개발하다보면 각각의 지역별로 시간차이를 이용해서 로직을 작성할때가 있습니다.

그때 기준으로 사용되는 GMT 또는 UTC 를 브라우저 상에서 구하는 방법입니다. 

GMT 와 UTC 는 정확히는 다르지만 표현하는 시간대는 같다고 보시면 됩니다. 

Browser 상에서 new Date() 를 치면 GMT를 기준으로 시간대가 표시되는데 문자를 추출할수 있습니다. 

 

 

 

1. GMT 오프셋 구하기 

 

var offset = new Date().getTimezoneOffset();
console.log(offset);

출력: -540

 

시간 구하기 

offset / 60 

출력: -9

 

2. 현재 GMT 구하기

new Date().toString().match(/([A-Z]+[\+-][0-9]+)/)[1]
출력: GMT+0900

 

 

참고:

1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset

2. http://stackoverflow.com/questions/1091372/getting-the-clients-timezone-in-javascript

 

Hyper-V 와 VirtualBox 쉽게 변경하기 


VirtualBox 를 충돌없이 사용하기 위해서는 윈도우에서 내장된 가상 시뮬레이터 기능인 Hyper-V를 꺼야만 하는데


처음부터 윈도우즈 부팅메뉴에서 선택할수 있게 설정이 가능해서 소개한다 (역시 구글신)


간단하게 BCDEDIT 를 변경하여 하는 방법인데 아래 스크립트를 간단하게 복붙만하는 것으로 가능합니다. 


아래 명령어를 차레대로 설정하자



bcdedit /copy {current} /d "No Hyper-V" 

위 명령어를 실행하면 시리얼 넘버 비슷한 것이 나오는데 그걸 아래 명령어에 그대로 적용하도록 하자


bcdedit /set {serial-number} hypervisorlaunchtype off 





참고: 

1. http://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx

2. https://derekgusoff.wordpress.com/2012/09/05/run-hyper-v-and-virtualbox-on-the-same-machine/



'Tools' 카테고리의 다른 글

Scala IDE eclipse 맥에서 실행시 에러 현상  (0) 2016.11.18
Eclipse Java doc comment 자동생성 단축키  (0) 2016.06.30

공통으로 사용하는 파이썬 스크립트를 OS 별로 다르게 동작하는 로직을 집어넣야 하는 일이 생겨 파이썬 자체내에서 OS환경을 검사하는 #기능이 있나 검색을 해보니

역시 파이썬! 

내장 모듈인 platform 을 이용해서 검사한다. 

사용법은 아주 간단한다.

import platform

platform.platform() # 현재 OS에 정보

platform.system() # 현재 OS 이름

platform.release() # 현재 OS release 넘버

platform.version() # 현재 OS version 에 대한 정보

platform.machine() # 현재 OS 설치된 CPU 아키텍쳐 정보

# 맥용 함수

platform.mac_vers()

# 리눅스용 함수

platform.linux_distribution()

 

참고: 

1. https://docs.python.org/3/library/platform.html#platform.platform

2. http://stackoverflow.com/questions/110362/how-can-i-find-the-current-os-in-python

 

Typescript 는 기본적으로 파일안에 범위안에 선언되어 있지 않은 함수나 변수들에 대해서 컴파일 오류를 발생하게된다. 

브라우저관련으로 자바스크립트로 프로그래밍을 하다보면 간혹 전역으로 변수 혹은 함수를 공유할 경우가 생기는데

기존 자바스크립트는 window 객체에 추가혹은 전역 범위에 함수나 혹은 변수를 추가하면 내부적으로 자동으로 window객체에 추가되어

전역적으로 사용가능했으나 Typescript에서는 되지않았다.


interface Window { MyNamespace: any; }

window.MyNamespace = window.MyNamespace || {};

참고:

http://stackoverflow.com/questions/12709074/how-do-you-explicitly-set-a-new-property-on-window-in-typescript

기존 순수 자바스크립트 기본 코드 베이스에서 작성한 코드를 typescript로 import 시에 경로를 못찾는 현상이 일어나서 방법을 찾아보았다.
 

**최근 업데이트 (2021년)

tsconfig.json 에 아래 옵션을 추가하면 기존 JS 파일들을 ES module 방식에 따라 사용가능하다

{
  "compilerOptions": {
    "allowJs": true,
    "checkJs": false
  }
}

 

 

기존 모듈 a.js파일 같은 폴더안에 작성하 main.ts 에서 import 해서 사용한다고 할때 아래와 같은 방법으로 작성 가능하다.
// a.js
function hey() {
console.log("hey")
}
export { hey } 
main.ts
var moduleA = require('a경로');
moduleA.hey();
써드 파티 모듈들도 비슷한 방법들로 사용이 가능한데 더 typescript 답게 사용하는 방법들이 있다. 
이방법은 다음번에 알아보도록 하겠다. 
 
추가 참고: 
http://stackoverflow.com/questions/12763684/how-to-require-jquery-via-amd-in-typescript
 
참고: 

1. https://github.com/Microsoft/TypeScript/issues/2712

2. http://stackoverflow.com/questions/13013366/import-typescript-module-using-only-ambient-definition-for-use-in-amd

3. http://stackoverflow.com/questions/33525027/importing-js-file-into-typescript

4. http://stackoverflow.com/questions/27417107/how-use-an-external-non-typescript-library-from-typescript-without-d-ts

5. http://www.codebelt.com/typescript/typescript-amd-with-requirejs-tutorial/

 

'Front-End > Java Script' 카테고리의 다른 글

Webpack 유용한 플러그인 모음  (0) 2016.10.30
현재 브라우저의 UTC(UTC) 타임 구하기  (0) 2016.10.05
자바스크립트 모듈 번들러 (1) - webpack  (0) 2016.07.25
ES6 문법 Cheat Sheet  (0) 2016.04.21
JavaScript 객체  (0) 2014.11.06

+ Recent posts