2016年11月4日のブックマーク (10件)

  • works

    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “○ 勝者は、常に問題解決に寄与する。 ● 敗者は、常に問題を引き起こす。 ○ 勝者は、常に企画計画を持ち語る。 ● 敗者は、常に言い訳を考える。 ○ 勝者は、常に“引き受けた”と言う。 ● 敗者は、常に“私と関係
  • RDBMSとNoSQLのメリット・デメリットについて

    RDBMSとNoSQLの特徴、メリット・デメリットについて調べたのでそのメモです。今まで言葉の表面的な部分ばかりを見てきていたことを反省中。自分の頭の中にあるキーワードをしっかりと構造化していくように、基礎固めを頑張ります! 🎳 RDBMS概要 1件のデータを複数のフィールドの集合として表現する。データの集合をテーブルで表す ACID属性をもつ => ACID (コンピュータ科学) - Wikipedia 強み* トランザクションによってデータの一貫性を保証 * 正規化(キーに基づいて複数テーブルを連鎖させることでデータ管理) => 更新コストの削減 * SQLを使うことができ、複雑な条件での検索や集計を行う事ができる * 運用実績が豊富で、ノウハウが蓄積されている 弱み(1) データの読み込み部分に関してはレプリケーションによってスケールさせることができる。 一方で、書き込み部分におい

    RDBMSとNoSQLのメリット・デメリットについて
    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “(1) 参照や追加処理が大半のシステムに適している。更新や削除処理が多い仕組みには向かない (2) 複数サーバにデータが分散している場合は、サーバ間の整合性が保証されないケースが多い”
  • [追記あり] Android 開発で気をつけたいこと 〜変数名と Context について〜

    2016年5月27日追記 こんにちは。共同開発部 開発担当の戸澤です。 2012年に書かれた以下の記事内容に関しては、ApplicationContextの使用を推奨する点で不適切であるとご指摘をいただいています。 詳しくは http://ytrino.hatenablog.com/entry/2016/05/26/033936 をご覧ください。 誤解を招かないよう、この追記分ではみなさんのご指摘を踏まえた Context の使い方について追記しています。オリジナル記事は後半に残しています。みなさまのご指摘に感謝します。 Contextの使い方 AndroidにおけるApplicationContextとActivityContextの使い分けについてですが、 Application全体のライフサイクルでcontextに依存する必要がある処理以外は、基的にActivityContextを

    [追記あり] Android 開発で気をつけたいこと 〜変数名と Context について〜
    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “特に理由がない場合は、以下のように this ではなく getApplicationContext を使用する方が無難ですし、メモリリークが起きることを回避することができます。 new Intent(getApplication(), FooActivity.class); ”
  • Android Studio で Unit Test - Qiita

    Android Studioでプロジェクトを作ると、 androidTestが自動的に生成されるので、 Android Studio で Unit Testを試してみました。 準備 public class Sample { //めっちゃ適当ですみません。 public boolean isTest(){ return true; } public boolean isNotTest(){ return false; } } alt + enterで、 Create Testメニューを実行すると、 このようなダイアログが表示されまして、 必要に応じて、setUp/tearDownにチェックを入れます。 またすでに実装されているメソッドの一覧が表示され、 チェックを入れると、自動的にtest用メソッドが追加されます。 OKを押し進めると、 Test用クラスが生成されます。 Test実行 メニ

    Android Studio で Unit Test - Qiita
  • Rubyにインターフェース機能が存在しないわけ - kata0hka’s diary

    2016 - 05 - 23 Rubyにインターフェース機能が存在しないわけ Ruby プログラミング言語 にはインターフェースを定義する機能を持つものが多いが、 Ruby にはそれに準ずるような機能がない。 Ruby がなぜインターフェース機能を備えていないか、経験的になんとなく分かるものの改めて言語化しようとすると難しいもので、文章にして何度も同じことに思考を巡らせないよう明らかにしておく。 *1 他言語ではインターフェースをどのように扱っているか 他言語のインターフェース定義にあたる機能を見てみる。 C言語 のヘッダファイルや、 PHP のinterface 演算子 、Swiftの プロトコル など。 このうち C言語 のヘッダファイルは コンパイラ が必要とするものであるため、除外する。 Swiftの プロトコル Swiftの プロトコル は強力なインターフェース機能である。 例え

    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “まずRubyはコンパイルを必要としない言語であるため、インターフェースによるコンパイル時の型安全性を担保する効果はない。 また、Rubyは言語機能として型システムを持っておらず、クラス構文も「単なる定数とそれに
  • SharedPreferencesの使い方(基礎編) - Qiita

    情報 SharedPreferencesはデバイス内にデータを保存するための仕組みです。 保存されたデータはActivityが終了しても保持されるので、基的にはアプリの設定を保存するために用いられます。 保存できるデータは以下の5つです。 String型 boolean型 int型 long型 float型 インスタンスの取得方法 インスタンスの取得方法には以下の3つのメソッドがあります。 Context#getPreferences(int) Context#getSharedPreferences(String, int) PreferenceManager#getDefaultSharedPreferences(Context) ではそれぞれの使い方について見ていきましょう Context#getPreferences(int)

    SharedPreferencesの使い方(基礎編) - Qiita
    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “SharedPreferencesはデバイス内にデータを保存するための仕組みです。 保存されたデータはActivityが終了しても保持されるので、基本的にはアプリの設定を保存するために用いられます。 保存できるデータは以下の5つです。 S
  • [改訂版]Google Cloud Messaging (GCM) でプッシュ配信する[Android] | DevelopersIO

    Google Cloud Messagingの使い方が少々変わっていたらしい 以前弊社の記事で、 Google Cloud Messaging(以下GCM)のセットアップから使い方について紹介しました。 ※GCMとは、AndroidでPush通知を利用するための仕組みです 最近仕事でGCMを使う機会があり、記事を参考にセットアップしようとしたのですが、 どうやら最近はセットアップ方法が前と少し変わっているみたいだったので、ここにあるサンプルと以前の記事を参考にして、 最近のGCMセットアップ&実装をあらためてやってみます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.9 Eclipse : 4.2 ADT Pluginはインストール済み、GCMを実装するサンプルのAndroidプロジェクトは作成済みとします。 サンプルプログラムの作成 1.API

    [改訂版]Google Cloud Messaging (GCM) でプッシュ配信する[Android] | DevelopersIO
    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “※GCMとは、AndroidでPush通知を利用するための仕組みです 最近仕事でGCMを使う機会があり、記事を参考にセットアップしようとしたのですが、 どうやら最近はセットアップ方法が前と少し変わっているみたいだったので、
  • 基本的なSharedPreferencesの使い方 - Qiita

    SharedPreferenceの基 SharedPreferencesはアプリの設定データをデバイス内に保存するための仕組み。XML形式で保存されます。 (要するにAcitivityが破棄されてもCommitさえされていれば保存されている、ということ) キー・バリュー形式で保存され、主にテキストや数値の保存を得意とします。 (Gsonを使うことで無理やり(?)オブジェクトなどのデータの保存も可能にすることができます。後半に解説) 基的には String int long float boolean を保存します。 インスタンスの取得 まずはインスタンスを取得します。 取得には Context#getSharedPreferences()メソッドを用います。

    基本的なSharedPreferencesの使い方 - Qiita
    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “SharedPreferencesはアプリの設定データをデバイス内に保存するための仕組み。XML形式で保存されます。 (要するにAcitivityが破棄されてもCommitさえされていれば保存されている、ということ) キー・バリュー形式で保存され
  • [ Android ] - これからの「設計」の話をしよう | Recruit Tech Blog

    はじめまして。 6/1より入社いたしましたAndroidエンジニアの釘宮です。よろしくお願いいたします。 今日はAndroidの設計について語ってみようと思います。 その前に 「良い設計とはなにか」という議論が「正義とはなにか」という議論のようにいつまでたっても結論がでないのは、環境やチームメンバのスキルセット、ステークホルダーによって目指すべきゴールが変わるためだと考えます。 つまるところ、設計に正解はありません。 そのため以下で話すことは、「これが設計の正解だ!!」というわけではなくて、「こういう設計の仕方するとうまくいくっぽい」くらいのノリです。 あと、特にMVCとかDDDとか人によって解釈のズレが起きやすいところなどは、冗長になるのを嫌って自分の解釈で言い切っています。ご了承ください。 設計の目的について ハードルが下がったところで、早速。 まず設計の目的ってなんでしょうか? この

    [ Android ] - これからの「設計」の話をしよう | Recruit Tech Blog
    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “MVPはMVCとコンセプト自体は全く同じで、違うのは「Viewで発生するユーザイベントを全てPresenterに移譲する」って謳ってるだけのシロモノくらいの認識でいいです。”
  • Javaのprotectedの意味 – ビットログ

    Javaのアクセス修飾子protectedで少しハマったので、調べた内容をメモしておきます。 通常、protectedと指定されたフィールドやメソッドは「同一package内と、そのクラスを継承したサブクラス内からアクセスできる」と説明されます。私自身も同様の理解だったのですが、次のようなケースで予想外の挙動となりました。 クラスBaseとChildが別のpackageに属する場合、 package base; public class Base { protected void baseMethod() { System.out.println("Base method."); } } package child; import base.Base; public class Child extends Base { public void childMethod(Base base)

    kent-where-the-light-is
    kent-where-the-light-is 2016/11/04
    “通常、protectedと指定されたフィールドやメソッドは「同一package内と、そのクラスを継承したサブクラス内からアクセスできる」と説明されます。私自身も同様の理解だったのですが、次のようなケースで予想外の挙動と