반응형

전체 글 202

Git | 기초

안녕하세요 오늘은Git 기초에 대해서 알아보고자 합니다 우선 일반적으로깃을 설치할 때Git hub / Sourcetree를 많이 사용합니다 Git에 대해서 사용하는 이유와소스트리를 사용하는 이유에 대해서 알아보고자 합니다 Git에 비해서 소스트리는 GUI를 제공하여 명령어를 일일이 입력하지 않고도마우스 클릭만으로 다양한 작업을 수행할 수 있기 때문에같이 사용을 하고 있습니다 그리고 병합이나 충돌 해결을 시각적으로 제공하기 때문에 충돌을 해결하는 과정을 더 간단하게만들어 줍니다 커밋 히스토리의 명확한 확인을 할 수 있습니다시각적으로 확인이 가능하기 때문에 코드 리뷰나 버그 추적시 유용합니다 터미널로도 생성이 가능하고 여러가지 활용이 가능하겠지만편리하게 사용하기위해서 소스트리를 사용한다라고 생각하면 됩니다 ..

Git 2024.05.27

Kodeco | Swift의 데이터 구조 및 알고리즘 - 복잡성

안녕하세요데이터 구조 및 알고리즘에 대해서타 언어를 배울 때 공부했지만 또 한 번 더 다루면서 Swift에 좀더 친숙하고 내가 몰랐던데이터 구조나 알고리즘을 알기위해서 구매를 했습니다  사이트(클릭클릭👆🏻) kodeco에 들어가면 다양한 자료들을 볼 수 있으니 강추 드립니다강의보단 책이 좋다는 평이 있어서 저도 책으로 구매하였답니다 :) 자세히 정리하는 부분은 공개된 부분만 자세히 정리할 예정이며 나머지부분은 짧게 정리할 예정입니다  알고리즘의 성능을 수학적으로 표현이 가능한 표현법이 있습니다그리고 시간과 공간복잡도를 표현이 가능하구요실제 러닝타임을 표시하는것보다데이터나 사용자의 증가율에 따른 알고리즘의 성능을 예측하는게 더 중요하다고 생각이 드는데요 왜냐면적은 양의 데이터로 작업할 때 값을 시간과 ..

Swift | weak / unowned에 관하여

안녕하세요! 저번에 다루었던 메모리관리의ARC에 관하여다루고자 합니다 짧게 말하자면애플은 이전에 MRC(manual reference count)를 채택하여수동으로 메모리를 관리하여 모든 메모리 해제 코드를 삽입을 했습니다여기서 발생하는건 실수할 가능성이 높아메모리 관리에 대한 부담이 굉장히 높았답니다그래서 현대적인 언어들은 대부분 자동으로 메모리 관리 모델을 사용하고 있습니다 그래서 지금 현재  Swift에서 사용하고 있는건ARC(automatic reference count)입니다retain() 할당하고 release() 해제코드로 메모리 해제를 한다고 생각하시면됩니다컴파일러가 메모리 관리코드를 시작하기전에 미리 자동으로 추가함으로 프로그램의 메모리 관리에 대한안정성이 증가하게 됩니다 WWDC21에서..

Swift 2024.05.23

Swift | Error Handling(에러 처리) 와 Result Type에 관하여

안녕하세요 오늘은 에러 처리에 관하여 정리하고자 합니다 개발자라면 무조건 에러는..마주치게 되는데만약 우리가 예상치 못한 상황에서 에러를 마주치게된다면??!! 어떤 에러인지도 파악해야하고 그 에러를 처리하기 위해 다뤄야하는것도 다를것이며이런저런 처리를 하기위해서 고민을 하기 시작할 겁니다 저 역시 집을 빨리 가기 위해서 머리를 굴리고 있을 테니까요^^ 예를들어서디스크의 파일에서 데이터를 읽고 처리하는 작업을 진행할 때지정된 위치에 파일이 존재하지 않거나파일에 읽기 권한이 없거나적절한 형식으로 인코딩 되어있지 않은 것 등등실패할 수 있는 요인이 많습니다 이걸 방지하기 위해 프로그램에서 일부 실패할 수 있는요건을 해결하고 해결할 수 없는 에러는 전달하게끔작성할 수 있답니다 코드를 보면서 에러를 다루는 방법에..

Swift 2024.05.23

Swift | ARC에 관하여[WWDC21]

안녕하세요오늘은 ARC에 관하여 설명하고자 합니다  (TMI지만 앞쪽 노래 두둠칫 느낌 좋음) 우선 Swift는 값타입(구조체 / 열거형)을 제공하고 있습니다value typestructenum 참조 타입과 함께 의도치않게 함께 제공되는 경우의 위험을 방지하려는 경우 값 타입을 사용하는 것이 좋습니다 클래스는 참조 타입이고 Reference Typeclass(closures)  ARC(Automatic Reference Counting)통하여 메모리를 관리합니다    Swift에서 object lifetimes / ARC에 대해서 알아봅시다 스위프트에서는  객체의 수명은초기화 시에 시작(init)하여 마지막 사용 시에 종료가 됩니다 ARC는 수명이 끝난 후 객체 할당을 해제(deinit)함으로써 메모리를..

Swift 2024.05.22

