전체 글

1. Reactorkit 소개Reactorkit은 Swift로 작성된 리액티브 프로그래밍 라이브러리로, 주로 상태 관리와 데이터 흐름 제어를 쉽게 하기 위해 사용됩니다. 이 라이브러리는 iOS 앱 개발에서 리액티브 패턴을 채택하여 일관된 상태 관리와 반응형 UI 업데이트를 가능하게 합니다.이번 글에서는 Reactorkit의 기본 개념과 작동 방식, 어떤 장점이 있는지 리드미를 번역해보며 소개해드리려고 합니다. 2. Reactorkit의 기본 개념Reactorkit의 정의 ReactorKit은 Flux와 Reactive 프로그래밍의 조합이라고 합니다. 사용자액션과 뷰의 상태는 관찰 가능한 스트림을 통해 각 레이어에 전달됩니다. 이 스트림은 단방향으로 이루어져 있습니다. 뷰는 액션만 내보낼 수 있고, 리액터..
· 💬 Review
정보처리기사 공부 방법 요약시나공 정보처리기사 필기 기본서 - 1회독 시나공 정보처리기사 필기 기본서 기출문제 - 1회독 맞추다 앱으로 2000 문제 풀기 수제비 카페 필기시험 복원 내용 둘러보기 - https://cafe.naver.com/soojebi 정보처리기사 필기 공부 방법시작하기 전에 책을 먼저 추천드리고 싶은데요, 책은 위에도 언급되어있지만 시나공 참고서 을 왕왕 추천해요! 시나공 책 장점1) 1,2와 3,4,5과목이 분리할 수 있어서 들고다니기 편하고 2) 개념 설명이 잘 되어있고 3) 중요도도 같이 알려주며 4) 어떤 개념에서 자주 출제되는지 출제연도를 같이 표시해주고 5) 문제마다 해설이 바로 아래에 달려있어서, 따로 여기저기 찾아보지 않고 빠르게 해설을 확인할 수 있어요 !! + 다른..
https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 그래프, 다익스트라 연습을 하려고 시도했던 문제이다. 기존에 그래프를 순회할 때 아래처럼 많이 사용했었는데, 시간초과가 나서 idx로 큐에 접근하는 방법으로 수정했다. while let q = queue.isEmpty() ? nil : queue.removeFirst() X부터 큐(일반 배열)에 넣음 (거리배열dist는 ma..
Fastlane 적용할 때 필요한 사이트들증명서, 프로파일 등 필요할 때https://developer.apple.com/account 앱 암호 설정할 때https://appleid.apple.com/ Shooooootig ⚽️수많은 문제 중에 2가지 에러를 다루고자 한다! 🎯 Trouble 1❌ /Users/leejinhee/Desktop/XCODEPROJECT/Team/meokQ-Admin-iOS/MatQ_Admin/Presentation/View/Notice/NoticeDetailView.swift:71:1: external macro implementation type 'PreviewsMacros.SwiftUIView' could not be found for macro 'Preview(_:bo..
처음에 생각했던 풀이 1. 딕셔너리 생성 = "의상의 종류":["의상이름"] 2. 범위 (1...의상의 종류 수) dp 테이블 만들기 3. dp 테이블 결과 반환 이 순서대로 그림을 그리고 규칙을 찾아 dp 테이블을 만들어 해결하려 했었다.. 규칙을 찾고 싶었는데, 감만 오고.. 생각했던 대로 해결되지 않아서 "프로그래머스의 질문하기"를 확인해봤는데 명쾌한 수학적 풀이가 있어서 기록해두고자 한다. 고등학생 때 이 문제를 봤으면 좀 더 빠르게 해결방식을 알아냈을 듯 하다,,ㅎ.ㅎ 해결 방식 의상의 종류 1가지 상의일 경우 반환값 = 상의 개수 (아래부턴 편의상 "개수" 생략) 의상의 종류 2가지 상의, 하의일 경우 반환값 = 상의 + 하의 + 상의 * 하의 의상의 종류 3가지 상의, 하의, 신발일 경우 반..
· 🛠️ OS
이론적인 fork() 프로세스는 기본적으로 자원을 공유하지 않는다 → 부모 프로세스가 적재된 별도의 공간에 자식 프로세스가 통째로 복제되어 적재 단점: 프로세스 생성 시간 지연, 메모리 낭비 → 이를 해결하는 쓰기 시 복사(copy on write) 1. 쓰기 시 복사 부모 프로세스와 동일한 자식 프로세스가 복제되어 생성되면, 자식 프로세스는 부모 프로세스와 동일한 프레임을 가리킴(쓰기 작업 없다면 이 상태 유지 부모 프로세스/자식 프로세스 둘 중 하나가 페이지에 쓰기 작업 수행 시 해당 페이지는 별도의 공간으로 복제 → 프로세스 생성 시간 절약, 메모리 절약 2번 페이지만 별도 공간 사용함 2. 계층적 페이징 페이지 테이블을 페이징하여 여러 단계의 페이지 페이지를 두는 방식 페이지 테이블을 여러 페이지..
· 🛠️ OS
페이징을 통해서 물리 메모리보다 큰 프로세스를 실행할 수 있지만, 그럼에도 물리 메모리의 크기는 한정되어있다. 그렇기에 운영체제는 이 2가지 문제를 해결해야합니다. 기존에 적대된 불필요한 페이지를 선별해 보조기억장치로 내보내고 (→ 페이지 교체) 프로세스들에게 적절한 수의 프레임을 할당해야 함 (→ 프레임 할당) 1. 요구 페이징 처음부터 모든 페이지를 적재하지 않고 필요한 페이지만을 메모리에 적재하는 기법 요구되는 페이지만 적재하는 기법 순수 요구 페이징 - 아무런 페이지도 메모리에 적재하지 않은 채 무작정 실행부터 하는 방법 순서 CPU가 특정 페이지에 접근하는 명령어를 실행한다. 해당 페이지가 현재 메모리에 있을 경우(유효 비트가 1일 경우) CPU는 페이지가 적재된 프레임에 접근한다. 해당 페이지..
· 🛠️ OS
연속 메모리 할당의 두 가지 문제점 외부 단편화 물리 메모리보다 큰 프로세스 실행 불가 가상 메모리 실행하고자 하는 프로그램을 일부만 메모리에 적재하여, 실제 물리 메모리 크기보다 더 큰 프로세스를 실행할 수 있게 하는 기술 페이징, 세그멘테이션 1. 페이징이란 외부 단편화가 발생했던 근본적인 문제? 각기 다른 크기의 프로세스가 메모리에 연속적으로 할당되었기 때문 그러면, 프로세스를 일정 크기로 자르고, 이를 메모리에 불연속적으로 할당할 수 있다면 어떨까? → 외부 단편화는 발생하지 않겠죠! 페이징: paging 프로세스의 논리 주소 공간을 페이지(page)라는 일정 단위로 자르고, 메모리의 물리 주소 공간을 프레임(frame)이라는 페이지와 동일한 일정한 단위로 자른 뒤 페이지를 프레임에 할당하는 가상..
JINiOS
JINiOS