clock-up-blog

go-mi-tech

いつかここを本当に求めて見つけてくれる人々のために

先日、N進数計算およびエンコード/デコードのロジック - clock-up-blog という記事を書きましたが、一体何人の方がこれを最後まで読み切ったでしょうか。長文ですので全文に目を通すのは後回しにした方が多いかと思います。その判断は間違いではありません。

基本的に基礎技術に関する知見の記事において Twitterはてなブックマーク等の「タイムライン経由」でのアクセスは、よっぽどの時事ネタでもなければほとんど意味がありません。

流行り廃りのゴシップでもなければ水物でもないのです。
そのような部類の知見の記事というのは「必要に駆られて」見に来られたときに初めて本来の価値が出ます。

人間の時系列は基本的にずれているのが常なので、記事を出した瞬間にそれが本当に必要な人に届くことは非常に稀、というかほぼあり得ないことでしょう。

僕は、本当にそれが必要な人にそれが届くことを望んで記事を書いていますが、それが叶うにはとても長い時間がかかることを覚悟しています。いつか誰かが必要に駆られてインターネットの海を泳ぎ泳ぎ偶然にも僕の書いた記事に漂着する、その瞬間にそれは達成されます。情報と人間のマッチングはそう簡単にうまくはいかないのです。

それでも僕はそれを長いスパンで望んでいます。

どうかそのあたりのアカデミックな基本思想を汲み取ってもらえることがあるなら、僕は少し報われます。なにとぞ今後ともよろしくお願い致します。

N進数計算およびエンコード/デコードのロジック

※なんだか思ったよりも長くなってしまったので、電車の移動時間とかそういう隙間時間の時間潰しにでもご活用いただければと思います。

前書き

今更ですが情報基礎に立ち返り、進数計算について改めて書き起こしてみようと思います。

近年の情報技術はまだまだ発展途上ではありながらもその進歩は目覚ましく、進数計算程度の話であれば、そのロジックはいくらでも探せば転がっていますし、そもそもロジックを意識することなくライブラリ利用により「一般的な生産行為」は済ませられることが多く、そしてそのような選択がほとんどの場合の最適解です。

ただ、あまりにもライブラリ機能に依存するばかりにロジックの理解が疎かになる傾向が広く見られます。プログラムを日々組んでいる方であれば一度は意識したことのある世界だと思いますが、一度通過したきりで忘れがちな世界でもあります。このあたりの理解がおぼろげな方は、是非教養のひとつとして再度意識を向けてみてください。プログラミングにおける「コク」が増します。

なお、記述の厳密さについてですが、あまり文章量が増えるのも良くないので端折れるところは割り切って端折っています。進数について一度くらいはかじったことのある読者を想定しているので、分からない単語等については適宜ググる等してください。

続きを読む

Visual Studio 2017 正式版の導入

2017年3月7日 8:00AM PST あたりに Visual Studio 2017 正式版がリリースされました。
これは日本時間では 2017年3月8日 1:00AM JST あたりのことです。日付変わるの悔しいなー

続きを読む

ccache によるビルド高速化。実例として bitcoin のビルド速度は約30倍になりました。

gcc によるビルドを高速化するミドルウェアとして ccache というものがあります。
詳しい解説は以下が参考になるかと思います。

実導入例

インパクトのある効果例を先に示しておきます。
Amazon EC2 の t2.small (1 vCPU / Mem 2GB) インスタンスにおいて、ccache の無い状態、ccache の有る状態でそれぞれ3回ずつ bitcoin のビルドを試しました。

f:id:kobake:20170307163547p:plain:w500

続きを読む

Azure Web Apps デプロイ時の MissingRegistrationForLocation エラー対策

Visual Studio 2015 にて ASP.NET MVC プロジェクトを作成し、Azure Web Apps へのデプロイを行おうとしたときに、以下のようなエラーが発生してデプロイが行えないトラブルに最近遭遇した。

Following errors occured during the deployment:

Error during deployment for resource 'myproject' in resource group 'mygroup': MissingRegistrationForLocation: The subscription is not registered for the resource type 'components' in the location 'Central US'. Please re-register for this provider in order to have access to this location..
続きを読む
});