Docker의 세 가지 마운트 타입과 활용법

Docker를 사용하다 보면 컨테이너와 호스트 시스템 간에 데이터를 공유하고 영속적으로 저장해야 하는 상황이 자주 발생합니다. Docker는 이를 위해 세 가지 타입의 마운트 방식을 제공하는데, 각각의 특성과 활용 사례를 알아보겠습니다. ...

4월 22, 2025 · 3 분 · Sangheon Han

GitHub 여러 계정에 각각 SSH 키 설정하는 방법

개인 프로젝트와 회사 프로젝트 등으로 GitHub 계정을 여러 개 사용하는 경우가 있습니다. 이럴 때 각각의 계정에 별도의 SSH 키를 설정하면, 좀 더 명확하게 계정을 구분하여 사용할 수 있습니다. ...

4월 20, 2025 · 2 분 · Sangheon Han

구독 서비스 비용 줄이기

해를 거듭할 수록 구독하는 서비스의 수는 늘어만 갑니다. 전에는 인터넷 관련 서비스 두어가지였다면 이제는 OTT를 비롯해서 스트리밍 서비스까지 매달 나가는 비용이 늘어갑니다. 거기에 고물가에 불황까지 닥쳐 슬슬 비용이 부담스러워지기 시작했습니다. ...

7월 6, 2023 · 4 분 · Sangheon Han

Gnome Terminal에서 Powerline 폰트 깨짐 현상 해결하기

언제부터인지 Ubuntu 업그레이드 이후 Gnome Terminal에서 Powerline 폰트가 이상하게 나오는 문제를 발견했습니다. 폰트의 높이가 위아래로 늘어나는 현상인데, 이로 인해 폰트가 깨져서 보였습니다. 이 현상의 원인을 찾아보려고 여러 방법을 시도했지만, 결국에는 해결하지 못하고 Ubuntu 20.04로 시스템을 복구하였습니다. ...

6월 14, 2023 · 2 분 · Sangheon Han

MacOS: 특정 IP에서만 SSH 접속을 허용하는 방법

macOS에서 특정 IP만 ssh 연결을 허용하기 위해서는 방화벽이 아닌 sshd 설정을 통해 접근을 허용해야 합니다. /etc/ssh/sshd_config.d/ 디렉토리 안에 적절한 파일(여기서는 900-allowuser.conf)을 만들어서 허용하려고 하는 사용자와 접근 IP를 적어주면 됩니다. ...

6월 7, 2023 · 1 분 · Sangheon Han

개발자의 학습

흔히 하는 말로 개발자는 평생 공부를 해야 한다고 합니다. 개발자로 일하는 20년 동안 이 말이 틀렸다는 생각은 한번도 든 적이 없습니다. 그만큼 개발자에게 학습은 뗄레야 뗄 수 없는 관계일 것입니다. ...

3월 11, 2022 · 7 분 · Sangheon Han

MacOS 블루투스 AAC/AptX 코덱 활성화 방법

예전에는 ‘Additional Tools for Xcode‘를 받아서 AAC/AptX를 활성화 가능했지만 Xcode 12부터는 해당 기능이 사라진 것으로 보입니다. ‘터미널’을 통해서 활성화 하는 것이 가능하므로 이 방법을 사용하는 것이 더 편리합니다. ...

2월 4, 2021 · 1 분 · Sangheon Han

WSL2 외부 네트워크 연결 문제

윈도우 10은 문제가 없으나 WSL2에서 외부 네트워크에 연결이 안 되는 현상이 있는 경우 다음 방법으로 네트워크 설정을 완전히 초기화를 해 볼 수 있습니다. 경고! - 네트워크 설정을 초기화 하기 때문에, 복구해야 할 설정이 있으면 따로 적어두시기 바랍니다. ...

1월 19, 2021 · 1 분 · Sangheon Han

유니버설 링크 (Universal Links)

유니버설 링크(Universal Links) 앱에서 유니버설 링크를 지원하기 위해서는 apple-app-site-association(AASA) 파일을 작성해서 웹 서버에 올려두는 작업이 필요합니다. Apple JSON Metadata file iOS 12 이전 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 { "applinks": { "apps": [], "details": [ { "appID": "<TEAM_DEVELOPER_ID>.<BUNDLE_IDENTIFIER>", "paths": ["*"] }, { "appID": "<TEAM_DEVELOPER_ID>.<BUNDLE_IDENTIFIER>", "paths": ["/articles/*"] }, { "appID": "<TEAM_DEVELOPER_ID>.<ANOTHER_APP_BUNDLE_IDENTIFIER>", "paths": ["/blog/*", "/articles/*"] } ] } } 주의 사항 apps는 빈 배열이어야 합니다. 파일 이름은 json 확장자가 없는 apple-app-site-association이어야 합니다. 파일 위치는 http://foobar.com/apple-app-site-association입니다. iOS 13 이후 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 { "applinks": { "details": [ { "appIDs": [ "ABCDE12345.com.example.app", "ABCDE12345.com.example.app2" ], "components": [ { "#": "no_universal_links", "exclude": true, "comment": "Matches any URL whose fragment equals no_universal_links and instructs the system not to open it as a universal link" }, { "/": "/buy/*", "comment": "Matches any URL whose path starts with /buy/" }, { "/": "/help/website/*", "exclude": true, "comment": "Matches any URL whose path starts with /help/website/ and instructs the system not to open it as a universal link" } { "/": "/help/*", "?": { "articleNumber": "????" }, "comment": "Matches any URL whose path starts with /help/ and which has a query item with name 'articleNumber' and a value of exactly 4 characters" } ] } ] }, "webcredentials": { "apps": [ "ABCDE12345.com.example.app" ] } } 주의 사항 파일 이름은 json 확장자가 없는 apple-app-site-association이어야 합니다. 파일 위치는 http://foobar.com/.well-known/apple-app-site-association입니다. Apple JSON Metadata file Signing apple-app-site-association 파일은 Signing을 해서 저장해야 합니다. 여기서는 OpenSSL을 기준으로 기술합니다. ...

1월 12, 2021 · 3 분 · Sangheon Han

개발 도구 및 환경 소개

Editor Vim 오랜 시간 함께 했고 지금도 함께 하고 있는 에디터입니다. 처음에는 vi였고, 어느샌가 Vim으로 자연스럽게 바꾸었습니다. Sublime, Atom, Coda, NotePad++, EditPlus, UltraEdit를 써보기도 했지만 결국 Vim으로 돌아왔습니다. ...

1월 12, 2021 · 4 분 · Sangheon Han