将来的な移行性を考慮した場合の言語選択のメモ

やあやあ。

この記事は、将来的に移行を行おうと考えた場合、どの言語からどの言語を目指すと良いのかを思うままに主観と偏見だけでメモってみるよ。

 

C

CからならC++にシフトするか、C++に埋め込んでいくのもありだと思う

 

C++

古いC++からであれば、C++11やC++14になるのではないかな

新しい仕様で書き殴ると、旧環境でビルドできなくて死んでしまうから悩ましいけど

GUIを考えてWindows上で開発するなら、C# + XAMLというのも手だと思う

 

C#

C#C#だ!

 

COBOL

業界は、35歳未満のコボちゃんを求めているみたい

多分クリティカルな世界では当分滅ばないし、どこにも行く必要はないのでは

 

VB6

VB6からの移行は正直厳しそうだけど、現時点ではVB .NETじゃないかな

 

Perl

Perlはポエムだ。ここから何処かに行くのであれば、その方言を全て捨てる覚悟が必要だ

 

PHP

PHPに型を求めるのであれば、FBが公開しているHackにシフトするというのも一つかも。HHVM上で同居可能というのが強いと思う

 

Java

古いJavaならJava8を目指していく方が堅いかも。Javaは凄い人いっぱいいるから、先生には困らない気がする

トレンドを追い続ける覚悟があるなら、Scalaにシフトするのも良いかも知れない。Scalaといえば、だいくしーさんだよね

better JavaとしてKotlinもありなのかも知れないけど、この辺りはKotlinエバンジェリストか、Kotlinアイドルに聞いた方が良いのかな

 

JavaScript

敢えてのTypeScript。同居可能なのが強いと思う

毒は残っていても、現時点で型を持ち込むのであれば悪くない選択だと思う

 

Ruby

どこに向かえばいいのかな。巨大なシステムにしないなら、RoRで堅くまとめていくと良い気がする

 

Python

2.*と3.*の狭間は深いよね…

 

Object-C

可能であればSwiftで開発を始めた方が良い気がする

既にObject-Cで書かれたものを無理にSwiftにする必要はないと思っている

 

 

 

他にも言語があるのは知ってるけど、この辺で力尽きたでござる orz 

 

滅びることを覚悟したシステムであれば、将来的な移行・移植性を考えずに言語依存の書き方をバリバリすればいいと思うけど、蘇生術を施しいつか書き換えることを考えるなら、簡単で基本的な発想か言語に強依存しない考えで書いていきたいよね。

手段と方法を疎結合にするようなイメージで。

MavenプロジェクトをIntelliJ IDEA上で作る(Spring Boot編)

やあやあ。

Spring Bootを勉強する為に、Windows上にMaven 3な環境を準備してみたよ。

 

先ずは環境構築から。

 

1.Java8な環境を作る

    JDKのセットアップは以下参照

 

2.IntelliJ IDEAをインストールする

    Maven 3をIntelliJ IDEA上でkickすることを考えている時点でIntelliJ IDEAは入っている気がしますが、念の為さっくりと。
    IntelliJ IDEAを取得する。今回の使用方法であれば、Community Editionでカバーできます。

    参考文献

 

3.Maven 3をインストールする

    以下から取得する

 Maven – Download Apache Maven

    Windows環境であれば、Binary zipを入手します。
    解凍後、binディレクトリまでのパスを、環境変数PATHに登録する。

 

以上。

 


 

次は設定の引っ張り方。

試してみるプロジェクトは、以下のものです。

making/spring-boot-docker-blank · GitHub

 

コマンドから実行するのであれば

mvn archetype:generate -B^
-DarchetypeGroupId=am.ik.archetype^
-DarchetypeArtifactId=spring-boot-docker-blank-archetype^
-DarchetypeVersion=1.0.2^
-DgroupId=com.example^
-DartifactId=hajiboot^
-Dversion=1.0.0-SNAPSHOT

