読者です 読者をやめる 読者になる 読者になる

kanazawa.rb meetup #57 に行ってきた話

5月20日(土)に開催された、kanazawa.rb meetup #57 に参加してきました。
Meetup #57 - Kanazawarb
Meetup #57 report - Kanazawarb
kanazawa.rb meetup #57 - kanazawa.rb | Doorkeeper

今回はITビジネスプラザ武蔵 4F サロンスペースでのもくもく会でした。
過去に研修室で開催されたkanazawa.rbのmeetupには参加したことがありましたが、サロンスペースでの開催では初参加。どのような会場なのか楽しみでした。
30d.jp
せっかくカメラ持って行ったので、もっと会場の写真を撮っておけばよかったかなー。


さて、今回のテーマはもくもく会
何をしようかなーと考えていたのですが、ちょうど自宅の PC に Ubuntu を入れて放置している端末があったので、Itamae での環境構築について調べつつ試してみるというテーマにしました。
参考にしたのはこのページ。Itamaeが構成管理を仕込みます! ~新進気鋭の国産・構成管理ツール~:連載|gihyo.jp … 技術評論社
とりあえずこのページの通り試してみて、そのあとで自分がやりたいことを試してみることにしました。


が、このページの通り進めてみようとすると、VirtualBoxVagrant を使った環境で Itamae を使って環境構築をするという内容。
とりあえず VirtualBoxVagrant の環境を構築しつつ、待ち時間で4月に買って読んでいる途中だったJava本格入門の続きを読むことにしました。
gihyo.jp



で、結果としてはItamaeは上記の環境構築だけで時間が終わってしまいましたが、Java本格入門のほうは読み進めることができました。
昨年11月に転職して本格的にJavaでコードを書く環境になって半年、なんとかやってこれているというような状況ですが、Java8からの Stream APIラムダ式あたりの理解が怪しいまま触っているというような状況だったので、その部分の理解を深めることができたのがよかったです。


まとめ

kanazawa.rb meetup #57 に参加してきました。懇親会まで参加し、とても楽しく充実した時間を過ごすことができました。
ついで金沢に一泊して、日曜日には数年ぶり(10年以上ぶり?)に兼六園に行くことができました。天候にも恵まれ満足できる2日間でした。
f:id:shiget84:20170526222930j:plain
f:id:shiget84:20170526222937j:plain
f:id:shiget84:20170526222949j:plain
f:id:shiget84:20170526222957j:plain
f:id:shiget84:20170526223006j:plain

高専カンファレンス in 東京に行ってきた話 #kosenconf

3/25 に株式会社オプティム東京本社で開催された、高専カンファレンス in 東京に参加してきました。
http://kosenconf.jp/?109tokyo


春をテーマにした発表を募集していたので、春から環境が変わり地方から首都圏等に出てくる人もいるかと思い、「富山に移住して変わったこと」というタイトルで発表をしてきました。(自分の場合は横浜から富山だったので、首都圏から地方という逆パターンなのですが)

いつもは直前に資料を作ってたりしたのですが、今回は1週間以上前に資料をほぼ作り終えて直前に手直しという形で余裕をもって準備をしました。がやっぱり話忘れてたことがありますね。「富山に来たら車中心になってしまったので運動量が減ってしまった」「横浜では1日1万歩くらい歩いていたのに、富山に来てからは3000歩前後になってしまった」というような話もしようと思っていたのですが、資料作成の段階ですっかり忘れてしまっていました。


高専カンファレンスの参加は、前回の東京で開催された100tokyo以来なので1年3ヶ月ぶりといったところでしょうか。初めて会うかた、久しぶりに会うかた、いろんな人と話ができて楽しかったです。ちなみに今回はこんな感じで個人名刺を用意していきました。

数年前に作った名刺が余っていたので、自分が撮った写真をシールにして貼ることで手軽にいい感じな名刺を作りました。
f:id:shiget84:20170330001912j:plain


シールの作成は、カメラのキタムラが近くにあったのでここの分割プリント(シール加工込み)を利用しました。
分割プリント|デジカメプリント、写真現像はカメラのキタムラへ


