:::: MENU ::::
Browsing posts in: Tip

맥 ISO 이미지를 부팅용 USB로 복사하기

ISO파일을 img파일로 변환

hdiutil convert -format UDRW -o OSX-Mavericks.img OSX-Mavericks.iso

OS X 는 자동적으로 확장자를 .dmg 로 한다. 즉 OSX-Mavericks.img.dmg

diskutil list를 실행하여 USB 메모리 스틱이 어떤 디바이스에 할당됐는지 확인하고 다음과 같이 unmount를 한다.

diskutil unmountDisk /dev/disk2

디스크 이미지를 복사

sudo dd if=OSX-Mavericks.img of=/dev/rdisk2 bs=1m

Disk Utility.app’ 를 실행하여 드라이버를 unmount

diskutil eject /dev/disk2 를 실행하고 USB 메모리 스틱을 물리적으로 분리

*위 글에서 OSX-Mavericks.iso가 맥용 이미지 파일이고, USB 메모리 스틱은 /dev/disk2에 있다고 가정


Eagle CAD tip

1. Commnad Line 활용

Schematic Editor
Tool Name Command
Add element a,ad,add
Net ne,Net
Move Mov,move
Copy Cop,copy
Name n,na,nam,name
Value v,va,value
Label l,la,lab,labe,label
Text T,tex,text
Board Editor
Tool Name  Command 
Route rou,rout,route
Ripup ri,rip,ripu,ripup
Via Vi,via
Ratsnest r,ra,rat,rasts,ratsn,ratsne,ratsnest

2. Show 명령어: ex) Show R*

라우팅시 오른쪽 마우스 클릭 – 와이어 꺽이는 스타일 변경

3. 라우팅시 가운데 스크롤 휠 클릭 – 레이어변경

4. Ratsnest시 좌측 하단에 라우팅 되지 않은 정보 확인

5. 부품 라이브러리

6. 라이브러리를 만들때 이글에서 만든 Ref-packages.lib 참고

7. Ratsnest로 깔린 카파를 모두 없앨때 –  ripup @ ;

8. 라우팅을 airwire 말고 중간에서 할때 – CTRL을 누르고 라우팅을 한다.

참고:


git 관련 팁 – .gitignore

.gitignore를 설정 전에 원하지 않는 파일(예를 들면 소스가 아닌 컴파일된 obj 파일 같은..)이 repositary에 add/initilized된 경우는 cache를 지우고 tracking을 다시 설정해야 한다.
먼저 필요한 파일들을 commit한후 다음의 명령어를 실행한다.
cache 삭제

git rm -r –cached .

다시 tracking 하도록 설정

git add .

그 다음 commit

git commit -m “.gitignore is now working”


Github – Fork한 저장소 업데이트하기

Github에서 fork한 저장소를 원본 저장소와 연결해서 업데이트하려면, github에서 제공하는 툴에는 메뉴가 없으므로 터미널에서 작업을 해야한다.

Remote 설정

현재 설정된 리모트 저장소를 확인

$ git remote -v

새로운 리모트 업스트림을 추가

$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

추가된 리모트 저장소 확인

$ git remote -v

다음과 같은 형태로 업스트림이 추가된 것을 볼 수 있다.

Fork한 것을 업데이트

패치를 한다.

$ git fetch upstream

그다음에 checkout… 일반적으로 master이고 내가 fork한 브랜치의 이름을 적어야 한다.

$ git checkout master

merge를 한다. 이때도 일반적으로 master이고 내가 fork한 브랜치의 이름을 적어야 한다.

$ git merge upstream/master

Conflict 해결하기

충돌 상황을 확인

$ git status

충돌이 생긴 파일의 시작 부분에 <<<<<<< HEAD, 끝 부분에 >>>>>>> 표시가 되어 있다. 이것을 해결한 후에 git add 명령으로 변경된 파일을 추가하고 commit를 하면 된다.


팁 – 윈도우즈 커맨드 프롬프트에서 프로세서 끝내기

