달력

112017  이전 다음

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  

이번 포스트는 직독직해를 한게 아니라 내용중에 제가 필요한 부분만 적어보았습니다.
요새 고민하는게 있습니다.
무언가 배울때 생각하면서 배워야한다는점. 무조건 배우려고 하는건 아닌것같아요 : )
이게 내가 능력도 안되는데 마냥 하고싶은건가, 해야되는건가, 하면 좋은건가! 뭐 이런 생각들이요 ㅎㅎ

잘못 썼거나 추가하면 좋은 글이 있다면 알려주시면 감사하겠습니다.

Kernel Coding style

1. indentation
탭은 8글자, identation도 8글자
누군가는 8글자가 너무 오른쪽으로 치우지게 하는것 아니냐고 불평할수도 있다.
깊이 {, }가 3 이상일때 그렇게 되는데 해주고 싶은 말은, 프로그램을 고쳐라.
(depth가 3 이상인건 잘못됐다는뜻;; 난 여차하면 4이상인데.....후덜덜)

한줄에 여러 문장을 쓰지마라


또한 한번에 여러개의 변수에 할당을 하지마라

2. Breaking long lines and Strings
깊이가 깊은게 아니라 출력하려는 문장이 길경우(80칸이 넘어갈경우 )
긴 문장을 뜻이 되게 잘 나누어서 코딩한다


3. Placing Braces and Spaces
K&R에 따르면
if, switch, for, while, do의 문장의 경우 brace는 같은 줄에서 연다

그러나 함수의 경우에는 다음줄에 연다

문장이 하나만 있으면 brace 할 필요가 없다
예외) 다른조건에서 brace를 사용하면 한 문장이 있어도 brace를 사용

3.1 spaces
if, switch, case, for, while, do 다음에는 공백추가
sizeof, typeof, alignof, __attribute__같은것 뒤에는 공백 없음

(, ) 안쪽에는 공백을 넣지 않는것이 좋다. (;; 이거 내가 항상 하는건데.....)
s = sizeof( struct file )  // x  bad style

binary and ternary 연산자는 양옆에 공백
unary 연사자는 공백 없음

4. Naming
헝가리안 표기법은 쓰지마라
tmp, foo는 ......어후;; shotting offense와 같은거다. (치고빠지기 뭐 그런건가?;; 유지보수는 신경안쓰는..)

5. Typedefs
typedef가 마냥 좋은건 아니라고~!!!!


.........

14. Allocation memory
커널에서 메모리 할당하라고 제공하는 function : kmalloc(), kzalloc(), kcalloc(), vmalloc(), vzalloc()


......


16. Function return values and names
리턴값을 이용하여 함수의 성공여부를 판단하는데
두가지 방법이 있다.
err-code(-Exxx = failure, 0 = success)방법이 있고,
boolean (0 = failure, non-zero = success)방법이 있다.

두가지가 섞여서 사용하게되면 헷갈릴수가 있으므로
다음과 같은 규칙이 있다.

    함수명이 어떤 액션을 취하면  err-code방식
    소개하는 함수명이면 boolean 방식

예를들어 add_work() 의 경우 err-code, pci_dev_present()의 경우 boolean 방식을 사용한다.



출처 : http://www.kernel.org/doc/Documentation/CodingStyle


저작자 표시 비영리
신고
Posted by 오산돌구
1. 영어 공부중임을 잊지 말라_ 늘 본인이 영어 공부 중이라는 사실을 명심하자.

2. 연습만이 살 길이다_ 영어 공부에 왕도는 없다. 연습 하는 과정에서 자연스럽게 습득하는 것이다. 연습량과 실력은 비례한다.

3. 실수를 두려워하지 말라_ 실수로부터 배우는 것이 많다. 실수가 두려워 말을 안 하는 것보다 실수를 통해 부족한 부분을 보완해 가는 것이 좋다.

4. 영어로 생각하라_ 늘 머릿속에서 영어로 문장을 말하는 연습을 하라. 또한 영어 단어를 떠올리는것도 잊어선 안 된다.

5. 처음부터 욕심내지 말라_ 간단한 표현을 놔두고 어려운 영어 표현을 쓰면 부담만 커진다.

6. 독서하라_ 항상 영어 책을 곁에 두고 읽으면서 문장과 가까워져라.

7. 문맥을 잡아라_ 처음부터 끝까지 모든 것을 이해하려고 집착하기 보다는 앞뒤 문맥을 통해 의미를 이해하는 연습을 하라.

8. 규칙을 잊어라_ 언어란 결국 의사소통이다. 문법에 얽매이기 보다는 자연스럽게 익히는 것이 좋다.

