なみひらブログ

学んだことを日々記録する。~ since 2012/06/24 ~

Eclipseのtomcat実行時のホームディレクトリ

ググってもなかなか出てこないのでメモっときます。 [Eclipseのworkspace]\.metadata\.plugins\org.eclipse.wst.server.core 上記のフォルダ内の「tmpXX(XXは数字)」の中に「logs」「webapps」などがいます。 ただしEclipse内でアプリをtomcatで実行すると「…

AngularJSの$locationを使う時に気をつけること

背景AngularJSでの$locationを使うときに自分の理解が間違っていていろいろハマったのでメモっときます。前提 今回はログイン画面(/login)を表示して、ログインできたらホーム画面(/home)を表示するという例。 ログイン処理自体は、サーバサイドのAPIにAjax…

【備忘録】ヘルシープログラマ -プログラミングを楽しく続けるための健康Hack

背景以下の書籍を読んで印象に残ったところをメモっときます。ヘルシープログラマ ―プログラミングを楽しく続けるための健康Hack作者: Joe Kutner,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2015/07/23メディア: 単行本(ソフトカバー…

tilesを使った時のJSPの評価タイミングについて

背景tilesを使ってJSPファイルを分割+統合(?)したときに、思っていた動きと違った部分があったのでメモっときます。結論tilesで分割したJSPはそれぞれで評価される(=tilesで統合したあとの構造で評価はされない)。前提以下のようなファイルの配置の例…

SpringFrameworkで多言語を扱うときの実装メモ

背景 SpringFrameworkを使って多言語対応する際の実装をメモっときます。 ブラウザやクライアントの言語によって返すJSONの内容を変えたいときなどに利用します。 今回はWebAPI用のメモです。Viewでの多言語対応はまた別途記載します。 例: (言語指定:英…

Java8言語仕様でよく使う書き方のまとめ【Stream、Lambda関連】

背景最近良く使っているJava8の構文についてまとめておきます。 普段似たような処理を書きたいときに「あれっ?どんな感じで書くんだっけ?(;´Д`)」となるので備忘録的なメモです。小言以前はif/for文ぐらいを駆使してゴリゴリ書いていたので言語仕様に振…

SpringFrameworkでのJSON Validationの実装/動作確認メモ

背景SpringFrameworkでAPIを実装するときにリクエスト内容の妥当性確認(Validation)をよく行うので、その実装パターン/挙動をメモっときます。 今回は、ユーザ情報をPOSTする際に妥当性を検証するAPIを題材にしています。事前準備必要なライブラリを入れる…

「ZERO to ONE」についての備忘録

以下の本を読んで、印象に残ったところをメモっときます。ゼロ・トゥ・ワン―君はゼロから何を生み出せるか作者: ピーター・ティール,ブレイク・マスターズ,瀧本哲史,関美和出版社/メーカー: NHK出版発売日: 2014/09/25メディア: 単行本この商品を含むブログ …

「Spring in Summer ~夏なのにSpring」に行ってきました

「Spring in Summer ~夏なのにSpring」に行ってきました。 Java向けのアプリケーションフレームワークである「Spring Framework」のユーザカンファレンスです。summer - 日本Springユーザ会開催概要 日時 2015/08/28(金)10:00-18:30 場所 株式会社リクル…

AngularJSのひと通り動作させるためにやったこと

AngularJSのひと通り動作させるためにやったことをメモっときます。前提この作業メモには以下の前提があります。 レイアウトにはTilesを使っています。 Springframework, mavenを使っています。 AngularJSを使うためにはこの辺の技術は関係ありませんが、自…

「More Joel on Software」についての備忘録

以下の本を読んで、印象に残ったところをメモっときます。More Joel on Software作者: Joel Spolsky,青木靖出版社/メーカー: 翔泳社発売日: 2009/04/09メディア: 単行本(ソフトカバー)購入: 12人 クリック: 166回この商品を含むブログ (94件) を見るメモ1…

eclipseのtomcat上のアプリの名前を変更したいときにすること

背景eclipseにて既存のプロジェクトをコピーして、いろいろ設定を変更して"サーバで実行"したら、tomcatにて認識されるアプリの名前が前のアプリ名のままでした。 そのままでも動作的には問題ないですが、さすがに気持ち悪いので対応調べて対応しました。 例…

SpringアプリケーションでJSONレスポンスを返却するときに"406 Not Acceptable"が発生したときの話

背景@RestControllert使ってJSONレスポンスを返すようにして、アクセスしてみたら以下のエラーが発生しました。その際の対応をメモっておきます。 (以下レスポンス(HTML)の抜粋) 406 Not Acceptable The resource identified by this request is only capa…

「データベーススペシャリスト試験」に合格しました

背景IPAが主催している IPA 独立行政法人 情報処理推進機構:制度の概要:データベーススペシャリスト試験 を受験しました。 お仕事でデータベース周りの設計/作業も行うようになったので力試しで受験しました。 ※本当は去年受験の予定でしたが、まさかの申…

SpringMVCアプリケーションにTilesを適用するときにやったことメモ

背景最近いろんなところで画面構築にTilesというフレームワークが使われているので、ちょっと動作確認してみると仕組みの勉強のメモです。 Apache Tiles - Home作業メモTilesライブラリへの依存追加pom.xmlにTilesライブラリへの依存を追記します*1。 <dependency> <groupId>org.a</groupid></dependency>…

Bootstrapでform要素内にselect要素を置くときの実装メモ

Bootstrap*1で"form要素"と"select要素"の説明がそれぞれあって、それを合わせて使おうとしたらレイアウトが崩れてしまいました。 いろいろ試してみて、以下のような感じで落ち着きました。HTML <html> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> </link></head></html>

WebAPIを設計するときに考えること

背景WebAPIを設計してきて、最近ある程度考え方・注意点がまとまってきたので整理も兼ねてメモっときます。観点 同じ事柄を表すリソース構造には一貫性があること例えば「人」を表す際に、叩くAPIによってリソース構造を変えてはいけない(単体での情報取得A…

Arrays.asListが返すListの仕様について

背景Java8でCollectionインターフェースに追加されたremoveIf()を試そうと思ったら、別件でエラーが発生したのでメモっときます。 修飾子と型 メソッドと説明 default boolean removeIf(Predicate filter) 指定された述語を満たすこのコレクションの要素をす…

MathクラスのnextDownメソッド

背景以下の本にJavaプログラマーなら習得しておきたい Java SE 8 実践プログラミング作者: Cay S. Horstmann,柴田芳樹出版社/メーカー: インプレス発売日: 2014/09/22メディア: 単行本(ソフトカバー)この商品を含むブログ (7件) を見る doubleとfloatの両…

「Jenkins ユーザ・カンファレンス 2015 東京」に行ってきました

「Jenkins ユーザ・カンファレンス 2015 東京」に行ってきました。» Jenkins ユーザ・カンファレンス 2015 東京 日本Jenkinsユーザ会開催概要 2015/01/11(日)12:30-18:00 法政大学@市ヶ谷 主催 日本Jenkinsユーザ会 参加者数 約700人 togetter Jenkins ユ…

品質を決めるもの

以下の書籍に「品質を決めるもの」について記載がありました。勉強になったのでメモっときます。ゆとりの法則 ? 誰も書かなかったプロジェクト管理の誤解作者: トム・デマルコ,伊豆原弓出版社/メーカー: 日経BP社発売日: 2001/11/26メディア: 単行本購入: 14…

JavaFX関連クラスについてJUnitテストを実施するための準備

背景JavaFXのクラスを使った関数を実装した際に、その関数も単体テスト(JUnit)を行う必要があります。そのテスト実行の際に事前準備が必要だったので、そのことについて記載します。前提今回、以下のようなクラスを考えます。JavaFXパッケージのクラスを使…

Java7以降のnullチェックの仕方

背景メソッドを実装する際、そのメソッドの実行の事前条件を満たしているか確認するため「防御的プログラミング」をする必要があります。その「防御的プログラミング」の例として、「引数のnullチェック」があります。その「引数のnullチェック」の記法につ…

「情報セキュリティスペシャリスト試験」に合格しました

背景IPAが主催している IPA 独立行政法人 情報処理推進機構:制度の概要:情報セキュリティスペシャリスト試験 を受験しました。 最近、脆弱性などが社内外で話題になっていて勉強しておこうかなと思ったのが主な動機です。※あと高度情報処理試験の中で「セ…

「システムテスト自動化カンファレンス2014」に行ってきました。

テスト自動化研究会が主催する「システムテスト自動化カンファレンス2014 」に行ってきました。システムテスト自動化カンファレンス2014 - connpass開催概要 2014/12/14(日)10:00-18:00 ヤフー株式会社@ミッドタウン・タワー 主催 テスト自動化研究会 参…

ラムダ式がどのように実現されているかを確認してみました。

背景Java8で新仕様として「ラムダ式」が追加されました。 そのラムダ式がどのように実現されているか、確認してみました。簡単な確認Java7以前比較のために、まずJava7以前のコードを以下のように書いてみます。 Java7まではメソッドの引数として、無名クラ…

お道具箱の整理

普段使っているツール/サイトなどなどについてまとめておきます。雑記です。EclipseIDEはEclipseを使っています。いろいろ入れるのが面倒なので、All in Oneの日本語バージョンを利用しています。 Eclipse 日本語化 | MergeDoc Projectサクラエディタwindows…

Java8で、Objectが持つメソッドについてはインターフェースでdefault実装をできないようにしている理由

背景Java8にて、インターフェースにdefaultメソッド(メソッド定義と実装)を定義できるようになりました。しかし、その実装においてObjectクラスが持っているメソッド(toString()とかequals()とか)は、インターフェース内でdefault実装として定義できない…

エラーメッセージに記載すべきこと

以下の書籍に、「エラーメッセージの書き方」が書いていったのでメモっときます。インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也出版社/メーカー: オライリージャパン発…

社会人人生で出会った良本のまとめ【入社~5年】

今年度が終わると社会人満5年が経つので、この期間に読んだ良本をまとめておきます。略歴 学生時代 物理専攻、プログラミング経験なし オシロスコープ、Linux(Vine Linux)などなど。 1年目 社会人研修、情報系研修 C、C++、Java、オブジェクト指向、組み込み…

「Java6以前」と「Java7&8」の言語仕様をコードで比較しました。

最近Java8の言語仕様でコードを書いていて、「このコードをJava6以前で書いたらどんな感じだっけ?」と気になったので、比較してみました。 簡潔な記載になってきて、だんだんコード量が少なくなっています。(≒バグ混入機会が減る。)~今でいう「なんで拡張fo…

JDK の互換性の情報

JDKの新しいバージョンがリリースされると、下位バージョンとの互換性についての情報もリリースされます。例えば、以下のような情報です。 JDK 8の互換性ガイド今まで意識していませんでしたが、製品のJDKのバージョンを上げる際には一読しておきたいもので…

interfaceがObjectのメソッドをオーバーライドする理由

以下の書籍Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング作者: Cay S. Horstmann,柴田芳樹出版社/メーカー: インプレス発売日: 2014/09/22メディア: 単行本(ソフトカバー)この商品を含むブログを見るに以下のような記載があったので…

英語(リスニング)の学習

英語の勉強はあれこれやっているがなかなか続かず、英語力が向上していない(´Д`) 最近、特にリスニングに関して以下の結論に達しました。 結論:つまらないから、続かない。 今までやったけど、続かなかったリスニング教材 英語教材のCD ポッドキャストでニ…

「Agile Conference Tokyo 2014」に行ってきました。

ソフトウェア開発手法の「アジャイル開発」についてのカンファレンス「Agile Conference Tokyo 2014」に行ってきました。Agile Conference Tokyo 2014 - イベントTOP開催概要 2014/07/23(水)10:10-17:00 日立ソリューションズタワーA@品川シーサイド 参加…

「第七回 #渋谷java」に行ってきました。

プログラミングJavaの勉強会(LT大会)「第七回 #渋谷java」に行ってきました。第七回 #渋谷java - connpass開催概要 2014/07/19(土)14:00-17:00 株式会社ビズリーチ@渋谷クロスタワー12F 参加者数 約20人 会場雰囲気@始まる前 セッションメモと雑記参加…

開発者採用時の書類選考の仕方

以下の書籍に、ソフトウェア開発者の採用時の書類(履歴書など)のチェック基準が記載してあったので、メモっときます。ソフトウェア開発者採用ガイド作者: Joel Spolsky,青木靖出版社/メーカー: 翔泳社発売日: 2008/03/20メディア: 単行本(ソフトカバー)…

coreライブラリを利用するための準備

以下のように、jspでcoreライブラリのようなタグライブラリを使う場合、 <c:forEach items="${items}" var="item"> ID:<c:out value="${item.id}"/><br> Title:<c:out value="${item.title}"/><br> </c:forEach> まずjspで以下を宣言する必要があります。ネット上だと意外と書いていない(;´Д`)当たり前のことだからも知れませんが。。。 <%@ taglib uri='http://java.sun.com/jsp…

ウェブ健康診断

以下の本に、Webアプリのセキュリティチェック観点である「ウェブ健康診断」という情報があったので、メモっときます。体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践作者: 徳丸浩出版社/メーカー: ソフトバンククリエイ…

データベースへの安全な接続の方法

以下の書籍に、「データベースへの安全な接続の方法」についても記載があったので、メモっときます。体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践作者: 徳丸浩出版社/メーカー: ソフトバンククリエイティブ発売日: 201…

Android開発環境セットアップ時のメッセージがユニークだった話

ちょっと自PCにAndroid開発環境セットアップしていたら、途中で以下のメッセージがでました。ユニーク・親近感が感じられたのと、このメッセージなら自然と「読もう」と思いました(´・ω・`)b #内容が操作ログの提供というデリケートなものだっただけに。

Tomcat 7.xとTomcat 8.xのJDBC Driverの扱いの違い

Tomcat 7.xまでは、JDBC Driverは{webapp}/WEB-INF/libなどに置いていましたが、Tomcat 8.xだとTOMCAT_HOME/libに置かないといけなくなった。 理由としては、そもそもJDBC DriverはDriverManagerで管理されていて、そもそもそれは全アプリで共有される資源だ…

「第六回 #渋谷java」に行ってきました。

プログラミングJavaの勉強会(LT大会)「第六回 #渋谷java」に行ってきました。第六回 #渋谷java - connpass開催概要 2014/05/31(土)17:00-20:00 株式会社ビズリーチ@渋谷クロスタワー12F 参加者数 約20人 発表資料はこちら参照 第六回 #渋谷java まとめ …

書籍『「クラウド化」と「ビッグデータ活用」はなぜ進まないのか』の備忘録

以下の本で心に残った部分をメモっときます。「クラウド化」と「ビッグデータ活用」はなぜ進まないのか?作者: 柴田英寿出版社/メーカー: 東洋経済新報社発売日: 2013/02/01メディア: Kindle版この商品を含むブログを見る1つめ 統計はなぜか人を魅了する。私…

Beanをうまくインジェクションできなかったときの話

springで書いたコードをtomcatにデプロイしたら、以下のエラーがでました。 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [jp.co.**.dao.XXDao] found for dependency: expected at least 1 bean which qu…

org.springframework.jdbc.core.RowMapper を解決できません

Java+Springで、DBに接続するコードを書いたら、以下のコンパイルエラーがでました。 型 org.springframework.jdbc.core.RowMapper を解決できません。必要な .class ファイルから間接的に参照されています pom.xmlにて、 以下の記載をする必要があるそうで…

Amazonの経営方針

以下の本に、Amazonの経営哲学が書いてあったので、メモっときます。ワンクリック ジェフ・ベゾス率いるAMAZONの隆盛作者: リチャード・ブラント,滑川海彦(解説),井口耕二出版社/メーカー: 日経BP社発売日: 2012/10/18メディア: 単行本購入: 7人 クリック: 9…

eclipseでMavenビルドしようとしたら「指定されたjreインストールが存在しません」が発生した。

eclipseの設定にて、JavaのJRE関連の設定をいろいろいじっていたら、 いざビルドしようとしたら、「指定されたjreインストールが存在しません」というエラー発生しビルドができなくなってしまった。いろいろ調べたら、以下の記事どおりだった。Eclipseの使い…

説明に困らないテスト技法【テストの組み合わせ】

「日経コンピュータ 2014.5.1」に「説明に困らないテスト技法」というタイトルのコラムがあって勉強になったので、メモっときます。説明に困らないテスト技法:日経コンピュータDigital 簡単にまとめると、各機能の組み合わせについて全ての組み合わせを出し…

LESSファイルのコンパイルエラー

Twitter Bootstrapに同梱されているLESSファイルをコンパイルしようとしたら、以下のようなエラーが出ました。ソースコードtwbs/bootstrap · GitHub // // Jumbotron // -------------------------------------------------- .jumbotron { padding: @jumbotr…