So-net無料ブログ作成
  • ブログをはじめる
  • ログイン

Java 10 が出てしまった [プログラミング]

JDK 1.0 か JDK 1.1 の頃に、状態によって四角を緑と赤に描き分ける Applet を書いたことがある。
まあ、おもちゃみたいなもので、とても書いたことがあると言えるような経験ではなかったが、
職業プログラマーとして、いつかは Java のコードを書くんじゃないかと思って来た。

Java 8 までは、この本を読んだり

Java SE8 for the Really Impatient: A Short Course on the Basics (Java Series)

Java 8 Oracle JDK をインストールしてみたりしてみたりしていたが
http://nakagami.blog.so-net.ne.jp/2014-03-22

「Java 9 では jshell なんてのが使えるんだー」
と思いながら、Java9 について何もしないまま Java 10 が出てしまった。
var で型推論するコードなんか見てもなじめそうにない。そして、あと半年すると Java 11 が出てしまうらしい。

もうだめだ。ついていけなくなった。
Perl, PHP, JavaScript, Scala といった「勉強したけど挫折したプログラミング言語リスト」の中に Java が加えられてしまった。

・・・といいつシンタックス上の変更について調べてしまう。

流行りの型推論が導入されるらしい。
Go言語だと、宣言での型の指定が後置になっていて、型の部分を省略すると推論するようになってるんだけど、
Java 10 の場合、型を書くべきところに var って書くようになっていて、それだったら型書いたほうが読みやすくない?
って思ってしまう。

もうだめだと思ったが、 Java 9 では jshell が Java 10 では型推論が使えるようになったくらいかな?

コメント(0) 
共通テーマ:日記・雑感

Ubuntu 17.10 でAngular 環境を用意する [プログラミング]

notejs とか npm とかよくわかんないから、はまるのやだなーと思って避けてたけど Ubuntu 17.10 だと、apt ではまらずにインストールできたっぽい

$ sudo apt install nodejs npm
$ sudo npm install -g @angular/cli
$ sudo npm install -g typescript
$ nodejs -v
v6.11.4
$ npm -v
3.5.2
$ tsc -v
Version 2.7.2

npm install でワーニング出て、よくわかんないけどそういうもんなの?

$ ng new my-app
$ cd my-app
$ ng serve --open

でブラウザーで http://localhost:4200/ にアクセスすると Angular のスタート画面が出た

(追記)
ここまでの手順で良さそうではあるのだが、nodejs は、もっと新しいのを入れるのがいいの?
http://jsstudy.hatenablog.com/entry/Difference-in-version-of-Nodejs
https://nodejs.org/ja/download/releases/

ここ↓を参考にして、最新にしたほうがいいのかなぁ・・・
https://qiita.com/seibe/items/36cef7df85fe2cefa3ea

やっぱり、よくわからない
コメント(0) 
共通テーマ:日記・雑感

工数をパズルのように埋め、おおざっぱに管理する [日記]

最初に入った受託開発をメインにした会社は工数管理がしっかりしていた。
案件に工番(こうばん)または製造番号(せいぞうばんごう)、製番(せいばん)と呼ばれる番号が割り振られて15分単位で時間をつけていた。
日立グループで作番(さくばん)と呼んでいるものとだいたい同じらしい。

僕のような若手は相互に差しさわりがあるということか、複数の案件に割り当てられることはなかった。
つまり、1人月の案件が 4/1 に始まると、4/30までは、日報にはその工番をつけて、それ以降はつけちゃいけないことになる。
そしてその工番で予実管理をした。
工数が予定より多くなってら怒られるんだが、少なくてもいやな顔をされた(見積もりの精度が悪いんじゃないかといわれた)

日報には、工番と合わせて、今やっている作業が「設計」「プログラム作成」「テスト」(さらに細かく分かれていた)の何をやっているかも書かないといけなかった。
おおざっぱに 1/3 づつくらいの工数にわかれてないと「おかしい」と言われるので
「んー、今やっている作業はなにかなー。設計にもプログラム作成にも見えるけど、今の工数の消費具合からいうと、プログラム作成につけておこうかなー」
とかやっていた。ほかの人がどうしていたか知らない。

途中、客先の仕様確認とかレビュー結果をもらうとか、結果待ちに時間が空いてしまうときがある。
ミーティングの日程だってこちらの都合だけで決められるわけではないので、ミーティングまでに時間が空いてしまう。
「んー、じゃあドキュメント整理の製番でもつけておくかなー」
と、そのときさほど必要でもないドキュメントを書いてたりしてた。