9. 영영사전을 펼쳐라_ 영영사전은 영어표현의 보고다. 단어의 뜻뿐만 아니라 파생 단어도 함께 익힐 수 있기에 초급자들에게 특히 주효하다. 다양한 예문을 살피는 것이 좋다.

10. 상상하라_ 생활 속에서 특정상황이나 주제에 관해 자신의 생각을 영어로 표현하도록 연습한다. 혼자서 원어민 발음을 따라하거나 거울을 보면서 연습하는 것도 좋다.

출처  :  http://news.nate.com/view/20091105n01853

신고
Posted by 오산돌구
제가 영어를 공부하고자 시작하였습니다. 
종종 오역이 있을 수 있습니다. 꾸준히 노력해서 줄여야겠지요...
시간이 지나 양질의 번역글을 많이 썼으면 좋겠네요 : )
잘못된 부분은 지적해주시면 인신공격빼고는 모두 달게 받겠습니다 : )


여러분이 얻으려고한 정보를 찾지 못했을때 구글의 Advanced Search기능을 사용해보세요
'고급 검색'이라고 두려워 할것없어요 사용하기 매우 쉽습니다. 기본 검색보다 더 정확한 검색을 하기위해서는 기능을 선택하거나 제외해야합니다.
구글 검색창오른쪽에 있는 Advanced Search를 클릭하세요

Date, usage rights, numeric range, and more,”이거나 +표시를 클릭하면 더 많은 선택창이 보여집니다.
그리고 맨 마지막에는 다양한 컴퓨터 OS나 대학같은 특별한 검색을 포함한 구글의  topic-specific searches가 링크되어 있습니다.


위에는 회색글씨로 “Use the form below and your advanced search will appear here,” 라는 문구가 있는데 여기에 Advanced Search를통해 만들어낸 쿼리문을 보여줍니다.

Note: 이 기능은 오래된 브라우저나
          여러분이 자바스크립트 사용안하는 고급보안기능 설정했다면 작동안할수있습니다.

고급검색기능기존 검색 예시기존 검색 결과창
 모든 단어 포함 tap dance ] 변화없음
 문구 정확하게 포함 tap dance ] 단어 양쪽에 따옴표를 붙인다
여러단어중 적어도 하나포함 tap OR ballet ] 단어 사이에 OR을 붙인다.
단어 제외 tap dance ] [ tap dance ] 단어 앞에 - 기호 붙인다


이제부터는 앞에서 말했던“Date, usage rights, numeric range, and more” 에 대해서 설명하겠습니다.


1. 출력 결과 갯수 정하기

한번에 10개 이상의 출력결과물을 보고싶다면, Results per page 박스에서 선택해주면 됩니다. 결과물이 로딩될때 인터넷연결이 느릴경우에만 차이를 느낄수 있습니다. 50개의 결과를 보기 위해서는

(검사후에는 URL에 &num=50이라는 글씨가 포함되어있는것 빼고는 어떤 영향도 끼치지 않습니다.)


2. 언어

언어상자에는 페이지에 출력되는 결과물의 언어를 제한 할수있습니다. 예를들면 스페인의 에스파냐에있는 호텔을 추천받고싶을때는 다음과 같이 하면 됩니다.


(이것도 역시 검사후에는 URL에 &lr=lang_es가 포함됩니다. 언어를 변경했다고 상단에 보여지는 검색창의 언어가 변하지 않습니다)


3. 파일 형식

파일 형식에서는 특정 파일 형식을 지정하거나 제외시킬수 있습니다. 

File FormatSuffixDescription
Adobe Acrobat PDF .pdf A publishing format commonly used for product manuals and documents of all sorts.
Adobe PostScript .ps A printing format often used for academic papers.
Microsoft Word .doc A common word processing format.
Microsoft Excel .xls A format for spreadsheets.
Microsoft Powerpoint .ppt A format for presentations and slides.
Rich Text Format .rtf A format used to exchange documents between Microsoft Word and other formats.

자산괸리가 쓰여진 질좋은 PDF 문서를 찾는다고 하면 다음과 같이 하면 됩니다.


4. 도메인
특정 웹사이트나 도메인의 글을 검색하거나 제외시킬때 사용한다. 아래 그림은 스탠포드대학 사이트에서 구글창설자 Larry Page 와 Sergey Brin에 대해서 찾으려고 하는것입니다.

다음은 봉사단체의 정보를 얻기위해 도메인이 ".org"이고 "volunteering"검색어를 검색하는 그림입니다.
5. 날짜
크롤러나, 인덱스가 3달, 6달, 12달 업데이트가된 페이지가 나오게 할수도 있습니다. 
유명한 페이지는 자주 크롤링되고, 인덱싱이 된다. 글자 교정하는것도 페이지 변경된것으로 여깁니다.

