res - values - strings.xml 에서 굵게하고 싶은 글자에 <b> 태그를 넣는다.

<string name="msg">
    <b>GPS 사용 시 실내에선 정확하지 않을 수도 있습니다.</b>   
</string>


자꾸 잊어버리는 문제점

xml 코드를 입력했는데 줄바꿈이 안될때 코드안에 <, >를 바꿔준다,

< = &lt;

> = &gt;


변환해주어야 작성한대로 출력된다.

사용자 확인, 사용자 추가


▶ 사용자 확인

mysql> use mysql;
mysql> select user, host from user;
▶ 사용자 추가

로컬접근 허용 mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject) -> values ('localhost','사용자명',password('비밀번호'),'','','');

외부접근 허용 mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject) -> values ('%','사용자명',password('비밀번호'),'','','');

▶ 사용자 삭제
mysql> drop user 사용자명@호스트;
▶ 변경사항 적용
mysql> flush privileges;

사용자 데이터베이스 권한 부여, 박탈(삭제)

*grant 문을 이용하면 flush privileges 를 할 필요가 없다.


▶ 모든 권한 주기
mysql> grant all privileges on *.* to 사용자명@호스트
     -> identified by '비밀번호' with grant option;
▶ 특정 사용자에게 특정 DB의 모든 테이블에 모든 권한 부여하기
mysql> grant all privileges on DB명.* to 사용자명@호스트 identified by '비밀번호';
▶ 특정 사용자에게 특정 DB의 모든 테이블에 select, insert 권한 부여하기
mysql> grant select, insert on DB명.* to 사용자명@호스트 
     -> identified by '비밀번호';
▶ 특정 사용자에게 특정 DB의 특정 테이블의 정해준 컬럼에만 update 권한 부여하기
mysql> grant update(컬럼1,컬럼2,컬럼3) on DB명.테이블명 to 사용자명@호스트
     -> identified by '비밀번호';
▶ 모든 호스트에서 접속가능하고 select 권한만 갖는 사용자를 추가할 땐
mysql> grant select on DB명.* to 사용자명@% identified by '비밀번호';
▶ ip주소가 192.168.0.으로 시작하는 컴퓨터에서 접속가능한 사용자를 추가할 땐
mysql> grant all privileges on *.* to 사용자명@'192.168.0.%' identified by '비밀번호';


▶ 모든 권한 삭제
mysql> REVOKE ALL PRIVILEGES ON *.* FROM 사용자명@호스트;
▶ usage (삭제하면 로그인조차 안됨) 권한 부여, 삭제

usage 권한 부여 mysql> GRANT USAGE ON *.* TO USER_NAME@HOST IDENTIFIED BY 'USER_NAME'; usage 권한 삭제 mysql> REVOKE USAGE ON *.* FROM USER_NAME@HOST;


▶ 권한 확인하기
mysql> SHOW GRANTS FOR 사용자명;


참고사이트



'Database > MySQL' 카테고리의 다른 글

[MySQL] root 계정 비밀번호 변경하기  (0) 2014.03.15
[MySQL] 버전 확인하기  (2) 2014.03.05
[MySQL] 원격 접속 하기  (0) 2014.01.26
[MySQL] 명령문  (0) 2014.01.06
  • 책이름 / 지은이 / 옮긴이 / 출판사
  • 한 권으로 끝내는 정규표현식 / 잰 고이바에르츠, 스티븐 리바이선 / 김지원 / 한빛미디어
  • 이펙티브 자바 2판 / 조슈아 블로치 / 심재철 / 대웅
  • UML 실전에서는 이것만 쓴다
  • GoF의 디자인 패턴 개정판


'낙서장' 카테고리의 다른 글

기업  (0) 2014.02.28
포맷후 받아야 할 프로그램  (0) 2014.02.16
OS Command  (0) 2014.01.16
WEB Bookmark  (3) 2014.01.07

성공과 실패를 결정하는 1%의 객체 지향 원리(Akira Hirasawa 저, 이길섭, 신동완 역, 성안당)를 바탕으로 기억해두고 싶은 내용 정리한 것임.


현실 세계와 소프트웨어의 차이를 메울 3가지 단계와 이를 원활히 진행할 모델링 기술.