Webから00:46に発注したら、営業開始直後の10:08に商品仕上がりのメールが入っていました。仕事が早い!
店舗に取りに行くことにしていたので取りに行ったら、そこでシール加工するかを聞かれたので、
シール加工を依頼し5分ほど待っていたらシール加工も完了。手軽に使えていいサービスだなーと思いました。

ただ、自分の場合は16分割のシール加工での印刷だったのですが、それぞれの写真に(プリクラみたいに)切れ目が入っていなかったので、自分でカッターを使って切る必要があったので、そこだけが面倒でした。
期間に余裕がある場合には、他のシール作成サービスを利用してみてもいいかなー、という感じですね。




ということで、25日は高専カンファレンスに参加し、26日はKosenDJ-bu #12(Kosendj-bu)に参加し、横浜にいたときによく行っていたダーツバーで軽く飲んでから富山に帰って来ました。
土曜日は1万歩ちょい、日曜日は2万歩ちょい歩いたのですが、富山に来て全然歩かなくなってしまっていたので、月曜日は軽く筋肉痛でした。

まとめ

高専カンファレンス in 東京を中心に東京に行って遊んで来ました。お世話になった皆様ありがとうございました。

何を目的にテストをするのか

最近テストについてが話題ですね。
テスト計画の立て方 - Qiita
UIテスト自動化でSIerのExcelスクショは滅びるのか - てんてんのぶろぐ


そもそもソフトウェアテストって何を目的に実施するんでしょうか?

ソフトウェアテストを行う目的としては、「欠陥やバグを検出する」「要件を満たすことを保証する」「リリース後の品質リスクを見積もる」「開発プロセス改善の指標となる」などが挙げられる。どの目的を重視するかは、開発するソフトウェアプロダクトの目的やニーズ、開発組織の成熟度などによって変わってくる。

情報システム用語事典:ソフトウェアテスト(そふとうぇあてすと) - ITmedia エンタープライズ

ふむふむ。なるほど。


以前、私が働いている時に上司から「品質を上げるためにテストはしっかりやるぞ」ということを聞いたことがあります。ところで品質とは何でしょうか? ソフトウェア品質の評価に関する国際規格で、ISO/IEC 9126 というものがあるそうです。(あまりテストについて詳しくないので、とりあえずwikipediaへのリンクです)
ISO/IEC 9126 - Wikipedia




テストといっても幅は広いし、深さもありますね。
仕事しているとテスト工程の中で様々なテストを実施することになるかと思いますが、「これで本当に十分なテストが実施できているのだろうか」と不安になることもあるかと思います。
そんな時は、品質指標とテスト工程で実施するテストのマトリクスを作成してみてはいかがでしょうか?

品質指標\テスト工程 単体テスト 結合テスト システムテスト 受け入れテスト
機能性
信頼性      
使用性    
効率性    
保守性  
移植性        

※)○/◎は適当

このような表を作成してみることで、「こういった観点のテストが漏れていたので確認した方が良い」と気づくことができるかもしれません。
品質指標を細分化して表を作成したり、非機能要件の項目についても検討してみたり、というようにプロジェクトにおいて重視することを考慮し、テスト計画を立てられると安心して開発が進められそうです。


いやー、テストって本当に奥が深くて難しいですね。



ついでに

UIテスト自動化について、機能性の担保はできるけど使用性(ユーザビリティ)については評価が難しいので人手で実施するしかないのではないか、と思っています。このあたり詳しい方がいらっしゃいましたら教えてください。


ということで、(スクショしてExcelエビデンスとして残すかはさておき)UIのテスト自動化で機能性の担保ができるようになっても、使用性などの確認・担保のために人手でテストをするのはしばらく続きそうですね。雇用が守られてよかった。

あと更についでですが

転職しました。

高専カンファレンス100 in 東京 に参加してきた話

気がつけば12月。もうすっかり冬ですね!
冬と言えば2008年12月6日に第3回の高専カンファレンスとなる「高専カンファレンス2008 Winter in 東京」が開催された*1のですが、それから7年が経過した今年12月19日および20日に「高専カンファレンス100 in 東京」が開催されました!

