- 2008.01.29 [C 박살내기] #2 Hello World~! / Double-J
- 2008.01.13 USB 메모리 살때 알아볼것!^^ (SLC / MLC) 6 / Double-J
- 2008.01.10 화재가있었던 이천의 병원에서 일어난 배터리 폭발 2 / Double-J
- 2008.01.08 노트북에 리눅스를..(with VMware) 2 / Double-J
- 2008.01.08 근래의 도서관은.. / Double-J
- 2008.01.05 [Tips] 작업표시줄이 윈도우(창)에 파묻힐때~! 7 / Double-J
- 2008.01.04 티스토리 디자인.. 4 / Double-J
- 2008.01.04 [C 박살내기] #1_프로그래밍이란.. 2 / Double-J
- 2008.01.04 [Tips] 숨김파일/폴더 보기를 설정해도 안보일경우! / Double-J
- 2008.01.04 티스토리 시작~! 2 / Double-J
Double-J's World » Search » Results » Articles
My life와 관련된 글 60개
Double-J's World » Programming/C / C++
[C 박살내기] #2 Hello World~!
Double-J | 2008. 1. 29. 23:37
아하~~ 실로 오랜만에 포스팅하네요 ㅡ.ㅡ;
이놈의 귀차니즘은..정말..;;; 꾸준히 포스팅 하시는 블로거님들 보면
정말 대단하다는 말밖에 안나옵니다.ㅎ;
아무튼 오늘은 프로그래밍 첫단원의 대명사 !! 이름하여
Hello World~! 출력하기! 입니다.ㅎㅎ
사실제가 첫글에 포스팅할때 이 예제를 썼었죠~ 간단한 개요를 설명하느라
가져다가 썼습니다. ㅡ.ㅡㅋ
자~시작하겠습니다.

버전은 현재 2005 까지 나왔구요.^^ MS가 만든 이 Tool 외에도 몇가지 더있습니다.
갑작스레 저는 유명한 Bolando밖에 생각이 안나는군요..ㅎ; 무료 컴파일러도있습니다.^^;
참고로 Bolando 나 MS가 제공하는 이 툴은 IDE(Integrated Development Environment)
라고 불립니다. 굳이 번역하면 통합개발환경 입니다.^^ 통합개발환경이란.. 원래 프로그램을
만들려면 소스를 작성해야되는 에디터, 컴파일러, 라이브러리등등..
많은 요소가 있어야합니다. 옛날에는 이러한작업을 사람이 한번씩 다해줬구요
하지만 통합개발환경에서는 프로그램자체가 그모든걸 포함하고있고
메뉴몇번클리이나 단축키만으로 한번에 이루어집니다. 이러한 개발환경을
아울러 통합개발환경이라고 합니다.^^ 아무튼 저는 MS의 Visual Studio 6.0을
사용하겠습니다.
일단 프로그램을 시작한다음에는 프로젝트를 생성하는 습관을 들이는것이 좋습니다.
어느 프로그램이든지요.. 막바로 소스파일부터 생성할수는 있지만 나중에 습관 잘못들이면
더 불편하니 제대로 해보지요~

눌러도 상관없습니다.

사진 사이즈가 작아서 잘 안보이네요.ㅎ; New를 눌러서 새로운 프로젝트 생성창이 뜨시면
위와 같은데 그중에서 상단의 탭이 Projects 에 있는지 확인하시고 아래서 세번째
Win32 Console Application 을 선택하세요. 이는 콘솔환경에서 프로그래밍 하고자 함 입니다.
그리고 우측의 Location : 부분의 ... 버튼을 클릭하세요

미리 폴더를 만들어 두었습니다. 그리고 OK^^

덧붙여져서 그이름과 똑같은 이름이 경로에 써질꺼에요~ 이 이름의 폴더가 새로 만들어지는것이지요

세번째 메뉴를 선택하시면 기본적으로 Hello World라는 문자를 출력하는 기본 소스가 생성되는데
저희는 처음부터 코딩해보기로 하죠~^^ 첫번째 empty project 선택후 Finish!!
그러면 처음엔 거의 변화가 없습니다. 왼쪽에 먼가 바뀐것 같긴 하지만요^^
다시 File -> New 또는 Ctrl + N 을 눌러보세요^^