최근 미국 여성의 40%가 폐경기로부터 낫기위해 호르몬 치료를 사용하는데 장점과 단점에대해서 과학자들이 쓴
최신 글을 찾고 싶을때 아래 그림과 같이 합니다.

날짜를 선택해도 “your advanced search will appear here”박스에는 아무런 변화가 없습니다. 하지만 3달을 선택하고 검색을 하면 url에 &as_qdr=m3;가 포함되서 보여지게 됩니다.
일년 또는  한달전의 사이트의 모습이나 현재 접근이 안되는 사이트를 보고싶을때는 Wayback Machine 을 방문하세요(이거 좀 괜찮네요 98년도 naverㅋㅋㅋ)

6. 사용자 권한

Usage RightsDescription
not filtered by license standard, unfiltered Google results
free to use or share results you can copy or redistribute
free to use or share, even commercially results you can copy or redistribute for profit
free to use share or modify results you can copy or adapt, as well as redistribute
free to use, share or modify, even commercially results you can copy or adapt, as well as redistribute, for profit
야채 조리법을 찾으려고 한다면, 우리는 구글에서 "“free to use, share or modify, even commercially”권한으로 페이지를 찾을수 있습니다.

권한조정을 한다고 맨위에있는 박스에 있는것에는 변하는것이 없습다. 하지만 URL이 복잡하게 변하게된다.

궁금하다면 다양하게 설정하면서 URL을 체크해보세요

7 .......뭔소리지........ㅠㅠ

8 지역

특정 나라나 어느지역의 페이지를 요청하는 방법입니다. 결과는 그 나라에 해당하는 URL이 보이거나, 대부분 끝에 ".com"으로 끝나는 도메인이 있습니다.

South Africa의 president clinton or senator clinton에 대해서 찾으려고 한다면 다음과 같습니다.

지역을 선택했다고 위에있는 박스에는 변화가 없습니다. 하지만 결과가 나오면 URL에 &cr=countryZA;가 나오는데

여기서 ZA는 South Africa코드 및 인터넷 도메인 입니다.

9. 숫자 범위

이것은 특정 숫자 범위가 있는 페이지를 찾고자 할때 사용합니다. 

쌍둥이에에게 50에서 1000달러 사이의 오토바이를(;;;;;문화를 모르니...허허)사준다고 할때 다음과 같이 검색합니다.

10. 안전검색

포르노사이트같은 유해사이트, 결과물이 삭제된것을 여과해주는것을 말합니다. 구글이 자동으로 공격적이 사이트를 막아줄수 없다는것은 알아야합니다. (뭥미...;;) 예를들어 유방암에 대해서 안전검색을 끈상태로 검색을 하게되면, 원치도 않는 자극적인 가슴 사진이 있는 사이트가 나타날수도 있습니다.

11. 특정 페이지 검색

 고급검색창에서 특정페이지 검색은 웹의 URL로 특정페이지의 페이지를 찾는것과 비슷합니다.
Consumer Report의 페이지와 비슷한 페이지를 찾기 위해서 처음 특정페이지 검색창(Find pages similar to the page)을 채워 놓고, Search버튼을 클릭합니다.


다른 고급 검색과는 다르게 특정 페이지 검색은 질의문이 조합되지 않는다.  그래서 Search버튼이 따로 있는것이다.

쉽게 특정 페이지 검색을 실행하려면 구글툴바를 설치하면 된다.

Advanced Search 형식대신에 검색창에 주소를 입력함으로써 링크뿐만 아니라 다음과 같은 결과를 얻어낼수있다.

  • Google’s cache of the site
  • Web pages that are similar to the site
  • Web pages that link to the site
  • All Web pages from the site that Google has crawled, listed in PageRank order
  • Web pages that contain the URL

예를 들어  훌륭한 레퍼런스 사이트 www.refdesk.com에 대해서 찾고자 할때 검색창에 www.refdesk.com을 입력하면 된다.




고급검색, advanced search 이런거 . . .통일해야하는데 다음부터는 그대로 영어로 써야겠다....
아놔.....오늘도 좌절을 해본다.....: ) 근데 재밌다.

원문 :
http://www.googleguide.com/sharpening-queries.html

신고
Posted by 오산돌구
제가 영어를 공부하고자 시작하였습니다.
종종 오역이 있을 수 있습니다. 꾸준히 노력해서 줄여야겠지요...
시간이 지나 양질의 번역글을 많이 썼으면 좋겠네요 : )
잘못된 부분은 지적해주시면 인신공격빼고는 모두 달게 받겠습니다 : )

이 페이지는 구글이 어떻게 어떻게 색인을 만들고 쿼리를 가공하여 문서를 보여주는것이 어떻게 하는지 궁금하지 않는 독자는 넘어가도 된다.

