@kotyのブログ

PythonとかAWSとか勉強会のこととかを、田舎者SEがつづります。記事のライセンスは"CC BY"でお願いします。

謹賀新年2016

あけました。

昨年の振り返り

おかげさまで家族みんなが大きな病気もせず、一年を過ごせました。それだけで他に言うこともないのですが、強いて振り返ります。

子供中心の毎日

息子が保育園に通い出しました。同時に奥さんも育休から復帰。通わせている保育園が偶然特殊な方針を掲げているおかげで、毎日大量の洗濯物を持ち帰ってきます。それもあり、毎日の自分の時間がほとんどありません。*1

ほかの人を見ていると同じような状況なので、このくらい小さい子供がいる場合は仕方ないんでしょうね。

ここ最近だいぶ言葉を覚えてきました。宇宙人から人間に急速に近づいています。

転職一年目だった

期待通り、自由です。良いことばかりではありませんが、自分には今の会社が合っています。*2でも、家庭を優先して、本業の案件以外にほとんど手を出せませんでした。

Python, Django, AWS の案件が主でした。まだまだ勉強中です。

input/output

本はほとんど読みませんでした。4,5冊くらいだろうか。。。読書会があったのは良かったです。

勢いで以下の二つのサイトを作りました。

自宅でまとまった時間は取れず、どちらも会社で闇研して作りました。

今年の抱負

引き続き、家庭優先になる予定。。

input/output

いろいろやりたいことはあるんだけど時間が取れないので、仕事を通して勉強するしかないと思います。

jQueryはもう卒業したいです。それ以外の何か(Xamarinとか何かしらのJSフレームワークとか)でfrontを作れるようになりたいが。。。JSフレームワークは変化が激しすぎて真剣に手を出す気になれません。

水泳関係

野尻湖トライアスロンと、OWSの大会何かひとつに出たいなぁ。

ことしもよろしくお願いします

そして何より、健康第一で。

*1:奥さんはもっと少ないわけですが。。。

*2:前の会社は続けられる気がしなかった。やれる人がやればいいし、やれない人は無理にやる必要も無いと思う。

データベース実践入門読書会が終了したので振り返ってみる #nseg

追記:謝辞を追記しました。諸先輩方にはお世話になりました。今後ともよろしくお願いします!

この記事は NSEG Advent Calendar 2015の20日目の記事です。年の瀬ですね。

少し時間が経ちましたが、去る 12/16(水)に書籍「理論から学ぶデータベース実践入門」読書会が最終回を迎えました。開催場所の都合で私は幹事のようなことをしていました。

とみたさんの記事 もご参照ください。

この読書会を始めるきっかけは4月のtwitterの会話だったと思います。

この会話の元になっているさとうさんには感謝ですね。*1

良かったこと

  • この本自体もその名の通り実践的で良い本なのですが、2章を代表に一部難しい章があります。そういった箇所は一人で読むと「まあいいか」と理解せずに流してしまうところ、みんなで読むと理解が深まります。
  • メンター役がいたのも良かったと思います。とみたさんktzさんkagamiwariさん、ありがとうございました。*2
  • まあまあ参加できました。3,4回都合で欠席しましたが地の利もあったのが大きいのと家庭の事情的に週末よりは参加しやすかった。
  • 読書会の合間の雑談が面白い。

改善したいこと

  • 参加者は最初は10人くらいだったけど途中から4人くらいになってしまった。もうちょっと軽い題材の方が参加者は増えるかもしれない
  • 開催場所がちょっと行きづらい場所かもしれない。最近できたコワーキングスペースとか便利そうだけど、自分は今のままが便利で良いです。。。

こちらで次回の題材を検討中です。年明けから開始ですかね。

*1:今後もCMSとの闘いに勝利されることを祈念しています。

*2:ご本人はそのつもりは無かったでしょうが、結果的にそんな感じになった。

「理論から学ぶデータベース実践入門」読書会スペシャルが開催されました #nseg

この記事は NSEG Advent Calendar 2015の9日目の記事です。乗っかってみます。

去る 11/28(土)に、書籍「理論から学ぶデータベース実践入門」読書会スペシャルが、GEEKLAN.NAGANOにて開催されました。

参加者の皆さま、著者の奥野さん、幹事のとみたさん、お疲れさまでした&ありがとうございました。

