Computer & Program 113

[Java]Call by value / reference

예전에 처음으로 C언어를 Call by value와 Call by reference의 개념은 나에게 매우 인상적이었다.말로 설명하기에는 너무 추상적인 느낌이라 잘 할 수 없지만 뭔가 미심쩍던 부분들이 한방에 해결되는 그런 느낌이었다. 그러다 Java를 시작하게 되었고 Java를 처음 접하는 나에게 누구나 처음 말하는 것은 "Java에는 pointer 개념이 없다!" 였다. 그 말을 듣는 순간 다시금 내가 알고 있던 개념들이 안개속에 들어가 뿌예지는 것을 느꼈다. 대체 pointer 개념 없이 어떻게 컴퓨터가 동작 할 수 있다는 말인가!? 그리고 Java를 공부하다 어느 문구를 보는 순간 피식하고 웃었다. 그 문구란 "Java에는 참조가 있다" 였다. Java가 워낙 API가 막강하다보니 왠만하면 신경 안..

Windows에서 한/영 변환

Windows에서 인터넷을 하다 어느 순간 한/영 전환이 안될 때가 있습니다.대부분의 경우 영어에서 한글로 전환이 안되는데 참 답답하고 난감하며 속에서 무엇인가가 올라오는 기분일 것입니다.해결 방법을 찾으려고 해도 한글이 입력이 안되서 검색도 안되고요... 그래서 저도 이번 기회에 이러한 문제를 해결 방법을 적어 놓으려고 합니다.우선, 이러한 현상이 일어났을 때 작업표시줄에 입력 도구 모음이 없을 것입니다. 한/영이 변환이 안되는 이유도 사실 이 입력 도구 모음이 없기 때문인데 이것을 활성화 시키는 방법을 보면..."시작"에 "프로그램 및 파일 검색" 또는 "실행" 창에서 ctfmon.exe라고 입력하고 enter를 누르면 됩니다. 이렇게 하면 입력 도구 모음이 실행이 되고 정상적으로 한/영 변환이 됩니..

[Database]간단한 sqlite 사용법

안녕하세요. TDR입니다. 이번에는 sqlite의 사용법에 대해서 간단히 적어보려 합니다. (매번 그렇지만 이건 어디까지나 제가 찾아보기 편하기 위해 적는 글임을 미리 밝힙니다.) 우선 sqlite가 뭐냐 하면 말그래도 lite한 sql 이라고 생각하시면 됩니다. 자세한 내용은 읽은거 같은데 자세한 내용은 기억이 안남으로 찾아보시기 바랍니다. 기억하기로는 다른 데이터베이스에 비해 매우 작은 크기에 안정적이고 크로스 플랫폼을 지원하기 때문에 임베디드 환경에 적합하다고 했던거 같습니다. 그럼 바로 간단히 사용법을 볼까요? 우선 DB를 이용하려면 DB파일을 생성해야겠죠? & sqlite3 temp.db 위 명령어로 DB파일을 생성할 수 있습니다. 파일 확장자로 db를 붙였는데 확장자 이름은 의무로 db를 붙이..

[Java]추상 클래스 & 인터페이스

안녕하세요. TDR입니다. 이번에 정리해볼 거는 추상 클래스와 인터페이스 입니다. 이 둘은 비슷해 보이면서도 조금 차이가 있는데요 한번 알아 보죠. 추상 클래스(abstract class) : 추상 메소드를 가진 클래스 추상 메소드(abstract method) : 구현은 하지 않은 상태로 반환 값 & 메소드 이름 & 파라미터만 정해진 메소드 - 예전에 C언어로 코드를 작성할 때 A()라는 함수를 부르기 위해서는 호출하는 위치보다 위에 함수를 작성하거나 "이런 함수가 쓰일 것이다"라고 하여 미리 함수의 형만 정의하고 아래에 함수를 구현했던 것을 본적이 있으실 겁니다. 어떻게 보면 이와 유사한 느낌입니다. 즉, "이런 형태의 메소드를 여러군데에서 쓸 것이다"라고 하면서 미리 선언해 놓는 거죠. 그럼 왜 내..

[Java]접근제한자

안녕하세요. TDR입니다. 저번의 제한자에 이어서 오늘은 접근제한자에 대해서 정리해 보겠습니다. 접근제한자에 대해서는 특별히 할 말도 없고하니 바로 보겠습니다. +++ public +++ : 어떤 때라도 상속과 이용이 가능합니다. - public은... 그야말로 아무대서나 막 쓸 수 있습니다. 오브젝트 안밖 할꺼 없이 다 이용가능하고 패키지 안밖 할꺼 없이 다 쓸 수 있습니다. 물론 상속도 패키지 안밖 할꺼 없이 다 가능합니다. 그냥 여기저거에서 막 쓰고 싶을 때 public을 선언해 주면 되겠습니다. +++ private +++ : 오브젝트 안에서만 쓸 수 있습니다. - 위에서도 설명 했지만 오브젝트 안에서"만" 쓸 수 있습니다. 그 말인즉, 일단 상속... 절대 안됩니다. 그게 패키지 안이든 밖이든 ..