1단계. 업무 분석 : 현실 세계 일의 진행 방법을 정리한다.

  • 대상으로 하는 현실 세계의 일이 어떠한 역할 분담으로 어떻게 진행되는지를 정리하는 것.
  • 업무를 수행하기 위한 과제를 도출, 컴퓨터에 맡길 일을 정하기 위한 정보의 원천
  • 컴퓨터를 왜(why) 이용하는지를 정리하는 것이라고도 말한다.

2단계. 요구 정의 : 컴퓨터에 맡길 일의 범위를 정한다.

  • 컴퓨터의 주특기인 「정해진 일」과 「기억하는 일」이므로, 현실 세계의 업무 중에서 이러한 일을 도출할 필요가 있다.
  • 컴퓨터에게 어떤(what) 일을 시킬 것인지를 정하는 것에 해당한다.

3단계. 설계 : 소프트웨어를 어떻게 작성할지를 결정한다.

  • 컴퓨터를 관리하는 소프트웨어를 어떻게 실현할지를 결정하는 것에 해당한다.
  • 설계작업의 흐름
    • 실행 환경의 정의
      • 채용하는 하드웨어, 소프트웨어 제품의 선정
      • 신뢰성과 실행 효율 등의 시스템 요건, 기술과 제품의 성숙도, 비용, 운용 면 등 여러 가지 점을 고려해서 제품 선정
      • 특히 소프트웨어에 대해서는 운영체제, 통신, 데이터베이스 등 각각의 분야에 있어서 채용하는 기술과 제품을 결정할 필요가 있음
    • 소프트웨어 전체 구조의 정의
      • 전체를 복수의 서브 시스템으로 분할
      • 임베디드 소프트웨어와 같이 타이밍이 중요한 어플리케이션은 이 단계에서 스레드의 구성도 대체적으로 검토
      • OOP를 전제로 하는 경우, 어플리케이션 전체의 표준화와 품질 확보를 목적으로 전체적으로 공통이 되는 소프트웨어 구조를 결정한 후에 프레임워크를 제품군으로 준비하는 경우도 있다.
      • 서브 시스템의 구조는 UML의 패키지 다이어그램을 사용해서 표현한다.
    • 각각의 소프트웨어 구성품의 설계
      • 각각의 어플리케이션 기능을 표현하는 소프트웨어 구성품의 사양과 인터페이스를 하나하나 결정한다.
      • OOP에서는 클래스 및 메소드의 사양과 인터페이스를 결정하는 설계 작업 흐름 표현한다.


모델링 : 3가지 단계에 관해서 객체지향은 모델링을 지원한다. 

모델링에서는 하나의 어플리케이션이라도 업무 분석, 요구 정의, 설계의 산출물이 각각 다르다. 현실 세계와 소프트웨어의 차이를 메우는 3가지 단계는 현실 세계를 그대로 받아들이는 시점으로부터 컴퓨터의 상황에 맞추는 시점으로 바꾸어 가는 단계라고도 볼 수 있다.

모델링의 목적

업무 분석 : 현실 세계의 모습을 그대로 받아들인다.

요구 정의 : 컴퓨터의 성질을 고려해서 맡길 일의 범위를 정한다.

설계 : 하드웨어의 능력, OS와 미들웨어의 특성, 프로그래밍 언어의 표현 능력등을 고려해서 소프트웨어의 구조를 정한다.


크롬을 통해 IE(Internet Explorer, 인터넷 익스플로러)를 탭으로 실행할 수 있다.

 Chrome 웹 스토어에서 다운로드




 

사용방법은 위에 표시된 아이콘을 클릭해 바로 사용하면 된다. 


 실행환경

 Desktop

 조립식 컴퓨터

 CPU

 AMD Athlon(tm) 64 X2 Dual Core Processor 5400+

 Memory

 1 GB

 OS

 CentOS release 6.5 32bit


해결방안


■ 로그인 전 메시지

sshd_config 파일을 찾아 Banner /etc/issue.net 에 주석을 해제하거나 없으면 추가한다.

# vi /etc/issue.net 


■ 접속 후 메시지

