より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

LicensingLive Japan 2019

仕事の関係上、関わりのあるGemalto社のLicensingLive Japanというのに参加させてもらいました。

業務都合上での参加なので、セッション内容の詳細はさておき、雰囲気などを。

www5.gemalto.com

会場は神田明神ホール。

myoujin-hall.jp

秋葉原駅から電気街口を出て、少し歩いて7分ほどにあります。

神社である神田明神があり、そのすぐ隣になります。

あの電気街を抜けたこんなところがあったのかというほどのギャップ。

講演中は、ノートPCの使用はお控えくださいです。

ノートPCの明かりやキータッチ音が妨げになるとのこと。えええー。これは困りました。

持ち込んだノートPCが完全に使えない石板に。

肝心なイベントは「製造業のデジタル革新と、新たな収益源を生み出す様々な取り組み」というテーマでした。

ハードを売る時代から、サービスをサブスクリプションして売るという時代。

デジタル革新にいかに対応するかの事例が紹介されてました。

最後にはパーティも用意されてました。

こうした場所で、自分の会社の説明が出来るか、話が出来るかという社交性は私はまだまだですね。

利き酒コーナーというのもやっていました。本物の利き酒師をお呼びしてましたね。

osaketei15.com

4種ほどの日本酒を飲み比べることができました。

Linux Bashでユーザーからの入力を受け付けて、変数に代入

経験されてきた方からすると、当たり前のような話ですが、bashの初心者でいかにも初心者みたいな間違いをしてました。

ユーザーから入力を受け付ける場合に

read 変数名

です。

私は、あるサイトのread input というのを深く考えず、丸覚えしてました。

read input
val=$input

などと、任意の変数に入れ直していました。

ですが、

read val

で十分です。

昔、プログラミングを初めたばかりのようなサンプルコードそのままみたいなことをしてしまったなあと。

ある意味、懐かしい気分になりました。

f:id:rimever:20191112065806p:plain

zipファイルの解凍も7zipを使った方がOS標準より速い結果となった

私は前職から7zipのヘビーユーザーなのですが、都合上、zipファイルを扱うことも少なくないです。

とある大きなzipファイルの解凍を待っていたときのこと

ずいぶん時間がかかってるな。OS標準で解凍するよりは、7zipを使った方が解凍した方が速いのでは?

f:id:rimever:20191113225931p:plain

という訳で検証してみることにしました。

計測結果

結論から言うと、7zipを使った方が速いとなりました。

大きめの400MBのzipファイルを解凍させたら以下のようになりました。

解凍方法 1回目 2回目 3回目
OS標準zip解凍 34.8s 33.5s 33.5s
7zip解凍 10.9s 11.2s 11.6s

標準zip解凍の計測方法

以下のようなコマンドをpowershellで実行します。

Measure-Command { Expand-Archive \Mac\Home\Downloads\test1.zip }

f:id:rimever:20191113213950p:plain

7zip解凍の計測方法

Measure-Command { C:\Tools\7z1900-extra\7za.exe e -y \Mac\Home\Downloads\test1.zip }

f:id:rimever:20191113225217p:plain

参考記事

www.idearu.info

pig-log.com

英会話チャットでテクニカルサポートを求めてみた

仕事をしていて、どうにかならんのかMicrosoftということに出くわし、Visual Studioサブスクリプションよりテクニカルサポートを問い合わせることにしました。

English onlyなので、英語でチャットをすることになったのですが、緊張しますね。チャットだけにリアルタイムなので。

思ったより英語力ないな、と痛感させられました。

まず、

i wanna to get support about xxx

と、toはいらないだろとか。

not resolve

とか

Nothing

とか、もう知ってる単語のみを並べてばかりでした。

と、まあ、中学英語未満レベルの英語でしたが、必要なことは伝えられたなと。

ただ、面白かったです。勉強にもなりました。

英語を勉強するならば、英語が話せる友達を作るとか、英語が話さざるをえない場所に住めとか言いますが、英語を目的を持って使わないと成長しないのも確かです。

実際に

Thank you

というと

You are welcome

と返ってきます。

Please wait.

というと

Sure, take your time

と返ってきたので、あー、そんな風に言うんだなと。

チャットで問い合わせだとお互い待ち時間があるのでやりやすいですね。最悪分からないときは、Google翻訳すればいいので。