となるが、今回はこれをIntelliJ IDEA上でやってみる。

 

 IntelliJ IDEAを起動し、「Create New Project」を選択

f:id:white_raven:20150302112154p:plain

 

Maven」を選択

f:id:white_raven:20150302112221p:plain

 

Project SDKから、環境変数 JAVA_HOME に登録している、または任意の箇所に設置したJDKまでのパスを指定する。

f:id:white_raven:20150302112228p:plain

 

「Create from archetype」にチェックを入れて、「Add Archetype...」を押下する。

すると、「Add Archetype」ウインドウが表示される。

(ここで「Create from archetype」にチェックを入れていなくても、「Add Archetype」は可能)

f:id:white_raven:20150302112237p:plain

 

「Add Archetype」ウインドウには、コマンドで打ち込みたかった部分の、以下の箇所をテキストボックス内に入力する。その後、OK押下。

f:id:white_raven:20150302112246p:plain

 

すると、一覧にArchetypeが追加されている。

元にしたいArchetypeを選択し、「Next」を押下する。

この時に何かポップアップが出たら、上手く対処してください。

f:id:white_raven:20150302112252p:plain

 

「New Project」ウインドウが表示される。

f:id:white_raven:20150302112302p:plain

 

ここに、以下のように入力。入力後、Next押下。

f:id:white_raven:20150302112316p:plain

 

Mavenまでのパスが正しいかを確認し、各要所をチェック。

問題なければ「Next」押下。

f:id:white_raven:20150302112323p:plain

 

プロジェクト名称とプロジェクトの生成先を聞かれるので、上手く答える。

プロジェクト名称は、ArtifactIdと同じで良いと思う。

その後、「Finish」押下。

f:id:white_raven:20150302112332p:plain

 

この後、放っておくとプロジェクトが生成され、待ってるだけで出来上がります。

マシンパワーがそこそこ必要なので、低スペックマシンだと少し辛いかも。

 

私は第四世代のIntel Core i3の低電力版なモバイル環境で作成したので、少しイライラが募りましたが、一度プロジェクトが生成され切ってしまえば、ある程度の速度で触れるようになります。

 

以上です。

 

VirtualBox上のLubuntuとSSHでやり取りしたい

やあやあ。

VirtualBox上にLubuntuを入れてみたよ。

取り敢えず、hostとguestのLubuntu間をSSHでやり取りしたいので、その設定の覚書。

 

1.LubuntuにSSHをインストールする

 →sshdは起動時に立ち上がるようにしておく

 

2.VirtualBoxから、NATの設定

 ポートフォワーディングで、TCPプロトコルの22番ポートを開けておく

 

後はよしなに。

 

この「2」をついつい忘れちゃうんだよね。

 

ではでは。

VirtualBox上のLubuntuにGuest Additionsを入れる時の覚書

やあやあ。

超小型サーバを買って遊んでみようかなと思ったんだけど、色々思いとどまったのでVirtualBox上にLubuntu 14.10 64 bitをセットアップしてみたよ。

 

で、新たにセットアップしてからGuest Additionsを簡単に入れる手順の覚書をしておこうと思う。

 

$ sudo apt-get update

$ sudo apt-get install build-essential module-assistant

$ sudo m-a prepare

$ sudo apt-get install virtualbox-guest-dkms

 

以上!

 

 

今まで専用イメージ食わせてたけど、virtualbox-guest-dkmsを入れたら一発だと分かったので、その覚書。

色々楽になっていくなあ。

 

ではでは。

救急車で運ばれた話

やあやあ。お元気ですか?

実は私、お恥ずかしながら先日救急車で運ばれました。

分かりやすく言うと、右膝が脱臼してしまった為です。

気合で動こうにも、痛みでどうにも動けず、自分でどうにもできずで、命の危機でもないのに申し訳ないと思いつつ119番をしました。

 

搬送措置

