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

기존 JavaScript 코드베이스를 TypeScript로 통합하기

기존 순수 JavaScript 코드베이스를 TypeScript로 옮길 때 발생할 수 있는 주요 문제 중 하나는 모듈 경로를 찾지 못하는 문제입니다. 이 문제를 해결하기 위해 설정 및 모듈 사용 방법에 대해 정리했습니다.


TypeScript 설정 추가

tsconfig.json에서 다음 두 옵션을 설정하여 기존 JavaScript 파일을 TypeScript 프로젝트에 포함할 수 있습니다.

{
  "compilerOptions": {
    "allowJs": true,  // JavaScript 파일을 포함
    "checkJs": false  // JavaScript 파일의 타입 검사 비활성화
  }
}

주요 효과

  • allowJs: TypeScript 프로젝트에 JavaScript 파일을 포함할 수 있습니다.
  • checkJs: JavaScript 파일에 대해 타입 검사를 하지 않습니다.

기존 모듈의 사용

만약 a.js 파일이 아래와 같이 정의되어 있다면:

a.js

function hey() {
    console.log("hey");
}
export { hey };

이를 TypeScript에서 사용하는 방법은 다음과 같습니다.

main.ts

1. ES 모듈 방식

import * as moduleA from './a'; // 또는 명시적으로 상대 경로 작성
moduleA.hey();

2. CommonJS 스타일

const moduleA = require('./a');
moduleA.hey();

더 TypeScript스러운 방법으로 사용하기

1. .d.ts 파일로 타입 정의 추가

JavaScript 모듈의 타입을 정의하면 TypeScript 코드에서 안전하게 사용할 수 있습니다.

a.d.ts

declare module './a' {
    export function hey(): void;
}

이렇게 하면 TypeScript는 a.js를 사용할 때 타입 정보를 제공합니다.


2. 타입 정의가 포함된 라이브러리 사용

써드파티 JavaScript 라이브러리를 사용할 때는 이미 제공된 타입 정의를 활용할 수 있습니다. 타입 정의는 @types/ 패키지를 통해 설치 가능합니다.

npm install --save-dev @types/library-name

이후 TypeScript에서 바로 타입 정보를 활용할 수 있습니다.


3. ES 모듈로 변환

기존 JavaScript 코드를 TypeScript와 자연스럽게 동작하도록 리팩토링할 수도 있습니다.

기존 JavaScript (a.js)

export function hey() {
    console.log("hey");
}

TypeScript에서 사용 (main.ts)

import { hey } from './a';
hey();

추가 참고 자료

  1. 공식 TypeScript 문서 - JavaScript 파일 포함하기
  2. TypeScript에서 JavaScript 모듈 사용하기
  3. TypeScript 공식 문서 - Declaration Files

마무리

위 방법들을 활용하면 기존 JavaScript 코드베이스를 TypeScript로 점진적으로 통합할 수 있습니다.
다음 단계로는:

  1. 타입 정의를 작성하거나
  2. @types 패키지를 활용해 써드파티 라이브러리를 더 TypeScript스럽게 사용할 수 있습니다.

'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

Image result for laravel

 

PHP 프레임워크계를 평정하고 있는 Laravel 

MVC 기반의 프레임 워크로 현재 많은 프로젝트들에 쓰이고 있다. 

 

 

 

라라벨 개발환경을 구성하는 방법은 두가지 방법이 있다.

 

 

1.  필요프로그램 설치

 

먼저 라라벨 개발환경이 미리 설정된 가상 머신 이미지 파일을 다운로드 받는 방법이 이다. 

 

A. https://www.vagrantup.com/ 에서 다운후 설치

 

 

B 가상 머신 설치 

 

vagrant 는 가상 에뮬레이터를 사용하므로 가상의 머신을 돌릴 에뮬레이터를 설치해야한다.

 

vmware 와  virtualbox 둘중에 선택하도록한다. 

 

virtualbox가 오픈소스이면서 무료이면서 이 글에서는 virtualbox를 사용한다. 

 

C. GIT 설치

 

git.org 에서 설치파일 다운로드 

 

Mac osx 같은 경우에는 brew 혹은 macports 를 이용해서 설치 가능

 

 

D. laravel/homestead 박스 추가 

 

설치를 완료했다면

 

vagrant box add laravel/homestead

 

2. 설정

 

MAC의 사용자 같은 경우는 terminal을 구동하고 

 

