コロナウイルスが流行する前の2020年1月上旬、中国の杭州に行ってきたのでその記録を書いておく。 はじめに 自分はこれが中国へ行くの5回目。それなりに慣れている方だと思うけど、中国人と一緒に行ったほうが圧倒的に楽です。 数年前にキャッシュレスが普及して、その後も規制が変わったりして行くたびに状況が変わっています。なので、ここで書いてあることは半年後には参考にならないかも。 事前にやっておくこと WeChatPayのアカウントを作る、可能なら本人確認とチャージをやっておく Alipayのアカウントを作って、可能なら本人確認とチャージをやっておく 中国で使える香港SIMを買う WeChatPayとAlipayのアカウントは、外国人でも作れるときと作れないときがある。またお金もチャージできるときとできないときがある。 事前にググってできるかどうか試しておくのが重要。 また、中国はいわゆるGrea
コロナウイルスが流行する前の2020年1月上旬、中国の杭州に行ってきたのでその記録を書いておく。 はじめに 自分はこれが中国へ行くの5回目。それなりに慣れている方だと思うけど、中国人と一緒に行ったほうが圧倒的に楽です。 数年前にキャッシュレスが普及して、その後も規制が変わったりして行くたびに状況が変わっています。なので、ここで書いてあることは半年後には参考にならないかも。 事前にやっておくこと WeChatPayのアカウントを作る、可能なら本人確認とチャージをやっておく Alipayのアカウントを作って、可能なら本人確認とチャージをやっておく 中国で使える香港SIMを買う WeChatPayとAlipayのアカウントは、外国人でも作れるときと作れないときがある。またお金もチャージできるときとできないときがある。 事前にググってできるかどうか試しておくのが重要。 また、中国はいわゆるGrea
JavaEE Advent Calendar 2012のブログ記事で書いたJAX-RSのサンプルではjersyのViewableクラスを使用したJSPによる画面描画を紹介しました。今回はjsonデータを返却してクライアントサイドで描画する方法を紹介します。 今回はクライアントサイドの描画にシンプルで使い勝手の良いJavaScript MVVMフレームワークであるKnockout.jsを使用しました。 Knockout.jsのダウンロード Knockout.jsのサイト(http://knockoutjs.com/)より最新版のKnockout.jsをダウンロードし(今回はknockout-2.2.1.jsを使用)プロジェクトのフォルダに配置します。 HTMLファイルの修正 HTMLをKnockout.jsのテンプレートに即して修正します。 <%@page contentType="text
JAX-RSでデータの一覧表示を作成してみましたが今度は同じ画面をJSFで作成してみます。 JSFはサーバサイドのメモリーを多く使用するため不特定多数ユーザが利用するサービスには不向きですが、クライアントサーバ型のアプリケーションのようにWEBアプリケーションを作成する事ができるので社内アプリケーションや利用者が限定されているアプリケーションを簡単に作成&メンテナンスするにはとても良いアーキテクチャです。JSFはバージョン2.0よりテンプレートにFaceletsが導入されビューがとても簡単に作成できるようになりました。また、ajax対応等現状のWEBのアーキテクチャが多く取り入られています。 バッキングビーンの作成 JSFではバッキングビーンという画面の値や処理を記載するクラスを作成するのが一般的です。まずはそのクラスを作成します。 package com.den2sn.mavenproj
JSF 2.2でf:viewActionというコンポーネントが追加されています。 基本はJSF 2.0で初期画面表示時に処理を動作させる時に使っていた f:eventのpreRenderViewと同じなのですが微妙に違うところがあります。 まずは単純に呼び出された回数をカウントするバッキングビーンを作ります。 package sample; import javax.faces.view.ViewScoped; import javax.inject.Named; @Named @ViewScoped public class ViewAction { private int count = 0; public int getCount() { return count; } public void init() { count++; } } そして画面 <?xml version='1.
[twitter:@pato_taityo]さんが書いてくださったJJUG ナイト・セミナー「Neil Bartlett氏によるOSGi講座」レポートの補足です。 こんな記載がありました。 若干メモが怪しいのですが、制約もあるとの事でした。モジュールごとにクラスローダーが異なるので、依存モジュールが同じであっても別のクラスとしてロードされており、モジュールをまたがって依存モジュールを操作しようとするとおかしくなる、ということを説明されていたように思います。 裏付けとなる資料が見つからず、申し訳ないです。 Javaではクラス名の衝突を防ぐためにパッケージを使用していることがよく知られています。 クラスを作成するときに一番上につけているやつですね。 パッケージとクラス名がすべて等しければ同じクラスとなると入門書には書いてありますが、実は違います。 正確には同じクラスローダー内でパッケージとクラ
ということで、JJUGナイトセミナーでお話して来ました。 いらっしゃってくださった皆様ありがとうございました。 Junitを使ったjavaのテスト入門 初心者向けということで資料を作りました。 ターゲットとしては募集に書いてあるとおりに新人研修が終わった直後ぐらいの人。 難しいこと何も書いてないからスライドそのまま見ればいいと思うよ! さて、スライドの中でassertEqualsをおすすめしていますが、これ書いている人はassertThat派。isがMatcherクラスがデフォルトでimportされないので・・・・・ そして、資料作ってる時は気が付かなかったけどEclipseはJUnit4.10がデフォルトなのね。 JUnit4.11でクラス構成が微妙に変わってるので入門としては触らなくて正解だったかもしれない。 全方位からマサカリが飛んできた時はどうしようかと思ったけれども、うん>< ご
idea.vmoptions で起動時のメモリ割り当てサイズを変更する Android Studio の環境設定の小ネタです。Android Studio (IntelliJ IDEA) でも Eclipse のときみたいに「起動時にどのくらいまでメモリを使うことを許容するか」メモリ割り当てを変更することができます。 手順は簡単。~/Library/Preferences/AndroidStudioPreview (Windows は $IDEA_HOME/bin/idea.exe.vmoptions) に idea.vmoptions というファイルを作り、以下のようなオプションを書くだけです! -Xms512m -Xmx1024m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=128m -XX:+UseCodeCacheFlushing
Permanent領域のチューニング JVMにはPermanent領域と呼ばれるヒープ領域があります。ここにはクラス定義やメソッド、フィールドなどのメタデータが格納されます。 Permanent領域のデフォルトのサイズは、一般的なアプリケーションにとって十分な大きさに設定されています。しかし、アプリケーションによっては非常に多くのクラスをロードするものもあり、Permanent領域が足りなくなることがあります。例えば、JSPやサーブレットを多用するアプリケーション(アプリケーションサーバなど)は、デフォルトのPermanent領域サイズでは足りなくなり、次のようなエラーが発生することがあります。 $ java ManyClassLoadingTest Permanent generation is full... increase MaxPermSize (current capacity
「Java セキュアコーディング 並行処理編」 「Java セキュアコーディング 並行処理編」(原著 CERT/CC「Java Concurrency Guidelines」)は、カーネギーメロン大学ソフトウエア工学研究所の CERTプログラムと Oracle の共同作業の成果である「CERT Oracle Secure Coding Standard for Java」の中から、次のカテゴリに含まれる並行処理プログラミングに関連したガイドラインをまとめた資料です。 可視性とアトミック性(VNA) ロック(LCK) スレッドAPI(THI) スレッドプール(TPS) スレッドの安全性に関する雑則(TSM) セキュアな Java マルチスレッドプログラミングに取り組む際の手引きとしてご活用ください。 本資料に記述されたガイドラインを含む「CERT Oracle Secure Coding S
2014 2013 セキュアコーディングを学ぶための教材として活用していただくことを目的として、Java 言語で書かれたアプリケーションの脆弱性事例に関する解説資料を公開しています。 セキュアな Java アプリケーションの開発を目指すには、すでに知られている脆弱性の具体例を理解し、それを反面教師として同じ失敗を繰り返さないようにすることが重要です。 Java言語によるセキュアなプログラムを開発するためのコーディング規約「Java セキュアコーディングスタンダード CERT/Oracle版」や、Javaセキュアコーディングセミナー資料とともに、本資料を自習や勉強会などの参考資料としてご活用ください。 2014 公開日 タイトル PDF PGP 署名
これまでにJavaセキュアコーディングセミナーで使用した講義資料を公開しています。 Javaアプリケーションの脆弱性事例の解説資料については解説資料のページをご参照ください。 オブジェクトの生成とセキュリティ 数値データの取扱いと入力値検査 入出力(File,Stream)と例外時の動作 メソッドとセキュリティ オブジェクトの生成とセキュリティ クラスの設計とオブジェクトの取扱いをセキュアに行うためのポイントについて、オブジェクトの生成におけるセキュリティをテーマに解説します。 基礎概念のおさらい(クラス、シリアライズ、GC) クラスとセキュリティ上の脅威 オブジェクトを生成する3つの方法(new, clone(), deserialize) 上記トピックスに関するクイズと演習 公開日 タイトル PDF PGP 署名
http://coziest.net/?p=572 のパクリです。 WP-Dの元記事や上記ブログの記事を見ても納得しない人は多いでしょう。なぜか。 「制作会社の視点であって、フリーランスの視点で考えていない」からだと思います。はてなにはフリーランスの人が多いのです。 そこで、細々と10年フリーランスをしている自分が、「フリーランス編」として工数と見積もりの話をしたいと思います。 ■依頼内容 個人なので、100ページ以上必要なサイトを依頼される事は稀です。顧客も、中小・零細企業がほとんどでしょう。 ここでは前提条件として、「30ページ前後のホームページをWordpressで管理できるようにする」というリニューアル案件を想定したいと思います。 そしてこのぐらいの規模の場合、納期は概ね1ヶ月前後とだと考えられます。1ヶ月は待ってくれるけど、それ以上かかるようなら破談になる可能性が大です。 ■見積
Grails 2.3.0.M2 リリースです!! Grails 2.3.0.M2での内容 ※以下の修正もあるのでM1での内容のおさらい。 依存管理の向上 - 依存管理エンジンをAetherに変更。 データバインダー - フレキシブルで保守性の高く簡単な新データバインダー フォーク実行 - 全てのメジャーなコマンドが別々のJVMへフォーク 非同期サポート - リクエストの非同期処理とGORMとシームレスに統合した新たな非同期プログラミングAPI エンコーディング/エスケーピングの向上 - クロスサイトスクリプティング(XSS)防御を実装 Hibernate3と4をサポート - コアから切り離されて、3と4それぞれプラグインにて提供 デフォルトでのgrailswラッパー生成 そして今回M2の目玉は。 サーバサイドRESTサポート大幅改良 ドキュメント テストランナーデーモン - @nobean
photo credit: nettsu via photopin cc はじめに ソースコードのバージョン管理にSubversionを使っているのですが、開発者によってコミットログの書き方がまちまちで、よく書かれているコミットログもあれば、全然役に立たないコミットログもあります。 他の人はどうやって運用しているのか気になって、コミットログの書き方を調べて、まとめてみました。 Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)posted with amazlet at 13.06.22Mike Mason オーム社 売り上げランキング: 23,384 Amazon.co.jpで詳細を見る 1.コミットログを書く目的 コミットログを書く目的は、修正した理由や経緯を残すことで、後から修正内容をトレース(追跡)できるようにすることです。 コミットログは未来への布石です。
はじめに Eclipse 4.3 KeplerをPleiades (プレアデス) という日本語化プラグインを使って、日本語化してみました。 Eclipse 4.3 完全攻略posted with amazlet at 14.02.01宮本 信二 SBクリエイティブ 売り上げランキング: 4,104 Amazon.co.jpで詳細を見る OSとソフトウェアのバージョン OS:Windows 8 Enterprise Eclipse:4.3 Kepler Pleiades:1.4.x Jre:Version 7 Update 25 事前にJREのインストールが必要です。 無料Javaソフトウェアをダウンロード Eclipseのダウンロード 1.以下のサイトからEclipse本体を任意のディレクトリにダウンロードします。 Eclipse Downloads 2.ダウンロードしたEclipseを解
Grails 2.3のRest機能のドキュメントを読んでいたら、拡張の一つとして「8.1.7 Hypermedia as the Engine of Application State」というのが書いてあって、調べると面白かったので、この資料(REST: From GET to HATEOAS)を読んだだけでの、私の理解する限りのメモを記しておきます。 一言でいうと、HATEOASとは、Restfulパターンを拡張するアーキテクチャパターンで、Restful原則に対する追加的な制約。どういうものかというと、HTMLアプリの画面遷移を抽象化した、状態遷移を表現するRestful API(=Restful WebアプリのWebインターフェース)を設計するための具体的な方法論になってる。 もちろんGrailsに特化したものではなく、Restと同じレベルのWebアプリケーション一般概念でありRes
ソフトウェアの開発を行うときに、まずテストケースを先に作ってから機能を作り込む「テスト駆動開発」(Test-Driven Development:TDD)。これにより、ソフトウェアの開発工数や品質にはどの程度の変化があるのでしょうか。 TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社:森崎修司の「どうやってはかるの?」:ITmedia オルタナティブ・ブログ この疑問について調査した論文を、奈良先端科学技術大学院大学 助教の森崎修司氏が3月10日のブログ「国立大学法人奈良先端科学技術大学院大学 助教」のエントリ「TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社」で紹介しています。 開発時間はやや増えたがコードの品質は上がった 論文全文は有料なので読めないものの、森崎氏のブログによると次の知見が得られたとのことです。まず、ソフトウェ
内部インターフェイスにstatic修飾子つけちゃう奴 内部インターフェイスは暗黙的にstaticになります。 以下のように、static修飾子を明示したNestedStaticInterface、明示しないNestedInterfaceがある場合、コンパイルされたインターフェイスはともにstatic修飾子を伴います。 package com.uphyca.example.interfacedef; public class EnclosingClass { // static修飾子を明示する public static interface NestedStaticInterface { } // static修飾子を明示しない public interface NestedInterface { } } コンパイルされたNestedStaticInterface public abstra
opscodeのリポジトリにあるMySQLのcookbookでは、rootユーザやレプリケーション用のユーザのパスワードをランダムに生成して設定している。 opscode の recipe の特徴 このランダムという点をカバーするべく、うまい仕組みが組み込まれている。 パスワードを設定するところは node.set_unless['mysql']['server_root_password'] = secure_password といった形で、attributeに設定されていない場合はランダムに生成するという事をして、2度目以降も同じパスワードとなるようになっている。 2回目以降も同じパスワードを保証するために、もうひとつの技が unless Chef::Config[:solo] ruby_block "save node data" do block do node.save end
curlはwget, lwp-request(GET, HEAD), lynxと同じようなcliのhttp client。だと思ってたらもっと機能があるようなので、man curl読んで色々調べてみた。HTTP(S)以外にもかなり対応してた。 curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE). とりあえず良く使いそうなhttp, ftp関連のメモ。DLだけじゃなくて、アップロードもできるのが素晴らしい。 基本 syntax curl [optinons] URL URL It will then default to HTT
1. JAWS-UG Osaka 第8回勉強会 Beginners AWSの事例/課金について 2013年6月22日 NRIネットコム株式会社 佐々木拓郎 3. ✦ プロフィール ‣ NRIネットコム株式会社 Webクラウド事業部 ‣ Twitter: @katotaku(実名)@dkfj(匿名)/ Facebook: takuro.sasaki ‣ blog: http://d.hatena.ne.jp/dkfj/ (匿名) ‣ 好きなAWSサービス: S3,SQS ★ 備考 ‣ 認定スクラム・マスター ‣ AWS認定ソリューションアーキテクト- アソシエイトレベル @katotaku 自己紹介: 佐々木拓郎
1. JAWS-UG Osaka 第8回勉強会 Beginners AWS連携サービスについて (SQS, SNS, SES) 2013年6月22日 NRIネットコム株式会社 佐々木拓郎 3. ✦ プロフィール ‣ NRIネットコム株式会社 Webクラウド事業部 ‣ Twitter: @katotaku(実名)@dkfj(匿名)/ ‣ Facebook: takuro.sasaki ‣ blog: http://d.hatena.ne.jp/dkfj/ (匿名) ‣ 好きなAWSサービス: S3,SQS ★ 備考 ‣ 認定スクラム・マスター ‣ AWS認定ソリューションアーキテクト- アソシエイトレベル @katotaku 自己紹介: 佐々木拓郎 4. NRIネットコム ✦ NRIグループで唯一関西を本社とする会社 ‣ Webシステムを得意としているシステム会社 ‣ 設計開発から運用まで全
EC2でsshアクセスはよく使います 最近、仕事でEC2を使用する機会が非常にふえました。EC2にsshログインして作業をすることもよくあるのですが、 インスタンス数の増加にしたがって、EC2のホスト名を管理するのも面倒になってきます。 通常、ホスト名管理が面倒な場合はconfigファイルに次のようにホスト名の別名を定義すれば楽です。 #~/.ssh/config Host sample-host Hostname ec2-xxx-xxx-xxx-xxx.amazonaws.com 上記configがあれば、下記のようにEC2へsshログイン可能です。 % ssh -i <キーファイル> ec2-user@sample-host しかし、インスタンスを起動したり消したりしていると、当然ながらec2-xxx〜なホスト名は変わってしまいます。 EIPを使えば固定しておけますが、開発の時やAut
今回は、本連載の最後のトピックとして、Redshiftクラスタの運用に焦点を当て、アクセス管理、およびデータの管理と運用について説明します。これまでRedshiftクラスタの起動から拡張まで説明してきましたが、起動後も定期的にデータベースに対して必要なメンテナンス作業が存在し、高いクエリパフォーマンスを持続させるために、これらも押さえておくことは運用において非常に重要です。 なお、本連載のチュートリアルをご自身で試される場合には、Redshiftクラスタを起動し、Redshiftクラスタへ接続してSQLが実行可能である状態が必要です。これらの環境を構築するためには、この連載の第3回を参考にしてください。 アクセス権の管理 最初に、Redshiftクラスタのアクセス管理について説明します。 Redshiftでは、データベースやテーブル以外に、後述するスキーマという単位でテーブルのまとまりを管
米Netflixは6月21日、Amazon Web Service(AWS)クラウド上に構築された「Apache Hadoop」を管理するソフトウェア「Genie」をオープンソースで公開した。Hadoopや「Apache Hive」、「Apache Pig」のジョブを実行したりHadoopリソースの管理を行うためのRESTful APIを提供するもので、動的なリソース管理が可能になるという。 Netflixはビデオストリーミングサービスなどを提供する企業。同社はサービスの運用に「Amazon S3」などAWSのクラウドサービスを多用、クラウド上に多数のHadoopを構築しており、それらを管理するために自社で開発したツールをオープンソースで公開している。今回公開されたGenieは「HadoopベースのPaaS」との位置付けで、Netflixがすでに公開している「Karyon」(ブートストラッ
先日のJAWS-UG Osaka 第8回勉強会 Beginnersに参加&講師として話してきました。 今回の勉強会の趣旨は、8回目を迎えるJAWS-UG大阪で初心に戻ってAWSのサービスを1つ1つ勉強していこうというものでした。それでいて、主要AWSのサービスを全て網羅しようという野心的なものでもありました。事実、24セッション、35サービスの説明がされていました。参加者も100名を超え、1ユーザグループの活動の中でここまで出来るのかと驚きを覚えました。 さて、私の担当ですが、課金についてと、SQS,SNS,SESについてで、それぞれ30分のコマでした。課金について30分話すって何だよと思わないでも無かったですが、初心者向けにElastic MapReduceを説明する玉川さんの絶望に比べれば大したことでは無かったようです。 当日の発表に向けて、せっせと下調べしつつ適時ブログにもアップして
何度かAmazon Simple Email Service(SES)の使い方の紹介をしてきましたが、そもそもSESとは何ぞやという話をしていなかったです。最近整理してたので、簡単にまとめてみます。 Amazon Simple Email Service(SES)とは? Amazon SESは、一言でまとめると、「信頼性の高いバルクメール送信サービス」です。まず、信頼性の高いの部分についてです。自身でSMTPサーバを運用したことがある人は解ると思いますが、近年SMTPサーバを運用するのは非常に面倒くさいのです。不正中継されないようにセキュリティホールを塞ぐのはもちろんのこと、SMTPサーバのレピュテーション(信頼性)を下げない為に不適切なメールを送っていないかの監視、バウンスメールの比率を下げる為に定期的に配信するメールアドレスのお掃除などが必要です。しかし、Bounceの返り方はメールサ
AWSの利用実績、ちゃんとみてますか? アカウントアクティビティとか利用レポートDLとか、あるにはありますが、とにかく数字だらけで分かりにくかったり、 さらに一括決済(Consolidated Billing)なんてしているとアカウントの数だけ行が増えてますます困難。そう思いませんか? 実際私もそう思っていたところに、大規模AWSユーザーとして有名なNetFlixがICEという利用実績のモニタリングツールを公開したというニュースを見つけたので、早速インストールしてみました。 基本的にはiceのreadmeで分かると思いますが、若干はまったところを中心に私のログをご紹介します。 用意するもの Amazon Linuxのインスタンス 他のLinuxディストリビューションでも勿論可能。 m1.smallで動きました。 セキュリティグループで8080をあけておく S3上に解析結果の保存先のbuck
いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。
def getSteps = {start=1,max,step=1000 -> if(max <= start + step) return [[start..max]] def rs = (start..max).step(step).inject([]) {a,c -> (c>start) && a << [ ((a!=[])?a.last().to[0]+1:start)..c-1];a} (rs.last().to[0] != max) && rs << [rs.last().to[0]+1..max];rs } println""" getSteps(max=10020) = ${getSteps(max=10020)} """ println""" getSteps(100,1000) = ${getSteps(100,1000)} """ println""" getSte
List.metaClass.toString = { squate,equate=null -> if(equate==null) equate = squate delegate.collect {"${squate}${it}${equate}"} } def l = ["a","b","c"]; println l.toString() println l.toString("'")
アイドル状態(最後の実行から何もしていない)がN秒続くとMySQLが勝手に接続を切るらしい。 このN秒を設定するのがwait_timeoutである。 まず、デフォルト設定を確認してみる。 mysql -uroot -e'show variables' | egrep '(wait)'; -------- wait_timeout 28800 ということで、28800秒=8時間がデフォルトの模様。 http://dev.mysql.com/doc/refman/4.1/ja/gone-away.htmlにも書いてある。 次にwait_timeoutを10秒に変更してみる。 /etc/my.cnfに以下を追加。 [mysqld] wait_timeout=10 これで準備はOKなので、テストしてみる。 my $dbh = &get_handle my $sth = $dbh->prepare(
beeTech Blog初登場のはとね(@hatone)です。 配信サーバの一部を書いたり、ときどきfluentdをメンテナンスしています。 Gradleとは、GroovyのDSLで記述することのできるオープンソースのビルドシステムです。 ビルドシステムといえばMavenやantなどあるのですが、設定ファイルではなくビルドスクリプトとして記述できるという点がGradleの強みです。 今回は、そんなGradleの技術的トレーニングやサポートをしているGradleware社主催するGradle Summit2013に6月13−14日の2日間参加してきました。会場となったサンタクララはIntelやMcAfeeの本社がある場所で、サンフランシスコから車で一時間くらいのところに位置しています。 この2日間で計30セッションがあり、最新のGradleをインストールしてプラグインを作成するまでのハン
JPAのバージョンは2.1と前バージョンから0.1しか上がっていないが、非常にいいものが追加されている。 2.1の目玉機能としてはストアド呼び出しが可能になったとかあるのだろうが、基本ストアド使いたくないのでおいらは無視する。 で、地味・・・ではなくド派手なのにあまり語られない新機能もある。 それがコンバータだ。やっときた! これはどういうものかというと、たとえば、DB上には文字列で保存をして、Entity上はIntegerで保持するといったもの。 もちろん、ラッパクラス以外でもふつうに使えるので、アプリケーションに合わせて積極的にコンバータを作っておくと既存のDBを変更せず、かといってそれにEntity操作が引きずられない、非常に良いものが出来上がる。 コードは昨日のエントリのJPA2.0のサンプルをもとに変更してみよう。 addressという文字列型には都道府県が入っていたので、そこに
2014 2013 セキュアコーディングを学ぶための教材として活用していただくことを目的として、Java 言語で書かれたアプリケーションの脆弱性事例に関する解説資料を公開しています。 セキュアな Java アプリケーションの開発を目指すには、すでに知られている脆弱性の具体例を理解し、それを反面教師として同じ失敗を繰り返さないようにすることが重要です。 Java言語によるセキュアなプログラムを開発するためのコーディング規約「Java セキュアコーディングスタンダード CERT/Oracle版」や、Javaセキュアコーディングセミナー資料とともに、本資料を自習や勉強会などの参考資料としてご活用ください。 2014 公開日 タイトル PDF PGP 署名
昨日は RubyMotion のもくもく会でした。 先日の RubyMotion Kaigi 2013 で 実践RubyMotion という題目で発表したのだけど、テストについてはprintデバッグ上等だ、このクソムシがとか言ってかなり適当に済ませてしまった。ので、もくもく会ではテスト周りに手をつけるぞと思い、そういえば Travis CI が RubyMotion に対応してたのも思い出し RubyMotion のテストを Travis CI で回すのを検証した。 が、手間取るかと思った Travis CI 周りはとっても簡単で、.travis.yml に language: objective-c と書くだけであっさり動いてしまった。 というわけで RubyMotion アプリの継続的インテグレーションは .travis.yml を一行書けば完了です。終わり・・・じゃあまったくブログ記
ちょっとまとめ。 ドメイン駆動設計・開発の実践 Eric EvansがDDD(ドメイン駆動設計)を語る Domain-Driven Designのエッセンス -目次- ドメイン駆動設計 ( DDD ) をやってみよう DDD時代の設計 - DDD-memo エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子出版社/メーカー: 翔泳社発売日: 2011/04/09メディア: 大型本購入: 19人 クリック: 1,360回この商品を含むブログ (131件) を見る エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION) 作者: マーチン・ファウラー,長瀬嘉秀,株式会社テクノロジックアート出版社/メーカー: 翔泳社発売日:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く