私は2階で脱臼してしまった為、1階へ降りる必要がありました。通常、階段であってもストレッチャー等を利用して運んでもらえるのですが、階段が狭くて急勾配、挙句に曲がり角があった為にストレッチャーを使用することが出来ませんでした。

その為、人力で這ってでも1階へ降りる必要に迫られました。

 

また、2階で脱臼してしまった旨を伝えた為、119番の電話の先で気を利かされて、消防車(レスキュー隊)まで来られていました。 救急車を呼んだのは私なのですが、消防車、しかもレスキュー隊まで来ていたとは思いもよらずで、「これはえらい事になってしまったぞ……」と冷や汗をかくなど。

 

レスキュー隊の方の一人が、「僕ががんばって背負ってみましょうか?」と言い出して下さったのですが、どう考えても危険だと言う事でその案は避けて頂きました。

また、はしご車もあるし思い切って窓から出してみるかという案も出かけたのですが、窓から人を出せるほど私の部屋が綺麗ではなかった為、こちらもひっこめて頂きました。

 

膝は30°~45°以上開くと痛くて震え、その角度を維持しようとしても膝に力が入らず重力で引っ張られて涙目に。

結論としては、自在に形を変形できるシーネで膝の角度を維持して三点固定して貰い、階段は複数人に支え・吊られた状態で尻で這って降りました。

 

足を固定して貰いながら何とか外まで出る事が出来たのち、 ストレッチャーに固定されて救急車まで運ばれました。

 

ガラガラと道を運ばれ救急車に積まれるまでの間に消防車が2台も見え、更に冷や汗が出るのありました。

 

ここまでで40分程度。

 

救急車に来てもらうコスト

日本では、救急車は無料で来ていただけます。その料金は、皆さんの税金で賄われています。個々人にその利用料が請求されることはありませんが、実際にはその1通報で結構な金額が動いています。

この通報時の本当のコストは、その地域地域の人口や財政状況、通報頻度や時間帯によって左右される所がありますが、東京ですと5万強程度、地方ですと7万強から10万強程度だと聞いたことがあります。

個人で払える額か否かと考えた時、払える額ではあるのでしょうが、決して安い金額ではありません。

 

また、私の場合は窓からの搬出までを考慮された結果、消防車(レスキュー隊)まで来て頂きましたので、実際の費用はもっともっと掛かっていると思います。生死を彷徨っているわけではないのにこんなに全力で助けて貰い、何と申し上げればよいやら。

 

救急車や消防車は台数が限られた各地域の財産であるとも考えられます。

皆のものであれば、独り占めしていいものではありません。

無料でこの行政サービスを受けられる為、我々はこのような意識が薄れていたりします。当然、私もこの身をもって搬送されてみて、何と大変なもんなんだと実感するようになりました。

 

救急車の車内

こういうことを言うと石か鉞が飛んでくるかも知れませんが、 ストレッチャーに固定されていた私は、非常に乗り心地が良く感じました。振動も少なく、社内は全ての器具が磨き上げられており、とても清潔でした。

過去に人が倒れたり事故に遭っているのを見て救急車を呼んだ事は何度かありましたが、実際に搬送されたのはこれが初めてでした。 

車内の装置類は原則壁に固定されており、必要なものをそこから引き出して利用するというインターフェースになっていました。

 

夜間救急の実態と措置

救急車で運ばれた後、私は救急の出入口より病院内へ搬送されました。

私が脱臼をしたのは夜中だった為、夜間救急に運び込まれました。

処置室に運ばれ、病院のストレッチャーへ移動。こちらのストレッチャーは寝心地が悪く、かなり固い素材で出来ていました。途中、足よりもお尻の方が痛くなってきたのですが、わがままは言えません。

救急隊のおにいさんに、「後はちゃんと治療を受けて、ちゃんと静養するんやで。お大事に」とポンポンとして貰い、そこでバトンタッチ。

 

その日の夜間救急は、非常に静かでした。救急と言えば人がいるのかと思いきや、熟練ナースが1人、医者が2人。

