All
18 posts
iPhone 미러링 먹통 해결방법

1. 무슨 현상인가? iOS 18 / MacOS 15에 새로 도입된 ‘iPhone Mirroring’이 갑자기 어느 순간부터 아이폰에서 작동되지 않았다. 아래 사진과 같이 Mac에서 iPhone Mirroing을 시도하면 **“An error occurred. Please try again.”**라는 메세지가 뜨며 을 아무리 눌러도 동일한 창이 뜬다. 를 해봐도 **“Unable to Reset iPhone Access”**가 뜨면서 실패한다. 일반적인 다른 버그가 발생했을 때와 마찬가지로 먼저 시도해본 조치는 Mac에서 iPhone Mirroring 재실행 WiFi, Bluetooth 껐다 켜기 Mac, iPhone 재부팅 이었다. 그럼에도 불구하고 이 현상을 해결하지 못하였다. 그래서 필자와 동일한 현상을 겪고 있는 사람이 없는지 검색해보았다. 2. 공론화 국내 커뮤니티에서는 맥쓰사의 이 글을 제외하면 아직까지 보고된 바가 거의 없으며, Reddit, Apple Suppor…

October 12, 2024
iOS
subway-live 작업기 3부. 데이터 전처리

0. 들어가며 다음으로는 데이터를 수집하고 처리하여 최종적으로 와 이 두 가지를 생성하는 과정을 거쳤다. 1. 카카오맵 API에서 역 ID 찾기 iPhone 카카오맵 앱에서 출발지점을 바꿔가며 역 ID를 찾아내었는데, 대부분 연속된 숫자라 찾기 그렇게 어렵지는 않았다. 다만 새로 개통한 1호선 다대포해수욕장 연장구간, 동해선 태화강 연장구간, 동해선 부산원동역 이 세 가지는 다소 변칙적이었다. 1호선 신평~노포: ~ 동매~다대포해수욕장: ~ 2호선 장산~양산: ~ 3호선 수영~대저: ~ 4호선 미남~안평: ~ 부산김해경전철 사상~가야대: ~ 동해선 부전~일광 (부산원동 제외): ~ 부산원동: 좌천~태화강: ~ 이 데이터를 최종적으로 에 저장하였다. 2. 전체 역 시간표 만들기 이 파트가 전체 모든 과정 중 가장 애를 먹였는데, 처음에는 코드만 잘 짜놓으면 쉽게 넘어갈 수 있다고 생각했으나 예상치 못했던 변수가 너무 많았기 때문이다. 근본적으로는 raw data 자체에 문제가 많…

June 21, 2024
웹개발
subway-live 작업기 2부. API 작업

0. 들어가며 부산 지하철 실시간 도착정보 서비스를 만들기 위해 가장 먼저 준비해야 하는 것은 그 실시간 도착정보를 가져오는 것이다. 공공데이터포털, 레일포털, 카카오맵 API 등을 모두 찾아 보았으나, OpenAPI 형태로 실시간 도착정보를 제공하는 곳은 없었다. 어쩔 수 없이 카카오맵 앱 내부적으로 사용되는 API를 사용하여 실시간 도착정보를 찾아내기로 했다. 이 내부 API는 외부에 공개되지 않기 때문에 네트워크 패킷을 분석하여 찾아내야 한다. 1. 카카오맵 내부 API 찾아내기 휴대폰에서 통신되는 네트워크 패킷을 컴퓨터에서 찾아낼 수 있는 소프트웨어를 검색해보니 Charles Proxy가 있었다. 30일 무료 평가판에 세션 시간 제한 등 제약이 있었지만, 카카오맵 내부 API를 찾아내는 데에는 문제가 없어 보였다. Charles Proxy를 Mac에 설치한 뒤 iPhone에서 몇 가지 설정을 만져 주었다. 1-1. iPhone Wi-Fi 설정 변경 iPhone을 컴퓨터와 동…

