cygwin + vim + vimplugin like source insight linux

1. vim 설치
2. vim plugin patheogen 설치
  • homepage: https://github.com/tpope/vim-pathogen
  • mkdir -p ~/.vim/autoload ~/.vim/bundle
  • cd ~/.vim/autoload/ && wget https://tpo.pe/pathogen.vim
  • 아래 내용을 .vimrc에 써주면 준비는 된것

  • vimsensible도 설치 필요
  • cd ~/.vim/bundle && git clone git://github.com/tpope/vim-sensible.git

  • .vimrc에 써줄것들
  • execute pathogen#infect()
  • syntax on
  • filetype plugin indent on

3. 이제 ~/.vim/bundle/ 밑에 필요한 plugin만 git clone이나 직접 복사해주면됨
cd ~/.vim/bundle/  && git clone https://github.com/wesleyche/SrcExpl
cd ~/.vim/bundle/ && git clone https://github.com/scrooloose/nerdtree
cd ~/.vim/bundle/ && git clone https://github.com/wesleyche/Trinity
cd ~/.vim/bundle/ && wget https://sourceforge.net/projects/vim-taglist/files/vim-taglist/4.6/taglist_46.zip && unzip taglist_46.zip
내 .vimrc

"common option 
set number
syntax on
colorscheme desert
set smartindent
set ai
set cindent
set tabstop=4
set softtabstop=4
set shiftwidth=4
set shiftround
set expandtab
set fo=croql
set hlsearch


"for vim plugin
filetype plugin indent on
execute pathogen#infect()


"Open and close all the three plugins on the same time 
nmap <F7>   :TrinityToggleAll<CR> 

"Open and close the srcexpl.vim separately 
nmap <F8>   :TrinityToggleSourceExplorer<CR> 
"
"Open and close the NERD_tree.vim separately 
nmap <F9>  :TrinityToggleNERDTree<CR>
"
"Open and close the taglist.vim separately 
nmap <F10>  :TrinityToggleTagList<CR> 


802.11 standards wlan


UML review prog..........


2016/07/04 UML 교육 노트
---- 참고자료
uml spec 
http://www.omg.org/spec/UML/2.5/PDF/

sparxsystem - uml tutorial
http://www.sparxsystems.com/resources/uml2_tutorial/

---- 간단 정리
- EA (Enterprise Architecture) tool로 그려본 소감으로, 원하는 uml 그림을 툴에서 제공하는 도구를 클릭&드래그만 해서 쉽게 그릴 수 있음 (start uml보다 원하는 구성으로 그리기가 좋았음, graphviz보다 손이 안가기도 하고)
- CRC: Class:noun, Responsibility:attribute, Collaboator:relationship
- use case에서 include, extend는 dependancy를 표현하는것
- <<include>> : 맥락상 필수로 실행하는 것
- <<extend>> : 조건에 의해 옵셔널하게 실행하는 것
- Activity diagram 에 activity를 composite로 표기 하여 추가 activity diagram으로 연결할 수도 있고, 내부에 바로 직접 표기 할 수 도있음
- Flow : control flow로 수행 순서를 표기하거나, object flow로 activity가 반환하는 object타입 그리고 전달받는 object를 표현할 수 있음 (이건 object oriented 에서 object단위로 처리가 되기에 이렇게 자연스럽게 추가된거)



2016/07/05 정리 노트
[ ] : guard condition - 조건 지정
Interrupt flow를 붙이려면 Exception handler를 붙여야함
Dependancy : 로컬 멤버 변수 관계 - 지역적으로 영향을 미침
Association: 멤버 변수 관계 - 전체에 영향을 미침 (but, 서로 남남)
Aggregation: Association의 일부, Has a relationship, Whole-part (부품으로 속함), 소스코드레벨에서 association와 구분은 불가능, 자동차와 바퀴
Composition: contains relationship, whoe-part관계인데, whole과 part의 라이프사이클이 같다. 따로 떨어지는게 아님, whole이 part의 생성과 파괴를 관리, 연필과 연필심관계

Class diagram:
Polymorphic input, polymorphic return

Object: object관계를 link, object 간 관계는 1:1 - runtime시점의 관계이기 때문에, 이름을 주지 않으면 anonymous object

