タグ

あとで読むに関するirofのブックマーク (32)

  • lambda-behaveでテストを書こう · zephiransasのチラシの裏

    これはJavaアドベントカレンダー2014の12/16分の記事です。 昨日はgrimroseさんの、[書評] Gradle徹底入門 でした。 明日は@com4dcさんの、はじめて触るStreamの世界 です。 自分はJavaのテストフレームワークである、lambda-behaveについて紹介します。 自分は普段はRailsでの開発を行っているのですが、現場では主にRSpecを使ってテストを記述しています。RSpecでのテストは以下のような感じです。 describe 'Sample' do context 'hogeメソッドについて' do it 'fugaを返すこと' do Sample.hoge.should == "fuga" end end end RSpecでは上記のようにDSLを使って、なにをテストしているかを構造的に記述することができます。 lambda-behaveを使うと

  • Transfer-Encoding: chunked について - 理系学生日記

    Tomcat をコンテナとした Servlet のコード上で Content-Length ヘッダを設定していたのですが、なぜか HTTP レスポンスのヘッダには Content-Length が出力されないという事象が確認されました。 これは一体なぜなのだろうと調べていると、当該レスポンスのヘッダに Transfer-Encoding: Chunked が出力されていることに気付きました。 Chunked は HTTP/1.1 で定義されている方式です。RFC 2068 には以下のような記述があり、Chunked と Content-Length を共存させてはいけない (MUST NOT) ことが分かります。) Messages MUST NOT include both a Content-Length header field and the "chunked" transfer

    Transfer-Encoding: chunked について - 理系学生日記
  • 「自分の勉強会遍歴」について - 418 | I'm a teapot

    新年あけましておめでとうございます。 年末の振り返りとかほとんどやったことがなく、あと思うところがあって、一気にここ数年分の振り返りをしたいと思ったのでちょっと長くなりますが「自分の勉強会遍歴」について書いてみます。 ※記憶が曖昧なため、若干時間が前後したり、事実とは異なった箇所があるかもしれませんが、その場合はあしからずご了承ください。 〜〜〜〜〜 初めて参加した勉強会は「Seasar Conference 2006 Spring」でした。 そのときの自分の上司にSeasar関連の知り合いがたくさんいて、その上司が当時の会社の今までの開発言語をPHPからJavaに変えたのがきっかけでJava仕事で使い始めました。 そんな時、その上司に教えてもらったのがSeasar Conferenceでした。 当時は仕事を始めて2年経ち、それなりに仕事もできるようになってきた(と自分では勝手に)思って

    「自分の勉強会遍歴」について - 418 | I'm a teapot
    irof
    irof 2013/01/12
    #ナイスカレー
  • ArquillianとTDD - 不悔必省

    棚卸し5日目。Arquillianはあくまでツールなので、どんな使い方をしてもかまわない。だけどやっぱりTest Driven Developmentの思想はいろんなところで透けて見える。 例えばガイドもそうだし、下に載せるDan Allenのスライドにも謳ってある。 TDDで大事なところは例えばこんなところ 開発者がテストを作成する。テストというよりは、テスト可能な仕様として作成する。 網羅率100%は要求しない*1。開発者が仕様上、実装上で確認したいところを作成する。 実行速度が重要。コーディングの手を止めないよう短時間でテストが終わる必要がある。 ほかにもいろいろあるけれど、この「速度」や「開発者のテスト」の観点を抜くと、Arquillianの魅力は半減すると思う。TDDって誤解されて伝わっていたり、拒絶反応があったりして、全面に押し出してArquillianを紹介することはちょっと

    ArquillianとTDD - 不悔必省
    irof
    irof 2012/12/05
    "TDDって誤解されて伝わっていたり、拒絶反応があったり"
  • 「よりよいコードを求めて命名について頭をひねる会」のログ

    http://www.zusaar.com/event/438105 アプリケーションを作る英語 の著者の西野さんを交えて、クラス名とかメソッド名とか変数名とか命名で困っている課題を1つ以上持ち寄りみんなで一緒に検討する勉強会をしました。 「アプリケーションを作る英語電子書籍 http://tatsu-zine.com/books/english4app 紙 http://www.amazon.co.jp/gp/product/4844332848/ はじめに:西野さんからちょっとお話 The Art of Readable Code から第2章と第3章 第2章:名前に情報を詰め込むようにする どういう情報をつめこむか。 明確な言葉を選ぶ get は不明確らしい getPage(url) -> FetchPage(url) や DownloadPage(url) 特色のある(color

    「よりよいコードを求めて命名について頭をひねる会」のログ
    irof
    irof 2012/11/13
    読みながら頭ひねる
  • 英語でコミットを書こう

    Cheating the UX When There Is Nothing More to Optimize - PixelPioneers

    英語でコミットを書こう
  • デプロイ作業の属人化を徹底的に排除したい話 - @kyanny's blog

    ここ数カ月、デプロイとリリースについて、同僚や友人と議論したり雑談したりする機会が数多くあった。そんな折に、友人から Facebook のリリースエンジニアリングチームについて教えてもらった。曰く、 Facebook ではリリース作業を専門とするチームがあり、そこのメンバーは開発ブランチのコミットとそれに付随する ITS の議論を精査した上でリリースに値する変更をリリースブランチへ cherry-pick するのだそうだ。 2012/07/25 追記 Facebook のリリースエンジニアリングについては Facebook のリリースと文化 - Kato Kazuyoshi を参照のこと cherry-pick は無いわー、というのは置いておくとしても、リリースという極めて重要な作業が特定の人たちに委ねられている点に恐ろしさを感じた。嫌だと思うのはなぜなのかしばらく考えて、デプロイ作業の属

    デプロイ作業の属人化を徹底的に排除したい話 - @kyanny's blog
  • 「Java SE 6完全攻略」第69回 第三のパーサ - StAX その1

    今月から,XMLとWebサービスに関するJava SE 6の新機能を紹介していきます。 今まで,WebサービスJava EEだけで扱われていました。Java EEではWebサービスを提供する側の機能が中心になっています。しかし,提供するだけでなく,Webサービスを使う側の機能も重要です。 Java SE 6では,この使う側,つまりWebサービスのクライアント機能が取りいれられました。また,それに応じて,XMLを扱う機能も強化されています。 そこで,連載ではWebサービスの基幹となる,XMLを扱う機能から紹介していくことにしましょう。 DOM,SAX,そしてStAX Java SE 6では,新しいXMLパーサが仲間入りすることになりました。その名はStreaming API for XML,通称StAXです。 StAXはJCPのJSR 173で標準策定が行なわれました。Java SEに取

    「Java SE 6完全攻略」第69回 第三のパーサ - StAX その1
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • Charming Python: Functional programming in Python, Part 3

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Charming Python: Functional programming in Python, Part 3
  • ということで、バイトコードコンパイラを作ってみる。 - きしだのHatena

    おとといと昨日のプログラムを組み合わせて、数式をバイトコードにコンパイルして実行させてみました。 import java.io.*; import java.text.ParseException; import java.util.Stack; public class Compiler { public static void main(String[] a) throws Exception{ System.out.printf("%d : %d%n", eval("4-3"), 4-3); System.out.printf("%d : %d%n", eval("4--3"), 4- -3); System.out.printf("%d : %d%n", eval("((-12 + 3) * 2)"), ((-12 + 3) * 2)); System.out.printf("%d

    ということで、バイトコードコンパイラを作ってみる。 - きしだのHatena
    irof
    irof 2011/11/14
    こんどやってみる。そのうち。きっと。たぶん。
  • JavaSE 7でメソッド名に使えなくなった文字 | 株式会社エイチ・オー・エス

    パッケージJava製品開発担当の大です。こんにちは。 朝晩はだいぶ肌寒くなって、秋らしい空気になってきましたね。 前回も書いたとおり、現在HOSでは製品のJavaSE 7での動作検証を進めています。JavaSE 7で早く使いたい方、申し訳ありませんがいましばらくお待ちください。 さて、検証している上でちょっと困ったことが出てきました。従来動いていたテストコードの一部が、JavaSE 7ではコンパイルもできなくなってしまったのです。これはJavaSE 7の不具合か?と思い、調査してみました。 日語のテストメソッド名 製品のクラス名やメソッド名では使いませんが、開発時のユニットテストのメソッド名やクラス名は、最近は、基的に日語で書くようになりました。これまで日語メソッド名で特に問題が起こっていなかったことと、テストのレポートの出力がアルファベットのキャメルケースに比べ圧倒的に見やすいか

    JavaSE 7でメソッド名に使えなくなった文字 | 株式会社エイチ・オー・エス
    irof
    irof 2011/11/05
  • あなたのソースを汚くして生産性も下げている、たったひとつの間違い - よくわかりません

    この内容には私も全面的に賛成で、クラスやフィールド、メソッド、名前空間など、とにかく文字として表れる名前には、必ず、例外なく、正しく誤解のない命名を徹底することが非常に重要だ。 http://blog.livedoor.jp/lalha/archives/50261226.html 先のエントリは、danさん*1やlalhaさんにまで言及いただき大変光栄で、なにより多くの人に読んでもらえた。多謝。 一方で、自分で読み直すと「先のエントリ」は、いくぶん観念的でいまいちよく分からないところもあるかなと思った。というわけで、より実践に結びつきやすいように、「何に気をつければいいのか」「どういう考え方でコードを書けばいいのか」を書いてみる。 lalhaさんがエントリで強調したかったという (1) 適当に書いたコードは後でとても大きな被害をもたらす可能性が高い への包括的な対策であり、 (2) たく

    あなたのソースを汚くして生産性も下げている、たったひとつの間違い - よくわかりません
  • テスト自動化の目的 - 千里霧中

    最近あるMLでテスト自動化の目的について考える機会があったのですが、今回は整理としてそこで言及したことをまとめたいと思います。 色々な目的 よく言及されていますが、テスト自動化の目的は単に「人がやっていることをツールにやらせて楽をする」といったものに限りません。思いつくものでも、例えば以下があります。 繰り返し作業を効率化する 何度も繰り返す作業を自動化して、繰り返しによる作業重複分を効率化します。 継続的なテストの実現 テストの繰り返し実行を容易にして、高頻度の回帰テストを実現します。例えばCIへのテストの組み込み等を実現します。 素早いフィードバックの実現 継続的なテストの実現により、コミットといった小さな追加・変更のステップごとのテスト実行を実現します。これによりプロダクトやテストの追加・変更を小さな単位でテストをしつつ進められるようにします。 バグの早期検出の実現 頻繁な回帰テスト

    テスト自動化の目的 - 千里霧中
  • Linux(x86)で使えるメモリサイズ

    Linux(x86)で使えるメモリサイズ x86 (386, 486, Pentium ...) の Linux では,最新のカーネルを使えば 64GB まで使える,などと聞かれたことがあるかも知れませんが,これはシステム全体として使えるメモリサイズで,1 プロセスではこんなに使えません。まず,32bit のアーキテクチャということで 4GB (2^32B) の壁があるのですが,実は更に制限があります。 簡単にまとめますと, 1回の malloc のサイズが 128kB 以下のものの合計: 約 1GB まで 1回の malloc のサイズが 128kB 以上のものの合計: 約 2GB まで となっています。要するに,大きなサイズで malloc してると 2GB まで, 細かく malloc してると 1GB までしかつかえない,ということです。 それぞれアドレス空間の別の部

  • モックによるインターフェイスの発見 - Digital Romanticism

    設計ツールとしてのモックの使い方について考える。 導入 先日、"Mock Roles, not Objects"の日語版「ロールをモックせよ」を公開しました。この論文は2004年に書かれたもので、著者はSteve Freeman氏、Nat Pryce氏、Tim Mackinnon氏、Joe Walnes氏という豪華メンバーです。また、Steve Freeman氏とNat Pryce氏は『Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))』(いわゆるGOOS)の著者でもあり、"Mock Roles, not Object"で語られている思想はGOOSのベースになっているとも言えます。 今回は、この"Mock Roles, not Objects"(以下、MRnO

    モックによるインターフェイスの発見 - Digital Romanticism
    irof
    irof 2011/10/01
    #tech_readers でkiy0takaさんが話してたやつ
  • Jenkinsによる継続的インテグレーションのススメ(1)

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Jenkinsによる継続的インテグレーションのススメ(1)
  • クラスローダについて - かとじゅんの技術日誌

    Javaでは欠かせないクラスをロードするためのクラスローダ。普段意識していないかもしれませんが、しっかりと縁の下で支えているよね。(Java言語仕様を確認しながら書いてないので間違っていたらツッコミよろしくです) クラスローダとは Javaクラスローダー(英: Java Classloader)とは、Java仮想マシンの一部で、JavaクラスをJava仮想マシンに動的にロードする役割を持つ [1]。通常、クラスは必要になったとき初めてロードされる。Javaの実行系は、クラスローダーがあるおかげでファイルやファイルシステムについて知る必要がない。 大きく分けて以下の3つの種類があります。 ブートストラップ クラスローダ エクステンション クラスローダ システム クラスローダ ブートストラップは、Javaのコアライブラリ($JAVA_HOME/lib/rt.jar)のライブラリ、パッケージがj

    クラスローダについて - かとじゅんの技術日誌
  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
    irof
    irof 2011/06/10
    まだまだなのは自覚してるけど、こうしてみると圧倒される。
  • 11章: コミュニティマネージャを雇用する — アート・オブ・コミュニティ v1.0jp documentation

    「私は仕事が好きです。仕事は私の心を奪います。私は何時間でも、いすに座って仕事を見つめ続けることができます。」 コミュニティと一緒に仕事をしている会社(Ubuntu[1]を開発しているCanonical社)に入ったことで、同僚と同じように、私も仕事としてカンファレンスの出かけていくことができるようになりました。その結果、かつて夢に見た数々のカンファレンスに出席することができましたが、行きたいと思っていてもなかなか行くことができなかったカンファレンスもいくつかありました。 「オハイオLinuxフェスタ」もその中の一つでした。中程度の規模のコミュニティが開催するLinuxとオープンソース[2]に関するイベントです。チームのメンバーやコミュニティメンバーがそのイベントについて話をしていましたが、運命の女神のいたずらか、いつも出張や会議、休暇などが重なっていたために参加できませんでした。 しかし、