이제 지금만든 프로젝트에 자신이 생성할 파일이 어떤 형식인지 지정하고 실제로 만드는 순서입니다.
5번째 C++ Source File 을 선택하고 오른쪽 File 이라 되있는곳에
hello_world.c 라고 적어보세요~ 파일이름을 정하는 순서죠^^ 그리고 OK^^

바로 이것이 hello_world.c 라는 소스 파일을 작성할 부분입니다.
그러면 다음화면과 같이 똑같이 코딩해보세요~! 설명은 차차 해드리겠습니다.^^


옆에 나와있는 단축키를 실행시키셔도됩니다. 이메뉴를 누르시면 컴파일이 완료되고 에러가 없으면
실행파일을 만들어주게 됩니다.^^
자~ 여기서 컴파일 이란? 사람이 알아먹을수 있게 만들어진 C를 포함한 여러 프로그래밍언어들..
이러한 소스파일을 컴퓨터가 알아먹을 수 있게 번역해주는 작업을 컴파일 이라고 합니다.
이러한 작업을 해주는 녀석을 컴파일러 라고 하구요^^

설명이 나오니 참고하세요.^^
이렇게 build까지 끝나면 실행을 해봐서 눈으로 봐야겠죠? 위쪽 단축아이콘중에
느낌표 표시를 누르거나 ...단축키는 Ctrl + F5 입니다.
아니면 Build 메뉴에 보면 느낌표 해가지고~ Execute 어쩌구~ 해가지고있는게 있어요~ㅎ
그걸 클릭하시면 짜잔!

자~그러면 간단한 소스이지만 한번 분석을 해볼까요??

1번의 # 하고 어쩌구~ 하는부분과 제가 화면에 주황색 박스쳐져있는부분입니다.^^
1번은 보통 전처리문이라고 합니다.
형식은 #include <포함할파일이름>
이렇게되구요 소스가 컴파일되기전에 <> 이안에 있는 파일의 내용을 가져와 같이
컴파일 합니다.^^
참고로 stdio.h 파일은 Standard C에서 제공하는 헤더 파일입니다.
저안에 기본적으로 쓸 입출력함수들이 정의되어있지요~
Standard Input / Output (표준입출력)... 단어는 외우기쉽죠?^^
일단은 C프로그램을 짜주기위해서는 무조건 #include <stdio.h> 를 써준다고 외워두세요
손에 익혀서 계속 쓰다가 나중에 헤더파일이 무엇하는놈이지 알게되면
아하~! 할겁니다.^^
그리고 중요한건 void main()으로 시작해서 처음의 중괄호( { ) 부터 마지막 중괄후 ( } ) 까지..
가 가~~자~~앙~! 중요합니다. 메인(main)함수라고 하는데요 C언어는 무.조.건.
메인함수부터 시작합니다. 일단 형식은 이렇게 써주는구나 하고 외워두세요
나중에 사용자함수 설명할때 다시 차근차근 설명해드리겠습니다.^^//
아무튼 그렇게 해놓고 저 중괄호 안쪽 부분에 자신이 코딩하고 싶은 것을 써주면되는것입니다.
2번을 보시면 printf(""); 이렇게 있죠? 이게 한 문장입니다.
C언어는 한문장을 세미콜론( ; )으로 구분합니다. 이건 다음 포스팅때 실험해보겠습니다.^^
printf() 라는 함수는 쌍따옴표(" ")로묶인부분을 화면에 출력해라! 라고 명령을 내리는
함수입니다.
자꾸 함수 ~ 함수 ~ 하니깐 처음 보시는 분은 헷갈리실듯..ㅎ;
그냥 printf() 쓰고 그안에 쌍따옴표 찍고!! 다시 그안에 자신이 칠 문장을 치면
바로~ 모니터로 나온다고 알아두세요^^
그리고 쌍따옴표 안에 \n 요거 있죠? 이건 커서를 다음줄로 개행(new line)하라는
뜻입니다. 결국 Hello World 라는 문장을 출력하고 커서는 다음 칸으로 이동하라는 거죠
마치 저희가 메모장이나 워드프로세서 에서 글쓰다가 엔터 치는것처럼요^^
한번 그부분 지우고 쳐보세요~~ 시스템에서 기본적으로 출력해주는
Press any to key continue 라는 문장이 바로 붙어서 나올겁니다.ㅎㅎ
아~~ 짧은 프로그램 인데 여러가지 설명이 많이 들어가네요..^^;
이미 알고계시거나 프로그래밍에 도가 트신분들께는 이런 포스팅 보여드리기가 많이
부끄럽네요..^^;
아무튼 처음 접해보시는 분들~~많이 도움되시길..^^
그럼 다음엔 C언어에서의 문장구분 잠깐 실습해보고
좀더 계산적인(?)프로그램을 만들어볼께요..ㅎㅎ
Double-J's World » Com...Tips!
USB 메모리 살때 알아볼것!^^ (SLC / MLC)
Double-J | 2008. 1. 13. 19:55