あの日報をつける時間は馬鹿にならなかったし、それを集計する課長の時間も馬鹿にならなかった。
日報を転記して週に一回の課長会議みたいなのをしてたようだったが、そのための資料作るの大変だったろうな。
課長は、売り上げに結びつかなくても許される伝家の宝刀「営業製番」99998 を付けられたが、僕は、めったなことではその製番を付けることはできなかった。
社内には、社内インフラを整備する工数が割り振られていた人もいたが、そういうのは売上が結びつかなくても怒られなかった。
一方で我々一般の兵隊は売り上げに結びつかない工番はつけられなかった。
僕が、社内インフラ整備とか書籍の執筆とかを仕事ですることに、いまだに抵抗があるのは、この頃の「売上に結びつかない仕事はしちゃだめ」と思っていたのを引きづっているのだと思う。三つ子の魂百まで。

いろいろ理由で、苦しかったし予定が遅れることはあっても早まることはなかった。
今思えば、予実があってないと怒られるのは、サービス残業の発生する温床だったんじゃなかろうか。
ここまでで読んでる人は気づいたと思うけど、実績としてつけていた工数はかなり予定に合わせていて真の実績とは離れていたと思う。
あの実績で振り返っていては全然現実が見えてないな。

僕は、その会社を辞めるまではソフトウェア業界って、みんなこんなふうに工数管理しているものと思っていた。
転職してみると、15分単位に日報をつけるのは例外的だと知った。

今は、臨機応変に、それこそパズルのピースを埋めるように時間の空いた人を埋めている。
それは、最初の会社では、もっとも忌み嫌われていた仕事のやり方だ。
(計画しても現実は計画通りに進まないという現実は無視して)
ころころ案件が変わるのは計画ができてないせいだし、案件が頻繁に変わるのはキャッチアップするのが大変だから。
今はお金については社長の「費用対効果」のひとことで解決だしプログラミング言語や仕事のやり方が同じになるように努力しているので、
案件が変わっても、キャッチアップは割とするできる。

会社が大きくなれば、もっとちゃんとした工数管理をしないといけないんだろう。
今のように、みんな仲良く性善説というわけにはいかないだろう。
最初の会社の詳細な工数管理自体は悪いことじゃなくて実態が悪かったのかもしれない。

どれがよくて正解っていうのはないけど、常識っていうのは会社によって違うから、みんなできるうちに一回は転職したほうがいいと思う。

コメント(0) 
共通テーマ:日記・雑感

できることと簡単にできることと janome [日記]

随分前に参加した、Python のもくもく会で 、自然言語処理の研究をしていて、レコメンドエンジンのプロトタイプは Excel のマクロでできていて、それを Python で実装したいんだけど、という人が来ていた。
mecab-python がインストールできなくて苦しんでいた・・・というか、僕がインストールしてあげようとして挫折してしまった。

今現在の、Ubuntu なら apt と pip でインストールできるっぽいが・・・
https://qiita.com/dwarfer7634/items/551886e8d817321abbd5
sudo apt-get install mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8
pip install mecab-python3

言い訳すると、そのときは、Windows がメインで、今日のためにVirtualBox に CentOS6 をインストールしてきましたという状態で、
root 以外のアカウントは登録されてなくて Windows から ssh でログインできるようにもなってなかった。
Ubuntu だと比較的簡単にインストールできるようになったが、やはり windows で python-mecab は鬼門らしい。

この時、挫折してしまったのが申し訳ないのと同時に、
「自然言語処理の研究をしていて、MeCab のインストールに苦しんでいる人いっぱいいるんだろうなぁ。もったいないなぁ」
と思った。

そんなことがあった直後に、pure python の形態素解析器 janome が公開されたので興味を持った

- http://nakagami.blog.so-net.ne.jp/2015-04-11
- http://nakagami.blog.so-net.ne.jp/2015-04-18
- http://nakagami.blog.so-net.ne.jp/2015-04-27

最初 python3.4 でしか動作しなかったものを python2.7 でも動くようにして、その後、多少高速化もした。
ここ↓を見ると、まだ mecab -Owakati の 300倍くらい遅いみたい
https://umiushizn.blogspot.jp/2017/09/blog-post.html
だけど、最近 janome は使われているようで、できることと簡単にできることは大きく違うし、簡単にできることは、それだけで価値のあることだな、と思う今日この頃。
コメント(0) 
共通テーマ:日記・雑感

まじめに働いたら普通に暮らせる世の中になって欲しい [日記]

随分前の記事なんだけど、ずっと気になっている、↓この記事について考えていること。
https://www.buzzfeed.com/jp/satoruishido/gakureki-bundan?utm_term=.iwZ0wxPNp#.bqBYbz7jK

三世代同居で高校卒業まで一緒に暮らした祖父は、明治34年(1901年に)農家の三男に生まれ、尋常高等小学校を出た。
若い頃は肉体労働で稼ぎ最後は雑木林を開墾して農家になった人だ。
昔話に出てくる良いお爺さんの典型のような働きもので、僕が物心ついた時には 70歳は超えて息子に代を譲っていたが、よく働いていた覚えがある。
102歳で亡くなる年まで、杖をついて庭に出て、芝生に座り込んで手の届く範囲で草を取ったり春先にやってくるツバメの巣に猫が来ないように軒下においた椅子に腰かけて番をしていた。

