# distribution
동시성 실행 - Multi Threading, Event-driven, co-routine, 분산 시스템, 자원 공유 기법
동시성 실행 Multi-threading 여러 개의 Thread를 사용해, 동시에 여러 작업 처리 자원 공유, 동기화 문제 고려 필요 시스템 성능 증가 💡 Multi Processing과의 차이 Multi-Thread는 하나의 Process 안에서 작동되는 개념이고, Multi-Processing은 여러 Process가 동시에 돌아가는 개념이다. Event-driven(이벤트 기반) 및 callback event 발생시 → Handler 호출 비동기 : 작업이 끝날때까지 기다리지 않음 callback을 이용하여 Handler를 작성해 준다. Co-routine Thread와 유사하나, 여러 execution-context를 가진 단일 Thread에서 동작.
Distribution
참고: 1. [이산형 분포] 베르누이 분포(Bernoulli distribution), 이항 분포(Binomial distribution) 2. [이산형 분포] 초기하 분포(Hypergeometric distribution) 3. [이산형 분포] 포아송 분포(Poisson distribution) 포아송 분포 ~ 지수 분포 -> 감마 분포 4. [이산형 분포] 기하 분포(Geometric distribution) 확률이 p인 시행(베르누이 시행)을 반복하여 처음으로 ‘성공’이 나타난 시도 횟수 = x x는 성공확률이 p인 기하분포를 따른다. $X$ ~ $Geometric(p)$ <img src ="https://velog.velcdn.com/images/ingsol/post/ecc1cf78-519f-4188-9b29-2d1790e9f26d/image.pn

[IOS] 조치 필요: Distribution 인증서가 30일 후에 만료됨
문제 상황 xxxxx 님께, Distribution 인증서가 30일 후에 만료됩니다. 새 인증서를 생성하려면 로그인하여 Certificates, Identifiers & Profiles(인증서, 식별자 및 프로파일)를 방문하십시오. 인증서: Distribution 팀 ID: xxxxxxxxxxxx 만료된 인증서에 대해 자세히 알아보려면 인증서 지원 페이지를 방문하십시오. 감사합니다. Apple Developer Relations 라는 이메일이 왔을때의 조치 방법 입니다. 조치 방법 애플 developer 접속 1.1 https://developer.apple.com 접속 1.2 상단 탭 계정 이동 1.3 인증서(영문) 클릭 인증서 Revoke 2.1

[RN] iOS App Store 배포 준비 작업(계정, CSR, Provisioning Profile, Device, Identifiers 등)
rn 으로 만든 앱을 배포하기 위해서는 애플 디벨로퍼 계정을 만들고, 앱스토어에 배포해야 한다. 일단 오늘은 먼저 iOS 앱을 배포하는 법을 먼저 알아보겠다! 나는 돈 내야 하는 줄 몰랐다.. 여러분 돈 내야해요ㅋㅋㅋㅋㅎㅎㅎ 시작! Apple Developer 계정 등록 Apple Developer 페이지에 들어가 Account 를 클릭해준다. 다음과 같은 창이 뜨는데, 여기서 로그인 및 인증을 진행해주면 된다. 나는 원래 쓰던 개인 계정(애플 계정) 말고 다른 아이디를 생성해 인증해주었다. 브라우저 신뢰해주시고 멤버십을 구입해주면 된다. 멤버십 구입 은 우리 주변에 있다. 확률론(Probability)은 우연한 사건을 논리적으로 분석할 수 있게 한다. 확률은 특정 사건이 발생할 것 같음을 숫자로 나타낸다. 이 숫자는 0과 1 사이이다. 0은 불확실함, 1은 확실함을 나타낸다. 동전 던지기가 가장 유명한 확률의 예시이다. 동전의 위, 아래가 나올 확률은 각각 $\frac{1}{2}$ 하지만 실제로 실험해보면 위 확률이 나오지 않는다. 하지만 수행 횟수가 높아질 수록 위 확률에 가까워진다. 하지만 만약 동전의 무게가 불균형적이라면, 동전의 위, 아래가 나올 확률이 달라진다. 이럴 경우, 실제 확률이 조정될 수 있도록 가중치나 분포를 조정해야 한다. 확률 변수(random variable)로 설정 Expectati