f:id:kkotyy:20151128135844j:plain

イベントの様子はとみたさんのブログを見て頂くのが早いと思います。。

写真とか

こちらは奥野さんが持ってきていた分離できるキーボード。 f:id:kkotyy:20151128135835j:plain ポーランド製って言ってたような。ガジェットに対する尋常でない情熱を感じました。データベースに対する情熱も感じましたよ!

私はGEEKLAB.NAGANOの管理人(の一人)として開場の設営と懇親会の準備をしました。サインももらいました! f:id:kkotyy:20151128163515j:plain

懇親会運営のふりかえり

良かった点

  • ピザをテイクアウトするともう一枚無料ってのを利用した。これはお得で良かった。
  • けっこう駆け込みで申込があったけど、店を予約するのではなく会場でのビアバッシュ形式だったので問題なく対応できた

改善点

  • もうちょっとノンアルコールを多くすれば良かった。*1申込時にお酒を飲むか否か聞けば良いのかも。
  • お菓子とアルコールは余ってしまったのでその分を減らしてピザをもう1枚か2枚増やせば良かった。
  • 途中でイベントを抜けてピザを取りに行くことになるので、予算に余裕があればピザを配達してもらった方が良い。

自分の発表資料

当日の勉強会中にあわてて作りました。酒のつまみくらいになったのら幸いです。

おわりに

長野以外からの参加者もいましたし、全体として大変盛り上がった良いイベントでした。

読書会も今月16日に最終回です。読書会自体のふりかえりはその後にまた改めて書こうかと。

*1:田舎のイベントは車で来る方が結構多い

オープンデータについて感じたことその後

先日以下の記事を書きまして。

更新の仕掛けが貧弱ではないかと思っていたのですが、google driveに置いたスプレッドシートからのアップロードが秀逸ということが分かりました。けっこうよく出来ていると思います。

一度アップロードしたスプレッドには、際アップロードするためのリンクが書き込まれます。

f:id:kkotyy:20150224094048p:plain

このリンクから簡単に再アップロードができます。またスプレッドシート経由なので自動化もしやすいんじゃないでしょうか。

あとはオイシイ(この表現が適切かは分かりませんが)データを持っている自治体や医療機関がこの仕掛を活用してくれるか否かですが。。。

オープンデータについて感じたこと

追記書きました。

オープンデータについて感じたことその後 - @kotyのブログ


こちらを読みました感想を。

コメントしようかと思ったのですが長くなるのでエントリーを書きます。

最初に結論を。

確かにattributeタグなんかは酷いと思いますのでお気持ちは分かりますが、どーにかこーにか許容できるレベルではないでしょうか。例示されているコードなんか「ほらこんなに簡単に整形できちゃいますよ。LINQならね」と読めないこともないですし。。。いやー、C# いいですよね。やっぱC# ですよね。シーシャープ、シーシャープ、ぁぁああああああ!!!!!!

すみません。取り乱しました。データ構造はどーにか許容できる(ということにして)ので良いとして、

そして 2 年前から何も変わってない...

と書かれている点の方が問題ではないでしょうか。一度公開したオープンデータを最新化し続けること、そして最新化し続けやすい体制(システム的にも人間的にも)になっていることが大事なのではと感じました。避難所の新設や廃止が反映されないようではデータの価値が薄くなります。

オープンデータデイ

話が脱線しますがオープンデータデイが今月21日に世界各地で予定されています。

http://opendataday.org/

金沢でも開催されるみたいですね。

https://www.facebook.com/events/1511155185804654/

オラが村、長野でも開催予定でおりまして、

http://glnagano.doorkeeper.jp/events/20368

オープンデータを最近調べています。*1

日本国内のオープンデータは下記に集約されるみたいです。

データを更新するための仕掛けが必要では

で思ったのですが、このサイトに上がったデータの読み取りはJSONやらRDFおよびCSVといろんな形式で取れるよう仕掛けが用意されてるんですが、データを書き込むアップロードするためのAPIが見つからないのです。

今のところは紙とかxlsとかの非定型書式を気合で整形してアップロードしているのでしょう。なのでAPIがなくてもあまり問題になっていないのかもしれません。しかしデータの鮮度を重視するなら、この先データを最新化し続ける 必要があります。その際に書き込む仕掛けが貧弱なのが問題だなと感じました。