이젠 현대인의 필수품이
되어버린 USB메모리!!
학생이고 직장인이고를 막론하고
USB메모리를 가지고 다니는 사람을
많이 볼수있습니다.^^
또한 요새 가격도 많이 착해져서
우리의 선택폭을 넓히고있는데요..
이 USB메모리가 크게 두 종류로
분류 되는 사실을 알고 계세요?
바로 SLC(Single Level Cell)방식과 MLC(Multi Level Cell)방식입니다.
보통 쇼핑몰이나 이런데서 팔때 별다른 표시가 없으면 MLC방식이라고 보면 됩니다.
SLC와 MLC의 차이는 간단히 말하면 USB메모리는 NAND Flash Memory라는것으로
만들어져있고 이 메모리는 셀(Cell) 이라는 공간에 정보(bit단위..)를 저장합니다.
그런데 SLC는 셀 에 하나의 정보(1bit)를 저장하고 MLC는 한 셀 안에
다수의 정보(다수의 bit)를 저장합니다.
그런데 한 셀에 여러 정보를 담으려면(MLC방식) 기록되어야 하는 정보의 양이 약간더많습니다.
SLC방식 보다요..^^
그래서 속도가 조금더 느리고요~ 대신 SLC보다 약간 기록횟수가 많습니다.
참고로 Flash Memory는 기록횟수 제한이 있는데 영원히 사용할 수 는 없습니다.
일정 기록횟수를 넘어버리면 수명을 다하게 되는거죠..ㅎ;
아무튼 결론적으로 보면 대용량의 데이터를 빠르게 읽고/쓰기를 하고싶은분은
SLC방식을 추천해드리고요
쓰는 데이터파일이 대부분 작거나 저장용도로 많이 쓰시는 분은 MLC방식을 추천해드립니다.
두 방식의 속도나 안정성면은 분명히 차이가 있지만
일반 사용자가 쓰기에는 그다지 큰 차이가 없기때문에 머리아프신분은 그냥 쓰셔도
무방합니다.^^;
이 두방식에대해 조금더 자세히 알고 싶으신분은 링크를 참조하세요..^^
요기~!! --> 링크링크
ps : 아! SLC방식이 MLC방식보다 약간더 비쌉니다.^^; 참고하세요*
화재가있었던 이천의 병원에서 일어난 배터리 폭발
Double-J | 2008. 1. 10. 10:21
얼마전 델사의 노트북도 터져버리더구만 이거 ...ㅡ.ㅡ;
뭐 저야.. 배터리가 다 방전된 관계로 배터리를 가지고 다니고 있지는 않지만.;
이거 겁나서 노트북 들고 다니겠습니까..
저번 델은 많은 분들이 기억하겠지만.. 그냥 책상위에서 폭발해버렸고..
이번에는 노트북 켜져있는채로...가방에 있었다고 하던데...
상식적으로 보면 덮으면 절전모드가 되서 열이 덜날터인데...ㅡ.ㅡ;
어쨌거나 켜져있는채로 가방에 넣어두고 다닌것도 잘못이긴 잘못이겠죠.
이번 모델은 우리나라 기업 L모사의 z계열이라나?ㅎ;
노트북에 리눅스를..(with VMware)
Double-J | 2008. 1. 8. 12:58
가지고 있는 노트북에 항상 리눅스를 깔아보고 싶었다.
현재 나의 노트북의 스펙은..