医療現場は、救急でも本当に人が少ないんだなと感じました。

 

過去に夜間に病棟で付き添いをしたことがあったのですが、1つのフロアにナースが2人しかおらず、その2人も常に走り続け、静かなフロアに鳴り止まないナースコールとバイタルの緊急アラームが鳴り続けていました。

ナースは天使みたいなことを言う人がたまにいますが、私には戦地を駆け巡る歴戦の兵士のようにも見えました。

 

さて、話は戻って私の措置の話。

硬いストレッチャーでしばらく待っていると、お医者さんが2人やってきました。2人して足をモミモミ。関節の形が云々と言いながら何処がどう痛むのかと聞くと、2人とも何処かへ。

その後、ナースが現れてレントゲン室に運ばれました。

病院内の移動は、そのナース1人で「うんしょうんしょ」と運んで貰いました。いやはや、申し訳ない。

 

レントゲン室では、膝関節を色々な方向から撮影して貰いました。

通常、レントゲンは不要な被曝を避ける為に放射線技師は退避して撮影を行う必要があるのですが、私の場合は膝を動かすことが出来ない為、意を決した放射線技師さんが空中撮影を決行し、手作業で撮影を行って下さいました。本当に申し訳ない。

この撮影時に技師さんは画像も確認せずに、「半月板じゃねえかなあ」と呟いていました。

 

その後、撮影の結果をお医者さん2人が見ていたのですが、どうも撮影結果で判断が出来なかったらしく、整形外科の専門医に夜中に電話し、相談をされているのが聞こえてきました。その電話の向こうでは、「半月板じゃねえの?」と、画像も患者も見ずに判断を下す専門医。

どうやら、この病院にはエスパーが沢山働いているらしい。

 

診察結果と治療方針が決まるまでボーっと待っていると、ガタイの良いおっさんがどかどかと措置室に入ってきた。そのまま奥の方に消えていく姿を見ていたのですが、その腕には黒い腕章が付いていました。

喪章である。なるほど。運ばれたけど亡くなった人がいたのだな。救急だもの、当然である。

 

半月板の位置がおかしいと言うサジェストを受け、治療方針が決定。お医者さんに半月板の位置を戻しながら膝関節を伸ばしてはめ直す措置をして貰いました。結構な荒業。

痛みに耐えつつ関節を伸ばされていくと、どこか途中で「カポッ」と嵌った感覚がありました。お医者さん2人もその途端ニヤリと笑い、「嵌った気がしますが、どうですか?」と。私もニヤリと笑いながら、「ええ、そんな気がします」と返した。

実際、この瞬間から痛みと関節内の熱さが引き、曲げ伸ばしが可能に。

 

その後お医者さん2人の話を聞くと、「恐らく半月板を固定している腱の片方が緩んでおり、そのせいで位置がずれてしまって戻らなくなってしまったのが原因ではないかと思います。ですので、近いうちに整形外科にかかって腱を縮めるオペを受けて貰った方が良いと思います」と。

それに合わせて、「ただ、正直僕らはこういうの全然分かんないんで、今の説明通りかは分かんないんですけどね」と。

 

なるほどである。お医者さん2人は私よりも遥かに若く、白衣も余り馴染んでなかった事実と合わせると、恐らく研修医だったのだろう。じっくりと顔を見ると、女性のお医者さんはメガネとファンデーションで隠しているものの、うっすらとクマが。 

夜間病院は、寝れていない研修医で回っていることもあるのだと考えると、尚の事過酷な世界だとも言える。

 

関節の状態修復終了後、念の為に伸縮包帯でテーピング固定を行って貰い、その日の措置は終了。不思議なもので、嵌った後は自立歩行が可能に。当然と言えば当然なのだが、いやまあ、こんなにあっさりと。

 

治療費は夜間加算が付いていましたが、財布にある現金で払う事が出来ました。

皆さん、夜間救急ではクレジットカードは使えないので、保健証があったとしても数万は財布に入れておいた方が良いですよ。

 

