아아아 어쩌다가 떨어진고얌...








사용자 삽입 이미지


@^-^@ 50일 사진에 이어 100일 사진이 드됴 나왔네요. 조아라~
생각해보니 나두 기어헤드이군...


원문 : 브라보 당신의 열정, 기어헤드 만세


기어헤드(gearhead)라는 재미 있는 단어가 있다. ‘기술적 심미주의자’라고 번역해 보면 어떨까 싶은데, 자전거를 타는 것보다도 자전거(아마도 기어)를 만지작거리고, 고치고, 개조하는 일을 좋아하는 괴짜들을 일컫는 영국 속어에서 유래된 듯싶다. 오늘날에는 자전거뿐만 아니라, 자동차, 컴퓨터 등 가슴 설레게 하는 뜨끈뜨끈한 테크놀로지 전반에 대해 쓰이고 있다.

고백하건대, 나도 기어헤드다. 생산적인 일에 컴퓨터를 쓰는 시간보다, 그 컴퓨터를 조율하고 최적화하는 일에서 묘한 쾌감을 느끼고 이에 때로는 더 많은 시간을 보내기도 한다. 새로운 팁이나 기발한 소프트웨어나 신선한 서비스를 발견하면 본능적으로 그 것에 빠져, 본업을 잊기도 한다. 바탕화면이나 테마나 엇비슷한 텍스트 에디터가 뭐가 그렇게 중요할까? 오버클럭 했다고 삶의 질이 달라질까? 그러나 그 순간만큼은 내게는 중요하다.

분명 상식적으로는 컴퓨터는 ‘도구’이지만, 어느 순간인지 ‘목적’의 자리를 차지한 듯한 상황으로 스스로를 몰고 간다. 나는 ‘셋팅 놀이’라고도 변명하듯 말하곤 하는데 이 것이 묘하게 즐겁다. 테크놀로지를 자신만의 상태로 최적화시키기 위한 일종의 도(道)란 분명 있는 듯싶다. “아, 바빠 죽겠는데 내가 왜 이럴까” 하면서도 그 것에 빠져들고 정신차려 보면 내 분신과도 같은 디지털 기기의 최적 상태를 완성할 때까지 이에 매진하는 못 말리는 자신을 발견한다.

만약에 이 놀이에 만성이 생기면, 혹은 궁극의 셋팅을 이루어 내면 새로운 장난감을 찾아 나선다. 근 수년 간 PC에 질린 많은 기어헤드들에게 새로운 장난감으로 어필하기 시작한 것들은 PDA와 스마트폰 등의 모바일 기기일 것이다. 이 것마저 마스터한 이들은 웹으로 넘어 간다. 블로그는 또 하나의 ‘기어헤드’형 장난감이다.

정작 블로그에 글을 쓰는 것보다 글쓰기에 최적일 듯한 블로그 시스템을 꾸미는 일에 더 많은 시간을 쏟기도 한다. 가벼운 증상은 스킨 바꾸기에서 시작하지만, 중증은 설치형 블로그와 각종 플러그인으로 넘어 가고, 아예 블로그 시스템을 만들기도 한다. 그러고 보면 오픈 소스는 심리학적으로 이해 가능한 문화 현상이다.

만약 조금이라도 흡사한 증상이 보인다면 여러분도 틀림없는 기어헤드다. 일단 축하는 드리지만, 다만 기어헤드의 본능이 컴퓨터 정도에서 멈추기를 바래야 한다. 자동차나 자전거로 넘어 가면 또 다른 파란만장이 기다리고 있을지 모르니까.

여하튼! 그러나 나는 지금 전세계의 기어헤드들에게 뜨거운 만세와 브라보를 보낸다.

