morizyunのブックマーク (515)

  • RSpecの便利な機能Tips

    🍣 RSpecでスタブの作成allowメソッドでスタブ(テストの際、そのモジュールの代わりに用いる代用品)を構築できます。 RSpec.describe "Specifying a return value" do it "returns the specified return value" do dbl = double allow(dbl).to receive(:foo).and_return(14) expect(dbl.foo).to eq(14) end end RSpec.describe "allow_any_instance_of" do it "returns the specified value on any instance of the class" do allow_any_instance_of(Object).to receive(:foo).and_

    RSpecの便利な機能Tips
    morizyun
    morizyun 2017/08/06
    ブログ書きました!
  • Rails 5.1へのアップデート

    Ruby on Rails 5.0系から5.1系へのアップデートに関するTipsです。 🐞 主な変更点yarnのサポートnpmによるJavaScriptのライブラリをyarnで管理できます。これにより、npmで管理されたライブラリを気軽に利用できます。 bin/yarn installでnpmのライブラリをインストールできます。 webpackのサポート(任意)--webpackオプションを付けると、webpackを使ってJSをコンパイルできます。 新規プロジェクトの場合は次のように--webpackをつけると有効になります。

    Rails 5.1へのアップデート
    morizyun
    morizyun 2017/08/02
    ブログ書きました!
  • Scalaのコレクション(Array/List/Map/Vector/Set)

    Scalaのコレクションを表す次のデータ構造の紹介です。 Array => 配列 List => リスト構造 Vector => 追加削除、検索の速度が一定な万能なデータ構造 Map => キーと値のセット Set => 集合 Range => 範囲

    Scalaのコレクション(Array/List/Map/Vector/Set)
    morizyun
    morizyun 2017/07/21
    ブログ書きました!
  • Scalaの基本的な文法

    Scalaの基的な文法についての紹介です。Hello Worldの流れや型の定義、Scala特有の機能を紹介します。

    Scalaの基本的な文法
    morizyun
    morizyun 2017/07/19
    ブログ書きました!
  • Spring FrameworkのControllerの基本的なアノテーション

    JavaのSpring FrameworkのMVCのControllerでよく使う基的なアノテーション@RequestMappingや、@BindingResult、オブジェクトのModelなどを紹介します。 🚕 Controllerの処理対象のパスを指定:@RequestMappingvalue属性Java Spring MVCのControllerの処理対象となるURLを@RequestMappingアノテーションのvalueオプションで指定します。(valueは最初の/は省略できます) // value で処理対象のパスを指定 @RequestMapping(value = "books") // valueだけなら省略可能 @RequestMapping("books") // 複数のパスを指定できる @RequestMapping(value = { "books", "ma

    Spring FrameworkのControllerの基本的なアノテーション
    morizyun
    morizyun 2017/06/22
    ブログ書きました!
  • MyBatis / Javaのオブジェクトの永続化支援

    「mybatis」はJavaオブジェクトとSQLを紐付ける永続化のためのフレームワークです。SQLベースで実装できるため実行するSQLに柔軟性があり、実行SQLの見通しもよく、メンテナンスしやすさを保てるのが特徴です。 buildscript { repositories { mavenCentral() } } apply plugin: 'java' apply plugin: 'eclipse' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile 'org.mybatis:mybatis:3.4.4' compile group: 'postgresql', name: 'postgresql', version: '9.

    MyBatis / Javaのオブジェクトの永続化支援
    morizyun
    morizyun 2017/06/17
    ブログ書きました!
  • Dockerでよく使うコマンドまとめ

    🏀 docker run/start/stop/rm/commitの概念図docker run/start/stop/rm/commitの役割の概念図です。 参考元:Dockerにおけるコンテナのライフサイクル 🍄 docker psdocker psはDockerコンテナの状態を確認するコマンドです。

    Dockerでよく使うコマンドまとめ
    morizyun
    morizyun 2017/06/13
    ブログ書きました!
  • Digdag x Dockerでモダンなバッチ処理環境を構築

    http://morizyun.github.io/digdag/ に入門記事を書きましたのでよければこちらも読んでみてください!

    Digdag x Dockerでモダンなバッチ処理環境を構築
    morizyun
    morizyun 2017/06/10
    LTで発表しました!
  • Digdag x Dockerでモダンなバッチ処理環境を構築

    「DigDag」はTreasure Data製のワークフローエンジンのOSSです。ワークフローエンジンを使うことでバッチ処理の依存関係を明確に定義できたり、ジョブの管理をしやすくなります。また、Dockerと組み合わせることで、言語や環境を自由に選ぶことができます。 🤔 紹介スライド2017/6/9に発表したDigdagの紹介LTのスライドです。Web画面からタスクの実行状況がわかったり、再実行ができたりするのは便利です! 🚕 Digdagの特徴 手動で行っている操作をYAML(.dig) で「ワークフロー」に書いて定義できます 依存関係のある複数のタスクを管理・実行しやすくするためのしくみです タスクが失敗した場合、時間内にワークフローが終了しない場合の通知を行うことができます PostgreSQLだけを維持すればDigdagサーバはいつでも立てたり落としたりできる番環境に優しい設

    Digdag x Dockerでモダンなバッチ処理環境を構築
    morizyun
    morizyun 2017/06/09
    Digdagの入門的なブログ記事書きました & LTで発表してきました!
  • 「Digdag x Dockerでモダンなバッチ処理環境を構築」でLTしました!

    「DigDag」はTreasure Data製のワークフローエンジンのOSSです。ワークフローエンジンを使うことでバッチ処理の依存関係を明確に定義できたり、ジョブの管理をしやすくなります。また、Dockerと組み合わせることで、言語や環境を自由に選ぶことができます。 🏈 紹介スライド2017/6/9に発表したDigdagの紹介LTのスライドです。Web画面からタスクの実行状況がわかったり、再実行ができたりするのは便利です! 🍣 Digdagの特徴 手動で行っている操作をYAML(.dig) で「ワークフロー」に書いて定義できます 依存関係のある複数のタスクを管理・実行しやすくするためのしくみです タスクが失敗した場合、時間内にワークフローが終了しない場合の通知を行うことができます PostgreSQLだけを維持すればDigdagサーバはいつでも立てたり落としたりできる番環境に優しい設

    「Digdag x Dockerでモダンなバッチ処理環境を構築」でLTしました!
    morizyun
    morizyun 2017/06/09
    ブログ書きました!
  • https://morizyun.github.io/blog/java-jackson-json-parse-serialize/

    https://morizyun.github.io/blog/java-jackson-json-parse-serialize/
    morizyun
    morizyun 2017/06/07
    ブログ書きました!
  • Javaのプリミティブ型と参照型

    ローカル変数の場合はデフォルト初期値を持たず、未初期化の変数を使うとコンパイルエラーになります。 😸 参照型と変数の関係参照型では変数はオブジェクトの参照(オブジェクトの位置情報)を持ち、変数の名前でオブジェクトにアクセスできます。 下図は概念図です。 出典:改訂2版 パーフェクトJava 🍣 変数の型とオブジェクトの型の規則変数の型はその変数が参照するオブジェクトに対してどんな操作ができるかを確定します。 オブジェクトの型は呼ばれた先の実際の動作を確定します。 変数とオブジェクトの型が一致していれば、オブジェクトの参照を変数に代入できる 変数が参照するオブジェクトに対して行える操作は変数の型で決まる P型と継承したC型の場合、P型の変数にC型のオブジェクトの参照を代入できる C型のオブジェクトはP型のもつメソッドがあることを保証する 出典:改訂2版 パーフェクトJava 🐰 Nul

    Javaのプリミティブ型と参照型
    morizyun
    morizyun 2017/06/03
    ブログ書きました!
  • Java 8のStream API入門

    Java 8のStream APIについての紹介です。Stream APIではラムダ式を使うのでラムダ式を合わせて説明します。 ラムダ式(Lambda)Javaのラムダ式(Lambda)は、クロージャ(Closure)とも呼ばれています。ラムダ式は「関数型インターフェイス」の実装で使います。 @FunctionalInterface public interface IntFunc { public abstract void func(int x); } IntFunc intFunc1 = new IntFunc() { @Override public int func(int x) { return x + x; } }

    Java 8のStream API入門
    morizyun
    morizyun 2017/06/02
    ブログ書きました!
  • Rails 5.1とBootstrapで作るシンプルな検索機能のテンプレ

    Rails 5.1とTwitter Bootstrapをつかったアプリケーションに検索機能をつけました。個人的忘備録で、手順のメモを書いておきます。

    Rails 5.1とBootstrapで作るシンプルな検索機能のテンプレ
    morizyun
    morizyun 2017/05/31
    ブログ書きました!
  • Lombokの代表的なアノテーション

    Javaの「Lombok」はボイラープレートをシンプルにしてくれるJavaのライブラリです。getter、setter、toString、equalsなどを自動生成してくれます。 🍣 バリデーションnullチェックを自動生成:@NonNull@NonNullでメソッドの引数をアノテートすると、コンパイル時にnullチェックを自動生成してくれます。 public class Main { public static void main(String... args) { method("hoge"); method(null); } private static void method(@NonNull String value) { // valueをnullチェック System.out.println(value); } } 🐯 メソッドの自動生成ゲッター&セッターメソッド:@Ge

    Lombokの代表的なアノテーション
    morizyun
    morizyun 2017/05/30
    ブログ書きました!
  • DockerでSelenium Gridを使う

    Seleniumは、ブラウザのテスト自動化ツールです。 Selenium Gridは、ひとつのテストスクリプトで複数の実機ブラウザでSeleniumのテストを実施できるしくみです。 ここではSelenium GridのHubとNodeを立ち上げるDocker Composeを紹介します。 version: '3' services: hub: image: selenium/hub:3.0.1-carbon ports: - 4444:4444 chrome: image: selenium/node-chrome-debug:3.0.1-carbon ports: - 15900:5900 depends_on: - hub environment: - no_proxy=localhost - HUB_PORT_4444_TCP_ADDR=hub - HUB_PORT_4444_TCP

    DockerでSelenium Gridを使う
    morizyun
    morizyun 2017/05/25
    ブログ書きました!
  • Javaの日付(Date、LocalDateTime)

    import java.util.Date; public class SampleDate { public static void main(String args[]){ //Dateオブジェクトを生成 Date date1 = new Date(); // date1 をコピー Date date2 = (Date) dt.clone(); //Dateの設定内容を出力 System.out.println("date1を表示 : " + date1.toString()); System.out.println("date2を表示 : " + date2.toString()); //指定された日付の前後を比較 boolean result; result = date2.after(date1); System.out.println("date2はdate1より後の日時か否か

    Javaの日付(Date、LocalDateTime)
    morizyun
    morizyun 2017/05/24
    ブログ書きました!
  • BEMの基本ルール

    BEMCSSの書き方のひとつで、ブロック(Block)、エレメント(Element)、モディファイヤ(Modifier)の頭文字をとったものです。BEMを使うとブロックごとにモジュール化し、名前空間を持たせるようなことができ、わかりやすいCSSを書くことができます。 🐹 BEMの考え方BEMCSSのセレクタの命名規則です。迅速な開発と長期的にメンテナンスしやすいコードとなり、再利用性を容易にします。 🚜 Block, Element, ModifierBEMCSSセレクタをブロック(Block)、エレメント(Element)、モディファイヤ(Modifier)の3つに分けて定義します。 Block(ブロック)Blockは独立したエンティティで、アプリケーションを構成するパーツです。Blockは1つもしくは、複数で構成します。Blockの名前はユニークにして、パーツごとの独立性を保

    BEMの基本ルール
    morizyun
    morizyun 2017/05/23
    ブログ書きました!
  • React.js componentのライブサイクル図

    React.jsのcomponentを理解するために、ライフサイクルを図にしてみました。 🐰 各メソッドの意味ComponentWillMount マウントされる直前に1回だけ呼ばれるので初期化処理に使う setState()するとrender時にまとめて実行される componentDidMount マウントされた直後に1回だけ呼ばれるのでDOMに関わる初期化処理に使う メソッド内で描画されたDOMにアクセスできます componentWillReceiveProps コンポーネントがプロパティ値を受け取る(更新した)時に呼ばれる 親コンポーネントのSateがPropsとして渡されていてその変化で表示以外のことがしたい場合に使う shouldComponentUpdate コンポーネントを更新してもいいかの判断に使う 戻り値がFalseの場合は更新が行われないのでパフォーマンスで描画を

    React.js componentのライブサイクル図
    morizyun
    morizyun 2017/05/21
    ブログ書きました!
  • Dockerの基本アーキテクチャの整理

    Dockerとはコンテナ技術を使い、アプリケーションの開発・実行を行うプラットフォーム DockerではKernelはホストと共有し、複数のルートファイルシステムを実行する Kernelはコンテナを「グループ分けされたアプリケーションレベルのプロセス」と認識する DockerはClient/Serverアーキテクチャ構成。機能面はServer側で実装、Clientが指示を出す 🚕 Dockerの構成要素Dockerイメージ コンテナのひな型、設計図。イメージの作られた履歴が含まれ、状態を容易に再現できる Dockerfileを自作することでオリジナルのイメージを作成できる Base Imageの上に複数のイメージがスタックされるような構成 Dockerコンテナ イメージから作られる実体のようなもの。内部でワーカプロセスを走らせる コンテナには独立したファイルシステムがあり、コンテナ自体が

    Dockerの基本アーキテクチャの整理
    morizyun
    morizyun 2017/05/19
    ブログ書きました!