とらきす の ぐだログ

とらきすのぐだログ

ぐだぐだとなんかするブログ。

高専を辞めて半年が経過したので進捗報告 〜三重苦を背負っての就活〜

高専OBOG Advent Calendar 2019 11日目の記事になります。


本当にごめんなさい、遅刻しました
言い訳をすると、とある企業さんへ提出する選考課題があったんです。
課題が提示されたのが一昨日で、つまり制作期間が2日間しかなくてですね。徹夜して 先ほどなんとか提出できましたが、コレ書いてなくても危うかったくらいなんです。提出期限の15分前くらいに提出しましたもん。


えー、私が高専を辞めて専門学校へ入学してから半年が経過しましたので、この記事ではその所感をざっくりと記しておきたいと思います。
課題やってから大急ぎで書いてるので、収集がつかなくなるであろうことは自明です。読みにくいかとは思いますが、許してください。


つーかもう半年が経ったんですか?
2019年終わるってマジ? 早すぎないですかホント。歳とると時間の流れが〜 って本当ですね。怖い。

そうそう、私は特にWebエンジニア志望なので、そちらへ沿った内容になるかと思います。ほかの業界のことはわからないので期待しないでください。


目次


なぜ辞めた?

もういい加減 この辺のネタは色んなところで話してるので、ここでは書きません。

かと言って、なんか 高専辞めたのはこれが原因で〜 とか 所詮は言い訳みたいなそんな見苦しい記事にリンク貼るのも恥ずかしいので、探してください。noteとかに書いてます。


三重苦を背負っての就活

そろそろと就活を始めた私ですが、そんな私の背中には3つの重荷がのしかかっていたのです。

これらの三重苦は、実際に就活をする上でどれほど障害になるのか? そもそも障害となり得るのか?
というのが段々とわかりかけてきたので、軽くまとめます。

まずは三重苦。

1. 高専を辞めた

なんだかんだ言って、高専を辞めることによって生じる最大のデメリットは「高専生でなくなること」なんですよね。

高専コミュニティの力は絶大です。エンジニア志望なら尚更です。
ここまで日本中に網を張っている技術者のネットワークはそうないのではないでしょうか?

とかく、大学生や院生には与えられない、高専生だけのチャンスというものが 思いのほかたくさんあるということを、高専辞めてから知りました。

私が高専コミュニティに関わり始めたのが、高専を辞める少し前からだったんです。
今でこそ私のTwitterのFF人数は結構な多さになってきましたが、高専在学中はもっと規模が小さかったんです。
それが、わりと最近になって高専生のアカウントをTwitterでフォローするようになり、そこからぐんぐんと増えていった感じ。

私の通っていた某高専は、あまり(全く?)情報系の分野に強くなく、それが影響しているのかわかりませんが、高専カンファレンスなどの存在も全く知りませんでした。
Twitterって大事ですね。

こうして高専生や技術系のアカウントがFF内に増えてくると、TLが高専と技術の話題で埋まるようになってくるんですね。
こうなってくると、Twitterは非常に効率の良い情報収集ツールに化けます。 普段通りにTLを眺めているだけで、IT業界の動向や新技術などの情報がどんどん脳内に流れ込んできます。スピ◯ドラーニングです。

更にその上もあります。
過度に技術系アカウントが増えたTLというのは、私よりもはるかに格の高い魑魅魍魎 (つよつよエンジニア)たちが蔓延る混沌の世界と化します。
私のようなへっぽこエンジニアはガリガリと自尊心が削られていきますが、それはそれで良いモチベーションの維持に繋がるのです。
Twitterを軸に開発を進めていくTDD (Twitter-Driven-Development、Twitter駆動開発)という手法は、通常の開発よりもはるかに優れた効率を叩き出すことが証明されています (個人調べ)。

もっと早くに高専コミュニティに関わるようになっていれば、高専に残るという選択肢を選んでいた可能性は十分にあったと思います。

2. 名古屋の専門学校に通っている

私は岐阜県に住んでいて、毎朝 名古屋にある情報系の専門学校まで通っています。一応言っておくと、HALではないです。

やはり地方の学生にとっては、IT業界の就活は少し辛いものがあるのではないでしょうか?

「名古屋ならまだマシじゃねーか!」という声が飛んできそうですが、とんでもない。
名古屋なんて、東京や福岡、大阪に比べたら、IT関連の規模ははるかに下です。IT企業の数そのものは少なくはないのですが、Web系となるとその数はガクッと減ります。
上場しているような有名な企業さんでいえば、ATEAMさんくらいでしょうか。

まぁ地理的アドバンテージはまだ良いのです。これは私に限らず、多くの高専生にも該当することだと思うので。

それよりも問題なのは、「専門学校生」という点。

専門学校というのは、大学とは違って 普通の高校と同じように授業がビッシリ入ってます。つまり、平日に就活を行うのが難しいです。

…ちょっと口が悪くなってしまいますが、私の場合、別に就職さえできれば専門学校にはあまり用はないのです。
しかし、教師との関係が悪化するのは私としても避けたいので、そう目立った行動は起こせません。

そもそも、なぜ就職でもなく大学に入るでもなく専門学校を選んだのかと言いますと。

まず、高専を辞めると決めたのが2018年の12月頃とかなり遅めでした。あと1、2ヶ月で大学入試なんて不可能。この線はナシです。

そして、私は2016年4月に高専へ入学し、2019年3月に退学しました。ぱっと見、3年課程を修了しているように思えるじゃないですか。
でも私は2年生のときにワンクッション挟んでいる (察してくれ)ので、3年課程修了してないんです。

最終学歴中卒で就職はちょっと… ねぇ?

IT業界、特にWeb業界はあまり学歴を気にしないとは言います。
しかし実際のところは、大学の偏差値や文系・理系による違いとかはあまり考慮しないよ〜 というくらいのことで、高等教育課程 (高専5年、専門学校、大学、大学院など)を修了しておくのはほぼマストです。

強いて言うなら、それこそ高専の3年課程修了が唯一の例外と考えて良いでしょう。
Twitterでの知り合いにも、高専を3年修了と同時に辞め、フロントエンド界隈ではかなり有名な某企業へ就職を果たした方がいます。しかし、これはかなりのレアケースではあることは間違いないです。

そんな訳で、私はほぼ学歴作りのためだけに専門学校へ来たのです。

そして、専門学校というだけでなく「名古屋の」という点もここでかなり影響してきます。

名古屋周辺はトヨタ系列の企業が根強く残っており、それに伴ってSIerの業種がほとんどとなっています。私はWebエンジニア志望だったのですが、学校へ来る求人とか そういうのは全部やはりSIer系ばかり。
全くアテにできません。自分だけで就活を進めていく必要があります。

と、地理的にも環境的にもやや就活しづらい状況になってしまっている訳です。

3. 実績がない

一番困るやつです。

先述した内容でなんとなく察せるかと思いますが、高専にいた頃の私は、就活に関して全く関心がありませんでした。
いわゆるハッカソンやコンテスト、カンファレンスなど、そういった類の催し物への参加経験も一切ありませんでした。

