Developer Basis
개발자에게 필요한 Git, Mac, 그리고 수학적 지식 등의 내용을 다룹니다.
-
깃은 복잡해보이지만, 간단히 요약해서 내 컴퓨터(로컬)에서 작업한 코드들을 깃(원격)이라는 공간에 올리는 것. 그게 전부이다. 이때, 내 컴퓨터에서 작업했던 파일을 깃이라는 곳에 올릴 때, 예상치도 못한 낯선 파일들이 올라갈 수 있다는 사실! 뭐…예를 들자면 Mac을 쓰는 분들에게는 익숙(?)하실 수도 있는 .DS_Store 같은 녀석..? *참고로! DS_Store 파일은 애플에서 정의한 파일 포맷을 의미하는 파일을 의미한다. 애플의 MacOS 시스템이 finder로 폴더에 접근하면 해당 파일이 자동으로 생기게 되는데, 이놈이 이제 계속 수정이 이루어지면 Conflict를 발생시키는 주 원인이라…이 파일이 본인 깃 레포에 한번 들어가면 PR을 한번 올릴 때마다 계속 Conflict가 발생할 수 있다. ..
[Git] .gitignore는 왜 필요하고, 어떻게 적용하는 것일까?깃은 복잡해보이지만, 간단히 요약해서 내 컴퓨터(로컬)에서 작업한 코드들을 깃(원격)이라는 공간에 올리는 것. 그게 전부이다. 이때, 내 컴퓨터에서 작업했던 파일을 깃이라는 곳에 올릴 때, 예상치도 못한 낯선 파일들이 올라갈 수 있다는 사실! 뭐…예를 들자면 Mac을 쓰는 분들에게는 익숙(?)하실 수도 있는 .DS_Store 같은 녀석..? *참고로! DS_Store 파일은 애플에서 정의한 파일 포맷을 의미하는 파일을 의미한다. 애플의 MacOS 시스템이 finder로 폴더에 접근하면 해당 파일이 자동으로 생기게 되는데, 이놈이 이제 계속 수정이 이루어지면 Conflict를 발생시키는 주 원인이라…이 파일이 본인 깃 레포에 한번 들어가면 PR을 한번 올릴 때마다 계속 Conflict가 발생할 수 있다. ..
2024.03.30 -
팀 블로그에 올린 글입니다! 팀에서 사용한 협업 문화, Code Review 스타일을 비롯한 컨벤션까지 내용을 담고 있어 기록하고자 개인 블로그에도 공유합니다. [iOS] 코드 리뷰 문화: 토스터 iOS팀이 코드 스타일과 구성을 깔끔하게 유지할 수 있는 이유 안녕하세요! 토스터 iOS팀 개발자 코딩하는 체대생, 민군입니다. TOASTER 어플을 앱스토어에 릴리즈한지 어언 2개월이 지나고 있는 지금 시점에서, 저희 iOS 팀의 첫 번째 팀블로그를 작성하고자 힘 velog.io
[GitHub] 코드 리뷰 문화 - 토스터 iOS팀이 코드 스타일과 구성을 깔끔하게 유지할 수 있는 이유팀 블로그에 올린 글입니다! 팀에서 사용한 협업 문화, Code Review 스타일을 비롯한 컨벤션까지 내용을 담고 있어 기록하고자 개인 블로그에도 공유합니다. [iOS] 코드 리뷰 문화: 토스터 iOS팀이 코드 스타일과 구성을 깔끔하게 유지할 수 있는 이유 안녕하세요! 토스터 iOS팀 개발자 코딩하는 체대생, 민군입니다. TOASTER 어플을 앱스토어에 릴리즈한지 어언 2개월이 지나고 있는 지금 시점에서, 저희 iOS 팀의 첫 번째 팀블로그를 작성하고자 힘 velog.io
2024.03.26 -
1️⃣ Xcode code 테마 바꾸기 Xcode의 코드 색상을 바꿀 수 있는 Code Theme 설정 방법을 공유해 보겠다. 우선, Xcode를 실행시켜주고 Command와 쉼표(,)를 동시에 눌러주면 Xcode의 Settings 화면이 표출된다. Settings에 Themes 부분으로 들어가게 되면, 다양한 Code 테마를 확인할 수 있어 맘에 드는 것으로 선택하면 되겠다. 만약, 여기에 있는 테마가 아니라 다른 별도의 테마를 적용시키기 원한다면, 지금부터 설명하는 아래 순서를 따라오면 된다. 먼저 아래 링크에서 원하는 테마를 찾아 다운로드 받아보자. GitHub - jasonm23/xcode-themes: XCode themes with Sauce XCode themes with Sauce. Con..
[Xcode] Xcode 커스텀하는 두 가지 방법 (Code Theme, App Icon)1️⃣ Xcode code 테마 바꾸기 Xcode의 코드 색상을 바꿀 수 있는 Code Theme 설정 방법을 공유해 보겠다. 우선, Xcode를 실행시켜주고 Command와 쉼표(,)를 동시에 눌러주면 Xcode의 Settings 화면이 표출된다. Settings에 Themes 부분으로 들어가게 되면, 다양한 Code 테마를 확인할 수 있어 맘에 드는 것으로 선택하면 되겠다. 만약, 여기에 있는 테마가 아니라 다른 별도의 테마를 적용시키기 원한다면, 지금부터 설명하는 아래 순서를 따라오면 된다. 먼저 아래 링크에서 원하는 테마를 찾아 다운로드 받아보자. GitHub - jasonm23/xcode-themes: XCode themes with Sauce XCode themes with Sauce. Con..
2023.12.03 -
⚠ 이 글은 머신러닝 공부용으로 보기 위해 작성한 Probability and Random Variables(확률이론) 정리글입니다. ⚠ 머신러닝에 필요한 확률과 랜덤변수의 개념 위주로 정리되어 있어, 확률론의 전반적인 지식을 배우고 싶다면 이 시리즈의 내용으로는 부족할 가능성이 매우 높습니다. 권장하지 않습니다. 또한 제가 알아볼 수 있도록 쉽게 정리한 글이니, 오개념이나 수학적으로 잘못된 내용이 있을 수도 있습니다. 저를 너무 믿지 마세요. 댓글로 지적해 주시면 빠르게 수정하겠습니다:) 앞선 [Probability and Random Variables Series] 1탄:Probability, Experiment Part 글에서 이어지는 내용입니다. [Probability and Random Vari..
[Probability and Random Variables] 머신러닝을 위한 확률이론 총정리 (2): Discrete Random Variable Part⚠ 이 글은 머신러닝 공부용으로 보기 위해 작성한 Probability and Random Variables(확률이론) 정리글입니다. ⚠ 머신러닝에 필요한 확률과 랜덤변수의 개념 위주로 정리되어 있어, 확률론의 전반적인 지식을 배우고 싶다면 이 시리즈의 내용으로는 부족할 가능성이 매우 높습니다. 권장하지 않습니다. 또한 제가 알아볼 수 있도록 쉽게 정리한 글이니, 오개념이나 수학적으로 잘못된 내용이 있을 수도 있습니다. 저를 너무 믿지 마세요. 댓글로 지적해 주시면 빠르게 수정하겠습니다:) 앞선 [Probability and Random Variables Series] 1탄:Probability, Experiment Part 글에서 이어지는 내용입니다. [Probability and Random Vari..
2023.10.18 -
이번 여름방학 동안에는 책을 이용해서 머신러닝의 기초 개념을 공부했었다. 2학기가 시작하면서 "기계 학습" 과목을 수강하고, 코랩과 사이킷런을 이용했던 방식이 아니라, 개념들에 들어있던 수학적인 개념과 원시적인 구현을 하는 방식으로 기계학습을 배우다보니 앞에서는 모르고 넘어갔던 내용이 많았던 것 같았다. (사이킷런의 위대함도 다시금 느끼게 되고) 그래서 이번 시리즈에서는 사이킷런을 통한 머신러닝의 활용보다는, 수학적 지식이 밑바탕이 된 개념적인 이해를 위주로 글을 써볼까 한다. 시험공부 겸, 나중에 내가 리마인드했을 때도 기억이 날 수 있도록. 1️⃣ Machine Learnig의 기본 틀(큰 개념)을 먼저 살펴보자. ✔️ Machine Learning이란? : Input Data, x를 넣었을 때, O..
[ML] 내가 머신러닝 진짜 알기 쉽게 정리해서 올려줄게 (23.10.19.ver)이번 여름방학 동안에는 책을 이용해서 머신러닝의 기초 개념을 공부했었다. 2학기가 시작하면서 "기계 학습" 과목을 수강하고, 코랩과 사이킷런을 이용했던 방식이 아니라, 개념들에 들어있던 수학적인 개념과 원시적인 구현을 하는 방식으로 기계학습을 배우다보니 앞에서는 모르고 넘어갔던 내용이 많았던 것 같았다. (사이킷런의 위대함도 다시금 느끼게 되고) 그래서 이번 시리즈에서는 사이킷런을 통한 머신러닝의 활용보다는, 수학적 지식이 밑바탕이 된 개념적인 이해를 위주로 글을 써볼까 한다. 시험공부 겸, 나중에 내가 리마인드했을 때도 기억이 날 수 있도록. 1️⃣ Machine Learnig의 기본 틀(큰 개념)을 먼저 살펴보자. ✔️ Machine Learning이란? : Input Data, x를 넣었을 때, O..
2023.10.13 -
⚠ 이 글은 공부용으로 제가 보기 위해 작성한 Vector Calculus (벡터 미적분학) 정리글입니다. ⚠ 머신러닝에 필요한 개념들 위주로 정리되어 있어, 미적분학의 전반적인 내용을 공부하고 싶다면 이 글의 내용으로는 부족할 가능성이 매우 높습니다. 권장하지 않습니다. 또한 제가 알아볼 수 있도록 쉽게 정리한 글이니, 오개념이나 수학적으로 잘못된 내용이 있을 수도 있습니다. 저를 너무 믿지 마세요. 댓글로 지적해 주시면 빠르게 수정하겠습니다:) 1️⃣ Derivative: 일변수 (x ~ scalar) 함수에 대한 미분 Derivative(미분)이란 f(x) = y를 만족하는 함수에 대한 그래프에서, x점일 때의 기울기를 의미한다. 일반적으로 f(x) 위에 있는 h가 x로 가까워져 갈 때의, y축 변..
[Calculus] Gradient Descent를 이해하기 위한 Vector Calculus 총정리⚠ 이 글은 공부용으로 제가 보기 위해 작성한 Vector Calculus (벡터 미적분학) 정리글입니다. ⚠ 머신러닝에 필요한 개념들 위주로 정리되어 있어, 미적분학의 전반적인 내용을 공부하고 싶다면 이 글의 내용으로는 부족할 가능성이 매우 높습니다. 권장하지 않습니다. 또한 제가 알아볼 수 있도록 쉽게 정리한 글이니, 오개념이나 수학적으로 잘못된 내용이 있을 수도 있습니다. 저를 너무 믿지 마세요. 댓글로 지적해 주시면 빠르게 수정하겠습니다:) 1️⃣ Derivative: 일변수 (x ~ scalar) 함수에 대한 미분 Derivative(미분)이란 f(x) = y를 만족하는 함수에 대한 그래프에서, x점일 때의 기울기를 의미한다. 일반적으로 f(x) 위에 있는 h가 x로 가까워져 갈 때의, y축 변..
2023.10.06 -
⚠ 이 글은 머신러닝 공부용으로 보기 위해 작성한 Probability and Random Variables(확률이론) 정리글입니다. ⚠ 머신러닝에 필요한 확률과 랜덤변수의 개념 위주로 정리되어 있어, 확률론의 전반적인 지식을 배우고 싶다면 이 시리즈의 내용으로는 부족할 가능성이 매우 높습니다. 권장하지 않습니다. 또한 제가 알아볼 수 있도록 쉽게 정리한 글이니, 오개념이나 수학적으로 잘못된 내용이 있을 수도 있습니다. 저를 너무 믿지 마세요. 댓글로 지적해 주시면 빠르게 수정하겠습니다:) 1️⃣ 확률을 본격적으로 배우기 전, 용어정리부터 하고 넘어가자 Probability(확률)이란? : 불확실성(uncertainty)과 무작위성(randomness)을 정량화하기 위한 논리적인 뼈대(logical fr..
[Probability and Random Variables] 머신러닝을 위한 확률이론 총정리 (1): Probability, Experiment Part⚠ 이 글은 머신러닝 공부용으로 보기 위해 작성한 Probability and Random Variables(확률이론) 정리글입니다. ⚠ 머신러닝에 필요한 확률과 랜덤변수의 개념 위주로 정리되어 있어, 확률론의 전반적인 지식을 배우고 싶다면 이 시리즈의 내용으로는 부족할 가능성이 매우 높습니다. 권장하지 않습니다. 또한 제가 알아볼 수 있도록 쉽게 정리한 글이니, 오개념이나 수학적으로 잘못된 내용이 있을 수도 있습니다. 저를 너무 믿지 마세요. 댓글로 지적해 주시면 빠르게 수정하겠습니다:) 1️⃣ 확률을 본격적으로 배우기 전, 용어정리부터 하고 넘어가자 Probability(확률)이란? : 불확실성(uncertainty)과 무작위성(randomness)을 정량화하기 위한 논리적인 뼈대(logical fr..
2023.10.02 -
⚠ 이 글은 머신러닝 공부용으로 보기 위해 작성한 Linear Algebra(선형대수) 정리글입니다. ⚠ 머신러닝에 필요한 선형대수 개념들 위주로 정리되어 있어, 선형대수의 전반적인 지식을 배우고 싶다면 이 시리즈의 내용으로는 부족할 가능성이 매우 높습니다. 권장하지 않습니다. 또한 제가 알아볼 수 있도록 쉽게 정리한 글이니, 오개념이나 수학적으로 잘못된 내용이 있을 수도 있습니다. 저를 너무 믿지 마세요. 댓글로 지적해주시면 빠르게 수정하겠습니다:) 1️⃣ 스칼라(Scalar), 벡터(Vector), 매트릭스(Matrix) 스칼라(Scalar)는 어떤 하나의 수다. 소문자로 표기한다. (ex, 1, 2, 3 ....) 벡터(Vector)는 스칼라들의 모음(array)이다. 더 정확하게는 벡터 공간의원..
[Linear Algebra] 머신러닝을 위한 선형대수 총정리 (上 )⚠ 이 글은 머신러닝 공부용으로 보기 위해 작성한 Linear Algebra(선형대수) 정리글입니다. ⚠ 머신러닝에 필요한 선형대수 개념들 위주로 정리되어 있어, 선형대수의 전반적인 지식을 배우고 싶다면 이 시리즈의 내용으로는 부족할 가능성이 매우 높습니다. 권장하지 않습니다. 또한 제가 알아볼 수 있도록 쉽게 정리한 글이니, 오개념이나 수학적으로 잘못된 내용이 있을 수도 있습니다. 저를 너무 믿지 마세요. 댓글로 지적해주시면 빠르게 수정하겠습니다:) 1️⃣ 스칼라(Scalar), 벡터(Vector), 매트릭스(Matrix) 스칼라(Scalar)는 어떤 하나의 수다. 소문자로 표기한다. (ex, 1, 2, 3 ....) 벡터(Vector)는 스칼라들의 모음(array)이다. 더 정확하게는 벡터 공간의원..
2023.10.01 -
개발 공부를 한 지 2년이 훌쩍 지났다. 하지만, 학교에서도 복수전공은 한 학기 수업 정도, 나머지 1년 반 정도의 시간은 군대에서 보내느라.. 아직까지 내 머릿속에는 개발과 관련된 용어들이 명확하게 정리 (여기서 말하는 "명확하게 정리"란 내가 누군가에게 나의 용어대로 설명을 해줄 수 있는 상태를 말한다.) 되지 않은 상태이다. 아니, 사실 제대로 배운 기회가 아직까지 없었다. 결국은 개발자라면, 한 번쯤은 확실하게 배우고 정리해야 하는 부분들을 앞으로는 "개발 용어 사전"이라는 키워드로 모아서 공부하고, 틈틈이 블로그에 글을 써보려고 한다. 아마 나뿐만 아니라 많은 주니어 개발자들도 대충 각각의 개발 용어들이 무엇을 뜻하는지는 알지만, 정확하게 어떠한 특성을 가지고 있고, 차이점들은 무엇이고 등을 면..
[Basis] 내가 보려고 정리하는 개발 용어 사전 (1) - 프레임워크(Framework)와 라이브러리(Library)개발 공부를 한 지 2년이 훌쩍 지났다. 하지만, 학교에서도 복수전공은 한 학기 수업 정도, 나머지 1년 반 정도의 시간은 군대에서 보내느라.. 아직까지 내 머릿속에는 개발과 관련된 용어들이 명확하게 정리 (여기서 말하는 "명확하게 정리"란 내가 누군가에게 나의 용어대로 설명을 해줄 수 있는 상태를 말한다.) 되지 않은 상태이다. 아니, 사실 제대로 배운 기회가 아직까지 없었다. 결국은 개발자라면, 한 번쯤은 확실하게 배우고 정리해야 하는 부분들을 앞으로는 "개발 용어 사전"이라는 키워드로 모아서 공부하고, 틈틈이 블로그에 글을 써보려고 한다. 아마 나뿐만 아니라 많은 주니어 개발자들도 대충 각각의 개발 용어들이 무엇을 뜻하는지는 알지만, 정확하게 어떠한 특성을 가지고 있고, 차이점들은 무엇이고 등을 면..
2023.05.29 -
아무튼 오늘 다룰 글은 나다 홍보글(?)이 아니고 깃허브 안에서도 릴리즈(Release)라는 기능을 제공한다고 하길래 그 방법에 대해 공부해보려고 한다. 릴리즈(Release)란 소프트웨어를 빌드한 결과물을 배포할 수 있게 하는 기능을 의미한다. 조금 더 쉽게 말하자면, 더 많은 사용자에게 소프트웨어 배포를 용이하게 하기 위해서 특정 지점을 기준으로 묶은 상태에서 코드를 제공하는 GitHub만의 방법이라고 생각하면 되겠다. 모든 내용은 아래 깃허브 공식문서를 기반으로 작성되었고, 차근차근 하나씩 아래 사진과 글을 따라가면서 배워보도록 하자. About releases - GitHub Docs About releases Releases are deployable software iterations you ..
[GitHub] 깃허브에서 Create a new release를 눌러보자아무튼 오늘 다룰 글은 나다 홍보글(?)이 아니고 깃허브 안에서도 릴리즈(Release)라는 기능을 제공한다고 하길래 그 방법에 대해 공부해보려고 한다. 릴리즈(Release)란 소프트웨어를 빌드한 결과물을 배포할 수 있게 하는 기능을 의미한다. 조금 더 쉽게 말하자면, 더 많은 사용자에게 소프트웨어 배포를 용이하게 하기 위해서 특정 지점을 기준으로 묶은 상태에서 코드를 제공하는 GitHub만의 방법이라고 생각하면 되겠다. 모든 내용은 아래 깃허브 공식문서를 기반으로 작성되었고, 차근차근 하나씩 아래 사진과 글을 따라가면서 배워보도록 하자. About releases - GitHub Docs About releases Releases are deployable software iterations you ..
2022.01.08 -
맥북을 사용하는 개발자 중에서 터미널을 사용해보지 않은 개발자가 과연 있을까? 터미널(Terminal)은 맥(macOS)에서 지원하는 커맨드 라인 툴(command line tool)이다. 개발을 할 때, 기본적인 파일 접근부터 깃(Git) 관리까지 보통 이 터미널에서 명령을 입력하며 진행하는 경우가 많기 때문에 기본적인 터미널 명령어는 어떤 것들이 있는지 알아두어야 할 필요가 있다. 그래서 오늘 글에서는 아직 터미널 사용법이 익숙하지 않을 분들을 위해, 내가 자주 사용하는 기준으로 하나씩 명령어를 정리해보도록 하겠다. (참고로 캡처 화면이 기본 터미널 화면과 다른 이유는, 내 맥북은 다음에 다룰 iTerms2라는 별도의 프로그램을 사용했기 때문이다 ^_^) 1. cd (change directory) ..
[Mac] 맥 터미널 기본 사용법을 배워보자맥북을 사용하는 개발자 중에서 터미널을 사용해보지 않은 개발자가 과연 있을까? 터미널(Terminal)은 맥(macOS)에서 지원하는 커맨드 라인 툴(command line tool)이다. 개발을 할 때, 기본적인 파일 접근부터 깃(Git) 관리까지 보통 이 터미널에서 명령을 입력하며 진행하는 경우가 많기 때문에 기본적인 터미널 명령어는 어떤 것들이 있는지 알아두어야 할 필요가 있다. 그래서 오늘 글에서는 아직 터미널 사용법이 익숙하지 않을 분들을 위해, 내가 자주 사용하는 기준으로 하나씩 명령어를 정리해보도록 하겠다. (참고로 캡처 화면이 기본 터미널 화면과 다른 이유는, 내 맥북은 다음에 다룰 iTerms2라는 별도의 프로그램을 사용했기 때문이다 ^_^) 1. cd (change directory) ..
2022.01.07 -
프로젝트를 하다 보면, Xcode에 기본으로 있는 폰트 말고도 외부 폰트를 다운받아 사용하고 싶을 때가 있을 거다. 이런 경우, 단순히 프로젝트 파일에 드래그앤드랍 해주는 것 외에도 고려해야 할 추가 사항이 있어 이렇게 별도의 게시글로 정리를 해보고자 한다. 1️⃣ 폰트 파일 iOS 프로젝트에 추가해주기 일단 프로젝트에 폰트 파일을 끌어서 넣어주자. 이때, 중요한 점은 target을 프로젝트에 꼭 설정을 해줘야 한다는 점이다! (참고로 Xcode의 폰트 파일은 .wotf 파일을 제외한 .ttf .otf 파일은 모두 지원 가능하다고 한다! ^__^) 💡 Copy items if needed가 아래 사진 상으로는 체크가 안되어 있지만, 이렇게 되면 파일이 복사되는 것이 아니라 원본의 레퍼런스를 그대로 참조하..
[Xcode] iOS 프로젝트에 별도의 폰트 파일을 추가해서 사용하고 싶을 때프로젝트를 하다 보면, Xcode에 기본으로 있는 폰트 말고도 외부 폰트를 다운받아 사용하고 싶을 때가 있을 거다. 이런 경우, 단순히 프로젝트 파일에 드래그앤드랍 해주는 것 외에도 고려해야 할 추가 사항이 있어 이렇게 별도의 게시글로 정리를 해보고자 한다. 1️⃣ 폰트 파일 iOS 프로젝트에 추가해주기 일단 프로젝트에 폰트 파일을 끌어서 넣어주자. 이때, 중요한 점은 target을 프로젝트에 꼭 설정을 해줘야 한다는 점이다! (참고로 Xcode의 폰트 파일은 .wotf 파일을 제외한 .ttf .otf 파일은 모두 지원 가능하다고 한다! ^__^) 💡 Copy items if needed가 아래 사진 상으로는 체크가 안되어 있지만, 이렇게 되면 파일이 복사되는 것이 아니라 원본의 레퍼런스를 그대로 참조하..
2022.01.02