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

記事を頻繁に書き直す性格なのでごめんなさい。

「世界チャンピオンの紙飛行機ブック」を見て、紙ヒコーキを飛ばす

たまたま、オライリーのホームページで以下の本を見かけたので読んでみました。 www.oreilly.co.jp 紙飛行機とは一口に言っても色々あります。 家の近くの公園では、接着剤とケント紙を使ったような本格的な紙飛行機を飛ばして、木に引っかかったら竿で回収…

AzureのVideoIndexerを試す

今は、クラウド戦国時代ですね。 似たようなサービスがある中で、これは他にはないんじゃないかなというのがAzureのVideo Indexerです。 vi.microsoft.com 動画分析サービスは他にはありますが、これは ここの動画を使って試したいと思います。 このサイトの…

WebHooksについて学ぶ

WebHooksについて学びたいなあと思ってました。 あまり適切な本が見つからなかったので、英語の本ですが以下の本を購入しました。 www.oreilly.com 英語に弱い私ですが、割と読みやすい印象です。 本の中で、Webhookはイベント駆動型APIの一種として紹介され…

バッチファイルで背景変えるcolorコマンドを結果の成功と失敗に使う

なんだ、失敗していたのか 他人が作った長いバッチファイルを実行してはみたものの、なんらかの要因で失敗してました。 が、文字列がバーっと表示されたので、とりあえず終わったとそっ閉じしていたのですが、状況を確認すると、バッチに失敗していたのでし…

PUDOは利用できるなら利用してみて。

