開発

1月23日、JavaOne 2015 報告会 in 大阪に参加してきた

3週間前になりますが参加したのでメモレベルですがアップしておきます。 (メモレベルなのでキーワードを拾ってもらって気になるものは各自調べていただければ。) kanjava.connpass.com 2016年1月23日当日、朝から少し用事があったため、13時を少しまわって…

Dukeと一緒に開発

オフィスの自分のデスクに、マイDukeを置いています。Dukeに見守られながら、今日もEclipseを触ってました。

エンジニアとして快感を感じる瞬間、とは

大学からプログラミング言語に触れ、エンジニアとなってある程度経ちました。 改めて表題のようなことを聞かれたら、自分ならなんて応えるだろう、と今日たまたま、ふと思ったので日記のネタにしてみます。今の自分ならTOP3はこんな感じ。(たぶん数年前か…

久しぶりにSeasarのカンファレンスがあるようですね

久しぶりにSeasarのHPを見てみると、イベント情報にカンファレンスの開催内容が載っていました。 2015年9月26日(土)に法政大学様で Seasar Conference 2015 を開催いたします。 2004年3月、DI・AOPコンテナとして公開されたSeasar2をきっかけにSeasar Projec…

チューニング力

自分の好きな分野なので迷わず購入。 読み込まなきゃ。 SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)作者: ミック出版社/メーカー: 技術評論社発売日: 2015/04/11メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る…

朝からMacにSQLiteとMySQLをインストール

MacBook Airを3年ちょっと使っていますが、実は実はまだ入れていなかったDB関連。ちょっと気が向いたので、今朝入れてみました。それにしても、SQLiteは相変わらず作りがシンプルで分かりやすくいていいですね。 ちょっとしたことならこれで十分。 下手にち…

ツールやフレームワークは使いこなせてなんぼ

この2週間ほど、久しぶりにSAStrut+S2JDBCを触っています。 ベースとなる部分を作るというのがメインで、JSPやAction、Serviceのほとんどは協力会社さんに作ってもらいました。 今週に入り、それの手直しをしています。ソースを見ていて思うのですが、行数が…

技術本のKindle版が安売りしている!

あの分厚く、高い技術本がKindleで半額以下のセールしてる。 今、買えっておきたいものは買っておこ。 要件定義・設計 エリック・エヴァンスのドメイン駆動設計 ¥5,616 → ¥2,600 アジャイル・スクラム エッセンシャル スクラム ¥4,101 → ¥1,900 アジャイルソ…

「Beginning Java EE 7」が無料でダウンロードできる

ネットで調べ物をしててたまたま見つけたのですが、Apressってとこから出されている「Beginning Java EE 7」がfreeで公開されていました。 PDF形式をダウンロードしてDropboxに確保してます。Beginning Java EE 7 - Free Download eBook - pdf Beginning Jav…

Hibernateのキャッシュアクセスの罠

少し前に会社であった開発のお話。 Hibernateで二次キャッシュを使うようehcache.xmlの設定や、マッピングファイルにタグを入れるなどして設定をしていました。 確かに、キャッシュの設定が入ったことは確認しました。でも今週、あるパフォーマンスの悪い処…

AppleのSwiftでもう実装してる・・・

半端ない!アップルの swift でスズキの swift を実装した #swift pic.twitter.com/O3OuytsByi— しみず (@shimy_net) 2014, 6月 3Swiftって流行るかな〜 明日、Swift効果でスズキの株価があがったりして。

HTML5 Conference 2013 (11/30 (Sat))

HTML5のカンファレンスが、これまた東京で11/30(Sat)にあるみたいですね。HTML5 Conference 2013 細かいことはまだ発表されていないみたいです。

楽天テクノロジーカンファレンス

関西DevLoveのFBで知りましたが、10/26(Sat)に楽天テクノロジーカンファレンスなるものがあるようです。 Rakuten Technology Conference 2013: Osaka Satellite やります! #rakutentech - Mitsuyuki.Shiibaメインはもちろん東京ですが、大阪と仙台もサテラ…

for文をマルチスレッドで実行 (Java Day Tokyo 2013)