StackView
stack view는 autolayout을 적용하지 않고도 layout을 잡을 수 있는 신기한 친구다. 한번 알아보자. 이 글을 읽기 위해서는 이전글을 읽고 오는 것이 이해가 쉽다. Concept 애플에서는 이 stackview를 constraint가 복잡하게 있는 autolayout을 쉽게 제공하기 위해 만들었다고 한다. stackview하나는 row나 column 하나를 정의하고, 사전에 만들어둔 properties들을 통해 이를 제어한다고 한다. axis(UIStackView): vertical 이냐 horizontal이냐 orientation(NSStackView): vertical 이냐 horizontal이냐 distribution: axis를 따라 view들이 어떻게(크기가) 분배될지를 정함 alignment: axis의 수직인 방향으로 어떻게 분배될지를 정함 sp
Image inpainting(2)
Texture Synthesis by Non-parametric Sampling A. A. Efros and T. K. Leung, "Texture Synthesis by Non-parametric Sampling" 논문을 요약, 정리해보는 시간을 갖겠습니다. Abstract Texture synthesis는 초기의 기준점(seed)을 이용해 한번에 한 픽셀씩 합성(생성)시켜 새로운 이미지를 만들어내는 것을 의미합니다. 논문에서는 마르코프 랜덤 필드(MRF)를 이용하고, synthesize할 픽셀의 주변 값들과 유사한 이미지 패치를 샘플 이미지에서 모두 찾아 픽셀의 조건부 분포(conditional distribution)를 추정합니다. 무작위 정도(만들어지는 이미지의 무작위 정도; 규칙적인 texture로 이루어져 있는가 아닌가)는 인간의 인지능력에 직관적인 파라미터 하나만을 이용해 조절합니다. 논문에서는 Non-parametric method를 제
Markov chain
마르코프 체인(Markov Chain)에 관해 알아보는 시간을 갖겠습니다. 마르코프 체인이란? 정의 마르코프 체인을 설명해주는 여러 매체들에서는 주로 '날씨'를 이용해서 마르코프 체인을 설명합니다. 예를 들어 오늘의 날씨가 비가 내리는 날씨이고, 내일 날씨가 비가 내릴지 내리지 않을지 확률로 나타낼 수 있습니다. 이를 좀 어렵게 말하면 마르코프 체인은 '마르코프 성질'을 가진 '이산시간 확률과정' 입니다. 각각을 풀어서 설명하면 마르코프 성질 - 과거와 현재 상태가 주어졌을 때의 미래 상태의 조건부 확률 분포가 과거 상태와는 독립적으로 현재 상태에 의해서만 결정됨 이산시간 확률과정 - 이산적인 시간의 변화에 따라 확률이 변화하는 과정 이라고 설명될 수 있습니다. 
ARCUS 데이터 분산 저장 정책
서비스 운영중에 부하가 집중되어 성능에 문제가 발생할 때 이를 해결하기 위한 방법으로 스케일 업(scale up)과 스케일 아웃(scale out)이 있습니다. 스케일 업은 단순히 서버의 하드웨어를 더 좋은 것으로 교체하는 것으로, 가장 간단한 해결방법이지만 서비스를 재구동 해야하며 성능 증가에 한계가 있습니다. 반면 스케일 아웃의 경우 컴퓨팅 파워를 병렬로 증설하는 것으로 스케일 업과 비교하여 지속적 확장이 가능하다는 장점이 있지만 추가적으로 분산 아키텍쳐 및 정책을 수립해야하기 때문에 복잡성이 증가합니다. ARCUS는 클러스터 기능을 통해 스케일 아웃을 지원하며 이를 통해 서비스의 요청을 분산 저장하고 부하를 분산합니다. 이 글에서는 데이터를 분산 저장할 때 선택할 수 있는 아키텍쳐와 정책들을 소개하고 ARCUS는 어떻게 데이터를 분산하여 저장하는지 소개합니다. 데이터 분산 아키텍쳐 일반적으로 데이터를 분산 저장할 때 고려할 수 있는 분산 구조는 노드 간에 데이터를 공유하