위와 같다..ㅎㅎ 사양 만으로 봐선 요새 나오는 노트북과 비교해서 스펙이 조금 떨어지지만
내가 할일을 힘겹지만(?) 묵묵히 해주는녀석이라 너무 사랑스럽다^^
아무튼.. HDD를 업그레이드 했음에도 불구하고 은근히 빡빡한게 사실이다.
특히 내 원래 목적인 리눅스와 윈도우XP를 멀티 부팅하기 위해서는 원래 있던
DATA도 다른데 백업해놓고 갈아 엎어야되니...귀차니즘의 압박이 장난이 아니었다.;
그래서 VMware 라는 녀석으로 타협좀 봤는데. 이녀석은 간단히 말하면 자신의 컴퓨터안에
가상의 컴퓨터를 한대 더 만들어주는 녀석이다. 물론 그렇게 가상으로 만들고 나면
윈도우든 리눅스든...다 깔수있어서 아주 매력적이다.
사실 우분투를 설치하고싶었는데 그냥 평소에도 익숙한 Fedora core 6 를 설치하기로 맘먹고
설치를 기다린지 약 40분...(고생했다...노트북아...ㅜ) 스펙이 딸리다보니 시간이
꽤 오래 걸렸다.
아무튼 대망의 설치후 모습은!! 다음에 나와있다.

리눅스에 탑재되어있는 불여우로 티스토리 메인화면에 접속한 화면이다.
아무튼 일단 목적달성!! ㅎㅎ
이렇게 고생해가며 설치한 이유는 리눅스를 가끔씩 하고자하는 욕구(?)와.ㅎ;
요즘 시간나면 네트워크프로그래밍 연습을 하는데 이분야의 특성상
운영체제에 종속되어서 하다보면 실력이 늘지 않는다는느낌을 지울수가 없어서 이다.ㅎ;
여하튼 현재 시스템에서 두가지 운영체제를 쓰고 싶은 분은 위와 같은 방법을 추천해드린다.
물론 리소스를 꽤 잡아먹긴 하지만.. ㅡ,.ㅡ;
근래의 도서관은..
Double-J | 2008. 1. 8. 12:01
겨울방학한 대학생.... 이보다더 시간이 있을수 있을까? ㅡ.ㅡ;
물론 본인은 이제 4학년이라 다가오는 압박은 어쩔수 없지만 ;;
아무튼 어제는 집에서 집중 못하고 가만히 있느니 집근처의 도서관을 갔다왔는데..
최근에 의정부에 '정보도서관' 외에 '과학도서관'이라고 신설되었는데
탐색차 순찰(?)을 갔다 왔는데 생각보다 괜찮았다 ㅡㅠㅡ
노트북 전용실도 유리막으로 따로 구분되어있고.. 지어진지 얼마 안된것이라 그런지
곳곳에 현대적감각의 디자인들~~ * Bravo! 정신이 없어서 내부 사진이 없는데
곧~ 일부 내부 사진을 올릴예정이다~~^^
참고로 위의 사진은 밤에 귀가하며 찍은 '의정부과학도서관'정면~~ㅎㅎ
Double-J's World » Com...Tips!
[Tips] 작업표시줄이 윈도우(창)에 파묻힐때~!
Double-J | 2008. 1. 5. 20:54
가끔 가뭄에 콩나듯이..ㅎ;
윈도우(창)을 최대화 시켰을때 작업표시줄이
그창에 파묻혀버려서 어찌할 바를 못하는 분들을 간혹 본적이 있다.
그럴땐 작업표시줄을 오른쪽 버튼 클릭후 '속성'을 선택한후
다음 화면에서

