'IT관련 지식들'에 해당되는 글 70건
- 2016.06.20 :: UML(Unified Modeling Language).
- 2016.06.16 :: 가변인자를 사용한 매크로 (개인용 printf)
- 2016.06.15 :: usleep함수 사용.
- 2016.06.15 :: pthread_create 함수 사용.
- 2016.06.14 :: VIM 설정 저장
- 2016.06.10 :: 버추얼박스 해상도 문제
- 2016.06.10 :: 우분투 64bit에서 32bit 패킷이 동작하지 않을 때.
- 2016.06.07 :: Samba 설치 및 설정 (우분투)
- 2016.06.07 :: 리눅스 명령어 모음.
- 2016.06.07 :: xming 사용방법
개인적으로 이해한 UML에 대해 정리를 해 본다.
1. UML이란
- Unified Modeling Language. 통합 모델링 언어.
- 프로그램을 만들기 전에 그리는 프로그램에 대한 청사진, 설계도
- 개인 혹은 집단의 공통된 생각을 정리한다.
2. UML을 꼭 사용해야 하는지 물어본다면 다음의 사항을 고려해보자.
- 그림으로 그려서 표현하는 것보다 코드를 보는 것이 간단할 경우 UML을 사용할 필요가 없다.
3. 어떤 UML을 저장해야 하는가?
- 대부분의 UML은 수명이 길지 않다. 칠판, 노트 등 수명이 짧은 저장매체에 그리고 지우기를 반복한다.
- 작은 동작(행위)들에서 시작해서 그림을 그리고 필요한 동작을 하나씩 추가한다.
많은 토론 끝에 저장할 만한 가치가 있는 UML이 남으면 팀원 모두가 공유할 수 있는 공간에 자료를 저장한다.
- UML의 목적은 팀원들 간에 같은 설계를 이해하게 하는데 있다. UML이 목적이 되어서 그림을 잘 그리게 하는 것 보다, 같은 내용을 이해하고 빠르게 코딩에 들어가게 하는 것이 중요하다.
4. UML의 다이아그램 종류와 각 특징
use case diagram
class diagram
behavior diagrams:
statechart diagram
activity diagram
interaction diagrams:
sequence diagram
collaboration diagram
implementation diagrams:
component diagram
deployment diagram
'IT관련 지식들' 카테고리의 다른 글
소켓 통신 (0) | 2016.06.30 |
---|---|
싸이로드 세미나(카메라) (0) | 2016.06.30 |
가변인자를 사용한 매크로 (개인용 printf) (0) | 2016.06.16 |
usleep함수 사용. (0) | 2016.06.15 |
pthread_create 함수 사용. (0) | 2016.06.15 |
디버깅을 위해서 printf를 사용하고 나면 추후 소프트웨어 출하에서도 디버그 메세지가 나오는 경우가 생긴다.
매크로를 사용하면 문제를 없앨 수 있다.
추가로 가변인자를 잘 활용하여 원하는 출력을 가지는 디버그 로그를 확인할 수 있다.
#if defined(DEBUG)
#define TePrint(fmt,args...) printf( "[%s %d]" fmt, __FILE__,__LINE__, ## args )
#else
#define TePrint
#endif
'IT관련 지식들' 카테고리의 다른 글
싸이로드 세미나(카메라) (0) | 2016.06.30 |
---|---|
UML(Unified Modeling Language). (0) | 2016.06.20 |
usleep함수 사용. (0) | 2016.06.15 |
pthread_create 함수 사용. (0) | 2016.06.15 |
VIM 설정 저장 (0) | 2016.06.14 |
1. 헤더 추가
#include <unistd.h>
2. 함수 사용
- 마이크로 sec이기 때문에 1초를 하려면 다음과 같이 한다.
#define ONESEC (1000*1000)
usleep(ONESEC);
'IT관련 지식들' 카테고리의 다른 글
UML(Unified Modeling Language). (0) | 2016.06.20 |
---|---|
가변인자를 사용한 매크로 (개인용 printf) (0) | 2016.06.16 |
pthread_create 함수 사용. (0) | 2016.06.15 |
VIM 설정 저장 (0) | 2016.06.14 |
버추얼박스 해상도 문제 (0) | 2016.06.10 |
*pthread_create 함수 사용
- 목적 : 쓰레드를 추가로 생성해서 각 쓰레드에 업무를 분산하여 동작.
- 방법
1. 헤더파일 추가
#include <pthread.h>
2. 파일에 함수 추가.
int pthread_create( pthread_t *th_id, const pthread_attr_t *attr, void* 함수명, void *arg );
ex)
pthread_t thread;
void *thread_Picture(void *arg);
pthread_create(&thread, NULL, &thread_Picture, NULL)
함수 인자값의 의미는 다음과 같다.
pthread_t thread; <- thread 번호를 저장할 변수공간이라고 하는데, 출력하기가 어렵다.
NULL : attributes. 정확히 몰라서 NULL을 입력했다.
void *thread_Picture(void *arg); <- 스레드가 생성되면서 동작할 함수.
NULL : argument. 정확히 몰라서 NULL을 입력했다.
성공적으로 스레드를 생성하면 0을 return한다.
3. 컴파일
이후 빌드를 할 때 -D_REENTRANT -lpthread 옵션을 추가로 써서 컴파일을 진행한다.
ex)
${CC} ${OBJ} -o ${NAME} ${LIBS}
==> ${CC} ${OBJ} -o ${NAME} ${LIBS} -D_REENTRANT -lpthread
참고사항
- ps -ax 명령어를 사용해도 PID는 같은 값이 나온다. 그렇다 하더라도 서로 다른 상황에서 돌아가고 있으므로 헷갈리지 말자.
- pthread 함수를 정리한 사이트 방문하여 좀 더 살펴볼 필요가 있음
'IT관련 지식들' 카테고리의 다른 글
가변인자를 사용한 매크로 (개인용 printf) (0) | 2016.06.16 |
---|---|
usleep함수 사용. (0) | 2016.06.15 |
VIM 설정 저장 (0) | 2016.06.14 |
버추얼박스 해상도 문제 (0) | 2016.06.10 |
우분투 64bit에서 32bit 패킷이 동작하지 않을 때. (0) | 2016.06.10 |
VIM을 실행할 때 마다 사용할 설정을 위해서는 아래 파일에명령어를 써 놓는다.
home/"user"/.vimrc
설정할 만한 명령어
set nu
'IT관련 지식들' 카테고리의 다른 글
usleep함수 사용. (0) | 2016.06.15 |
---|---|
pthread_create 함수 사용. (0) | 2016.06.15 |
버추얼박스 해상도 문제 (0) | 2016.06.10 |
우분투 64bit에서 32bit 패킷이 동작하지 않을 때. (0) | 2016.06.10 |
Samba 설치 및 설정 (우분투) (0) | 2016.06.07 |
버추얼 박스의 해상도가 이상하게 나오는 경우에는 버추얼박스 게스트확장 CD를 삽입해서 문제를 해결한다.
버추얼박스
장치 메뉴 -> 게스트 이미지 CD 삽입
리눅스
cd /media/XXX/VBOXADDITIONS_X.X.XX_XXXXX
sudo ./VBoxLinuxAdditions.run
sudo reboot.
'IT관련 지식들' 카테고리의 다른 글
pthread_create 함수 사용. (0) | 2016.06.15 |
---|---|
VIM 설정 저장 (0) | 2016.06.14 |
우분투 64bit에서 32bit 패킷이 동작하지 않을 때. (0) | 2016.06.10 |
Samba 설치 및 설정 (우분투) (0) | 2016.06.07 |
리눅스 명령어 모음. (0) | 2016.06.07 |
13.xx 버전 이후부터 32bit 라이브러리를 제거했다는 이야이가 있다.
따라서 패킷을 풀기 위해서 다음과 같은 작업이 필요하다.
@kangmin/:sudo dpkg --add-architecture i386 && sudo apt-get update
@kangmin/:sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386
'IT관련 지식들' 카테고리의 다른 글
VIM 설정 저장 (0) | 2016.06.14 |
---|---|
버추얼박스 해상도 문제 (0) | 2016.06.10 |
Samba 설치 및 설정 (우분투) (0) | 2016.06.07 |
리눅스 명령어 모음. (0) | 2016.06.07 |
xming 사용방법 (0) | 2016.06.07 |
작업 내용
- 삼바 설치
- ID를 등록해서 로그인 후 폴더 생성
- 윈도우에서 접속
1. 삼바 설치
>sudo apt-get install samba
>sudo service smbd start
2 ID 등록
> sudo service smbd stop
> sudo vim /etc/samba/smb.conf
[kangmin]이란 아이디를 만들어서 path에 접속할 수 있도록 설정 수정
> sudo smbpasswd -a kangmin
패스워드를 등록
> sudo service smbd start
3. 윈도우에서 접속
- 네트워크 드라이브 추가
- 이때 윈도우 탐색기에서 IP(\\192.168.128.6)를 먼저 입력하여 정상적으로 접속 가능한지 확인 후 네트워트 드라이브를 연결한다.
'IT관련 지식들' 카테고리의 다른 글
버추얼박스 해상도 문제 (0) | 2016.06.10 |
---|---|
우분투 64bit에서 32bit 패킷이 동작하지 않을 때. (0) | 2016.06.10 |
리눅스 명령어 모음. (0) | 2016.06.07 |
xming 사용방법 (0) | 2016.06.07 |
스마트 톨링(smart tolling) (0) | 2016.06.01 |
* 심볼릭 링크
kangmin@Megatong:~$ ln -s /usr/src/linux-headers-3.19.0-58-generic/ ./kbuild00/
kangmin@Megatong:~/kbuild00$ ls
linux-headers-3.13.0-85-generic linux-headers-3.19.0-58-generic
* 커널 및 리눅스 버전 확인
kangmin@Megatong:~/kbuild00$ uname -a
Linux Megatong 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
*하드 용량 확인
lvlin@Kangmin-desktop:/$ df -h -T
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 1.8G 4.0K 1.8G 1% /dev
tmpfs tmpfs 366M 1.3M 365M 1% /run
/dev/sda1 ext4 55G 17G 36G 33% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 1.8G 76K 1.8G 1% /run/shm
none tmpfs 100M 36K 100M 1% /run/user
/dev/mapper/ubuntu--vg-root ext4 913G 3.8G 863G 1% /media/data1
'IT관련 지식들' 카테고리의 다른 글
우분투 64bit에서 32bit 패킷이 동작하지 않을 때. (0) | 2016.06.10 |
---|---|
Samba 설치 및 설정 (우분투) (0) | 2016.06.07 |
xming 사용방법 (0) | 2016.06.07 |
스마트 톨링(smart tolling) (0) | 2016.06.01 |
새로운 기술 동향 (0) | 2016.03.18 |
1. Xming설치
xming 프로그램을 다운받아서 윈도우에 설치한다.
2. Xming 실행
3. Putty에서 X11 설정
- connection -> ssh -> x11
- x11 forwarding, enable x11 forwarding 체크박스 체크
4. putty 실행 후 "firefox &" 명령어 실행
4.1. 실행되지 않을 경우
- firefox가 실행되고 있는경우 창이 뜨지 않을 수 있음.
- 기존 firefox를 kill 하고 4.을 다시 수행
'IT관련 지식들' 카테고리의 다른 글
Samba 설치 및 설정 (우분투) (0) | 2016.06.07 |
---|---|
리눅스 명령어 모음. (0) | 2016.06.07 |
스마트 톨링(smart tolling) (0) | 2016.06.01 |
새로운 기술 동향 (0) | 2016.03.18 |
Deluge web ui 설치 및 사용 (0) | 2016.01.05 |