途中、清算待ちの間におばあさんが先に清算を済まされました。付添いの雰囲気を見ると、在宅介護で何かがあって運ばれてきた雰囲気。そちらの方は数百円程度でした。これが「日本の保険の力」かと思うと、まあ賛否両論あるのでしょうが、髪の毛もぼさぼさでやつれていた家族の方を見る限りでは、そうも「否」を強くは出せない私であった。

 

 

色々あって色々と助けられた私ですが、この国の行政サービスや保険はかなり手厚いなと感じました。それと同時に、確かに高いのはある程度仕方ないのかなあと感じる点もありました。

行政サービスや医療保険は共有財産であり、利用者がモラルを持って恩恵を受けていかないと、回りまわって廃止や有料化へシフトしていく危険性も当然あると思います。

また、それらの恩恵は窮地に追い込まれて実際に受けてみないと分からない面もあると思います。

 

安心は無料ではない。

ITエンジニアには英語は必要か

やあやあ。

ITエンジニアに付きまとう問題、「英語は必要か」。

 

結論から言うと、「大半の人は業務上不必要である。但し、『必要かどうか』と考える貴方には必要」である。

 

英語って、業務でしゃべる事はあるかい

殆どの人はないんじゃないですかね。

  • 外資系だ
  • 社長や社員に外国人がいる
  • ブリッジSEだ

こんなことがない限りは、ほぼないです。

 

英語って、業務で書くことはあるかい

これも、かなりの人がないんじゃないですかね。

  • 取引相手が海外だ
  • 開発拠点が海外にもある
  • オフショアを強いられている
  • stackoverflowに質問を投稿したい

こんなことがない限りは、メールやwebで英語を書くことはほぼないです。

 

英語って、業務で読むことはあるかい

この記事が気になった貴方は、恐らく読む必要がある人ですね。

ITエンジニアは、日本国内で働いている限りはアウトプットに英語を要する機会は少ないですが、インプットではどうしても避けられません。

  • 最新の言語仕様書は英語で書かれている
  • OSのサポート情報が英語しかない
  • 技術的に詰まった場合に検索したらstackoverflowしかヒットしなかった
  • コードサンプルが英語で書かれたマニュアルの中に眠っている
  • 技術的に突っ込んだ話は英語で書かれた論文の中にしかない

このような場合では英語を避ける事が出来ないので、諦めて英語に立ち向かいましょう。

 

技術英語の読み方

科学英語と同じだと思って問題ないです。基本的に時勢は意識しなくてよいです。比喩的表現もかなり少なく、直接的表現が殆どです。

単語力も、検索すれば直ぐに補助されるので、密室のスタンドアロン作業を強いられていない限りは、大体何とかなります。

 

ITエンジニアがすべき英語の勉強は

交流を行いたいレベルの人は、是非英会話を習得すべきです。

そこに到達するのが困難な場合は、そこに到達している人と日本語で仲良くなった方が早いです。

 

読むだけであれば、頑張って睨めっこしていれば、ある程度は何とかなります。

私も英語は大嫌いで、勉強を業務上強いられるのであれば泣き出したくなりますが、それでも英語で書かれたサポート情報を基にsocket通信の潜在バグを修正したり、英語で書かれた技術論文を基に、暗号ロジックをC++で何とか書いた記憶があります。

英語が出来ない私でも、即死は免れます。必要だったのは、中学英語程度の能力でした。

 

転職をする場合には

転職をする場合には、高い英語力を強いられる場合があります。

「英語で意思疎通が取れ、ビジネスが可能になるレベル」を求められる場合が多いようです。日本語ですらまともに意思疎通を取って仕事をするのが困難なのにねえ。

大体はTOEICの点数で評価されるそうなので、必要とされる会社に行く場合は、その勉強をされた方が良いと思います。

ただ、私の経験上TOEICが満点に近い人が英語で仕事をしているとは限らない事を見てますので、受験英語のような存在になっているような気もします。

 

