タグ

ブックマーク / dev.classmethod.jp (48)

  • 愛知県の市区町村当てクイズをPythonライブラリを活用して作ってみた | DevelopersIO

    はじめに 私は今Pythonを勉強しており、最近はpandasやturtleと格闘しています。せっかくなのでこれらのライブラリを使って何か作ってみようと思い、愛知県の市区町村名を当てるクイズアプリを作ることにしました。 開発環境 Windows 10 Pro 64bit Python 3.12.1 pandas、Pillowをインストール済みとします 成果物 出来上がったものは以下のようなクイズアプリです。 起動すると愛知県の地図とダイアログが表示されます。 愛知県に存在する市区町村名を入力します。 正解すれば、その市区町村の名前が地図に表示されます。 全市区町村を当てるまで頑張ります。 なお、このアプリのアイデアについては以下のUdemy講座で取り上げられていた、アメリカの州を当てるクイズを参考にしています。 100 Days of Code: The Complete Python P

    愛知県の市区町村当てクイズをPythonライブラリを活用して作ってみた | DevelopersIO
    stilo
    stilo 2024/04/29
  • 【書評】「SwiftでつくるARKit超入門」を読みました | DevelopersIO

    クラスメソッド福岡オフィスでiOSアプリエンジニアとして働いている田辺です。ご縁がありSwiftでつくるARKit超入門というを読み、ARの学び始めにとても良いだと思ったので書評ブログを書くことにしました。 書籍情報 書籍の著者は北村愛実さんです。ARKitUnityに関するブログや書籍を公開されていたので、を手に取る前から存じあげていました。 北村愛実 1988年生まれ。立命館大学院理工学研究科卒業。大学院では画像処理を利用したスマートフォン用のアプリケーションやゲームを開発する。IT企業の研究職を経て、現在は主婦をやりつつ執筆やイラスト制作に励んでいる(データはこの書籍が刊行された当時に掲載されていたものです) https://www.hmv.co.jp/artist_%E5%8C%97%E6%9D%91%E6%84%9B%E5%AE%9F_000000000665641/b

    【書評】「SwiftでつくるARKit超入門」を読みました | DevelopersIO
    stilo
    stilo 2020/09/11
    "この本では、 #Swift の基本的な経験があって #ARKit の経験が全くない人でも理解できるようにテキストとイラストでわかりやすく説明しながらARKitの概要を掴めます" #iOS
  • SwiftUI チュートリアルを一通りやってみた- 前編 – | DevelopersIO

    SwiftUIのチュートリアルを一通りやってみました。 それぞれのチュートリアルで登場した概念ややってみた感想について書きます。 こんにちは。クラスメソッド 福岡オフィス CX事業部でiOSアプリの開発に携わっている田辺です。 先日の三連休の間にSwiftUIのチュートリアルを一通りやってみました。リリース後に一読してはいたものの手を動かしていなかったので連休の間にやってみました。 チュートリアルは複数ありますのでそれぞれについて書いていきたいと思います。 長くなったので二部構成です。 後編はこちらです。 SwiftUI チュートリアルを一通りやってみた- 後編 – | DevelopersIO どのようなチュートリアルがあるかについては当ブログで記事が公開されているのでご参照ください。 Appleの新しいUI構築フレームワーク「SwiftUI」を学ぶための教材まとめ #WWDC19 |

    SwiftUI チュートリアルを一通りやってみた- 前編 – | DevelopersIO
  • [iOS]RxSwift + APIKit + Decodableでインクリメンタルサーチ | DevelopersIO

    こんにちは。 モバイルアプリサービスの太田です。 今さながらRxSwiftを初めて触っています。 RxSwiftの使い方も少しずつわかってきましたので、通信ライブラリAPIKitを使って、 wikiのapiをコールして、記事をインクリメンタルサーチしてみたいと思います。 環境 Xcode 10 Swift 4.2 RxSwift 4.4.1 APIKit 3.2.1 APIKit.DataParser APIKitは標準だとレスポンスがData->JSON(DictionaryやArray)にパースされるJSONDataParserが利用されます。 そのままではDecodableによるデコードができません。 そこで、APIKit.DataParserを継承したクラスを作り、Decodableによるデコードを行います。 final class EntityDataParser<T: Deco

    [iOS]RxSwift + APIKit + Decodableでインクリメンタルサーチ | DevelopersIO
  • [WWDC18] Swift 4.2からはランダム値生成にRandomNumberGeneratorを使おう #WWDC18 | DevelopersIO

    記事は Apple からベータ版として公開されているドキュメントを情報源としています。 そのため、正式版と異なる情報になる可能性があります。ご留意の上、お読みください。 はじめに WWDC18のセッション、「What’s New in Swift」の中で、Swift 4.2で実装されたRandom Unification SE-0202の話があったので、簡単に試してみました。 検証環境 macOS High Sierra 10.13.4 Xcode Version 10.0 beta (10L176w) これまでのランダム値生成 これまでSwiftでランダム値を生成するには、arc4random_uniformなどを使って行っていました。ただし、この方法には以下のような問題がありました。 importされたCのAPI システム(DarwinかLinuxかなど)に依存した処理 Swift

    [WWDC18] Swift 4.2からはランダム値生成にRandomNumberGeneratorを使おう #WWDC18 | DevelopersIO
    stilo
    stilo 2018/06/13
    Swift 4.2からarc4randomではなくrandom関数やrandomElement関数を使用する
  • [iOS] Charles for iOSがリリースされたので試してみた | DevelopersIO

    はじめに こんばんは。モバイルアプリサービス部の平屋です。 記事では、日リリースされたパケットトレースツール「Charles for iOS」の使い方を紹介します。 macOS版Charlesの使い方については以下の記事で紹介しています。 [macOS][iOS] パケットトレースツール「Charles」を使用してiOSデバイスの生の送受信データを確認する [Charles]モバイル端末でのWebサイトリモートデバック 検証環境 記事は以下の環境で検証を行いました。 iPhone X, iOS 11.2.6 Charles for iOS v1.0 とりあえず使ってみる まずは、初期設定のままCharlesを使用してみます。 Charles for iOSをインストールし、起動します。 「Use Proxy」スイッチをONにします。VPNプロファイルを追加してよいか聞かれるので許可し

    [iOS] Charles for iOSがリリースされたので試してみた | DevelopersIO
    stilo
    stilo 2018/03/30
    ネットワークの内容を覗ける。
  • Swift版リーダブルコード「関心の分離と単純化のためのSwiftコードの最適化」 #tryswiftconf | DevelopersIO

    はじめに おばんです、今朝はWWDC17のジャケットを着てオレンジジュースを飲んで、西海岸を思い出してイキっていた田中です。 このエントリーはtry! Swift Tokyo 2018のセッション 「関心の分離と単純化のためのSwiftコードの最適化」(Javier Soto) のまとめになります。 講演内容 公式サイトより引用。 関心の分離は、コードが再利用されないときには時期尚早な最適化とみなされることがよくありますが、我々がコードが何をしているのかを理解することに対しては大きく影響します。Swiftにおけるこの実例を紹介します。 このセッションの要約 コードは書くよりも読む時間の方が長いので、可読性を高める必要がある Swiftはコーディングの原則(Coding Principle)との親和性が高い いくつかの具体例をコードとともに紹介します 紹介する例はTwitterのアプリをイメ

    Swift版リーダブルコード「関心の分離と単純化のためのSwiftコードの最適化」 #tryswiftconf | DevelopersIO
    stilo
    stilo 2018/03/05
    リーダブルSwift。UIKit周り 開発あるある事例がたくさんで 参考になります。
  • [2018年版] よく分かる!iOSアプリのリリース手順のまとめ | DevelopersIO

    はじめに こんにちは。モバイルアプリサービス部の平屋です。 記事では、iOSアプリをApp Storeへリリースする手順を解説していきます。 標準的なリリースフローに沿って「各工程で必要な作業」をまとめてありますので、リリース作業時の参考にしていただければと思います。 検証環境 macOS High Sierra 10.13.2 Xcode Version 9.2 (9C40b) 目次 リリース作業の概要 リリースフローについて アプリのステータスについて 1. アカウントや証明書を準備する 1.1 Apple IDを準備する 1.2 プロビジョニングプロファイルを準備する 2. アプリの基情報を登録する 3. アプリの詳細情報を編集する 3.1 App情報 3.2 価格および配信状況 3.3 {バージョン番号} 提出準備中 4. アプリをアップロードする 5. アップロードされたアプ

    [2018年版] よく分かる!iOSアプリのリリース手順のまとめ | DevelopersIO
  • [Swift 4] Codableでスネーク記法のJSONに対応するための一例 | DevelopersIO

    はじめに モバイルアプリサービス部の中安です。 最近、Alexaのことばかり書きすぎて疎かになっているswiftの記事を書きます。 Codable っていいよね Codable は Swift4 から搭載されたデータ構造化に便利なプロトコルです。 以前に自分も Codable についてはブログ ([Swift 4] SwiftyJSONを使わずにシンプルにJSONをデータ構造化する) にしてまとめておりました。 それにしても非常に強力な機能ですね。 しかし、問題が そんな自分の拙文なブログ記事を見てくれたという知人が嘆いておりました。 どういうことかというと、例えば下記はとある学校の生徒名簿のJSONデータとします。 [ { "student_name": "佐藤", "grade": 3, "room_number": 1 }, { "student_name": "鈴木", "grad

    [Swift 4] Codableでスネーク記法のJSONに対応するための一例 | DevelopersIO
    stilo
    stilo 2018/02/19
    Studentという構造体ならnameという命名で十分だと思った。
  • [Swift] あると便利だったextension達 UIImage編 | DevelopersIO

    はじめに モバイルアプリサービス部の中安です。 アプリを作ってきた際に、あるとなかなか便利だったextensionをボチボチとご紹介していければと思っています。 アプリの目的に合わせてやりかえる必要があったり、もっとよい実装があるかもしれませんが、何かの役に立てば光栄です。 今回は UIImage 編です。 コンテキスト描画のラップ 画像を加工する際の常套手段として、グラフィックコンテキストに描画してUIImageを取得する方法があると思います。 文章では分かりづらいので、ソースコードで書くと // コンテキストを開始 let size = CGSize(width: 100, height: 100) UIGraphicsBeginImageContext(size) // コンテキストを取得 let context = UIGraphicsGetCurrentContext()! (何

    [Swift] あると便利だったextension達 UIImage編 | DevelopersIO
  • [iOS] AutoLayoutの制約付け替えでレイアウトを動的に変える!active/deactiveのお話 | DevelopersIO

    [iOS] AutoLayoutの制約付け替えでレイアウトを動的に変える!active/deactiveのお話 こんぬづは、シン・ゴジラの実況ツイート(#シンゴジ実況)にハマっている田中です。 キャスト陣がのっかったツイートをしているのを見るとテンションあがる。 今回はAutoLayoutの制約を動的に付け替えたいというお話。 AutoLayoutの制約を動的に付け替えるとは この記事で言う制約を動的に付け替えるというのは以下のようなレイアウトのお話。 Twitterクライアントアプリのセルのようなものをイメージしてください。 画像が1枚のみだった場合は横幅いっぱいとし、画像が2枚以上だった場合は横幅半分とします。 該当するUIImageViewの親Viewに対するEqual Widthの制約をmultiplierで制御している例です。 NSLayoutConstraintのmultipl

    [iOS] AutoLayoutの制約付け替えでレイアウトを動的に変える!active/deactiveのお話 | DevelopersIO
    stilo
    stilo 2017/11/21
    IBOutletで繋いだものを isActive で true/false で切り替えられる
  • [iOS 11][ARKit] Core Locationと組み合わせてコンパスを作ってみた | DevelopersIO

    1 はじめに 今回は、ARKitとCore Locationを組み合わせて、コンパスを作って見ました。コンパスアプリは普通に沢山ありますが、景色の一部として表示されてるコンパスも少し面白いのではないでしょうか。 最初に、作成したサンプルが動作しているようすをご覧下さい。 2 コンパス 3Dオブジェクトについて コンパスは、ScreneKit Scene FileからXcodeで作成しました。 使用したのは、基的なシェードであるCylinder、Pyramid及び、3D Textで、それぞれを変形しています。 具体的には、コンパスの針の部分は、Pyramidを2つ組み合わせ、その外円は、Cylinderです。 色々な方向から確認しながら作業を進めます。 作成したシーンファイルから、コンパスオブジェクトを抜き出して、シーンに追加するコードは、次のようになります。 if let compass

    [iOS 11][ARKit] Core Locationと組み合わせてコンパスを作ってみた | DevelopersIO
    stilo
    stilo 2017/11/13
    ARKitとCore Locationの組合せおもしろい!
  • iPhone Xの実機を入手したのでFace IDを使った認証を試してみた | DevelopersIO

    ついにiPhone Xを入手! 10月27日に予約してからずっと待っていましたが、ついにiPhone Xが届きました! ということでiPhone Xならではの機能であるFace IDを使った認証を試してみました。 検証環境 エントリは以下の環境で検証を行っています。 macOS Sierra バージョン 10.12.6 Xcode Version 9.1 (9B55) Swift 4 iPhone X 実機 iOS 11.1 Face IDを使った認証処理の準備 Face IDをアプリで使うにはInfo.plistにNSFaceIDUsageDescriptionキーを含める必要があります。 値にはStringでFace IDを使う理由・目的を記載します。 <key>NSFaceIDUsageDescription</key> <string>認証のために使います</string> ここ

    iPhone Xの実機を入手したのでFace IDを使った認証を試してみた | DevelopersIO
    stilo
    stilo 2017/11/11
    LAContextを使う
  • [iOS 11] iOS 11でUITableViewDelegateに追加されたメソッドを使ってスワイプアクションを実装する | DevelopersIO

    UITableViewDelegateにスワイプアクション用のメソッドが追加された iOS 11ではUITableViewDelegateに以下のスワイプアクション用のメソッドが追加されました。 // Swipe actions // These methods supersede -editActionsForRowAtIndexPath: if implemented // return nil to get the default swipe actions @available(iOS 11.0, *) optional public func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConf

    [iOS 11] iOS 11でUITableViewDelegateに追加されたメソッドを使ってスワイプアクションを実装する | DevelopersIO
    stilo
    stilo 2017/11/07
    フルスワイプが追加された
  • [iOS 11] iOS 11で追加されたUINavigationItemのsearchControllerプロパティを使ってSearchBarをナビゲーションインターフェースに統合する | DevelopersIO

    iOS 11で追加されたUINavigationItemのsearchControllerプロパティ iOS 11でUINavigationItemに追加されたsearchControllerプロパティを使用すると簡単にUINavigationBarにSearchBarを統合することができます。 ここで「統合」と表現したのは、「ナビゲーションバーに埋め込まれたように表示することができる」という意味です。 検証環境 エントリは以下の環境で検証を行っています。 macOS Sierra バージョン 10.12.6 Xcode Version 9.0.1 (9A1004) Swift 4 iPhone X シミュレーター iOS 11.0 こんな見た目になります 先にこのプロパティを使ってSearchBarを表示した結果を載せておきます。 ご覧のようにナビゲーションバーに埋め込まれる形でSea

    [iOS 11] iOS 11で追加されたUINavigationItemのsearchControllerプロパティを使ってSearchBarをナビゲーションインターフェースに統合する | DevelopersIO
    stilo
    stilo 2017/10/31
    これで解決した(※iOS11未満は別処理が必要)
  • [iOS][Android] プログラムからアプリの設定画面を一発で開く方法 | DevelopersIO

    以下のコードを記述します。 if let url = URL(string: UIApplicationOpenSettingsURLString) { UIApplication.shared.open(url, options: [:], completionHandler: nil) } UIApplicationOpenSettingsURLString は iOS 8 から利用できる定数です。 この URL を開くとアプリにカスタム設定が存在する場合はそのアプリの設定画面が開き、そうでない場合は設定アプリのトップ画面が開きます。 以下のコードを記述します。 String uriString = "package:" + getPackageName(); Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_

    [iOS][Android] プログラムからアプリの設定画面を一発で開く方法 | DevelopersIO
    stilo
    stilo 2017/10/24
    UIApplicationOpenSettingsURLString
  • [iOS 11][Xcode 9][新機能] Asset Catalogで色を定義できるようになりました | DevelopersIO

    Asset Catalogで色を定義できるようになった 下記はXcode Release Notesからの引用です。 Asset catalogs now support named colors that can be used in source files and Interface Builder. (28900538) やってみた Color Setを作成 xcassetsを選択して右クリック > 「New Color Set」をクリックします。 Color Setが追加されます。Attributes inspectorで色の名前や対象デバイス、色の定義ができます。 Color Spaceは以下から選択可能です。 Input Methodは以下から選択可能です。 試しに「Main」という名前の色を16進数で定義してみました。 storyboardやxibから定義した色を参照、設定

    [iOS 11][Xcode 9][新機能] Asset Catalogで色を定義できるようになりました | DevelopersIO
    stilo
    stilo 2017/10/16
    これは便利!UIColorのExtensionで色定義しているのをこれに切り替えよう
  • [iOS 11] Core MLで焼き鳥を機械学習させてみた

    Core ML Core MLは、学習モデル等をiOS / macOS上で利用する際に、開発者が専門的な知識を必要とせずに扱えるように補助するフレームワークです。WWDC2017で発表された際は、ARKitに並んで現地で反響の大きかった発表でした。 iOSでは、Core ML発表以前から機械学習を取り入れようとはしていました。ただ、そのためにはCIImageを利用した画像処理や、学習モデルへの入出力などのコーディングといった専門的な知識が必要でした。 Core MLの登場で学習モデルを確保できれば、以下の機能を使ってiOS / macOSアプリで機械学習しやすくなります。 学習モデルをiOS / macOSアプリで扱える形式に変換する(Core ML model) Core ML modelへの入力と出力を補助するフレームワーク アプリ内に組み込み、学習結果を受け取ることに特化したCore

    [iOS 11] Core MLで焼き鳥を機械学習させてみた
    stilo
    stilo 2017/10/16
    CoreMLでは学習モデルを取り込んでそれを使った推論ができる。
  • [iOS 11] 画像解析フレームワークVisionで顔認識を試した結果 | DevelopersIO

    Vision この記事ではiOS 11 SDKから利用可能なフレームワークのVisionについて解説します。Vision は、高性能な画像解析フレームワークであり、オブジェクトの検出・追跡・分類などに対応しています。 この名称は、画像処理に関する研究分野Computer Visionに由来しています。 iOS 11ではCore MLというフレームワークも新たに登場しました。こちらはML(Machine Learning:機械学習)に特化したフレームワークで、VisionのバックグラウンドではCore MLが利用されています。つまりVisionは機械学習のうち、画像処理に特化したフレームワークであると言えるでしょう。 Core MLに関しては こちらの記事 をご覧ください。 機能 以下、WWDC17においてVision に関するキーノートで紹介された機能です。 顔検出 画像内に存在する顔を検

    [iOS 11] 画像解析フレームワークVisionで顔認識を試した結果 | DevelopersIO
    stilo
    stilo 2017/10/16
    顔検出、短形掲出、QRコード検出、テキスト検出などの画像解析ができる
  • [iOS 11] Siriとアプリをつなげる!SiriKitを使ったVoice User Interface開発のまとめ | DevelopersIO

    各ドメインおよびIntentの詳細な解説は、下記を参照してください。 SiriKitプログラミングガイド:Intentのドメイン [iOS 10] Siri及びMapに対応するインテントを一覧してみた | Developers.IO Intents Extensionの仕組み Intents Extensionが動作する仕組みを学んでいきましょう。 Intents Extensionが動作する上で必ず必要となるのがINExtensionオブジェクトです。INExtensionはIntents Extensionのエントリーポイントであり、Intentの実行が必要になったタイミングでSiriKitから(つまり、ユーザーがSiriを通して依頼を行ったときに)呼び出されます。 INExtensionオブジェクトはSiriKitからの呼び出しに対し、Intentを実際に処理するオブジェクトに振り分

    [iOS 11] Siriとアプリをつなげる!SiriKitを使ったVoice User Interface開発のまとめ | DevelopersIO
    stilo
    stilo 2017/10/16
    SiriKitの使い方がひと通り.紹介されている。