# vi /etc/motd

메시지 저장 후 저장.



 실행환경

 Desktop

 조립식 컴퓨터

 CPU

 AMD Athlon(tm) 64 X2 Dual Core Processor 5400+

 Memory

 1 GB

 OS

 CentOS release 6.5 32bit


해결방안


# vi /etc/bashrc 에 alias vi=vim 을 꼭 추가한다.


# vi /etc/vimrc

아래 내용 추가(전체)


#vi ~/.vimrc

각각의 계정 설정


let g:MultipleSearchMaxColors = 8 


hi Search0 ctermbg=blue guibg=blue ctermfg=white guifg=white 

hi Search1 ctermbg=green guibg=green ctermfg=black guifg=black 

hi Search2 ctermbg=magenta guibg=magenta ctermfg=white guifg=white 

hi Search3 ctermbg=cyan guibg=cyan ctermfg=black guifg=black 

hi Search4 ctermbg=brown guibg=brown ctermfg=white guifg=white 

hi Search5 ctermbg=gray guibg=gray ctermfg=black guifg=black 

hi Search6 ctermbg=red guibg=red ctermfg=white guifg=white 

hi Search7 ctermbg=yellow guibg=yellow ctermfg=black guifg=black 


map <F1> :wq<cr>

map <F2> :wq<cr>

map <F3> :w<cr>

map <F4> :q<cr>


map <F5> :w!<CR>:!gcc %<CR>:!./a.out<CR>

map <F6> :w!<CR>:!g++ %<CR>:!./a.out<CR>


"map <F5> :w!<cr>:!gcc % -o %< -lncurses && ./%< <cr>

"map <F6> :w!<cr>:!gcc % -o %< && ./%< <cr>


map <F9> :q!<cr>

"map <F6> v]}zf

"map <F7> zo



set number "line number

set ai

set tabstop=4   "tab키설정

syntax on "구문강조 사용

set background=dark "하이라이팅

set ruler "커서의 줄,칸 위치표시

set title

set ignorecase "검색시 대소문자 무시

set hlsearch "검색어 강조

set cindent "C프로그래밍용 자동 들여쓰기

set smartindent "스마트한 들여쓰기

set autoindent " 자동 들여쓰기

set showmode " 현재 모드를 보여줌

set shiftwidth=4  "자동 들여서기 할때 여백(sw=4)

set showmatch   "괄호를 맞춰주는 부분(set sm)

set history=50 " vi 편집기록 기억갯수

"set visualbell " 키를 잘못눌렀을 때 화면 프레시

set showcmd " display incomplete commands

set incsearch "키워드 검색시 점진적 검색

"colorscheme desert  "  vi 색상 테마 설정

set bs=indent,eol,start "백스페이스 사용



■ 호스트 확인

$ hostname


■ 호스트 정보 파일 확인

$ cat /etc/sysconfig/network


■ 호스트 이름 변경하기

# vi /etc/sysconfig/network

* vi에디터를 통해 변경하고 시스템 재부팅한다.


아파치 톰캣 7.0 설치(새창)

플러그인 설치


■ 아파치 톰캣(Apache Tomcat)이란? - 위키백과

아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단에서 개발된 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버이다.

톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. 톰캣은 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있다. 그리고, 톰캣은 HTTP 서버도 자체 내장하기도 한다.

아파치 톰캣은 Apache Licence, Version 2를 채용한 오픈소스 소프트웨어로서, 서블릿이나 JSP를 실행하기 위한 서블릿 컨테이너를 제공하며, 상용 웹 애플리케이션 서버에서도 서블릿 컨테이너로 사용하는 경우가 많다. 버전 5.5 이후는 기본적으로 Java SE 5.0 이후를 대응한다.

참고로 Tomcat은 사전적 의미로 '수고양이'를 뜻한다.


■ 아파치 톰캣 설치

1. 아파치 톰캣 홈페이지에서 다운로드를 한다.


2. 설치는 기본설정으로 하면된다. 기본 포트는 8080이다.

오라클과 포트가 겹칠수도 있으므로 8090으로 하는 것을 추천한다.


■ 이클립스에 아파치 톰캣 플러그인 연동