[Java]제한자

안녕하세요. TDR입니다. 이번에 정리해 볼 거는 JAVA에서의 제한자 입니다. 저는 Java를 야매(?)로 배웠다고 하기에도 애매하게 배워서 처음에 그야말로 혼돈의 도가니였습니다. 그 중에서도 가장 햇갈렸던게 C언어와 달리 앞에 붙는 제한자와 제한 접근자였는데 막상 이것이 무엇인가를 찾아보면 글로 이건 이거다라고 잘 설명이 나와 있지만 뒤돌아 서면 햇갈리고 다시 찾아보고를 반복했던 기억이 있어서 이번 기회에 이것들을 정리해 보고자 합니다. final : 필드나 클래스에 붙이는 제한자로 이것이 붙은 필드는 수정 할 수 없고 클래스는 상속 할 수 없습니다. 정의는 이런데 사실 이런 것만 보고는 보는 순간만 이해가 갑니다.(저는 그랬습니다. -_-;;) 간단한 예를 보면... example #1) final..

[Java]연산자 우선순위

안녕하세요. TDR입니다. 매번 쓰면서도 매번 햇갈리는 거를 매번 찾아보기 지쳐서 찾아 보기 쉽도록 정리하는 페이지 입니다. 코딩을 하다보면 순간적으로 "응? 이거 누가 먼저 연산이 되던거였지? ㅡ_ㅡ?"하는 순간이 있습니다. 평소에는 사실 그렇게 복잡한 연산을 할 일이 없기 때문에 그럴일이 거~~~의 없지만 아주 가~~끔 어쩌다 한번 조금 복잡한 수식을 쓰면 내가 써놓고도 모든게 의심스럽게 보일 때가 있습니다... 사설이 길어졌는데 우선 순위를 정리해 보겠습니다. 연산자 1 [ ], ( ), ++(후치), --(후치) 2 ~, !, ++(전치), --(전치), +(부호), -(부호) 3 new, 캐스트 연산자 4 *, /, % 5 +, - 6 , >>> 7 , >=, 8 ==, != 9 &(비트 연산)..

주민등록번호 & 패리티 코드

우리 일상 생활에 쓰이는 코드(ex. 바코드, 주민등록번호 등등)에는 패리티 코드, 즉 확인 코드가 많이 쓰이고 있다. 우선 주민등록번호의 구성을 살펴보면... 이렇다. 앞의 6자리 구성은 모두 알고 있었을 것이다. 그리고 뒷자리 7자리 중 첫번째 자리역시 누구나 아는 사실이다. 그리고 나머지 5자리는 출생 지역 및 출생 신고 순으로 결정된다. 그리고 가장 중요한 오류 검증번호(패리티 코드)가 있다. 예를 들어 881225-123456X라고 하자. 그럼 아래와 같은 방법으로 임의의 수 X를 구한다. (8*2) + (8*3) + (1*4) + (2*5) + (2*6) + (5*7) + (1*8) + (2*9) + (3*2) + (4*3) + (5*4) + (6*5) = X 이렇게 하여 X라는 숫자가 나온다..

[Vi/Vim]을 사용해 보자!!

안녕하세요. TDR입니다. 컴퓨터 관련 업계 또는 전공자 분들은 vi editor를 쓸 일이 많이 있을꺼 같은데요 워낙 Visual Studio, Eclipse 등과 같은 GUI 환경에 익숙해 져서 막상 Vi를 쓸려고 해도 좀 답답한 감이 있지 않나 싶습니다. 다른 분들은 몰라도 저는 그렇습니다. -_-;;; 물로 제 주위에는 Vi가 가장 편하다고 하시면서 GUI를 뛰어넘는 현란한(?) 코드 편집술을 펼치시는 분들도 왕왕 계십니다. 그래서~ 아시는 분은 다 아시는 Vi / Vim 단축키에 대해 포스팅을 해보려고 합니다. 우선 Vim의 공식 싸이트 아래와 같습니다. http://www.vim.org/ 아래 사진을 올리겠지만 단축키 및 다른 소프트웨어와 호환 할 수있는 프로그램을 파는 사이트는 아래와 같습니..

eclipse에 android 개발환경 구축하기

안녕하세요. TDR입니다. 여러번 했음에도 불구하고 막상 할려고 하면 어떻게 하는지 잘 기억 안나는 그런것들 있으시죠? 저 같은 경우 대표적인게 eclipse에 android ADT plugin을 설치하는 것입니다. 그래서~ 매번 다른 사람이 올려 놓은 사이트를 참조하는데 보기가 썩 편한게 아니어서 보기 편하게 본인의 블로그에 정리를 할려고 합니다. 즉, 저를 위한 블로그이니 다소 불편하더라도 감내(?)해 주시기 바랍니다. 1. 우선 eclipse이와 JDK를 설치해야 하는데... 이건 뭐 googling하면 다 나오니 생략... 참고로 저는 eclipse는 HELIOS를 설치하였고 JDK는 1.4.2_19를 설치하였습니다. 2. 그 다음은 android sdk를 설치할 차례인데... Android De..

