はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    猛暑に注意を

『kakakazuma.hatenablog.com』

  • 人気
  • 新着
  • すべて
  • iOS/Androidの同時開発を高速化する設計手法について - サナギわさわさ.json

    19 users

    kakakazuma.hatenablog.com

    明けましておめでとうございます。今年もよろしくお願い致します。 弊社では現在abceed analyticsというアプリを開発していますが、iOS/Androidのアプリを両方作る際の開発工数を削減したいというのは人類共通の課題かと思います。 そこで今回は、弊社がアプリ開発を高速化するために採用している手法・技術スタックについて簡単に書きます。 なお、React Native / Xamarin / Cordova などのクロスプラットフォーム系フレームワークについては触れません。あくまでネイティブで開発する際の手法ですのでご了承ください。 前提となる考え方 弊社では、iOS/Androidで新機能を同時にリリースすることは行なっておりません。多くの場合先行してiOS版で新機能をリリースし、遅れてAndroid版をリリースしています。 同時リリースを行なっていない理由は主に2つあります。

    • テクノロジー
    • 2018/01/10 14:28
    • iOS
    • android
    • Swift
    • Kotlin
    • あとで読む
    • BDD(振る舞い駆動開発)に則った自動テストでiOSアプリの開発速度を高める - サナギわさわさ.json

      8 users

      kakakazuma.hatenablog.com

      この記事はiOS2 Advent Calendar 2017の8日目の記事です。 私事で恐縮ですが数ヶ月前に株式会社Globeeという会社のCTOに就任しまして、今はabceed analyticsという教育系アプリを開発しています。前職ではHadoop系を活用したログ収集基盤やログ解析基盤を担当していたので分野的には割と大きく変わりました。 さて、弊社のような小規模なスタートアップでは開発速度が重視されるため、自動テストがどうしても疎かになりがちです。 しかし個人的には小規模なスタートアップであっても、いけると思ったプロダクトならテストコードは書くべきだと考えています。理由はシンプルで、テストコードを書いた方が長期的に見て開発速度が上がるからです。 というわけで今回は弊社開発のアプリに自動テストを導入した時の考え方について話します。「うちはこうしている」などのアドバイス・ツッコミがありま

      • テクノロジー
      • 2017/12/08 17:42
      • 独断と偏見で選ぶHDFSのファイル形式 - サナギわさわさ.json

        8 users

        kakakazuma.hatenablog.com

        HDFSのファイル形式を何にすべきか、というのはRPGの主人公の名前を何にすべきか、と同じぐらい皆さん悩まれるかと思います。 ご多分に漏れず僕も悩みましたので、調べた事をまとめておきます。 なお先に結論だけ言っておきますと、大体のケースではORCをZlib圧縮して使っておけば良いんじゃないかなと考えています。マサカリは歓迎です。 ※201701/21追記 EMR5.0以降ではHive + ORCで遅くなるケースがあるとのアドバイスをAWSのサポートの方から伺いました。EMRを使っている方はParquetとの速度比較をしてみたほうが良いかもしれません。 ファイル形式の候補 ファイル形式の候補としては大体以下が挙げられます。 ORC Apache Parquet Apache Avro SequenceFile TextFile 各形式の特徴 それぞれのファイル形式の詳細な説明はここではせず、

        • 暮らし
        • 2016/11/28 02:08
        • HDFS
        • ORC
        • Parquet
        • Elasticsearch実運用時の注意点とアンチパターンまとめ - サナギわさわさ.json

          76 users

          kakakazuma.hatenablog.com

          Elasticsearch実運用時に個人的に気をつけている点をまとめました。 自分でも整理できていない部分がありますので、間違っている点・追加した方が良い点などありましたら教えていただけると非常に助かります。 目次 目次 インデックス・スキーマ設定 スキーマを事前に定義しておく _allの使用は必要な時のみ行う 部分一致検索をしないstringフィールドにはnot_analyzedをつける doc_value:trueをつける できるだけエイリアスを使う 必要に応じてルーティングを行う 本体の設定 ヒープメモリを適切に設定する スワップしないように設定 スプリットブレイン対策を行う field data cacheに上限を与える 検索高速化 Warmerを登録する queryとfilterを使い分ける filterのキャッシュ設定を使い分ける 必要無いフィールドは検索の際に取得しない イン

          • テクノロジー
          • 2016/07/19 10:29
          • elasticsearch
          • performance
          • 運用
          • doc
          • あとで読む
          • 技術
          • 設定
          • Swift2のProtocol Extensionsとクラス継承を比較する - サナギわさわさ.json

            9 users

            kakakazuma.hatenablog.com

            プログラムを書く時はできるだけ頭を使いたくないので、当然コードもできるだけ共通化して使いまわしたいわけです。 今まで自分はiOS開発ではクラス継承を使って処理の共通化を行っていたのですが、Swift2ではProtocol Extensionsを使って処理の共通化を行うのが良いらしいので、今回はそれについて調べてみました。 TL;DR クラス継承で処理を共通化していた時は仕様変更のたびに親クラスが肥大化したり、子クラスの挙動が親クラスに依存して分かりにくくなったりするのが辛かったが、Protocol Extensionsでは複数のProtocolを使って実装を共通化できるので見通しが良くなりそう 逆にSwift2でProtocol Extensionsよりクラス継承を使うべきケースを知りたい(誰か教えてください) Protocol Extensionsの概要 SwiftのProtocolとは

            • テクノロジー
            • 2016/05/09 09:21
            • Swift
            • あとで読む
            • Vagrant上のUbuntuでTorch7のCPU開発環境を作る - サナギわさわさ.json

              3 users

              kakakazuma.hatenablog.com

              男もすなるTorch7といふものを、女もしてみむとてするなり。 まずはVagrant上にUbuntuを立てて開発環境を作ります。 Vagrant上ではGPUは使えませんが、あくまで体験版という事で。あと私は男です。 インストール〜開発環境構築まで UbuntuのVagrantを作成してログイン $ vagrant box add ubuntu-14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box $ vagrant init ubuntu-14.04 $ vagrant up $ vagrant ssh Torchのインストール 続いてTorchのインストールを行います。 不明点あればhttp://torch.ch/docs/ge

              • テクノロジー
              • 2016/05/02 08:35
              • Apache Sparkについてのメモ - サナギわさわさ.json

                3 users

                kakakazuma.hatenablog.com

                大規模バッチ処理が必要になったので、名前だけ聞いた事はあっても詳細を知らなかったApache Sparkについて簡単に調べました。 参考サイト http://spark.apache.org/talks/overview.pdf Apache Sparkってどんなものか見てみる(その1 - 夢とガラクタの集積場 Resilient Distributed Datasetsに関する論文まとめ(1章〜5章 - 夢とガラクタの集積場 spark_rdd.md · GitHub Apache Spark インメモリな分散データ処理プラットフォーム データをメモリに保持するため、ストレージから入力を受けストレージに出力するMapReduceと比較して、機械学習やグラフ描画などの同じデータを繰り返し用いるジョブに対して強い 初回ロード時は重くなるが、それ以降はメモリ上から読み込むためHadoopより速

                • テクノロジー
                • 2016/04/26 06:09
                • spark
                • ElasticSearchのfield data cacheについて - サナギわさわさ.json

                  9 users

                  kakakazuma.hatenablog.com

                  ElasticSearchをしばらく運用してみて、いくつかノウハウがたまってきたので残しておきます。 Solrを使う事が多かったので最初は慣れなかったんですが、公式のドキュメントがSolrより充実しているしクエリがJsonベースで組みやすいので結構使いやすい気がしてきました。 今回はfield data cacheについてです。余裕ある人は公式サイト見た方が色々詳しいと思います。 https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-fielddata.html field data cacheとは ElasticSearchでは、各fieldのデータをメモリに載せることで検索を高速化しています。これをfield data cacheと呼びます。SortやAggregation(集計)を高

                  • テクノロジー
                  • 2016/04/18 14:30
                  • elasticsearch
                  • PlayFrameworkをただの静的型付けMVCだと思って本番稼動させると死ぬ - サナギわさわさ.json

                    284 users

                    kakakazuma.hatenablog.com

                    (3/15 : タイトル修正しました。wは小文字ですね、すみません・・・) PlayFrameworkが流行り始めてから割と経ちますので、そろそろ正式採用しようと考える方も多いのではないかと思います。 強力な静的型付けで守られたPlayは、ミッションクリティカルなシステムや数万行を超える大規模システムの構築に特に向いているような気がします。 また、Servletを使っていないのに加えてMVC構造がベースなので、今までRailsなどで開発をしていた人でもシームレスに移行できると思います。 しかし、忘れてはならないのがPlayのアーキテクチャが全ての処理が非同期で行われることを前提としているという事です。 ここを忘れてPlayをただの強力な静的型付けで守られたMVCフレームワークとだけ考えて開発を進めてしまうと、本番環境で稼動させた時にパフォーマンスが上がらずに困ることになるかもしれません。今

                    • テクノロジー
                    • 2016/03/09 11:49
                    • playframework
                    • play
                    • scala
                    • framework
                    • java
                    • パフォーマンス
                    • mvc
                    • フレームワーク
                    • あとで読む
                    • アーキテクチャ
                    • Play2のPromiseと非同期処理について調査した - サナギわさわさ.json

                      11 users

                      kakakazuma.hatenablog.com

                      PlayFrameWorkはイベント駆動型を基本としているため、全ての処理は非同期で実行される事が前提となっています。 これによって単一スレッドで複数のリクエストを捌く事ができます。 非同期のHTTP呼び出しを実現するPlay WS APIを使って外部のWebサイトにアクセスするコードを例にして、非同期処理でクライアントからのリクエストがどう扱われるか見てみます。 非同期処理でのリクエスト挙動 非同期で外部Webサイトにアクセスするコントローラ public class TestController extends Controller { public static F.Promise<Result> nonBlockingUrlAccess() { final String uniqueId = UUID.randomUUID().toString(); Logger.debug("r

                      • テクノロジー
                      • 2016/03/08 09:26
                      • playframework
                      • あとで読む
                      • Sparkでjarファイルからプログラムを実行する - サナギわさわさ.json

                        3 users

                        kakakazuma.hatenablog.com

                        前回 でSparkの擬似分散環境構築とインタラクティブシェル上からのプログラム実行まで行ったので、今回はjarファイルからのプログラム実行を行います。 環境 CentOS6.6 CDH 5 IntelliJ IDEA 14 参考サイト http://qiita.com/imaifactory/items/823caa33639196f5459a http://kubotti.hatenablog.com/entry/2015/10/02/160104 Sparkアプリケーションの開発環境構築 SparkはIntelliJでの開発が推奨らしいので、今回はIntelliJを使います。IntelliJのインストール及びSBTプラグインのインストールは省略します。 SBTプロジェクト作成 File->New->Project SBTを選択 sbt-assemblyのインストール SparkでJAR

                        • テクノロジー
                        • 2016/02/19 01:15
                        • ElasticSearchの良く使うcurlコマンドまとめ - サナギわさわさ.json

                          12 users

                          kakakazuma.hatenablog.com

                          ElasticSearchの良く使うcurlコマンドをまとめました。良かったら使ってください。 コマンドの詳細な説明は書いていませんが、キーワードで調べればすぐ分かるかと思います。 データ投入系 スキーマの登録 curl -XPOST http://localhost:9200/testindex -d @mapper.json スキーマの追加 curl -XPUT 'http://localhost:9200/testindex/_mapping/test' -d ' { "properties" : { "huga" : { "type" : "long" }, "hoge" : { "type" : "string" } } }' スキーマの確認 http://localhost:9200/testindex/_mapping?pretty データの登録 curl -XPOST ht

                          • テクノロジー
                          • 2016/02/06 21:29
                          • elasticsearch
                          • あとで読む
                          • ElasticSearchのインデクシングを高速化する - サナギわさわさ.json

                            18 users

                            kakakazuma.hatenablog.com

                            諸事情でElasticSearchの事ばっかり書いてますが、Solrの方が好きです。 ElasticSearchのインデクシングを高速化するためにやった事を残しておきます。 基本的には↓に書いてあることばかりです。 Performance Considerations for Elasticsearch Indexing | Elastic データ投入方法 データの投入にはBulk APIを使います。 なお、公式では1つのbulk Importのサイズは5~15MBにすることを推奨しています。 curl -XPOST http://localhost:9200/_bulk --data-binary @databatch.json >/dev/null メモリ関係 ES_HEAP_SIZEに実メモリの半分程度を割り当て、mlockall:trueでElasticSearchのメモリがスワッ

                            • テクノロジー
                            • 2015/06/22 12:13
                            • elasticsearch
                            • 開発
                            • 設定
                            • DB
                            • programming
                            • tips
                            • Solr4.1からSolr5に移行する際の注意点 - サナギわさわさ.json

                              3 users

                              kakakazuma.hatenablog.com

                              プロ野球が開幕しました。ヤクルトスワローズが延長戦で勝利するという奇跡を目の当たりにしたので昨日からずっとニヤついています。 今回はSolr4.1からSolr5にデータ移行をした際に自分が少しはまった点を参考として残しておきます。 pint,sintは使えない 古いバージョンとの互換性を保つために残っていたpint,sintがSolr5.0では使えなくなりました。schema.xmlにその型が残っている場合は削除し、代わりにTrieIntFiled(普通のintで問題無い)を使いましょう。double,float,long,dateも同様です。 enablePositionIncrementsは使えない schema.xmlでのフィルター定義の際に、今までなら <filter class="solr.KuromojiPartOfSpeechStopFilterFactory" tags="

                              • テクノロジー
                              • 2015/06/05 15:41
                              • solr
                              • CentOS7でphpMyAdminに403 forbiddenを出され続けた話 - サナギわさわさ.json

                                5 users

                                kakakazuma.hatenablog.com

                                こんなしょうもない事で1時間ぐらいはまってました。 CentOS7で開発環境を作っていてphpMyAdminを外部からアクセス可能にしようと思い/etc/httpd/conf.d/phpMyAdmin.confを Order Deny,Allow #Deny from All Allow from All と変更してapacheを再起動したのですが、外部からアクセスすると「403 forbidden」と出てアクセスできませんでした。apacheのerror.logを見ても、client denied by server configuration: /usr/share/phpMyAdminとあるだけでした。 「phpMyAdmin forbidden」みたいなちょっと残念な検索ワードで調べてみたのですが、案の定「AllowOverride All や Order Allow,Denyを記

                                • テクノロジー
                                • 2015/06/03 10:31
                                • CentOS7にSolr5.0を入れる手順 - サナギわさわさ.json

                                  7 users

                                  kakakazuma.hatenablog.com

                                  ユリ熊嵐面白いですよね。 CentOS7にSolr5.0を入れたので、その時の手順を残しておきます。 まず注意点として、Solr5.0ではJavaは1.7u55以上でないと正常に動きません。更にsolr.xmlの形式が変わっており、Solr4.3以前のものでは動かなくなっていることにも注意してください。 また、5.0ではSolrはスタンドアロンなサーバーアプリケーションとして動作します。今まで通りwar形式で出力してJettyやTomcat上で動かすことも一応できるようですが、推奨はされていません。 サービスインストールから起動確認まで Solr5.0ではinstall_solr_service.shがサービスインストールをやってくれるので、非常に簡単です。 yum install java-1.7.0-openjdk* java -version ※u55以上になっていることを確認 wg

                                  • テクノロジー
                                  • 2015/05/28 00:05
                                  • solr
                                  • ElasticSearchでmlockall:trueが効かない時にチェックすること - サナギわさわさ.json

                                    14 users

                                    kakakazuma.hatenablog.com

                                    ElasticSearchって日本語の情報少なくて辛いです。 今回はmlockall:trueの設定が効かなかった時のチェック項目を残しておきます。 mlockall:trueとは ElasticSearchは公式で「起動時にメモリを確保し、スワップしないようにする」という設定が推奨されています。 ※参照:Configuration まず起動時にメモリを確保するためには、/etc/sysconfig/elasticsearchでES_HEAP_SIZEを設定する必要があります。(公式では実メモリの半分程度、32GBを超えないようにと言ってます) そしてElasticSearchのメモリがスワップしないようにするために、/etc/elasticsearch/elasticsearch.ymlでbootstrap.mlockall: trueを記述する必要があります。 以上の設定をした後でel

                                    • テクノロジー
                                    • 2015/05/08 18:37
                                    • elasticsearch
                                    • Friendly iFrameで広告コードを遅延読み込みする - サナギわさわさ.json

                                      6 users

                                      kakakazuma.hatenablog.com

                                      沙村広明先生の漫画が好きなんですが、その中でも特に「ハルシオンランチ」が好きです。 ストーリーが良く出来ていて簡単に言うと女の子がゲロを吐いて世界が救われる話なんですが、その他にも読むとゲロを吐くことに対する躊躇いが無くなって、飲み過ぎた次の日でも復帰が早くなるというメリットもあります。 WEBサイトにアクセスした際に、広告が表示されてから本文が表示されるとげんなりします。というわけで広告コードを遅延読み込みさせようと思います。 bodyタグの終了直前に広告のスクリプトタグを配置するのが手軽で楽なのですが、その方法では結局window.onloadの発火が遅れてしまうので、Javascriptを多用するサイトだとあまり意味がありません。なので、今回はFriendly iFrameを使って遅延読み込みさせます。 Friendly iFrameとは、親と同一ドメインのiframeを動的に作成し

                                      • テクノロジー
                                      • 2015/04/14 20:07
                                      • JavaScript
                                      • web

                                      このページはまだ
                                      ブックマークされていません

                                      このページを最初にブックマークしてみませんか?

                                      『kakakazuma.hatenablog.com』の新着エントリーを見る

                                      キーボードショートカット一覧

                                      j次のブックマーク

                                      k前のブックマーク

                                      lあとで読む

                                      eコメント一覧を開く

                                      oページを開く

                                      はてなブックマーク

                                      • 総合
                                      • 一般
                                      • 世の中
                                      • 政治と経済
                                      • 暮らし
                                      • 学び
                                      • テクノロジー
                                      • エンタメ
                                      • アニメとゲーム
                                      • おもしろ
                                      • アプリ・拡張機能
                                      • 開発ブログ
                                      • ヘルプ
                                      • お問い合わせ
                                      • ガイドライン
                                      • 利用規約
                                      • プライバシーポリシー
                                      • 利用者情報の外部送信について
                                      • ガイドライン
                                      • 利用規約
                                      • プライバシーポリシー
                                      • 利用者情報の外部送信について

                                      公式Twitter

                                      • 公式アカウント
                                      • ホットエントリー

                                      はてなのサービス

                                      • はてなブログ
                                      • はてなブログPro
                                      • 人力検索はてな
                                      • はてなブログ タグ
                                      • はてなニュース
                                      • ソレドコ
                                      • App Storeからダウンロード
                                      • Google Playで手に入れよう
                                      Copyright © 2005-2025 Hatena. All Rights Reserved.
                                      設定を変更しましたx