ユユユユユ

webエンジニアです

2020-07-01から1ヶ月間の記事一覧

NAND 演算があればあらゆる論理演算ができる

TIL

NAND とは NOT AND のことで、真理値表は次のようになる。 x y x NAND y 0 0 1 0 1 1 1 0 1 1 1 0 見ての通りの、 AND の否定形である。否定にすぎないから、論理学ではそう注目される演算でもないように思う。 しかし電子回路の世界ではこの演算が中心の座…

背伸びして『Effective C++ 第3版』を読んだ

ある Googler の投稿を読んでいて、見かけた本である。題字のフォント、表紙のデザインなど、飾り気はないのに力強いオーラを持つ装丁がただちに印象に残った。名著という評判も高いおかげで安心して読むことができたし、翻訳も丁寧な印象で、自然に読める心…

『江添亮のC++入門』でC++の基本を学び直す

競技プログラミングに触れるようになって、自己流ながら少しずつC++が使えるようになってきた。しかしきちんとした参考書を読んだことがなく、体系立てた学習もしたことがないのが気にかかっていた。学習といえば、AOJの教育コンテンツを少しやったばかりで…

『キタミ式イラストIT塾 基本情報技術者』を読んだ

大学生であったおり、就職活動に合わせてこの参考書を手に取ったことがある。そしてほとんど2割も読まずに匙を投げた。資格の存在を知るより先にプログラミングのアルバイトを始めていたから、資格試験の勉強では死んだ知識しか身に付けられない、と粋ぶって…

Project Euler で最初の50問を解いた

最初の25問を解いたのはちょうど一週間前であった。 jnsato.hateblo.jp ペースが速くなったのは、おもしろくて手が止まらなくなってしまっていたため。絶妙な難易度のおかげで、あと1問だけ解いたら寝る...解けた...寝る前に次の問題もみてみよう...やっぱり…

C++の整数リテラルに桁区切りを加える

Ruby であればこういう書きかたが許されている。ゼロを列挙するよりもはるかに視認性が高く、お気に入りの記法である。 a = 1_000_000_000 a # => 1000000000 C++ を書くとき、ここにほのかなもどかしさを感じることはあった。1000000000と書くのは読みづら…

rmagick をビルドする

TIL

入社初週の恒例行事として既存プロジェクトの環境構築をしていた。 幸いにしてほとんど障害なく進められたのはありがたい。このエントリに書くことさえ、大したことではない。しかし安易に検索エンジンに頼ったりせずに、自分の頭で考えてビルドを通せたこと…

ローカルの postgres を 12.3 に移行する

TIL

今週から新しいプロジェクトに参加することになった。 Rails + postgres の構成で動くアプリケーションの環境構築をした。 ミドルウェアを使うときはコンテナで実行するのが手癖になっていた。しかし今回は「無理して Docker を使わないこと」のポリシーに沿…

任意の累乗数をみちびくアルゴリズム

C++

例えば Ruby はユーザーが特に意識せずとも無限に大きな整数値を扱うことができる。 jnsato.hateblo.jp C++では long long 型を利用してもたかだか 64-bit までしか扱うことができない。ビルトイン型として提供されているのはこれが最大となるから、それより…

循環小数を検出して表記する

C++

1/3 や 1/7 のような循環小数を数値型を使って表現しようとすると、普通は有効桁数の範囲でしか表記できない。そうではなく、次のように循環小数であることが一目瞭然となってほしい。 1 / 3 = 0.(3) 1 / 7 = 0.(142857) そこで単純に、分子と分母を引数に受…

Project Euler で最初の25問を解いた

以前のエントリで掲げた、最初の25問を解く目標を達成できた。最初の問題を解いてからちょうど10日での達成だった。これで全登録者のうち上位11.48%の進捗だという。まだまだ先は長いと知りつつも、十分すぎる達成感と自己肯定感を得られている。コラッツ数…

7月に取り組むテキストを紹介する

月が改まり、仕事も入った。時間の余裕は減る。しかし今までが暇すぎたのである。これからは気持ちを入れ替えて、メリハリをつけて勉強に取り組もうと思いを新たにしている。 で、そのためのテキストをいくつか用意したので、紹介する。 ■ キタミ式イラストI…

仕事に戻った

半年ぶりに人のためにはたらくことになった。と言っても、自分で行動を起こしてポジションをつかみ取ったわけではない。以前よりお世話になっていた縁で依頼してもらえただけで、ただただ運に恵まれただけだ。 もし声をかけてもらえていなかったら、きっとも…

std::map と std::unordered_map

map というデータ構造は連想配列にあたるものと単純に理解していた。unordered_map について追って知ることとなり、初めて map のキーが自動的にソートされることを知る。 #include <map> #include <unordered_map> int main() { std::map<int, int> mymap1; std::unordered_map<int, int> mymap2; in</int,></int,></unordered_map></map>…

応用から基礎へ

昨日、一昨日と数学に関係するエントリが二日続いたのは、明らかにひとつの方針を指し示している。数学を学び直すこと、ひいては基礎を学び直すこと。これが今後のひとつの軸になるだろうと予感する。 学問的根拠がなくても仕事はできる、とする向きがあるの…

『数の悪魔』を読んだ

数の悪魔―算数・数学が楽しくなる12夜作者:ハンス・マグヌス エンツェンスベルガー発売日: 2000/04/01メディア: 単行本(ソフトカバー) あほな質問はやめろ。頭を悩ますことがすごいことなんだ。1 算数を啓蒙する児童書として評判がいいと聞き、読んだ。子…

Project Euler をはじめた

projecteuler.net ご存知の向きも多いと思うが、 Project Euler は数学の問題をプログラミングで解いていくサービス。フィボナッチ数列の偶数項の和を求めたり、任意の整数の最大素因数を求めたりする。もっとも、これらは難度としては最低レベルとなる。進…