タグ

ブックマーク / cflat-inc.hatenablog.com (6)

  • Javascriptを使ってiOSのWebViewからネイティブにデータを返そう - 株式会社CFlatの明後日スタイルのブログ

    Swift使っていますか?弊社ではまだほとんど使っていません。今日もObjective-Cの話題です。 iOSアプリを作るとき、すでにWeb版で実装されている機能をiOSでもそのまま使いたいがためにUIWebViewを使うということがあると思います(あると言ったらある)。そしてアプリケーションが複雑になってくるとそのUIWebViewとデータのやりとりをしたくなってくることがあるわけです。iOSからWebViewにデータを渡すのは比較的簡単で、シンプルな場合はURLにパラメータをつけてGETリクエストを投げてあげれば目的は達成できます。 逆にWebViewからデータをiOS側に戻すときが少々ややこしくなります。WebViewからiOSにPUSH的にデータを渡すことはほぼできないと思われるので、このケースではiOS側からデータを取りにいかなければいけません。 幸い、WebViewには読み込み

    Javascriptを使ってiOSのWebViewからネイティブにデータを返そう - 株式会社CFlatの明後日スタイルのブログ
    yuiseki
    yuiseki 2014/10/21
  • 問.Cでオブジェクト指向プログラミングを行なえ - 株式会社CFlatの明後日スタイルのブログ

    問.Cでオブジェクト指向プログラミングを行なえ。ただし「オブジェクト指向プログラミング」とは、次のような特徴を持つプログラミング技法であるものとする: オブジェクトの実装はオブジェクトのユーザーからは隠蔽される(カプセル化/隠蔽) 同一型のオブジェクトと同一メソッドを与えた時、実際のメソッドの動作はオブジェクトの内容により変化する(ポリモーフィズム/多態性) なお、ユーザーが既存のオブジェクトをカスタマイズして新たなオブジェクトを作成する機能は、必要ないものとする。 この問いの狙い よく、「オブジェクト指向プログラミング」と「オブジェクト指向言語」は混同されます。が、前者はプログラムを設計する上での考え方で、後者はその考え方を容易にソースコードに書けるような仕様になっている言語の事で、全く違うものを指しています。 その証拠を示すため、「非オブジェクト指向言語」たるC言語で「オブジェクト指向

    問.Cでオブジェクト指向プログラミングを行なえ - 株式会社CFlatの明後日スタイルのブログ
    yuiseki
    yuiseki 2014/10/20
  • 60分で始めるiOSアプリのUI自動テスト - 株式会社CFlatの明後日スタイルのブログ

    iOSのアプリケーションではモデル周りのテストと同じぐらいUI周りのテストが重要な気がするのですが、画面のテストってちょっと面倒ですよね。その上Xcode標準のテストフレームワークでは画面遷移などのテストができません。そこで、統合テスト用のテストフレームワークを使う必要がでてきます。 選択肢はいくつかありますが、使い方がシンプルで導入も容易なKIF Frameworkを紹介します。 KIF Framework GitHub - kif-framework/KIF: Keep It Functional - An iOS Functional Testing Framework KIFは決済サービスSquareが自社アプリケーションの統合テストのために開発したフレームワークだそうです。KIFを使ったテストではボタンをタップして画面遷移したり、画面遷移した先のUIの存在を確認したりといったこと

    60分で始めるiOSアプリのUI自動テスト - 株式会社CFlatの明後日スタイルのブログ
  • KVO(key value observing, キー値監視)について - 株式会社CFlatの明後日スタイルのブログ

    今回は便利なKVOについて紹介します。 KVOはKVC(key value coding)とペアになって使われるもので、特定のオブジェクトのプロパティが変化したことを 監視する場合などに使います。 私も言葉は聞いたことがありましたが使う機会がありませんでした。今回実際に使用す る機会があり、とても便利だと感じたので紹介したいと思います。 使用したのは次のような状況です。 AVFundationを使用してカメラアプリを作成していたのですが、デフォルトのカメラアプリ と同じようにピント合わせと同時に枠線を表示する必要が出て来ました。 UIImagePickerControllerを使えば枠線が自動で出るのですが、AVFundationを使っているので自分で 枠線を表示し、さらにピントがあったタイミングで枠線を非表示するにする必要があります。 ピントの情報は、AVCaptureDeviceクラス

    KVO(key value observing, キー値監視)について - 株式会社CFlatの明後日スタイルのブログ
  • 全宇宙の素粒子の数を超えて…C++で巨大数に挑戦! - 株式会社CFlatの明後日スタイルのブログ

    早速ですが、ブログ開設1周年を記念して、C++で、巨大数の計算を行なってみたいと思います。 といっても今回は、多倍長整数、いわゆるBigIntとかそういう話ではなく、巨大数を表現するための表記……具体的には「コーンウェイのチェーン表記」の話です。 ちなみに、ちょっとした式を計算しようと思っただけでもBigIntはおろか、全宇宙の素粒子を使っても到底表現できないほどの値になりますので、実用性は皆無。 コーンウェイのチェーン表記とは まず、コーンウェイのチェーン表記とは何か、Wikipediaを見てみましょう。 タワー表記の拡張による。まず、3つ組の場合を定義する。0でない自然数 a, b, c について 次に、2つ組の場合を定義する。2つ組の場合は次のように単純な累乗と定めるものとする。 4つ以上の0でない自然数を連ねて書いたときは、以下の規則によって変形できるものとする。 チェーンの数の

    yuiseki
    yuiseki 2013/11/13
  • Blenderの物理シミュレーションをpythonスクリプトで作成 - 株式会社CFlatの明後日スタイルのブログ

    こんにちは、株式会社CFlatです。 この動画が面白かったので、似たような動画をpythonスクリプトで作ってみることにしました。 環境はmac+Blender2.66以上ですが、windowsでも下にあるpythonファイルを使えば簡単に実行できると思います。 ターミナルでBlenderを起動する pythonスクリプトはBlender起動中にも実行できますが、今回はターミナルから実行したいと思います。 ターミナルでBlenderを起動するには下記のようなaliasを.bash_profileに設定しておくと便利です。 alias blender='/Applications/blender/blender.app/contents/MacOS/blender'.bash_profileを変更した後は"source .bash_profile"を一度入力して下さい。以降は"blender

    Blenderの物理シミュレーションをpythonスクリプトで作成 - 株式会社CFlatの明後日スタイルのブログ
    yuiseki
    yuiseki 2013/07/03
  • 1