タグ

KinjouJのブックマーク (3,235)

  • BottomNavigationViewを使ってみる - Qiita

    前述の通り、25.0.0以降が必要なので、もろもろ25に上げる必要があります。 実装 ドキュメントにあるやつが、どういう場所に置くことを想定しているのかイマイチ分からなかったので、以下のような感じにしました。 (追記:ドキュメントが間違っているようで、以下のように、 xmlns:app="http://schemas.android.com/apk/res-auto"とapp:menu="@menu/my_navigation_items"を設定する必要があります) (STAR_ZEROさんありがとうございます! ) http://qiita.com/STAR_ZERO/items/e99cd2fa423d54447220 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="h

    BottomNavigationViewを使ってみる - Qiita
  • 非推奨になった Mutation events を Mutation Observers に置き換えよう

    前からDOM3(黒い三連星じゃないよ)で実装されたDOMAttrModifiedや、DOMNodeInsertedをGreasemonkeyスクリプト内で使用していたのだが、これらのMutation eventsが非推奨となってしまったらしい。 じゃあ何を使ったらいいの?ということで、Mutation ObserversというAPIが提供されているらしい。 Mutation Observersの利用方法をまとめてみた。

    非推奨になった Mutation events を Mutation Observers に置き換えよう
  • React + Redux + Firebaseで作るTodo App - Qiita

    最初に 先日、フロントエンジニアが今話題のFirebaseについて語りたいという記事を投稿しました。 予想以上の方にストック頂き、とても嬉しい反面驚きがすごいです。 改めてFirebaseは注目されてるサービスで、サーバーレスアーキテクチャはフロントエンドエンジニア & アプリ開発者の夢なんだなぁと実感しました。 ポエミーで長い記事になってましたが、 設計&具体的な実装については一切触れていなかったので、その辺りを書きたいと思います。 まだまだ勉強中の身のため、ご指摘いただけると幸いです。 アプリ構成 React.js (UI) Redux (データフロー) Firease (ホスティング + データベース) でTodo Appを作りたいと思います。 キモは、 Firebaseのデプロイ データベースと連携 です。 React + Reduxで作るのはスキルセットがそうなのに加えて、Red

    React + Redux + Firebaseで作るTodo App - Qiita
    KinjouJ
    KinjouJ 2016/10/18
  • 【Rails】権限管理のgem「pundit」を使ってみたときのまとめ - blog.waterlow.work

    目的 punditというgemを使う際に「Rubyist Magazine - 権限管理のgem、Punditの紹介」を参考に作ったときのまとめ。 railsにapp/policiesディレクトリって何を入れるのかというところを前回調べたのですが、代表的なものとしてpunditというgemを使うと出て来るというのが代表的な例なようなので、使ってみました。 【Rails】policiesディレクトリの使い方 - ITの勉強をいろいろやってみたブログ るびまを参考にして作ったときに考えていたこと等をまとめてみます。 まとめ ApplicationPolicyのサブクラスの初期化時には、recordではなくclassを渡す rails g pundit:installを実行すると、app/policies/application_policy.rbが作られるのだが、初期実装は以下のようになってい

    【Rails】権限管理のgem「pundit」を使ってみたときのまとめ - blog.waterlow.work
    KinjouJ
    KinjouJ 2016/10/18
  • BottomSheetBehaviorを使う - Qiita

    Support Library 23.2から、Design Support LibraryにBottomSheetが追加されました! http://android-developers.blogspot.jp/2016/02/android-support-library-232.html 今回追加されたBottomSheetではMaterial DesignのガイドラインでいうところのPersistent Bottom SheetsとModal bottom sheetsを使うことが出来ます。 この記事では主にPersistent Bottom Sheets(BottomSheetBehavior)について説明します。 Persistent Bottom Sheets(BottomSheetBehavior) Play Musicやマップアプリで使われているようなBottom Sheet

    BottomSheetBehaviorを使う - Qiita
  • Androidテストハンズオン - Qiita

    これは「DevFest Tokyo 2016 秋のコミュニティ祭り!」の発表資料です。 ハンズオンの内容 DroidKaigi2016のAndroidアプリについてEspressoを使ってUI周りのテストコードを書いていきます。 Step 0:準備編 cloneする https://github.com/cattaka/droidkaigi2016 をcloneします。 Shellからcloneする場合 プロジェクトを開き、ビルドと実行できることを確認する Step 1:テスト用のライブラリを確認する 使用するテスト用のライブラリは次のものです。 JUnit いわずとしれたJava用のユニットテストライブラリです。 Mockito テスト時に各クラスをMock可するためのライブラリです。 具体的には通信処理のように、テスト中に番の動きをされたら困るコンポーネントの動きを差し替えるために

    Androidテストハンズオン - Qiita
  • NavigationViewに区切り線を表示する - Qiita

    はじめに 俺だってMaterialDesignでアプリ作りたいけどiOSにデザインを合わせてくださいと言われる皆さんこんにちは。 NavigationViewとは、Design Support Libraryで新たに追加されたコンポーネントのひとつで、ナビゲーションドロワーをxmlからいいかんじに構成してくれるViewです。このNavigationView、最高にかっこよくて便利なんですけど、困ったことにデザイン面でのカスタマイズはあまり柔軟とは言えず、今回の例だとドロワーの各行間に区切り線を簡単に挿入することができません。 今回の記事は、区切り線を入れたいけどNavigationViewはできれば使いたいし...けどカスタムビューを作るのはちょっと...という方向けの内容になっています。 初期状態 まずAndroid Studioのテンプレートで作成したものがこちらです。 <?xml v

    NavigationViewに区切り線を表示する - Qiita
  • AndroidでJava8を使う(Jackツールチェーン) - tsurutanのつぶやき

    Jackツールチェーン 今回はAndroidJava8を使う方法を紹介したいと思います。 以前までretrolambdaというライブラリーが主流でしたが、Android StudioがアップデートしJackツールチェーンというAndroid StudioでJava8が有効にできる素晴らしいツールが使えるようになり至るところの会社がjackツールチェーンに移行し始めている頃です(多分)。 Jackツールチェーンで扱えるJava8の機能は下記のようになります。 デフォルトおよび静的インターフェースのメソッド ラムダ式 反復アノテーション さらにさらに下記のJava8機能のAPIも使えるようになりました。 リフレクションおよび言語関連の API java.lang.FunctionalInterface java.lang.annotation.Repeatable java.lang.ref

    AndroidでJava8を使う(Jackツールチェーン) - tsurutanのつぶやき
  • アメブロ2016 ~ React/ReduxでつくるIsomorphic web app ~ | CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ

    みなさんこんにちは、サイバーエージェントフロントエンドを中心に開発しています原(@herablog)です。 アメブロでは、2016年9月にフロントエンドJavaベースのアプリから、node.js・Reactベースのアプリへとシステムの移行をおこないました。記事では、その移行へといたる経緯やゴール、システム設計、その結果についてお伝えします。 リリース直後に気づいているツワモノな方もいらっしゃいました。 アメブロのSP版がReactのSSRでフルリニューアルしたのを観測した — hr (@hrloca) 2016年9月1日 システム移行へといたる経緯 2004年から始まり、日国内で最大規模のブログサービスとなったアメブロは、システムの肥大化や多数の関係者が存在したことによるモジュール・導線の急増などの理由により、ページ表示スピードが遅くなり、ページビュー数にも明らかに影響を与えるよう

    アメブロ2016 ~ React/ReduxでつくるIsomorphic web app ~ | CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ
    KinjouJ
    KinjouJ 2016/10/14
  • IE8・9にもFlexboxを対応させる、flexibility.jsがとっても便利!

    2016年1月5日 CSS, JavaScript 昨年からいろんなサイトで続々と実装されてきているFlexbox。従来の方法とは違い、簡単にCSSでレイアウトを組めちゃう素敵技です。しかし、Internet Explorer8や9等の古いブラウザーには対応しておらず、Flexboxを使いたくても使えない…というWeb制作者さんも少なくないはず。そんな悩みを今回の記事で解消します! ↑私が10年以上利用している会計ソフト! Flexboxって何? FlexboxとはFlexible Box Layout Moduleのことで、その名の通りフレキシブルで簡単にレイアウトが組めちゃうボックスです。具体的には主に以下のような事を手軽に実装できます。 CSSを一行プラスするだけで横並びにできる! 横並びになった要素の高さが最初から揃ってる! 要素を上下左右、好きな順序に並び替えられる! スペースの

    IE8・9にもFlexboxを対応させる、flexibility.jsがとっても便利!
    KinjouJ
    KinjouJ 2016/10/12
  • 現在時刻を動的に変更してJUnit実行したい場合の方法 - Qiita

    背景 現在時刻を使った処理のJUnitテストを書きたい ファイルに時刻が埋まっているなど、チェックしたい時刻の変更が面倒 現在時刻から1分以内の処理時間かどうかを判定したい 判定対象となる時刻はファイルに記載されている この状態では、テストケースでファイルを用意してもその瞬間しか使えない。またファイル自体は自動生成するのはコストが高すぎる。 例えば、、、以下はStorm UI REST APIでアクセスできる情報。このcomponentErrors内にあるtimeを現在時刻と比較するようなJUnitの場合、色々と面倒。 { "executors": 1, "componentErrors": [ { "time": 1458203307000, "errorHost": "hostname", "errorPort": 6701, "errorWorkerLogLink": "http:\

    現在時刻を動的に変更してJUnit実行したい場合の方法 - Qiita
    KinjouJ
    KinjouJ 2016/10/08
  • Kotlinのlet/run/applyのよもやま話

    9. let ● .let {}ブロックの中の最後の値が戻り値になる ● そのインスタンス自身がクロージャの引数に なる ● メンバ変数をローカル化するのに使える ● nullableのunwrapに使える ● null-safetyにコードを書く時に超便利 10. let: メンバ変数をローカル化する val name: String? = null override fun onFinishInflate() { this.name?.let { this.user.name = it } } メンバ変数をローカル化出来る 11. let: nullableのunwrapに使う val filePath: String? = null val drawable: Drawable = filePath?.let { // この中はnull-safeになる BitmapDrawable.

    Kotlinのlet/run/applyのよもやま話
  • jBrowserDriver で JavaScript つきスクレイピング - blog.8-p.info

    iKnow をスクレイピングしようとしたら https://iknow.jp/login が派手に JavaScript を使っていた。 仕方がないので Ghost Driver 経由で PhantomJS を呼ぼうと思ったら、最近 Ghost Driver はあまりメンテナンスされていないらしく If you need a better maintained WebDriver implementation, and write your code in Java, why not checkout Machine Publishers’ jBrowserDriver? Tell Dan Hollingsworth I sent you. 代わりに、jBrowserDriver がすすめられていた。jBrowserDriver は A programmable, embedded web

    KinjouJ
    KinjouJ 2016/10/06
  • MySQLを1〜2時間でスケールアウトする - クックパッド開発者ブログ

    最近、Elastic BeanstalkやECSと戦っているSREチームの菅原です。 P5をやりたいのにPS3もPS4も持っていないので指をくわえて羨ましがっている毎日です。 この記事では、突然のアクセス増に備えるために、MySQLのスレーブを1〜2時間でスケールアウトできるようにした話を書きます。 MySQL on EC2 クックパッドは周知の通りAWSを利用していますが、主要なデーターベースについてはAmazon RDSではなくMySQL on EC2を使っています。 これは以下のような理由によるものです。 歴史的な経緯: AWS移行当時、RDSが無かった。また、移行後もしばらくはTritonnを使っていたため、RDSを使うことができなかった オンラインメンテナンスの実現: VPCルートテーブルを使った仮想IPとMHA for MySQLを使ってダウンタイムゼロのマスタDBの切り替えを

    MySQLを1〜2時間でスケールアウトする - クックパッド開発者ブログ
  • Firebaseを使ったAndroidアプリのプッシュ通知 + PHPによるプッシュ送信の実装 - Qiita

    Androidアプリにてアプリ利用者全員に向けたプッシュ通知の実装を行います。 今回の目標 作成したAndroidアプリをインストールしてくれたユーザ全てに対して、PHPで作成した管理画面からプッシュ送信を行います。 メッセージを受信した端末はプッシュ通知受信音を鳴らしながら振動し、通知リストにアプリのアイコンとメッセージが表示され、そこをタップするとアプリが起動するという仕組みを作成したいと思います。 前提知識 FirebaseにはGCM(Google Cloud Messaging)から進化したFCM(Firebase Cloud Messaging)というプッシュ通知用のサービスがあり、ほぼノンプログラムで利用できる"Notificationメッセージ"と、GCMと同じような実装が可能となる"Dataメッセージ"の2種類のプッシュ通知の方法があります。 この2つは全くの別物というワケ

    Firebaseを使ったAndroidアプリのプッシュ通知 + PHPによるプッシュ送信の実装 - Qiita
  • ER図作成のWebアプリwwwsqldesignerが素敵!

    みなさん ER図作成って何使ってます?何か有料で有名なソフトありましたけど何だっけ?思い出せないや。 テーブルの設計書は未だエクセル使われているケース多いと思いますけど、エクセルで設計書作っただけだとテーブル同士のリレーションがわかりにくのでER図、かあさん欲しいです。できれば無料のツールがいいです。 ありました

    ER図作成のWebアプリwwwsqldesignerが素敵!
    KinjouJ
    KinjouJ 2016/09/30
  • HTTPSのWebサーバを設定した (h2o + Let's Encrypt) - はこべにっき ♨

    最近、ハイパフォーマンスブラウザネットワーキングを読んでいて、HTTPSについてちょっと勉強しています。勉強にあたっては、実際に試せる場所があったら便利そうなので、自分のさくらVPSにHTTPSのWebサーバを設置してみることにしました。この次はHTTP2の実験もしたいので、先進的なHTTP2の機能が実装されていそうなh2oを使ってみることにしました。 環境 今回の作業は以下のような環境でやりました。 $ uname -a Linux douzemille 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENA

    HTTPSのWebサーバを設定した (h2o + Let's Encrypt) - はこべにっき ♨
    KinjouJ
    KinjouJ 2016/09/23
  • npmのthrottle-debounceがシンプルで使いやすい

    どうも、イソップです。 JavaScriptの連続処理を間引く方法として、throttleとdebounceが使われるのは有名です。 よく使われるのは、jQueryのthrottle/debounceプラグインや Underscore.js、lodash.jsのthrottle、debounceメソッドを使う事が多いのではないかと思います。 しかし、jQueryを使わない場合や、ライブラリを読み込んでもそのほとんどの機能を使わないとなると、 違う実装方法が欲しいですよね。 そこで見つけたのが、npmに登録されている throttle-debounce です。 CommonJSスタイル(require)で読み込むので、BrowserifyやWebpackなどのモジュールバンドラーを使う際にも使いやすいです。 実際に試して使いやすかったので、今日はthrottle-debounceを紹介したい

    npmのthrottle-debounceがシンプルで使いやすい
    KinjouJ
    KinjouJ 2016/09/22
  • Google Analyticsの情報をダッシュボード「Re:dash」で可視化する - Qiita

    追記 Re:dashのデータソースとしてGoogle Analyticsが正式に追加されるようです。リリースされた暁には、記事にあるような面倒な手順を踏む必要はなくなりそう? re:dashのGoogle Analyticsデータソースを試す 初めに Re:dashはオープンソースで提供されている、ダッシュボードツールです。サーバー構築の手間はかかりますが、超簡単にさまざまなデータソースから、自由にダッシュボードが作れるようになります。 今回は、おなじみGoogle Analyticsの情報を、Re:dashでダッシュボード化する方法を解説します。 追記 twitterを見ていて。 Treasure Dataでは、GAのレポートを突っ込む方法があるようです。 http://blog-jp.treasuredata.com/entry/2016/09/13/163306 Google Bi

    Google Analyticsの情報をダッシュボード「Re:dash」で可視化する - Qiita
    KinjouJ
    KinjouJ 2016/09/21
  • Android TVからテレビを操作できるようにしたら意外と便利だった話 - Qiita

    概要 テレビのリモコンが壊れたので同じやつを買おうとしたら意外と高かったので、Arduinoで自作してAndroid TVから制御できるようにしたら意外と便利だったっていう話です。 一つ一つの技術はかなり枯れているので、何をいまさら…と感じる方もいると思いますが、ハードウェアよりソフトウェアの知識に偏っていた自分的には結構学びがあったのでメモしました。 使ったもの Nexus Player Arduino Uno Rev3 USBケーブル(A-Bケーブル) 秋月に行ったらArduinoとセットで売ってた http://akizukidenshi.com/catalog/g/gM-07385/ USB変換(microBオス - Aメス) ハブになってるやつを持ってます。個人的にはAndroid TVに必須のアイテム。 赤外線LED ブレッドボード(なくてもいい) ジャンプワイヤー×2(なくて

    Android TVからテレビを操作できるようにしたら意外と便利だった話 - Qiita
    KinjouJ
    KinjouJ 2016/09/20