末筆で恐縮ですが

北陸新幹線が開業しますね。ぜひ記念勉強会をhttp://nseg.jpと合同で開催しましょう。Rx教えてください。

あとで見たら元ネタのページけっこう反響があったみたいだな。こちらはだまっていよう。。。

*1:そんなレベルでオープンデータを語るので、おっかなびっくりです

謹賀新年2015

あけおめことよろでございます。

昨年の振り返り

昨年は公私ともに忙しく、また大きな変化のあった年でした。java力は多少上がったような。

子どもが産まれた

元気に育ってくれています。かわいいです。生まれてきてくれた息子と産んでくれた奥さんに毎日感謝しています。

転職します

新卒で入社してから12年ほど勤めたSIer*1を退職しました。一年前には全く辞めるつもりはなかったんですけども。。。退職理由はなんですかね。ああいうのに向いている方がやればいいと思います。

今年から新しい会社にお世話になります。幸運にも今の住まいを変えることなくご縁にめぐり会えました。ビバ田舎。

また近況や前の会社との違いなどの感じるところをお知らせしたいと思います。近況エントリーが無い場合はお察しください。。。

昨年のin/out

仕事も忙しく子どもも産まれというわけで、読書やサンデープログラミングはほとんどできませんでした。このブログの記事も正月と無理やり書いたXAML advent calendarだけだし。世のお父さん達はどうやって時間作ってるんですかね。最終的には睡眠時間を削るしかないんだろうか。。。

2か月の休暇

11月12月と有休を消化していました。有休は取れて当然とはいっても、取らせてくれた会社には感謝しています。おかげで育休のような休暇を取れました。家事や育児に参加できましたし、何より子供の成長をリアルタイムで見れるのは素晴らしいことです。休みの間にずり這い、つかまり立ち、ハイハイができた瞬間に立ち会えました。育休は状況が許すんであれば取った方がいいし、より取りやすい雰囲気が世のお父さんの周りにできればいいなと思います。

2か月も休んで何もin/outが無いのかと言われればほとんどありませんでした。子守を優先するとほとんど時間を捻出できず、私的プロジェクトの進捗は自分がやりたかった2割ほどしかできませんでした。

今年の目標

まずは新しい環境に慣れねば。勉強したいこととお仕事の内容が一致する予定なのでまずはお仕事がんばりたいです。

自分はマイペースがモットーなんですが子どもが産まれたことでさすがにマイペースとはいきません。どうにか自分の時間を捻出したいです。ああ、あとオープンウォーターの大会に一つくらい出るくらいに水泳の練習時間も取りたい。。

*1:と言っていいでしょう。

デスクトップアプリケーションインストール考

この記事はXAML Advent Calendar 2014http://qiita.com/advent-calendar/2014/xaml 17日目の記事です。昨日はideaki19さんのWinRT C#/XAML お手軽に実装できる引っ張って更新コントロールの紹介 - ideaki's blogでした。

↓↓このネタでいこうとも思ったのですが、

こちらでお茶を濁そうと思います。

はじめに

XAMLといえばWPFWPFアプリ*1を作ったらどうしますか?当然そのアプリを使いますよね。 使うにあたってはアプリを配布しインストールする必要があります。というわけで*2、デスクトップアプリケーションについてまわるインストール方法の選択肢について、本エントリーでは書こうと思います。*3

WPFをインストールする方法は大きく以下かと思います。

  • 利用者がbinをコピーしてインストール
  • 開発者がbinをzipに固めて配布し、利用者が解凍してインストール
  • XBAPを作成してwebアプリケーションの一部として配布し、利用者がインストーラを(結果的に)起動してインストール
  • 開発者がClickOnce配布サイトを作成して媒体を配布し、利用者が配布サイトからインストール
  • 開発者がインストーラ(setup.msi/setup.exe)を作成して配布し、利用者がインストーラを起動してインストール それぞれ長短や用途を見てみましょう。

利用者がbinをコピーしてインストール

開発者自身が使う俺得ツールであればコレでもいいかもしれませんね。もしかしたらVisualStudioでF5を押して済む場合もあるかもしれません。

開発者がbinをzipに固めて配布し、利用者が解凍してインストール