プログラミング自体は好きでやっていて、いくつか制作物もありました。
Haxeで書いたゲームボーイエミュレータとか… そうそう手を出すことのない領域だろうし、これは実績として使えそうだと思っていました。

…2019年の夏までは。

ここで悲しい悲しい事件が起こります。
それが「GitHubアカウント消失事件」です。

私は、これまでのほぼ全てのプロジェクトをGitHubPrivateリポジトリで管理していました。
だいぶ昔のプロジェクトの中にはまだGitで管理していなかったものもいくつかありましたが、PCを買い換えたときにバックアップとして一通りGitHubへ投げ、ローカルのデータは全て消去しました。

私はセキュリティにも気を使っていたので、GitHub2段階認証を有効にしていました。iPhoneGoogle Authenticatorアプリを入れ、そこでワンタイムトークンを管理していました。

私はその頃、iPhone 7 Plusを脱獄 (Jailbreak)して使っていたのですが、もうiOS 13が登場しようとしているのにiOS 9.1のまま止まっているのが段々嫌になってきたので、入獄することにしました。
で、なんか脱獄してゴミとか溜まってそうだったし どうせならクリーンインストールしちゃおう、と。

あとはわかりましたね?
そう、GitHubの2段階認証を有効にしたまま、iPhoneのデータを消してしまったのです。
あたしってほんとバカ…

こうして2段階認証によって締め出された私は、なんとバックアップコードも紛失していたことが判明。
サポートに問い合わせたところ、「オーケー、わかった! アカウント消すからPublicリポジトリを一通りCloneしておいてね :) (要約)」との返答。

私が欲しいのはPrivateリポジトリなんだよ!!! と叫びたい衝動を堪え、泣く泣くアカウントを電子の海に葬り去ったという訳です。

えー、今回は私が完全に悪いのですが。
とにかく、Google Authenticatorはオススメしません。バックアップ機能がついておらず、端末を移行する際は各サービスの2段階認証をわざわざ手動で無効にしないといけないからです。

オススメはAuthyです。
UIはダサめですが、モバイルアプリ版に限りアイコンをカスタムできる機能が追加され、マイナーなサービスでもある程度見た目を整えられるようになりました。オンラインで同期できるので、万が一 iPhoneが死んでも安心です。

ハイ!
要するに、実績を示すものが何もない状況からのスタートです。きっっっついでしょコレ。


三重苦は実際どうだったか?

さて、この三重苦。実際に就活をやってみたらどうだったのか、についてです。

1. 高専を辞めた -> 概ね問題なし

この点に関しては概ね問題なく就活を進められています。

というか、高専を辞めてまで専門学校に行った理由は何か? っていうの 面接の度にほぼ確実に訊かれるんですよ。
いや、だって こんな経歴、絶対目を引くじゃないですか。普通に大学行きましたー ってのより200%目立ちますからね。

そこを逆手にとって、そこから上手く話を繋げていけて むしろ助かってます。

それに、一応は元高専生ですので、その辺の話で盛り上がれるというのもあります。
カンファレンスの懇親会とか行くとですね、高専卒の社員の方とか結構いらっしゃるんですよ。少なくとも2、3人くらいはいます。

私自身、高専を辞めたことに負い目を感じてはいるのです。だからという訳ではありませんが、正直、高専在校生であったり きちんと高専を卒業している人のアカウントに絡んでいくのは、「チッ オメー高専辞めたクセに話しかけてくんじゃねぇ!」って思われないかなー とか、高専カンファとかも、もし自分がその場にいたら浮かないだろうか… とか考えてしまいます。

だってホラ 例えば自分のクラスにさ、やたらほかの人に干渉してくる留年生降ってきたらさ ウザいじゃん?
そういう経験ないです?

でもまぁ これからは高専退学おじさんとしてもう少し図々しくなってみようかと思います。高専カンファ福岡、行きたいよね…

就活 (特にWeb系)のこととか質問してくれれば、むしろ喜ぶのでバシバシ絡んでやってください。

2. 名古屋の専門学校に通っている -> 概ね問題なし

これも、今のところほぼ不自由なく就活できています。

会社説明会… とかはちょっと厳しいかもしれませんが、インターンシップ等であれば企業側が交通費や宿泊費を負担してくれることが多いです。
それに、どこでも寝れるタイプだというのであれば、夜行バスとカプセルホテルを利用すればかなり安く都会へ行けます。

最近では、地方の就活生のために宿泊施設を無償で提供してくれるサービスなんかもあると聞きます。今度使ってみようかな。

それに、今はだいたいどこの企業さんでもオンラインでの面談を実施してくれます。
選考に関わる面接と言う訳ではなく、カジュアル面談として、本格的な選考に進む前に色々と話せる機会を作ってもらえるのです。

そして、サポーターズさん、キャリアセレクトさんのような、Webエンジニアの就活を支援してくれるサービス。これは是非とも利用すべきです。
交通費を出してくれる逆求人イベントを開催してくれたり、色々な企業さんから説明会のお知らせが届いたりします。
きちんとプロフィールを埋めておけば、スタッフの方と直接やり取りをして企業を紹介して頂けたりもします。

あとWantedlyとか。アレ 結構プロフィール頑張って埋めないとスカウトとか来ないんですよね。
その代わり、各企業から個別のメッセージと共にスカウトが飛んでくるので、しっかりとプロフィールを読んでくれた企業さんなんだなー っていうのがわかりやすくて良いです。

ただ、休みが取れないっていうのは相変わらず困ってます。
何より長期インターンができないっていうのしんどいですね。近場で技術アルバイトを探すほかありません。

私の通っている専門学校は、会社説明会とか面接とかであれば、面倒な手続きを踏むことで公欠扱いにしてもらえます。
ただ、カンファレンスとかはダメなんです。
BIT VALLEY 2019に行くために欠席することを伝えたら、「カンファレンスとか行っても就職に繋がる訳じゃないでしょ。それより授業休まないように」と…

まぁ言いたいことはわかるんです。
でもあんな… クソつまんない授業受けて時間を浪費するより、色んな人の話聞いてコミュニケーション取ってた方がはるかに良いと思うんですけど。皆さんどう思われます?

3. 実績がない -> 困るが絶望的ではない

これはやっぱり今でも困ってます。

これまでの制作物を提出しろっていう企業さんは思ったよりは少ない印象です。
フロントエンドやWebデザイナー、ゲームエンジニアとなると多くなってるのでしょうね。

まぁ、形がないとはいえ、実際に作った経験はあるものなので、その辺のノウハウはキチンとありますよ ってことを上手くアピールできれば良いとは思います。

あと、Chatworkさんのサマーインターンに参加させて頂けたのが良い評価となっているようで、そこからスカウトや招待の数がグンと増えました。
インターンシップは大事ですよ。夏休みとか、是非みんな行きましょう。

カンファレンスなどは、興味を惹かれるものであれば (あと金銭的に厳しくなければ)、なるべく行くようにしています。
また、このまま「セッションやLTを聴いているだけでは嫌だ!」と思い始めてきていたので、学生LTで思い切って登壇してみたり。アウトプットを増やす心がけをするようにしました。

