Jar로 압축하는 방법


Windows - cmd

MAC OS X - terminal


각 OS에 맞게 실행한 후 압축할 파일이 있는 폴더로 이동하여 아래와 같이 입력.

jar cvf FileName.jar



Jar를 압축해제하는 방법


Windows - cmd

MAC OS X - terminal


각 OS에 맞게 실행한 후 압축을 해제할 jar파일이 있는 폴더로 이동하여 아래와 같이 입력.

jar xvf JarName.jar


명령어(jar) 옵션(cvf / xvf) 파일명(FileName / JarName.jar)


아래는 Jar의 옵션입니다.


c(Create) : 새로운 JAR 파일을 생성하기 위해 사용한다.


t(Table) : JAR 파일의 목록을 나열하기 위해 사용한다.


u(Update) : 기존의 JAR 파일을 수정하기 위해 사용한다.


x(eXtract) : JAR 파일로부터 파일을 추출할 때 사용한다.


v : 압축률 및 생성일시 등의 자세한 정보를 보여준다.


f : jar 파일의 이름을 지정할 경우에 사용한다.


m : 지정된 manifest 파일로부터 menifest 정보를 JAR 파일 내에 포함시켜 준다.


0 : zip 형식의 압축을 하지 않고, 단지 파일을하나로 묶어주기만 한다.


M : menifest 파일을 생성하지 않는다.


-C : 지정된 디렉토리의 파일들을 포함시킨다.




WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT김군입니다.


MAC OS X를 사용하면서 로그인 할 때마다 제 계정 옆에 방문사용자가 있는 것이 가끔 대충 누르다보면 잘못눌리기도 하고 매우 불편하더군요.


방문사용자를 제거하는 방법에 대해 알아보도록 하겠습니다.


우선 방문사용자가 있는 로그인 화면입니다.




해당 화면에서 '방문 사용자'를 제거해보도록 하겠습니다.


기존에 사용하시던 본 계정으로 로그인 하신 후 환경설정에 들어갑니다.







시스템 환경설정 ---> 사용자 및 그룹


위 항목에 들어가시면 위 화면과 같이 나올 것입니다.


그럼 위 화면에서 빨간박스가 쳐져있는 곳과 같이 좌측 하단 자물쇠를 클릭하여 잠금을 풀어주신 후


좌측 중간 쯤 메뉴에 있는 '방문 사용자'를 눌러주시면 아래 화면과 같이 나타납니다.





위 화면에서 빨간 박스가 쳐져 있는 '방문자가 이 컴퓨터에 로그인하도록 허용'에 되어있는 체크를 해제해줍니다.


그 다음 다시 자물쇠를 클릭하여 잠금을 해주시면 작업이 완료됩니다.


위 작업을 모두 거친 후 재부팅을 해보니 아래와 같이 '방문 사용자'는 제거되고 나타나지 않습니다.




궁금하신 점이나 잘못된 부분 있으면 댓글주세요.


도움이 되셨다면 공감 한 번 부탁드립니다.


감사합니다.




WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT김군입니다.


이번 프로젝트에서는 PostgreSQL을 사용하게 되었어요.


그래서 그냥 간단한 기초들부터 메모해보겠습니다.


오늘은 그냥 기본 쿼리문입니다.



INSERT Query

INSERT INTO 스키마명.”테이블명” (“칼럼명”,”칼럼명2”,”칼럼명3”) VALUES (값1, 값2, 값3);



SELECT Query

SELECT*FROM 스키마명.”테이블명”;
SELECT “칼럼명” FROM 스키마명.”테이블명”;



UPDATE Query

UPDATE 스키마명.”테이블명” SET “칼럼명”=변경 값 WHERE 조건;



DELETE Query

DELETE FROM 스키마명.”테이블명” WHERE 조건;



PostgreSQL은 기본적으로 대소문자를 구분하기 때문에 "" 큰 따옴표 안에 써야하는 것들이 많습니다.