チャットで英会話教室なんてあったらいいんじゃない?(or人工知能

と思ったら、既にそうしたアプリはあるんですね。

english-hacker.jp

最後に

あとで気付いたのですが、肝心のVisual StudioサブスクリプションのTechnical Supportをアクティベートするのを忘れてました。

結局、電話で日本語で問い合わせてアクティベートしました。

ファイル内に指定の文字列があるかをLinux Bashで〜ワンライナー芸人を夢見てみる

Linuxに慣れ親しんだ人からすると大したことないですが、Linuxには不慣れな私ですが、ワンラインで何かやってみることに。

指定のファイルに、固定の文字列が含んでいればYes、含んでいなければNoを返す。

と言ったもの。

if [ "" != "`grep dummy ./test.txt`" ]; then echo "Yes"; else echo "No"; fi

これだけでも苦戦しました。

ifに対して、fiなのか、と。そんなプログラミング言語は初めて見ました。

ただ、考えてみるとifの中にifというケースもあることを考えると、ifに対してifで閉じられないので、そこでfiか、と。

参考記事

qiita.com

shellscript.sunone.me

スプレッドシートで重複を除いた件数を出すには

小ネタなのですが、こんなことスプレッドシートで出来るんだ!と思ったのでメモです。

Googleスプレッドシートで重複を除いて件数を算出する方法です。

SQLのようにDISTINCTがあるのかいなと思ったのですが、以下でいけます。

=COUNT(UNIQUE(範囲))

UNIQUE関数は指定した範囲で重複しないセルのみを表示します。

f:id:rimever:20191111205129p:plain
式を指定したセルを基点に表示されます。

これをそのままCOUNT関数の引数に渡せることが可能です。

型あり言語をやっている身からするとコンパイルエラーだろ、なんて思うのですが行けます。

f:id:rimever:20191111205318p:plain

ターミナルがVisual Studio Codeで共有出来る!

Live Shareという言葉をMicrosoftから聞いたのは2018年末頃でした。

時代はシェア(共有)!

画面を共有して離れている人とリアルタイムでソースレビューが出来る!

といったものですが、実際にリリースされても私は使うことはないよねー、でした。

ですが、このLive Shareって本家Visual Studioだけでなく、無料のVisual Studio Codeでも使えます。

デモを見ていると本家Visual Studioがホストじゃないと行けないように私は勝手に思っていたのですが、そうではないようです。

さらに、コードだけではなくターミナルを共有することが可能です。

Googleハングアウトの画面共有もできますが、これやったことがあるのですが、画面がはっきり見えないという問題があります。

共有

まず、Live Shareの拡張機能をインストールします。

f:id:rimever:20191109080745p:plain

インストールできたら、画面下部のLive Shareをクリック

f:id:rimever:20191109081043p:plain

MicrosoftGitHubのアカウントでログインします。

あとはLive Share Terminalの機能を利用します。

f:id:rimever:20191109081549p:plain
F1でコマンド入力ボックスを表示して、Live Share Terminal

f:id:rimever:20191109081648p:plain

Read OnlyかRead Writeかを選びます。Read Writeだと共有先もwriteが行えます。

ですが、ターミナルを操作できる=相手は自分のPCでもなんでも(悪いことでも)できてしまう、を意味します。

ですので、よっぽどの相手ではない限り、Read Writeは共有には注意しましょう。

社用PCの時ぐらい? いや、それでも見せてはならない情報があるならダメですね。

コラボレーションリンクをコピーを行い、このリンクを共有したい相手に教えます。

f:id:rimever:20191109083239p:plain
F1でコマンド入力ボックスを表示して、Copy Collaboration Link

共有される側

受け取ったリンクにアクセスします。

あとは、 Visual Studioを開いて、シェア開始です。

f:id:rimever:20191109083051p:plain

今回は、本家Visual Studio2019にターミナルを共有するとどうなるのか?と疑問だったので、本家に共有してみました。

すると、別ウインドウが立ち上がり、ターミナルが共有されます。

f:id:rimever:20191109085232p:plain
上が本家VisualStudio2019、下はVisual Studio Code

共有されました。

ペアオペ

個人的には、ペアプロという言葉が聞きますが、ペアオペの方が重要と考えています。

私が、ペアオペという言葉を知ったのは以下の記事でした。

employment.en-japan.com

最近、仕事であまり知らないシステムの保守運用も行っていますが、不慣れなために、想定外の事態に出くわします。

触っているのはお客様のデータです。相当な緊張感で取り組んでいます。上司が声をかけてきても、後にしてくれという状況です。

そんな中で想定外の事態に遭遇しては、慌てて変なことをしてしまいかねません。

一部データを修正するはずが全てのデータにUPDATE文をかけてしまったり。

「そんなアホな」ということが起こりかねないのです。

そのため一人が作業して、もう一人は見ているだけで緊急事態に対応するとしていた方が安全です。