분류 전체보기
-
Swift 5.6 Control Flow기술/iOS 2022. 2. 26. 16:15
Control Flow For-In Loops 배열에 아이템, 범위의 숫자, 또는 문자열에 문자 같은 연속된 것에 대해 for-in 루프를 사용하여 반복할 수 있습니다. 시퀀스로부터 각 값이 필요하지 않으면 변수 이름 위치에 언더바를 사용하여 값을 무시할 수 있습니다. let base = 3 let power = 10 var answer = 1 for _ in 1...power { answer *= base } print("\\(base) to the power of \\(power) is \\(answer)") // Prints "3 to the power of 10 is 59049" While Loop while 루프는 조건이 false 가 될때까지 구문의 집합을 수행합니다. 이러한 루프는 첫번째 반..
-
Swift 5.6 Arrays기술/iOS 2022. 2. 26. 15:52
배열은 순서대로 같은 타입의 값을 저장합니다. 같은 값은 배열에 다른 순서로 존재할 수 있습니다. Array Type Shorthand Syntax Swift 배열의 타입은 Element 를 저장할 배열 값의 타입을 나타내는 Array 로 작성합니다. 또한 짧게 [Element] 로 나타낼 수 있습니다. 두 형식이 기능적으로 동일하지만 짧은 표현이 선호됩니다. Creating an Empty Array var someInts: [Int] = [] print("someInts is of type [Int] with \(someInts.count) items.") // Prints "someInts is of type [Int] with 0 items." Creating an Array with a Defa..
-
Swift 5.6 Strings and Characters기술/iOS 2022. 2. 25. 23:14
Strings and Characters Swift 의 String 과 Character 타입은 코드의 텍스트를 처리하는 빠른 유니코드 호환 방법을 제공합니다. 문자열 생성과 취급을 위한 구문은 C 와 유사한 문자열 구문과 같이 가볍고 읽기 쉽습니다. 문자여 연결은 두 문자열 사이에 + 연산자와 함께 결합하여 간단하게 연결 가능합니다. 또한 문자엷 ㅗ간이라는 프로세스에서 문자열을 사용하여 상수, 변수, 리터럴 및 표현식을 긴 문자열에 삽입할 수 있습니다. 간단한 구문임에도 Swift 의 String 타입은 빠르고, 최신 문자열 구문입니다. 모든 문자열은 인코딩에 독립적인 유니코드 문자로 구성되어 있으며 다양한 유니코드 표현의 문자에 접근할 수 있도록 지원합니다. String Literals 문자열 리터럴..
-
Swift 5.6 Basic Operators기술/iOS 2022. 2. 25. 19:50
Basic Operators Terminology 연산자는 단항, 이항, 또는 삼항 입니다. 단항 연산자는 -a 처럼 단일 항목에 동작합니다. 단항 접두사 연산자, 단항 접미사 연산자가 있을 수 있습니다. 이항 연산자는 2 + 3 처럼 2개의 항목에 동작하고 2개의 항목 사이에 위치해야하므로 위치는 고정입니다. 삼항 연산자는 3개의 항목에 동작합니다. a ? b : c 연산자가 영향을 주는 값은 피연산자 입니다. 1 + 2 표현식에서 + 기호는 중위 연산자이고 값 1 과 2 는 피연산자 입니다. Assignment Operator a = b 는 b 의 값으로 초기화되거나 업데이트 됩니다. 대입의 우항이 여러 값이 있는 튜플이라면 튜플의 요소는 여러개의 상수 또는 변수로 분해할 수 있습니다. let (x,..
-
Swift 5.6 The Basics기술/iOS 2022. 2. 25. 19:43
The Basics Constants and Variables 상수와 변수 이름은 특정 타입의 값을 연결합니다. 상수의 값은 최초 지정 후 변경이 불가능하지만 변수는 다른 값으로 변경이 가능합니다. Declaring Constants and Variables 상수와 변수는 반드시 사용하기 전 선언되어야 합니다. 상수는 let 키워드, 변수는 var 키워드를 사용합니다. let maximumNumberOfLoginAttempts = 10 var currentLoginAttempt = 0 여러 개의 상수 또는 변수를 선언할 때 콤마로 구분하여 한줄 선언이 가능합니다. var x = 0, y = 0, z = 0 NOTE 코드에서 지정한 값이 변경되지 않는다면 항상 let 키워드로 상수 선언해야 합니다. 변수는..
-
yagom 의 iOS Swift 홈페이지 강좌기술/iOS 2022. 2. 19. 14:00
기초 개념 이름 짓기 CamelCase 를 사용함 EASY EASY~ 콘솔 로그 print: 단순 문자열 출력 dump: 인스턴스의 자세한 요소들까지 전부 출력 해줌 보간법 \() 상수와 개념 함수형 패러다임 답게 상수표현이 많이 등장함 띄워쓰기 잘못쓰면 문제가 생김 ( 에바쎄바 ) let: 상수 let 이름: 타입 = 값 상수를 먼저 선언하고 나중에 한번 값을 넣어줄 수 있음 var: 변수 var 이름: 타입 = 값 변수도 선언하고 나중에 사용 가능 데이터 타입 기본 데이터 타입 데이터 타입은 아주 정확히 할당해야한다. Bool 0, 1 사용 가능 ( 에바쎄바... ) Int, UInt Int: 64bit UnsingedInt: 음수 안됨, Int 도 못넣음 Float, Double Float: 32b..
-
파이썬으로 알아보는 아키텍처 패턴기술 2022. 2. 14. 12:32
책의 목적 여러가지 고전적 아키텍처 패턴을 소개하고 이 패턴들이 어떻게 DDD, TDD, 이벤트 기반 서비스를 지원하는지 보여주는 것이다. 도입 캡슐화와 추상화 캡슐화는 행동의 단순화와 데이터 은닉이라는 두 가지 특징을 가진다. 캡슐화해주는 객체나 함수를 추상화라고 한다. params = dict(q='Sausages', format='json') handle = urlopen('http://api.duckduckgo.com' + '?' + urlencode(params)) raw_text = handle.read().decode('utf-8') parsed = json.loads(raw_text) params = dict(q='Sausages', format='json') parsed = request..
-
Django 에서 N+1 쿼리 문제 예방, 발견하기기술/Django 2022. 1. 25. 22:18
N+1 이란? 쿼리를 한번으로 N건 가져왔는데, 관련 컬럼을 얻기 위해 N번의 쿼리를 추가수행하는 문제는 N+1 문제라고 합니다. 간단한 예시를 통해 N+1 이 발생하는 원리를 알아봅시다. class PressGroup(models.Model): name = models.CharField(max_length=64) class Reporter(models.Model): full_name = models.CharField(max_length=64) press_group = models.ForeignKey(PressGroup, on_delete=models.CASCADE) class Article(models.Model): headline = models.CharField(max_length=64) conte..