ゴムの木

初心者から一歩踏み出す

VSCodeでunit testが実行できない時の原因

こんにちは。ゲネです。

今日は備忘録です。

VSCodeでunit testが実行できない!

ユニットテスト一覧にファイル(またはフォルダごと)表示されない場合

私の場合、こうなったときは原因が複数ありました。

ユニットテスト実行に必要な環境(ライブラリや設定)が揃っていない

(v)envにインストールされているライブラリを見直しましょう。

実装またはテストのコードに文法的な誤りが含まれる

拡張機能で構文チェッカーを入れていると、どこかで赤もしくはオレンジの波線として検出されるはずです。

文法的な誤りを正し、テストをリロードするとユニットテスト一覧に表示されることがあります。

実行ボタンを押したのに灰色の〇のままの場合

そのファイル、インスタンスメソッドを使っていませんか…?

テストが記述されたメソッドよりも先に実行されるインスタンスメソッド内の記述が誤っていると、テストを実行したとしてもテストに到達するまでに落ちます。

よって、実行ボタンを押しても灰色の〇のままになる、という状況が起きます。

今日は以上です。

VSCodeユニットテストのやり方について、デモ目的の簡単なやり方のレクチャー記事は多くあるのですが、実行できない状況についてまとめたものがなかったので、簡単にまとめてみました。

大きなアプリケーションをつくっているときはコードが絡みあいやすく、どこが間違っているかわからないコードができがちです。

この記事がお役に立てば幸いです。

本を読むならhonto経済圏に入ろう

なんだかいつも何かをオススメしてばかりのゲネですが、今回もオススメをしていきます。

電子書籍の全てが善ではないが善の部分だけ取り入れるべき

皆さんは電子書籍、使っていますか。

電子書籍が身近になった現在、電子書籍vs紙の本という構図で語られがちですが、私はどちらにもメリットデメリットが混在していると考えています。

紙の本は目当ての箇所を簡単に開けるものの、重くて持ち歩きには向かない。

電子書籍は一度インストールしてしまえば一台の端末で大量の本を持ち歩けるけれど、ざっと開くのには適していない。

漫画や雑誌など、紙だとかさばるものを多く読む人は電子書籍派が多いかもしれません。

エンジニアだと技術書を読む人の比率が多いわけですが、技術書はクックブック的に(辞書的に/わからないところを都度確認するという意味で)読み返すことが多いため、電子書籍では読みにくく、依然として紙派の多い界隈かと思います。

紙か、電子か。

どちらかだけに囚われるのではなく、どちらも採用して、いいとこどりをするのが正解だと私は考えています。

丸善ジュンク堂(文教堂)を推していけ

電子書籍のタイムセール

そんなあなたにhontoサービス。

hontoポイントサービス実施店舗/hontoギフト販売店舗一覧

hontoサービス実施店舗で購入した場合、200円ごとに1ポイントが貯まり、電子書籍・本の取り寄せで購入した場合は100円ごとに1ポイントが貯まります。

ここまではよくあるサービスなのですが、何がすごいって電子書籍の割引率がすごい。

うわ~~~~~~~~~~~~~~こんなの買ってしまう。今すぐ買う気はないものの気になっていた本であっても手が滑って買ってしまう。

コミック系のクーポンが目立ちますが、全商品対象の25%OFFクーポンが月に一度程度発行されたり、インプレス社のクーポンもたまにあるので漫画を読まない人でもこのワームホールに吸い込まれることでしょう。

読割50という最強制度

また、すべての本が対象ではありませんが『読割50』として、紙の本を買ってから5年間は同じ本の電子書籍版が50%OFFで購入できるというすごい制度もあります。

エンジニアあるあるだと思いたいのですが、「この本、紙と電子両方で持っておきたいな~」という時、ありませんか?

私には…あります…

読書の秋、散財の秋

高額な技術書やかさばる技術書も、電子書籍や割引を駆使すればハードルが低くなります。

秋というよりもう冬の初めという様相ですが、これで一冊でも多くの技術書を買える手助けになれれば幸いです。

PR

株式会社スマレジTechFarm事業部ではWebエンジニアを募集中です!