というか、就活がどうの以前に、普通にショッキングですよ。これまで作ったものが跡形もなく消えるってさァ… ホント心臓によくないです。

胸を張って提出できるようなソースコードが残っていれば、今回アドベントカレンダー遅刻することもなかった訳で。
良い子のみんなは2段階認証の管理はちゃんとしようね!


おわり

いつも通り 取り留めがなくなってきたところで終わろうかと思います。

正直、今のところ就活はかなり充実しています。
既に1つ内定は頂いていて、しかも私の志望している業種にとても近い企業さんです。
IT業界でそんなことはないかと思いますが、大卒なのに数十社受けても内定が出ない〜 なんて話もよく聞きますし… この経歴の割には健闘できているほうじゃないでしょうか?

まぁそれはそれとして、就活はまだ続けるつもりです。企業なんて星の数ほどある訳で、自分に最もマッチする企業と出会える確率なんて本当に低いはず。
就活時期に余裕がある間は、そこのところを突き詰めるために 普通に就活を続けていくつもりです。

私は高専を辞めたことがターニングポイントとなって、ここ半年で色々と成長できたという実感があります。
あ、高専を辞めた「から」ではないことには留意してくださいね。そりゃ辞めないに越したことはないので。

そんな感じです。高専辞めたからって希望を失うことはないんやで。


あ、アドベントカレンダー、遅刻して本当に申し訳ありませんでした。徹夜してコード書いてたんです、遊んでた訳ではないので許してください。


ようやく書き終わった…
このあと、面接のために京都行ってきます。夜行バスで。

それでは〜

Chatworkのサマーインターン2019に参加しましたレポ

どうも、とらきすです。
このブログではお久しぶりですね。

ロシア語記事の続きは、色々と忙しいのでしばらくは書けません。就活がひと段落して落ち着いてきたらのんびりと再開させたいと思います。


さて、この記事は、Chatwork株式会社様のScalaサマーインターンシップ2019に参加させて頂いたときのレポートのような何かです。

もっともっと長くてグダい超真面目な記事も書いていたのですが、読んでいて疲れるのでボツにしました。
時系列に沿った詳細なレポートはほかのインターン生の方々が書いてくれるだろうと信じて…

こちら、Chatwork Creator's Note社員さんのセッション資料で大まかには把握できるかと思います。読もう。


目次


それまで

とは言いましても、インターンシップへ参加させて頂けるようになった経緯などは最低限書いていきます。私自身が少し「トガった」経歴を持っているので、これは似た境遇を持つ方へ向けての記事でもあるのです。

簡潔にまとめますと、私はとある高専の電気情報工学科へ入学し、2年生を2回繰り返し、退学して情報系専門学校の2年課程の学科へ入学しました。今はその専門学校の1年生です。

もし詳細が知りたいという物好きな方は私のnoteを読んで頂けると。

さて、私はWebエンジニア、それもバックエンドエンジニア志望でした。C#Scalaなど、バックエンドの静的型付け言語を好んで使っていたためです。しかし、専門学校はどちらかと言えばSIer向けの授業が多く、それに頼りきりになる訳にはいきません。
学校側が出してくるインターンにもWeb系企業なんてありませんので、自分で探す必要がありました。

そこで、私は以下の条件に合致するインターンを探しました。

  1. バックエンド
  2. 静的型付け言語
    • 動的型付け言語があまり好きじゃない
  3. 2週間以上
    • 1Dayとか正直意味ないと思っている
  4. 東京か大阪近辺
    • そりゃIT系なんだから都会の方が良い
    • 名古屋は田舎
  5. 設計から開発までのフローを一通り経験できる
    • 一番重要。私は設計周りの経験が全くの皆無だったので勉強しておきたかった

すると、Wantedlyで見知った8文字を発見。それがChatworkさんでした。
専門学校で教師と学生間の連絡ツールとしてChatworkが使用されていたので、存在は以前から知っていました。
ほかにもScalaを使用している企業はいくつか見つけましたが、その多くがアドテクであったりPlay Frameworkを採用しているなかで、Akkaを中心とした独自のシステムを運用しているというChatworkにはひときわ惹かれ、 これは運命だと言わんばかりに申し込みました。

色々とそれまでの経歴やなけなしの実績を入力し、書類選考は通過、そしてビデオ面接に。面接には、人事の方だけでなくエンジニアの方も同席していました。
なお、私の家にはWebカメラがなかったので、iPhoneで面接を受けました。

けっこう緊張していたので内容までははっきりと覚えていないのですが、わりと色々とカジュアルに話させて頂きました。
やはりエンジニアの方がいるのといないのとでは全然違うなと。ほかの某有名ベンチャー企業インターンにも申し込んだのですが、そちらは人事の方しかいらっしゃらず、なんだか事務的な面接だなーと率直に感じました(なお落選したもよう)。エンジニアの方には技術系の話のウケが良いので、色々とアピールしやすいです。
特に私の場合、ESに書けるような実績がほぼ皆無であるどころか、学歴だけ見たらただのやべーやつですので。面接が鍵になるんですよね。

で、Chatworkさんから合格の通知を頂いたときには、とんでもなく驚きました。まさか私が? と思いましたもん。
聞いたところによると、やはり自分の言葉で話すことのできるスキルが必要だそう。その方面に全く興味がない、あるいは事前に話す内容をキッチリ決めてきちゃっていると、ボロが出てくるらしいんです。
私は… あまり何を話すか事前に考えてなかったのですが、話しやすい方だったので自然と色々話題を出すことができたと思います。


いざインターン

蒲郡で2週間の自動車学校合宿を終え、その3日後には大阪まで飛んで3週間のインターンが始まりました。夏休みはこれだけでほとんど埋まってしまっていて、実際の休日は5日くらいでしたね。
とは言え、インターン就業中は土日休みで大阪を観光できるようになっていたので(したとは言ってない)、とても充実した夏休みになりました。ホテル暮らしが快適すぎた…

ほかのインターン生6名は、全員成人済みの大学生ないし大学院生の方で、バリバリの情報系学生が来るのかと思いきや、意外とそうでもなく、かなりバラエティに富んだ人選でした。
私だけ専門学校生の18歳で、最初はだいぶ緊張していたのですが、皆さんとても良い人で、すごく仲良くしてもらっていました。
3週間とは言え開発の紆余曲折を共に乗り切った訳ですから、インターンが終わってすっげー寂しいです。また7人で集まりたいですね。


カルチャーショック

まずオフィスに入って衝撃

やっぱり会社っていうと、みんなカチッとしたスーツを着て、デスクが島みたいに並んでて、四六時中プルプル電話鳴ってる、みたいな…
いかにもって感じですが、私の中では大まかにそんなイメージが強かったんですね。

それがどうよ。

木目調の床やテーブル、全て窓側を向いていて1つ1つ仕切られたデスク、3つの“Work”、“Fun”、“Creative”と銘打たれた会議室、ところどころに置いてあるLEGO… そして何より、中央に鎮座するバーカウンター(本物の酒も置いてあって雰囲気あります)。

