개발자의 학습

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

3월 11, 2022 · 7 분 · 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

Docker를 이용한 개발 환경 구축하기

배경 여러 버전의 OS에서 돌아가는 여러 언어로 만든 시스템을 개발하려다 보니 개발 환경을 구축하는 것도 쉬운 일이 아닙니다. Vagrant도 사용을 해봤지만, 그렇게 획기적으로 편리하다는 인상은 못 받았습니다. 개발 환경을 배포하는 측면에서 좋았지만, 소규모 개발팀에서 배포를 위해 이미지를 빌드하는 과정이 오버헤드처럼 느껴졌습니다. ...

10월 19, 2019 · 8 분 · Sangheon Han

VIM: 배울 가치가 있는 에디터

개발자라면 누구나 자신이 주로 사용하는 에디터가 있다. 여기에는 간단한 편집 기능만 제공하는 것부터 디버깅, 버전 관리, 유닛 테스트, 리팩토링까지 지원하는 IDE까지 다양한 종류가 존재한다. 각자의 취향과 손에 익숙함에 따라 좋아하고 편리한 것이 있을 것이다. ...

4월 14, 2015 · 2 분 · Sangheon Han

내가 C 언어를 좋아하는 이유

베이직으로 프로그래밍을 배운 이후로 여러 프로그래밍 언어를 익혔다. 그 중에는 자격증이나 학점을 위해 배운 것도 있고, 순수히 개인적인 관심사를 위해서 배운 것도 있다. 요즘은 PHP로 밥벌이를 하고 있지만, PHP를 제일 좋아하는 것은 아니다. ...

3월 20, 2014 · 2 분 · Sangheon Han