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
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 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の「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
Dockerとはコンテナ技術を使い、アプリケーションの開発・実行を行うプラットフォーム DockerではKernelはホストと共有し、複数のルートファイルシステムを実行する Kernelはコンテナを「グループ分けされたアプリケーションレベルのプロセス」と認識する DockerはClient/Serverアーキテクチャ構成。機能面はServer側で実装、Clientが指示を出す 🐯 Dockerの構成要素Dockerイメージ コンテナのひな型、設計図。イメージの作られた履歴が含まれ、状態を容易に再現できる Dockerfileを自作することでオリジナルのイメージを作成できる Base Imageの上に複数のイメージがスタックされるような構成 Dockerコンテナ イメージから作られる実体のようなもの。内部でワーカプロセスを走らせる コンテナには独立したファイルシステムがあり、コンテナ自体が
最近、自分のGitのコミットログを読み返してみたら、すごく分かりづらかったので勉強も兼ねて、Gitのコミットログのプラクティスを勉強してみました! 🐰 Gitのコミットメッセージの書き方次のサイトを参考にさせていただきつつ、簡単にまとめてみました! Gitのコミットメッセージの書き方 | プログラミング | POSTD Gitのコミットメッセージの書き方 - Qiita 書き方を知ることのメリットGitのコミットメッセージをわかりやすく残すことで、その変更どんな目的で具体的にどんなことを修正したかを 次の変更を行う人に伝えることができ、次の人の修正する時間を節約できる。 具体的にどんなことを書くべきかどのように変更を行ったかは、コードを見れば分かる。もしわからないのなら、コードにコメントを書くべき。 変更した理由を明らかにすることに焦点を絞り、変更前がどうで、何が問題で、今はどのように機
リブセンスさんの「人は一ヶ月でエンジニアになれるのか - 詳細解説」を読んでみてこれはかなりすごいなと感動しました。 あとはほかのWeb系の企業さんの研修に関する資料を読みつつ、どうすれば効率的にWeb開発の知識を習得できるのかなといろいろ考えてみたのでそのメモです! 🚌 リブセンスさんの教育に対する考え方 人は一ヶ月でエンジニアになれるのか - 詳細解説 学生時代に知っておきたかったWeb技術の学び方の学び方 Web開発における問題点 Web開発は領域それぞれが深い。ゴールがない 新しい技術が日々生まれたり、深い知識が要求されるため、学び続ける必要がある - (問題点) 知っておかないといけない知識が多い - git/javascript/css/ruby/CI/ミドルウェア の画像 - 要求される知識も深く、定期的なバージョアップが要求される - (問題点) メインストリームの技術の
Rails公式ブログのRails 5 beta1の新機能についてのブログ記事『Riding Rails: Rails 5.0.0.beta1: Action Cable, API mode, Rails command』を英語の勉強がてら読んでみました! 🐡 Action Cable- Action Cableは、Websocketをハンドリングするためのフレームワーク - チャットや、Notificationを簡単に実装することができる チャットアプリケーションのサンプルソース# アプリの作成 $ rails _5.0.0.beta1.1_ new action_cable_sample --skip-spring --skip-bundle $ cd action_cable_sample # bundle install の実行 bundle install --jobs=4 --
Railsへのコントリビューションに関する次のドキュメントを読んでみました。 (英語) Contributing to Ruby on Rails — Ruby on Rails Guides (日本語) Ruby on Rails に貢献する方法 | Rails ガイド この中で特に参考になった部分を中心に書いていきます。 😼 コントリビューションの基礎 Ruby on Railsのバグを見付け足ら「Issues · rails/rails - GitHub」で既存のものがないか探して、な、ればPOST 最新版(edge)はバグがある可能性があるし、バグが有った場合に取り込まれやすいのでコントリビュートのチャンスが多い。コントリビュートのチャンスが多い 🎂 セキュリティの問題が見つかった場合 GitHub ISSUEにあげてはダメ(悪用される可能性があるから) 「Ruby on Ra
Mac Yosemiteに次の環境構築する手順をまとめました! 全文検索エンジンの『Elasticsearch 2.1』 Elasticsearchのデータ表示のツール『Kibana 4.3.1』 Elasticsearchの管理ツール『Marvel』 😎 ElasticsearchとはElasticSearchは、Apache Lucene上で稼働するオープンソースの全文検索システムのことです。 REST APIを使うことができ、jsonでやりとりを行うことができる。 🎂 ElasticsearchのインストールMacの場合は、まずはJavaのインストールです。 Java SE - Downloads | Oracle からファイルをダウンロードして、インストールします。 次に『Download Elasticsearch | Elastic』からファイルをダウンロードします。 br
検索機能を実装するときによく使われているElasticsearchをRailsで使うためのサンプルアプリケーションの作成の手順を作りました。入門レベルです! 🐮 Elasticsearchの導入拙著『Elasticsearch 2.1 + Kibana 4.1 + Marvel のMacへのセットアップ』を良ければご参考ください。 🍄 RailsサンプルアプリケーションRailsのサンプルアプリケーションを作成します。今回は Article(記事) のモデルをもつことにします。 # Railsアプリの作成 rails new elasticsearch_sample --skip-bundle # フォルダを移動 cd elasticsearch_sample # DBの作成 rake db:create # article テーブルの定義を作成 bundle exec rails g
『Elasticsearch Sever』を読んで勉強をしたことの俺得メモです。今回は基本的な概念や基本API、マッピングについてです。 英語ですが、公式ドキュメント『Elasticsearch Reference [2.1]』も充実しているのでななめ読みしています! 詳しい使い方は公式のチュートリアル『Tutorial - jq』あたりがお勧めです 🎃 Elasticsearchの基本概念Elasticsearchの論理的な構成要素検索で使うデータの構成要素のイメージ。 - インデックス - ドキュメントの集合体。リレーショナルDBのテーブルのようなもの。格納された値は、全文検索に最適化される。 - ドキュメントタイプ - 1つのインデックス内に複数のオブジェクトを格納できる。その区分のこと。 - ドキュメント - リレーショナルDBのレコードのようなもの。型(type)は自動で決まる
ちょっとマニアックですが、AWSのIAMやSTSについてどのようなものかを調べたので、完全俺得メモです。 理解が間違ってそうなところがあればぜひTwitterとかで突っ込んでくださいw 🚌 IAMとは?IAM とは - AWS Identity and Access Management IAMとは「AWS Idエンティティand Access Management」の略で、AWSのアカウントがもつ権限を一部他人に付与できるしくみ。 🍮 IAMの機能機能としては次のようなものがある。 - AWS アカウントへのアクセスの共有できる - 他の人に「自分のAWS」のリソース管理や利用のための権限を付与 - アクセス権限を詳細に設定できる - どのリソースをどこまで利用できるかといったことを細く設定できる - 多要素認証(MFA) - パスワード/アクセスキー以外にも、特別に設定されたデバイ
『RailsエンジニアのためのSQLチューニング速習会 - connpass』に参加してきました。すごく勉強になったので、 そのときのメモです。@minami7o さんありがとうございました! あとこの記事は、エムスリー Advent Calendar 2015 - Qiitaの13日目です。 🍄 スライドWantedlyの @minami7o さんの発表スライドです。 🐝 説明用のブランチ勉強会で共有されたテストデータを使えるGitHubのブランチです。 south37/sql-tuning - GitHub git clone git@github.com:south37/sql-tuning.git cd sql-tuning bin/rake db:create pg_restore -j 4 --verbose --no-acl --no-owner -d sql-tunin
def a_method return yield if block_given? 'ブロックがありません' end puts a_method #=> ブロックがありません puts a_method { 'ブロックがあります!' } #=> ブロックがあります! 用語: クロージャ『Rubyの動かないコード (初級編) ブロックとクロージャの性質 - 主に言語とシステム開発に関して』 の説明が非常に分かりやすかったので、お借りしました。まずはクロージャの説明。 - クロージャの外の(より広いスコープで定義された)変数はクロージャの中からでも参照可能 - クロージャの中で定義された変数はクロージャの外からは参照できない。 これってつまりはブロックと同じようなものということ。 - Rubyのブロックは、ブロック定義時のコンテキスト(変数とか)を保持する - Rubyのブロック内で宣言された
Railsで中規模なサイトを作っていく上で 避けて通れないのが、増えてきたモデルを適切にキャッシュするしくみのように思えます。 特に変更が少ないマスタ的なテーブルに対して、『多対多』で関連付け(アソシエーション: association)がある場合などは、 それなりのSQLの発行コストになることがあります。そこを適切にキャッシュすることでDBへの負荷が減り、 ユーザーへのレスポンスが改善されると思います。 今回は、最近実装しているキャッシュの方法について、紹介したいと思います。 (というか偉い人、ぜひいい方法教えてください><) 🍣 前提条件: RailsからRedisにキャッシュ今回は前提条件として、Railsのアプリケーションから『redis-store/redis-rails - GitHub』 のGemを使って、Redisにキャッシュをされているとします。 セットアップ方法は『r
最近仕事でRailsのコードレビューをする時間が長くって、いろいろ指摘するんですが、 Railsって「Railsチュートリアル」には書いていないのに覚えないと仕事にならないこと多すぎだなと気付かされます。 どこでどんなふうにすれば、プロになろうとしている人が最短距離で知識を獲得できるかはわからないですが、 今思っている特に大事だなと思うことつらつらと書いていきます。 😀 プログラミングの重要な要素まず、Railsの前にプログラミングで全般的に特に重要と思っている要素を紹介します。 - リーダブルなコード - ネーミングルールについて - 言語・フレームワークのルール - 変数のスコープについて - プロジェクトの設計思想 - オブジェクト指向・コードの再利用性 - 正しいテストケースを作る プロジェクトによって変わるので、すべては書きませんが、ぜひ意識してどこを学ぶべきかを考えてみてくだ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く