하지만 이 큰 따옴표를 쓰지 않고 쿼리를 던질 수 있는 방법은 매우 간단합니다.


테이블부터 칼럼까지 모두 소문자로 생성하시면 큰 따옴표 없이 그냥 사용하실 수 있습니다.


모두 소문자로 작성하시면 아래와 같이 작성하실 수 있습니다.

INSERT INTO 스키마명.테이블명 (칼럼명,칼럼명2,칼럼명3) VALUES (값1, 값2, 값3);



잘못된 부분이나 궁금한 점 댓글주세요.


감사합니다.



WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT김군입니다.


javascript에서 전화번호를 하이픈 없이 입력받아서 사용 후 하이픈을 넣은 값도 필요할 때가 있는데요.


이때 복잡하게 알고리즘으로 해결하시기 보다는 깔끔한 정규식을 추천드립니다.


var phoneNum = "01011111111";
phoneNum = phoneNum.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");


그리고 모바일 앱을 개발하시는 분들 중에는 입력받는 방식이 아닌 직접 핸드폰 번호를 가져오는 방식을 사용하시는 분들도 계실텐데요.


이 때 +82로 시작하여 국제번호로 들어오는 경우도 있더군요.


그 때 저는 확실한 처리 방법은 아니지만 아래와 같이 처리했습니다. (국내라는 가정하에 작성했습니다.)

ex) 가져온 번호가 var phoneNum = "+821011111111"; 이라고 가정
if(phoneNum.startWith("+")){
    phoneNum = "0"+phoneNum.substring(3);
}

더 좋은 방법 있으면 댓글주세요!


감사합니다.


WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT김군입니다.


맥북 프로를 구매한지 얼마 되지 않았는데 아무래도 작업을 많이 해서인지


터미널에서 cd , ls 등등의 자주 쓰는 명령어에도 속도가 빠르게 반응을 하지 않더군요.


그래서 여기저기 찾아본 결과

$ cd /private/var/log/asl/

에 들어가시면 쌓여있는 로그가 있는데 여기서 아래와 같은 명령어로 asl 로그파일을 삭제해주시면 됩니다.