Windows 같은 경우는 방금 설치한 Git bash 를 활용해서 설치 

(Windows 10 같은 경우는 ubuntu bash 로도 가능) 

 

 

home folder로 가서 Homestead 파일을 다운받자

 

$ cd ~

 

$ git clone https://github.com/laravel/homestead.git Homestead

 

 

Homestead 폴더로 들어가서 초기 설정 파일 설치

 

bash init.sh 

 

명령어 실행후 .homestead 폴더가 생성된다. 

 

위부터 차근 차근 살펴보면

 

ip

memory

cpus: 

provider: 

 

Homestead.yaml 파일안에 아래 folders 항목이 있는 것을 볼수 있다.

 

folders:

    - map: ~/Code

      to: /home/vagrant/Code

folders 자신의 라라벨 파일이 있을곳의 document base 로 설정하자.

 

나중에 Code가 루트 폴더로 인식되어 

Code/public 에서 laravel 프로젝트의 public 역할을 한다. 

 

 

아래쪽을 

 

sites:

    - map: homestead.app

      to: /home/vagrant/Code/Laravel/public

 

 

hosts 파일 설정 ( 개발 컴퓨터에서 특정 주소를 칠경우 강제적으로 라우팅할수 있도록 해야한다 )

hosts 파일에 대한 자세한 내용은 여기를 참조

 

/etc/hosts

C:\Windows\System32\drivers\etc\hosts

 

 

192.168.10.10  homestead.app

 

 

가상환경에 연결할 ssh 키를 생성하자

 

ssh-keygen -t rsa -C "you@homestead"

 

ssh 키를 이용하여 homestead 환경에 접속해보자

 

Linux 환경이나 mac osx 환경에서는 이미 ssh 클라이언트가 설치되어 있을것이다.

 

Windows 에서는 putty 를 사용하자. 

 

 

참고:

1. https://laravel.com/docs/5.3/homestead

2. https://laravel.com/docs/5.3/installation

 

 

 

'PHP > Laravel' 카테고리의 다른 글

Laravel PHPStorm/Intelij Debugger 연결  (0) 2017.10.08

해당 div에 아래 항목을 추가


transform: translate(-50%, -50%);

[도서]고성능 파이썬

미샤 고렐릭,이안 오스발트 공저/김영근,오현석 공역
한빛미디어 | 2016년 08월

내용 편집/구성 구매하기

파이썬은 정말 느린가와 개선방법은? 이라는 질문을 했을때 어느정도의 답을 찾을수 있는 책인거 같습니다. 

저는 아직 파이썬을 현업에서 기본적인 시스템 프로그래밍 용도로만 사용하고 있기때문에 책안에 처음보는 파이썬 함수들을 알게되는 좋은 기회였습니다.  
내장 함수들에 대한 부차적인 설명이 없기때문에 저같이 초급 파이썬 프로그래머분들은 중간중간 검색을 하셔서 함수들의 동작방법들을 학습하셔야 예제 코드들을 이해 할수 있으리라 생각됩니다. 
중간중간 전혀 생소한 라이브러리들도 사용되는데 이부분은 일단 기억만 해두고 나중에  비슷한 문제를 해결할때 다시 참조하는 식으로 책을 봐야 좋은거 같습니다. 

예제파일들이 수학적인 계산으로 예제를 들었기때문에 처음에는 어리둥절할수 있습니다. 예제코드는 성능향상 현상을 보여주기위해 연산이 많은 작업을 임의로 만들었다 생각하시고 각각의 파일들의 출력을 어떻게 하는지 집중해서 보았습니다. 각각의 프로젝트마다 성능 병목 현상은 코드마다 다르므로 예제 코드와 같은 현상이 나리라는 보장은 없다고 생각합니다. 전체적인 그림을 잡고 나중에 어떻게 해결할까에 대한 참조가 되는거 같습니다. 

현재 일하는 환경에서 성능에 크게 좌지우지 되는 작업이 없어서 실제 적용하는 기회는 아직 없지만 나중에 파이썬의 생산성과 코드베이스를 유지하면서 코드의 속도를 업그레이드 싶을때 다시 참조할만한 책이라고 생각합니다. 