왜냐하면 우리 IT 업계는 여러분들의 덕에 오늘에 이르렀기 때문이다. PC 여명기, 실리콘밸리 홈브루 클럽의 PC 애호가들은 더 없는 기어헤드들이었다. 그리고 지금도 IT 업계 도처에 숨어서 자양분이 되고 있는 대한민국 8비트 키드들도 그럴듯한 기어헤드들이었다. 뿐만 아니다. 어제도 오늘도 새로운 테크놀로지들을 밤새 리뷰하고 뜬 눈으로 신제품을 질러대는 여러분들은 미래형 기어헤드들이다. 노련한 테크놀로지 마케팅은 이러한 기어헤드들과 동고동락할 소재를 찾아 헤맨다. 기어헤드의 열정은 전국 방방 곡곡에서 자가 발전하는 입소문 광고 기지국이기 때문이다. ‘파워 유저’에서 ‘프로슈머’까지. 이들을 찬미하는 호칭만큼이나 이들의 심미안을 탐내는 기업들의 관심은 점점 더 뜨겁다.

어쩌면 컴퓨터가 대중화되고, 인터넷이 당연시되는 오늘날. 컴퓨터는 도구일 뿐이고, 기술은 경영의 시녀일 뿐일지 모른다. 기술이 기술만으로 즐거웠던 시절, 기술이 최고의 열정이었던 시절은 가버렸다 이야기할 수 있을지도 모른다. 그러나 아직 그렇지 않다는, 기술이야 말로 가장 뜨거운 열정의 근원임을 이야기하는 이들. 바로 기어헤드다.

기어헤드의 궁극이자 완성형은 선데이 프로그래머가 되는 것이다. 아마추어 엔지니어가 되는 것이다. “뭐든지 내 것으로 만들어 버리겠어”라는 근거 없는 자만심이 극대화된 형태로, 기술적 심미주의자로서 탐구할 수 있는 가장 순수한 아름다움을 찾을 가능성이 가장 큰 상태이기도 하다. 그리고 이들은 언제나 그렇듯 참 즐겁다. 이들이야 말로 진정한 열정의 소유자들이기 때문이다.

예전에는 선데이 프로그래머들이 있었다. 한 달에 한 번 잡지를 사고, 그 안의 프로그램을 입력해 보는 어린 학생들이 있었다. 예전에는 아마추어 엔지니어들이 있었다. 만능기판에 납땜을 하는 아버지들이 있었다. 이들은 모두 괴짜지만 열정의 소유자들이었다. 점점 이러한 고전적 기어헤드 들은 점점 줄어들지만, 대신 웹에서 그리고 모바일/임베디드 영역에서 못지않은 열정을 방출하는 기어헤드들을 우리는 목격할 수 있다. 다행히 우리의 열정은 가까이에 있었다. 아직 많고도 다양한 기어헤드들이 있음을 알기에 여전히 마음은 즐겁고, 우리 IT의 미래도 낙관적으로 보인다.

IT업계의 선도 기업을 움직이는 것이 프로 선수가 된 기어헤드라면, IT 시장을 움직이는 것은 우리네 아마추어 기어헤드들이다. 기어헤드. 자랑스러워 할 만한 몸과 마음의 상태다.

그리고 무엇보다도 “기어헤드 치고 나쁜 사람 없다.”라는 얼토당토않은 지론은 지금껏 크게 틀린 바 없다.@

InnoDB uses simulated asynchronous disk I/O: InnoDB creates a number of threads to take care of I/O operations, such as read-ahead.

There are two read-ahead heuristics in InnoDB:

  • In sequential read-ahead, if InnoDB notices that the access pattern to a segment in the tablespace is sequential, it posts in advance a batch of reads of database pages to the I/O system.

  • In random read-ahead, if InnoDB notices that some area in a tablespace seems to be in the process of being fully read into the buffer pool, it posts the remaining reads to the I/O system.

InnoDB uses a novel file flush technique called doublewrite. It adds safety to recovery following an operating system crash or a power outage, and improves performance on most varieties of Unix by reducing the need for fsync() operations.

Doublewrite means that before writing pages to a data file, InnoDB first writes them to a contiguous tablespace area called the doublewrite buffer. Only after the write and the flush to the doublewrite buffer has completed does InnoDB write the pages to their proper positions in the data file. If the operating system crashes in the middle of a page write, InnoDB can later find a good copy of the page from the doublewrite buffer during recovery.

