Language 7

Swift) 사용하면 유용한 고차함수

고차함수의 코드를 이해하려면 클로저에 대해서 먼저 알아야 합니다. 아래의 제 포스팅이나 구글링을 통해 공부해보면 좋습니다! Swift) 고차함수, 클로저 오늘은 들어도 까먹고 자꾸만 헷갈리는 고차함수, 클로저 개념에 대해서 한번 짚고 넘어가려 합니다. 자 일단 고차함수가 뭐냐..면 고차함수: '다른 함수를 전달 인자로 받거나 함수 실행의 결 snowee.tistory.com map map 함수는 컨테이너 내부의 기존 데이터를 변형하여 새로운 컨테이너를 생성합니다. 시간복잡도: O(n), n은 컨테이너의 길이 우리가 흔히 사용하는 자료구조인 Array, Set 그리고 Dictionary와 같은 자료구조들이 일종의 컨테이너라고 할 수 있습니다. - map은 이렇게 사용합니다 let numbers: [Int]..

Language/Swift 2021.04.16

Swift) Escaping Closure(@escaping)

들어가며 Swift) 고차함수, 클로저 오늘은 들어도 까먹고 자꾸만 헷갈리는 고차함수, 클로저 개념에 대해서 한번 짚고 넘어가려 합니다. 자 일단 고차함수가 뭐냐..면 고차함수: '다른 함수를 전달 인자로 받거나 함수 실행의 결 snowee.tistory.com 저번 글에 이어서..원래는 바로 자주쓰이는 고차함수의 종류에 대해서 알아보려 했는데, 그 전에 Escaping Closure에 대해서 먼저 공부하려고 합니다! 클로저의 개념에 대해 아직 모르신다면 위 링크를 먼저 방문하시고 읽는것을 추천드립니다 :) Escape는 다들 아시다시피 "탈출하다."라는 뜻입니다. 마찬가지로 Escaping Closure(@escaping) 역시 그 의미를 따라서 "함수가 끝난 뒤에 실행되는 클로저"입니다. 좀 더 직관..

Language/Swift 2021.04.16

Swift) 고차함수, 클로저

오늘은 들어도 까먹고 자꾸만 헷갈리는 고차함수, 클로저 개념에 대해서 한번 짚고 넘어가려 합니다. 자 일단 고차함수가 뭐냐..면 고차함수: '다른 함수를 전달 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수'를 뜻합니다. 자 "함수를 전달인자로 받거나, 함수 실행의 결과로 반환받는다" 라고 했죠? 음..예전에 JS 1급 객체에 대해서 포스팅 했던 이 글이 떠오르네요 반환 타입 in 실행 코드 } Swift로 프로그래밍을 하면서 자주 만들게 되는 Alert에 action을 부여하게 되는 상황에서 우리는 클로저를 자주 목격합니다. // 1. 처음 let action = UIAlertAction(title: String?, style: UIAlertActionStyle, handler ((UIAlert..

Language/Swift 2021.04.16

Swift) 기초 문법 정리

네이버 부스트코스 iOS 기초 강좌를 수강하면서 개인적으로 정리한 Swift 기초 문법 입니다. Swift 기초 문법 정리 명명법, 콘솔 로그, 문자열 보간법 let(상수), var(변수) 기본 데이터 타입 Any, AnyObject, nil Array, Dictionary, Set(컬렉션 타입) 함수 기본 함수 고급 조건문(if-else, switch) 반복문 Optional Optional Binding(옵셔널 추출) struct(구조체) Class enum(열거형) 클래스 vs 구조체/열거형(상속 타입 vs 값 타입) Closure 기본 Closure 고급 Property Property 감시자 상속 인스턴스의 생성과 소멸 Optional Chaining과 nil 병합 연산자 Type Casting..

Language/Swift 2021.03.10

JavaScript 기초) JS에서 함수는 1급 객체이다

JavaScript에서 함수는 1급 객체(first class object)다. 1급 객체? 그게 뭐죠? 1급 객체(First Class Object) 1급 객체란 특정 언어에서 객체를 1급 시민으로써 취급한다는 뜻입니다. 조금 다르게 표현하면? "1급 시민 조건 + 객체 = 1급 객체" 1급 시민 : 1967년 Christopher Strachey가 수업에 사용한 노트에서 정의한 용어 일반적으로 1급 시민의 조건은 다음과 같습니다. 변수(variable)나 데이터 구조에 담을 수 있다 인자(parameter)로 전달할 수 있다 반환값(return value)으로 전달할 수 있다 1급 시민의 대표적인 예로 숫자를 들 수 있겠네요! 자 앞서 말했듯 1급 객체란 객체를 1급 시민으로 취급하고, 그렇기 때문에..

Language/JavaScript 2021.02.26

JavaScript 기초) var, let, const

ES6부터 let과 const가 추가됨에 따라, var가 유일한 변수 선언 방법이었던 JavaScript에는 총 세가지의 변수 선언 방식이 존재하게 되었습니다. 오늘은 이 세가지 변수 선언 방식에 대해 알아보겠습니다. 1. Scope Function-level scope var는 Function Scope에 해당됩니다. 대부분의 프로그래밍 언어는 Function Scope가 아닌 Block Scope에 해당합니다. 하지만 JavsScript의 경우 ES6전까지 Function Scope가 전부인 언어였으며 다음과 같은 코드 형식을 가졌습니다. //MARK: -Function Scope function scopeTest() { for(var i=0; i

Language/JavaScript 2021.02.25

TypeScript) TypeScript, 왜 쓰는걸까?

JavaScript 1995년 넷스케이프사의 브렌던 아이크(Brendan Eich)가 자사의 웹브라우저에 탑재하기 위해 개발한 스크립트 언어입니다. 초창기 자바스크립트는 웹페이지의 보조적인 기능을 수행하기 위해 한정적인 용도로 사용되었습니다. 그래서 이 시기에 대부분 로직은 주로 웹서버에서 실행되었고 브라우저(클라이언트)는 서버로부터 전달받은 HTML과 CSS를 렌더링하는 수준이었다고 합니다. 하지만 추후 AJAX의 활성화로 데스크탑 애플리케이션과 유사한 사용자 경험을 제공할 수 있게 되었고, 이로 인해 서버측이 담당하던 업무의 상당부분이 클라이언트 측으로 이동함으로써 자바스크립트는 웹의 어셈블리 언어로 불릴 만큼 중요한 언어로 그 위상이 높아지게 되었습니다. 플러그인 의존성이 높던 웹 애플리케이션도 H..

Language/TypeScript 2021.02.07