タグ

ブックマーク / qiita.com (188)

  • アプリでタイヤの空気圧を管理しよう - Qiita

    元社員ですが、第二のドワンゴ Advent Calendar 2020の19日目の記事です。 フィアットパンダという化石のようなクルマに乗っているのですが、普段は行動範囲の狭さからあまり乗る機会がありません。たまに乗るとなんとなく乗り心地がおかしいと感じることがあって、大体そういうときはタイヤの空気圧がだいぶ下がっています。 当然適正ではない空気圧の状態で運転するのは危険ですので、なるべく乗るたびに空気圧を計測して必要であれば補充するわけですが、毎度4つのタイヤ全ての空気圧を計るのは面倒ですし、現実的ではありません。 そこで今回はタイヤの空気圧監視システム(TPMS)を作ってみることにしました。 BLE対応 TPMS Amazonをのぞいてみると、スマホに対応したBLEのTPMSのセットがいくつか販売されています。 これを買って対応アプリ入れれば終わりなのですが、それだとqiitaに書く意

    アプリでタイヤの空気圧を管理しよう - Qiita
    saiten
    saiten 2020/12/19
    書きました。
  • AnycaでAppClip対応をした話 - Qiita

    iOS14の新機能として大きな注目を浴びたAppClipですが、同時に発表されたWidgetに比べると実際に利用されているところを見る機会が少ないと思います。 Anycaでは公開されているクルマの情報を閲覧機能を提供するAppClipを10月にリリースしました。記事ではAnycaにおけるAppClipのリリースでつまずいた点や、それを回避する手法などを紹介していきたいと思います。 なお、この記事はDeNA Advent Calendar 2020の16日目の記事です。 AppClip とは AppClipはAppStoreからアプリをインストールさせることなく、アプリの一部機能を提供することのできるiOS14から利用できる新機能です。特定のURLやNFCタグ、QRコードなどを起点にしてAppClipカードと呼ばれるUIを表示・起動することができます。 もしiOS14のインストールされたi

    AnycaでAppClip対応をした話 - Qiita
    saiten
    saiten 2020/12/16
    AppClipの話を書きました
  • 時代の変化に応じて進化するCollectionView ~Compositional LayoutsとDiffable Data Sources~ - Qiita

    時代の変化に応じて進化するCollectionView ~Compositional LayoutsとDiffable Data Sources~iOSSwiftiOS13 2019/8/7 追記 iOS12以前でもUICollectionViewCompositionalLayoutが使用できるようにするライブラリについて追記しました 2019/8/21 追記 Xcode11 Beta6でNSDiffableDataSourceSnapshotのメソッドがmutatingになったので変数をletからvarに変更しました。 iOS14のアップデートについてはこちら https://qiita.com/shiz/items/4227accc7d13ae439d1d WWDC2019ではSwiftUIの登場に注目が浴びていますが UICollectionView(UITableViewなども含

    時代の変化に応じて進化するCollectionView ~Compositional LayoutsとDiffable Data Sources~ - Qiita
    saiten
    saiten 2020/07/13
  • Swift5.3の変更点まとめ - Qiita

    はじめに Swift5.3がリリース最終段階に入ったらしいので、変更が入った機能についてまとめた。 変更点は下記ページのProposalを元に確認した。 https://apple.github.io/swift-evolution/#?version=5.3 (理解が異なる箇所があればご指摘ください) リリースプロセス https://swift.org/blog/5-3-release-process/ https://github.com/apple/swift/tree/release/5.3 スナップショット https://swift.org/download/#releases 変更サマリ 品質とパフォーマンスの強化 Swiftが利用可能できるプラットフォームの拡張 Windowsサポート 対応Linuxディストリビューションの追加 0263-string-uninitial

    Swift5.3の変更点まとめ - Qiita
    saiten
    saiten 2020/05/22
  • iOSDC 2019 スライドまとめ - Qiita

    iOSDC 2019に参加してきたので、 発表者が頑張って作った発表資料をTwitterのタイムラインに埋もれないようにまとめました。 間違いがあれば訂正したいので、編集リクエストお願いします。 当は、この記事ではなく、公式にiOSDCサイトに、代わりに公開していただけると助かります。 スライドは公開され次第追加していきます。 [訂正]スライドとビデオは公式サイトで見れるようになったようです。この記事いらなくなったやったね 1 Day 17:50 A スクリーン配信機能の実装が大変だったので知見をお伝えします B SwiftのStringの文字数の数え方を完全理解する 1 Day 18:10 普通に書くと即メモリーリーク!こんなに大変だけど俺はXamarin.iOSを使い続けるぜ! 1 Day 18:40 A GoogleSpeechToTextを活用して音声を動画にした話 iOSDC

    iOSDC 2019 スライドまとめ - Qiita
    saiten
    saiten 2019/09/09
  • Google Maps の検索結果から Yahoo! カーナビで経路案内できる iOS ショートカット - Qiita

    Google Maps の検索結果から Yahoo! カーナビで経路案内できる iOS ショートカットGoogleiOSmapショートカット地図 …を作りました。 2021 年 1 月 30 日追記 2020 年 7 月頃に Google Maps 側の仕様変更に伴い動かなくなってしまい、自身も iOS ユーザで無くなったことからメンテされていなかったこのショートカットですが、@musubi05 さんが後継となるショートカットを作成し公開してくれました。iOS ショートカットの紹介記事としては未だこの記事も有用かと思いますが、単にショートカットを利用したいだけという場合は、『「Google Maps の検索結果から Yahoo! カーナビで経路案内できる iOS ショートカット」を復活させた』を参照してください。 追記終わり。 動作している様子 見て〜!これ良くない? pic.twitte

    Google Maps の検索結果から Yahoo! カーナビで経路案内できる iOS ショートカット - Qiita
    saiten
    saiten 2019/08/15
  • 【Swift, iOS】iOS11以降のNetwork Reachability - Qiita

    今年のWWDCでは マルチプラットフォームでの利用というものが注目され 今後はより多様な形でアプリが使用されていくのかなと感じています。 そんな中で インターネットへの接続はなくてはならない存在ですが 環境によって接続状態は大きく変わります。 地下鉄でデータをダウンロードしている最中に 途中で接続が遮断されてダウンロードが止まってしまうこともあるかもしれません。 そういった刻々と変化する状態をどうやって把握すれば良いのか 今回はiOS11以降に導入された機能を中心に見ていきたいと思います。 ※ 今回iOS11以降に焦点を当てた理由として 最新のOSの2世代前までサポートするアプリが多いと個人的には考えており 今年の秋のiOS13バージョンアップ以降は iOS11以降の機能を使用していくことになると思っているからです。 SCNetworkReachability SCNetworkReach

    【Swift, iOS】iOS11以降のNetwork Reachability - Qiita
    saiten
    saiten 2019/07/31
  • TPMS(タイヤ空気圧センサ)とRaspberry Piを繋げて、データを取得する。 - Qiita

    タイトル通り、出来るかも?でしたが、出来たので投稿 スペック上では明記されてない使い方なので、賭けでしたが、 意外と簡単に繋げることが出来ました。 今後何かの参考になればと投稿します。 1.概要 TPMSとは wikipediaより TPMS (タイヤ・プレッシャー・モニタリング・システム Tire Pressure Monitoring System)とは、自動車のタイヤ空気圧を常時モニタリングするシステム。 車のタイヤ空気圧が中途半端に下がったまま高速走行して、 バースト・火事になったり事故になったり、アメリカではかなり問題になった為、装着が義務化 センサーをタイヤホイールに内蔵して随時監視するものです。 メーカーが標準で付けているのが安心ですが、もちろん外付けもあり、 今までは専用の表示器があって、独自の無線通信を使用していたものが多かったのですが、 ここ最近はBluetoothを使

    TPMS(タイヤ空気圧センサ)とRaspberry Piを繋げて、データを取得する。 - Qiita
    saiten
    saiten 2019/07/05
  • SoundAnalysis + Create MLで話者認識 - Qiita

    // ファイル用のアナライザを初期化 let audioFileAnalyzer = try! SNAudioFileAnalyzer(url: url) // MLModelオブジェクトを渡してリクエストを作成 let request = try! SNClassifySoundRequest(mlModel: HogeSoundClassifier().model) // リクエストをアナライザに追加 try! audioFileAnalyzer.add(request, withObserver: self) // 解析開始 audioFileAnalyzer.analyze() 分類結果 SNClassificationResult timeRange: CMTimeRange 処理区間の開始時間・終了時間 classifications: [SNClassification] 各

    SoundAnalysis + Create MLで話者認識 - Qiita
  • 3歳娘「パパ、関数をカリー化して?」 - Qiita

    再就職する前のワイ ワイ「あー、今日は休みやな」 ワイ「いうて昨日も一昨日も休みやったけど」 娘(3歳)「パパ、お絵かきしよ」 ワイ「ええで」 娘「あれ描いて。あの・・・アンパンマ(n」 ワイ「おっとそこまでや」 ワイ「著作権のあるものを言うたらアカン」 ワイ「あれやな?アンパンパーソンのことやな?」 ワイ「描いたるで」 ワイ「チョイチョイチョイ、と」 ワイ「こうやな」 娘「わあ。上手。」 娘「次はパンマ(n」 ワイ「パンパーソンやな?」 ワイ「描いたる描いたる」 ワイ「チョイチョイチョイ、と」 ワイ「こうや」 ワイ「ついでにバイキンパーソンも描いたる」 娘「すごいね。上手だね。」 娘「じゃあ、次は・・・」 娘「カリー化された関数を書いて」 ワイ「(おっと?)」 ワイ「カリー・・・カレーパンパーソンのことかいな?」 娘「ちがう、カリー化された関数書いて」 ワイ「お、おう」 ワイ「分かる

    3歳娘「パパ、関数をカリー化して?」 - Qiita
    saiten
    saiten 2019/04/03
    おもしろい
  • Swift 5.1 に導入される Opaque Result Type とは何か - Qiita

    Swift 5.1 で Opaque Result Type (SE-0244) が導入されます。 Opaque Result Type とは何でしょうか。例を見てみましょう。次のような Animal と Cat があるとします。 protocol Animal { func foo() } struct Cat: Animal { func foo() { print("cat") } } some という新しい言語機能を導入しなくても、 -> some Animal の代わりに -> Cat や -> Animal とすれば既存の言語機能で同じようなことが実現できます。しかし、 -> Cat では、内部実装を過剰に公開している -> Animal では、パフォーマンス上のロスが発生する という問題がありました。これを解決するために、 内部実装を隠蔽しながらパフォーマンスにも影響しない手

    Swift 5.1 に導入される Opaque Result Type とは何か - Qiita
    saiten
    saiten 2019/03/20
  • OBD2とBLEで車速計アプリを作ろう - Qiita

    ドワンゴAdventCalendar 18日目。 若者の車離れが叫ばれて久しい昨今ですが、時代の流れに逆らって昨年車を買いました。もしかしたらもう若者じゃないのかもしれません。 旧型コペンです。丸っこくて屋根が変形します。かわいいですね。 最近はこいつにキャンプ道具積んであちこち行っております。助手席を潰せばオープン状態でもキャンプにいけます。助手席は荷物置き場であって人を載せる場所じゃありません。 さて最近は自動運転とかMaaSとかで大いに賑わってますし、車関連の技術が面白そうだなーと思っているのですが、そういう最新テクノロジーの詰まった車は高いので今回はコペンで遊んでみようと思います。 OBD2とは ここ最近の車には自己診断用にOBD2(On Board Diagnosis 2nd generation)というポートが付いており、ここから車速やガソリン残量といった車に関する様々なデータ

    OBD2とBLEで車速計アプリを作ろう - Qiita
    saiten
    saiten 2018/12/18
    書きました
  • iOS/Android セキュリティガイドライン - Qiita

    必須: 基的に対応が必要。何らかの要因で対応できない場合は関係者への同意をとる。 できれば:状況的に困難でなければなるべく対応する。 基対応なし:特別な要件がなければ対応しない。 直近修正履歴(2018/11/21) [OS共通] ログ出力の対策にproguardによる方法を追記 [iOS] 通信データのキャッシュの対策に一部問題があったため修正 [OS共通] 通信の暗号化 対応要否:必須 リスクの詳細 HTTPで通信を行うと通信データが平文でネットワークに流れるため、情報漏洩の危険性がある。 対策 通信を行う場合はHTTPS(SSL/TLS)通信を利用する [OS共通] SSL証明書のチェック 対応要否:必須 リスクの詳細 通信やWebViewで行われるSSL証明書の正当性検証を無効化すると、ネットワーク管理者などにより通信経路上のデータ改竄、傍受が可能になる。 対策 試験環境で証明

    iOS/Android セキュリティガイドライン - Qiita
    saiten
    saiten 2018/11/21
  • Kotlin/Native を Android/iOS アプリ開発に導入しよう

    Kotlin/Native が Beta 版になりましたね! Kotlin/Nativeがベータに到達、Kotlin 1.3にバンドル。Win/Mac/iOS/Android/WebAssemblyのバイナリ生成。KotlinConf 2018 - 2018年10月11日 Beta 版リリースの記事が出たばかりですが、私はすでに Kotlin/Native を Android/iOS 両方のアプリに導入してアプリをリリースしています。 Kotlin/Native を導入した経緯などまとめます。 (2018/10/16追記) Kotlin/Native を実際に使いはじめる人向けの記事を書きました → Kotlin/Native Multiplatform プロジェクトAndroid/iOS 向けの共通ライブラリを作る Kotlin/Native を使うまでの経緯 Kotlin/Nati

    Kotlin/Native を Android/iOS アプリ開発に導入しよう
    saiten
    saiten 2018/10/12
  • AudioUnit(iOS)を20個以上用いて「ラウドネス周波数特性補正付き音楽再生アプリ」を独学で造り上げた奮闘記 - Qiita

    副 題 プログラミング素人が、「発想を得て、特許取得からAppリリースに至る6年間の歴史」と「ハイレゾを含むオーディオ技術論と聴覚」を記す。 追加記入 : 2019年12月24日、著者記事へのアクセスは、記事最上部の「Try-Jizy」をクリックするとアクセス可能なリストが表示されます。よって、記事最下部の「著者記事等へのアクセス案内」からこの部分を削除しました。 追加記入 : 2019年12月09日に『AudioUnit(iOS)を20個以上用いて「ラウドネス周波数特性補正付き音楽再生アプリ」を独学で造り上げた奮闘記 [ その後 -2 ]』を投稿しました。 追加記入 : 2019年03月17日、"iOS-12.1"に対応させた"私のApp"を、2019-03-16に"Ver-2.2"としてリリースしました。長いトンネルでした。後日、詳細や顛末を投稿させて頂きます。 A. はじめに これ

    AudioUnit(iOS)を20個以上用いて「ラウドネス周波数特性補正付き音楽再生アプリ」を独学で造り上げた奮闘記 - Qiita
    saiten
    saiten 2018/08/20
  • ReactorKit(Flux + Reactive Programming)を学ぶ1 入門編 - Qiita

    ReactorKitを学ぶシリーズ ReactorKit(Flux + Reactive Programming)を学ぶ1 入門編 ← 今ここ ReactorKit(Flux + Reactive Programming)を学ぶ2 基礎編 ReactorKit(Flux + Reactive Programming)を学ぶ3 実践編 更新履歴 2018-03-28 v0.4.5からv1.1.0に内容を更新 StoryboardViewプロトコルについて追記 サンプルのCounterの解説部分を最新の内容に合わせて更新 2017-06-10 初稿 この記事で学べること ReactorKitの概要 ReactorKitの最低限の実装 ReactorKit/Examples/Counter/の解説 ※ この記事は、ReactorKit v1.1.0を元に書いています。 ReactorKitとは

    ReactorKit(Flux + Reactive Programming)を学ぶ1 入門編 - Qiita
    saiten
    saiten 2018/08/09
  • Swift の Type Erasure の実装パターンの紹介 - Qiita

    Type erasure swift では protocol を使うのが人気です。ある protocol を満たす複数の型があるとき、それらのどれでも代入できる互換性のある型が欲しくなることがあります。そのような型を type erasure と呼びます。互換性のある型に代入するときに、元の型が失われるからです。 この記事では、複数の type erasure の実装パターンを紹介します。 シンプルな protocol 言語機能 existential swift では言語機能として、シンプルな protocol はそのままの型名で existential として使用できます。シンプルというのは、ここでは associated type を持っていない、かつ、 自身の定義に Self 型を使用していないことを指しています。 existential というのは存在型とも呼び、ある proto

    Swift の Type Erasure の実装パターンの紹介 - Qiita
    saiten
    saiten 2018/08/08
    Type Erasure
  • Swift4.2のRandom APIについて - Qiita

    この記事はSwift Tweets 2018 Summerで発表したLTのもうちょっと踏み込んだになります。 まだ変更の多い部分ですので、最新情報はswiftリポジトリをご参照ください。 Swift4.2にて導入されるRandom APIについて なぜRandom APIが必要だったのか iOS/macOS開発の場合、これまではarc4random_uniformを使っていたと思います。 ところで、クロスプラットフォーム開発にて乱択アルゴリズムを使いたい〜等となると、Linux環境にはarc4random_uniformが存在しないため自分で用意する必要があります。 Linux環境向けの実装として、下請けにはrandomやrand 等が使えますが、これらはUpper Boundをとらない関数になっています。 arc4random_uniformに合わせるために引数upperBoundで剰余

    Swift4.2のRandom APIについて - Qiita
    saiten
    saiten 2018/07/20
  • なぜSwiftのプロトコルはジェネリクスをサポートしないのか - Qiita

    Swift のプロトコルは、 Java や C# などのインタフェースのようなものと説明されることが多いですが、いくつかの違いがあります。最も大きな違いの一つが、 Swift のプロトコルはジェネリクスをサポートしていないということです。 Sequence プロトコルを例にして説明します。 Swift では、 Sequence プロトコルに適合した型は for 文で要素を取り出すことができます。 // Array は Sequence に適合 let array: Array<Int> = [2, 3, 5] for element in array { print(element) } struct Array<Element> はジェネリクスによって型パラメータを持ちますが、 Sequence は protocol Sequence<Element> のように宣言されているわけではあり

    なぜSwiftのプロトコルはジェネリクスをサポートしないのか - Qiita
    saiten
    saiten 2018/07/18
  • TypeScript 3.0.0-RC 変更点 - Qiita

    こんにちはメルペイ社な@vvakameです。 TypeScript 3.0 RCがアナウンスされました。 What's new in TypeScriptも更新されているようです。 破壊的変更もあるよ! この辺に僕が試した時のコードを投げてあります。 変更点まとめ プロジェクト間の参照のサポート Support for project references/composite projects 2 3 4 5 6 monorepo的構造の中で過ごしやすくなったっぽいですね compilerOptions.composite と references がtsconfig.jsonに追加 依存先プロジェクトの型が変わるような変更があったら適当にビルドしてくれる --build, -b の追加 実質 --build はサブコマンドみたいな感じのようだ --verbose, --dry, --cl

    TypeScript 3.0.0-RC 変更点 - Qiita
    saiten
    saiten 2018/07/16