Java Day Tokyo 2013 の午前中のセッションで印象の残ったコードをメモ。 for (Shape s : shapes) { if (s.getColor() == BLUE) s.setColor(RED); }シンプルだし一般的でもあるのですが、Collectionが大きい。 でも並列処理がこれだと出来ない。 それはシリ…

2013/5/11 DevLOVE関西「SQLアンチパターン・レトロスペクティブ関西・リターン 」に参加

2013/5/11(土)の13:00より、DevLOVE関西「SQLアンチパターン・レトロスペクティブ関西・リターン 」が楽天さんのカフェテリアで実施するというのをたまたま4月末に発見し、思い切って参加してきました。SQLアンチパターンの本はそれより前に購入していて、内…

OracleがJavaのアップデートを公開、5件の脆弱性に対応

皆さんのWindowsにはJavaのアップデートが一気に出始めたはず。 19日に公開されたアップデートは、「Java SE JDK および JRE 7 Update 15」「Java SE JDK および JRE 6 Update 41」の2種類で、5件の脆弱性を修正している。中にはネットワークを介してリモー…

スクラムのお勉強

届いたので読まなきゃ。 あとは少しでも現場で実践しなきゃ。(´・ω・`)アジャイル開発とスクラム 顧客・技術・経営をつなぐ協調的ソフトウェア開発マネジメント作者: 平鍋健児,野中郁次郎出版社/メーカー: 翔泳社発売日: 2013/01/18メディア: 単行本(ソフト…

「Web Speech API」

これでまた何か新しいサービスができそう。 デスクトップ上で音声をテキストに変換する機能を実装できるようになった。Webページに音声認識機能を追加する方法を紹介したチュートリアルとデモも公開している。

ドラクエXとアジャイル

読み返してみて興味があったので、いくつか引用。 「ドラクエXのようなトリプルA級タイトルの開発スケジュールは最初から組み替えることが前提。イレギュラーな事案が発生するのは大規模開発では当然のこと。 : 100名を超えるような大規模プロジェクトの場…

Windows7 64bit でEcilpseを使う場合、32bit? 64bit?

64bitのWindows7にEclipseを入れようとしているのですが、その際にEclipseをまず32bitか、64bitのどちらにするかをいろいろ試しながら精査している。JDKも32bitと64bitで別々に入れてみて、Eclipseをそれぞれで稼働させていますが、ほぼ問題はないのかな、と…

アウトオブ…

エラーログをよくよく見るとOutOfMemoryだったんでいろいろ調べたら遅くなってしまった。 結局GCの設定が悪いのか、ソースが悪いのか、キャパオーバーなのか、結論付けることが出来なかった。 Permanent領域があふれたので、原因追求がなかなか難しい。 まあ…

単体テストでエビデンスが欲しいのではない

単体テストレベルのシステムの品質について、ケースよりもエビデンスをしっかり作る人は超危険、という答えにたどり着いた。単体テストで網羅してなかったら、後続ではとてもじゃないけどカバーできないぜ。画面エビデンスを丹念に確認するぐらいなら自分で…

Oracleで4000byte以上の文字列を扱うときの世間の設計方法は?

データ型 - オラクル・Oracleをマスターするための基本と仕組みOracleのvarcharは4000byteが上限なのですが、当然システムを作っていると4000byteを超えるものも多々あるわけでして。 そんなとき、世間ではどういう設計をしているんだろうか。LOB型を使う?…

EL式を拡張した、8つのSAStrutsファンクション

久しぶりにSAStrutsを触って度忘れしたのでメモ。 HTMLエスケープ:f:h() URLエンコーディング:f:u() 改行を<br />タグに変換:f:br() 半角スペースをそのまま表示:f:nbsp() 日付をフォーマットして表示:f:date() 数値をフォーマットして表示:f:number() <a>タグ</a>…

ORA-03297に絶望を覚える

昨夜、ORA-03297についていろいろ調べてたら、激しくめんどくさいことは分かった。特に参考になったのはここ。 http://d.hatena.ne.jp/bluerabbit/20100202/1265096263 10GBの表領域で1GBしか使用していないのにエラーが出た これは、縮小可能なのはデータフ…

Data Pump、その後・・・

Data Pumpによるゴミデータ? - しょうたろー日記 は↓で解決。 @sho_ishi これですかね?ステップ4の。URL2011-07-11 20:30:22 via Echofon to @sho_ishi Step 04: Check for existing data pump jobs by query issued in step 01. If objects are in recycl…

Data Pumpによるゴミデータ?

業務でData Pump(impdp)を使っているのですが、下記SQLを実行したときに出てくるゴミのようなデータの消し方が分からない。。 select * from dba_datapump_jobs; 上記SQLの結果はこんな感じ。 OWNER_NAME JOB_NAME OPERATION JOB_MODE HOGEUSER BIN$nDACIOUE…

dokuwikiで検索インデックスを更新する方法

会社でdokuwikiを使っているのだが、最近更新した内容(新規追加含む)が検索結果に反映されないことに気づいた。 なので、あらかじめ用意されているコマンドラインでインデックスを更新。 cd $DOKUWIKIのHOME/bin php indexer.phpページ数にもよりますが、…

ソフトウェアのテストについて

「プロセス」における「Context-driven School」という考え方だ。これは「“文脈や背景”を考えてテストを行う」ことの重要性を説くもの。 : 「仮にベストプラクティスという言葉を“どんなものにも適用できるもの”と定義するなら、テストにベストプラクティス…

HTML5の機能

日経コンピュータより抜粋。 機能名 内容 canvas 自由なグラフィックスの描画を可能とする新たなHTML要素。JavaScriptでグラフィックスを描画できる SVG XMLで記述したベクターグラフィックス言語、または画像のフォーマット video 動画の再生を行うことがで…

ORA-26026が出た!

開発環境にてバッチをまわしてたら、ORA-26026が出た。 今まで見たことがない。Oracleにはこうかかれている。 ORA-26026: 一意索引string.stringは初期状態では使用不可です。 原因: 一意索引がIU状態にあります(一意索引では、SKIP_UNUSABLE_INDEXESを使用…

CORBA

会社の後輩が、業務でCORBAを使うことになりそうとのこと。しかも使用用途はリアルタイムな参照系。6年前の知識を元にアドバイスはしてみた。 たぶんクソ遅いよ、と。 今のCORBAって速くなったりしてるんかな!? #仕様的に無理な気がします

Javaでのお決まりな書き方とそれから反れる書き方

IBMのdeveloperWorks Japanより。 この記事では、仮に問題があるとしても、意味的にはそれほど重要でないがために見過ごされがちな Java プログラミングの詳細を取り上げます。これらの問題は単にスタイルと慣例に関連することでしかありません。なかには問…

MySQLと睨めっこ

休日、レンタルサーバ(さくらインターネット)のMySQLを 設定してて、バージョンを4.0->5.1にしたらinnoDBが 使えない。。。なんじゃそりゃ。。あるのは MyISAM、Archive, Memory 。まあたいしたトランザクションは想定していない(そうなってくれれば逆に 嬉…

S2JDBCでJNDI経由だとロールバックが正常に処理されない!?

現場にて起きている怪現象。構成は、SAStruts(1.0.4-sp1) + S2JDBC(2.4.28) + Tomcat(6.0.18) + Oracle11g。jdbc.diconの設定を、org.seasar.extension.dbcp.impl.XADataSourceImpl から javax.sql.DataSource に変えると、ActionクラスでException発生 時に…

slim3をチェックアウトしてみた

https://www.slim3.org/svn/ より、slim3をチェックアウトしてみた。すると、下記のようなエラーがEclipseから出た。>>09/06/03 8:24:51 JST: Unable to read slim3/pom.xml; The version cannot be empty.pom.xmlでがありまへんとどうも怒られているらしい。…

S2DaoとS2JDBCはどちらがよい?

先日、会社の後輩からこんな質問がきた。で、個人的にはS2Daoがお好きだが、SAStrutsを使うことらしいのでそれならS2JDBCの方がいいのでは?と言っておいた。まだ自分自身、SAStruts+S2Daoでやったことがないからなんとも言えなかったのが本音だが。 Teeda…

JdbcManager.selectBySqlでのStringBufferとStringBuilder

S2JDBCで、JdbcManager.selectBySqlを使用しているところが多いのだが、SQL発行時にかなりの割合でStringBufferを使っている。#ほとんど自分だけしかStringBuilderを使ってない正直、スレッドセーフじゃなくてよいでしょう。 ましてメソッド内でインスタン…

ここが変だよあれが変だよ、COBOL

@ITにて。 1. 英語の表現に近い言語であること 「MOVE INPUT-AREA TO OUTPUT-AREA」とか「ADD 1 TO INDEX-1」のような英語らしい表現による構文が採用されています。2. 固定桁数の十進算術演算を処理できること 明示的な十進演算が可能です。プログラマはそ…

Javaの負の数の切り捨て・四捨五入にはご注意!

切り捨てや四捨五入は基本的に正の数でやることが多いです。で、今回業務で負の数の切り捨て・四捨五入を調べていて、Javaではやり方が2通りあり、しかもそれぞれで値が変わってしまうという問題にぶち当たりました。以下に、切り捨ておよび四捨五入の書き方…

Webページを速く見せるための5つのちょっとした工夫

1. CSSはソースコードの上部に記述する 2. JavaScriptはソースコードの下部に記述する 3. CSSとJavaScriptを書く順番 4. JavaScriptを圧縮して読み込みを速くする 5. 読み込みが遅いブログパーツには要注意 怠るとページがなかなか見れないという、意外と影…

SAStrutsのServiceにFormを渡していいのか?

基本的にActionでは処理を書かずにServiceで書くようにすると、どうしてもFormの内容をそのまま渡したいことがある。これってSAStruts的にOKなのだろうか?!チュートリアルのソースにはServiceのソースがないので、いまいち疑問が解決できん。。。すんませ…

永遠のテーマ

ソフトウェアの開発生産性の向上は、開発組織にとって永遠のテーマといえるでしょう。“再利用”はそもそも「いかに作らずに済ますか?」を念頭に置いた異なるアプローチです。ソフトウェア再利用は、『ソフトウェア再利用の神話』(※)という名の書籍が出るほ…

Subversionじゃないのね・・・

リーナスのお言葉。 「Subversionほど的外れなプロジェクトはない。スローガンは、正しく作られたCVSというものだけど、CVSを正しくやるなんてできないんだから」。「ブランチを作ることなんて問題じゃない。マージこそが重要なんだ。マージしようとしたある…

自分より上の人の上につくとき

開発部にはいくつかチームがあり、チームごとにチームリーダーがいます。チームリーダーをまとめるのが部長の役割ですが、そのチームリーダーが部長より偉い場合があるわけです。ややこしいです。 中にはポスドク(ポストドクター)もいます。そういう人たち…

Perlよ、再び

Perlは、特にWebサービス開発の現場では広く使われてきた歴史のある言語だが、歴史が古い分、誤解も多いという。PerlはCGIと関連付けられて捉えられることが多いほか、比較的自由な書き方が可能であるために可読性やメンテナンスの面で問題があると見られる…

HP-UXでmallocを使うときは気をつけて!

C言語でメモリ割当にmallocを使うことがあるかと思います。このmalloc、HP-UX 11iからだとヘッダのinclude次第で内容が変わってきます。 #include <stdlib.h> void *malloc(size_t size); #include <malloc.h> char *malloc(unsigned size); 詳しくはこちらを参照。 http://docs.</malloc.h></stdlib.h>…

太ったアクション

今回からはMVCモデルの“Model”の部分に踏み込み、昨今のアプリケーション開発において「必須」ともいえるデータベース(以下、DB)との連携と、その仕組みを、実際に連携したサンプルアプリケーションを作りながら詳しく説明していきたいと思います。■ Java…

findしてrm

よく忘れるのでメモ。 $ find . -name "hoge" -exec rm {} \;

DIについて

DIに関してお勉強&復習。 一昨日、SeasarConで1コマ話をしてきました。「DIことはじめ」と題して、そもそもDIってどんなもので、どういう時に使って、どうなるのか、という事を、基礎から確認していくセッションでした。