원문 : http://www.mysqlkorea.co.kr/sub.html?mcode=develop&scode=01&m_no=20752&cat1=14&cat2=422&cat3=448&lang=e

InnoDB의 버퍼를 공부하다 보니 DoubleWrite Buffer에 대해서 나오길래 찾다가 MySql 홈페이지에서 찾았다.

InnoDB는 시뮬레이티드 비동기 (simulated asynchronous) 디스크 I/O를 사용한다: InnoDB는 읽기-위주 (read-ahead)와 같은 I/O 연산을 잘 처리하기 위해 수많은 쓰레드를 생성한다.

 

InnoDB에는 두 가지의 읽기-위주 방법이 존재한다:

  • 시퀀셜 읽기-위주의 경우, InnoDB가 테이블스페이스에 있는 세그먼트에 대한 접속 패턴이 시퀀셜이라는 것을 인지한다면, 앞에 존재하는 데이터베이스 페이지의 읽기 배치 연산을 I/O시스템에 보낸다.
  • 무작위 읽기-위주의 경우, 만일 InnoDB가 테이블스페이스의 어떤 부분이 버퍼 풀 안으로 전체적인 읽기를 진행하는 것처럼 인지한다면, 나머지 읽기 연산을 I/O 시스템에 보낸다.

InnoDBdoublewrite라고 불리우는 기발한 파일 플러시 기법 (novel file flush technique)을 사용한다. 이 기법은 OS 크래시 또는 전원 문제 이후의 복구 연산을 보다 안전하게 하도록 하며, fsync() 연산에 대한 필요성을 절감시킴으로써 다양한 유닉스 버전의 성능을 향상시켜준다.

 

이중 쓰기란, 데이터 파일에 페이지를 쓰기 전에, InnoDB는 우선 페이지를 이중 쓰기 버퍼라고 불리우는 인접한 테이블스페이스에 기록한다는 것을 의미한다. 이중 쓰기 버퍼에 기록을 하고 이것을 플러시한 후에야 InnoDB는 그 페이지를 데이터 파일의 적당한 위치에 기록을 하게 된다. 만일 OS가 페이지 쓰기 중간에 크래시 된다면, InnoDB는 나중을 복구를 할 때 이중 쓰기 버퍼에서 제대로 된 페이지를 찾을 수가 있게 된다.



이는 한글 메뉴얼 site에서 번역본을 찾은 것이며, 조금 번역이 잘못된 것을 고쳐 보았다.


다음은 조금 이해하기 어려운 용어를 정리해 보았다. 도움이 되길...

* 읽기-위주 (read-ahead)
  - 딱히 번역할 말을 나도 찾지 못하겠다. 쩌비.
    우선, read-ahead란 일반적으로 데이터는 연속된 공간에 순차적으로 저장되어지는 점(locality)을 모태로 읽기 연산이 발행하면, 특정한 몇몇 페이지(단지 읽기의 단위를 표현하고 싶었다.)를 미리 같이 읽어 버리는 기법을 말한다. 즉, 여기에서는 버퍼에 7번 페이지를 읽어달라고 요청이 오면, 8번 페이지도 곧 읽기 요청이 올것이라고 예상하고, 미리 7번 8번 페이지를 같이 읽어들이는 기법을 말한다.
    이는, 8번이 될 수도 있고, 8~n번 페이지를 모두 동시에 읽을 수도 있으며, 이는 여러 알고리즘 기법에 따라 다르다.
    그리고, 꼭 8번이 되지 않을 수도 있으며, 임의(random)의 한 페이지을 미리 읽는 기법도 있으니, 참고하기 바란다. (위에 보니 나와있다... 헐... 미리 다 읽고 써야겠다.)

012


07.08.03~04 친구들과 강원랜드에 다녀왔다.