https://corp.smaregi.jp/recruit/job/techfarm-engineer.php

PythonやRustなど最新の言語の案件も多数あり、未経験含む様々なご経験をお持ちの方にご活躍いただける会社です。 こちらのフォームからエントリーしていただき、就職が決まれば10万円を進呈中です! カジュアル面談も随時受付中です。どうぞお気軽にエントリーください。 (「ゲネのブログを見た」とおっしゃっていただければ嬉しいです。)

スマートウォッチで内なる自分を解き放て

内なる自分、解き放ってますか?

私は解き放ってます。

スマートウォッチのすすめ

エンジニアはスマートウォッチを買ったほうがいいでしょう。

なぜなら全然動いていないことが数値化されるから。

リモート勤務で家にいると、案の定この通り。

このままでは生活習慣病まっしぐらでしょう。

まずはこのままではヤバいということを自覚するところから始まります

Apple Watchで意識を高める

スマホiPhoneということもあり、私の使用しているスマートウォッチはスタンダードなApple Watchです。

私がApple Watchを購入したのは、ちょうど今から1年前。

SEモデルを3万円前後で購入しました。(当時はまだこんなに円安ではありませんでしたね…)

外でウォーキングする際、身一つで出られる&活動を記録したいという動機でした。

結果として、毎日運動する習慣が身についたのでとっても良い買い物になりました。

毎日じゃなくても継続していくということ

毎月のノルマをこなしたら銀バッジが付与される

Apple Watchでは毎月違ったノルマが設定され、そのノルマをクリアすればバーチャル銀バッジが付与されます。

別にこなさなかったからといって何かペナルティがあるというわけではないのですが、その月だけ銀バッジが欠けてしまうのはとても気持ち悪い思いをすることになります。

絶妙にコレクター魂に火をつけてくれるあたり、なんとも優れた設計ですね。

毎日欠かさず『リング』を閉じることで金バッジも付与される

銀バッジだけではなく、ムーブリング(上の画像の赤いゲージ;消費カロリーを表す)を毎日閉じる=達成することで、より上位の金色バッジが与えられます!

脈拍をはじめ多種多様な項目をモニターしてくれる

Apple Watchは活動量や脈拍以外に、本当に多種多様な項目をモニターしてくれます。

中でも私が注目しているのは、VO2MAX

日本語では最大酸素摂取量ともいうこの項目は、酸素をどれだけ上手に取り込むことができるかを表しています。

最初見ていたときはよくわからない項目だったのですが、調べて初めて気付きました。

この値が同年代の平均と比べたら異様に低いことに。

このVO2MAXの値が低いということは酸素をうまく取り込めていない、つまり持久力がないことを示しており、将来健康を損ねるリスクが大幅にアップしてしまいます。

酸素をうまく取り込めていないということは、代謝の悪さにも繋がっているのでは、と考えています。

幸い、VO2MAXは持久走のような息が切れやすい運動を繰り返すことで高めることができるそうなので、運動メニューを見直す大きなきっかけになりました。

意識が高まったので他にも買った

色々買いました。

  • 筋膜ローラー
  • スピンバイク(エアロバイクより本格的なもの、何時間連続使用してもOK)
  • リングフィット
  • プロテイン

これらを使った今のルーチンはこんな感じです。

平日

  • 筋膜ローラーを使ったストレッチ
  • スピンバイクを20~40分、汗をかく程度の負荷で漕ぐ
  • できたらリングフィットを少し(10分くらい)

休日

  • 筋膜ローラーを使ったストレッチ
  • スピンバイクを20分、汗をかく程度の負荷で漕ぐ
  • リングフィットをもうムリ!となるまでやる
  • さらにスピンバイクを20~30分、また汗をかく程度の負荷で漕ぐ

有酸素運動中、ヒマ問題

有酸素運動は時間がかかるので、その間かなりのヒマを感じます。

電子書籍で本を読むとか、AmazonのAudibleを試すとか色々したのですが、結局のところ長尺の技術紹介系YouTubeチャンネルを見ています。

けれど、もうすぐストックが切れそうなところ。

皆さんは運動中、どう過ごしていますか?

真の自分を解き放て

