タグ

ブックマーク / blog.goo.ne.jp/hishidama (63)

  • SIは楽しいよ!(状況による) - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 今週バズった話題:富士通退職した話→「SIer が天職です」って人はどこにいるの?に関連してあるツイートを見かけたので、Asakusa Frameworkを使っている身としては反応せねばなるまいっ。 「AsakusaFWを使うSIは楽しいよ!」w(ステマ) まぁ冗談は置くとして、自分が今勤めている会社はAsakusaFWを扱っている会社であってSIerではありませんが、自分がやっている仕事はお客さんのシステムのバッチをAsakusaFWで作ることなので、SIと言えると思います。 つい先日Asakusa on M3BPが出たので、今はその検証をやっています。バッチの種類によるけれども、実行時間がAsakusa on Sparkより2~10倍(平均3~4倍)くらい速くなった

    SIは楽しいよ!(状況による) - ひしだまの変更履歴
    tarchan
    tarchan 2016/04/15
    >日本では立場が強い方(お金を払う方)が立場の弱い方に無理難題を言う傾向があり、それがSIerの仕事をつらいものにしている気がします。まぁ、SIerに限った話ではないと思いますが…。
  • Gitで過去のファイルの内容を見る方法 - ひしだまの変更履歴

    Gitで削除した過去のファイルの内容を見る方法、調べたら色々な人が書いていた。毎度ありがたいことです。 で、自分用にメモをまとめた。 ついでに、git rmに拠らずに削除したファイルをgit rmの引数に指定する方法も知った。 「git ls-files」なんて便利なコマンドがあったんですなぁ。Git管理下にあるファイル一覧を表示するもの。ちゃんとgitignoreも考慮してくれるようだ。

    Gitで過去のファイルの内容を見る方法 - ひしだまの変更履歴
    tarchan
    tarchan 2016/02/02
  • JJUG CCC Fall 2015でAsakusaFWを紹介してきました - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 JJUG CCC Fall 2015(2015/11/28)に登壇してAsakusa Frameworkの紹介をしてきました。(→資料) (→他の人の講演を聞いた感想) 数えてはいませんが100人以上も見に来ていただいたと思います、ひー怖ろしいありがとうございました。 自分は勉強会で発表するのが今回で2度目で全く不慣れなもので、お聞き苦しいところもあったと思います。すみませんでした。 初めて勉強会で発表したのは2014年1月のAsakusaFW勉強会でした。2年近く前ですね(汗) なぜかこの勉強会にゆとりさんが来ていらっしゃいまして、そこで「JJUGでー」と誘われたのを思い出し、今回応募してみたところ通ってしまったという感じです^^; ゆとりさん的には「もっと早く来い!」

    JJUG CCC Fall 2015でAsakusaFWを紹介してきました - ひしだまの変更履歴
  • キー毎に値を集計する方法 - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 irofさんとdaiksyさんがTwitter上でキーブレイク処理について話していました。 (リストを項目ごとに集計する→「ブレイク処理」を定形のアルゴリズムとして習いました→こんな解りにくいの、なんで好んで書くんだろう) キーブレイク処理というのは、データをキーでソートしておいて順番に読み込み、キーが同じ値の間に処理(よくあるのが集計)を続ける。キーが違う値になったら(キーがブレイクしたら)集計値を出力し、集計用変数をクリアしてまた処理を続ける。というアルゴリズムです。 ひとつ前のキーの値を保持しておく変数が必要で、最初はそれをどういう値にしておくか、また、ループを抜けた後に最後のキーの集計値を出力する必要があるか、といった辺りも考慮しないといけないので、慣れないと分か

    キー毎に値を集計する方法 - ひしだまの変更履歴
  • AsakusaFW0.7.1 スモールジョブ実行エンジン - ひしだまの変更履歴

    上2つはかなり極端な例で、ほとんどがスモールジョブ^^;なので、3倍くらい速くなっている。 一番下のバッチはほとんどが大きなジョブだが、それでも20%くらい速くなっている。特にこの環境はAmazon EMRなので、1時間を切ると嬉しいらしいw(課金が1時間単位なので) バッチ全体でなくスモールジョブだけで見ると、だいたい5倍くらい速くなりそうとのこと。 それと、スモールジョブ実行エンジンをフローのテストの実行にも使用することにより、テストの実行時間も短縮できる。 (テストデータはたいてい小さいだろうから、効果覿面w) フローのテストでスモールジョブ実行エンジンを使うには、build.gradleのdependenciesにasakusa-test-inprocess-extの設定を追加する。 (『スモールジョブ実行エンジンを利用したエミュレーションモードの有効化』を参照) dependen

    AsakusaFW0.7.1 スモールジョブ実行エンジン - ひしだまの変更履歴
  • Asakusa Framework 勉強会 2014秋の感想 - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 2014/10/17『Asakusa Framework 勉強会 2014秋』に行ってきました。 今回の会場はサイトロックさん。 サイトロックさんはシステム運用をやっている会社で、噂には聞いていましたが、行ったのは初めてでした。堂とかおしゃれな感じですね(笑) 最初は恒例の土佐さんの『Asakusa fwはじめの一歩 0.7.0』。 拙作DMDL EditorXですが、いくつか使用できない箇所があったようで>< 属性追加ウィザードの障害(issue42)は、自分の環境では再現しないんですよねぇ。 たぶんXtext内部の情報に不整合があるのだと思います。プロジェクトのクリーンをしたりdmdlファイルを保存し直したりすると直るかも? フローのテストクラスの作成の障害(iss

    Asakusa Framework 勉強会 2014秋の感想 - ひしだまの変更履歴
  • バッチの未来、どうするHadoop - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 ITproの『DBの未来、どうするHadoop』のタイトルに釣られてみたw (以下長々書いたけど、結局言いたいことは、DBとHadoopは関係無いってことと、タイトルについて何か勘違いしたっぽいということだけだった^^;) 僕の意見では、Hadoopはバッチ処理を分散して実行する基盤である。データを溜めるのは副次的な効果に過ぎない。(暴論w) もちろん、そもそも分散処理を行う必要があるのは処理対象データが大量だからなので、データの溜め方も必須ポイントだし、Hadoopが分散処理する原理も密接に結びついているのだが。 あらかじめ断っておくと、自分は非構造化データとか分析とか機械学習には興味が無い。 自分がHadoopに興味を持ったのは、自分が担当していた“RDBを対象にした

    バッチの未来、どうするHadoop - ひしだまの変更履歴
    tarchan
    tarchan 2014/10/10
    >個人的にHadoopで目から鱗だったのは、処理(アプリケーション)をデータのある場所に転送して実行するという考え方。
  • Apache Spark自習 - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 世間では8月で夏休みが終わったようだが、こちとら9月に入ってからが夏休みだぜヒャッハー!(夏とは思えないくらい涼しいけど^^; ヒヤッ) という訳で夏休み中にやりたい事はいっぱいあったんだけど、Apache Sparkの自習に落ち着いた。 元々Sparkは2011年(Spark0.3の頃)にちょっとだけ試したことがある。 Hadoopを知ったのが2010年で、Scalaの勉強を始めたのがそのちょっと後。そんな中でScalaの分散処理基盤としてSparkが出てきたので、興味を持ったというところ。 ところが最近になってSparkが盛り上がってきた感じなので、改めて調べてみたくなったのだった。 Sparkはインメモリーで処理する(詳しい人からすると違和感がある表現らしいが^^;

    Apache Spark自習 - ひしだまの変更履歴
  • Asakusa Framework 勉強会 2014真夏で食べてきました - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 『Asakusa Framework 勉強会 2014真夏』に参加してきました。 今回は普段と違って5分ずつのLT大会、およびビアバッシュということで、ビールとピザをいただきながらの勉強会でした(笑) 最初は土佐さんの『Asakusa脳の作り方』。 前回の才所さんの発表に出てきた「Asakusa脳」がキーワードです(笑) Asakusa脳になるまで、つまりAsakusaFWに慣れるまでに壁があるんじゃないかという話ですね。 そのうちのひとつ、演算子の実装方法について、ジョブフロー側の実装例が無い!という訳で、土佐さんがチートシートを作ったそうです。→演算子のチートシート 図と実装例が書かれています。GitHubでこんなことも出来るんですねぇ。 2つ目はts_minさんのO

    Asakusa Framework 勉強会 2014真夏で食べてきました - ひしだまの変更履歴
  • Java8 日付時刻APIを試してみた - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 前回までのあらすじ ジャバ八村でStreamを手に入れた俺たちは、次の目的であるDate and Time APIを探し始めた。 という訳で、Java8のStream(やラムダ式・メソッド参照)と並んでもうひとつの目玉である日付時刻APIを試してみた。 (軽く見るだけのつもりが、3連休をほとんど全部使ってしまったorz) 細かいことをやりだすともっと調べないといけなさそうだが(Clockの使い方とか、これで合ってるんだろうか?)、基的な使い方はとりあえず充分かな。 DateTimeFormatterも、評判どおりSimpleDateFormatより便利そうだし、速度も速そう。 まぁともかく、Java8で事前に調べたいと思っていたところはだいたい終わった。 日付時刻API

    Java8 日付時刻APIを試してみた - ひしだまの変更履歴
  • Asakusa Framework 勉強会 2014夏に行ってきました - ひしだまの変更履歴

    2014/7/11『Asakusa Framework 勉強会 2014夏』に行ってきました。→Togetter アンケートによると参加者はAsakusaFW経験者4割(Hadoop経験者は6割)という感じで、まだまだAsakusaFW初心者の人が参加して下さっているようで、嬉しいことです。 最初は恒例、土佐さんの『Asakusa Framework はじめの一歩(ver 0.6.2)』。現時点のAsakusaFWの最新版である0.6.2に合わせたものですね。 前回はライブコーディングによるAsakusaアプリケーションの作成手順の紹介でしたが、今回はスライドによる紙芝居でした。手順を再現していると結構時間ぎりぎりになってしまい、ライブコーディングだと突発的なトラブルがあったときに困りますからね^^; 土佐さんの資料のp.5からのAsakusaアプリケーション用プロジェクトの作成には、As

    Asakusa Framework 勉強会 2014夏に行ってきました - ひしだまの変更履歴
  • Hadoop Conference Japan 2014の感想(総括編) - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 Hadoop Conference Japan 2014(HCJ)で自分が聞いた講演の個々の感想はブログに書きましたが、それとは別に全体として思ったことがあるので書いておきたいと思います。 簡単に言うと、「最近のHadoopの利用事例はどうなっているんだろう?」 もう少しくだけて言うと「皆はHadoopをどう使おうとしているんだろう?」ということです。 今回のHCJの各講演の題目を見る限り、YARN・SQL・Sparkの話題が多かったと思う。 Hadoopの主要な仕組み自体は今後YARNになっていく感じなので、YARNの話が出てくるのは分かる。 しかし、SQL関連がこんなに活発なのが個人的には驚き。 SQLは対話型ツールで使うのにはとても向いていると思う。 一度の操作では

    Hadoop Conference Japan 2014の感想(総括編) - ひしだまの変更履歴
    tarchan
    tarchan 2014/07/11
    >Hadoopはもともとバッチ処理向けだったと思う。 にも関わらずSQLが欲しいというのは、バッチとは異なる使い方をしたいという事なのだろうか?
  • Java8でScala不要論? - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 たぶんジョークだと思うんだが「Java8があったらScalaが不要になる」みたいな事を言っている人がいて、気だとすると、Java8もScalaも見たことないのに言ってるだけだと思う。 ということで一応マジレス?しておく(笑) Java8でインターフェースにメソッド(デフォルト実装)が持てるようになった。 Java8のインターフェースは可視性にpublicしか指定できないが、Scalaのトレイトはpublic以外も可。 Java8のインターフェースはフィールド(static finalな定数以外)を持てないが、Scalaのトレイトは持てる。 Java8でStreamが導入された。 Java8ではプリミティブ用のStreamとオブジェクト用のStreamがあり、mapもそれ

    Java8でScala不要論? - ひしだまの変更履歴
  • Java8のStreamを一通り見てみた - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 前回までのあらすじ Streamを求めてジャバ八村にやってきた俺たちは、Streamでよく使うと思われるラムダ式を調べ始めたが、その元となる関数型インターフェースの裏にはデフォルトメソッドとstaticメソッド、それにラムダ式にからんで実質的finalの新仕様が隠されていた。 そしてラムダ式と対になるメソッド参照やStreamと共に導入されたOptionalを経て、ついに俺たちはStreamに辿り着いたのだった。 という訳で、Streamを調べる前に関係していそうな新仕様を先に確認して、ようやくStreamを見ることが出来た。 Scalaのコレクションのメソッドに比べると少ないが、それでもそこそこメソッドは存在している。 結局ほとんどの面においてScalaの方が便利ではあ

    Java8のStreamを一通り見てみた - ひしだまの変更履歴
    tarchan
    tarchan 2014/04/17
    >Streamから他のコレクション(ListやSet等)へ変換する方法は、ScalaだとtoListやtoSetといったメソッドが用意されているのだが、Java8ではcollectメソッドにCollectorオブジェクト(Collectors.toList()やtoSet())を渡すことで実現してい
  • Asakusa Framework 勉強会 2014春に行ってきました - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 2014/4/7『Asakusa Framework 勉強会 2014春』に行ってきました。→Togetter 最初は土佐さんの『Asakusa Framework はじめの一歩・改』。 前回のが『はじめの一歩』で、今回の『改』は、主にGUIを使うようになったことが違いでした。 前回はちょうどShafuが出たばかりでまだ認知されていなかった為、Mavenを使ったコマンドベースだったのが、今回はShafuでプロジェクト作成していました。 それどころか、拙作のDMDL EditorXのデータモデル作成ウィザードを使ってDMDLを生成していたのでびっくり^^; 結合モデルのキーの指定方法は、ペアとなる項目を2つ選択してからコピーするのですが、他のツールではそういう方法はしないの

    Asakusa Framework 勉強会 2014春に行ってきました - ひしだまの変更履歴
  • 詳細設計書は必要でしょ - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 不定期に不死鳥の様によみがえる話題、今週は「詳細設計書不要論」でーす(笑) もちろん自分は詳細設計書は必要だと思っているが、SIer仕事において、という前提がある。 一人で要件決めから実装まで行うなら設計書なしでもいい。 しかしSIer仕事、つまり「発注者から依頼を受け、複数人で開発するプロジェクト」は、設計書が無いと成り立たないと思う。 (あと、自分はウォーターフォールモデルを前提にしていてアジャイルは知らないが、アジャイルでも設計書という呼び方ではないかもしれないが設計書相当のものはあるはずだと思う) 自分が考える詳細設計書の使い道は、以下の通り。 1.【設計フェーズ】発注者に対して処理内容を説明する(承認をもらう) 2.【実装フェーズ】実装者に渡して実装してもら

    詳細設計書は必要でしょ - ひしだまの変更履歴
    tarchan
    tarchan 2014/03/23
    詳細設計書の定義が現場毎にマチマチなんだよね>実装したプログラムと1:1になるようなドキュメントは、自分は詳細設計書ではなく「プログラム仕様書」と呼んでいる。
  • AsakusaFW0.6.0大変革 - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 Asakusa Framework 勉強会 2014冬で話題にしたAsakusa Framework0.6.0が出ましたよ。 →リリースノート 今回は色々大きい機能変更・機能追加が! まず、標準のビルドシステムが今までのMavenからGradleに変わった。 と言っても、当面はMavenでも今まで通り使用できるけど。 でもGradleプラグインの方が環境構築が簡単なので(Maven版だとMavenをインストールする必要があるが、GradleプラグインだとJavaだけ入っていればいい)、今後はGradleプラグインを使うのがお薦め。 (Jinrikishaも、内部ではGradleを使うように変わった模様) それから、Shafuが公開された。(前からひっそり公開されていたけれ

    AsakusaFW0.6.0大変革 - ひしだまの変更履歴
  • Asakusa Framework 勉強会 2014冬で発表しました - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 2014/1/29『Asakusa Framework 勉強会 2014冬』に参加・発表してきました。 今まで勉強会へは何度も参加していたけれど、発表したのは初めてです。話す内容は決まっていたので緊張はしなかったのですが、やっぱりあまり上手く話せませんでしたorz 時間もオーバーしてしまったような(汗) 冒頭の自己紹介がちょっと余計で長すぎたかもしれません^^; 自分としてはAsakusaFWを気に入っているので、多くの人に使ってもらいたい。これは今回の勉強会の主催者の土佐さんと同じ想いです。が、自分がやるのは“試したことをウェブに書く”程度(AsakusaFWに限らず、利用したソフトウェア等について今までウェブに書いてきたのも、そのソフトウェアへの貢献の一環のつもりでも

    Asakusa Framework 勉強会 2014冬で発表しました - ひしだまの変更履歴
  • プログラムの品質と価値 - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 今年読んだどこかのブログを見て思ったことを思い出したw プログラムの品質と価値について、そのブログでは、「品質」の評価基準に「価値」を含めているようだった。 プログラムの「品質」と「価値」は別物だと思う。 プログラムの「品質」っていうのは、例えばWebアプリなら、24時間365日稼動し続けられるとか、大量のアクセスがあっても落ちないとか、インジェクションっぽい入力をされても大丈夫とか、そういう事だと思う。 一方、「価値」は、ユーザーにとって便利であるとか、(そのプログラムを動かすことによって現れる)サービスを提供する企業にとっては収益が高いとか、そういう事だと思う。 そして、品質と価値は全く無関係という訳でもなくて、品質が悪ければ価値は下がる。でも品質が良いからといって価

    プログラムの品質と価値 - ひしだまの変更履歴
    tarchan
    tarchan 2014/01/06
    品質の向上を諦めたsierってことですね>SIer側の戦略として、自らの意義を高める為に「価値」の領域に手を出すのはありだとは思うけど、「品質」を高めるようにするのが本業だと思う
  • Asakusa Gradle Pluginを試してみた - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 Asakusa Framework0.5.2で試験的に導入されたAsakusa Gradle Pluginを試してみた。 AsakusaFWはWindowsには正式対応していないが、GradleプラグインにはWindows用のバッチファイルも含まれているので、Windowsからも使うことが出来る。 Mavenをインストールする必要が無いので、Windowsから使うにはとても便利(笑) (特に、WindowsにはJinrikishaが無いから、余計にw) ダウンロードしたアーカイブを解凍してそこのコマンドを実行するだけ、という手順はシンプルで分かりやすい。 Windowsに正式対応していないが故にアーカイブプロジェクトテンプレート)はtar.gzファイルしか提供されていな

    Asakusa Gradle Pluginを試してみた - ひしだまの変更履歴