父は昭和15年(1940年)生まれ。ちょうど姉3人妹3人の真ん中の男一人で、生まれた時から跡継ぎと言われ、小学校の頃から親の手伝いで開墾をして、農業高校を卒業した時点では祖父も高齢だったので、すぐに大黒柱として働いたようだ。

僕の尊敬する先祖2人だが、考えてみると、今のご時世、僕の先祖のように、学がなくても、まじめに一生懸命働いたら財を成すことができる・・・とまでは言わなくても慎ましやかに、普通に結婚して子供を生んで育てるってことが、とても難しくなっている気がする。

結局、僕の息子(現在大学1年生で、もうすぐ2年のはず)の中学の同級生の中で僕が知っている子で高卒で就職した子はいなかった。
高卒で建築関係の、親の知り合いのところに修行に行くと言っていた子は、ワーキングホリデーで海外にいる。高卒で就職して社会に出ることに不安があったのかな、と僕は思っている。勉強は嫌いだったみたいだけど、人当たりが良くて、世話好きで、たまに家に電話してきたときも、非常に礼儀正しかった。今のワーキングホリデーの経験が将来につながるといいんだけど。
専門学校に進んだ子は、あと一年で卒業なんだけれども、就職できるのか、自立できるのか、結婚できるのか心配しているようだ。(心配しつつも、息子とモンハンやってるのだが)専門学校卒が学歴的には高卒ということを、とても気にしている。

自分や自分の子供が大学出て安定した暮らしができればよいというものではない。
大学に行かない子、行けない子が社会の不安要素になるというのは、子供たちが暮らす次の世代の大問題になるだろうし、
「農家の長男として農業高校に進学しろ。大学に行くなんてとんでもない。」
と言われたら従っていたであろう、(そして、その場合の自分の子供は大学なんて行ってなかったであろう)平行世界の自分の問題でもある。

公共住宅政策でも、最低賃金政策でも、医療保険の拡充でも、自分の負担が上がってもいいんで、(勉強が嫌いでも)まじめに働いたら普通に暮らせる世の中になって欲しいと祈っている。

コメント(0) 
共通テーマ:日記・雑感

ソフトウェア開発のストレス [日記]

会社でメンタルヘルス研修というのがあって、普段、どんなことがストレッサーになっているか各自で考えるという課題が出た。

工数を見積もりして、その工数をもとに線表を引いて「〇月×日にできあがる」というスケジュールが出来上がり、いざ開発を開始するという最初期の
「これ、本当に期限通りに終わるの?」
というプレッシャーは、何年やっていてもストレスだなぁ、と思う。

項目ごとの工数を見直してみても、それほど無理な話じゃない。むしろ多少余裕もあるつもりだ。
それでも、過去の炎上プロジェクトを思い出して、想定外のあんなことやこんなことが起こったらどうしよう・・・と思わずにはいられない。
多くの場合は、それは杞憂に終わるし、心配したところで何も変わらないので、そんな心配してもしょうがない。
・・・ということはわかっていても、スタートダッシュで、完成の目途をつけて、それが予定のスケジュールより早めに進行しているところまで来ないと安心できない。
周りからは飄々としているように見えるかもしれないが、自分では結構焦っていて、受託開発の仕事向いてないのかな、と思う。

若い頃の、自らの責任でスケジュールを立て(とはいっても、赤字になるような長いスケジュールは許されない)自らの責任で完成させる・・・
つまり、課長は仕事を持ってきて担当者に丸投げのような体制の会社で、(考えてみれば、工期の短い見積もりをお客さんに出して、できないのは担当者のせいってことにしたら、課長は楽だよな)予定よりも早く終わっても評価されず、遅く終わったら怒られるという環境でのトラウマなのかもしれないし、もともと心配性なのかもしれないけど、この性格は直りそうにない。

この時に書いた http://nakagami.blog.so-net.ne.jp/2012-12-01 アラキさんは最後いつもデスマだったけど、プロジェクトの最初のほうは、希望に満ちあふれ、定時に帰っていた。
「設計がまだ終わってないなぁ・・・ま、今日は帰るか」
と言っていた設計が、当初の想定と違ってやり直しになってたりして、僕は
(最初の頃のあの余裕は何だったんだろう)
と思っていたが、一方で僕はアラキさんの楽観的な性格がうらやましかった。

受託開発じゃなく、自社サービスとか事業会社の内製業務アプリなら、計画はあるにしてももっと気楽にできるんじゃないかっていう気もするけど、僕は弱い人間なんで、スケジュールに対するプレッシャーがないといい仕事ができないんじゃないかという心配もある。