Swift | 클로저(Closure)에 관하여 -2

안녕하세요! 오늘은클로저 2편으로 왔습니다 정리할 부분이 많기 때문에또 다시 힘차게 정리를 해보겠습니다! 저번시간에 클로저를 함수의 파라미터에넣을 수 있는 부분을 마지막으로 끝을 냈습니다 거기서 더하여예시를 좀 더 보려고 합니다 콜백함수 다른 언어에서도 많이 사용하는 람다 형식의 콜백함수를 볼 수 있습니다 만약 호출할 때 형식의 어려움이 있다면? 엔터를 치면 바로 형태가 쉽게 나온답니다엔터의 결과를 아직 보지 못했으니 아래에한 번 더 후행 클로저에 대해서 설명할 예정이니 계속 해서 읽어주세요! 클로저를 간소화 하는 방법은 많습니다 문맥상에서 파라미터와 반환벨류(return value) 타입 추론한 줄의 코드(싱글 익스프레션)인 경우에 리턴을 적지 않아도 됩니다아규먼트 이름을 축약이 가능합니다 : $0, ..

Swift 2024.05.21

Swift | 클로저(Closure)에 관하여 -1

안녕하세요오늘은 클로저를 알아봅시다!  클로저 뜻우선 구글 번역기로closure의 뜻을 알아보면'폐쇄'라고 나옵니다  변수에 함수가 갇혀있는 뜻이라고 생각하면 편할것 같습니다  타 언어 프로그래밍을배우셨다면 클로저를 익명함수, 람다와 많이 유사한 부분이라고 느낄 수 있습니다 저또한 C#에서 많이 보던 녀석이라.. 낯설지 않았답니다 클로저는 정의된 모든 상수와 변수에 대한 참조를 캡처하고 저장이 가능합니다이러한 상수와 변수를 Closing over이라고 합니다  제가 느낀바로는 함수와 클로저의 차이는 함수는이름이 있는 코드의 묶음이여서 다른 코드에서 함수이름으로 호출하여 사용이 가능한 형태라고 생각이 들어요 클로저는굳이 함수의 이름이 없어도 호출할 수 있는 형태라고 생각이 들어요 앞에서 배웠듯이함수는 일급..

Swift 2024.05.21

Swift | self vs Selft에 관하여

안녕하세요!오늘은 self 와 Self에 관하여정리하고자 합니다 쉬우니까바로 습득이 가능하실거에요! 지금까지 소문자 self는 많이 사용했었답니다 특히 클래스에서 많이 사용했던걸로 기억하는데요보통 인스턴스나 값 자체를 치환하는 경우에도 사용합니다 코드를 통해서 알아보고자 합니다 self vs Self| 우선 소문자 self에 대해서 알아보고자 합니다self인스턴스를 가르키기 위해 사용하는 경우 class Person { var name: String init(name: String) { self.name = name }} 여기서 self는현재 객체(instance)를 가리킵니다인스턴스 내부에서 해당 인스턴스의 속성이나 메서드에 접근이 가능합니다 클래스 내부에서 보통 속성과 매개변수 이름이 동일한..

Swift 2024.05.21

Swift | Method Dispatch관하여

안녕하세요오늘은 공식문서에는 없지만Method Dispatch에 대해서 알아보고자합니다 Method Dispatch| 공식문서에는 없지만 이걸 남기는 이유는 컴퓨터가 동작하는 방식에 대해서 더 잘 이해하기 위해서정리했습니다 :) 우선 내가 알고있는 지식이라곤 컴파일 타임은 정적 타입 검사일 때런타임에는 동적 타입 검사이고컴파일은 기계어로 이해할 수 있는 0과 1로 변환되는 과정이며런타임은 컴파일을 거친 코드인 기계어가 사용자가 사용하는 순간이라고 알고 있었답니다 강의에서 자세하게 풀이해줬기 때문에좀 더 세세하게 나뉘고 있고 런타임과 컴파일 타입에서 일어날 수 있는 문제점에 대해서 한 번 더 고찰할 수 있었던 강의가 아닌가 싶었습니다 그리고 메서드 디스패치는 간단히어떤 메서드들의 특징에 대해서 다루는 시간..

Swift 2024.05.21

Swift | 고차함수 filter / reduce 관하여

안녕하세요고차함수 나머지 부분도 다루고자 합니다 filter와 reduce에 대해서 정리를 해봅시다 filter|특정조건을 만족하는 요소들만 걸러내는 함수새로운 컬렉션을 반환하고 원본 컬렉션의 요소 중 조건을 만족하는 요소들로 이루어진 배열을 생성합니다 기존 배열 등 각 아이템 조건을 확인하고 참을 만족하는 아이템을 걸러내서 새로운 배열을 만들어냅니다(각 아이템을 필터링해서 걸러내서 새로운 배열을 만들 때 사용합니다)   .filter로 통해서 조건을 통해서 배열을 반환하는걸 볼 수 있습니다  클로저를 사용하는 이유는더 간결하게 작성할 수 있기 때문입니다  evenNumbersArray같은 경우 첫 번째 필터 조건이 2로 나눴을 때 0인 경우이므로2,4,6,8로 줄어들고두 번 째 필터 조건이 5보다 작아..

Swift 2024.05.21
반응형