잠시 내가 생각하는 카지노에 대해서 이야기 하고자 한다.
다분히 개인적인 생각이니 그냥 이런 생각을 가진 사람도 있구나... 그런데, 난 이렇게 생각해 하며, 뎃글을 달아주시길... @^-^@



카지노를 도박이라고 생각하는 사람들이 많다. 그러나, 나는 생각하기 나름이라고 생각한다.
최근 카지노에 대한 젊은 사람들의 인식이 많이 바뀌고 있다.
아직도, 나이 많으신 분들은 그 곳을 돈 버는 곳으로 생각하며, 도박에 빠지고 있지만,
그 곳을 즐기는 곳으로 인식하는 사람들이 많아지고 있다. 마치 최근 경마장에 놀러가는 사람들처럼...

실제로 본인이 그 곳에 갔을 때에는, 많은 연인들을 볼 수 있었다.
그 사람들은 결코, 갑부들 처럼 돈을 쓰지도 않았으며, 머리속이 비어 있어 보이지도 않았다.
단지, 즐기기 위해 온 것같이 보였다. 그 곳에 있는 가장 작은 단위의 칩을 들고 둘이 웃고 즐기며, 닭살(?) 행위를 하는데... 솔직히 부럽기만 했다... 흑흑...

잠시 생각해보자.
연인과 매일 놀러 어디를 가는가? 비디오방, 노래방, 극장 등등...
매일 같은 곳에 지쳤다면, 둘이 10만원씩 모아서 바닷가같은 곳도 놀러가봤을 것이다.
나는 카지노라는 곳이 그런 것과 같다고 생각한다.
연인들끼리 적당한 돈을 가지고 카지노에 가서 이리저리 작은 돈을 가지고 노는 것은 바닷가에 가서 둘이 바가지 써가며 노는 것과 그리 다르지 않다고 본다.
바닷가에서 10만원을 쓰나, 카지노에서 10만원을 쓰나... 즐거운 마음만 남는다면, 둘은 같은 것 아닐까 하는 조심스러운 생각을 해본다. 쩌비... (사실, 아주 조심스럽다... )

참고로, 10만원은 그냥 적은 돈이다. 누군가는 10만원과 같은 큰 돈을... 그건 도박이야!!! 라고 할 수도 있고,
누군가는 10만원가지고 카지노가서 머해? 너무 적다... 하는 분들도 있을 것이다.
그냥, 제 주변에 연인들이 어딘가 멀리 여행을 다녀오려 할 때 대략 서로 10만원 정도 모아서 놀러가길래 적은 액수일 뿐이다. 너무 깐깐하게 하진 마시길...
참고로, 본인은 강원랜드에 갈때 딱 3만원을 쓰고 온다. 왜? 나에겐 그 액수가 적당하다고 생각하니까...

이점이 강원랜드에 가서 재미있게 즐길 수 있는 조건 중에 하나라고 생각한다.
즉, 본인이 감당할 수 있는 범위 내에서 즐겁게 놀다 오는 것이다. 그 이상도, 그 이하도 아닌!
마치, 친구들과 놀 술마시며 놀 때, 감당할 수 있을 정도의 액수!
난 그렇게 생각한다.

또하나, 언급을 하지면, 돌아오는 시간을 정하는 것이다.
돌아올 시간을 정하지 않는다면, 정말 못돌아 올만큼 그 곳에는 재미있는 것들이 많다.
만약 돌아올 시간을 놓친다면... 곧 그 곳에 있는 노숙자들과 같은 모습이 되지 않을까? ㅋㅋ 농담이다.
머, 좀더 놀다와두 되겠지 머... 돈은 더 쓰겠지만... @^-^@