$ sudo rm -rf /private/var/log/asl/*.asl

위와 같이 삭제하고나니 다시 속도가 처음처럼 빨라졌습니다.


도움이 되실 것 같습니다.


P.S asl = Apple System Log


감사합니다.


WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT김군입니다.


MAC OS X를 사용하면서 듀얼모니터를 사용하다보니 저도 모르게 dock이 다른 모니터로 이동해버리는 현상이 있었습니다.


도무지 dock이 왜 이동을 하는지 몰랐는데 알고보니 마우스로 dock을 이동하더군요....


그 방법에 대해 설명해보도록 하겠습니다.


제가 설정한 초기 화면은 아래와 같이 좌측 모니터에 dock이 있는 형태였습니다.



그런데 가끔 사용하다보면 보조모니터 쪽으로 dock이 이동하더라구요.


그 이유는 마우스 포인터였습니다.




마우스 포인터를 우측 모니터 하단부로 쭉 내리기만하면 dock이 이동합니다.


다시 좌측으로 바꾸려면 좌측 모니터 하단부로 마우스 포인터를 쭉 내리면 dock이 이동합니다.


너무 기본적인건데 저만 몰랐던 사실인가요....??


추가적으로 option + command + d 버튼으로 아래와 같이 dock을 숨길 수 있습니다.



dock을 숨기신 후에 마우스를 가져다 대시면 다시 dock이 올라옵니다.


windows에서 작업표시줄 숨김 기능과 같습니다.


궁금하신점 댓글주세요~


감사합니다.


WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT김군입니다.


보통 설명을 쓰거나 가이드 기능을 구현할 때 많이들 펼쳤다 접었다 하는 기능을 사용하시는데요.


html에서 제목을 누르면 내용이 펼쳐지고 다시 제목을 누르면 내용이 접히게 구현하는 소스는


<span id="test style="CURSOR: hand" onclick="if(plain.style.display=="none")

{plain.style.display=''; test.innerText = '➤ 누르면 접기'} else {plain.style.display = 'none';

test.innerText = '➤ 누르면 펼치기'}">➤ 누르면 펼치기</span>

<div id="plain" style="display: none"><HR>여기에 내용을 입력하시면 펼쳤을 시 표시됩니다.<HR></div>


위와 같이 소스를 입력하시면 아래와 같은 기능으로 구현됩니다.


아래 소스코드 하이라이트의 ➤ 누르면 펼치기를 클릭해보시면 기능을 보실 수 있습니다.

➤ 누르면 펼치기


궁금하신 사항 있으시면 댓글주세요.


감사합니다.


WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT김군입니다.


오늘은 C언어의 기본 입력, 출력, 특수문자, 서식문자에 대해 알아보도록 하겠습니다.


C언어의 기본 예제들을 보시면 항상 위에 #include <stdio.h>를 선언합니다.


위 헤더파일 선언 등이 이해가 되시지 않는다면 제 이전 포스팅을 보시면 될 것 같습니다.


이 <stdio.h>에는 표준 입출력 함수들이 정의되어 있습니다.


그 중 출력이 printf입니다.


#include <stdio.h>

int main()

{

printf("Welcome Kimgoon Blog!\n");

return 0;

}

위와 같이 예제 소스를 입력한 후 실행을 하게되면 콘솔창에 아래와 같이 표시되게 됩니다.



이렇게 출력을 할 수 있게 표준 입출력에 정의되어 있는 함수가 printf()입니다.


printf()를 알아가게 되면서 같이 익히는게 특수문자와 서식문자인데요.


우선 특수문자에서 자주 사용하는 것에  대해 정리하자면


\a

경고음 소리 발생 

 \n

개행 (줄바꿈) 

 \t

수평탭 (탭만큼 수평으로 밀기) 

 \\

역슬래시 (\) 

 \'

작은따옴표 (') 

 \"

큰따옴표 (") 


위와 같이 개행이나 탭, 특수문자를 사용할 때 많이 쓰입니다.


printf() 사이에 한 번씩 입력해보시면 금방 이해하실 것 같습니다.


다음은 서식문자에 대해 정리해보겠습니다.


 %d , %i 

10진수 정수 (양수와 음수 모두 표현 가능) 

 %x, %o

16진수 정수, 8진수 정수 (양수만 표현 가능) 

 %f, %lf

10진수 실수 (양수와 음수 모두 표현 가능) 

 %c

한 개의 문자 

 %s

문자열 

 %u

10진수 정수 (양수만 표현 가능) 

 %e

e 표기법에 의한 실수 

 %E

E 표기법에 의한 실수 

 %%

% 기호 출력 


위와 같습니다. 특수문자나 서식문자는 모두 외우실 필요 없이 참고만 하시면 될 것 같습니다.


코딩하다보면 자연스럽게 많이 사용하던 것은 외워지니 크게 신경쓰실 필요 없을 것 같습니다.


그럼 서식문자는 어떻게 사용하는지 한 번 알아보겠습니다.


#include <stdio.h>

int main()

{

printf("%d 는 무엇인가?\n",10);

printf("%d + %d = %d 이렇게도 사용 가능\n",3,7,3+7);

return 0;

}

위 소스를 입력해보신 후 실행해보시면 이해가 되실 것 같습니다.


%d는 위에 나와 있는 것과 같이 10진수 정수를 표현합니다.


3개의 숫자를 표현하고 싶을 때에는 %d를 큰 따옴표 안에 ("") 세 개를 쓰신 후 그 뒤 콤마(,)를 찍으며 3개의 숫자를 입력해주시면 됩니다.


위 소스의 출력 결과는 아래와 같습니다.



이런 식으로 출력됩니다.


오늘은 표준 출력에 대해 포스팅을 해봤습니다.


다음에는 표준 입력에 대해 포스팅을 해보도록 하겠습니다.


감사합니다.



WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT 김군입니다.


오늘은 C언어에서 기본적인 컴파일, 링크, 실행 방법에 대해 알아보도록 하겠습니다.


우선 프로젝트를 생성하고 소스 파일을 생성하는 방법은 아래 링크를 참조해주세요.


C언어 프로젝트 생성 및 소스 파일 생성


소스 파일을 생성하셨다면 아래와 같이 기본적인 샘플 소스를 입력해봅니다.



#include <stdio.h>
int main()
{
   printf("Welcome Kimgoon Blog!");

   return 0;
}


1. 컴파일

- 컴파일이란 작성한 소스를 기계가 이해할 수 있도록 변환하는 과정입니다.

- 위 소스를 컴파일하려면 상단 메뉴에서 '빌드 -> 컴파일' 을 선택하거나 'Ctrl + F7' 단축키로 가능합니다.

- 에러와 경고 없이 컴파일되면 프로젝트 경로에 obj 확장자 파일이 생성됩니다. (에러가 발생했다면 F4 번을 눌러 에러를 확인하시면 됩니다.)


2. 링크

- 링크란 컴파일된 코드인 obj 오브젝트 파일을 실행파일 (exe)로 변환합니다.

- 상단 메뉴에서 '빌드 -> 솔루션 빌드'를 선택하시거나 혹은 'F7' 단축키로 가능합니다.


3. 로딩과 실행

- 로딩과 실행 단계는 위 링크 시 생성된 exe파일을 실행하는 과정입니다.

  직접 더블클릭하여 실행해주지 않아도 Visual Studio에서 자동으로 실행해주며 상단 메뉴에서 '디버그 -> 디버깅하지 않고 시작' 혹은 'Ctrl + F5' 단축키로

  실행이 가능합니다.


다음 포스팅에서는 기본 구조 등에 대해서 알아보겠습니다.


감사합니다.


WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,

안녕하세요. IT김군입니다.


요즘 안드로이드 등 다른 언어들을 다루다보니 C나 C++ 쪽을 너무나도 잊고 사는 것 같아 기본서를 하나 사서 다시 정리해보는 포스팅이니


잘못된 부분을 발견하시면 댓글 부탁드리겠습니다!


그럼 오늘의 포스팅은 C언어 프로젝트 및 소스 파일 생성하기 입니다.


우선 제가 사용하는 툴은 Visual Studio 2010입니다.



1. 파일 -> 새로 만들기 -> 프로젝트 를 선택합니다.





2. 좌측 메뉴에서 Win32를 선택한 후 Win32 콘솔 응용 프로그램을 선택합니다.

   선택 후 프로젝트를 생성할 경로를 지정하고 프로젝트 명을 변경하여 줍니다.




3. 그 다음 나오는 화면에서는 그냥 '다음'을 클릭해줍니다.





4. 그 다음 저는 기본적인 예제를 다루어보기 위해 '콘솔 응용 프로그램'이 체크된 상태에서 '빈 프로젝트'를 체크해 보도록 하겠습니다.

    모두 체크 후 마침을 누릅니다.





5. 위 과정을 모두 진행하시면 아래와 같이 좌측에 메뉴가 나옵니다.

    그럼 '소스 파일' 폴더에서 우클릭을 하여 아래와 같이 추가 -> 새 항목 을 눌러줍니다.





6. 그 다음 C++ 파일을 선택한 후 아래 빨간 박스와 같이 파일명을 변경 후 확장자에 꼭 .c 를 붙여주셔야 합니다.

    그냥 생성하게 되면 CPP 파일로 자동변환되어 C++ 표준으로 컴파일 됩니다. 꼭 .c 확장자를 붙여주세요!




위의 과정을 모두 거치면 프로젝트가 생성된 후 소스 파일까지 생성됩니다.


다음부터는 C 코드의 기본부터 포스팅하도록 하겠습니다.


감사합니다.



WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,