June 21, 2024
웹개발
iOS 앱 네트워크 트래킹

0. 들어가며 iOS 앱들을 보다 보면 어떤 앱에서 어떤 네트워크 요청을 주고 받는지 궁금할 때가 있다. 이럴 때, Charles Proxy라는 네트워크 스니핑(sniffing) 도구를 활용하면 간단하게 확인할 수 있다. 1. 준비사항 1-1. Charles Proxy 설치 컴퓨터에 최신 버전의 Charles Proxy를 설치한다. 30일 무료 평가판을 사용할 수 있으며, 이후에는 $50을 지불하고 사용해야 한다. 또 평가판 기간에는 세션 당 30분의 시간 제한이 있다. 1-2. iPhone 와이파이 설정 변경 컴퓨터와 동일한 Wi-Fi 네트워크에 연결된 iPhone을 준비한다. iPhone의 설정에 들어가 을 누르고 맨 밑으로 내리면 ()이 있을 것이다. 로 바꿔주고 Server는 컴퓨터의 IP 주소, Port는 로 설정한다. 컴퓨터의 IP 주소를 알아내는 방법은 다음과 같다. Windows: 를 열고 를 입력하면 나오는 IPv4 주소 Mac: 에 들어가 해당 네트워크 옆 를 누…

June 07, 2024
네트워크
Music

December 01, 2023
음악
인공신경망

참고링크: https://wikidocs.net/60680 활성화 함수 활성화 함수(activation function)이란 입력 신호의 총합을 출력 신호로 변환하는 함수를 의미한다. 인공 신경망의 활성화 함수는 비선형 함수를 사용해야 한다. 시그모이드(sigmoid) ReLU (Rectified Linear Unit) 단층 퍼셉트론 는 PyTorch에서 사용되는 선형 변환(linear transformation)을 수행하는 클래스이다. 두 개의 행렬 가중치(weight)와 편향(bias)을 학습하며, 입력 텐서를 선형 변환하여 출력 텐서를 생성한다. 선형 변환은 입력 텐서와 가중치 행렬의 행렬 곱을 계산하고, 편향을 더하는 연산으로 이루어진다. 로 입력값 weight을 모두 1로 초기화 로 linear layer 생성 로 활성화 함수 생성 입력값을 linear layer에 넣어서 output 생성 output을 ReLU에 넣어서 결과 출력 클래스를 사용하지 않고 수동으로 해…

September 15, 2023
DL
Biostatistics 강의노트

1. Basic concepts Statistics: The process of drawing conclusions for a population based on limited data Population and Sample Population (모집단): A complete set of items Sample (표본집단): A subset of individuals We acquire data from the population as samples and draw conclusions. 2. Sampling Noise 모집단 을 평균이 174, 표준편차가 6이고 크기가 1,000,000인 정규분포라고 해보자. 간격을 1로 설정한 히스토그램을 생성하면 아래와 같다. 함수는 난수를 생성하는 경우에 출발점(seed)을 고정함으로써 항상 동일한 결과가 나오게 한다. 만약 이 함수를 사용하지 않는다면, 코드를 실행할 때마다 다른 결과가 나올 것이다. 함수 안에 들어가는 인수는 0 이상의…

September 13, 2023
R
Zoom 가상 동영상 만들기