3. 위 링크를 통해 플러그인을 받고 압축파일안의 com.sysdeo.eclipse.tomcat_3.3.0 폴더를 이클립스폴더 내 플러그인안에 넣는다.(예. D:\eclipse-jee-kepler-SR1-win32-x86_64\eclipse\plugins)


4. 이클립스를 재시작하면 Tomcat 아이콘이 생긴다.


5. 컴퓨터 내에 받은 아파치 톰캣을 연동한다. 

window -> preferences 의 Tomcat 에서 7.0을 선택하고 Tomcat home에는 톰캣이 설치된 경로를 선택한다.

Context declaration mode에는 Server.xml을 선택하고, 

Configuration file에는 C:\Program Files\Tomcat 7.0\conf\server.xml처럼 server.xml의 경로를 입력한다.

(아파치톰캣8.0은 이클립스에서 지원하지않는다.)


6. Advanced에는 톰캣의 경로를 지정한다.


7. 테스트할 파일을 작성하고 확인해보자.


8. 작성한 코드를 실행해본다.




■ 현재 리눅스 배포판 보기

$ cat /etc/issue.net


■ 현재 시스템 비트 조회

$ getconf LONG_BIT


■ CPU 정보 보기

$ cat /proc/cpuinfo



■ 메모리 확인

$ free -m or $ cat /proc/meminfo

* -m은 MB단위로 본다는 뜻

total

user

free

shared

buffers 

cached

전체 메모리

유휴 메모리

사용중인 메모리

커널에서 사용되는

공유메모리

버퍼 크기

캐시된 메모리


■ 하드디스크 확인

$ df


■ IP 확인

$ ifconfig


■ 호스트명, 커널버전 확인

$ uname -a

* 호스트명만 확인 -> $ hostname


■ 모든 정보보기

$ dmesg > infor.txt

* 내용이 많으므로 infor.txt 에 저장해서 확인.



특정 아이디에 등록된 호스트 확인

select host from mysql.user where user='사용자명';

접속 ip 추가하기

▶ 모든 IP와 DB 허용하기

mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
     -> values('%','사용자명',password('비밀번호'),'','','');
mysql> grant all privileges on *.* to '사용자명'@'%';
mysql> flush privileges;

▶ 특정 IP에 특정 DB 허용하기

mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
     -> values('111.222.333.44','사용자명',password('비밀번호'),'','','');
mysql> grant all privileges on 특정DB.* to '사용자명'@'111.222.333.44';
mysql> flush privileges;


원격 접속하기

mysql -h 호스트명 -u 사용자명 -p

'Database > MySQL' 카테고리의 다른 글

[MySQL] root 계정 비밀번호 변경하기  (0) 2014.03.15
[MySQL] 버전 확인하기  (2) 2014.03.05
[MySQL] 사용자 관리(추가, 삭제, 권한 부여)  (2) 2014.02.05
[MySQL] 명령문  (0) 2014.01.06

읽기 좋은 코드가 좋은 코드다(더스팀 보즈웰, 트레버 파우커 지음, 임백준 옮김) 를 읽고 

자주 참고하면서 습관화하려는 부분을 정리해 놓은 것으로 좀 더 자세한 내용은 책을 보기 바랍니다.


