리눅스의 내장된 방화벽 규칙인 iptables

 

 

iptables 규칙 수정

$ vim /etc/init.d/iptables

 

iptables 시작 

$ sudo service iptables start

 

iptables 끄기

$ sudo service iptables stop

 

iptables 재시작:

$ sudo service iptables restart

 

 

 

참고:

http://cityattack.tistory.com/47

 

'Linux (Ubuntu based) > CentOS' 카테고리의 다른 글

crontab 리눅스 스케쥴러  (0) 2016.07.19

얼마전에 Typescript 2.0이 발표되었고 가장 큰 변화점이라고 하면 기존 typings 멸령어 대신에 아래와 같이 간편화가 되었다는 것이다.

이제 typings 로 하던 불편함을 npm 에서 바로 실행할수 있게되었다. 


기존이 아래와 같은 방식으로 설치했다면

typings install dt~mocha --global --save


이제 아래와 같은 식으로 설치 가능하다. 

npm install --save-dev @types/lodash

타입스크립트는 처음 설정이 까다롭지만 처음부터 타입스크립트로 개발하다보며 유지보수에 놀라운 효율을 발견하게 될것이다



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

Typescript 네임스페이스 알아보기  (1) 2021.10.12
Window 에 Typescript로 객체 추가하기  (0) 2016.09.21

예외처리를 하다보면 기본 내장된 예외말고 커스텀 익셉션으로 처리할일이 많이 있다. 

Python 에서 Exception 처리를 어떻게 하게 하면 좀더 명확한 메시지 저달을 위해 Exception 에 Dictionary 타입도 전달가능하다

만드는 방법은 매우 간단한다. Exception 을 상속받아서 만들면 끝. 예제코드를 보자

EX)

class FileNotFoundException(Exception):     pass 

위와 같이 선언한후 Exception 필요한부분에 사용하면된다 


try:

raise FileNotFoundException("에러 메시지")

excep FileNotFoundException as e:

print e

와 같이 하면 "에러 메시지" 가 출력된다. 



참고: 

http://stackoverflow.com/questions/1319615/proper-way-to-declare-custom-exceptions-in-modern-python

Jupyter notebook 에서 멀티 파이써 환경에서 동작하는 방법을 구글링을 통해서 알게되었다.


Anaconda 가 미리 설치되어 있는 환경에서 동작한다고 가정한다.



Python 2.7의 경우

conda create -n py27 python=2.7

source activate py27

conda install notebook ipykernel

ipython kernel install --user

configure the python3.5 environment:


Python 3.5의 경우

conda create -n py35 python=3.5

source activate py35

conda install notebook ipykernel

ipython kernel install --user



참고: 

http://stackoverflow.com/questions/30492623/using-both-python-2-x-and-python-3-x-in-ipython-notebook


파이썬으로 무언가 기록을 영구적으로 저장하고 싶을때 자주 쓰게 되는 것으로 ipython notebook 있었다.

Ipython 공식홈페이지에서도 볼수 있다시비 Ipython 은 여러기능을 통합적으로 제공하는 Jupyter 란 이름으로 변경되었는데 


Jupyter 노트북의 사용법에 대해 알아보자 


사용법은 아주 직관적으로 jupyter 패키지를 설치후 바로 이용하면된다. 


pypy 를 통해 jupyter 를 먼저 설치한다 


pip install jupyter


jupyter notebook 파일 이름


* 파이썬 패키지를 설치하다보면 원인 모를 이유에 의해 설치가 되지 않을때가 가끔있다. (컴파일러 및 운영체제 의존및 등등..) 

이럴때 Anaconda 혹은 Canopy 와 같은 vendor 들을 사용하면 패키지가 잘설치된다.

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

그때 기준으로 사용되는 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