일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- usecase description
- madia designer ui design
- 모듈구조도
- ssh
- fan-in fan-out
- bandit21
- Bandit
- ui 디자인 기본원칙
- 생성패턴 행위패턴 구조패턴
- 디자인패턴
- 팬인과 팬아웃
- gof design pattern
- strucuture charat
- cron
- sofrware architeture
- telnet
- 리버스쉘
- base64
- 소프트웨어공학 디자인패턴
- prototypepattern 예시 example
- 상태다이어그램
- 클래스 관계
- 객체 상속 속성 인스턴스 메소드 오퍼레이션
- factory metohd pattern
- 암표거래
- 매크로를 바라보는 시각
- 구조적 설계
- UseCase
- nc reverse shell
- status diagram
- Today
- Total
목록All Contents (53)
2.log
생성 패턴 객체 생성과 관련, 객체의 인스턴스화 과정을 추상화하는 방법 다룸, 캡슐화를 통해 정보 은닉하여 재사용과 유연성 높임 Factory Method Pattern (Virtual Constructor) 객체 생성을 위한 인터페이스는 정의하지만, 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 서브클래스에 위임함으로써 객체 생성로직을 캡슐화하는 패턴으로, 생성할 객체 타입이 예측불가할 때 사용가능 + OCP(Open-Closed-Principle) 적용 + 기존 클라이언트 코드 수정 없이 새로운 인스턴스를 다른 방법으로 생성 가능 (유연성, 확장성) + 변화가 일어날 수 있는 객체 생성을 담당하는 클래스(Factory)를 만들어 한 곳에서 관리 (유지보수 용이) + 객체 생성로직을 캡슐화하고, 구체..
디자인 패턴 '이럴 때에는 이런 방식을 사용하면 좋다'라고 선배 개발자들이 경험적으로 정립해 놓은 좋은 설계들의 모음 가장 대표적인 것이 GoF(Gang of Four)의 23가지 패턴으로, 디자인 패턴을 잘 알면 장황하게 설명할 필요 없이 '싱글톤 사용할 겁니다' 한 마디로 상대에게 의도한 바를 명확히 전달할 수 있고, 설계과정에서 겪는 시행착오를 줄일 수 있어 의사소통과 생산성 향상에 도움을 줌 (단, 패턴!= 진리) 패턴의 분류 생성패턴은 객체의 생성, 구조패턴은 객체 간 합성, 행위패턴은 객체 간 상호작용에 관여 클래스 패턴은 주로 상속을 통해 관련되는 클래스와 서브클래스 간의 관련성을 다룸 / 컴파일 타임에 정적으로 결정 객체 패턴은 객체 간 관련성을 다룸 / 런타임에 동적으로 결정 생성 패턴 ..
핵심은 '사용자가 사용하기 쉽고 그들이 예상한 대로 동작' 하게 하는 것 리눅스 커맨드의 경우 철자 하나 잘못 쓰면 다 다시 써야 하고 작업이 수행되고 있는지 상태출력 역시 옵션으로 부여해야 함 일반 사용자 입장에서는 작업이 처리가 되고 있는건지 알 수가 없고 수정도 불편한 좋지 못한 디자인이라 할 수 있음 그리고 향후 프로젝트 할 때에 사이트를 하나 만들게 될 터인데 제공할 서비스가 기존에 이미 존재하여 사용자가 이미 거기 익숙해져 있을 경우 그러한 대형 사이트와 유사한 구조를 가지고 가야 사용자가 내 사이트에서도 방황하지 않고 쉽게 적응할 수 있음 또한 요즘에는 웹이라도 모바일 환경에서 접속하는 경우가 많기에 오늘은 실질적으로 도움이 될 만한 현업 디자이너분의 설명을 간략히 정리하고 마치려 함 기본적..
* KOWC에 등록된 동국대학교 최은만 교수님의 강의내용을 공부목적으로 정리한 글임을 밝힙니다. | 출처 : http://www.kocw.net/home/search/kemView.do?kemId=331697&ar=relateCourse 소프트웨어 아키텍처 소프트웨어의 일관된 모양, 구조, 스타일을 정하는 작업으로, 일단 시스템이 한 번 개발된 뒤에는 잚 못된 구조를 바로잡기 쉽지 않기에 초기에 이를 잘 정립해 둠으로써 이해관계자들의 소통과 추후 발생할 수정 및 유지보수를 용이하게 할 수 있음 범위 시스템 분할, 전체 제어 흐름, 오류 처리 방침, 서브시스템 간 프로토콜 등 Design Stamina Hypothesis 디자인을 고려하지 않은 소프트웨어의 경우 디자인 활동에 시간을 쏟지 않는 초반부에는 ..
* KOWC에 등록된 동국대학교 최은만 교수님의 강의내용을 공부목적으로 정리한 글임을 밝힙니다. | 출처 : http://www.kocw.net/home/search/kemView.do?kemId=331697&ar=relateCourse 분석과 설계 비교 소프트웨어 설계 아키텍처 설계 시스템 컴포넌트와 이들의 커넥션에 초점 (모듈의 역할과 인터페이스 정의) 상세설계 코드 수준에 가까움 (모듈 내부 알고리즘, 데이터 명세화) 좋은 설계의 요건 1. 복잡성 최소화 2. 느슨한 결합(Loose coupling0 3. 강한 응집력(Strong cohension) 4. 확장성 5. 재사용성 6. 유지보수성 7. 유연성 >> 궁금 목표 : 모듈화, 캡슐화 등을 통해 결합성은 낮추고 응집력은 높여 복잡성을 최소화하는..
* KOWC에 등록된 동국대학교 최은만 교수님의 강의내용을 공부목적으로 정리한 글임을 밝힙니다. | 출처 : http://www.kocw.net/home/search/kemView.do?kemId=331697&ar=relateCourse Sequence Diagram Use Case에 나타난 객체들 간의 상호작용을 표현한 것 (다양한 View의 시나리오 표현 가능, Use Case 보조) 어떤 메시지가 언제 보내지는지 수행순서를 시간 흐름에 따라 나타내어 시스템의 동적 측면 보여줌 (Dynamic View) 구성요소 Object Life Line 모델링되는 인스턴스 나타냄 박스와 점선으로 이루어지며, 아래로 내려갈수록 시간 경과 Activation (box) Life Line의 인스턴스가 다른 인스턴스와..
* KOWC에 등록된 동국대학교 최은만 교수님의 강의내용을 공부목적으로 정리한 글임을 밝힙니다. | 출처 : http://www.kocw.net/home/search/kemView.do?kemId=331697&ar=relateCourse 전통적 분석기법과 객체지향의 차이 전통적 기법의 프로그램은 '처리(process)' 순서, 절차에 초점을 맞추어 프로그램이 데이터와 그러한 데이터를 조작하기 위한 함수들로 구성됨. 이때 데이터(자료)와 함수가 분리된 채 함수 간 데이터를 주고받다 보니 상호 간의 높은 의존성과 복잡성, 불필요한 중복, 낮은 재사용성 문제를 야기하며 프로그램 효율성/생산성 떨어뜨리게 됨 객체지향은 이러한 문제를 해결하기 위해 등장한 방법론으로, 전통적 기법의 프로그램이 함수의 집합체였다면,..
* KOWC에 등록된 동국대학교 최은만 교수님의 강의내용을 공부목적으로 정리한 글임을 밝힙니다. | 출처 : http://www.kocw.net/home/search/kemView.do?kemId=331697&ar=relateCourse Use Case 시스템 외부 관점, 특히 사용자/Actor 관점에서 해당 시스템의 기능과 동작방식을 나타낸 것 향후 테스트/검증 시에도 유용하게 활용됨 Use Case 표현 스타일 Use Case Diagram Use Case Description 작성 순서 1. Actor와 goal (actor 가 시스템에 요구하는 것) 식별 2. 관계정의 (A-A, A-U, U-U) 3. Normal flow 작성 4. Sub flow, Alternate/exception flow ..
✅ Level 21 : A program is running automatically at regular intervals from cron, the time-based job scheduler. Look in /etc/cron.d/for the configuration and see what command is being excuted 🖊︎ cron 파일 원리 알기 | 문제에서 지시한 대로 /etc/cron.d 폴더로 들어가 현재 level에 해당하는 cronjob_bandit22 file cat 설정파일 확인해보니 매분, 시, 일, 월, 요일, 그러니까 24시간 내내 bandit22에 의해 /usr/bin/cronjob-bandit22.sh 파일의 출력이 /dev/null로 버려지도록 리다이렉션 시켜..
cron 작업 스케줄링 역할 하는 데몬으로, 특정 시간에 특정 작업을 자동으로 수행 할 수 있도록 함 (crontab 을 실행) 주기적, 반복적으로 수행해야 하는 작업에 유용 보안쪽에서 매일 취약점 검사를 위해 쓰이기도하지만, 공격자가 해킹 용도로 특정 서버 침입해 악성코드 실행 명령을 crontab 에 설정한 사례가 있음 동작방식 System ON (서버부팅) Init 데몬 cron 데몬 실행 ( 백그라운드로 실행, 확인 명령어 : $ ps -ef | grep cron ) /etc/crontab 파일 읽음 cron.hourly > '' daliy > '' weekly > '' monthly 수행 (시스템 cron 설정 디렉토리) /var/spool/cron 디렉토리에 있는 파일 읽음 (사용자 개별 cr..