開発ツール等、利用者がパソコンの知識をある程度持っている場合はこれでもいいかもしれません。

開発者がClickOnce配布サイトを作成して媒体を配布し、利用者が配布サイトからインストール

ClickOnceは、デスクトップアプリケーションを配置するための技術です。 配置方法は大きく分けて二つあります。*4

利用者がパソコンに詳しくない場合、zipを解凍してくださいというわけにもいきませんし、意図しない場所に配置されてしまう危険もあるでしょう。インストール手順が簡便である必要があるわけです。その場合、媒体のダウンロードとインストールを一気通貫でできるClickOnceは良い選択肢かもしれません。

また、バージョンアップが容易にできるのがClickOnceの大きな利点です。ユーザーは特にすることなく起動時に自動でアプリケーションのバージョンアップが行われます。

短所として、インストール時にレジストリ登録できない等、後に述べるsetup.mxi/setup.exeによるインストールと比較するとできることに制限があります。参照:連載 ClickOnceの真実:第3回 Visual Studio 2005でClickOnceを極めよう (2/2) - @IT

また、媒体を配置しておくwebサーバーにIIS以外ではMIMEの設定が必要です。昨今のレンタルサーバでは.htaccessの設定くらいはできるんでしょうからあまり問題にならないですかね。参考

とっかかりのサイト

ClickOnce 情報のサイト - いっしきまさひこBLOG

ClickOnceググると一番に出てきますね。こちらに情報がよくまとまっていました。

XBAPを作成してwebアプリケーションの一部として配布し、利用者がインストーラを(結果的に)起動してインストール

XBAPはWPFアプリケーションをwebブラウザに埋め込むための技術です。内部的にはClickOnceが使われています。C/Sの頃使っていた帳票コンポーネント等をwebアプリケーションに移植した後も引き続き使いたいといった場合に一部の画面で使うことになるかもしれません。

もはやデスクトップアプリではなくwebアプリであり、ここで比較するには向かないので割愛。

とっかかりのサイト

WPF XAML ブラウザー アプリケーションの概要

開発者がインストーラ(setup.msi/setup.exe)を作成して配布し、利用者がインストーラを起動してインストール

よく目にするsetup.msiやsetup.exeによるインストールですね。

WiXというツールでsetup.msiをそこそこ簡単に作れます。作成にあたってはxmlインストーラの設定を記述します。GUIがあれば最高なんですがxmlをポチポチと書く必要があり、ある程度勉強する必要はあります。

実際にはsetup.msiだけで済まず、少なくともアプリケーションをバージョンアップするためにはsetup.msiをラップするBootstrapperと呼ばれるものが必要です。それがsetup.exeというわけです。*5Bootstrapperの作り方はアプリケーションによって千差万別です。自分はC++プロジェクトを作ってみましたが、、、

とっかかりのサイト

WiX チュートリアル (日本語訳) — Windows Installer XML ツールセット入門

こちらで概要はつかめると思います。

まとめると

というわけで強引に表にまとめるとこんな感じになるかと思います。

インストール方法 インストールの簡単さ バージョンアップの簡単さ インストール機構作成の簡単さ インストール機構の柔軟性
binをコピー
zipに固める
XBAP
ClickOnce
setup.msi

おわりに

浅くてすんません。。。最近必要があって調べたのですが、主にエンプラ分野で使われているためなのかインストール関連の情報はインタネットにはあまりなく四苦八苦しています。web全盛の昨今インストール不要なものが多いですがまだまだwindowsデスクトップアプリケーションが必要とされる場面はあるでしょう。たぶん。。。

*1:といったら良いのか、システムと言ったら良いのか

*2:WPFに限らずですが

*3:XAMLWPF→インストール という三段論法。強引ですんません

*4:セキュリティについてもいろいろあるけど、デスクトップアプリケーションとして考えるとFullTrustにならざるを得ないでしょう。ここでは割愛。参考:連載 ClickOnceの真実:第7回 ClickOnceが持つセキュリティ機構とは? (1/4) - @IT

*5:最近知った。元ネタ:WiX チュートリアル (日本語訳) — Lesson 4 アップグレードとモジュラー化の「どういう理由かは知りませんが、スモール・アップデートとマイナー・アップグレードは、、、のくだり」