■ 이름에 정보를 담아라

  • 특정한 단어 고르기
    • 무의미한 단어를 피하고 구체적인 단어 선택로 명확하고 간결한 이름이 좋다.
    • 예) GetPage() -> FetchPage(), DownloadPage()
  • 보편적인 이름 피하기
    • retval라는 이름보다 변수값을 설명하는 이름을 사용한다.
    • tmp는 짧게 임시적으로만 존재하고, 임시적 존제 자체가 변수의 가장 중요한 용도일때에 한해서 사용한다. 
    • 루프반복자로 i, j 보다는 구체적으로 members_i, users_i 혹은 간결하게 mi, ui로 사용한다.
    • tmp, it, retval 같은 보편적인 이름을 사용하려면, 꼭 그렇게 해야 하는 이유가 있어야 한다.
  • 추상적인 이름 대신 구체적인 이름 사용하기
  • 접두사 혹은 접미사로 이름에 추가적인 정보 덧붙이기
    • 예) string id; // Example: "af84ef845cd8" -> string hex_id;
    • 단위값을 포함하는 값. size_mb, max_kbps
    • 헝가리언 표기법 : pLast와 같이 추가적인 속성을 이름 앞에 붙여 넣는 것.
    • 잉글리쉬 표기법 : 변수가 가지는 중요한 속성을 포착한 다음, 그 속성에 중요한 의미가 있으면 변수명에 포함.
  • 이름이 얼마나 길어져도 좋은지 결정하기
    • 좁은 범위에서 잠깐 사용되는 변수명은 짧을수록 더 좋다.
    • 단어 완성 기능 이용하기 (이클립스 Alt + / , Vim Ctrl + P)
  • 추가적인 정보를 담을 수 있게 이름 구성하기
    • 밑줄와 대시 그리고 대문자를 잘 이용하라.
    • 예) 클래스변수를 로컬변수와 구분하기 위해 '_'를 붙일 수 있다.
    • 예) html태그에 id는 밑줄로 단어를 구분하고 class는 대시로 구분한다.
      • <div id="middle_colum" class="main-content">


■ 오해하지 않도록 정하기

  • 어떤 값의 상한과 하한을 정할 땐 max_와 min_을 이름 앞에 붙이면 좋은 접두사 역할을 한다.
    • x < max_val
  • 경계를 포함한다면 first와 last가 좋은 이름이다.
    • x <= last_val
  • 경계의 시작만 포함하고 마지막은 배제하는 범위라면, begin과 end가 가장 널리 사용되는 이름이므로 최선이다.
    • begin <= x <end
  • 불리언값 이름을 정할 때는 불리언이라는 사실을 명확이 드러내기 위해서 is나 has와 같은 단어를 사용한다.
  • 사람들이 특정한 단어를 일반적으로 생각하는 사실에 유의할 필요도 있다.
    • get() 혹은 size()와 같은 함수가 가벼운 메소드라고 기대할지도 모른다.
    • 최근에 C++ 표준 라이브러리에서 "size()는 O(1)이어야 한다."는 규칙을 정했다.



다운로드 (영문) (한글)

나눔고딕코딩 글꼴 다운


PuTTY 설정

한글깨짐을 방지하기 위해 문자셋 UTF-8로 설정


화면에 저장될 명령어 수, 버퍼의 크기를 정한다.


글꼴을 변경한다. 


 실행환경

 Desktop

 조립식 컴퓨터

 CPU

 AMD Athlon(tm) 64 X2 Dual Core Processor 5400+

 Memory

 1 GB

 OS

 CentOS release 6.5 32bit



1. 설치

# yum install -y mysql 

# yum install -y mysql-server 

# yum install -y mysql-connector-odbc 

# yum install -y mysql-devel

위 내용 한줄로 변경.

# yum install -y mysql mysql-server mysql-connector-odbc mysql-devel


2. 설정파일 이동

# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

설정파일 

메모리 

my-huge.cnf

1 ~ 2 GB

my-large.cnf

512 MB

my-medium.cnt

128 MB ~ 256 MB

my-small.cnf

64 MB 이하


3. 설정파일 수정

# vi my.cnf

없는 부분은 추가한다.

[client] 

default-character-set = utf8 

[mysqld]

init_connect="SET collation_connection=utf8_general_ci" 

init_connect="SET NAMES utf8"

default-character-set = utf8

character-set-server = utf8

collation-server = utf8_general_ci

[mysqldump]

default-character-set = utf8

[mysql]

default-character-set = utf8


4. MySQL 시작

# service mysqld start or /etc/init.d/mysqld start

재시작(그전에 실행한 경우)

# service mysqld restart or /etc/init.d/mysqld restart


5. MySQL 접속 후 캐릿터셋 확인

# mysql -u root -p

mysql> shoq variables like 'c%';



6. mysql 설정하기

/usr/bin/mysql_secure_installation


처음 실행하면 패스워드를 묻는다. 설정한 것이 없으니 [엔터]

그리고 Set root password? 에서 y를 입력한 뒤 비밀번호 설정한다.