んん? ここはオフィスか? と思いますよそりゃ。

しかし当然というか、居心地がとても良い。
Chatworkの「働くをもっと楽しく、創造的に」というスローガンを体現したかのようなオフィスです(気づきましたか? 3つの会議室の名前はここから取られているんです)。
そういった働き方をするためのツールを作っていく会社なのですから、まずは自分たちの働き方を変えていこうと、そういうことらしいです。


濃密な講義

はじめの1週間は講義パート。とにかく色々と詰め込まれた講義を受け続けていました。

クリーンアーキテクチャドメイン駆動設計などの講義では、その分野では有名なかとじゅん(@j5ik2o)さんに講義して頂きました。あの短時間でものすごくたくさんの情報が脳に流れ込んできて少しビビりましたが、とてもわかりやすい解説でした。こちらがお金を払いたいレベルで勉強になりますよコレ。体感的には、1講義でカンファ5つ分くらいの濃度。

ほかにもチーム開発やインフラ周りのことなどを包括的に教えて頂きました。この1週間だけでもものすごく勉強になりました。

紆余曲折あった開発

講義も終わり、いよいよ2週間の開発パートへ。
7人でスクラムを組み、1週間ずつの2スプリント体制で行いました。内容は、クリーンアーキテクチャドメイン駆動設計に基づいで設計された社内プロダクトへの機能追加です。大まかに言えば、RPCスタイルのWebアプリケーション。
今回は、GitHub Projectを活用したカンバン式チーム開発を意識して進めていきました。

基本的にはモブプログラミング形式を採用。集合知と言いますか、足りない部分を全員で補完し合えるのでとても良かったと思います。
途中からはブランチを更に切って、2チーム体制で開発してました。

とにかく「初めて」だらけでしたね。普段 趣味で開発するぶんには設計とかやらずにぶっつけ本番で作ることが多かったですし、テストをしたこともありませんでした。

学んだことは、とにかく設計にかかる時間の多さ。実装やテストよりも、設計やテストケース作成の時間のかかること。
なにせチーム開発ってのが経験ありませんので… 例えば日本語の文法をどう統一するか、みたいな少し本質とはズレた部分で長々と議論したりしてました。ほかにも、既に実装に取り掛かってるのに(これ、まずいのでは…?)となるケース。社員さんにたくさん頂いた指摘を時間の都合で全部蹴ったり…
恐らく、実装そのものよりも、こういう部分が一番経験の差として現れてくる部分なんだと思います。

結局、スプリントゴールは完全には達成できず!
一応、最低限とよべる部分まではデプロイし終えたのですが。そこは少し心残りでしたね。

もし次のサマーインターンがあれば、どうなるのかすごく気になります… ふふふ…


大阪良いなー

と、わりと本気で思いました。

まず、飯がうまい(ここ大事)。
福島駅の近くまで歩いていけば、安くて美味しいご飯屋さん・呑み屋さんがたくさんあります。これは飽きないですね、どこに入ってもおよそハズレというものがない。
昼と夜は、ほぼ毎日インターン生の皆でご飯食べに行ってました。高専辞めたあとは体重がだいぶ減ってきていたのですが、このインターンで元に戻りましたね。太るぜこれは。
それに、大阪駅から伸びた地下通路がオフィスのすぐ近くまで続いていて、雨の日でも濡れずにご飯にありつけます。最高。

それに、人混みが苦手な人にも良いです。
都会っぽさを感じたいのであれば(私のような田舎者はすごく都会に憧れるのです)、大阪駅の周りに行けば昼も夜もなくめちゃくちゃ人が多くて賑やかです。
しかしそこから10分ほど歩けば、一気に静かな街並みに。ほど良い感じ。

インターンの少し後に、BIT VALLEY 2019やScala秋祭りに参加するために4日間ほど東京に行ってきたのですが、やはり大阪よりも人は多いと感じました。
ただ、私にとってはこれもあまり嫌な感じではなく、慣れれば大丈夫かなと。空気の汚さとか、私 鈍感なので全然気にならなかったです。
ただ、駅の複雑さには閉口しました。新宿駅でずっと迷ってました。そこは大阪駅の方が良かった。あそこも地下街ジャングルだけど。

追記: 食べたご飯たち

ups.hatenablog.jp

↑しゅういちさんのレポでご飯の画像載っけてるのいいなー と思ったので私も載せます。適当にチョイス。


プルコギ定食。



ステーキランチ。1000円でコレ。


からあげ定食。


チキン南蛮。


まるげりーた。


肉そばと焼豚丼


チーズトマトラーメン。


チキンカツライス(だったかな)。


チーズ豚平焼き。



高級イタリアン。

ね、全部美味しそうでしょ? 住みたいよねここ。


さいごに

とてもとても濃い3週間を過ごさせて頂きました。
正直言って、ここ数年で高専や専門学校で学んだことよりも沢山のことを学べたと思う。いやホントに。

そもそも、“こういう話”ができる相手がいるというだけでもすごく楽しかったですね。高専とか、周りにはあまり情報系つよつよな人がいなかったので。
ギーク話で盛り上がれるって良い。これこそ心理的安全性。

ほかにもScalaを書けるインターンシップというのは探せばけっこうあります(私が個人的にまとめたScalaが書けて新卒募集してる企業リストを見よう!)。
しかし、チャットツールのシステムとしてScalaを使っている企業となるとその数は一気に減ります。ほかにはLINE、ヌーラボさんあたりくらいだろうか… とても貴重な体験をさせて頂きました。

あと、もっとScalaを付けなければと切実に思いました。正直、ついていくだけで精一杯だった感が否めない。ScalaMatsuri 2020は絶対行くぞ。
ほかにも身内のLTとかでScalaを布教したいですね。みんなも沼にハマろうよ。


そんな訳で、いつも通り収集が付かなくなってきたところで終わろうと思います。それじゃ。

何度でも復活する「Microsoft Teams」を完全に消し去る方法

Officeのアイコン、予告通り変更されましたね。少し前からMicrosoftが提唱していたFluent Designとやらの一環でしょう。
正直言うとFluent Designの見た目は好みなので、今回のアイコン変更がわりと楽しみだったり。


さて本題へ。

Office 365のプランを最安のBussinesに変えたんですね。そしたら、Microsoft Teamsというアプリケーションも一緒にインストールされたんですよ。
調べてみるとプロジェクト内で共同編集をしたりする為のサポートアプリっぽい? Slack的な感じですかね。
普通に要らないし、それに起動時にいちいちログインを迫ってきて、これがけっこう鬱陶しい。なので、とりあえずアンインストールしたんですが…

PC立ち上げたら、また勝手に起動しとる!

そう、何度消しても勝手にインストールされて、復活してくるんです。
なんか軽く殺意が湧いたので、このMicrosoft Teamsの自動インストール機能をオフにする方法を書いておきます。


  1. Microsoft Teamsをアンインストールする
  2. Teams_windows_x64.msiを入手する
  3. 管理者権限のコマンドプロンプトから、下記コマンドを実行する
    • msiexec /i Teams_windows_x64.msi OPTIONS="noAutoStart=true"
    • インストーラのパスは適宜変更してください
  4. 少し待ちます
  5. 撲滅完了!