그리고, 또 중요한 것이 있다.! (잊을 뻔했다. 휴우...)
그곳은 돈을 따러 가는 곳이 아니라는 것이다.
만약 3만원을 가져가면서, 그것이 총알이라는 생각을 한다면, 벌써 도박을 하고 있는 것이다.
즉, 그 돈이 더 많은 돈을 벌기위한 준비금이 아니라는 것이다.
마치, 트레비 분수에 동전을 던지는 것과 같다. 조금조금씩 돈을 던지면서, 즐거움을 얻고 싶은 것이지, 그걸 통해 또 다른 돈을 벌기 위함이 아니라는 것!
조금 설명하기 어렵지만, 암튼 그렇다.
솔직히 말하면, 카지노! 그곳은 절대 돈을 딸 수 없는 곳이다. 확률적으로도 그렇고, 조금만 생각해보면 다 안다.
조금 딴다고 해도... 곧 다시 잃거나, 쉽게 번돈은 쉽게 나간다.
요번에, 친구넘이 1000배에 걸려서 10만원을 땄다. 그리고 잃을지도 모른다고, 9만원을 남겨서 나왔는데...
ㅋㅋ 그날 애들 해장국 쏘구, 기름값두 내구 해서 다 썼다.
아무튼, 카지노는 돈 벌러 가는 곳이 아니다!!!



내 생각을 요약하자면, 정해진 액수를 들고, 친구들이나, 연인들끼리 재미있게 놀다 올 수 있는 곳중에 하나가 강원랜드라는 것이다.
머 적다보니, 이것저것 주저리주저리 말이 많았다.  쩌비...


참고로, 강원랜드에 놀러가고 싶은 연인들이 있을지 몰라서 간단한 정보를 적어본다.

개인적으로 차를 타고 가길 권한다. (사실, 대중교통편은 모른다. 쩌비)
영동 고속도로 타고, 쭉 가다가 원주쪽에서 빠져서 조금 많이 가야 한다.
분당에서 하나도 안막히고, 약 2시간 반정도 걸린다. 규정속도를 요리조리 잘 피할 수 있는 분은 한 2시간도 끊을 수 있을 듯.

강원랜드 카지노의 입장권은 부가세까지 합쳐서 5000원이다. 대신 그 안에서 무제한으로 마실수 있는 무료 음료를 생각하면, 그리 큰돈은 아닌듯.
그리고, 정책상 신분증이 꼭 필요하다. 그 곳까지 가서 신분증을 놓고 왔다고 한다면... 2시간 반 정도를 다시 돌아가야 할지도 모른다. 꼭 챙기시길... @^-^@

그리고, 강원랜드는 아침 6시 부터 8시 까지 잠시 쉰다고 했다는 거 같다. 맨날 그 전에 나와서 모르지만... @^-^@
들리는 말에 의하면, 그 시간에 폐인 같은 아저씨, 아줌마들이 찜질방에 가서 눈을 붙이고 온다는 이야기를 들은 것 같다. ㅋㅋ

그리고, 그곳의 최소 칩은 1,000원이다.
1,000원 - 녹색
5,000원 - 분홍색
10,000원 - 검정색
100,000원 - 골드색(보면 그냥 갈색같다.)
이렇게 있는 걸 봤다. 그 이상은 못봤다... 내가 못본거다. 아마도 있을 것이다.

슬롯 머신은 100원짜리, 500원짜리가 있다.
참고로, 500원짜리는 10000원을 넣어도, 20개의 코인이 들어가게 된다. 그럼 MAX로 3씩 걸어서 약 6판 밖에 할 수 없다.
그러니, 돈이 별로 없는 분들은 반드시 100원을 확인하고 앉으시길.
그럼 10000원에 100코인이 들어가고, 3씩 걸어도, 33판은 할 수 있다.
물론, 따게 되면, 그 이상도 계속한다. 젝팟 걸리시길 @^-^@

그리고, 슬롯머신을 보면, 아무도 없는데, 코인이 들어가 있거나, 누가 멀 꼽아놓아서 계속 돌아가는 기계가 있다.
그런 곳엔 절대 앉지 말자!
정말 그 곳을 직업으로 생각하는 불쌍한 분들이 몇대씩 잡고 계신 것이다.
앉으면, 매우 화를 내시곤 한다. 쩌비... 그냥... 갠적으론 좀 불쌍하다...
언젠간 젝팟 맞으시길... @^-^@