나머지 설정들은 [엔터]하면 y로 입력되고 각자 맞춰서 설정하면 된다.

[MySQL] root 계정 비밀번호 변경하기


7. 서비스 자동 실행

# chkconfig mysqld on or # ntsysv 한 뒤에 mysql [*] 설정

재시작




■ 방법 1.

# /usr/sbin/ntsysv


■ 방법 2.

# chkconfig --list

무엇이 자동실행중인지 확인

# chkconfig vsftpd in

vsftpd 자동 실행.

■ 1. tui 


# system-config-firewall-tui

위 명령어가 실행되지 않을 경우 다운받는다.

# yum install setuptool system-config-firewall-tui


■ 2. iptables

# vi /etc/sysconfig/iptables


* 22포트를 추가하고 싶은 경우 아래처럼 입력

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT


문제

'# chkconfig vsftpd on' 하면 에러 발생


해결

1. # vi /etc/xinetd.d/vsftpd

disable = no

2. #vi /etc/vsftpd/vsftpd.conf

LISTEN=YES

3. # chkconfig vsftpd off

자동실행 멈춤

4. # chkconfig --add vsftpd

자동실행 추가

5. # /etc/rc.d/init.d/xinetd restart

xinetd 재실행





성공과 실패를 결정하는 1%의 객체 지향 원리(Akira Hirasawa 저, 이길섭, 신동완 역, 성안당)를

바탕으로 기억해두고 싶은 내용 정리한 것임.


  • 프로그램을 표현하는 기술
  • 형태가 없는 소프트웨어를 보는 도구
  • 프로그램의 구조와 동작을 표현하기 위해 사용되는 대표적인 다이어그램 - 클래스 다이어그램, 시퀀스 다이어그램, 커뮤니케이션 다이어그램
  • 클래스 다이어그램
    • 집합론으로 분류, 정리된 현실 세계 사물의 관계를 표현
    • 정적인 정보를 표현한다.
    • 프로그램이 실행될 때의 구조 표현(클래스의 정의 정보와 클래스 간의 관계 표현)
  • 시퀀스 다이어그램, 커뮤케이션 다이어그램
    • 역할 분담 표현, 프로그램의 움직임을 표현한다.
    • 동적인 정보를 표현한다.
    • 상위 공정에서 '정해진 역할을 갖는 복수의 사람과 조직이 협조해서 전체의 일을 달성하는 모습'의 표현에 사용 가능
    • 시퀀스 다이어그램

사진 출처

      • 실행될 경우에 인스턴스 간의 메소드 호출을 시계열로 표현한다.
      • 역할 분담된 사람과 조직이 협력해서 전체의 일을 달성하는 모습을 시계열로 표현한다.
      • 시퀀스 다이어그램 모델링 하기
    • 커뮤니케이션 다이어그램
      • 실행될 경우에 인스턴스 간의 메소드 호출을 인스턴스의 관계 중심으로 표현한다.
      • 역할 분담된 사람과 조직이 협력해서 전체의 일을 달성하는 모습을 구조 중심으로 표현한다.
  • 유스케이스 다이어그램
    • 컴퓨터가 수행하는 일의 범위를 명확하게 표현한다.
    • 즉, 시스템의 전체 모습을 개략적으로 파악하는 데 유용한 다이어그램이다.
  • 액티비티 다이어그램
    • 프로그램의 논리를 기술하기 위해 사용한다.
    • 현실 세계의 업무 흐름을 표현할 목적으로 종종 사용한다. 
    • 시퀀스 다이어그램과 커뮤티케이션 다이어그램으로 표현 가능하지만, 실제로 일의 모습을 분석할 때는 통상 등장 인물의 역할 분담보다도 전체의 흐름을 이해하는 데 중점을 두기 때문에 직감적으로 표현 가능한 액티비티 다이어그램을 이용한다.
  • 스테이트 머신 다이어그램
    • 외부로부터의 이벤트에 의해 사물의 상태가 변화해 가는 모습을 표현한다.

언어

자연언어

컴퓨터용 언어

(프로그래밍 언어, 식자 언어)

모델링 언어(UML)

목적

인간끼리의 의사 소통

컴퓨터에 일을 지시

인간끼리의 의사 소통