なぜか解決方法がどこにも書いていなかったので、簡単にですが記事にしてみました。
少なくとも私は、現状この方法で対処できています。

というか、そもそも"自動インストール機能"ってのがふざけてますよね。どんだけ使わせたいねん。

なにかあればコメントまで。

Ryzen 5 2400GでグラボなしゲーミングPCを組みたい

1/9のCESにてRyzen 3000シリーズが発表される予定ですね。

ですが私はそんな世間に逆行し、Ryzen 5 2400Gを使ってPCを組みたいと思います。

別にひねくれてる訳じゃなくてですね、PCが壊れたので早急に必要だったというだけで。
それに、今からRyzen 2000シリーズを買うってのも普通に良い選択肢だと思いますよ。
Intelと違ってAMDマザボを使い回せますから(Intelは新製品を出す度にCPUソケットを新しくするので、マザボも買い換える必要がある)、しばらく旧世代CPUでしのいでからタイミングを見て売っぱらい、それを元手にCPUを買い換えればオーケー。

ゲーミングPCという呼び方は正直あまり好きじゃないのですが、まぁ要するに、それくらいパワフルなPCを目指すという事で。

実際に組み立てた感想などはまた後日。


はじめに、今回のPC構成をば。

  • CPU
  • クーラー
  • ポンプ電源ケーブル
    • 変換名人 IDEP-FAN3/4
  • グリス
    • Thermal Grizzly Kryonaut x 1g
  • マザーボード
    • ASRock B450 Gaming-ITX/ac
  • メモリ
    • Corsair Vengeance LPX CMK16GX4M2B3000C15B
  • 電源
    • デルタ電子 DPS-300AB-9J
  • PCケース
  • ケースファン
    • Corsair AF120 White LED Quiet Edition

SSDは以前のPCから流用しています(SanDisk X400 M.2 512GB)。


全部解説してても仕方ないので、かなり大雑把に。

Ryzen 5 2400Gは、1000シリーズ(Summit Ridge)と2000シリーズ(Pinnacle Ridge)の狭間に位置する、いわば第1.5世代のRyzen(Raven Ridge)です。
グラフィック部分にはRadeon RX Vega 11を搭載。Radeon RX 550が8コアな事を考えると、11コアは多いですね。あっちはVRAMがDDR5なのでもっと早いですけど。
うまくOCしてやればCore i3-8100とGT 1030のパワーを併せ持つ(と言われている)、最強クラスのAPUです。これからはノングラボの時代ッ!

OCした2400Gはそこそこ発熱するそうですので、簡易水冷としてMasterLiquid Lite 120を用意しました。今後Ryzen 3000Gシリーズが発売されたら多分買い換えると思いますので、多少はオーバースペックでも良いものを買っておく事に。
高級品のKryonaut(通称: クマさんグリス)も用意。Conductonaut(通称: クマメタル)も考えましたが、流石にそこまでは要らないかなと。

マザボはASRockのB450 Gaming-ITX/ac。StoreMIも使いたかったので、B450チップセットを載せてるグラボに。Mini-ITXでB450チップ載せてるマザボってほんと少ないんですよ。
AMDと仲が良いといわれるMSIのB450I GAMING PLUS ACと迷いました。でもMSIの公式HP、サーバが弱いのか結構な頻度で障害発生してるんですよね。そのせいでQVLが見られなかったなど、サポートにやや不安が… 悪名高きGIGABYTEよかマシだとは思いますが。あと、ファン関連のコネクタがかなり少なかったのもネック。
B450 Gaming-ITX/acでも水冷ポンプ用の電源コネクタが足りないので、変換ケーブルをかまして電源から直接取ります。

Ryzen-Gシリーズにとって、メモリクロックは命です。という訳で、少なくとも3,000 MHz動作が保証される(はず)、CMK16GX4M2B3000C15Bをチョイス。よくある8 GiB x 2のOCメモリですが、ヤフオクで安く売ってたのが主な選考理由です。
Corsairメモリはメモリコントローラに統一性がなく、同じ型番でも違うメーカーのが使われたりしているらしいです。つまりは運ゲー
動く事を祈りましょう。

このマシンは今後もAPUのみの構成(グラボは載せない)にするつもりなので、電源は300 Wの安物。DPS-300AB-9Jというモデルの中古品です。最近のドスパラBTOマシンに入っている電源らしいですが… うーん、その名前を聞くだけで不安すぎますね。
でも一応は国産っぽいので、まぁ大丈夫でしょ。

なるべく小さめのPCがよかったので、皆さんお馴染みMETIS PLUSMini-ITXのアルミケースです。レッドとブルーだけ何故か他の色より安く、そしてブルーで自作している人が多かったようなので、私はレッドを買います(やっぱひねくれてる)。
白LEDのリアファンが付属。また、120 mm角のトップファンを付けられます。MasterLiquidは白色で光るらしいので、統一性を出す為にAF120 Quiet Editionのホワイトを選びます。正直言うと照明云々とかものすごくどうでも良いのですが、LEDなしとそんなに値段変わらないので、ついでに。
それと、SFX電源を使用する際はATXとの変換アタッチメントが必要ですので、気をつけてください。私は知らなくて死にました。


こんなもんですかね。
自作PCは初めてなので、失敗したら怖いですが、とりあえずやってみる事にします。

今はパーツの到着待ち。まだかなー

msiファイルのインストールをちょっぴり簡単にするソフトを作った

(しばらくムダ話が続きます。飛ばしたい方はこちらへ)


あなたは、.msiが好きですか?
私は、はっきり言ってキライだね!


なぜかってそりゃ、もちろん面倒だからです。

.exe形式のインストーラなら、右クリックしてコンテキストメニューから「管理者として実行」を選べば済みますよね。ほぼ手間なし。
熟練されたWindowsユーザーなら、インストーラをいきなりダブルクリックなんてしないはずです。アイコンに管理者権限のマークが付いていれば別ですが。この一連の操作が、クセになってしまっているはずなのです。
…私だけじゃないよね?


それなら、.msi形式はどうか?


  1. 管理者権限でコマンドプロンプトを実行する
  2. インストーラをShiftキー押しながら右クリックして「パスとしてコピー」を押す
  3. コマンドプロンプトにパスを貼り付けてEnterキーを押す




面倒すぎるわ!!!


初見じゃ絶対にわかりませんよ。

右クリックしても「管理者〜」ってのが出てきませんから、普通は「msi形式は管理者権限いらないのかな」と思います。
そしていざインストールを始めてみると、面白い事にエラーメッセージを吐きやがるのです。そしてそのエラーメッセージには、管理者なんて単語は一切入っていないんです。

わかるかこんなもん!!!

そして「msi インストール エラー」とかって検索をかけて、ようやく対処法を見つける… もはや通過儀礼といっても過言ではないでしょう。