[Distribution] App Build & Distribution
빌드 정적, 동적 웹사이트 CSR - 정적 웹사이트 (클라이언트가 html 렌더링) SSR - 동적 웹사이트 (서버가 html 렌더링) AJAX 이전에는 동적 웹사이트가 많았으나 이후로는 정적 웹사이트가 많아졌다. 퍼포먼스를 위해 정적 동적 방법을 섞기도 한다. (서버 컴퓨터가 성능이 좋기 때문에) 빌드 현대의 웹 앱은 정적 웹페이지와 AJAX 기술을 함께 사용하며, SPA 로 변함에 따라 클라이언트 사이드의 규모가 커지게 되었다. React 와 같은 클라이언트 기술이 발전하면서, 단일 파일로 자바스크립트나 페이지를 만드는 작업은 보다 고도화되기 시작했다. 고도화된 클라이언트 웹 앱은 수많은 모듈로 이뤄져 있다. 많은 모듈을 하나로 묶어주는 작업을 bundling 이라고 하며, 이 과정에서 JSX를 파일처럼 브라우저가 해석하지 못하는 기술을 JavaScript 로 변환해 주는 작업 등이 있다. Software build 는 이런식으로 소스코

서비스를 확장하는 방법
확장이란 서비스가 더 큰 규모의 부하를 감당할 수 있도록 규모를 키우는 것을 말한다. 이 글에서는 토이 프로젝트로 시작한 서비스의 규모를 점점 키우는 예시를 통해, 서버를 확장하는 방법을 살펴본다. 대학생 김덕배 씨가 졸업 과제로 덕배넷이라는 간단한 웹 서비스를 개발하고 있다고 생각해보자. 아직은 개발 단계이기 때문에 덕배넷에 접속하는 사람은 김덕배 씨와 그의 팀원 뿐이다. 아직은 다음의 그림 같은 소박한 구조로도 잘 동작한다. 졸업 과제로 만든 서비스에 트래픽이 몰리는 일은 거의 없기 때문에 김덕배 씨는 이 정도로 프로젝트를 마무리하려 했다. 그러나 어쩐 일인지 서비스가 갑자기 유명해져서 학생들이 몰리기 시작했다. 최대한 버티는 방법 아직 아키텍처를 변경하기에는 부담스럽다. 김덕배 씨는 기존의
(2-5) 표본분포 / 추정, 검정, 교차엔트로피
표본분포 우선 표본 조사의 필요성과 표본 추출 방법에 대해서 배워보자. 통계적 추론 표본조사를 통해 모집단에 대한 해석을 진행 전수조사는 실질적으로 불가능한 경우가 많음 표본조사는 반드시 오차가 발생! 따라서 적절한 표본 추출 방법 필요 👉표본과 모집단과의 관게를 이해해야 함! 📌표본 추출 방법 단순랜덤추출법(random sampling) 난수표 사용 랜덤 넘버 생성기 사용 표본분포 > 표본 평균의 분포 모수 (parameter) : 표본조사를 통해 파악하고자 하는 정보 모수의 종류 모평균, 모분산, 모비율 등 모수를 추정하기 위해 표본을 선택하여 표본 평균이나 표본 분산 등을 계산 통계량 (statistic) : 표본 평균이나 표본 분산과 같은 표본의 특성값 예시) 50만명의 전국 고등학교 1학년 학생의 키를 조사하기 위해 1000명을
(2-4) 통계학, 기본 개념 / 확률, 확률분포
통계학, 기본개념 통계학에서 필수적인 개념들을 중심으로 살펴보도록 한다. 개념 정의 통계학(statistics) 데이터의 수집, 구성, 분석, 해석, 표현에 관한 학문 기술통계학(descriptive statistics) 추측통계학(inferential statistics) 👉데이터를 수집하여 표현하고, 분석하여 미래를 예측하는 학문이다. 모집단(population) : 어떤 질문이나 실험을 위해 관심의 대상이 되는 개체나 사건의 집합 예) 전교 남학생의 키 모수(parameter) : 모집단의 수치적인 특성 예) 키의 평균 표본(sample) : 모집단에서 선택된 일부 개체나 사건의 집합 도수(Frequency) > 어떤 사건이 실험이나 관찰로부터 발생한 횟수 # 빈도 표현방법 도수분포표(Frequency Distribution Table)