상황종료~~ㅎ
음...너무 쉬운팁인데..ㅡ,.ㅡ
티스토리 디자인..
Double-J | 2008. 1. 4. 16:44
티스토리 디자인은 태그나 뭐 이런거 많이 알아야 될것 같은..
실제로 스킨적용도 생소하고...ㅎ;;
일단 그냥 기본적인 스킨으로 해놨는데...
사람들이 공개해놓은 스킨 괜찮은것인지...;;
누가좀 스킨에대해서 좀 알려줘요..ㅎㅎ;
Double-J's World » Programming/C / C++
[C 박살내기] #1_프로그래밍이란..
Double-J | 2008. 1. 4. 16:41
아직 공학도 3학년을 마친 내가 이런글을 포스팅하는 자체가
어쩌면 건방질지(?)모르는 이야기이다. 내가 그나마 아는 언어도..
C/C++ 을 조금 배웠을뿐인데..(학부에서 자바와 MFC도 배우긴했지만..사알~짝~ㅎ)
그래도 내 머리속에 있는 지식을 정리하는 목적이기도하고..
이제 프로그래밍쪽이나 컴퓨터공학이나 컴퓨터 과학 쪽으로 관심있는 분들에게
조금이나마 도움이 됬으면 하고 용기를 내어 포스팅~!
일단 프로그램언어의 종류는 꽤 많다. C, C++, java, php, asp, fortran...등등..
이중에서 내가 그나마 아는 분야는 C / C++ 쪽이다. java가 대세이긴 한데...
아직도 공부하면서 고민되는 부분이긴하다...실제로 주변에 많은 사람들도
JAVA와 DB(Data Base) 중심으로 공부를 한다...(아직도 난 패닉상태..ㅎ;)
아무튼 Web 기반 이든 아니든.. 리눅스기반이든..윈도우기반이든...그 환경을 막론하고
프로그래밍에서 말하는 Language 는 컴퓨터와 '대화' 하기 위해 만들어 진것이다.
아주아주 처음에는 이진수로 프로그래밍을 하였다... 컴퓨터가 이해할수있는 '기계어'이기 때문이다.
이 기계어는 이진수로 이루어져있다.. 그런데 이렇게 사람이 이진수로만 작업하다보니...
힘들기도하고 작업시간도 오래걸려서 이것을 점점 발전시켜서 자연어에 가까운 현재의
Language가 된것이다. 집중만 잘해서 관련도서를 잘 본다면 금새 이해가 가능하다.
(Programming Language 는 분류상 '인공어'이다. 하지만 소스 안에서
사람이 이해할수 있는 단어들이 있어서 단지 자연어에 가깝다고 한것이다.
이 포스팅을 읽는 분들이 Programming Language 는 자연어다! 라는
오해를 하지 않았으면 한다.ㅎ;
)
아무튼... 컴퓨터가 일련의 작업을 하기위해 명령을 해야 하는데
이것을 바로 프로그래밍 언어(Language)로 하는것이다. 프로그래머들이 이를 이용해
좀더 쉽게 Application을 만들어 놓은것을 일반사용자 (end-user)가 또 편하게 사용하는것이다.
단적인 예로 영어 밖에 모르는 미국사람에게 자신의 뜻을 이해 시키려면 영어로 얘기해야 할 것이다.
그 외국인에게 한국말로 "몇살이냐고!!" 를 외쳐봐도 못알아듣는다. ㅡ,.ㅡ
컴퓨터도 마찬가지이다. 아무리 영어로, 한국어로, 일본어..등등으로...
"컴퓨터 화면에 내가 원하는 문자를 출력해줘!!" 라고 외쳐봐도 컴퓨터는 묵묵부답이다.
물론 그런기능을 가진 Application 이 있다면 얘기가 다르겠지만 그런 end-user 의 입장은 논외로
하겠다. 컴퓨터가 이해할수있는 언어로 얘기를 해야 이놈이 알아 먹는다...ㅎ;
다음은 C 로 구성된 어느책에서나 볼수있는 출력문이다.

컴퓨터 모니터에 'Hello World!' 를 출력해줘!
라는 의미이다. 다음은 실행결과~!

그런데....아까전엔 분명히 컴퓨터가 이해할수 있는언어는 이진수로 이루어진
'기계어' 뿐이라고 했다. 그런데 위의 소스에는 영어로되어있다.ㅡ.ㅡ;
거짓말을 한 것이 아니라. 저 과정은 '컴파일' 이라는 과정을 거쳐서 실행되기에
실행이 가능한것이다... 이에관한것은 나~중에~ 다시 포스팅을 하도록하겠다.
오늘은 여기까지~~*
Double-J's World » Com...Tips!
[Tips] 숨김파일/폴더 보기를 설정해도 안보일경우!
Double-J | 2008. 1. 4. 14:22
바이러스나 악성코드에 의해 레지스트리가 손상된 경우
이런 경우가 발생할수 있다.
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
"CheckedValue"=dword:00000001
위의 내용을 텍스트 편집기등에 붙여넣기 한다음 확장자를 .reg로 해서 저장하고
실행!!!
티스토리 시작~!
Double-J | 2008. 1. 4. 13:31
처음으로하는 티스토리 포스팅!!
글제주는 얼마 없지만
이것저것 내 생각도 적고
관심사에 관한 자료도 모아보고
여러 블로거들과 정보나 의견도 공유하고 싶다.

은근히 기대된다~*
ps : 네이버 블로그를 자료 정리용으로 쓰고있다가
사람들이 티스토리가 블로그다운 블로그라서 일단
시작은 했는데...
디자인 적용이 매우 생소하다..ㅡ.ㅡ;
왠지 포토샵과 xtml을 잘해야될것 같은..ㅡ.ㅡ;