Google의 장난? 진심?

안녕하세요, TDR입니다. 요즘 인터넷에 많은 번역기가 있는데 아마도 가장 많이 쓰는게 google 번역기가 아닐까 생각됩니다. 그 google 번역기에서 혹시 이런거 해보신적 있으신지요? "안드로이가 아니폰보다 좋다." 라고 입력하고 번역을 누르면 "Android better than iPhone." 이라고 나옵니다. 당연한 결과지요... 문제는 아래의 번역입니다. "아이폰이 안드로이드보다 좋다." 라고 하면 결과는... "Android better than iPhone." 라고 나옵니다. 그렇다고해서 google 번역기가 망가진건 아닙니다. 오직 이 문장에 한해서만 이런 결과가 나오는 거니까요 ㅎㅎ 그만큼 google이 Android에 신경을 많이 쓰고 자부심도 가지고 있다는 소리겠죠? 못 믿으시는 ..

[HTC]디자이어 팝

요즘 길거리에서 핸드폰을 쓰는 사람보다 스마트폰을 쓰는 사람을 더 쉽게 볼 수 있게 되었다. 그만큼 빠른 속도로 피쳐폰에서 스마트폰으로 옮겨 가고 있다. 그런 스마트폰의 양대산맥이라고 한다면 단연 Apple과 Android일 것이다. 즉, iphone vs android phone의 대결구도이다. 물론 그 외에도 윈도우폰이라던지 블랙베리와 같은 것들도 있지만 크게 보자면 그렇다는 것이다. iphone이야 Apple에서 밖에 안 만들어지고 있기 때문에 디자인만 보더라도 한눈에 알 수 있지만 Android 폰은 그렇지 않다. Android는 OS이고 그것을 만드는 회사는 수없이 많기 때문이다. 그 중에서도 오늘 다룰 회사는 Android의 최대의 수해자라고도 불리는 대만의 HTC이다. 실제로 현재까지 내가 ..

헝가리 표기법(Hungarian Notation)

가끔가다 어떠한 코드를 보다보면 변수 앞에 소문자 또는 소문자_ 형태로 되어 있는 것을 본적이 있을 것이다. 그렇다면 이러한 변수는 뭘까? 그냥 코드 짠 사람이 보기 좋으라고? 자신이 변수를 구분하기 쉬우라고? 전자는 오답, 후자는 반만 정답이다. 답은 변수를 구분하기 쉽게하기 위해서이다. 이러한 소문자를 아무렇게나 막 붙이는 것이 아니라 특정한 규칙을 가지고 붙이다. 이러한 표기법을 헝가리 표기법(Hungarian Notation)이라고 부른다. 우선 가장 많이 쓰면서도 대표적인 것들을 보면... 이렇다. 이런 표기법을 정해놓은 이유는 헝가리 표기법을 적용해서 변수 이름을 정하면 오류를 사전에 예방할 수 있고 다른 사람도 좀 더 쉽게 코드를 이해할 수 있기 때문이다. 실제로 다른 사람의 코드를 볼때 최..

ASCII Coed

갑자기 생각나서 올린다. 예전에 자료구조를 할 때 문서로부터 글을 받아 와서 조작하는 프로그램 과제를 해야 했던 일이 생각나는데 그때 ASCII Coed를 사용하지 않고 어떻게든 구조적으로 해결할려고 하다가 시간을 시궁창으로 갖다 버린 일이 생각났다. 혹시나 해서 올리는 거지만 DEC(10진수), HEX(16진수), OCT(8진수) 이다. 그냥 노파심에 써봤다. 그리고 아래것이 127번 이후의 ASCII code 값이다. 거~~의 쓸 일은 없지만 그래도 인생사 알 수 없으니 올려봄. -_-v

ctags 설정 방법

안녕하세요. TDR입니다. 이번에 OS과제를 하다보니 필수적으로 써야하는 기능이 있었는데 그게 ctags입니다. ctags란 code file들을 상위 level에서 묶어서 관리해줌으로써 내가 필요한 함수, 구조체, 클래스, 변수 등의 선언부로 jump 할 수 있게 해주는 기능으로 이 함수의 구현을 보고 싶다면 그 함수가 선언된 code file을 직접 열어보지 않고도 손 쉽게 이동 할수 있는 기능을 말합니다. 그럼 우선 ctags 설치 방법을 알아보면... 음... 갑자기 말문이 막히는데 제가 이 정보가 과연 어디까지 사실(?)인지 알 수가 없기 때문에 그렇습니다. 그냥 제가 아는대로 찌껄이겠습니다. ( -_- 양해 please~) UNIX에서도 되고 LINUX에서도 되는 것으로 알고는 있는데 과연 U..

반응형