전체 글
인프라 응용 이론
1. 캐시 사용 빈도가 높은 데이터를 고속으로 액세스할 수 있는 위치에 두는 것을 캐시라 합니다. 특징 · 일부 데이터를 데이터 출력 위치와 가까운 지점에 일시적으로 저장합니다. · 데이터 재사용을 전제로 합니다. 캐시는 데이터에 고속으로 액세스할 수 있으며 실제 데이터에 대한 액세스 부하를 줄일 수 있습니다. 하지만 이러한 캐시에 주의할 점이 있습니다. · 데이터가 실제 데이터와 캐시라는 이중 구조로 저장되기 때문에 리소스 소비가 늘어납니다. · 설계 시에는 어떤 데이터를 캐시하는 것이 효과적인지를 검토해야 합니다. · 시스템 가동 직후 등에는 캐시에 데이터가 없기 때문에 원하는 성능이 나오지 않을 수 있습니다. · 캐시의 데이터가 손실되는 경우를 대비해서 복구 순서를 설계 시에 확립해야 합니다. · ..
인프라 이론
1. 직렬 / 병렬 직렬 처리로 속도를 올리는 데에 한계가 있습니다. 병렬화를 통해 속도는 빨라지지 않지만, 단위 시간당 처리량을 늘릴 수 있습니다. · 병렬 처리에는 합류점, 직렬화 구간, 분기점이 병목 지점이 되기 쉽습니다. · 병렬화할 때는 일을 분담해서 처리를 한 후 다시 집약할 때 오버헤드가 걸립니다. 그러므로 이 오버헤드를 감안하더라도 효과가 있을 경우에 병렬화를 해야 합니다. 장점 단점 직렬 - 구조가 간단하여 설계나 구현 난이도가 낮습니다. - 복수의 리소스를 유용하게 이용할 수 없습니다. 병렬 - 복수의 리소스를 유용하게 이용할 수 있습니다. - 동일 시간당 처리할 수 있는 양이 증가합니다. - 일부가 고장나도 처리를 계속할 수 있습니다. - 처리분기나 합류를 위한 오버헤드가 발생합니다...
3계층형 시스템
1. 3계층형 시스템의 구성도 3계층형 시스템은 웹 서버와 AP 서버, DB 서버로 구성되어 있습니다. 가장 아래 물리서버는 세 대의 서버가 배열되어 있고, 스위치를 경유해서 연결되어 있습니다. 그 위는 CPU와 메모리 영역으로 '오퍼레이팅 시스템(OS)' 영역을 보여줍니다. 2. 3개층형 구성도 개념 2.1 프로세스 및 스레드 프로세스 및 스레드는 OS 상에서 실행되기 때문에 독립성을 가지고 동작합니다. 프로세스 및 스레드가 활동하기 위해서는 메모리 공간이 필요합니다. 해당 공간은 커널에 의해 확보됩니다. WEB 서버에서는 httpd 프로세스의 메모리 공간이 존재합니다. 해당 공간들은 독립되어 있습니다. AP 서버는 스레드로 httpd 프로세스와 다르게 하나의 메모리 공간을 공유하고 있습니다. 프로세스..
인프라 아키텍처
'IT 인프라' 는 IT의 기반이 되는 것으로, 하나의 애플리케이션을 실행하는데 필요한 Hardware, OS, Middleware, Network 등 시스템의 기반을 뜻합니다. 즉, IT 인프라 아키텍처는 해당 IT 운영에 필요한 요구사항들을 말합니다. 1. 집약형 아키텍처 하나의 대형 컴퓨터로 모든 처리를 하는 방식입니다. 장점 · 한 대의 대형 컴퓨터만 있으면 되므로 구성이 간단합니다. · 대형 컴퓨터의 리소스 관리나 이중화에 의해 안정성이 높고 고성능입니다. 단점 · 대형 컴퓨터의 도입 비용과 유지 비용이 큽니다. · 확장성에 한계가 있습니다. 2. 분할형 아키텍처 여러 대의 컴퓨터를 조합해서 하나의 시스템을 구축한 방식입니다. 이는 분산 시스템 등으로 불리면서, 분할형 아키텍처에서 이용되는 컴퓨..
[Objective-C] message, location으로 매개변수 이름정하면 에러..
Swift Log 및 회사 내 로그 관련 기술을 자주 이용하게 되는데 swift 외에도 objc에서도 사용을 해야하기 때문에 define으로 정의하여 이용할 때가 있습니다. #define testLog(type, code, message, location) [[Logger shared] unityLogWithType:type errorCode:code message:message location:location]; 이러한 형태로 @objc class를 생성하여 쉽게 Objc에서도 이용할 수 있겠지 라는 생각으로 정의한 결과! ..? 왠 에러가 뜹니다.. 심지어 저게 뭐지 해서 계속 삽질한 결과! message, location이란 단어로 매개변수에 넣으면 안되는 에러였습니다 ㅎㅎ.. (저렇게 나오니 왜그..
[Swift] 토스트(Toast) Message WindowScene 연구
안드로이드에서는 기본적으로 있지만 swift에서는 직접 구현해주어야합니다. toast 관련해서 라이브러리도 존재하고 swiftUI ViewModifier로 구현한 예제도 많습니다. 하지만 안드로이드랑 다르게 현재 자신의 뷰에서만 표시되고 이전 뷰로 가거나 다음 뷰로 이동 시, 토스트가 사라지거나 가려지는 문제가 있었습니다. 그래서 연구하는 도중 WindowScene 맨 위로 올리면 어떻게 될까 구현해본 결과, 항상 맨위에 존재하는 것을 확인할 수 있었습니다. 위의 이미지와 같이 뷰가 이전으로 가거나 다시 생기더라도 항상 Toast가 맨 위에 존재하는 것을 확인할 수 있습니다. 1. Get WindowScenes func getWindowScenes() -> [UIWindow] { return UIAppl..