2013年11月11日月曜日

debianのapacheでrewrite有効化メモ

たぶんubuntuでも一緒。

今組み込まれているモジュールを表示してみる

# /usr/sbin/apache2ctl -l

mod_rewriteがなかったら下記で組み込む

# a2enmod rewrite

apache再起動
httpd.confとかでonすればあとは普通につかえる。下記みたいに。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ http://shase428.blogspot.jp? [R]
</IfModule>

2013年11月10日日曜日

JJUG CCC 2013 Fall 参加めも

今回はじめて、JJUG CCCに参加してきました。
http://www.java-users.jp/?page_id=695(これ)

なんか、devloveさんのイベントとかぶっていたので、こちらに来れなかった人もいるのかもしれませんね〜。

全般的にとても楽しく、モチベーションの向上につながりました。次もぜひ参加したいなーと。

運営の皆様ありがとうございましたm(_ _)m

今回は下記のセッションに参加しました。

参加したセッションと簡単な感想


  • JSR 310 "Date and Time API" への招待
    • 8以降だと、日付周りはJSR 310使うと楽そうだな〜と思います。
  • テンプレートエンジンを利用して、プログラマーとWebデザイナーが共同作業をする上で大切なこと
    • 問題意識の部分はかなり同意できた
    • これからテンプレートエンジン使わない開発になっていくから、どういう分業になるのか、まだちょっとわからないよな〜とかモヤモヤ考えていた
    • 自分の環境だとフロントのエンジニアとバックエンドのエンジニアがいて、デザイナー⇔フロントエンジニア⇔サーバサイドエンジニアの3層構造になっていて、またちょっと違う(が、境界の部分はいろいろ考えないといけないことがある)
    • このセッションはデザイナ⇔エンジニアの2層構造のときの話
  • ユニットテスト改善ガイド
    • 問題意識が、だいたい同じで、そんなズレてなくてよかったと思った。
    • Junit徹底入門ちゃんと読みます。。。
  • Javaアプリケーションサーバ構築・運用の勘所
    • 知ってることもあったが、知らないこともあった。とても勉強になったわー。
  • JVMコードリーディング入門 ~JVMのOS抽象化レイヤーについて~
    • いつかチャレンジしたいJVMのコードリーディング
    • やっぱc++勉強しないと、という気に
  • Over the Node.js. An Introduction to Vert.x
    • Javaにもこんなものが!(はじめて知った)
  • Spring Frameworkの今 (2013年版)
    • なんかすげードキュメントが公開予定らしいので期待
  • 懇親会
    • みなさんのLTおもしろいww

スライドリンク

公式まとめあるのかな?とりあえずtwitterで拾えたもの貼りました

LTのかた

以下完全に雑多なメモになります



◯Date and Time APIへの招待

時間の定義

UT:世界時
 観測地点に依存しない
 1928

TAI:原子時
 1955
 原子時計に基づく正確な時刻

UTC:協定世界時
 1972
 TAIにうるう秒を加え、UTIとの誤差を調整

地方標準時とタイムゾーン
 UTCに時差を加える

タイムゾーンはコンピュータの世界では標準化されている
 tz database(tzdb)
 tz databaseは随時更新されている
 例:Asia/Tokyo
 javaのupdateのたびに、tzdbも更新されている

Java 8における時刻、時間の表現

java.util.Date   ANSI/ISO Cのtime_tと同等。現在は表現のみに徹する。
java.util.Calendar  Java国際化対応(JDK 1.1で導入)。日付・時刻の作成・編集に用いる。
java.time.*   JDK8から。Date/Calendar代替が当初の目標。日付・時刻を総合的に扱うフレームワーク。規模的にもJDK8の新APIでも最大級
(JSR 310)

Dateの課題
 フィールド操作が面倒
 年フィールド+1900が実際の年
 月が0から始まる
 フィールドの直接操作が非推奨(Calendarを使う)
 日付部と時刻部が混在
 日付演算が貧弱
 フォーマットも使い勝手に難
 JDK1.1以降、一部例外を覗いてメンテナンスなし

Calendarの課題
 フィールド操作が面倒(Dateよりはまし)
 月が0から始まる
 フィールド操作の使い勝手がいまいち
 日付演算が貧弱
 日付・時刻型と認識されないことも多い

Java8でのCalendarの改善
 JDK8より、Calendar.Builderを導入

とはいえ貧弱

JSR310:Date and Time API
 Date,Calendar,DateFormatを置き換えが目的
 ISO 8601形式の表現
 immutableかつスレッドセーフなAPI

 

内部表現
 時間軸:clock
 ある時点:instant


◯ユニットテスト改善ガイド

参考書
実践アジャイルテスト

写経のススメ
 サンプル問題
 ローカルjenkins
 問題意識はズレてない

テストコードのメンテナンスをしましょう
 プロダクション以上に冗長
 量も多い
 後でリファクタリングするでは遅い
 3つ目をコピペする、ではプログラマーではない!!!!!!!!!!!!!!!!
 あとでリファクタリングする、では遅い!!!!!!!!!!!!!!!!!!!
 最初からリファクタリングする
 とてもコストがかかります

◯Javaアプリケーションサーバ構築・運用の勘所

ログ管理
 ログをきちんと取得していないシステムはスピードメーターが壊れている車と同じ

なんといってもGCログ
日時データがないログは意味が無い
GCViewer便利
 本家はstopしてしまった
 forkされてなんか開発中(datestamp対応)
GCログの上書きに注意

ヒープダンプの前に、ヒープのヒストグラムを取るケースもあるかも
通常時のヒープダンプと差分を取る

スレッドダンプ解析ツール
 ThreadLogic
 WebLogicに向いている、が、他のアプリケーションでも使える

Mbeanの分析
 Java Mission Control
 お金取られます.Java SEのAdvanceライセンス