본문 바로가기

반응형

Programming

(171)
Dart 3일 차 - Language Tour (3/7) Operators https://dart.dev/guides/language/language-tour#operators swift 에서는 빠진 ++, -- 가 아직 제공된다. ~/ 라는 연산자가 있다. 나누기를 한 후 결과값을 integer 형태로 돌려준다. 이건 좀 편하겠는데? 두 object 가 같은지는 identical 함수로 안다고 한다. Type test operators as, is 는 흔히 있는 거라 패스 is! 라는 것이 있다. is not 일까? 라고 생각했는데 맞네 . Assignment operators = 는 거의 대부분 다 쓰니 패스 ??= 라는 생소한 것이 있다 a ??= 1 이라고 하면 a 가 null 이면 1을 대입하고 아니면 a 를 유지한다고 한다. var a = 1 a ?..
Dart 2일 차 - Language Tour (2/7) 오늘도 짧게 훑어보려고 한다. 어제에 이어서 Import concepts 를 본다. Important concepts https://dart.dev/guides/language/language-tour#important-concepts 변수에는 무엇이든 저장할 수 있다. class 의 instance 인 object 숫자, 함수, null 또한 object 이다. 모든 object 는 Object class 를 상속한다. Dart 는 강타입(strongly typed) 이지만 타입 추론이 되기 때문에 타입을 쓰는 것은 선택적이다. Generic type 도 제공한다. top-level 함수를 제공한다. (main() 같은... 함수 안에 함수 생성도 가능하다. top-level 변수도 제공 한다. ins..
Dart 1일 차 - Language Tour (1/7), A basic Dart program 오늘부터 Dart를 하루에 조금씩 공부해보려 한다. 하루에 특정 챕터를 하지 않고 시간 되는 만큼만 본다. 보면서 바로 여기 블로그에 정리하면서 본다. 그러므로 앞으로의 내용은 정리되지 않은.. 공부하다 대충 끄적인 느낌일 것이다. A basic Dart program https://dart.dev/guides/language/language-tour#a-basic-dart-program Comment https://dart.dev/guides/language/language-tour#comments // - 많은 언어에서 사용하는 것과 같이 한 줄짜리 주석이다. 멀티 라인 또한 많은 언어에서 사용하는 것과 같이 /* */ 으로 하면 된다. // comment /* comment */ /// 은 Docu..
GitHub Free vs Pro Private repository 가 free 에서 가능해지기 전에 구독을 하여 private repository 를 이용하고 있었다. 주로 쓰는 기능이 private repository 밖에 없는데 굳이 Pro를 유지해야 하나 라는 생각이 들었다. 도대체 무슨 차이가 있을까? Free Pro ($4/month) Private repository unlimited unlimited GitHub Community Support O O GitHub Dependabot alerts O O Two-factor authentication enforcement O O GitHub Actions minutes 2,000 3,000 GitHub Packages storage 500MB 2GB GitHub Support..
[Admob] 앱 실행시 전면광고 실행 앱을 실행해면 전면 광고를 실행해서 보여주게 하였다. 그러던 중 admob 으로 부터 메일 한통을 받았다. 경고를 받은 앱은 Android 앱이었지만 iOS에서도 동일한 방식으로 나오고 있었다. iOS도 수정이 필요한 상황이었다. 그래서 정책을 알아 보기로 했다. 여러 가지 정책이 있어서 모든 것을 다 소개할 수도 없고 내가 필요한 것은 기존 상태를 유지하면서 고칠 수 있는 방법이었다. https://support.google.com/admob/answer/6201362?hl=ko&ref_topic=2745287 `예기치 않게 실행되는 삽입 광고` > `허용되지 않는 광고 구현의 예: 앱을 열 때 삽입 광고 실행` 이 경우가 경고를 받았을 때의 경우이다. 이걸 이제 어떻게 수정해야 할까.. 이 방법대로 ..
Swift 무한(?)빌드 Swift build를 하다가 컴파일이 끝나지 않고 계속되는 현상을 발견했다. Appcode로 build 중이었는데 swift의 메모리가 끝없이 계속 증가했다. 의심가는 코드를 제거해 보니 빌드가 잘 된다. 아.. 엄청나다. 의심가는 코드를 Playground로 재작성해보았다. ?? 를 남발해서 그런것으로 보이는데... 이래도 되는건가?let optionalString: String? = nil let abc: [String:Int] = [ "a": Int(optionalString ?? "") ?? 0, "B": Int(optionalString ?? "") ?? 0, "c": Int(optionalString ?? "") ?? 0, "d": Int(optionalString ?? "") ?? 0, "..
[Perfect] Dependency 추가 프로젝트도 생성했으니 이제 뭔가 해보자. 음.. 아무래도 Backend 이고 하니... DB가 있어야 겠다. 많이 쓰는 Mysql 로 해보자. MySQL 을 사용하려면 MySQL용 Database connector 를 추가해야 한다. package.swift 의 dependency로 추가 가능하다.import PackageDescription let package = Package( name: "FirstPerfectProject", dependencies: [ .Package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", majorVersion: 2, minor: 0), .Package(url:"https://github.com/Per..
[Perfect] 프로젝트 생성하기 Swift 서버 프레임워크가 몇가지 있는데 그중에 가장 먼저 접하게 된 것이 Perfect(https://www.perfect.org) 이다. 처음에는 문서도 부족해서 자세히 알아 볼 기회가 없었다. 오늘 새로운 서버 기능을 추가하기 위해 어떤 프레임워크를 써볼까 하다 갑자기 Perfect가 떠올라 문서를 읽어 보기로 했다. 새로 프로젝트를 시작하는 것은 어려운 일이 아니다. 알고 보니 정말 간단하다. 그 간단한것을 다시 한번 정리해 본다. Swift3 에 맞춰 Perfect 2가 출시되었다. 이 내용도 Swift3, Perfect2 에 맞춰 작성한다. 새로운 프로젝트를 생성하는 방법에는 크게 2가지가 있다.Template Proejct 를 받아서 수정한다. (https://www.perfect.org/..

반응형