그래도, 여기저기 다니다 보면 꼭 한자리씩 남으니, 잘 찾아서 즐기시길...

참고로, 구경하다 보면, 큰돈으로 버는 기계가 있다. 그곳을 보면 뒤에가서 박수치고 즐기기만 하다가,
 절대 그 곳엔 앉지 마시길... 왜? 그 뒤로는 그 기계는 잘 안 터질 가능성이 많으니...
본인은 10000원 넣고 33판을 내리 암것두 안터져서... 5분만에 10000원을 날리고 너무 싫었다는...

조금은 이리저리 벌고 잃고 하다가, 시간좀 보내면 조으련만... 꼭 허무하게 잃곤 한다... 그럼 잼없다.

그리고, 강원랜드에 보면 중앙에 커피샾같은 곳이 있다.
이곳엔 들어가도 상관은 없지만, 절대 멀 사먹진 말것...
...만약 한 10만원 땄으면 사먹어도 되겠네... 커피가 2만원이니... ㅋㅋ

그리고, 음료는 무료 음료이니 많이 먹어 뽕을 뽑도록 노력하자!~

아무튼, 이정도 이니... 만약 가신다면, 즐거운 게임이 되시길 바랍니다.

저희는 거의 6개월마다 한번씩 가는데... 언제 또 6개월을 기다리나... 에궁...














07.06.25~26 한국정보과학회 학술대회가 무주리조트에서 있었다.

이때 논문을 발표했었다.

주제는 "플래시 변환 계층에 대한 TPC-C 벤치마크를 통한 성능분석"이였다.

그때 찍은 사진들을 이제야 올리게 되넹... @^-^@




01234
발표 시작하기 전에 밖에서 대기 할때




012345
발표장 안에서 발표 준비를 하고, 발표를 할 때. 조금 많이 흔들렸네요. @^-^@ (구두 발표장)



01234567
발표 끝나고 밖에 나와서 연구원들과 같이~


01234
도윤이가 발표할 때 같이 따라 들어가서. (포스터 발표장)




012345678
모든 발표를 끝내고, 숙소로 돌아가기 전에 다 같이~

01234
앞에 좋은 차가 있길래 그냥 한번 @^-^@


01234
주연이도 포즈~


012
무주리조트를 뒤로 하고 차 안에서

01234
돌아오는 길에 유명한 식당에서 메운탕을 먹으며~

0123456
그 유명한 식당에서 토끼를 보았다. 설마 먹는 건 아니겠지?... 우음...

0123456789101112
근처에 금강이라고 있었는데, 이거야 원 들어가서 발이라도 담글수가 있어야지... 에잉...


0123456
아하... 이름이 섬마을 식당이였다. 맞다! 유명했어...

안녕하세요? 바람돌이입니다.
리눅스에서 주로 사용하는 명령어를 몇개 정리해보았습니다.
순서는 중요도와 관련이 없습니다.



1. wget
# wget [option] [URL]
 80번 (HTTP) 포트가 열려있는 상태에서의 파일을 받아오기 위한 명령어.
 일반적으로 웹브라우저에서 특정 파일을 클릭해 내 컴퓨터로 받아오는 것과 동일한 기능을 한다.
   -b : 용량이 큰 파일을 받을 경우 back ground로 수행시켜줌
   -i [filename] : filename에 받아올 파일 목록을 저장한다음, -i옵션을 주게 되면, 여러파일을 한번의 명령으로 받아올 수 있다.



2. ls
# ls [option] [path]
 path에 해당하는 목록을 옵션에 맞게 출력한다.
 path는 생략할 수 있으며, 생략시 현재 폴더를 출력한다.
   -a : 숨김(.으로 시작하는) 속성의 파일도 출력함
   -l : 파일의 정보를 모두 보여줌 (생략시 기본적으로 파일이름만 출력)



3. cat
# cat [filename]
 filename을 Text 모드로 화면에 출력한다.
 주로 redirection과 같이 사용한다.
 ex) # cat a.txt b.txt c.txt > all.txt
         세 개의 파일을 하나의 파일로 내용을 합쳐줌



