Swift SwiftLint, GitHooks 적용하기 여러분 안녕하세요 Noah입니다:) 오늘은 SwiftLint를 Git-Hook과 함께 사용하는 방법에 대해 소개해보려 합니다 :) 먼저 SwiftLint가 처음이신 분들을 위해 잠깐 설명하고 가겠습니다!! 이미 잘 사용하고 계신 분들이라면 이 부분은 Skip 하셔도 무방합니다! 우리 Swift는 정말 많이 들어봤는데 뒤에붙은 lint는 뭘까요? 위키에서 찾아보면 린트(lint) 또는 린터(linter)는 소스 코드를 분석하여 프로그램
Tool Notion 글꼴 테마 바꾸기 여러분!! 안녕하세요 Noah입니다:) 가을이 성큼 다가왔네요 🍁 오늘은 노션을 좀 더 개성 있게, 취향에 맞게 사용하는 법을 들고 와봤습니다~~!! 재밌게 봐주세요 👀 Notion 우리가 그동안 썼던 노션은 글씨체가 한정되어있었는데요, 그나마 바꿀 수 있는 옵션은 글씨체의 style을 Serif 혹은 Mono로 바꾸는 것뿐이었습니다🥲 노션 너무나 훌륭한 툴이지만 개성 넘치는 우리의 취향을 담기에는 2퍼센트 모자란
Xcode Xcode의 새식구 Vim 이번 Xcode 13.0 베타에는 새로운 기능이 추가되었는데요, 여러 기능들이 추가되었지만 그중에 단연 돋보이는 신기능은 Vim입니다~!!🎉🎉🎉 Xcode13에 추가된 다양한 기능은 이곳을 참조해주세요:) 그동안 Xcode에서 Vim을 사용하기 위해서는 XVim과 같은 플러그인을 이용해 Vim을 사용했었는데요, 설치도 문서를 보며 따라 하면 되지만 플러그인이 아닌 IDE 자체에서 지원되는 편리함을 따라올 수는 없는 것 같습니다
Swift if let과 guard let 안녕하세요 Noah입니다 :) 날이 아주 덥습니다 여러분~! ⛱☀️ 건강 유의하셔서 즐코딩하세요 ㅎㅎ🍉 오늘은 if문을 이용한 Optional Binding과 guard문을 이용한 Optional Binding에 대해 알아보도록 하겠습니다. Optional type의 값을 안전하게 가져오기 위해서는 Optional Binding을 해주어야 합니다. 먼저 if문을 사용해 Optional Binding을 하는 방법을 보도록 하겠습니다. if문을 이용한 Optional Binding let optionalName: String? = "Noah" if
Swift Swift Quick Sort(퀵 정렬) 안녕하세요 Noah입니다 :) 이번 시간에는 Sorting 알고리즘 톺아보기 2부 마지막 시간입니다!!🥺 🥺 이번에 살펴볼 Sorting 알고리즘은 Quick Sort입니다. Quick Sort는 정렬 알고리즘 중 가장 인기 있는 알고리즘 중에 하나인데요, 1959년에 영국의 Tony Hoare란 분에 의해 고안되었다고 합니다. Quick Sort 역시 divide and conquer 전략을 사용해 정렬을 진행하는데요, Quick Sort에 대해 한번 알아봅시다!
Swift Swift Merge Sort(합병정렬) 안녕하세요 Noah입니다 :) 이번 시간에는 Sorting 알고리즘 톺아보기 1부보다 조금 더 난이도가 있는 Sorting 알고리즘을 다루는 Sorting 알고리즘 톺아보기 2부를 진행하도록 하겠습니다 😄 이번 시간에 살펴볼 Sorting 알고리즘은 Merge Sort입니다. Merge Sort는 Computer Science의 divide and conquer 전략을 대표적으로 사용한 Sorting 알고리즘입니다. Merge Sort 먼저 Merge Sort가 데이터를 정렬하는 모습부터 먼저 살펴보겠습니다.
Swift Swift Insertion Sort(삽입정렬) 안녕하세요 Noah입니다 :) 이번 시간에도 이어서 Sorting 알고리즘 톺아보기 1부를 진행하도록 하겠습니다 😄 이번 시간에 살펴볼 Sorting 알고리즘은 Insertion Sort입니다. Insertion Sort 먼저 Insertion Sort가 데이터를 정렬하는 모습부터 먼저 살펴보겠습니다. Insertion Sort 아직 코드와 정렬 순서를 살펴보지 않았기에 자세히는 알지는 못하지만, 점점 정렬되는 사이즈가 커짐을 알 수 있습니다. 위키백과에는 Insertion Sort가 다음과
Swift Swift Bubble Sort(거품정렬) 안녕하세요 Noah입니다 :) 지난 시간에 이어 Sorting 알고리즘 톺아보기 1부를 진행하도록 하겠습니다 😄 이번 시간에 살펴볼 내용은 Bubble Sort(거품 정렬)입니다. Bubble Sort는 이해하기 쉬워 교육용으로 가장 많이 쓰이는 정렬 알고리즘입니다. 그만큼 직관적이며, 이해하기 쉽습니다. Bubble Sort 먼저 Bubble Sort가 데이터를 정렬하는 모습부터 먼저 살펴보겠습니다. Bubble Sort 마치 탄산음료를 마실 때
Swift Swift Selection Sort(선택정렬) 안녕하세요 Noah입니다 :) 본격적으로 장마가 시작되나 봅니다~ 다들 우산 챙겨 다니세요!!☂️ 오늘은 정렬 알고리즘에 대해 알아보려 합니다. Computer Science에서의 정렬 알고리즘은 item을 번호순이나 사전 순으로 일정한 순서대로 열거하는 알고리즘입니다. Swift에서는 간단하게 sort() 메소드 혹은 sorted() 메소드를 이용해 데이터를 정렬하곤 했었습니다. 이 메소드들도 내부적으로는 정렬 알고리즘을 이용해 데이터를 정렬합니다. 어떠한 정렬 알고리즘을
Swift Apple이 새로 공개한 오픈소스 Swift 컬렉션 패키지! 안녕하세요 noah입니다 :) 오늘은 Swift 컬렉션 패키지에 대해 소개해보려 합니다. 요즘 알고리즘 문제 풀이를 하며 Swift에서 제공하는 여러 자료구조에 대해 찾아보던 중 2021년 4월 5일 Apple이 공개한 Swift 컬렉션 패키지를 알게 되었습니다. Swift의 공식 blog 글에 따르면 이번에 새로 공개한 Swift 컬렉션 패키지에서는 3가지의 범용 데이터 구조인 Array, Set 그리고, Dictionary를
Computer-Science 해시 알고리즘(Hash algorithm) 안녕하세요 Noah입니다 :) 오늘은 Hash algorithm의 개념에 대해 간략하게 알아보려 합니다. Hash는 Key-value를 쌍으로 데이터를 저장하는 자료구조입니다. 리소스를 포기하고 속도를 취한 자료구조이며, Space-Time trade off의 대표적인 알고리즘에 속합니다. Hash algorithm은 O(1)의 시간 복잡도를 지향합니다. Hash Data를 Hash function을 거쳐 테이블에 넣어야 합니다. 이때 똑같은 데이터가 올 때마다 똑같이 분류되어야
Computer-Science 애자일 개발 프로세스 톺아보기 안녕하세요 Noah입니다 :) 애자일을 검색해보면 여러 용어가 나옵니다. 애자일, 애자일 방법론, 익스트림 프로그래밍, 스크럼, 스프린트 등등 이러한 용어들을 살펴보며, 애자일 개발 프로세스에 대해 알아보도록 하겠습니다. 애자일(agile)은 우리말로 ‘날렵한’, ‘민첩한’, ‘기민한’ 이라는 의미를 지닙니다. 애자일 프로세스는 고객의 요구에 민첩하게 대응하고, 그때그때 주어진 문제를 풀어나가는 것을 중요하게 생각합니다. 등장 배경 애자일은
Tool Mac에서 OracleDB사용하기, 근데 이제 docker를 곁들인 Oracle logo 안녕하세요 :) Noah입니다. Oracle DB를 사용할 일이 생겨 Oracle DB를 Mac에서 설치하고 사용하는 과정을 소개해드리려 합니다. 이 포스트에서는 Oracle에서 제공하는 3가지 라이선스의 데이터베이스 중 몇 가지 제약사항이 있지만 대부분의 기능을 포함하고 있어 학습용으로 적합한 Express Edition을 사용해보도록 하겠습니다. 원래는 여기 에서 Oracle Database XE을 다운받아 설치한 뒤에 사용하거나 별도의
Swift Swift의 함수는 일급함수인가? 안녕하세요 :) Noah입니다. Swift에서는 함수가 First-class Function으로써 사용됩니다. Functional Programming a.k.a FP 에서 많이 언급되는 일급함수를 이번 기회를 통해 알아보고 정리해보는 시간을 가져보고자 합니다. First-class Function이란 다음의 조건을 만족하는 함수를 의미합니다. 이에 대한 개념은 1960년대 중반 Christopher Strachey 에 의해 처음 등장했다고 합니다. 1. 함수는 상수와 변수에 저장될 수
Slack, Github 연동하기 안녕하세요 :) Noah입니다. 친구들과 Slack을 조금 더 효율적으로 사용하기 위해 Slack에 GitHub을 연동하였는데, 그 과정을 나눠보려 합니다 :) 채널 개설하기 먼저 채널을 하나 개설합니다. 그 다음 채팅창에 /add apps to this channel를 입력하게 되면 다음과 같은 창이 뜨게 되는데, GitHub을 검색하고 Slack workspace에 설치를 진행합니다. 설치를 진행하고, continue버튼을 클릭한 다음, Install이 진행되며,
Experience Xcode Extension에 contribute를 하다니!! 안녕하세요 :) Noah입니다. 오늘은 Swift Extension중 Cool한 Extension에 PR을 보내본 이야기를 나눠보려 합니다🤓 (PR이라고 하기도 부끄럽지만 ㅎㅎ..) Swift를 공부하기 시작한지 얼마되지 않은 저는 사용할만한 여러 Xcode Extension을 찾아보고 있었습니다. 평소 코드 스타일, Lint에 관심이 많기에 Swift를 처음 공부하기 시작하면서 스스로 고민하고 어떤 코드가 좋은 코드인지 찾아나가는 과정속에서 내 마음대로 코드를 짜는
Swift 공식문서로 알아보는 Swift의 Functions 안녕하세요 :) Noah입니다. 이 글은 애플의 스위프트 공식문서 를 스터디하며 중간중간 저의 개인적인 생각을 덧 붙여 쓴 글 입니다. “함수란 특정 기능(작업)을 수행하는 코드의 집합이다.” 함수를 선언할때는 func 키워드를 이용하여 선언하며 사용할때는 함수의 이름을 호출하여 사용해야합니다. 당연히 함수의 이름은 함수가 어떠한 기능을 수행하는지 다른 사람이 보아도 알 수 있게