결론: 파이썬 초심자라면 이책은 아직 배울게 많지 않은 책이라고 생각합니다. 사실 중/고급자가 되어도 작업하고 있는 프로젝트에서 파이썬에 의한 성능 병목현상이 발생하지 않은 이상 이책을 볼일은 없지 않을까하는 사견을 덧붙입니다. 보통 성능이 필요한 곳은 책에서도 언급되어있다시피 C/C++ 로 해결하는 편인데 파이썬 코드베이스가 헤비한 환경이면 이 책을 고려해보면 아주 좋을거 같습니다. 

* 주의: windows 에서 예제를 실행하다보면 몇몇 패키지가 설치되지 않아서 (cython, scipy.. ) 갑작스런 삽질을 경험할수 있습니다. anaconda로 처음부터 설치하면 깔끔하게 해결됩니다. 


HTML에서 이미지 버튼을 수동으로 삽입하는 방법을 알아보겠습니다. CSS의 background-image 속성을 활용하여 버튼에 이미지를 추가할 수 있습니다.

 

예제 코드

 

HTML

1
<input type="button" value="Add a new row" class="button-add" />
cs

 

CSS

1
2
3
4
5
6
7
8
9
10
11
input.button-add {
    background-image: url(/images/buttons/add.png); /* 16px x 16px */
    background-color: transparent; /* make the button transparent */
    background-repeat: no-repeat;  /* make the background image appear only once */
    background-position: 0px 0px;  /* equivalent to 'top left' */
    border: none;           /* assuming we don't want any borders */
    cursor: pointer;        /* make the cursor like hovering over an <a> element */
    height: 16px;           /* make this the size of your image */
    padding-left: 16px;     /* make text start to the right of the image */
    vertical-align: middle; /* align the text vertically centered */
}
cs

 

 

설명

background-image: 버튼의 배경에 이미지를 삽입합니다.

background-color: 버튼 배경색을 투명하게 만들어 이미지가 선명하게 보이도록 합니다.

background-repeat: 배경 이미지가 반복되지 않도록 설정하여 이미지를 한 번만 표시합니다.

background-position: 배경 이미지의 위치를 조정합니다. 0 0은 좌상단을 의미합니다.

border: 버튼의 기본 테두리를 제거하여 깔끔한 디자인을 만듭니다.

cursor: 마우스 오버 시 포인터 커서로 변경하여 클릭 가능한 요소임을 나타냅니다.

height: 버튼의 높이를 이미지의 높이와 일치시켜 일관성을 유지합니다.

padding-left: 이미지와 텍스트 사이에 간격을 두어 가독성을 높입니다.

vertical-align: 텍스트를 수직으로 중앙 정렬하여 버튼 내부의 요소들이 균형 있게 배치되도록 합니다

 

추가 팁

 

이미지 크기 조정: 이미지의 크기에 맞게 heightpadding-left 값을 조정해야 합니다.

반응형 디자인: 다양한 화면 크기에 대응하려면 미디어 쿼리를 사용하여 스타일을 조정할 수 있습니다.

접근성 고려: aria-label 등을 사용하여 스크린 리더 사용자에게도 버튼의 기능을 명확히 전달합니다.

 

 

참고 자료

 

Stack Overflow: HTML/CSS - How to add image/icon to input type=“button”?

http://stackoverflow.com/questions/2920076/html-css-how-to-add-image-icon-to-input-type-button

Windows 기준:

1. 고 홈페이지 에 접속

https://golang.org/dl/에 가서 최신버전 MSI 설치파일 다운로드

2. GO의 경우 GOPATH라는 workspace 를 따로 설정해줘야 하므로 환경변수 설정을 해준다

 

 

Mac 기준:

1. Homebrew 사용시 

brew install go

# Gopath 설정
export GOPATH="의존성폴더위치"

 

참조자료:

https://golang.org/doc/install

Cordova로 갑작스럽게 Build 에러가 나서 원인을 찾지 못한채 삽질을 해보다가 검색을 해보니


Resource 파일명이 아스키코드가 아니면 나는 에러이다. 그림파일중 일부가 한글파일인 상태로 그대로이기때문에 일어나는 문제였다.



Error: cmd: Command failed with exit code 1 Error output:

FAILURE: Build failed with an exception.


* What went wrong:

Execution failed for task ':processDebugResources'.

> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\andsdk\build-tools\24.0.1\aapt.exe'' finished with non-zero exit value 1


* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


파일명을 한글에서 영문으로 바꾸어주니 잘해결되었다. 


참고: 

http://stackoverflow.com/questions/38690348/ionic-build-failed-find-the-line-where-the-error-occurs

+ Recent posts