www.packcity.co.jp PUDOは宅配便ロッカーです。 これを使って郵便物の受け取りを使うことが可能です。 「ヤマトは、使えない」 とかコンビニだと店員の対応がついて行かず、困らせたことがあるので便利。 (実際には使えます。セブンでヤマトの荷物の扱い方…

PortQryでポートの開放チェック

リモートデスクトップ接続ができるはずなのに、出来ないな。 IPは通ってるはずなのに、なぜ? ポートが開放されていないのではないかと、以下のツールを試してみました。 https://support.microsoft.com/ja-jp/help/310099/description-of-the-portqry-exe-c…

Slackへの憧れが現実に変わったとき

転職するまでSlackを始めとするビジネスチャットは私の憧れでした。 これさえあればメールが必要ないとまで人から聞いてました。 いざ転職してSlackを使える環境になっての4ヶ月の感想を。 銀の弾丸はない。 という言葉はありますが、少なくとも私の環境では…

Visual Studioでリソースの追加をするときはプロジェクトのプロパティから

C#

タイトル通りの小ネタですが、意外と毎回戸惑うのでメモ。 Visual Studioにてプロジェクトを作成したばかりの時にはResources.rexファイルは存在しません。 リソースを追加する時はプロジェクトのプロパティを開きます。 「このプロジェクトには既定のリソー…

やねうらお氏の「Windowsプロフェッショナルゲームプログラミング 」を読む

C++

中古で「Windowsプロフェッショナルゲームプログラミング 」というのを読みました。 books.google.co.jp 2002年(!)と日韓ワールドカップが開催されていた頃の本です。 もう昔の本ですね。 やねうらお氏 今では無料体験でプロのゲームが遊べます。 が、ひ…

VBScriptはWScript.Echo でもメッセージボックス表示

oshiete.goo.ne.jp 会社でVbScriptを保守する機会がありました。 が、私は、VbScriptというのが不慣れで、一瞬見ただけで逃げ出したくなる人種。 ただ、メッセージボックスが表示される場所を調査することになりました。 メッセージボックスだったら MsgBox …

JetBrains .NET Meetup Tokyo 2019で英語のセッションに挑戦したが・・・

JetBrains .NET Meetup Tokyo 2019に参加してきました。 今回は、Unityの開発エディタとしてのRiderに焦点を当てたセッションでRider のTech Leadと.NET系製品のQA Leaderを迎えてのイベントでした。 RiderのTech LeadであるKrill Skrygunによる英語(!)の…

Code ClimateがC#に対応したので使ってみた感想

C#

Code Climateはソースコードの静的解析を行うサービスです。 codeclimate.com 有料のサービスですが、GitHubの公開リポジトリについては無料で利用が可能です。 C#もついに対応されたので試してみることにしました。 Supported Languages for Maintainabilit…

UMDHでメモリーリーク調査

C++

C#では、dotMemoryという有償ツールでメモリーリーク調査をしていました ですが、Unmanagedなメモリーについてはタッチできないので、UMDHでのメモリーリーク調査が必要になることがあるかなと勉強してみることにしました。 やや古い記事ですが、下記がとて…

フレームワークデザインのガイドラインを読み返す

とある本のAmazonレビューを読んでいたところ、この本の内容は以下の記事を読めば十分だと記載されてました。 docs.microsoft.com MSDNに.NET Frameworkを使ったAPI、ライブラリの設計のガイドラインが示されています。 名前付けのケース 名前空間や型名につ…

ファイナルプログラミングに挑戦

会社には雑誌が置いてあって、自由に読んだり、借りたりも出来ますよとなっています。 業務に関連する雑誌も多いのですが、技術雑誌もあります。 その中で気になるけど、誰も手を出さないのがファイナルプログラミングです。 日経ソフトウェアの付録のファイ…

ChocolateyでWindows環境を管理する

毎回、新しいPCの環境を構築するのにあれ入れて、これ入れて、ってやっているのもどうかなー何か、ないかなーと思っていた頃に出会えたのがChocolateyです。 Windows版Homebrewと言ったところで、choco install ~~と言ったコマンドを叩くことでインストール…

ResharperSettingの「Import from URL」はGitHubのRAWデータを活用できる

私はResharperの設定についてはプライベートと仕事で共用してます。 プライベートで作った設定をGitHubを挙げておき、同じものを仕事で使うというパターンです。 github.com 仕事で新しく使い始めるPCに対して、プライベートの設定をImportしていたところ Im…

Parallels Desktop Proに移行しました

Mac上でWindowsを動かすために私はParallels Desktopを活用していたのですが、Parallels Desktop Proに移行しました。 www.parallels.com 経緯 Parallels Desktopと私の付き合いは、Macを使い始めてからずっとです。 Macを購入したのはiPhoneアプリを開発で…

C++では関数を先に宣言しないとコンパイルエラー

C++

久しぶりにC++をやっていて、大事なことを忘れていました。 以下のソースはコンパイルエラーとなります。 #include <iostream> using namespace std; int main() { cout << "半径10の円の面積:" << getCircleArea(10) << endl; return 0; } // コンパイルエラー double</iostream>…

Visual Studioのステップイン中に表示されるダイアログ「ステップイン要求〜」

Visual Studioでデバッグしていると以下のようなダイアログが表示されることがあります。 ステップイン要求により、プロパティまたは演算子の自動的なステップオーバーが発生しました。 この動作は、「関数にステップイン」を選択するか、または「プロパティ…

iPhoneでの画面操作を動画で保存

プライベートではXamarinでアプリを開発してiPhone上で動かしているのですが、アニメーションのような動作が絡むシーンでは画面の流れを動画保存しておきたい時があります。 何かいい方法ないかなと思ったのですが、標準機能で出来ます。 www.itmedia.co.jp …

C++では変数は初期化しないと、どうなるかわからない

C++

C#やPythonなどの最近の言語では int a; と変数を定義して、出力させれば「0」が返ってきます。 が、C++では、保証されてません。 #include <iostream> int main() { // 初期化しない int a; std::cout << a << std::endl; return 0; } 43650794という桁外れな値が返却</iostream>…

ドメイン駆動開発のValueオブジェクトは実装のテクニック足り得る

C#

以前職場で行っていたドメイン駆動開発のValueオブジェクトについて、です。 ドメイン駆動開発 ドメイン駆動開発の主だった狙いとしては、デスクトップだろうとWebだろうと、クラウドだろうとオンプレだろうと、C#だろうとJavaだろうと、ビジネスロジックは…

オブジェクトを=で代入したらコピー

C++

C++の場合、以下のようにオブジェクトを代入したらコピーになります。 MyClass obj2 = obj1; obj2とobj1は別のオブジェクトです。 #include <iostream> using namespace std; class MyClass { public: int data; }; int main() { MyClass obj1 = MyClass(); obj1.data </iostream>…

C++の場合は変数宣言しただけでオブジェクトが生成されることがある

C++

C++の場合、以下のようにオブジェクトの変数宣言しただけで、オブジェクトが生成されることがあるのに気づいて驚きました。 MyClass obj1; #include <iostream> using namespace std; class MyClass { public: int data; MyClass() { data = 0; } }; int main() { MyCl</iostream>…

靴紐の結び方「イアンノット」知ってますか?

靴紐の結び方というとちょうちょ結びですが、イアンノットという結び方があるそうです。 アスリートでも使う結び方だとか。 ちょうちょ結びだと、ちょいちょい解けてイライラして、紐靴を履くのを避けていたのですが、気に入った靴が紐靴なので挑戦してみま…

ヘッダーファイルとソースファイルは同じ名前でなくて良かった

C++

ヘッダーファイルとソースファイルの名前は同じにするものだと思っていました。 ヘッダーファイルがa.hであれば、ソースファイル(*.cpp)がa.cppという形です。 C++の本を読んでいたのですが、そうでなくてもコンパイルは通るようです。 a.cppに以下のような…

JetBrainsのIDEでRiderはC#。C++ は CLion

ResharperはC++とC#、VBに対応したコード整形拡張機能です。 JetBrainsのC#のIDEとしてRiderが存在します。が、C++には対応していません。 ではC++は? それがCLionです。 blog.jetbrains.com これを使いながら、C++の本を写経して夏休みのトレーニングをし…

Git LFSの導入(in Azure Pipeline)

Git LFSとは、Gitが大きなファイルを扱うのに向いていないとために開発された拡張機能です。 LFSはLarge File Storageの略です。 外部ライブラリのdllをそのままGit管理していたりするのでGitLFSを導入することにしました。 導入 www.atlassian.com SourceTr…

システムの国際化について調べたこと

自動翻訳が無料で利用出来る時代ですが、システムの国際化対応ってそんな甘くないんですね。 C#にはリソースファイルなるものが存在しますが、それだけではないようです。 qiita.com 調べたことのまとめ。 Sansanのインドでの事例 インドではネットワークが…