0. Intro 온라인 수업을 듣다가, 문득 눕고 십다는 생각을 해본 적이 있을 것이다. 하지만 누워서 수업을 듣는 자신의 모습을 카메라에 비출 수는 없지 않은가. (실제로 어떤 사람이 누워서 수업을 듣다가, 교수님이 뭐라 하신 상황을 목격한 바 있다.) 그렇게 해서 고안해낸 것이, 수업을 듣고 있는 자신의 모습을 촬영한 후 이것을 카메라 모습 대신에 활용하는 방안이다. 1. 영상 만들기 먼저 자신의 모습을 웹캠으로 약 1~2분 간 촬영한다. Mac의 경우, QuickTime Player의 방식으로 쉽게 촬영할 수 있고, Windows의 경우에는 OBS (Open Brodcaster Software)을 활용하여 녹화하면 된다. 다음 과정은 그 영상을 역재생한 영상과 이어붙이는 과정이다. 만약 이 과정을 생략한다면, 영상을 끝까지 재생하고 난 후 처음 프레임으로 돌아갈 때 툭 끊기게 될 것이기 때문이다. 이 글에서는 Adobe Premiere Pro CC를 이용할 것이다. 영상을 …

April 27, 2023
자동화
Pyeon–Ahn SAT (7) 다인자 유전

문제 Q7.svg 해설 Step 1. 가능한 연관의 경우의 수를 구하자. 총 개의 유전자를 개의 염색체 그룹으로 배분하기 위해서는 자연수의 분할 알고리즘이 필요하다. 자연수의 분할을 구현하는 방식은 여러 가지가 있겠지만, 가장 대표적인 접근방법은 다음의 재귀 호출을 사용한 방법일 것으로 생각된다. 혹은 를 이용해도 된다. 를 출력해보면 아래와 같다. (…생략…) Step 2. 집합 를 구하자. 의 각 원소를 라고 하자. 우선 각 경우에서 나타날 수 있는 표현형에 무엇이 있는지를 구해야 한다. 그러기 위해서는 각각의 염색체에서 가능한 표현형에 무엇이 있는지를 구한 다음 더해야 한다. 형질을 결정하는 유전자가 쌍 존재하는 임의의 염색체 에서 가능한 표현형의 수를 구해보자. 아버지의 상동염색체에 대문자 개수가 각각 와 , 어머니의 상동염색체에 대문자 개수가 각각 과 라고 해보자. 그렇다면 (, , , )의 범위는 일 것이다. 하나의 염색체에서 다인자 유전의 표현형 가짓수는 오…

April 15, 2023
PASAT
Pyeon–Ahn SAT (6) 등비급수

문제 Q6.svg 해설 정답 1 Comment 첫 발상을 해내는 데까지 다소 시간이 소요될 것으로 예상되지만, 문제 자체는 PASAT의 여느 다른 문제들(!)과 달리 아주 깔끔하다. History 최초 출제일: 2022.01.31. 해설 작성일: 2022.01.31. 웹 업로드일: 2023.04.15. 문제 해설 정답 Comment History

April 15, 2023
PASAT
Pyeon–Ahn SAT (5) 공 넣기

문제 Q5.svg 해설 노란색 탁구공을 , 흰색 탁구공을 , 노란색 골프공을 , 흰색 골프공을 , 연두색 테니스공을 라 하자. 전체 개의 공 중 상자에 넣을 공의 개수를 이라 하면, 조건 (가)에 의해 이다. (ⅰ) 일 때 (ⅰ)-ㄱ. 가 개일 때 각 상자에 들어갈 공의 조합을 순서쌍으로 나타내보자. , , 의 경우만 존재하므로 이를 나열하는 경우는 가지이다. (ⅰ)-ㄴ. 가 개일 때 먼저 가 들어갈 상자를 결정하는 경우의 수는 이다. 일 때: 남은 두 상자가 , 일 때 가지, , 일 때 가지 일 때: 남은 두 상자가 , 일 때 가지 일 때: 남은 두 상자가 , 일 때 가지 일 때: 남은 두 상자가 , 일 때 가지 따라서 (ⅰ)-ㄷ. 가 개일 때 , , 그리고 가 포함되지 않은 상자 하나로 이루어진다. 가 포함되지 않은 상자가 일 때: , , , , 이 남으므로, , 가 서로 다를 때 가지, , 가 같을 때 가지가…

March 07, 2023
PASAT
Pyeon–Ahn SAT (4) 여러 개의 변수가 있는 적분

