Bash 에는 History 기능이 있어서 Up/Down 키로 이전 명령들을 찾을 수 있다.


이것을 좀 더 편하게 사용하는 방법 중 하나는,

특정 문자로 시작하는 이전 명령만 찾는 것인데,

이렇게 사용하기 위해서는


~/.inputrc 파일에

"\e[A":history-search-backward

"\e[B":history-search-forward

위와 같은 내용을 추가시켜 두면 사용가능 하다.


예를 들면


./build 라고 입력 후, Up/Down 키로 이전에 입력했던 명령 중

./build 시작하는 History 만 검색이 가능하다.


반응형

설정

트랙백

댓글

Blogger로 이동합니다. T* 타입 (포인터의 vector 정렬에 대해 궁금하시다면 아래로...)


https://ommokazza.blogspot.com/2020/10/stl-vector-object-pointer.html



반응형

설정

트랙백

댓글

Head First Design Patterns 1장 디자인 패턴 소개.


스트래티지 패턴(strategy pattern)

: 객체의 Action 의 내용을 캡슐화 하여 교환해서 사용할 수 있도록 만든다.


책에서 처음 설명하는 Duck 클래스는,

quack() 메소드와 fly() 메소드를 별도의 인터페이스로 분리하고

이 인터페이스를 구현하는 클래스를 만들어 사용하는 것이다.


그리고 Duck 을 상속받은 클래스는,

생성자에서 해당 클래스에 맞는 quack() 와 fly() 인터페이스를 구현한 클래스를 

사용하도록 한다.


수많은 Sub class 가 몇 가지 중복된 행동에서 한 가지를 선택해야 하는 경우라면,

코드 재사용 및 유지 보수를 한꺼번에 해결 할 수 있는 좋은 패턴이다.


하지만 스트래티지 패턴의 더욱 큰 장점은

실행시간에 Action의 내용 (알고리즘, 즉 메소드의 내용)을 바꿀 수 있다는 것이다.


예를들면, 액션 게임의 케릭터가 무기가 바뀌었을 때,

스트래티지 패턴을 사용하였다면, 단순히 attack() interface 를 구현한 클래스만 교체해 주면 해결된다.


과연, 책의 1장에서 소개해 줄 만한 쉽고도 강력한 패턴이다.


예제코드 (원문: http://en.wikipedia.org/wiki/Strategy_pattern#Example)


반응형

설정

트랙백

댓글