구글은 수천개의 저렴한 컴퓨터를 분산시켜서 일을합니다. 그래서 빠르게 병렬처리를 할수있는것이죠 : )
병렬 처리는 많은 계산들을 동시에 수행하는것을 말하고, 데이터 처리속도를 크게 높일수있습니다.
구글만의 세가지 기술은 다음과 같습니다.
  • 구글봇 - 웹 크롤러는 웹페이지를 찾고 내용을 가져옵니다.
  • 색인기 - 모든 페이지의 단어를 정렬하고, 색인된 단어를 커다란 데이타베이스에 저장을 합니다.
  • 쿼리 처리기 - 사용자가 입력한 쿼리와 색인를 비교해서 가장 관련있는 문서들을 추천해줍니다.

각각의 기술들을 좀더 자세히 알아보겠습니다.

1. 구글봇, 구글의 웹 크롤러
구글봇은 웹페이지를 받기위해 웹서버에게 요청을하고, 모든 페이지를 다운로드한뒤 색인기에게 전달하는 역할을 합니다.

수많은 컴퓨터의 구글봇이 웹페이지를 받기 위해 요청을하고 사용자가 웹브라우저로 볼 수있는 속도보다 더 빨리 페이지를 가져옵니다. 사실 수천개의 다른페이지를 동시에 요청할 수있지만 웹서버의 과부하를 막기위해 구글봇의 능력보다 천천히 웹서버에 요청을 합니다.

구글봇이 페이지를 찾는방법은 두가지가 있습니다. www.google.com/addurl.html에서 URL을 추가하거나 크롤링을 통해 링크를찾는것입니다.

그런데 스패머가 부당한 방법을통해 자동으로 URL을 등록하는 로봇을 만들경우가 있습니다.
그래서 아래와 같이 불규칙한 글씨를 보여줘서 확인을 하고있습니다.


그리고 페이지를 가져올때 구글봇이 페이지를 가져올때 페이지에 있는 링크도 가져옵니다.

가져온 링크 데이타는 순서대로 큐에 추가됩니다. 모든페이지의 링크를 가져올때 구글봇은 광범위한 웹을 도달할수있는 링크 목록을 만듭니다. 이것을 deep crawling이라 합니다.(이해 못했음) 

구글봇이 동시에 천개의 페이지에 요청을 하면 'visit soon'큐에 있는 URL과 계속 관찰하고 있고 이미 만들어진 구글의 색인과 비교를 한다. 구글봇이 같은 페이지를 또 가져오는것을 방지하기위해 큐데이터에서 중복된것은 제거한다. 또한 구글봇은 페이지를 어느정도 간격으로 방문할지 결정한다. 이것은 변하지 않은 페이지를 다시 색인함으로써 자원을 낭비한다고 생각할수 있지만, 다른 한편으로는 구글이 최신의 결과를 보여주는것을 원하는 것입니다.

현재 색인데이타를 유지하기 위해 자주 변하는 웹페이지를 지속적으로 크롤을 합니다.

매일나오는 신문페이지나, 주식 시세 페이지는 다운을 받으면 됩니다. (기존의 색인데이타는 유지하면서 새로운것만 추가한다는말같음) 이것을 fresh crawls라고 합니다.

이 두개의 크롤링 방법으로 구글은 효과적으로 자원을 사용하고 합리적으로 색인데이타를 관리 합니다.


2. 구글 색인기
구글봇이 페이지 전체 텍스트를 구글 색인기에게 보내면 받은 데이터로 색인작업및 저장하는 역할을 합니다.
성능을 높이기 위해 Stop words라고불리는 단어를 무시하게 했습니다.
is, on, or, of, how, why, 한자리숫자, 한자리 등을 말합니다. 마침표, 쉼표, 여러개의 띄어쓰기도 무시합니다.
마지막으로 성능을 높이기위해 모든 문자는 소문자로 바꿉니다.


3. 구글 쿼리 처리기

여러 부분으로 구성되었는데 첫번째로 페이지랭크라는 구글의 웹페이지의 점수를 매기는 기술이 있습니다.

그리고 성능향상을 위해 자동으로 저장된 데이터 간의 관계를 학습하는 기술도 있습니다.  [ex)spelling-correcting system]

단순히 하나의 검색어와 전체 웹텍스트를 색인한것을 매칭한것을 보여주는것입니다.

사용자는 구글색인한 HTML 코드뿐아니라 페이지의 텍스트도 구글에서 제공하는 Google’s Advanced Search FormUsing Search Operators (Advanced Operators)을 이용해서 검색할 수 있습니다.



신고
Posted by 오산돌구