본문 바로가기

전체 글137

[Design Pattern] Mediator Pattern Mediator Pattern 객체간의 종속성을 줄일 수 있는 패턴으로, 여러 Colleague들 사이를 Mediate하는 역할을 하는 인터페이스가 존재한다. 클래스간의 종속을 줄이기위해 클래스 사이에 Mediator가 존재하고, 여러 클래스들은 서로 직접 참조, 통신하는 것이 아닌 Mediator를 통해서 메세지를 주고 받는다. Use When? 객체들간의 상호작용 관계가 복잡할 때 다이어그램을 통해 알아보자 Mediator Pattern을 통해 객체간 종속성을 줄이기 전의 다이어그램이다. 서로 강하게 참조를 하고있으며, M:N 관계로 상호간 매우 얽혀있는 모습을 볼 수 있다. 이때 클래스 간의 복잡한 관계들을 캡슐화하여 하나의 클래스에서 관리하도록 한다. M:N의 관계를 Mediator Pattern.. 2022. 3. 20.
[RxSwift] Observable, Dispose "Observable sequences를 사용하는 비동기 프로그래밍을 위한 Library" Rx는 Observer 패턴을 사용하며 Observer 패턴이란 특정 객체가 방출할 이벤트를 Observe(관찰)하고 있다가 이벤트 발생을 포착하면 특정 동작을 하는 패턴이다. 방금 말한 Observer 패턴에서 이벤트, 알림을 방출(emit)하는 특정 객체를 Observable, 이벤트를 관찰(subsribe, observe)하는 객체를 Observer라고 한다. 꽤나 간단하다 Observable Observable는 Event를 방출한다. Observer(구독자)는 Observable을 관찰(구독, Subscribe)하고 있다가 전달되는 이벤트를 처리한다. Observer가 Observable을 감시, 관찰하는.. 2022. 3. 20.
[OS] OS OverView 1시간짜리 공부하는데 3~4시간씩 걸리는게 정상인가요 ㅜㅠ 운영체제의 역할 운영체제의 역할은 크게 다음과 같다.. User Interface (편리성) CUI(Character User Interface) - 캐릭터(문자열)로 이뤄진 Interface GUI(Graphical User Interface)- 그래픽으로 이뤄진 Interface EUCI(End-User Comfortable Interface) - 특정 목적을 위해 만들어진 Interface Resource Management (효율성) HW Resource - 프로세서, 메모리, inout device ... SW Resource - 파일, 어플리케이션, 메세지, 신호 ... Process and Thread Management 실행의 주체.. 2022. 3. 13.
[OS] OS의 작업 수행 방식 OS에 대해 공부하다가 작업 수행 방식에 대한 역사부터 보고.. 재밌어서 글이 너무 길어져갖고 해당 부분을 끊어 쓴다~~~!! OS의 작업 수행 방식 (역사) 순차 처리(~40s) 1940년대까진 운영체제의 개념이 존재하지 않았다. 이 말인 즉슨.. 운영체제가 해주는 일을 사용자가 직접 해야됐다는 말이다. 하드웨어 관리고.. 소프트웨어 관리고 전부 다 사용자가 관리해야됐던 시절이다. 작업 순서도 반드시 지켜야했고!! 근데 여기서 문제가 생긴다. 이 땐 비록 언어간 구별이 있었을지 없었을지는 모르겠지만 현존하는 언어를 예로 들어 얘기해보면, 어떤 사람은 C로 작업을 하였고, 다른 사람은 Java, 또 어떤 사람은 Python으로 작업을 했다고 생각해보자. 이 언어들의 동작 방법은 각각 다르고 운영체제가 없.. 2022. 3. 13.
[OS] Computer System Overview 좋은 강의 영상을 찾아서.. 공부 고 OS란? 데이터를 효율적으로 관리하여 사용자, 응용프로그램들에게 서비스를 제공하는 역할을 한다. 즉, 컴퓨팅 자원들을 효율적으로 관리하여 이를 통해 사용자에게 서비스를 제공하는 역할 컴퓨터 시스템 개요 컴퓨터 하드웨어의 종류 프로세서 - 계산(연산)하는 역할 CPU GPU 응용 전용 처리장치 (특별한 목적을 갖고 연산하는 것) 메모리 - 저장하는 역할 주 기억장치 보조 기억장치 주변 장치 키보드, 마우스 모니터, 프린터 네트워크 모뎀 프로세서란? 프로세서는 컴퓨터의 뇌이다. 그리고 이 뇌는 운영체제에 의해 관리된다. 중앙처리장치란 이름에서 나 겁나게 중요한 놈이야!!! 하고 분명하게 나와있다. 프로세서는 연산을 수행할 뿐만 아니라 컴퓨터의 모든 장치의 동작을 제어한다.. 2022. 3. 5.
HIG) ScrollView ScrollView 제스쳐를 활용하여 손가락을 모으거나, 탭하여 확대, 축소하도록 Zoom 동작을 적절하게 지원해라. 하나의 단어가 화면 전체를 채울 때까지 확대하는 등의 대부분의 앱에서 의미 없는 확대, 축소를 막기위해 적절한 최대, 최소 배율값을 설정해라 ScrollView가 Paging모드일 경우 PageControl을 보여라 다만 ScollView로 PageControl을 표시하는 경우, 혼동을 피하기 위해 동일한 축에서 Scroll indicator 를 비활성화해라 다른 ScrollView안에 ScrollView를 놓지말아라 제어하기 어려운, 예측할 수 없는 인터페이스가 생성되므로 지양해라 일반적으로 한 번에 하나의 ScrollView를 표시해라 사람들은 스크롤할때 큰 제스처를 자주 취하므로 같.. 2022. 2. 22.