要するに僕は心配性なのだった。

コメント(0) 
共通テーマ:日記・雑感

AI vs. 教科書が読めない子どもたち [読書]

AI vs. 教科書が読めない子どもたち読了。
前半は、東ロボくんプロジェクトで、予備校の模試にどのように対策していったかを、数式を使わずに解説。例えば、英語は問題文を読まずに、回答の選択肢から判定してる、とか、こういう問題を解くのは難しいとか、いろいろ興味深かった。
数式は使ってないものの、プロマネで数学者の著者であるので、数学的に間違ったことを書いてない感じがして好感が持てた。
だいたいこういう本って、文系のジャーナリストがストーリー的に面白くなるように曲解していることが多いので。

後半は、中高生が教科書の文字は追っていても内容を理解していないという RST の結果の解説。

断片的には、新聞の報道や TED のトークで公開されているもので、特に新しい内容はないかも。
一冊に整理されているので、東ロボくんプロジェクトでの知見がまとまった形で読めてよかった。

この東ロボくんプロジェクトの成果から、中高生の、さらには社会人のリーディングスキルが上がるといいなぁ。安直に就職試験に使われるだけで終わってしまったらがっかりだ。
コメント(0) 
共通テーマ:日記・雑感

Honda Jet と MRJ [日記]

Honda Jet と MRJ は、サイズは違うけれども国産航空機ということで、気になっていた。

Honda Jet は、計画が始まった時
「日本のメーカーが飛行機作れたら嬉しいけど、自動車メーカーが航空機なんて作れるの?」
と思った。
庶民の僕にとって、小型のビジネスジェットっていうのが売れそうな気がしなかったのもあって、ビジネスとしてうまくいかないんじゃないかという気がしていた。
ところが、最近では、同じカテゴリの航空機では世界で一番売れているらしい。
ホンダさん、ほんとうにごめんなさい。

かたや、 MRJ は
「三菱重工はゼロ戦も作ってたし、中型機がこれからの売れ筋らしいから、Honda Jet より大分成功しそうだな」
と思っていた。

MRJ は、何回かの設計変更による延期がなされたあとで、ようやくアメリカで認可を受けるためにアメリカに飛ぶ・・・
というところまできたと思ったら、
「これは、再設計が必要だ~」
ということになって僕はビビった。ソフトウェア開発じゃない世界でも、「ほぼ完成した」と思ったら「設計からやりなおし」とかあるのか。

https://jp.reuters.com/article/mrj-2020-idJPKBN1570M6
https://ktau-ktsc.blogspot.com/2017/01/mrj.html

信じてた僕もわかってなかったけど、三菱重工の人たちも( SIer のように)自分たちで作ってなくて外注丸投げなのかな?

今僕は、ものすごく「完成しない予感」がしているが、MRJ の人には緊張感ないらしい
https://headlines.yahoo.co.jp/hl?a=20180124-00000003-awire-bus_all
> 「社外からMRJに対して厳しい指摘を受けても、どうしてわれわれが一生懸命やっているのに、応援してくれないのか、という受け取り方をしがち。現状を正しく認識できていない」
おまえは、頑張ってる小学生か。

そろそろ、注文にキャンセルが出て資金的な行き詰まりが目に見えてきそうなんで、そっから先に注目している。

コメント(0) 
共通テーマ:日記・雑感

MySQL のタイムゾーンサポート [RDBMS]

MySQL は、タイムゾーン付きの日付時刻のデータを持ってない
日付時刻をあるタイムゾーンから別のタイムゾーンの値に変換する CONVERT_TZ() 関数は持っている
mysql タイムゾーンのデータを読み込んでおく必要がある

http://d.hatena.ne.jp/Craftworks/20110507/1304762654

mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root mysql

コメント(0) 
共通テーマ:日記・雑感

PostgreSQL とpython(pytz) のタイムゾーン [Python]

(自分用メモ)

http://blog.untrod.com/2016/08/actually-understanding-timezones-in-postgresql.html

- PostgreSQL は日付、時刻のデータ型に、タイムゾーンを持てるものと持てないものがある
- カラムの定義で with time zone か without time zone かを指定する
- システムテーブル pg_timezone_names にタイムゾーン名称と offset を持っている

http://en.proft.me/2014/11/2/examples-pytz-python/

- python の datetime も timezone の指定ができる
- タイムゾーンデーターベースは python にはないので pytz を使う
- pytz でタイムゾーン名称から tzinfo を生成できる


pytz は定期的にリリースされている
いろいろな都合で時差は変わっちゃうけど PostgreSQL は政治的な都合で時差が変更になるのはキャッチアップできないよな。
サマータイムは対応できてるのかな?

コメント(0) 
共通テーマ:日記・雑感

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。