東京の大規模カンファレンス

今回の高専カンファレンス、東京大規模開催では初めての参加者としてのフル参加でした。
2008年は北陸の学生だったので参加できず、2009年の「高専カンファレンス 2009秋 in 東京(通称009tokyo)」および2010年の「高専カンファレンス 2010秋 in 東京(通称014tokyo)」はスタッフをやっていたので普通の参加者ではなく、2012年の「新春・高専カンファレンス2012 in 東京」は両日とも寝坊してしまうという失態をおかしてしまったのでフル参加できてませんでした。



今回も金曜日が会社の忘年会で、27時過ぎまで飲んでたので開演に間に合うか不安でしたが、無事に間に合うことができました!




また、新春のときは2日目も寝坊し遅刻してしまったので、今回は調布に宿を確保することも忘れませんでした!(土曜日の1泊だけですが)





Twitter を交えてふりかえる高専カンファレンス

1日目

1日目は基調講演とアイスブレイクと夢これ。どれもとても楽しむことができました。

基調講演

@earth2001yさんと@igaiga555さんによる基調講演。


高専カンファレンスに関わりはじめたころに「地産地消」って聞いていい言葉だな、と思ったことを思い出しました。それから7年、全国各地で高専カンファレンスが開催されついに100回。基調講演を聞きながら胸が熱くなりました。
「参加者同士の相互作用」などもとても心に残りました。2009年春に就職で北陸から関東に出て来たときに、高専カンファレンスからつながって色んな人と知り合い、色んな人のお世話になってこれまでやってこれたことなどを思い出しました。(関連:
高専を卒業して10年がすぎた - しげっと!
参加者の相互作用、とても良いですね!

アイスブレイク

4部屋にわかれ、その部屋の中でもさらにチームにわかれ、他の参加者の皆さんと交流してきました!
みんなの名前を覚えられる企画や、高専あるあるが話せた七不思議/伝説作り、久しぶりに他人と手をつないだ知恵の輪みたいな企画、どれも楽しかったです!

夢これ

今回の高専カンファレンスはテーマが「Dreaming」ということで、10人のかたが「夢」を語ってくれました。
皆さんの発表どれも素敵で良かったのですが、特に印象にのこったのがぜむ(@zemu_them)さんの「推理小説に魅せられて」でした。



孤島の洋館、とても遊びにいきたいですね!


2日目

2日目は複数トラック発表と一般発表、ライトニングトークでした。

複数トラック発表

複数トラック発表、思わず 014tokyo でやったアンカンファレンスを思い出しましたね。あのときも今回もそうなのですが、複数の部屋同時並行で面白そうな話をしているので、何を聞きにいこうかとても悩ましかったです。




一般発表、ライトニングトーク

しょぼん(@syobon_0xff) さんの「ブログを立ち上げよう!」はとても参考になりました!(しかし、実践できるかどうかは別問題......)



おびなたさんの「プロコンの競技OB戦をやってみた」はOB戦開催の裏側を知ることができてとても面白かったです。



ライトニングトークも十人十色、いろいろな話がきけて楽しかった!




そしてクロージングへ

クロージングのまえに、高専カンファレンスの顧問である島田先生のお話。島田先生には009tokyoと014tokyoのスタッフのときにとてもお世話になりました。
75歳になるというのにとてもお元気で、島田先生の話を聞いているととても元気がでてきます。



そして、告知タイム、夢これの発表者への物理的なフィードバックとなる夢これレター(みんな会場で書いたよね?)贈呈の後、クロージングです。



クロージングは実行委員長の感動的なお話。すごく心にくる本当に感動的なクロージングでした。とても熱い想いが心に残りました。
12/23のKosen Advent Calendar 2015の記事もとても楽しみですね!


まとめ

久しぶり*2高専カンファレンスへの参加、しかも2日間にわたる東京での大規模開催。イベントとしてとても楽しく、また、数年ぶりに会う人やTwitterでは交流があったけど会うのが初めての人、普段からよく会ってる人など、たくさんの参加者の皆さんと話をすることができ、参加してよかったなー、と思いました。
今回の高専カンファレンスは現役の高専生/学生、OB/OG、高専初期に学生だった先輩がた、そして島田先生と幅広い年代の人々が参加していました。ここまで年齢層の広いイベントはなかなかないのではないでしょうか。


009tokyo のスタッフをしていたころは20代前半だった自分も気がつけば31歳。今回の現役学生など若い人からは刺激を、先輩がたからは元気をもらう事ができました。参加できて本当によかったです。実行委員の皆さま、ありがとうございました!!!

*1:当時は北陸在住の学生でお金がなく修論もヤバかったので、現地には行けずustreamで見てました

*2:前回がいつのどこの開催だったか思い出せない

Excelのシート一覧が欲しい

今日、はてなブックマークを眺めていたら、Yahoo!知恵袋の質問が目に入りました。detail.chiebukuro.yahoo.co.jp



みんな、似たようなこと考えるんですね。私も以前、複数Excelファイルのなかの複数のシート一覧が欲しくなったので、Ruby と Win32OLE を利用して雑にシート一覧を取得するスクリプトを書いたことがあります。
せっかくなので、久しぶりに動かしてみました。手元にある Windows 7 Pro 64bit, Office 2007 環境に Ruby Installer 2.2.2 を入れてみたところ、問題なく動きました。

#!ruby -Ks

require 'date'
require 'win32ole'

#----------
file_dir   = 'C:\dev\work\files'

xls_files  = '*.xls'
xlsx_files = '*.xlsx'
#----------


def getPath(filename)
  f = WIN32OLE.new('Scripting.FileSystemObject')
  return f.GetAbsolutePathName(filename)
end

def getData(filename, excel, output_sheet, num)
  book = excel.Workbooks.Open(filename)
  
  begin
    worksheet_num = 0
    book.WorkSheets.each do |sheet|
      num = num + 1
      output_A = "A" + num.to_s
      output_B = "B" + num.to_s

      output_sheet.Range(output_A).value = book.Name
      output_sheet.Range(output_B).value = sheet.Name
    end
    ensure
    book.Close
  end
  
  return num
end


excel = WIN32OLE.new('Excel.Application')
output_book  = excel.workbooks.add
output_sheet = output_book.Worksheets(1)

counter = 0

Dir.chdir(file_dir)
Dir.glob(xls_files) do |f|
  filename = getPath(f)
  counter = getData(filename, excel, output_sheet, counter)
end

Dir.glob(xlsx_files) do |f|
  filename = getPath(f)
  counter = getData(filename, excel, output_sheet, counter)
end

t = Time.now
output_filename = t.strftime("%Y%m%d_%H%M") + '.xlsx'
output_filepath = file_dir + '\_' + output_filename

output_book.saveAs output_filepath
output_book.Close


C:¥dev¥work¥files 以下にある xls, xlsx ファイルについて、A列にファイル名を、B列にファイル名を出力します。
f:id:shiget84:20150601233419p:plain
f:id:shiget84:20150601233541p:plain

取得できました! わーい!



さて、取得できたのはよいのですが、とりあえず動けばいいやという雑なコードですね。
僕は仕事で Ruby を使ったことがなく手元で参考書とかみながら書いているというレベルなので、ちゃんとした書き方など教えてください。
というか、こういうのこそ GitHub に載せるべきですね。そのうちやります...

ITIL ファンデーション試験を受けた

客先常駐を終えました - shiget84's blog』で書いた通り、この1年間はユーザ企業に運用支援という立場で常駐していたのですが、運用をよりよくまわすには、ということでちょいちょい ITIL を参考にしていました。

Information Technology Infrastructure Library - Wikipedia


入門書を買ってざっと流し読みして、どういうことが運用現場で使われているのか、というようなことを参考に仕事をしていました。そんななか、やっぱりしっかり勉強して身につけよう、ということで先日『EX0-001 ITIL ファンデーション(最新シラバス2011対応) 日本語』試験を受け、無事に合格することができたのでその記録を残しておきます。


ITIL の概要としては、昨年の夏頃に以下の本を買って読んでました。ただ、これは試験のためというよりも運用支援という業務を行う上での参考にするために買って読んでいただけです。

ITIL V3実践の鉄則

ITIL V3実践の鉄則



ちゃんとした試験勉強としては、以下の問題集を読んで書籍の問題を解く、という普通の資格試験対策をやりました。

IT Service Management教科書 ITIL ファンデーション シラバス2011 (EXAMPRESS)

IT Service Management教科書 ITIL ファンデーション シラバス2011 (EXAMPRESS)

土日で本読んで勉強して問題を解いて、疲れたので夜に飲みに行って、また勉強して、月曜日に有給休暇をもらって昼まで寝て少し勉強して夕方から試験を受けて合格、という流れでした。
そこまでガッツリ勉強したわけではなかったので受かるか不安でしたが、無事に受かって良かったです。


最近、情報処理技術者試験からも離れていて資格試験勉強をして受けるという事をするのが久しぶりでした。ただ、こういった機会はできるだけつくったほうがいいかなーと思っているので、秋には久しぶりに情報処理技術者試験を受けたいところですね。

客先常駐を終えました

3月末をもってユーザ企業への常駐を終えました。


運用支援ということで、約1年間お客様であるユーザ企業に常駐していましたが、当初の契約通り3月末をもって期間満了で常駐を終えました。
ベンダーからの常駐という立場でお客様企業に通っていましたが、特にベンダーだからといって制限されていることは多くはなく(もちろん、業務に関係ないものは見れなかったり、コアな部分は社員しか見れないようになっていましたが)、とても働きやすい環境で1年間を過ごすことができました。


これまで SIer のなかでシステム開発・運用保守を中心に仕事してきていました。そのなかで、もちろんお客様の役に立てるシステムを開発したいと思っていましたし、そうなるよう現場で行動してきたつもりです。ただ、それはあくまでもシステム開発・運用保守という現場のなかでのことだったのだ、ということをこの1年で学びました。
ユーザ企業にはユーザ企業のビジネスがあり、それを止めないこと、ビジネスをうまくまわすためにシステムがある、という当たり前のことを痛感させられた1年でした。
ユーザ企業にとってはビジネスがまわれば正直なところITなんてどうでもいい。ただ、今はITとビジネスが切っても切りはなせなくなっているので、ビジネスを止めないためにシステムやインフラを安定して運用させる必要がある、ということ。「ユーザに価値を提供する」というようなことはずっと考えてきたつもりでしたが、実際にユーザ企業に常駐してお客様の立場でITを考えてみたときに、これまでの取り組みでよかったのだろうか、ということを意識させられました。


仕事としては、主にインフラ周りを中心にやらせていただいたのですが、インフラは安定運用されていて当たり前、止まったときの影響がとても大きいのでどう上手く運用させるか、そしてどうやってコストを下げていくか、というようなことを考えさせられました。
「運用は手順書を整備して、アウトソースしてコストを下げる」というような話を聞いたことがあります。しかし、それで本当に上手くまわるのか。もちろんアウトソースするにしても『業務知識』がないといけないので全くの素人に任せるということはないと思いますが、この『業務知識』というのがどこまで求められるのか、ということがとても気になりました。*1
システムがどう動いているのか、インプットとアウトプットは何か、というようなことがいわゆる『業務知識』となるかと思いますが、それだけでは不十分で実際に使っている(組織内の)エンドユーザや取引先などの関係者のことなども強く意識しておかなければなりません。



私がシステム開発・運用をやってきているときにも「障害は起こしてはいけない」という意識で取り組んでいましたが、実際にユーザ企業において障害が発生したときにどれだけビジネスに影響があるのか、(社内外に)どれだけ関係者がいてどのように連絡をしていかないといけないのか、システムが(一時的に)止まったときにビジネスに影響を与えないために何をする必要があるのか、というようなところまで考えられていたか、というと疑問が残ります。



この1年間の常駐生活のなかで、少しはそういったことを意識できるようになってきたと(自分では)思います。
今後また自社に戻り SIer という立場でシステム開発に取り組んでいくなかで、この1年間で学んだことを活かしていけたら、と思います。

*1:ちなみに、『属人性』と『属技能性』を意識したのも、この辺りを考えていたときですね。