형식

음성, 문자

문자

그림

특징

기본적인 문법은 있지만 상세함은 느슨함. 같은 언어에도 방언이 허락된다.

상당히 엄격

직감적으로 이해하기 쉬움을 중시


성공과 실패를 결정하는 1%의 객체 지향 원리(Akira Hirasawa 저, 이길섭, 신동완 역, 성안당)를

바탕으로 기억해두고 싶은 내용 정리한 것임.


UML(Unified Modeling Language, 통합 모델링 언어)

  • 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어(위키)
  • 객체 지향 기술에 관한 국제 표준화 단체인 OMG(Object Management Group)라는 조직에 의해 표준으로 채택.
  • 1990년대 후반에 주요한 개발 방법론의 제안자인 그래디 브츠(Grady Booch), 제임스 럼보우(James RumBaugh), 이바 야콥슨(Ivar Jacobson)이 모여서 도식 표현을 통일하여 만들어진 결과가 UML. (이 3명은 Three Amigos라고 불리고 있다.)


표. UML2.0에 규정된 13종류 다이어그램

 NO

명칭(한글) 

명칭(영어) 

용도 

1

클래스

다이어그램

Class

Diagram

클래스 명세와 클래스 간의 관계를 표현

2

복합 구조

다이어그램

Composite

Structure

Diagram

전체-부분 구조를 가진 클래스를 실행할 때의 구조를 표현

3

컴포넌트

다이어그램

Component

Diagram

파일과 데이터베이스, 프로게스와 스레드 등의 소프트웨어 구조를 표현

4

디플로이먼트

다이어그램

Deployment

Diagram

하드웨어와 네트워크 등 시스템의 물리 구조를 표현

5

객체

다이어그램

Object

Diagram 

인스턴스 간의 연관 관계를 표현 

6

패키지

다이어그램

Package

Diagram

패키기 간의 연관 관계를 표현

7

액티비티

다이어그램

Activity

Diagram

일련의 처리에 있어 제어의 흐름을 표현

8

시퀀스

다이어그램

Sequence

Diagram

인스턴스 간의 상호  작용을 시계열로 표현

9

커뮤니케이션

다이어그램

Communication

Diagram

인스턴스 간의 상호 작용을 구조 중심으로 표현

10

인터액션 오버뷰

다이어그램

Interaction

Overview

Diagram

조건에 따라 다르게 동작을 하는 시퀀스 다이어그램을 액티비티 다이어그램 안에 포함하여 표현

11

타이밍

다이어그램

Timing

Diagram

인스턴스 간의 상태 전이와 상호 작용을 시간 제약으로 표현

12

유스케이스 다이어그램

UseCase

Diagram

시스템이 제공하는 기능과 이용자의 관계를 표현

13

스테이트 머신

다이어그램

State

Machine

Diagram

인스턴스의 상태 변화를 표현




heap - 객체가 저장되는 곳(garbage collector 있음)

stack - 메소드 호출과 지역변수가 저장되는 곳

instance variable - 클래스 내에서 선언한 변수

local variable - 메소드 안에서 선언한 변수


지역변수도 저장된 객체는 변수만 스택에 저장



'대학 생활 > JAVA' 카테고리의 다른 글

[JAVA]정적필드, 정적메소드  (0) 2014.03.18
[JAVA] String <-> int, double, float 변환  (0) 2014.02.28
[JAVA] ArrayList, LinkedList, Stack, Queue  (0) 2014.01.09
[JAVA] 계산기  (0) 2014.01.05

아주 명확한 해답



참고로 대소문자 구분하는 것 같음.

disable=YES 하면 안됨.

vsftpd 참고사이트

1. [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

아래와 같이 변경


2. 방화벽 포트 허용

[root@localhost ~]# vi /etc/sysconfig/iptables

아래 내용 추가



3. 재시작

[root@localhost ~]#  service iptables restart

상단에 Downloads 탭 선택


JDBC Drivers 클릭


각자 사용할 드라이버 선택해서 로그인후 다운받음




invalid identifier

값 입력시 에러 발생

부적합한 식별자로 컬럼명을 변경한다.

NUMBER X 

+ Recent posts