문제 Q4.svg 해설 Step 1. 구하기 ( 는 적분상수) (가)에 을 대입하면 또는 어느 경우든 간에 이다. 그러므로 에서 또는 문제 조건에서 의 공역이 이기 때문에, 이다. 따라서 이고, 이다. Step 2. 구하기 라 하자. 라 하면 Step 3. 답 구하기 (ⅰ) 가 을 만족할 때 로 두면, 이므로 은 상수이므로, 위 식을 만족시키는 는 로 유일하다. (다시 말해 를 만족하는 은 로 유일하다.) 라 하면 이므로, 이므로 , , (ⅱ) 가 을 만족할 때 이므로 이다. 그런데 앞에서 을 만족하는 는 단 한 개임을 보였으므로, 을 만족하는 는 무수히 많다. 고로 이 경우에서 을 만족하는 이 ‘뿐’인 경우는 없다. 정답 60 Comment 문제의 생김새에 비해서는 깔끔하게 풀린다고 볼 수 있을 것 같다. 식을 잘 정리하고 관찰하면 풀리기 때문에 가형 킬러보다는 다소 …

February 07, 2023
PASAT
Pyeon–Ahn SAT (3) 3차 반응 적분 속도식

문제 Q3.svg 해설 경과된 시간이 일 때 만큼 반응하였다고 한다면 , 이다. 양변에 를 곱하면 를 구하기 위해서는 양변을 적분하여 를 도출해야 하므로, 좌변의 적분을 용이하게 하기 위해 형태로 변환하자. 이는 를 우선 잡은 후에, 분모를 로 통분하였을 때 분자의 이차항이 이 되도록 의 일차항을 잡은 것이다. 양변을 통분한 후 양변에 를 곱하면 , , 이므로, 를 구하기 위해 치환적분하자. 앞에서 였다. , 이므로, 이 항등식이 되기 위해서는 , , 이 되어야 한다. 을 만족하는 실수 , 에 대하여 의 최댓값을 구하기 위해, 라고 두자. 우리가 구하고자 하는 것은 ‘최댓값’이므로, 일 때를 우선적으로 검토할 것이다. 만약 일 때 을 만족하는 실수 , 가 없다면, 일 때를 검토하면 된다. 와 를 좌표평면에 나타낼 때, 두 그래프는 오직 제사분면에서만 만난다. 이때 , 이며, 산술-기하평균을 사용하면 …

February 06, 2023
PASAT
Pyeon–Ahn SAT (2) 양적 관계

문제 Q2.svg 해설 Step 1. 실험 I 식 세우기 실험 I과 III의 피스톤이 단열되어 있지 않으므로 등온, 피스톤의 고정장치가 풀려있으므로 등압이기 때문에 이 성립한다. 따라서 질량이 일정한 실린더 내에서 이다. 즉 가 실험 I에서는 , 실험 III에서는 이다. 여기에서 라는 것을 알 수 있는데, 연속적으로 B를 첨가하는 실험으로 해석한다면 실린더 속 기체의 몰수는 점점 감소하다가 A가 모두 반응한 이후 다시 증가한다고 볼 수 있으므로 실험 I에서 모두 반응한 물질은 B라는 것을 알 수 있다. Q2-solution-1.svg 와 가 정수이므로, 도 정수이다. 또 이므로, ; 즉 은 자연수이다. 이므로, 반응비는 이다. Step 2. 실험 III에서 모두 반응한 물질 찾기 실험 III에서 모두 반응한 물질을 B라고 가정 해보자. Q2-solution-2.svg 이므로, 이다. 이는 이 자연수라는 조건에 위배된다. 따라서 실험 III에서 모두 반응한 물질은 A이다. Step …

February 05, 2023
PASAT
Pyeon–Ahn SAT (1) 가격 계산