運動を習慣化すると将来健康で過ごせる可能性を高められる他、思考のパフォーマンスも上がります。

また、エンジニアにはつきものの肩こりや冷え性も改善できるので、一日30分でも運動にあてる意義は大いにあると言えるでしょう。

今すぐ真の自分のポテンシャルを解放しましょう。

PR

株式会社スマレジTechFarm事業部ではWebエンジニアを募集中です!

corp.smaregi.jp

PythonやRustなど最新の言語の案件も多数あり、未経験含む様々なご経験をお持ちの方にご活躍いただける会社です。 こちらのフォームからエントリーしていただき、就職が決まれば10万円を進呈中です! カジュアル面談も随時受付中です。どうぞお気軽にエントリーください。 (「ゲネのブログを見た」とおっしゃっていただければ嬉しいです。)

全エンジニア、VSCode使ってくれ

こんにちは。ゲネです。

今回はVSCodeというエディタの良さを語っていきます。

エンジニアのこだわり、それはエディタ

皆さん、エディタは何をお使いでしょうか?

SublimeVim

さくらや秀丸などの国産エディタも根強い人気を誇っていますね。

それぞれに良さやクセがあり、一度慣れたら離れがたい仕事道具。それがエンジニアにとってのエディタです。

最近、Atomという大手エディタの開発終了が告知され、エディタ難民となりつつある人もいるかもしれません。

そんな中、不動の人気を得つつあるエディタをご存じでしょうか?

我らがVSCodeです。

多機能エディタの最高峰

VSCode(Visual Studio Code)はMicrosoft社が開発した多機能エディタです。

多機能エディタとは、たとえばWindows OSには標準で入っているメモ帳ソフトのような文章を読み書きする機能だけではなく、文法補正機能がついていたり、コンソールが扱えたりする文字通り多機能なエディタのことを指します。

上述したSublimeもこの多機能エディタに入りますが、その中でもVSCodeを推していきたいポイントを挙げていきます。

1. コードが読みやすいのに目に優しい

最初に見た目かよという話ではありますが、エンジニアにとっては仕事中ほとんどずっと見ているエディタ。読みやすく、目が疲れにくいという要件は必須です。

VSCodeは多種多様な言語をカバーしており、文法をハイライトしてくれる機能や後述のアドオンを使えばインデントや空白も可視化することができ、非常に読みやすくなっています。

また、背景や文字の色を好みに変えることも可能。

多機能エディタならではの良さを存分に活かしたメリットです。

2. アドオンがとにかく豊富

何に対しても「ここがこうならもっと便利になったのにな~」と思うことは誰しもあることでしょう。

アドオンは、有志たちが開発してくれた『あるとちょっと便利な機能』(中にはとんでもなく便利な機能も!)を気軽に取り込むことができるシステムです。

  • 全角スペースを目立たせたい…
  • インデントをわかりやすくしたい…

そんなエンジニアあるあるから、

  • PlantUMLを表示したい…

というニッチ(かつ切実)な要望まで、探せば色んなアドオンがあります。

もちろん、やる気さえあればあなたもアドオンを開発してリリースすることも可能。

3. ターミナルがついている

これ、地味に便利なんですよね。

エディタ内ウィンドウでターミナルやデバッグコンソールまでも操作することができるので、ファイルの読み書きやライブラリのインストールのたびにわざわざエディタを離れなくても大丈夫。

正直、ゲネは今のPython案件に携わってから、ほとんど全てをVSCodeだけで完結させています。

4. 単体テストがしやすい

これは地味どころではなくほぼマスト。

業務系開発に携わったことのある方なら、単体テスト結合テストはお馴染みのフェーズでしょう。

テスト自体はコンソール上で動かすことができるのですが、ぱっと見、通っているのかエラーが出ているのかよくわからない。

VSCodeでは、設定さえしておけば毎回コマンドを叩くことなくワンクリックでテストを行うことが可能です。しかも、通ったかどうかもマークでお知らせしてくれるのでとってもわかりやすい。

さらに、ブレークポイントを設定することでデバッグもスムーズに行えるので、VSCodeなしの業務は考えられません。

5. 主要OSすべてで動くし無料