結局、ITエンジニアに英語は要るのか

常に最新の知識を自力で収集したい人には、読む能力が必要だと思います。

単語力よりも、いくら数をこなしたかの方が有利な気がします。

「五大文型とか、そんなの覚えてないわ」とか言う私でも即死を免れる程度なので、「怖がらない」事の方が重要なのかも知れません。

 

必要なのは、中学英語程度の能力でした。

 

ではでは

買え、捗るぞ! ~食洗機編~

やあやあ。

今回はITからかなり離れたお話だよ。

 

最近家事をする機会が増え、その上で実感した経験から記事を書いてみようと思う。

 

炊事って、面倒だよね。特に、洗い物が面倒臭い。

食器を洗剤で洗って、乾かして…この工程が地味に面倒くさい。

もっと適当に、もっと簡単に楽をしたい。

 

と言う事で、ゲームの王道である「レベルを上げて物理で殴る」に倣い、「(現金で)レベルを上げて、機械で殴る」事にしてみた話。

 

食洗機を買おう

そう、食洗機を買おう。ビルトインで既に持ってる人は上手く活用してください。

持ってない人は、据え置き型を買いましょう。

以上。

 

据置型の食洗機はどれを買えば良いか

現在(2014~2015)、据え置き型はパナソニックが出しているものしか事実上の選択肢がありません。これでメーカーは絞れましたね。

次に洗浄容量ですが、これは大きければ大きいほど良いです。購入可能な範囲で、尚且つ設置可能なサイズで最大のものを買うべきです。

「『○人分』だから家族の人数に合わせて……」とかは、考える必要はありません。大きければ大きいほど良いです。食器で満たせなかったとしても、空いたスペースに調理器具を入れられるので、大きくて困る事はありません。一人暮らしでも、大きければ、ちょっとぐらい怠けて溜めても困りません。

さあ、何も考えずに6人分サイズを買おうか。

次に扉の空き方ですが、なんでも良いです。強いて言えば、置けるなら前開き式の方が良いです。開けた扉が入口の受け皿となり、食器をセットする時の液の滴りなどを上手く処理してくれます。

これで凡そ2機種に絞れるので、後は好きな方を買ってください。安い方で十分です。家電量販店モデルもあると思いますが、後は似たり寄ったりなので、修理の場合と購入の容易さだけで考えてください。

 

水栓について

食洗機をセットするには、炊事場の水栓工事が必要です。

家電量販店で買えば、お金を払えばこの工事をして貰えます。

賃貸の場合は、事前に大家さんに相談してね。

 

洗剤について

ランニングコストは特に高いとは思いません。

使用するタイプは、液体洗剤をオススメします。

食器の量や汚れ具合によって調整可能ですし、液体なので溶け残りの心配はありません。

 

費用対効果

かなり効果はあると思います。

というか、精神的にも肉体的にもかなり楽になります。

セットして、ボタンを押すだけで済みます。

事前に残飯処理さえすればいいので、その辺りもかなり気楽です。

実質的な作業時間は、10~分程度ですかね。後は機械にお任せ。

洗剤や水に触れる時間も短くなるので、手荒れもましになります。

メンテナンスですが、内部のフィルタを毎度洗浄する必要があります。フィルタと言っても、単にパンチされた金属網なので、水で濯ぐだけで十分です。お米などがちょっと付いてる程度です。

 

綺麗になるのか

結構綺麗になります。今の所、不満はありません。

ただ、食洗機では洗えない食器も世の中に存在するので、その辺りはケースバイケース。

 

騒音について

正直、静かではないです。

それでも、我慢が出来ない程の騒音とは言えません。掃除機やドライヤーの類よりは静かだと思います。

 

置き場所について

上手いことしてください。結構場所を取ります。場所がなければ、専用に台を設置したり、ホースを延長したりしてでも検討すべき程度には便利です。

 

 

なので、もしお金と置き場所に都合が付くなら、買え、捗るぞ!