문제 Q1.svg 해설 students and the teacher are going to buy the T-shirts, so the total number of people buying the T-shirts is . Let as the quantity of small-sized T-shirts, as the quantity of medium-sized T-shirts, as the quantity of large-sized T-shirts, as the quantity of extra-large-sized T-shirts, and as the quantity of extra-extra-large-sized T-shirts. Since are in arithmetic progression and , the arithmetic mean would be . Since , the common difference would be . Also, according to the…

February 05, 2023
PASAT
안드로이드 앱 자동화

0. 들어가며 임의의 애플리케이션에 내가 원하는 동작을 컴퓨터가 자동으로 시행하게 해보아야겠다고 생각했다. 그 중 가장 구현하기 쉬운 방식을 찾아보아, Android Studio + Appium + Python을 사용하는 방식을 택하였다. 1. 준비사항 1-1. Android Studio 최신 버전의 Android Studio를 설치한다. 프로그램을 실행한 후, More Actions을 눌러 SDK Manager로 간다. Android 13.0 (Tiramisu)을 다운로드한다. 화면 상단에 보면 이 있는데, 나중에 이 경로를 쓸 것이니 미리 복사해두기 바란다. 일반적으로 아래와 같을 것이다. Windows: Mac: 다시 처음화면으로 돌아가 More Actions의 Virtual Device Manager로 간다. Create Device를 누르고 Pixel 4, Android 13.0 (Tiramisu)를 선택한다. 이후 플레이 버튼을 누르면 가상 안드로이드 디바이스가 실…

January 17, 2023
자동화
HTML 태그 정리

Text 1. Document Type Definition 문서 형식을 정의하는 태그로, 출력할 웹 페이지의 형식을 브라우저에 전달한다.문서의 최상단에 위치해야 하며, HTML5는 아래를 사용한다. 2. html 모든 HTML 요소의 부모 요소이다. ( 제외) 한국어를 사용할 때 attribute을 사용한다. 3. head metadata를 포함하기 위한 태그. 3-1. title 문서의 제목을 정의하며, 이는 브라우저의 탭에 표시된다. 3-2. style HTML 문서의 스타일 정보를 정의한다. 주로 이 방식 대신 외부 CSS 파일을 불러온다. 3-3. link 외부 리소스와의 연계 정보를 정의한다. 외부 CSS 파일을 불러올 때 사용한다. 3-4. script client-side JavaScript를 정의한다. attribute를 사용하여 외부 JavaScript 파일을 불러올 때도 사용한다. 3-5. meta 메타데이터의 정의에 사용된다. attribute: 브라우저가…

January 08, 2023
공부
한글 수식 커스텀 폰트 만들기

1. 왜 커스텀 수식 폰트가 필요한가? 바로 ‘못 생겨서’이다. 개인적으로 의 기본 수식이 상당히 미려하다고 생각하는데, 한/글의 HyHwpEQ는 이를 어설프게 배껴 수식 상태가 좋지 못하다. 또 HancomEQN은 태광수식으로부터 나온 폰트이나 이것 역시 출판할 수 있을 정도로 상태가 좋진 않다. 여기에서는 HyHwpEQ 수식 커스텀 위주로 설명할 것인데, 내가 발견한 HyHwpEQ의 문제점은 다음과 같다. 로만체 알파벳이 예쁘지 않으며 이탤릭체 알파벳과 굵기가 다름. 등호가 없는 부등호와 등호가 있는 부등호의 글자 가로폭이 다르고 roundness도 다름. plus-minus 기호의 roundness와 굵기가 plus와 minus 기호와 다름. 등호 뒤에 minus sign을 입력하면 너무 달라붙고, 1/4칸 띄우면 간격이 너무 큼. (사실 이는 1/4칸 대신 it나 rm을 선언하면 간격이 딱 맞게 되는 일종의 편법이 있긴 하다) 루트 기호를 사용할 때 위의 ‘가로선’이 살짝 …

August 10, 2022
한글