Photo by Hush Naidoo Jade Photography on Unsplash「一般的なモバイルアプリ」の設計全般において、特に何に気を付ける必要があるか、あるいは逆にあまり気にしてなくても良いのではと思うことなどを述べていきます。 (…のつもりでしたが、後者含めると1記事に収めるの困難で、最後にさらっと触れつつ別記事で手厚く書きたいところです🤔) ここでの「一般的なモバイルアプリ」は規模観点では以下程度のイメージですが、それを超えるような規模でも通ずる内容も多いと思っています。 コード量: 数万〜十数万行実装者: 一桁人種類としては(スマホ向けの)クライアントアプリコードであり、以下などではないです。 パッケージ・ライブラリではないサーバーサイドではないこの種類によって適切な組み方はけっこう変わり、アプリコードは依存関係の末端側(基本的に依存される側にはならない)な
この記事は,インフラデータチャレンジ(IDC2018)における作品応募に向けた 提供データの特徴や活用方法のヒントについて,実行委員等がリレー形式で紹介 するものです.今回は,Django Girlsの榎本さんにインフラデータチャレンジのデータセットとして提供されている「水難事故データ(河川財団)」を使ったチュートリアルをご紹介いただきます. 募集要項等は,Webサイトをご覧ください http://jsce-idc.jp/ GISで分析したり可視化したものを、Webアプリケーションにして発信したい!と思い、Python製WebフレームワークのDjangoを使ってみました。 Django Girlsの榎本です。「Django Girls」は、PythonのWebアプリケーションフレームワーク"Django"(ジャンゴ) を使って、女性を対象とした初心者向けプログラミング講座を実施しています。
Everyone has heard that interactive applications can be decomposed into three parts: model, view, and controller. Anyone who has given Flutter a test drive will be familiar with its react-style support for building view/controllers with widgets and callbacks. Everyone does not seem to be so clear on how Flutter supports the “model” part of MVC. A Flutter application’s model represents its persiste
To sign a user into your app, you first get authentication credentials from the user. These credentials can be the user… 以下、5ステップに渡って順に説明していきます。主にiOSアプリ・自前APIサーバーの組み合わせ前提ですが、それ以外の構成とする場合でも参考になるはずです。 1. クライアントでFirebase Authenticationのtoken取得認証方法は、以下に対応しています。 GoogleFacebookTwitterGitHubメール電話番号メール認証では確認メール送信、電話番号認証は認証コード発行部分までFirebase側でやってくれて、すごく良くできています👏 また、匿名認証も対応しているので、アプリをインストール・起動するだけでユーザー操作なしで
Localization is the process of making your app support other languages. In many cases, you make your app with English user interface first and then localize the app to other languages such as Japanese. The process of localization is tedious, and steps of it change little by little as XCode gets updated. In this blog post I am going to explain the whole steps based on the latest XCode which is XCod
それは無理ですSwiftでは、associatedtypeがあるprotocolにはキャストできません。 こんにちは。FiNCのiOSチームで開発をしているtakasekといいます。Swiftの型の話をします。 どういうことSwiftのprotocolは、associatedtypeがない場合に限り、存在型(そのprotocolと同じメンバを持つ具体型)として扱うことができます。(追記: 正確には「associatedtypeがない、かつ var hoge: SelfのようなSelfを使うメンバもない場合に限り」です。ご指摘感謝) しかしprotocolがassociatedtypeを持つ場合、型の構造が静的に定まりません。型情報を抽象的に扱う必要があるので、統一的に処理する場合genericなfuncを通さなくてはなりません。 protocol Animal { associatedty
In a previous post, we explored some common strategies to achieve smooth scrolling in our iOS mobile apps. The main goal of applying those strategies was to avoid choppy scrolling, a common issue that negatively affects the user experience. To help developers with such a task, Apple made some very useful changes to UICollectionView in iOS10. But before reviewing this newly introduced functionality
対応の比較動画 (体感2倍)エウレカ iOS エンジニアの muukii (Twitter) です🥃 私が開発を担当しているPairs Global (Pairsの海外向けアプリ)はアプリの起動がとても遅いのです。 一体なぜなのか。 OSはアプリを起動してAppDelegate (厳密にはmain関数)が呼び出されるまでには様々な処理を行います。 この部分の処理を最適化することでアプリが起動していない状態からの起動の高速化が期待できます。 アプリ起動高速化のための前置き (長め)まず、用語について、厳密には FrameworkとLibaryは異なるものですが、性質は近いので本記事では次のように用語を用います。 Static Framework または Static Libraryを まとめて 「Static Framework」と呼びます Dynamic Framework または Dy
Google製、モバイル・ウェブ・サーバー開発に対応したCloud Firestoreを使いこなすための勘所をつらつらと書いていきます。パート1の本記事ではFirestoreの全体観を掴んでいただけたらと思います。 Cloud Firestoreは、Firebaseのサービス群の1つという捉え方と、GCP(Google Cloud Platform)のサービス群の1つという捉え方がありますが、本記事ではFirebase経由で使うことを前提に書いていきます。Cloud Functionsなど関連サービスとして言及するものも同様です。Firebaseはざっくり言うとGCPのクライアントアプリ向けサービスを使いやすく提供しているラッパーサービスなので、それで足りるものはFirebase経由での利用をお勧めします。 ドキュメントも次のように2箇所にあるのですが、Firebase経由で使う場合は基本
Kali linuxを使って無線LAN/Wifiでホワイトハッキング/ペネトレーションテストをする時には、モニターモード/インジェクションの機能が付いたWifiアダプターが必要だ。ノートブック内蔵/マザーボード内臓のWifiアダプターはモニターモードの機能はない。Kaliで使うのに、便利なのは、USBタイプのWifiアダプターだ。検索するとKaliで利用可能なモデルやチップセットの情報がたくさん落ちている(が、まとめサイトはないし、相性でうまくいかない時もよくある)。 モニターモードの状態のWifiアダプターにできること。 周りのWifiネットワークのSSIDや、そこにつないでいるクライアントデバイス情報を取得する行き来しているデータ/パケットを読み、ファイルに落とし、Wifiネットワークのパスワードのクラッキングするためのパケット解析につかうARP(MACアドレスとIPのマッピングテーブ
今回は、すこし古いタイプの無線LAN(Wifi)ネットワークの暗号化タイプであるWEP方式のWifi環境をラボ環境としてつくり、そして自分でハッキングしてみよう。これをする事により、Wifiネットワークの暗号化にWEPを使う気は、完全に無くなるだろう。 しかしながら、WEP暗号が使えるWifiルーター(無線LAN親機)を買う時には、気を付けないといけない。なぜなら、さっと検索してもWEP暗号ができないWifiルーターが最近は、多くなってきたからだ。(自分も間違ってWEPが使えないWifiルーターを買ってしまった。) 多分、セキュリティ的に危ない典型的なケースは、何年も前、WEPの脆弱性があまり知られてない時代にWifiルーターをWEP暗号方式を自宅でセットアップ、今でも、引き続き安定して使えている場合だ。特にセキュリティに詳しくないとか、あまり気にしてない場合、新しいルーターに変える機会は
In Part 1 of this series, we went through a workflow where we processed a 3D model, created an AR project in Xcode, started an AR session and put our model in our augmented scene. In this post, we’ll begin putting our model in action, using a variety of SceneKit methods, and begin interacting with the objects in our world. The project for this post can be found at https://github.com/AbovegroundDan
While augmented reality has been a technology that has been around for many years, and increasing in accuracy for target-based experiences, the popularity of games such as Pokémon GO and the release of ARKit by Apple and AR Core by Google for Android have now brought AR to the hands of most consumers. With the ability to have target-less AR that is cognizant of the world surrounding you, we have t
SwiftでURLSessionのdataTask関数を使ってサーバー上のデータを取得する際にHTTPレスポンスコードを取得する必要があったのでそのメモ。 URLSessionのdataTaskでHTTPレスポンスコードの取り方dataTaskの完了Closureに渡される URLResponse を HTTPURLResponseにキャストして、statusCodeプロパティを参照する。 let url:URL = URL(string: "http://127.0.0.1:8080/sample.json")! let task = URLSession.shared.dataTask(with: url){ data, response, error in if let error = error{ print(error.localizedDescription) return }
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く