えっ?って思いますよね。

しかし、VSCodeWindowsMacLinuxすべてで動作する上に、無料です。

多機能エディタというとWindowsMacかのどちらかでしか動かない、Linuxはサポート外…なんていう事態もあるあるであり(だよね?)、有料であることも珍しくありません。

さすがはMicrosoftと言うべきか、このクロスプラットフォーム性と価格設定はエンジニアの作業環境に非常に大きな影響を及ぼしていると言えるでしょう。

君もVSCodeを使わないか

いかがでしたでしょうか。

細かいことを書き出すともっともっとあるのですが、今日はこの辺で。

エディタの乗り換えというのは大抵の場合気乗りするものではありませんが、じわじわとエンジニア界でのシェアを伸ばしているVSCode、一度使ってみると便利さに病みつきになることと思います。

え、もう使ってる…?

PR

株式会社スマレジTechFarm事業部ではWebエンジニアを募集中です!

corp.smaregi.jp

PythonやRustなど最新の言語の案件も多数あり、未経験含む様々なご経験をお持ちの方にご活躍いただける会社です。 こちらのフォームからエントリーしていただき、就職が決まれば10万円を進呈中です! カジュアル面談も随時受付中です。どうぞお気軽にエントリーください。 (「ゲネのブログを見た」とおっしゃっていただければ嬉しいです。)

エンジニアの適性

こんにちは。ゲネです。

前回の記事から少し間が空いてしまいました。皆さんはお元気に過ごされていますか?

今回は役に立つTipsではなく、私の考えた話をします。

エンジニアに向いている・向いていない

…って、気になったことはありませんか?

いわゆる適性や才能が自分にあるかという話です。

エンジニアは必須資格こそないものの、専門性の高い職業だと私は思っています(多分、世間的にもそう思われています)。

最近はパソコンが普及し、専門学校やエンジニアスクールも林立したことで、エンジニアになるハードルは低くなりつつあります。

とはいえ、スクールもそう安い価格ではありませんし、特殊な勉強が必要なことに変わりありません。

そこで気になるのが、果たして自分にはエンジニアの適性があるのかどうか?でしょう。

ゲネの考えるエンジニアの適性

私は、仕事にしろ趣味にしろ、好き嫌いとは別にまた向き不向きがあると考えています。

つまりそれは、誰もがエンジニアになれるとは限らないということ。

では、エンジニアの適性とはどんなものでしょうか?

それはたったひとつ。

物事を気が済むまでやる人です。

物事を気が済むまでやる人

あなたは、解きかけの難しいパズルをそのまま諦めることができますか?

ちょっとは面倒くさいと思っても、やっぱり諦めきれない!と思ってまたパズルに向かえる人。

あるいは、パズルから離れても、頭のどこかに引っかかっていつの間にかパズルのことを考えている人。

そんな『諦めの悪い人』が、エンジニアに向いています。

真面目で毎日時間を決めて頑張る人

逆に、真面目で毎日時間を決めて頑張れてしまう人はあまり適性がないかもしれません。

普通は人から褒められる気質ですが、エンジニアには向いていないかも。

エンジニアとは、「いかにラクをして問題を解くか」を考え、「いかに問題に熱中できるか」で測られる人種ですから。

PR

一度気になったことには全力投球。そんなあなたをスマレジは求めています。

株式会社スマレジTechFarm事業部ではWebエンジニアを募集中です!

corp.smaregi.jp

PythonやRustなど最新の言語の案件も多数あり、未経験含む様々なご経験をお持ちの方にご活躍いただける会社です。 こちらのフォームからエントリーしていただき、就職が決まれば10万円を進呈中です! カジュアル面談も随時受付中です。どうぞお気軽にエントリーください。 (「ゲネのブログを見た」とおっしゃっていただければ嬉しいです。)

コンビニカフェラテ徹底比較

こんにちは、ゲネです。

突然ですが、私が当ブログ・ゴムの木を書いているのは、私が所属している株式会社スマレジではブログを書いているとブログ手当というものが毎月1万円支給されます(源泉徴収対象)。

