CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
2018/7/1 重要なお知らせ JSONIC はリポジトリを GitHub に移動させるとともに、今後機能強化が行われることがないメンテナンスモードに移行します。Java 新バージョンで動作できなくなった場合への対応は要望があれば考えますが、可能であれば、機能、パフォーマンス共に優れた jackson への移行をおすすめいたします。 JSONICとは JSONICは、Java用のシンプルかつ高機能なJSONエンコーダー/デコーダーライブラリです。 Java用のJSONライブラリはすでに多数存在しますが、JSONICはRFC 7159に従った正式なJSON形式でのデコード/エンコードを行いながらも、プログラミング言語に依存する情報をJSON内に含めることなくPOJO(Plain Old Java Object)と自然な変換を行える点に特徴があります。 使い方も非常に簡単です。 import
SIerみんな大好きはてなブックマーク - ござ先輩ノートにサーバ構築のブクマが増えてきました。そろそろサーバ構築のエントリが出現するかもしれませんね!ふと、3月に書いたエントリを思い出しました。アプリケーション層のエンジニアが性能や信頼性の観点でシステムを俯瞰できると、今まで気づかなかった問題が見えてくると思います。Webサービスでもそれは変わらないと思います。どんなWebサービスを提供するにしても、プログラミング以外に知っておくべきことはあります。http://d.hatena.ne.jp/int128/20090314/1237005803逆もまたしかりです。アプリの存在を無視したインフラエンジニアは本当にタチが悪いです。彼らはアプリの実装が悪いと言ってすぐに仕様変更を言い出します。おっと、話が逸れた。インフラエンジニアはアプリケーションエンジニアに比べて圧倒的に有利な点があります。
Perl商標とかエグい 「Perl」の商標登録を、特にオーソライズされたわけじゃない人が勝手に取っちゃった、ということが起きました。エグいですね。 twitterとかブックマークとか見てると、まあそもそも何が起きてるのかよくわからんとか、これをもって「これだから知財(商標)制度は・・・(クソなんだ)」みたいな風に思っちゃってる人とかいるみたいです。その感覚はひょっとしたら半分は正しいかも知れないけど、半分は間違っていると思うので、Perl商標に絡めながら商標制度というもんを解説してみることにしました。 商標法はこんなことを目指している 商標制度というのは、商品とかに文字やマーク(商標)を付けて、その商標によって商品を他の商品と区別して買い物できるようにしたら便利だよね(、っていうかできないと困るよね)、ということで、そういう商標の識別力を保護しようとする制度です。 事業者が識別力のある商標
html5securityのサイトに、XSSの各種攻撃手法がまとめられているのを発見せり!ということで、個人的に「お!」と思った攻撃をサンプルつきでご紹介します。 1. CSS Expression IE7以前には「CSS Expressions」という拡張機能があり、CSS内でJavaScriptを実行できたりします。 <div style="color:expression(alert('XSS'));">a</div> 確認 @IT -[柔軟すぎる]IEのCSS解釈で起こるXSS で詳しく解説されていますが、CSSの解釈が柔軟なことともあいまって自前で無害化するのはなかなか困難。以下のようなコードでもスクリプトが実行されてしまいます。 <div style="color:expr/* コメントの挿入 */ession(alert('XSS'));">a</div> 確認 <div s
今AngelBeats!見てます。天使ちゃんマジ天使でいいと思います。 で、だいぶ前に作ったScala版のちょっと草植えときますね型言語 Grassを改造して、プログラミング言語 「天使ちゃんマジ天使」とプログラミング言語 「ブブゼラ」を作ってみたよ。 Grassは、id:uenoB 作の型無しラムダ計算がベースをした関数型言語らしいです。(6/22追記) ちょっと草植えときますね型言語 Grassについてはこちら。 世界で最初のGrassプログラム - Garage uenoB ちょっと草植えときますね型言語 Grass プログラミング言語 「天使ちゃんマジ天使」 ちょっと草植えときますね型言語 Grassの派生言語というかまんまです。 Grassで使用する文字(w,W,v)をそれぞれ(天使, マジ, ! )に置き換えただけです。 wを出力するプログラム: 天使ちゃんマジマジ天使天使ちゃ
前回は思想ばかり書いたので、今回はSlim3 Datastoreの導入手順などを書いてみようかと思います。 Mavenizeされたプロジェクト構成はまだ敷居が高いうえに、エントリがかぶりそうなのでEclipseのGoogle Pluginを使った方法を紹介していきます。 なお、導入手順としてはSlim3本家サイトのほうが楽です。どちらかというと、これまでに作成したプロジェクトをマイグレーションするひと向けになりそうです。 App Engineに対応したプロジェクトの作成 Google Plugin for Eclipse の使用という本家ページを参考しにしてEclipseプロジェクトを作成してください。 ただ、エントリを書いているタイミングではEclipse 3.5に関する情報が書いていなかったため、英語版も参考になると思います。 ちなみに、紙媒体のものでは第3章あたりを参考にするとよいか
今やリレーショナルデータベース全盛の時代である。 どんなシステムもRDBなしには成り立たなくなっている。 しかし、RDBは本当に便利なのだろうか? 例えば、いまはやりのSNSを考えてみよう。 それぞれのユーザーは他のユーザーとネットワーク的につながりをもっている。 そして、そのつながりは友人関係だったり仕事仲間だったりする。 RDBではそれぞれの表の属性もあらかじめ定義される必要があり、後で属性を追加することは難しい。 しかし、SNSのような人間関係を表現するようなもので事前にデータ構造を予測することができるだろうか。 例えば最初は仕事で知り合った人間でも友人になることがあるし、恋人同士だったのが別れてしまって他人同士になってしまうこともあるだろう。 このようなダイナミックなデータ構造はRDBでは表現するのが難しいだろう。 しかし、グラフDBはこのような用途に向いたDBである。 例えば、T
VoldemortやTokyo Cabinetといったキー/バリューシステムにおけるモデリングの最小単位はキー/バリューペアになる。そして、BigTableやそのクローンでは可変数の属性をもつタプルに、CouchDBやMongoDBといったドキュメントデータベースではドキュメントになる。これに対しグラフデータベースでは、データセット全体をひとつの巨大な高密度ネットワーク構造としてモデル化する。 ここではNOSQLデータベースにおける2つの興味深いポイント、スケーラビリティと複雑さについて詳しく説明する。 1. スケーラビリティ CAP: ACID 対 BASE 従来のデータベースシステムのほとんどは、トランザクションに基づいてデータの完全性を保証する。トランザクションを使うことで、データ管理のあらゆる状況において、データの一貫性を確保している。こうしたトランザクションの性質は、ACID(A
仕事とプライベートで得たことを挙げていきます。頑張って10個書くよ。 チームのパフォーマンスを左右するたった1つのこと それはモチベーションです。ゴールを示して、それを達成するメリットを共有すべき。進捗率と工数だけでは、チームの状態は分かりません。まあプロジェクト管理に必要なのは、どれぐらいの費用を使って、どれぐらいの価値を生み出したか、だけなんですけどね。 生産性とモチベーションは深い関係があると思います。 インフラの構築に必要なこと ラックや電源の設備設計があって、ストレージやサーバの共通設計があって、アプリに合わせて基盤を構築していく。 これは今年最大の収穫で、これからの人生に大きな影響を与えると思います。アプリとインフラの両方が分かることが重要で、どちらかに偏ってはいけません。 データセンタで風邪を引かないためにすべきたった1つのこと ジャケットを持っていくこと。後輩はマフラーと手
OpenSocialコンテナは外部サーバにリクエストを発行する機能があります。gadgets.io.makeRequest()を使ってリソースを取得したり、データを送信したりできます。 var xapp = {}; xapp.configuration = { endpoint: 'http://example.com/api'; }; xapp.query = function (resourceName, cb) { var params = {}; params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET; params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED; params[
ログインお客様の Google アカウントを使用 メールアドレスまたは電話番号 メールアドレスを忘れた場合 ご自分のパソコンでない場合は、シークレット ブラウジング ウィンドウを使用してログインしてください。 ゲストモードの使い方の詳細 次へアカウントを作成
www.hirax.net is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS info
正確にはIT業界の部分集合がSI業界である。IT業界については、エンジニアの未来サミットで見たid:hyoshiok氏の資料がとても良くまとまっていたと思う。 一般には非SI業界が「IT業界」と認識されている節がある。IT業界を語る中でSI業界と非SI業界が一緒に出ることはほとんどないように思う。SIと非SIの間には深い溝がある。 SIは作ってナンボの世界。受注制で食いっぱぐれがない。SIが目指す方向は多くの凡人に簡単な仕事をさせてソフトウェアを作ることにある。プロセス改善のインセンティブと値切りの誘惑 - GeekFactoryでも書いたけど、品質のブレを抑える方向と単金を下げる方向に力が働く。その手段が標準化やオフショアである。 あまりにも内向きに仕事をしているのではないか。自分の作るシステムが顧客にどんな利益を生み出すか、考えたことのある人はどれぐらいいるだろう。それよりチープな人と
MacBookのセットアップが終わり、無事iPhoneSDKも動いてます(^o^)最近色々集めてた、iPhoneアプリ開発関連情報を以下に列挙しておきます。 最初にやること iPhoneアプリ開発の始め方http://d.hatena.ne.jp/yaneurao/20080831#p1 ネイティブアプリ開発に必要な機材http://iphone-dev.jp/modules/pico/index.php?content_id=3 MacBook 買った後にやったことまとめhttp://d.hatena.ne.jp/amachang/20080318/1205824212 MacBookAirを買ったあとにやったことまとめhttp://d.hatena.ne.jp/HolyGrail/20080305/1204729899 iPhone SDKの開発に入る前に読んでおきたい日本語の資料(O
東芝は、同社ノートPC製品25周年モデルとして、マルチタッチ対応の7型液晶を搭載したミニノート「libretto W100」を発表した。価格はオープンプライスだが、店頭想定価格は120,000円半ば。発売予定は8月下旬。 「libretto W100」 背面 libretto W100は、マルチタッチ対応の7型液晶を2枚採用。2つの画面を1つの大きな画面として表示する「IEフル画面」も利用できる。加速度センサにより縦横自動検出が行われ、縦にした状態で利用することも可能。ソフトウェアキーボードを表示し文字入力を行う。 WSVGA(1,024×600)表示可能なタッチパネル付き7.0型ワイド Clear SuperView LED液晶(上部側) 下部液晶。こちらもWSVGA(1,024×600)表示が可能 ソフトウェアキーボードによる文字入力が可能。キーボードのキー配置デザインは4種類用意 仕
App Engine 1.3.4でOpenID認証に対応しました。調べてみると意外と普通にシングルサインオンできたので、使い方と仕組みを説明します。 まず、OpenID認証を要求するURLパターンをweb.xmlに書きます。 <security-constraint> <web-resource-collection> <web-resource-name>Authentication required url</web-resource-name> <url-pattern>/user/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>*</role-name> </auth-constraint> </security-constraint> 例えば http://xxx.appspot.co
mixiアプリからのリクエストに対して署名検証を行うサーブレットフィルタを作りました。Apache Tomcatなどのサーブレットコンテナで使用できます。 ではサーブレット内で署名検証を行っていますが、このフィルタを使うとサーブレット内の実装が不要になります。 必要なもの 最新のバージョンは0.3です。 バージョン リリース日 ダウンロード コメント 0.1 2010/1/10 oauth-filter-0.1.jar 最初のリリース。 0.2 2010/1/10 oauth-filter-0.2.jar ValidationEventListenerの仕様を変更しました。 0.3 2010/1/16 oauth-filter-0.3.jar リバースプロキシ対応のValidationEventListenerを追加しました。 ServletRequestからURLを組み立てる際のバグを修
ライブラリをパッケージして配布する時、なるべく依存するjarを減らしたいことがあります。Mavenを使えば何ともないのですが、敷居を下げる意味では「1つのjarだけ入れれば動きます」が望ましいと思います。*1 Commons DigesterやJAXBを使うと、XML設定ファイルの読み込みが飛躍的に簡単になります。一方で、ライブラリを配布する時は同梱するか注意書きを加える必要があります。そこで、他ライブラリに依存せずJREだけでXMLを読み込む方法を考えてみました。 Java 5から標準になったXPathを使うと、XMLから任意のノードを簡単に取り出すことが可能です。XPathクラスをそのまま使うと記述量が増えるので、XPathをラップするクラスを用意します。 package org.hidetake.util.xml; import java.io.IOException; import
不景気の波がSIerを直撃しています。世間より半年ぐらい遅れている気がします。回復するのも半年ずれるでしょう。 世間が不景気になったらSIerはどうなるか考えてみます。まずは売上の変化。 ユーザ企業からの受注高が減る。 稼働している社員が減る。 余剰人員が生まれる。 外注より直営を優先する。 パートナーの売上が減る。 次に、プロジェクトへの影響を考えてみます。 プロジェクトで使える費用が減る。 プロジェクトの人件費を削る。 一人当たりの仕事量が増える。 スポットの外注が増えて、一貫した仕事ができなくなる。 デスマ化する。 問題プロジェクトが発生する。 プロジェクト外で余剰人員をかき集める。 プロジェクトの人件費が増加するが、全社的には余剰人員の活用で相殺される。 まとめると、 一人当たりの仕事量が増える。 部門間の人材流動性が一時的に高まる。 直営社員は問題プロジェクトに投入される可能性が
アジャイルって受託開発との相性が最悪な気がするより。釣りっぽい記事な気もするんだけど。 SIerから見たアジャイル 工程の分断が絶対許されないから、上流工程と下流工程を別会社が担当する今の日本の受託開発業との相性は最悪だね。自分たちで全部やれる人材が揃ってないといけない上に、コミュニケーションを綿密にとらないと成果物がグダグダになりそうだから、人月との相性も悪い。 要件まとめてぽーんと丸投げしたほうがSIerとしては美味しいわけだから、なんでこんな苦労を別にしなくちゃならないの的な話になってる所がいっぱいいそうなんだけど、どうだろう。アジャイル導入って自己否定なんじゃないのかしら。だからやりたくても出来ないんだね、これ。 今の日本のSIerのモデルは“まだ"建設業みたいな多重階層の構造であることは間違いない。 収益性については、一次受けのSIerは少ない要員で沢山のプロジェクトを外注使って
大企業, SIerただ僕が顧客ならば動くソフトウェアを確認しながらウチの業務プロセスにフィットするかを確かめながら進めたいと強く思うので、そのメリットを価値に変えるストーリーがあればいいと思うんだけど、自分たちの手でシステムを進化させる文化が根付いていない所には「なにそれ?おいしいの?」という響かない提案になると非常に思うので、やっぱ内製だろって思ってしまう今日この頃です。http://d.hatena.ne.jp/gothedistance/20100212/1265907956id:gothedistanceさんの釣り力には本当に感嘆します。タイトルにアジャイル開発とか入れておきながら、結論は内製で締めています。読者を流行語でget()して自分の論説にforward()するとは、実に素晴らしいエンターテイメントです。と、無茶いってごめんなさい。アジャイル開発の本質は顧客が主体性を持つこ
Apache Tomcat 5.5.26(6.0.16も同じ)で、HTTPクッキーの取り扱いについて大きな仕様変更が行われました。ここでは仕様変更の内容と影響範囲を考察します。 HTTPクッキー 簡単に復習しましょう。WebブラウザがWebサーバから以下のHTTPヘッダを受信したとき、Webブラウザは test というクッキーを記憶します。 Set-Cookie: test=nullpo; Expires=Wed, 08-Oct-2008 14:03:16 GMT; Path=/クッキーは NAME=VALUE という形で表現されます。連想配列と同じ。 NAME VALUE test nullpo 一度クッキーを受信すると、ブラウザは当該URLにアクセスする度に、以下のHTTPヘッダを送信するようになります。 Cookie: test=nullpoこのように、クッキーはWebサーバがブラウ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く