분류 전체보기138 [Swift] Increasing Performance by Reducing Dynamic Dispatch 많이들 고민하고 사용하는 Class.. 클래스와 구조체는 할당부터 차이가 있지만 이번엔 Method Dispatch에 관련하여 알아보려 한다. 근데 Method Dispatch가 뭔데..? 디스패치하면 연예인들 찍는 게 생각날텐데, 직역한다면 메소드 부치기... 발송하기..? 메소드를 어느 곳에 부칠지에 대한 의미가 어느정도 들어맞는 것 같다. Method Dispatch란 특정 함수 호출시 어느 곳에서 함수를 호출할 것이며 어떤 함수를 호출할 것인지를 결정해주는 방식이라고 생각하면 될 것 같다. 우선 각 Dispatch 방식부터 간단히 알아보고 가자 이번 글은 클래스의 성능향상이니... 결론부터 말하자면 Method Dispatch 방식은 두가지로 나뉜다. Static Dispatch Dynamic D.. 2022. 4. 22. [Design Pattern] Singleton Pattern Design Pattern은 역사적으로 프로그래밍을 할 때 자주 발생하는 문제점들을 해결하기 위해 생겨난 구조, 패턴이다. 우린 이 공통된 오답노트같은 패턴들을 사용하고, 참조하며 개발을 한다. 공통화 덕에 생긴 이점은 동일한 문제에 대해서는 특정 표준 설계법을 사용하여 다른 개발자와 의사소통을 원활하게 하고, 코드가 방대해질 경우 흐름을 파악하는데도 큰 도움이 된다. 오늘 알아볼 패턴은 Singleton Pattern 이다. 위키백과는 Singleton을 다음과 같이 정의했다. In software engineering, the singleton pattern is a software design pattern that restricts the instantiation of a class to one .. 2022. 3. 31. [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. 이전 1 2 3 4 5 6 7 ··· 23 다음