분류 전체보기 275 📖 공정하다는 착각: 능력주의에 대한 반박 📖 공정하다는 착각: 능력주의에 대한 반박 🐜 평점: 2 / 5 ( ★★☆☆☆)몇 년 전에 읽었으면 굉장히 충격을 받으며 신선하게 읽었을 거 같은 책입니다. 하지만 지금 시점에서는 뻔한 얘기 한다고 생각했습니다.그래도 생각하지 못 했던 인사이트 몇 개를 건지긴 했습니다.생각보다 관심 없는 특정 사례 얘기나 역사 얘기가 엄청 많습니다.번역이 별로라고 느꼈습니다. 영어 특유의 표현이나 관용어를 공식처럼 그대로 번역하는 느낌? 한국어의 문장 구조나 표현에 막게 번역하지 않아서 가독성이 낮아 읽는데 힘들었습니다. 🐜 요약사회적, 경제적으로 성공한 많은 사람들이 성공의 원인은 자신의 능력이라고 말합니다. 이러한 태도나 생각을 능력주의라고 합니다. 이 책은 능력주의는 사실이 아닐 뿐만 아니라 도덕적으로도 잘못됐다고 말합니다. 그 이유는 여러 가지가 있지.. 2024. 12. 29. CTR, CPC, ROI? 중요한 마케팅/제품 지표와 대표적인 숫자들 정리 CTR, CPC, ROI? 중요한 마케팅/제품 지표와 대표적인 숫자들 정리 IT 기업에 다닌다면 알면 좋은 지식들!저는 IT 기업이라 할 수 있는 토스에 다니고 있는데요. 회사에 처음 가서 당황한 것들 중 하나가 대화에 끊임없이 나오는 마케팅/제품 지표 관련 줄임말들과 용어들이었습니다. ROAS가 너무 낮아서 ROI가 안 나와요라던가,CPC 방식에서 CTR 방식으로 바꿨어요라던가,CTR이 얼마에요? 라던가, 처음에는 외계어처럼 들렸던 말들을 1개 1개 찾아가면서 공부하니 어느새 자연스럽게 받아들이게 됐습니다. IT 기업들은 데이터를 바탕으로 의사 결정 하는 경우가 많아서 구성원들이 이런 용어들을 잘 안다는 전제로 얘기하는 경우가 많아 자주 쓰는 지표들을 정리하고 각 지표마다 어느 정도 숫자가 적정한 숫자인지를 알면 좋을 거 같아서 추가적으로 공부해 봤습니다! 😄본질로 돌아가서.. 2024. 12. 27. 📖 아파트 속 과학: 아파트에 관한 궁금증 해소하기 📖 아파트 속 과학: 아파트에 관한 궁금증 해소하기 🐜 평점 : 4 / 5 (★★★★☆)아파트에 살면서 한 번쯤 궁금했던 거나 엉뚱한 실험들을 소개해 줘서 호기심이 충족돼서 좋았음정말 아파트의 과학에만 집중해서 좋았음. (이상한 사회학이나 정치 내용 없음)소개된 과학도 전혀 어렵지 않아서 좋았음. 🐜 요약아파트에 살면서 궁금했던 것들을과학적으로 호기심 해결! 제목에 충실한 책입니다. 아파트에 관련된 여러 가지 사실들을 과학의 힘을 빌려 소개해 줘서 궁금증을 해결시켜 줍니다. 언뜻 들었지만 정확히 어떤 뜻인지는 몰랐던 도시가스, 개별난방, 중앙난방 같은 용어의 뜻이나, 왜 한국의 아파트는 성냥갑 같이 지어졌는지 같은 분석까지 말 그대로 아파트에 관련된 다양한 내용이 들어 있습니다.이런 사실들 소개 뿐만 아니라 가장 기억에 남았던 건 난방에 관련된 내.. 2024. 12. 26. Chrome Extension 개발하기 Chrome Extension 개발하기 Google Chrome Extension의 구조Google Chrome Extension의 구조는 엄청 간단합니다. 사실 Google Chrome Extension은 크게 3가지 기능 밖에 안 하는 간단한 프로그램입니다.웹 사이트의 HTML, CSS, JS를 조작사용자의 크롬을 조작 (탭, 테마 등)Extension을 클릭했을 때 나오는 UI 제공이 3가지는 모두 HTML, CSS, JS와 Chrome에서 제공해 주는 간단한 API들을 사용하면 개발할 수 있습니다. 그래서 manifest.json에 이 각각의 것들을 어떤 파일이 하는지 명시해 주고, 필요한 API들을 명시해 주면 끝납니다.아래는 제가 개발한 간단한 Chrome Extension의 manifest.json입니다.name, descript.. 2024. 12. 21. 🍎 SwiftUI에서 Local Notification URL 처리하기 🍎 SwiftUI에서 Local Notification URL 처리하기 뭐 하려는 거야?APN을 통해 서버로 알림을 보내는 게 아닌, Local에서 UNNotificationCenter를 써서 알림을 보낼 수 있습니다. 이 경우 알림을 등록하는 시점에 이 알림이 언제 가야 하는지를 미리 알아야 하는 단점이 있긴 하지만 라마인더나 타이머 같은 앱들은 알림을 보내고자 하는 시점에 언제 알림을 보낼지 다 알 수 있기 때문에 Local Notification을 사용합니다. 1번째 사진와 같이 알림이 와서 클릭하면 기본적인 동작은 2번째 사진처럼 앱의 메인 화면에 가는 겁니다. 하지만 3번째 사진처럼 원하는 특정 화면에 가고 싶다면 어떻게 해야 할까요?전체적인 그림일단 이 기능은 SwiftUI에서 자체적으로 지원하지 않습니다. 그래서 UIKit을 끌고 와야 하는데요.이를 위해 UN.. 2024. 12. 7. ☁️ AWS에서 무중단 배포 구현하기 ☁️ AWS에서 무중단 배포 구현하기 목표Cloud의 편리함은 최대한 누리면서 AWS에는 종속되지 않게무중단 배포를 구현한다 사실 무중단 배포를 구현하는 거 자체는 간단합니다. 새로운 버전의 서버를 미리 띄워 두고, Health Check를 해서 괜찮으면 트래픽을 전환한다... 하지만 이걸 구현하기 위해 내려야 할 여러 기술적인 결정은 단순하지 않습니다.오늘은 진작에 접었어야 했지만 접지 못 해 계속 하고 있는 제 포트폴리오 사이트 책잇아웃의 무중단 배포를 AWS와 Github Actions로 구현하는 과정에서 했던 여러 기술적인 결정들과 배운 것들을 기록해 보겠습니다.현재상황 (시작점)🐜 AWS 구조현재 상황은 ELB (Elastic Load Balancing)가 가장 앞단에 있어 트래픽을 받는 구조입니다. ELB에는 Public IP .. 2024. 11. 22. 🇨🇳 듀오링고에서 6개월 동안 중국어 공부한 후기 🇨🇳 듀오링고에서 6개월 동안 중국어 공부한 후기 Duolingo 소개🐜 언어 공부 앱 무료로 외국어를 배우세요.게임을 통해 다양한 언어를 배워보세요. 100% 무료로 제공되는, 게임처럼 재미있고 과학적으로 효과가 검증된 언어 학습 앱입니다.www.duolingo.com 듀오링고 (Duolingo)는 퀴즈를 풀면서 언어를 배우는 앱/웹 사이트입니다. 매일 들어와서 1개의 퀴즈를 다 풀면 1씩 스트라이크가 늘어나고, 이거 때문에 매일 들어와서 공부하게 됩니다. 🐜 게임하는 것처럼 재밌음듀오링고는 분명 언어 공부 앱인데, 여러 면에서 재밌습니다. 우선 듀오링고 마스코트가 매일 들어와서 공부하지 않으면 협박하며 찾아온다(?)는 밈이 있습니다.듀오링고 마스코트는 밈으로도 굉장히 유명하답니다 🤗 앱 구성 자체가 문제를 풀면 경험치나 포인트를 주고, 매주 랭.. 2024. 11. 3. 🥒 피클 (PKL): 새로운 설정 관리 언어 알아보기 🥒 피클 (PKL): 새로운 설정 관리 언어 알아보기 설정 파일?프로그래밍을 하다 보면 여러 설정 값들을 다뤄야 합니다. 서버라면 어떤 포트에 띄울지, API 통신을 한다면 API Key 값, DB의 아이디/비밀번호까지... 이런 값들은 코드에 하드코딩을 해 놔도 되지만 여러 이유로 따로 설정 파일을 둬서 관리합니다.프로그램이 실행되는 환경에 따라 값을 다르게 하기 위해 (개발 환경, 운영 환경 등)코드가 공개된 경우 보안을 위해 민감한 값을 실행 시점에 주입받기 위해코드 수정 없이 설정 값만 빠르게 바꾸기 위해 이런 설정 파일을 위해 보통은 .yml, .properties, .json 이나 아니면 언어별로 특화된 DSL을 각자 만들어 씁니다. 자바 진영에서는 gradle 설정을 위해 Groovy나 Kotlin의 DSL을 사용합니다.하지만... 이런 설정 .. 2024. 11. 2. 한국 주식은 저평가일까? (답: 아마 아니다) 한국 주식은 저평가일까? (답: 아마 아니다) 한국 주식을 하다 보면 꼭 듣게 되는 말이 있습니다.한국 주식은 북한 때문에 코리안 디스카운트 (Korean Discount)를 받고 있어,저평가이다! 이런 말이 나오는게 이해가 안 가는 건 아닙니다. 실제로 삼성전자나 네이버 같은 한국의 우량 기업들을 모아 놓은 지수인 코스피 지수는 10년 넘게 2000대에 머물러 있습니다. 오늘을 기준으로 5년 동안 19% 올랐으니 1년에 3.8%, 예금과 비슷한 수익률을 보이고 있습니다. 같은 기간 동안 미국의 대표적인 기업들을 모아둔 S&P 500 지수는 5년 동안 90%가 올랐습니다. 뿐만 아니라 장기적으로 우상향 중입니다. 그렇다면 한국 주식은 정말 저평가일까요?저평가의 의미저평가라는 건 원래 가치보다 더 낮게 거래되고 있다는 걸 생각해야 합니다. 즉, 원래.. 2024. 10. 1. 🍎 Tipkit을 사용해서 앱의 숨겨진 기능을 유저에게 넛지 주기 🍎 Tipkit을 사용해서 앱의 숨겨진 기능을 유저에게 넛지 주기 TipKit이 뭐고 꼭 필요할까?iOS 17부터 사용 가능한 앱을 쓰면서 새로운 기능, 숨겨진 기능, 꿀팁들을 슬쩍 알려주는 UI를 띄워주는 Framework입니다.아래와 같이 리스트를 꾹 눌러서 순서를 조정할 수 있는 건 보통 알기 힘든 경우가 많기 때문에 슬쩍 알려주는 형식입니다.물론 이걸 직접 구현할 수도 있습니다. Tooltip 정도는 간단한 UI이니 공수도 그렇게 많이 들지 않겠죠? 하지만 Tipkit에서는 저 Tip 언제 어떤 조건으로 보여줘야 하는지, 너무 많은 팁이 노출되면 유저가 피로하니 너무 많이 노출되지 않게 조절하는 등의 편리한 추가 기능이 있어서 굳이 안 쓸 이유는 없습니다.너무 과하게 쓰면 안 됨! 😵애플의 Human Interface Guideline을 보면 Tipkit의 역.. 2024. 9. 23. 📖 인생에 대해 조언하는 구루들에게서 도망쳐라, 너무 늦기 전에: 과학을 새로운 교의로 취급하는 현대사회에 일침 📖 인생에 대해 조언하는 구루들에게서 도망쳐라, 너무 늦기 전에: 과학을 새로운 교의로 취급하는 현대사회에 일침 🐜 평점 : 5 / 5 (★★★★★)🐜 인생에 대해 조언하는 구루들에게서 도망쳐라 너무 늦기 전에를 읽게 된 이유구루라는 단어가 익숙하지 않으신 분들이 많을지도 모르겠지만, 유튜브나 자기 계발 서적에서 흔히 생산적인 내용으로 조언하거나 강의를 하는 사람들을 말합니다. 저 또한 몇 년 전만 해도 이런 구루들의 책이나 유튜브 영상을 굉장히 즐겨 봤는데요. 이제는 별로 도움이 안 된다고 생각해 보지 않습니다. 그도 그럴게, 계속 보다 보면 하는 말들이 뻔하고 이 사람이 정말 그렇게 능력 있고 성공했다면 왜 그 일을 계속하지 않고 강의를 찍고 유튜브를 하고 있을까라는 의문이 들었고, 결국 정말 성공한 게 아니라 강의를 파는 게 목적이구나 깨달았기 때문입니다.이런 구루들 뿐만 아니라 저는 대부분의 것들을 굉.. 2024. 9. 20. 🍎 Stanford iOS 강의 (CS193P) 수강 후기 🍎 Stanford iOS 강의 (CS193P) 수강 후기 이게 뭐야?말 그대로 미국의 1류 대학인 스텐포드 대학에서 제공하는 강의입니다. 스텐포드 대학은 실리콘 벨리 근처에 있는데, 그래서 그런지 컴퓨터 과학 학과가 특히 유명합니다. 오죽하면 애플에서는 신입이 스텐포드 출신이 아니면 이력서에서 거른다는 소문이 있을 정도입니다. (사실은 아니겠지만...) 스텐포드 뿐만 아니라 많은 미국 대학이 강의를 공짜로 공개해 놓는데, 코로나 시국을 거치면서 특히 더 활발해 졌습니다. 하지만 인터넷에 공개된 모든 대학 강의가 수강할 가치가 있지는 않습니다. 꼭 내용만을 말하는건 아닌데요. 저는 아래 조건중에 1개라도 해당되면 듣지 않습니다.오디오, 카메라 품질이 좋지 않음강의 자료가 많이 제공되지 않음제 경험상 일류 대학들의 강의는 어렵기 때문에 많은 시간을 들여 수강해야 .. 2024. 9. 14. 내가 Python을 싫어하는 이유 내가 Python을 싫어하는 이유 Python과 관련된 경험서버 개발자로 취업하기 전에는 인공지능 관련 분야로 취업하려 해서 Numpy, Matplotlib, Keras, Tensorflow 같은 Pyhton Library를 사용해 모델링을 했습니다.Django로 간단한 CRUD 웹 개발을 해 봤습니다.싫은 이유 1 - Indentation으로 Scope 구분이건 순전히 개인 취향입니다. 하지만 첫 프로그래밍 언어로 Swift, 다음 언어로 Java를 배운 사람 입장에서는 C 언어에서 유래된 중괄호 ({})로 Scope를 구분하는 문법이 너무 익숙해 져서 Python의 Indentation으로 구분하는 방식이 굉장히 보기 힘들고 자유도가 떨어지는 느낌이 듭니다.예를 들어 여러 겹의 if나 for 문을 중첩해서 쓸 때 Python은 In.. 2024. 9. 5. 간단한 스케치용 프로그램 비교: FigJam, Excalidraw, Draw.io, Lucidchart 간단한 스케치용 프로그램 비교: FigJam, Excalidraw, Draw.io, Lucidchart 찾는 이유소프트웨어 공학 수업을 들으면 꼭 Flow Chart나 ERD Diagram을 그리는 법을 배웁니다. 그리고 이게 중요하다고 강조합니다. 솔직히 현업에서 일하면서 최근까지도 이 말에 공감이 잘 안 됐습니다. 그런데 정말 복잡한 도메인과 비즈니스 로직을 몇 번 만났을 때 동료 분이 Flow Chart를 그리며 도메인을 파악하시는 걸 보며 1번 시도해 봤는데 너무 좋아서 저도 Flow Chart를 그리는 습관을 들이기로 하였습니다.이렇게 Flow Chart든 다른 차트든 그리고 싶은 요구가 저 혼자만의 수요는 아닐 테니 당연히 시중에는 이미 여러 다양한 도구들이 넘쳐 납니다. 그중에서도 가장 유명하다고 생각하는 4가지 도구를 써 보고 비교해 보면서 어떤 도구를 쓸지 정했습니다. 우선 4가지 차트 앱.. 2024. 9. 4. 🍎 Swift의 mutating 알아보기 (feat. Cannot assign to property: 'self' is immutable) 🍎 Swift의 mutating 알아보기 (feat. Cannot assign to property: 'self' is immutable) Swift에서 structSwift에는 class와 struct으로 객체를 표현합니다. struct은 SwiftUI의 기본이 되기도 하고, 현대 프로그래밍의 개념들에 영향을 많이 받은 단위입니다. 현대 프로그래밍의 개념들이라 하면 흔히 아래와 같은 특징들을 말합니다.최대한 변하지 않게 한다유용한 문법 설탕을 많이 제공한다명시적이다 struct도 비슷하게 value type이라 주고받을 때 새로운 값을 만들고,Computed Property로 개념상으로는 property인데 내부적인 계산을 해야 하는 값을 property처럼 다룰 수 있게 하고,내부 property를 변화시키는 건 명시적으로 mutating을 붙이도록 돼 있습니다. 여기서 3번째 mutating에 대해 자세히 알아 보겠습니다!struct은.. 2024. 9. 1. 다양한 배포 전략 비교 (카나리, 블루그린, 롤링, 그림자) 다양한 배포 전략 비교 (카나리, 블루그린, 롤링, 그림자) 배포에서 중요한 것유저에게 배포가 나갔는지도 모르게 하는 것 규모가 작거나 복잡하지 않은 환경에서는 배포에 대해 크게 신경 쓸 필요가 없습니다. 오히려 그 시간에 MAU를 늘릴 생각을 하는게 더 이득일 지도 모릅니다. 하지만 시스템의 구성요소가 많고 (카프카, 배치 등) 잠깐의 중단도 비즈니스에 악영향을 주는 환경에서는 배포 자체에 많은 리소스를 쓰게 됩니다. 🐜 무중단불과 몇 년 전만 해도 새벽 시간에 점검을 한다고 하고 배포하는 일도 흔했습니다. 하지만 최근에는 어떤 서비스를 쓰든 배포를 한다고 점검을 걸고 서비스를 중단하는 일이 매우 적어졌습니다. 배포의 중요한 소양이 무중단이기 때문입니다. 말 그대로 서비스를 1초도 중단하지 않고 새로운 버전을 내야 합니다.🐜 쉬운 롤백이상적으로는 모든 배포는.. 2024. 8. 24. B2B vs B2C, 개발자 입장에서 비교해 보기 B2B vs B2C, 개발자 입장에서 비교해 보기 B2B? B2C?회사가 제품을 다른 회사에게 파는지, 대중에게 파는지 먼저 B2B와 B2C에 대해서 간단히 짚고 넘어가겠습니다!B2B는 Business to Business, B2C는 Business to Consumer를 각각 줄인 말 입니다. 여기서 to가 2와 발음이 똑같기 때문에 저렇게 줄여서 씁니다.우리가 살면서 고객으로서 접하는 대부분의 제품은 B2C 제품입니다. 삼성이 만드는 TV, 애플이 만드는 스마트폰... 그래서 특별히 의식하지 않을 수 있지만 우리만 물건을 사는게 아닙니다. 회사도 다른 회사의 제품을 삽니다. 아무리 큰 대기업이라고 해도 회사 운영에 필요한 모든 걸 다 할 수는 없기 때문입니다.사내 메신저만 해도 그렇습니다. 물론 직접 만들 수 있지만 대부분 슬랙 (Slack) 같은 .. 2024. 8. 23. 📖 애플에서는 단순하게 일합니다: 애플의 기업문화 살펴보기 📖 애플에서는 단순하게 일합니다: 애플의 기업문화 살펴보기 🐜 평점 : 2 / 5 (★★☆☆☆)애플이 어떻게 일하는지를 애플에 일해 보지 않았지만 대충은 이런 느낌이구나~ 알게 해 줘서 원래 책을 읽기로 한 목적은 달성하지만 내용이 너무 저자의 경험 위주. 특정 직군, 특정 팀, 특정 상황. 다큐멘터리 같이 여러 관점이나 사람들을 조명하는 내용은 아님 🐜 애플에서는 단순하게 일합니다를 읽게 된 이유저는 기업문화에 상당히 관심이 많습니다. 기업문화가 그 기업의 본질이라고 생각하기 때문입니다. 생각해 보면 어떤 기업이라도 임직원이 계속 퇴사하고, 창업자도 언젠가는 은퇴합니다. 그럼에도 같은 이름으로 기업은 계속되는데 그럼 창업 당시에 일했던 사람이 아무도 없고, 창업 당시에 만들었던 디자인과 전혀 다른 제품을 만들고, 심지어 전혀 다른 분야에서 일하게 됐다면 한.. 2024. 8. 16. 🍎 Swift Testing: 보기 싫은 XCTest는 이제 안녕!! 🍎 Swift Testing: 보기 싫은 XCTest는 이제 안녕!! Swift Testing이 뭐야?애플이 Object-C를 대체할 Swift를 발표한 이후로 Swift 언어의 기능을 적극 활용하는 새로운 API들을 출시하고 있습니다. SwiftUI나 SwiftData는 기존의 UIKit이나 CoreData에 비하면 쓰기가 매우 편하고 깔끔해서 확실하게 생산성이 올라갔습니다.Swift Testing도 비슷하게 XCTest를 대체하기 위한 Swift에 최적화된 API입니다.하지만 솔직히 SwiftUI나 Swift Data 정도로 다르지는 않고 그냥 더 깔끔하고 빠르다 정도이긴 하지만, 그래도 XCTest 보다는 나으니 사용했습니다. Swift Testing | Apple Developer DocumentationCreate and run tests for your Swif.. 2024. 8. 15. Kotlin의 @JvmStatic 알아보기 Kotlin의 @JvmStatic 알아보기 사용법과 효과평상시에는 @JvmStatic을 신경 쓸 필요가 전혀 없습니다. 하지만 Java와 Kotlin을 같이 써야 한다면 Kotlin이 어떤 식으로 컴파일되는지 알아야 하고, Java와 다른 점이 있다면 보정해 줘야 합니다. @JvmStatic은 Kotlin의 companion object와 object를 보정해 주기 위한 annotation입니다.공식 문서를 보면 자세히 나와 있는데요. Calling Kotlin from Java | Kotlin kotlinlang.org 아래의 Kotlin 코드를 자바에서 호출한다고 하면...class ExampleClass { companion object { fun exampleFunction() {} }} 아래와 같이 해야만 동작합니.. 2024. 8. 12. 🍎 Swift Package에서 Localization 처리하기 🍎 Swift Package에서 Localization 처리하기 뭘 하려는 걸까?🐜 Package란?여러 개의 iOS 프로젝트를 하다 보면 공통으로 쓰게 되는 코드들이 많아지게 됩니다.예를 들어 저의 경우는 숫자를 입력할 때 실시간으로 ,를 넣어주는 TextField가 필요해서 만든 적이 있는데, 이건 사실 도메인에 상관없이 공통적으로 필요한 기능입니다. 그래서 SwiftUI 자체적으로 있으면 좋겠지만... 아쉽게도 직접 만들어서 써야 합니다. 🍎 SwiftUI에서 숫자 입력하면 실시간으로 구분자(,) 붙이기하려는 것숫자가 길어지면 읽기가 힘듭니다.1000000000와 1,000,000,000가 있다면 전자는 일십백천만... 하면서 1개씩 세야 겠지만 숫자를 자주 다루신 분들이면 후자가 10억이라는걸 바로 알 수 있습니jinkpark.tistory.com물론 직.. 2024. 8. 10. 이전 1 2 3 4 5 ··· 14 다음