慣れてしまえば確かに大した手間ではないのですけど、そうじゃないそうじゃないんですよ

msiexec.exeを起動するには、コンソールからインストーラのパスと一緒に呼び出してやる必要があります。
管理者権限のコマンドプロンプトから呼び出せば、自ずとmsiexec.exeも管理者権限になるという仕組みなのですが…

なんかこう、もっとスマートにできないものなんですかね?

Windows 10なら、スタートを右クリックすればすぐに管理者権限でコマンドプロンプト実行できるようになってますけど、Windows 7だとそれだけでも結構手間がかかるんですよ。

管理者としてインストール」みたいな気楽な感覚で使えたら、私も.msiと仲良くやっていけそうなのに…




EasyMsi

という訳で、EasyMsiというソフトを作ってみました。

どんなソフトかって言うのは、この画像を見てもらえばわかります。

f:id:trackiss:20180918021341p:plain


はい、これだけです。
.msiファイルのコンテキストメニューに「管理者としてインストール」を追加するだけ。

ただそれだけですが、個人的には大満足です。こういう細かいとこに手が届く系大好き。

ダウンロードはこちらからどうぞ。

ご安心ください。EasyMsiのインストーラは、.msi形式ではなく.exe形式です。ウイルスチェックも万全。
そのうちVector様に登録申請しますので、もし申請が通ったらこのリンクは消します。

動作を確認したのはWindows 10 (1803)のみですが、Windows Vista以降のOSであれば、正常に動作するかと思います。少なくとも、Windows XP以前のOSでは動作しません。

動作にはMicrosoft .NET Framework 4.6以降が必要です。Windows Updateを素直に受け取っていればまず問題はないはずです。

インストールに必要なディスク容量は700KB程度。
もしそんなにディスクスペースがないという方がおられましたら、自力でなんとかしてください。

現状、日本語英語に対応しています。インストール時に日本語を選べば「管理者としてインストール(A)」に、英語を選べば「Install as administrator」になります。
それ以外の言語は気が向いたら。



本当に、プログラム的には大した事してないんですよね。マジで数行だけ。
msiexecを管理者として呼び出して、同時にパスを渡してやるっていうシンプルこの上ないコードです。

それよりもむしろ、レジストリの操作とか、あとインストーラの作成に手間取りました。
今回はInno Setupを使ってみた訳ですが、言語によってレジストリ処理を変える方法でずっと詰まってた。結局、命令文にLanguage: xxxオプション付けるだけでした。

それじゃ、iOS 12のアップデートしてきますーノシ

(個人的)最強のプログラミング言語「Haxe」

プログラミング言語

まぁ、もはや宗教ですよね。こういうのって。
そら一長一短はあるでしょうけど、慣れてるものが一番なのは変わりませんよ。

という訳で、下記は「個人的な意見」ですのでね。参考程度にお読みください。


Haxe?何それ聞いた事ない!

Haxe(ヘックス)は、そこそこマイナーなオブジェクト指向+関数型プログラミング言語です。
とはいえ、「関数型よくわからん」って人は、別に関数型構文使わなくても問題ありません。

まずは世界にこんにちはしておきましょう。

// Main.hx

package;

class Main
{
  public static function main():Void
  {
    Sys.println("Hello World!");
  }
}

このコードからだけでも、Haxeの特徴が幾つか見えてくるかと思います。
Haxeシンタックスハイライトまで用意してくれているはてなさんホント神

  1. packageとかいう謎の構文
  2. とりあえず全部クラスで囲っとけ記法
  3. エントリーポイントはMain.hxのmain関数
  4. 型は名前の後に書く

ん、こんなもんでしょうか。
まぁ際立っておかしな部分はないですよね。

ただ、もしかしたらこの特徴を見てハッと思い当たるフシがある人もいるかも知れません。

実はこのHaxe、かの有名なAdobe Flashスクリプト言語であるActionScriptとほとんど同じ構文なのです。
というより、もともとActionScriptの代替として開発された言語だそうで。

また、HaxeはaltJSとしての一面も持ち合わせています。

altJSってのはつまり、JavaScriptがフリーダムすぎるから書きやすくしよーぜ、ってノリで開発された、いわばJavaScriptの亜種みたいなもんですね。
Microsoftが開発しているTypeScriptなんかが有名な例でしょう。

HaxeにもJavaScriptのコードを出力する機能が付いていますし、何ならHaxeから出力した方が10%程早く動作するそうで。
そもそも、Haxeの構文そのものがJavaScriptの標準化であるECMAScriptと似通っています。

というかですね。

Haxeが出力できる言語の一覧を見てみましょう。

多い…多くない?

その結果、Haxeがターゲットとしているプラットフォームの一覧が、こちら。


クッソ画質荒いやん、気が向いたら直しときます

いや…マジで多いって。

ここで重要なのが、ソースコードを出力するという点。つまり、ネイティブコードでのクロスプラットフォームが実現できるという事になります。

それじゃ、出力されたソースコードを元に、更にコンパイルの作業をしなきゃいけないの?それは面倒だよ…

一応、FlashとNeko、HashlinkについてはHaxe単体でのコンパイルが可能ですが、確かに面倒ですよね。

そこでLimeの出番です。

Limeは、ウィンドウ処理や入出力、音声処理などの低レイヤー層を管理するフレームワークです。しかも、ビルド機能付き。
WindowsならVisual C++macOSならXcode…といったように別途ソフトのインストールが必要ですが、シームレスに実行ファイルを作成できるようになります。


Haxeの言語機能

まず、Haxeは静的型付け言語です。
先ほども書きました通り、変数名やメソッド名の後に型を指定します。

// 32bit整数型
var i:Int = 5;

基本型はInt32(Int)、Int64、Float、Boolのみのようです。
Intは環境に関わらず32bitとなるようです。
Floatは倍精度、つまりはCにおけるdouble型ですね。
一応、符号なし整数型としてUInt型も定義されているようですが、非推奨となっています。

インスタンスの生成や、配列の作成時にも型を指定します。

// インスタンスの生成
var c:Test = new Test();

// 整数型配列の作成
var a:Array<Int> = new Array();

まぁ、でもいちいち書いてたら面倒ですよね。インスタンス作成時とか。

という訳で、もちろんあります型推論

var i = 5;
var c = new Test();
var a = [0];

メソッドの引数なんかにも型推論が使えますが、こちらはあまり推論の精度が良くないし、わかりにくくなるので使わない方が良いでしょう。

そして、Haxeだとこんな書き方ができちゃいます。

var a = [for(i in 0...10) i];

// [0,1,2,3,4,5,6,7,8,9]
Sys.println(a);

// Success
Sys.println(if(a.length == 10) "Success"; else "Failure";);

そう、Haxeではif文やfor文などが式として使えてしまうのです!
これがものすごく便利。
偶数だけを順に格納したければ、

var a = [for(i in 0...10) if(i % 2 == 0) i];

// [0,2,4,6,8]
Sys.println(a);

はたまた、

var a = [for(i in 0...4) i * 2];