ブログ手当の支給要件としてはざっくりと、

  • 会社名を出して公開する
  • 会社や業務と関係のある内容の記事
  • 週1本以上の更新

といったところ。

が、月1くらいは業務と関係ないことを書いてもいいよというお達しが全員に出ておりますので、毎週金曜日更新のゴムの木では、業務とあまり関係のない記事は月初めに出そうかなと思っています。(続きものを書いている場合はその範疇ではありません)

この方針はゴムの木を始めたときに決めておりまして、先月初めの記事『慣れないことは習慣化した方がいい』も業務と直接関係はありません。

さて、今月の業務と関係のない記事は『コンビニカフェラテ徹底比較』です✨

意外とコンビニコーヒーの買い方を知らない

コンビニコーヒーってどうやって買うか、最初どこで知りましたか。

アイスはまだいいんです。冷凍庫のところに氷入りの容器が売っていて、それをレジに持って行って購入。レジ横のマシンに移動してお好みの飲料を入れればいいので。

問題はホットです。

ホット飲料を…買う…?

私は恥も臆面もなく検索しました。

正解は、「他のカフェのように店員さんに直接『ホットコーヒーのM』のように注文する」です。

なるほどね〜。

大手3社のホットカフェラテを買ってきました

私はコーヒーよりもカフェラテ派です。

それも、無糖の。

棚に並んでいるボトル飲料やカップ飲料はブラックか微糖、もしくは甘いカフェオレばかり。

そこで甘みを選べるコンビニカフェラテに手が伸びます。

その場で豆から挽いてくれるので、とても美味しいんですよね。

夏場はアイスカフェラテを飲んでいたのですが、急に寒くなりホットカフェラテへ移行。

せっかくなので、この秋の初めに大手コンビニ3社の味や価格を独自視点で比較してみました。

左からローソン、ファミリーマートセブンイレブン

セブンイレブンはカフェラテの容器がなかったのか、コーヒーの容器(お金はきちんと支払いました)。

ローソン(Mサイズ:税込180円、235ml)

さて、3社の中では容器に一番凝っていると思しきローソン。秋仕様ですね。

持った感触もモフル紙のような、ふわふわとした感触で良い感じです。

感想


3社の中では一番ミルクが強めでした。まろやかで、ミルク感強めなラテが好きな人向け。

ゲネはコーヒーの苦味がしっかりあった方が好きなので、ちょっと評価は低めです。

しかし、容量は3社の中で一番多い235ml。なんだかお得感がありますね。

アイスカフェラテなら美味しく飲めそうな味。

ファミリーマート(Mサイズ:税込180円、220ml)

ファミリーマートはつるんとした容器です。可もなく不可もなく…

が、調べてみると各社とも頻繁に容器デザインを変えているようなので、今後変わることがあるかもしれません。

感想


バランスがいい!

ミルク感がありながら、苦みは残っています。ただ、コーヒーならではの心地よいキレはないように感じられました。

容量は3社の中で真ん中。全体的に無難なのかもしれません。

セブンイレブン(Rサイズ(他社のSサイズと同等):税込180円、150ml)

最後に、セブンイレブンのホットカフェラテ。

こちら、本来であれば金色のカフェラテ専用容器になります。

感想


コーヒー感が3社の中で一番強い!

コーヒーらしい苦みがちゃんとあり、カフェラテを飲んでいるという感じが一番強かったです。

一番好きな味でした。

とはいえ、他社と同じ料金ながら容量はワンサイズダウン。これは痛手…

ゲネのオススメ

各社善戦しましたが…

ゲネのオススメは…

セブンイレブンのホットカフェラテです!

料金で比較するなら最も高い価格設定ですが、それに見合うクオリティの味だと感じました。

皆さんもこれからの寒い季節、会社やご自宅近くのコンビニでコーヒーを買ってみてください。怖くないので。

PR

株式会社スマレジTechFarm事業部ではWebエンジニアを募集中です!

corp.smaregi.jp

PythonやRustなど最新の言語の案件も多数あり、未経験含む様々なご経験をお持ちの方にご活躍いただける会社です。 こちらのフォームからエントリーしていただき、就職が決まれば10万円を進呈中です! カジュアル面談も随時受付中です。どうぞお気軽にエントリーください。 (「ゲネのブログを見た」とおっしゃっていただければ嬉しいです。)

