본문 바로가기

공부/computer science13

비동기 프로그래밍 방식에 대해 알아보자 링크를 참고하며 정리했습니다 비동기 프로그래밍 (Asynchronous Programming) 코드의 실행 결과에 대한 처리를 별도의 공간에 맡겨둔 뒤, 바로 다음 코드를 실행 시킨다. 프로그램의 실행 흐름을 멈추어서, 기다림 없이 바로 다음 작업을 실행할 수 있게 하는 방식이다. 한마디로 코드를 병렬 처리하는 것 ...! 1. 동시성 프로그래밍 (Concurrency Programming) - 멀티 태스킹을 위해 여러 개의 스레드를 번갈아가며 실행한다. - (주로) 싱글 코어에서 멀티 스레드를 동작 시킬 때 이용하는 방식이다. 2. 병렬성 프로그래밍 (Parallelism Programming) - 물리적으로 정확히 동시에 실행한다. - 멀티 코어에서 멀티 스레드를 동작 시킬 때 이용하는 방식이다. 동.. 2022. 2. 1.
프로그래밍 디자인 패턴에 대해 알아보자 Software design pattern 을 읽고 정리한 글입니다 1. 정의 “특정한 상황에서, 일반적인 설계 문제를 해결하기 위해 상호 교류하는 수정 가능한 객체와 클래스들에 대한 기술” 즉 소프트웨어를 문제와 해결책을 위해 자주 사용하는 구조적 형태로 체계화 시키는 것을 말한다. 2. 특징 코드의 수준을 높인다. 클래스의 개수를 줄여준다. 좋은 설계와 아키텍처를 패턴화 해서 이름만으로도 구조를 파악하고 따라 적용할 수 있게 해준다. 한마디로 말하자면 재사용성을 높인다. ❔❓ 재사용성? 어떤 클래스를 만들지 어느 시점에 객체를 생성하고 소멸 시킬지. 데이터를 어떻게 받고 처리할 지 구조 설계를 어떻게 할 지 등등 ... 3. 목적 생성 / 구조 / 행위 4. 객체 디자인 패턴의 종류 1️⃣ 싱글턴 패.. 2022. 1. 28.
difference of OOP and Functional Programming 코드로 비교 import Foundation // -- 명령형 프로그래밍 -- func doSomething1() { print("do something") } func doAnotherThing1() { print("do another thing") } func excuteAll1() { doSomething1() doAnotherThing1() } excuteAll1() // "do something" // "do another thing" // -- 함수형 프로그래밍 -- func doSomething2() { print("do something") } func doAnotherThing2() { print("do another thing") } func excute2(tasks: [() -> Vo.. 2021. 8. 27.