// [0,2,4,6,8]
Sys.println(a);

と書けば良いのです。すごいっしょ?

ただ、Haxeだといわゆるforeach方式のfor文しか使う事ができません。逆順も不可能です。
つまりHaxeのfor文では、Cでいう所の

// C
for(int i = 10; i > 0; i--) {}

みたいな事ができないという事になります。


…forがないなら、whileを使えばいいじゃない!

var i = 10;
var a = [while(i > 0) i--];

// [10,9,8,7,6,5,4,3,2,1]
Sys.println(a)

いや、でもこれだと別に変数用意しなきゃなんでちょっと良くないですね。他になんか良い方法ないんやろか。

それと、新しい言語を習得するときにかなりのネックとなる多次元配列。これ、言語によってかなりバラつきありますからね。構文も概念も。

まず、Haxeには多次元配列という概念はありません。
その代わり、配列の中に配列を入れる事が可能です。JavaScriptと同じですね。わかりやすくて実に良い。

また、連想配列を作る事も可能です。

var a =
[
  [0, 1, 2],
  [for(i in 0...3) i],
  [
    "ぜろ" => 0,
    "いち" => 1,
    "に" => 2
  ]
];

// 全て 2
Sys.println(a[0][2]);
Sys.println(a[1][2]);
Sys.println(a[2]["に"]);

正確には、連想配列はMapオブジェクトとして実装されています。上記のは省略記法。

まぁ、他にも色々と便利な機能がてんこ盛りです。すげぇっすよ。


言語独自の機能があるって聞いたけど

Haxeには、どんな言語に出力しても使えるHaxe標準ライブラリのほか、言語独自のライブラリも幾つか含まれています。
C++なら標準ライブラリが移植されていますし、JavaScriptならjQueryが移植されています。当然、他の言語に出力する時には使えません。

特に、Haxeの唯一のマルチメディア機能と言っても過言ではないFlash API。これも、Flashでしか使えない機能となっております。残念。


が…あるッ…
OpenFLッ…


何それ

OpenFLは、Flash APIHaxeに移植するフレームワークです。Limeを下敷きに動作します。

…というか、Limeのリンク踏んでくれた方なら気づいたと思いますが、そもそもLimeはOpenFLの一環で作られたものです。

しっかし、Flash APIならマルチメディア系で出来ない事ほとんどないですよ。ゲームだってどんとかむです。

例えば、OpenFLを使って作られた有名なゲームにPapers, Pleaseがあります。
入国審査をするゲームですね。
どうやら映画化が決定しているらしく、Wikipediaに個別記事まである。そんなに売れてたんだあのゲーム。

それと…こちらはややマイナーですが、Evolandというゲーム。
初めは2Dのピクセルに始まり、次第に3Dポリゴンへと変わっていくというかなり特殊なゲームですね。
続編のほかモバイル版もリリースされており、まさにHaxeフル活用って感じです。

まぁ、デベロッパであるShiro Gamesの創立者の一人は、Haxe開発者であるNicolas Cannasse氏ですので、当然と言えば当然ですけどね。

また、OpenFLを使った2DゲームエンジンHaxeFlixel(ヘックスフリクセル)があります。

Flash向けのゲームライブラリであったFlixelを、Haxeに移植・改変したフレームワークですね。
今はまだあまり有名なゲームはないようですが、結構な数のゲームが作られています。見たところ、モバイル端末向けのゲームが多いようです。これもHaxeだから成せる技。


Haxeの開発環境

現状では、FlashDevelopVisual Studio Codeがベストな選択肢かと思います。

FlashDevelopの場合は標準でHaxeをサポートしていて、新規プロジェクトの作成も簡単に出来ます。
ただ、私が普段使い慣れていない為か使いにくかったです…申し訳ない。

Visual Studio Codeの場合、vshaxeというサードパーティの拡張プラグインを使う事になります。
しかしサードパーティとは言え、頻繁に更新されていてかなり信頼性は高いです。シンタックスハイライトやオートコンプリート、エラー診断、コンパイルなどなど、一通りの機能は揃っています。
というか、Haxeコンパイラそのものに構文を解析したりオートコンプリートしたりという機能が備わっていますので、それを利用している形になっています。C#のRoslynとVisual C#の関係性みたいなもんですかね。ですので、精度で他に劣るという事はないでしょう。

Limeのプラグインも別途公開されていますので、VSCodeから直接 実行ファイルの作成まで出来てしまいます。
vshaxe単体でも、JavaScriptだったりNekoだったりならコンパイルは可能ですが。

VSCodeは(一応)テキストエディタなので比較的動作も軽く、他の言語をササッと書く時にも便利です。
HTML/CSSに関してのみはBracketsの方が良いと思いますが、それ以外で専用IDEがない言語なら、だいたいVSCodeで間に合います。JSONとかね。

それに知ってる方も多いとは思いますが、ついこの間にGithubMicrosoftに買収されましたよね。VSCodeには以前からもGit連携機能が搭載されていましたが、今後はよりGithubに密接した機能が追加される事でしょう。期待です。

そして何より、VSCodeWindows/macOS/Linuxに対応しています。アレです、最近流行りのElectron製アプリです。
FlashDevelopはWindows専用なのが一番の難点と言えましょう。


Nekoって?

Nekoは、2005年あたりに登場した比較的若い言語です。

一応は言語仕様を持っており、中間言語に変換して、Windows/macOS/Linuxで動作するVM上で実行するタイプの言語なのですが、Haxeから変換して踏み台として使用される事が多いと思います。
そもそもNekoの開発者はNicolas Cannasse氏(また出た!Haxeの開発者)ですし。

しかしそのお陰とあって、PC向けのソフトウェアを作るのならNekoを選択しておけば間違いはないでしょう。


Hashlinkって?

Hashlinkは、2年前くらいに突如として登場した言語です。

というか、Haxe Foundationがお送りするHaxe専用VMですまたかよ

Neko VMと何が違うのかと言いますと、まずこちらはiOSAndroidにも対応しているらしいという点。
そして描画にSDL2を使用しており、独自のUIライブラリも将来的に提供されるそうです。
また、静的型付けになった事でよりHaxeとの親和性が向上していたり。

しかし、新参といってもなかなか侮れません。既にHashlinkで作られたゲームが幾つかリリースされています。

まず、お馴染みShiro GamesのNorthgard。すげー3D。かなり売れているようですね。
そしてDead Cells。ドットのハクスラですかね?こっちもなかなかの高評価。

ただね…情報が少なすぎる!!
日本語の情報がとかじゃなくて、英語の情報も超少ない。公式サイトとかGithub関連除いたら、ほぼ皆無と言って良いと思います。
Githubの方も、ドキュメントはたった数ページ。チュートリアルはありませんので、何を書けば良いのかわからない状態。

ドキュメントが充実していけば、かなり今後に期待できそうですね。


とまぁ色々と書いてきましたが、私自身もまだまだ勉強中です。
マクロとか、ほとんど理解してません。
結構厳格な言語ですので慣れるまで大変かもしれませんが、それを含めても素晴らしい言語ですよ。使おう!