RustでHello, worldするまで

こんにちは、ゲネです。

前回予定していた通り、この記事では今ゲネが一番気になっているプログラミング言語であるRustに入門します。

Rustとはどういった言語か

Rustをインストールしてバリバリ自分で進めていきたい方は、ゲネの記事を読まなくても大丈夫。

だってRustの公式チュートリアルは日本語にも翻訳されているから。

しかし、これはあくまでチュートリアルですので、Rustを使うと具体的に何が嬉しいのかにはあまり重点が置かれていません。

そこで、私が着目するC/C++の弱点や、それを克服するRustの利点を交えて解説していきたいと思います。検索すれば達人たちによる良記事はいくらでも出てきますが、そっちを読んでねというだけではブログ記事として成立しませんし…

ゲネはRustに何を期待しているか

端的に言えば、

  • C/C++よりセキュアなコーディングができる低レイヤ言語
  • 爆速で動く

の2点です。

逆に言えば、現時点ではこれだけしか期待していません。

1点目に関して、C言語はもともとUNIX OSを書き直すために開発された言語で、軽量であるため今でも組み込みシステムなどに使われています。

しかし、メモリにアクセスできる言語であり、かつ安全機構が欠けているためバッファオーバーフロー(メモリの領域あふれ)などを防止するシステムがありません。

この仕様のため、攻撃者が意図的にバッファオーバーフローを発生させ、ターゲットシステムに悪意ある動作を行わせることが欠点であるとされてきました。

RustはC言語系列の魅力である実効速度の高さを保持しつつ、エラー処理や自動メモリ管理によってC言語系列の弱点を克服しているところが非常に魅力的です。

私自身、まだRustを深く触った経験がないため触っていくうちにメリットデメリットが見つかることでしょう。

気になったらとりあえず入門!それくらいの気持ちでいます。

Rust入門

Mac, LinuxでHello, world!

MacLinuxとほとんど同じコマンドを受け付けますので、LinuxMacをメインにしている方には朗報です。

なんと5行のコマンドを打つだけでHello, world!が出力されます。

$ curl --proto '=https' --tlsv1.2 [https://sh.rustup.rs](https://sh.rustup.rs/) -sSf | sh

でインストールが完了し、

$ rustup update

でRustの更新ができ、任意のディレクトリ内で

$ cargo new (Project Name)

とすることでプロジェクトフォルダが生成され、cdでそのフォルダ内に移動して

$ cargo run

でデフォルトで書かれている

Hello, world!

が出力されます。

ね?簡単でしょう?

Win10でHello, world!

インストールが少しGUIだなあというだけで簡単さはMacLinuxのそれとは遜色ありません。

https://www.rust-lang.org/tools/installインストーラをDLしてきてインストール。

Power Shellで

$ rustup update

を実行して最新版にアップデート。以降は上記と同様に、任意のディレクトリ内で

$ cargo new (Project Name)

をし、

$ cargo run

を走らせることで

Hello, world!

が出力されます。

楽しいことをしよう

お疲れ様でした。

RustはOSカーネルの開発といったコアな部分だけではなく、Webアプリケーションの開発やAPIサーバの開発といった、よりイメージしやすい部分の開発に使われつつあります。

また、以前の記事で触れたとおり、AtCoderなど大手競プロコンテストサイトでも使用できるようになっています。

静的型付け言語は入門のハードルが…コーディングが難しい…と言われがちですが、ハードルが低めのRustで軽く入門してしまいましょう。

参考リンク:https://zenn.dev/mabe/articles/936b788cd2b4d4

PR

株式会社スマレジTechFarm事業部ではWebエンジニアを募集中です!

corp.smaregi.jp

PythonやRustなど最新の言語の案件も多数あり、未経験含む様々なご経験をお持ちの方にご活躍いただける会社です。 こちらのフォームからエントリーしていただき、就職が決まれば10万円を進呈中です! カジュアル面談も随時受付中です。どうぞお気軽にエントリーください。 (「ゲネのブログを見た」とおっしゃっていただければ嬉しいです。)