4. which
# which [option] prog_filename
 prog_filename의 이름을 가진 실행 프로그램의 위치를 찾아줌



5. du
# du [option] [path]
 디스크 사용 공간에 대한 정보를 출력함
   -s : 디렉토리의 크기를 보여줌
   -h : 사람이 보기좋게 MB 단위로 보여줌
 ex) # du -sh tmp
      tmp 폴더의 크기를 MB단위로 보기좋게 출력해줌
 cf) # df -h
      하드디스크의 남은 용량을 MB 단위로 보여줌

6. rm
# rm [option] [path]
 파일이나 디렉토리를 삭제해줌
   -R : recursive 하게 subdirectory까지 삭제함
   -f : 사용자에게 경고하지 않고 모두 지움
  만약 -Rf와 같은 옵션을 사용하게 되면, 주의를 필요로 한다. 실수하면, 되돌릴수 없는 상황이 될지도 모른다.



7. cp
# cp [option] [src] [dst]
 파일이나 디렉토리를 복사해줌
   -R : recursive 하게 subdirectory까지 모두 복사함
   -f : 사용자에게 경고하지 않고 모두 복사 (덮어쓰기시)


8. touch
# touch [filename]
 말 그대로 특정 파일을 건드려 줌
 만약 filename이 존재한다면, 해당 파일의 마지막 수정 시간을 현재 시간으로 갱신함
 만약 filename이 존재하지 않는다면, 빈 파일을 생성함



9. find
  파일을 찾아줌. 매우 중요함으로 잘 알아둘 것
   -name : 이름으로 파일 찾기
             ex) # find / -name "*.[ch]"
                   루트(/)에서 부터 *.c나 *.h의 모든 파일을 찾아줌
   -print : 찾은 파일을 화면에 출력
   -exec : 찾은 파일들에 순차적으로 대해서 shell 명령어를 수행시켜 줌
             ex) # find /tmp -name "*.txt" -exec rm {} \;
                   /tmp 폴더에서 모든 txt파일을 삭제해줌


10. tar
  압축과 해제를 해줌
   -c : 압축 파일을 새로 생성함
   -x : 압축 파일에서 부터 파일들을 압축 해제함
   -f [filename] : 주어진 압축 파일을 사용함
   -z : gzip을 통해 압축과 해제를 실행함


 
주로 사용하는 것들만 모았습니다. 다시 한번 말씀드리지만, 주로 사용하는 것입니다. 이것들만 알아도 유용하네요.
본 키워드들은 command state에서 입력해야합니다.

* 주의 : 대문자인 경우에는 shift를 누르고 입력합니다.
            Ctrl + x 는 Ctrl키를 누르고 x키를 누르라는 표시입니다.
            dd 처럼 연속된 문자는 그냥 연속해서 두번 누르라는 표시입니다.

1. 페이지 이동

Ctrl + f : 다음 페이지
Ctrl + b : 전 페이지
Ctrl + d : 반만 다음 페이지로
Ctrl + u : 반만 전 페이지로

2. 커서 이동

h : 좌
j : 아래
k : 위
l : 우

w : 커서를 바로 다음 단어로 이동
b : 커서를 바로 전 단어로 이동

3. 복사

y : 특정한 다음 텍스트를 복사
yy : 커서가 있는 라인을 복사
p : 삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입

4. Undo Redo

u : Undo
. : Redo

5. 검색

/[pattern] : /를 누르면 왼쪽 하단에 '/'가 표시되고 패턴을 입력가능함
                 이때 패턴을 입력하면 해당 패턴을 찾아줌
n : 위에 패턴으로 찾은 여러개 중 다음으로 일치하는 패턴을 찾음 (다음찾기)
N : 위의 패턴으로 찾은 여러개 중 이전으로 일치했던 패턴을 찾음 (이전찾기)

6. 삭제

x : 현재 커서에서 한 문자 삭제 (뒤에것을 당김)
dd : 현재 커서가 있는 라인 삭제 (아래 줄을 당김)