そんな訳で、ざっくりとHaxeの紹介でした。


Haxeフレームワークメモ

(個人的)最強のWindows向け高音質音楽プレイヤー「Dopamine」【+日本語化パッチ配布】


ver 2.xのPreview版は、はじめから日本語に対応しています。
ただ、GitHubにプルリクを投げてから反映されるまでには時間がかかりますので、そういう場合はこのページで日本語化ファイルを公開します。


更新が途絶えてはや3かg…

さ、3ヶ月!? マジかよ、そんなに経ってたとは思わなかった。

えー、あのですね。私がブログをやっているのは、時々湧き上がってくる文章書きたい欲を解消する為なんです。
でも、とある超大型記事の準備やらSCP財団の執筆活動やらで、文章書く機会が最近多くてですね。私の中で、かなり満足してしまっていたんですよ。
それにしたって、そんなに放置してたとは…反省。

でも多分、今後もこんな感じだよ。許せ。

というわけでお茶を濁す為に、最近(今日)見つけたWindowsの音楽プレイヤーをご紹介します。
かなり良いソフトなんですけど、国内じゃあんまり知られていないようで。こうなったら布教するっきゃないって事です。


PCの音楽プレイヤーソフト。
かつて、私もいろいろと探してまいりました。

iPhoneの音楽プレイヤーアプリを探していた時期もありましたが、今の私のiPhoneは16GBしかないので曲など入れられる訳もなく。
ちなみに、私はRadsone使ってます。純正のミュージックアプリも悪くないのですが、謎に重いんですよねあれ。

私は、PCの音楽プレイヤーとして、結構長い期間iTunesを使っていました。
これが、わりかし使いやすかったんですよね。特にiPhoneユーザーだと。
勝手に変なジャケット拾ってきてふざけんなってなった事もあったりでちょいちょい不満は持っていたんですが、ビジュアライザが綺麗だったのであまり気になってませんでした。

んで、ある日音楽ファイルの整理をしていて、MPC-BEで再生したり色々していましたら。

あれ、iTunes音質悪くね?

って気づいた訳です(遅
MPC-BEはASIOに対応していて、それで聴いてみたら全然音が違ってビックリ。
しばらくの間使ってたせいで、iTunesの音質に毒されてしまっていたんですね。

そんなこんなで次に使い始めたのが、TuneBrowserです。
ASIO対応なので音質は申し分なかったですし、見た目も気に入っていました。
ただ、途轍もなく重かった。
使いながらネットサーフィンとかしてるとしょっちゅうノイズ入ったりするんです。何というか、うちのPCでは使い物にならんレベルだった。
それと、シェアウェアですし…いや、学生にとっては、決してはした金じゃありませんからね。
ちゃんとしたソフトウェアにはお金を払いたいですけれど、同じ事が無料でできるならそっちを使いたい派。中途半端かよ。まぁ、そんなもんですよね。

そんな経緯で、今回の本題。

Digimezzo様のフリーソフト(しかもOSS)「Dopamine」の紹介です。

029_dopamine_01

029_dopamine_02

まず、見ての通りインターフェースが綺麗です。
最近、ソニーが何やらハイレゾ対応の音楽プレイヤーソフトをリリースしていたようですが、やっぱりUIがものすごい時代遅れ感あるんです。すごく安っぽい。
一方こちらは、ここらで流行りのフラットデザイン。スッキリとしたインターフェースで、超クールです。
まぁ、まさにWPFアプリですよと言わんばかりのUIなんですけどね。だが、それがいい

029_dopamine_03

029_dopamine_04

このように、iTunes風のアートワークプレイヤー表示も可能。

さらにさらに、

029_dopamine_05

こういうマイクロプレイヤーの他、

029_dopamine_06

こんな小さなナノプレイヤーもあります。あまり画面を占有したくない時に便利ですね。

029_dopamine_07

なんと10バンドイコライザも内蔵。しゅごい。

029_dopamine_08

設定も、結構細かい所までできちゃいます。アートワークに応じてテーマカラーを変える機能とか、オシャレで良いじゃないですか。あまり精度は良くないみたいですが…

その他、オンラインで歌詞やアーティスト情報、アートワークを取得する事もできます。Last.fmとの連携も可能。

音質面で言うと、DopamineはWASAPI排他モードに対応しています。
WASAPIってのは、最近のWindows(確かVista以降)でのみ使えるオーディオドライバです。
これを排他モードで使用すると、他のアプリケーションの音が一切聴こえなくなる代わりにミキサーを通さなくなるので、音質が向上するのです。
そこらの音楽プレイヤーソフトよりは格段に高音質と言えるでしょう。


いやぁ、ちょっと駆け足になってしまいましたね。
今テスト期間中なんで、許しておくれ。

えー、さてここからが本題です(ぇ

このソフトウェアは、2018年06月06日現在、日本語に対応しておりません。

あれれ? ちょっと待ってよ!
このブログに載っている画像だと、確かにUIが日本語で書かれているよ! これは、何かがおかしいに違いない!



はい。
というわけで、日本語訳しましたこちらにver 1.xの日本語化ファイルを置いてあります。インストールフォルダのLanguageフォルダにぶち込んでください。


ただ、今はver 2.xのPreview版がリリースされています! そして、そちらは最初から日本語に対応しています
Preview 2は若干ゃ不安定だったのですが、最新のPreview 6はかなり安定しています。私もこちらを使っています。
最近、Previewのリリース頻度が早いですね。正式版リリースも近いかもしれません。

追記: おま環かもしれませんが、Preview 2~を使っていると、「プレイリストが勝手にソートされる」「一部の曲が再生できない」などの現象に遭遇しています…
今はPreview 1を使って安定しています。

2.xの日本語化データの更新をしているのは私ですので、もしかしたら… というか、多分、更新が遅れる事もあるかと思います。
そういうときは、気長に待ってやってください。なんなら、勝手に更新してくださって全然構いません(笑
GitHubにプルリクを送るだけの簡単なお仕事ですよ。

それじゃ、またいつか。


宣伝: このDopamineを含む.msi形式のインストーラをちょっぴり使いやすくするソフトを作ってみましたので、よろしければどうぞ

trackiss.hateblo.jp


追記:
篠DさんにMusicBeeについて教えて頂きました。

いや、もちろんMusicBeeの存在は知ってたんですよ?
かつてはWindowsの音楽プレイヤーと言えばコレ、みたいな立ち位置でしたからね。
ただ私の中で、そのMusicBeeは数年前で止まっていたのです。

今になって使ってみたら、かなりモダンな見た目に変わっていてビックリ。機能面にしても、ASIO対応してますし… 確かに、音が鮮明に聴こえてきます。

ただ、個人的にはやっぱりDopamineのデザインが好き。"The WPF"な感じのデザイン。良いと思いません?
あと、WASAPIの方が音に丸みがあって聴き疲れしなさそうなので、ガチで音楽鑑賞する時はMusicBee、そうじゃない時は… みたいな感じで、その辺は上手く使い分けていこうかと思います。