윈도우즈 작업 관리자에서 프로세스를 찾은 후 클릭해서 프로세스를 끝낼 수도 있지만,  프로세스 이름을 알고 있다면 그리고 여러개를 한꺼번에 끝내려면 윈도우즈 커맨드 프롬프트에서 작업을 해야한다.

이때 필요한 명령어는 tasklist, taskkill

만약 프로세스 이름이 vmware로 시작하는 프로세서이면 /FI 옵션으로 필터를 건다.

tasklist /FI “IMAGENAME eq vmware*”

taskkill /F /FI “IMAGENAME eq vmware*”



스팸입니다

phpBB 영문판을 사용하는데, 포럼의 회원가입 과정에서 엉뚱하게 다음과 같은 한글 메시지 “스팸입니다”가 출력될때…

spam

phpBB와는 전혀 상관이 없고, 호스팅 서비스 업체인 cafe24의 게시판 스팸필터 관리설정 문제이다.
이 설정을 사용안함으로 설정하면 해결된다.

계시판 스팸필터 관리


구글 검색 결과 숫자는 믿을 만한가?

구글 검색을 하다보면 내가 검색한 검색어의 결과 숫자 및 시간이 다음과 같이 나온다.

검색결과 약 565,000개 (0.28초)

그리고 한 페이지당 10개씩 결과가 나오며 아래 그림과 같은 페이지가 표시된다.

google_search

검색 결과가 약 565,000이니 56,500개의 페이지가 나와야 한다. 하지만 페이지를 클릭해서 계속 가다보면 다음과 같은 메세지를 만난다.

관련성이 가장 높은 결과를 표시하기 위해 이미 표시된 226개와 매우 유사한 일부 항목을 생략했습니다.
원하시면 생략된 결과를 포함하여 다시 검색하실 수 있습니다.

생략된 결과를 포함하여 다시 검색을 하면 페이지가 늘어난다. 하지만 56,500페이지까지 가지 않고, 90페이지에서 더이상 다음 페이지를 얻을 수 없다.

google_search2

이렇게 나오는 원인을 찾아보니 구글에서 다음과 같은 설명이 나온다.

Google search result count

When you perform a search, the results are often displayed with the information: About XXXX results (X seconds).

Google’s calculation of the total number of search results is an estimate. We understand that a ballpark figure is valuable, and by providing an estimate rather than an exact account, we can return quality search results faster.

In addition, when you click on the next page of search results, the total number of search results can change. Google’s search index is constantly changing, and your second search results page may come from a slightly different version of the index than the first page.

출처 https://support.google.com/webmasters/answer/70920?hl=en

즉 검색 결과 숫자는 정확한 숫자가 아니라 추정된 숫자일뿐이다.


C 매크로: Paste Token, String-izing Tokens

Pasting Tokens

Each argument passed to a macro is a token, and sometimes it might be expedient to paste arguments together to form a new token. This could come in handy if you have a complicated structure and you’d like to debug your program by printing out different fields. Instead of writing out the whole structure each time, you might use a macro to pass in the field of the structure to print.

To paste tokens in a macro, use ## between the two things to paste together.

For instance

#define BUILD_FIELD(field) my_struct.inner_struct.union_a.##field

Now, when used with a particular field name, it will expand to something like

my_struct.inner_struct.union_a.field1

The tokens are literally pasted together.

String-izing Tokens

Another potentially useful macro option is to turn a token into a string containing the literal text of the token. This might be useful for printing out the token. The syntax is simple–simply prefix the token with a pound sign (#).

#define PRINT_TOKEN(token) printf(#token " is %d", token)

For instance, PRINT_TOKEN(foo) would expand to

printf("<foo>" " is %d" <foo>)

(Note that in C, string literals next to each other are concatenated, so something like “token” ” is ” ” this ” will effectively become “token is this”. This can be useful for formatting printf statements.)

For instance, you might use it to print the value of an expression as well as the expression itself (for debugging purposes).

PRINT_TOKEN(x + y);

출처: http://www.cprogramming.com/tutorial/cpreprocessor.html 


Pages:123