*gcc 버전 확인
gcc -v

*gcc로 컴파일

gcc로 컴파일할 파일명
ex)gcc test.c
a.out이라는 실행 파일이 생김
./a.out으로 파일 실행

*gcc로 실행파일 지정 컴파일
gcc -o test test.c

*gcc로 컴파일만 하고 링크하지 않기
gcc -c test.c

*두 개 파일을 부분 컴파일 후 링크시키고 실행
gcc -c a.c b.c
gcc -o a a.o b.o
./a

*헤더파일
헤더파일 중에 <>로 묶인 것과 ""로 묶인 것이 있다.
<>로 묶인 것은 /usr/include에서 파일을 검색하고,
""로 묶인 것은 현재 디렉토리 및 -I옵션을 준 디렉토리에서 헤더파일을 찾는다.
gcc a.c -I..
gcc a.c -I/usr/src/linux/include

-t 묶음 파일의 내용을 표시하는 옵션
ar t libc.a | less

정적 라이브러리 : a라는 확장자
공유 라이브러리 : so라는 확장자

라이브러리 만들기

ar r libtest.a test.o
-s 옵션 : 목차를 갱신하거나 생성해줌
ar s libtest.a
ar rs libtest.a test.o

라이브러리 사용
gcc -o test test.c -ltest
gcc -o test test.c -ltest -L.

-l옵션 뒤에 링크하고 싶은 라이브러리 이름을 써줌
라이브러리 파일의 이름에 공통적으로 붙는 lib는 빼주고, '.'을 포함한 확장자도 빼준 나머지를 씀
수학라이브러리인 libm.a를 링크하고 싶을 때는 -lm 과 같은 옵션을 붙여야 함

gcc의 기본 라이브러리 디렉토리
/lib, /usr/lib, /usr/local/lib

*도움말 man

ex) man errno
man -s 2 write (섹션 지정하는 옵션)

*에러 처리

#include <string.h>
char *strerror(int errnum);

#include <stdio.h>
void perror(const char* msg);

사용

#include<errno.h>
fprintf(stderr, "ERROR: %s\n", strerror(errno));
perror("error");

-출처 : 영진닷컴 Unix & Linux C programming

의외로 Visual C++ 6.0을 여러개 못 열고
프로젝트 하나 열때마다 저장하고 다시 열고 하는 분이 계시더라고요.
여러 개 띄울 수 있는 방법 알려드릴께요.
(다시 말씀 드리면, dsw 프로젝트 파일을 더블클릭해서 열 경우 기존 프로젝트 파일을 닫아야 하는 경우를 말씀드리는 거에요~)

visual studio가 열려있으면 미리 다 닫아주세요.

1. 탐색기->도구->폴더 옵션을 들어갑니다

사용자 삽입 이미지

2. 파일 형식 탭을 클릭하고 키보드에 d를 누르세요. 그러면 d로 시작하는 곳을 찾아갑니다. 그리고 확장명 중에 'dsw'인 것을 찾아서 고급 버튼을 누릅니다.
사용자 삽입 이미지

3. 'MSDEV로 열기'가 보일 것입니다. 그 글자를 선택하고 '편집'버튼을 눌러주세요.
사용자 삽입 이미지

4. DDE 사용의 체크를 없애주고, 확인 버튼을 누르면 완료입니다~
사용자 삽입 이미지

자 이제 dsw파일을 더블클릭해서 열면 visual studio가 새 창으로 열릴 것입니다.

**혹시 vista를 사용하는 분은 폴더 옵션에 파일형식 탭이 없기 때문에 직접 레지스트리를 수정해줘야 합니다.

윈도우의 시작->실행->regedit 를 써주고 엔터를 치면 레지스트리 편집기가 열립니다,
찾기에서 dswfile 을 찾아서
dswfile -> shell -> &Open with MSDev -> command, ddeexec 를 찾아가서 ddeexec 폴더를 삭제하면 됩니다.

+ Recent posts