야콥슨의 객체지향 모델링 
MVC architecture를 적용시켜 만듬

State diagram: transition label 형식은 event[guard]/activity

Jacobsen의 modeling analysis
밑에 내용이 MVC model (Model View Controller)

2016/07/06 정리노트
SW 아키텍쳐 설계

Component: 
- 좁은 의미 독립적으로 실행가능한 물리적 구분단위, 표준 인터페이스를 제공
- 넓은 의미: 재사용가능한 범위

* Association vs Aggregation vs Composition 구분 (review) *
class Car
{

public:
Car();
virtual ~Car();
Engine *m_Engine; //전체(Car)의 일부 ok -> Aggregation, 또 구분 방법은 method args에 등장함 즉 외부에서 만들어짐
Radio m_Radio; //전체(Car)의 일부이면서 라이프사이클이 일치 ok -> Composition, 이건 method args에 등장하지 않고 보통 생성자에서 생성됨 즉 내부에서 만들어짐

Package: c++의 namespace, java의 package보다 큰개념 -> 그냥 그룹; Relation도 묶을 수 있음 UML에서의 package는 넓은 의미
- qualified name: package name 다 쓰는거
- unqualified name: package name 생략해서 쓰는거

Design pattern:
- MVC, Model, View, Controller
- PAC, Presentation, Abstraction, control


Christopher Alexander:
Each pattern describes a problem that occurs over and over again in out environment, and then describes the core of the solution in such a way that you can use this solution a million times over, without ever doing it the same way twice

business level에서는 처음에 pattern을 적용검토, 
Embeded mobile에서는 agile로 개발해보고 나중에 pattern을 적용하는 방향도 있음 - (파울러 refactoring참조)

2 Concept의 조합을 사용
- Delegation, Interface

GoF pattern에서 상속하고 delegation으로 구분해보면
상속: Factory, Adapter, Iterator, Template method이고
나머진 delegation

delegation을 쓰는 경우는, 상속을 이용하면 하위 클래스의 수가 많아지고 변경에 대해 수정이 모두 이루어져야함
delegation을 쓰는게 좋은데, 100% delegation이면 상속을 받아서 클래스로 만드는게 좋다

Overriding - interface 부를 구현
Virtual method invocation - runtime 시점에 overrided method를 호출

sparxsystem에 올라온 pattern 파일 을 EA에서 import하면 보기 쉽게 나옴
http://www.sparxsystems.com/resources/developers/uml_patterns.html

Anti patterns : pattern을 적용하지 않아야 하는 패턴
- Golden Hammer anti patterm; 하나의 pattern으로 모든 문제에 적용하는 것은 없다; 도깨비 방망이는 없음
- Vendor Lock-in anti pattern; 특정 tool등 vendor에 종속적이지 않게 할 것
- Spaghetti anti pattern; 아무 pattern을 막 쓰지 않게 할 것
- Cut-and-Paste anti pattern; 복사&붙여넣기 X

설계단계에 UML 적용
1. Class diagram - 소프트웨어 관점에서 소프트웨어 내의 클래스와 클래스간 연관을 보이도록 그림
2. Sequence diagram - 시간의 흐름을 보이도록 그림
3. Communication diagram - Object간에 주고 받는 메시지를 구조적 관점에서 그림
4. Interaction overview diagram - Activity diagram + sequence diagram

* 분석시점엔 서술
* 설계시점엔 method

Interaction diagram
UML 1.4 
- Sequence
  ; if문이 없어서 scenario당 하나로 그림, note를 달아서 꼼수로 그리긴 했음)
  ; 동기 호출은 화살표 머리가 채워짐, 비동기는 선만 그려진 머리
- Collaboration
UML 2.0 
- Sequence, 
- Communication(Collab.이 이름바뀜), 
- Interaction Overview, 
- Timing

uml에서는 <extends>만 빼고, 모든 화살표는 가리키는 주체가 상대방의 주소를 알고있고, 화살표의 머리는 상대방의 특성을 나타냄

Frame
; UML 2.0에 새로 추가됨
; 중첩가능

1 2 3 4 5 6 7 8 9 10 다음



통계 위젯 (화이트)

73123
690
232678