Swift
-
[Vapor] SQL 문으로 쿼리문 사용하기Programing/Vapor 2020. 6. 19. 01:44
안녕하세요~! 5anniversary 입니다!! 오늘은 SQL문을 사용하는 방법에 대해 알아보도록 할 거예요~! 제가 현재 진행 중인 프로젝트 내에서 검색, Like문을 사용해야 하는 경우가 있는데, FluentMySQL에서는 제공하지 않아 생 쿼리문을 사용해보도록 할 거예요. 이외에도 불가능한 경우가 있는 경우 사용할 수가 있겠죠?? 한번 알아보도록 하죠~! 오늘 사용할 메서드는 withPooledConnection()이라는 메소드인데요, 이 메소드는 기본 제공되는 DatabaseKit에서 제공되는 메서드예요 해당 메서드를 이용하는 방법은 사용자로부터 받는 Request에서 각자의 vapor에서 사용하는 DB에 맞춰서 코드를 작성해주면 되는데요 func rawExampleHandler(_ req: Re..
-
[자료구조] Swift로 풀어보는 덱(Deque)Programing/자료구조(Data structure) 2020. 6. 17. 01:14
안녕하세요~! 5anniversary입니다. 이번 시간에는 자료구조에서 대표적인 유형 중에 하나인 덱에 대해 천천히 알아보며, Swift로 구현해보는 시간을 가져보겠습니다. 우선 덱에 대한 기본적인 구조를 알아보겠습니다. 덱에서는 앞에서 다루었던 스택. 큐와 다르게 양쪽 끝에서 모두 삽입과 삭제가 가능한 자료구조입니다. 우선 간단하게 덱의 구조를 파악했으니 Swift로 간단하게 코드를 작성해 볼까요?? public struct Deque { private var storage: [T] = [] public init() {} public init(_ elements: [T]){ storage = elements } public mutating func frontEnqueue(_ element: T) -> ..
-
[자료구조] Swift로 풀어보는 큐(Queue)Programing/자료구조(Data structure) 2020. 6. 16. 21:23
안녕하세요~! 5anniversary입니다. 이번 시간에는 저번 포스팅에 이어 자료구조에서 대표적인 유형중에 하나인 큐에 대해 천천히 알아보며, Swift로 구현해보는 시간을 가져보겠습니다. 우선 큐에 대한 기본적인 구조를 알아야 큐를구현할수있겠죠?? 큐는 스택과 달리 선입선출 / FIFO(First in - First Out)으로 데이터에 접근하고, Back(Rear)이라는 위치에서 Enqueue라는 메소드로 데이터를 입력, Front라는 위치에서 Dequeue라는 메소드로 데이터를 출력, 삭제하는 구조로 구현되는 자료구조입니다. 일반적으로 정의된 자료구조에 따라서 Swift로 코드를 작성해보자면!! public struct Queue { private var storage: [T] = [] // 비어..
-
[자료구조] Swift로 풀어보는 스택(Stack)Programing/자료구조(Data structure) 2020. 6. 16. 00:33
안녕하세요~! 5anniversary입니다. 이번 시간에는 자료구조에서 대표적인 유형 중에 하나인 스택에 대해 천천히 알아보며, Swift로 구현해보는 시간을 가져보겠습니다. 우선 스택에 대한 기본적인 구조를 알아야 스택을 구현할 수 있겠죠?? 스택은 후입 선출/LIFO(Last In - First Out)으로 데이터에 접근하는 자료구조입니다. 따라서 일반적으로 TOP이라 부르는 위치에서만 데이터를 입력, 출력, 삭제를 할 수 있는 구조로 구현되어있습니다. 따라서 이런 구조를 가진 Stack protocol을 먼저을 만들어볼게요~ public struct Stack { private var storage: [T] = [] public init() { } public init(_ elements: [T])..
-
[Vapor] Rest API 만들기 - 1Programing/Vapor 2020. 5. 22. 03:06
안녕하세요 5anniversary 입니다~! 이전 시간의 포스팅에 이어서, 이번에는 Vapor를 통해 데이터베이스에 접근해 데이터들을 생성, 수정, 삭제해보는 시간을 가져보겠습니다~! projectName/ ├── Package.swift ├── Sources/ │ ├── App/ │ │ ├── Controllers/ │ │ │ └── UserController.swift │ │ ├── Utility/ │ │ │ └── ResponseJSON.swift │ │ ├── Model/ │ │ │ └── User.swift │ │ └── System/ │ │ ├── app.swift │ │ ├── boot.swift │ │ ├── boot.swift │ │ └── routes.swift │ └── Run/ │ ..
-
💧Vapor💧 Heroku MySQL DB 사용하기Programing/Vapor 2020. 5. 11. 03:18
안녕하세요, 5anniversary 입니다!! 이번 시간에는 지난 시간에 이어서 heroku 서버에 MySQL DB를 만들어 사용하는 방법을 알아보는 시간을 가질 거예요. 그렇다면 바로 heroku 대시보드로 들어가야겠죠?? add-ons에서 저희가 사용할 서비스는 JawsDB입니다. 추가를 해주시고 난 이후에 터미널에 heroku config를 작성해주시면 JAWSDB_URL: mysql://z2gsgk267lrbl4yf:j4rki5lrhxyu4gds@ijj1btjwrd3b7932.cbetxkdyhwsb.us-east-1.rds.amazonaws.com:3306/vclhtpt0ysupjjlf 와 같은 환경변수로 설정된 DB정보를 받을 수 있습니다. JAWSDB_URL: mysql://:@:/ 와 같이 ..
-
[Swift] logPrograming/iOS 2020. 4. 25. 01:54
이번 시간에서는 로그 확인하는 방법에 대해서 준비를 했습니다. 로그를 확인할 수있는 메소드는 크게 4가지가 있습니다 1. NSLog 2. Base Log 3. Special Literal Log 4. Custom Log 위 5가지 방법에 대해 알아보도록 합시다!! :) 아래에서 확인하기 위한 값들은 이렇게 설정해두었습니다. var intTest : Int = 123 var intTestArr : [Int] = [123,123,123,123,123] var stringTest : String = "테스트입니다." var stringTestArray : [String] = ["123","234","345","456","567","678"] var testLabel = UILabel() NSLog void N..
-
[iOS] detecting background => foreground in ViewControllerPrograming/iOS 2020. 4. 24. 16:33
안녕하세요 😁 5anniversary입니다!! 이번 시간에는 백그라운드에서 포그라운드로 돌아갈 때 뷰 컨트롤러에서 탐지를 하고 뷰 컨트롤러 안에서 사용하는 방법에 대해 알아볼 거예요!! 기본적으로 제공이 되는 AppDelegate.swift, SceneDelegate.swift에서 제공되는 // in AppDelegate.swift func applicationWillEnterForeground(_ application: UIApplication) { print(#function) } // in SceneDelegate.swift func sceneWillEnterForeground(_ scene: UIScene) { print(#function) } 메서드로 백그라운드에서 포그라운드로 돌아오는 것을 탐..