日記
ふーん……。 職場のプロジェクトに必ず配置しちゃうMakefileの話 Makefileを便利コマンドメモとして使うことに対する違和感 | takeokunn's blog 例のMakefileの補足 ほな、便利コマンドメモとして使う時に一捻り加えるために、黒魔術のさわりのさの字だけ書い…
GitHub Organizationに作成したプライベートリポジトリにSSHでアクセスできなくて悩んでいたのである。HTTPS(2FAあり)ではcloneできるけど、SSHではcloneできない。Could not read from remote repositoryとなる。問題を切り分けるために、GitHubの自分の…
空のローカルリポジトリを用意する。 core.autocrlfをfalseに設定する。 改行コードがCRLFのファイルをaddしてcommitする。ここではBOMなしUTF-8かつCRLFのhello.cを登録したと仮定する。 .gitattributesをaddしてcommitする。中身は*.c text eol=crlf encod…
今の職場は――いや、今の職場も、新人教育にC言語を採用している。実際の業務としてはC++も多い上に、C#、Dart、JavaScript/TypeScript、Kotlin(とごく稀にJava)、Python、Swift(と時々Objective-C)と色んな言語が飛び交う環境なのだが、歴史的事情により…
最低でもあと10年は職業プログラマとして働き続けようと思っているのだが、働き続けるにあたり重要なファクターをあれこれ考えた結果、結局のところ根本的には「心身の健康」と「体力」と「お金」だろうという結論にたどり着いた。……これだけでは話が広がら…
Mini-ITXの自作PCにSambaを入れてNASとして運用してきたのだが、次のNASは自作せずにNASキットを購入することにした。理由は2つ。1つ目はOSのアップグレードが面倒になってきたことで、2つ目は業務を見据えた人柱となるためだ。Ubuntu Server LTSを使ってき…
最近、自作ライブラリに機能を追加したのだが、実装中に妙なリンクエラーに遭遇して右往左往したので、メモを残しておく。当初、へなちょこC++使いの私には原因がつかめず、とりあえず回避策でお茶を濁していた。追加したのはstd::this_thread::sleep_for()…
タイトルに書いたことが全てだが、思考の整理を兼ねて、もう少し深掘りしてみたい。以下に示す要求に合致した書籍の類を探しているのである: C言語(言語仕様)よりも「C言語を用いたプログラミング」に主軸を置いた内容。 最低でもC99、できればC11/C17の…
身近な汎用のコンピュータの内蔵ディスクがHDDからNAND型フラッシュメモリ(SSDやeMMC)に移行して久しいが、あらためて内蔵ディスクの残存データの取り扱いについて考えたい。デバイスの特性に基づく考え方の変化については、HDDからSDDへの移行期に語りつ…
パッと見の印象:テスト駆動開発あたりの文脈から出てきた「単体テスト」についての、「良いテスト」について論じた本。単体テストにフォーカスしたソフトウェア・テストの本で、しかも「具体的なテストのやり方」ではなく抽象的な視点で論じているものって…
コンピュータは電子計算機とも訳されるように計算に用いるのが本流である、という信念*1の元に、私はちょっとした計算にもパソコンを用いている。当然ながら*2計算にはLisp処理系のREPLを使用する。*3ちょっとした計算にてLisp処理系のREPLを用いるメリット…
2022年後半はNANDの価格の下落が進み、その影響か有象無象の格安SSDをよく見かけるようになった。SSDの中身は、乱暴に言ってしまえば「NANDチップを含む電子部品が実装された基板」だ。HDDとは異なり、モーターのような精密な機械部品を含まない。必要な電子…
単体テストという言葉の意味が人によって異なるのでややこしいのだけど、ここで私の言う単体テストは「関数やメソッドを単体で取り出して、そのインタフェース部分と内部実装に着目して実施するテスト」のことである。10年以上も職業プログラマをやっている…
CPythonの既知の不具合に遭遇した。処理系本体ではなく、標準ライブラリの問題のようだ。界隈では有名な話かもしれないが、忘れないように個人的なメモを残しておく。具体的には、標準ライブラリのsocketを使用して自前でUDPパケットを受信する、以下のよう…
Debian 10ではパケットフィルタリングまわりの設定に使用するフレームワークがnftablesに変更されたのだが、この変更が「既に運用中の『iptablesを使用しているDebian 9』」をアップグレードする際にどのような影響を及ぼすのか、メモを残しておく。(Debian…
先日Super-microDXにインストールした河豚板をfiupdateでアップデートしようとしたところ、すこしつまづいてしまったので、メモを残しておく。前提というか背景を書いておくと、Super-microDXにはコンパクトフラッシュのドライブ(リーダ?)が内蔵されてい…
10年前に新品で購入したPCにインストールできるメジャーなOSが減ってきた。思案した結果、ひとまずOpenBSDベースの河豚板を使ってみることにした。件のPCは、ピノーが販売していたSizka Super-microDXという、少し癖のある代物だ。*1ピノー Sizka Super-micr…
新しいPCに環境を移行してから、SDeleteを使う機会が激減した。ここ1~2ヶ月は1度も使用していない。何のことはない、ようやくSSDモデルのPCに買い替えたのだ。以前のPCは2013年に購入したノートPCだ。当時は「クラウド・サービスのストレージにデータを置く…
C++をあまり深入りせずにBetter Cとして使うとこうなる。 事前準備:文法面の細かな差異を押さえる 細かいところにC言語とC++の非互換な部分があるので、それを押さえておく。例えば: 標準ライブラリのヘッダファイル名 例えばassert.hではなくcassert。ま…
信頼性のあるテストアプリやテストデータを用意できないと、十中八九モジュールは爆発する――私の職業プログラマとしての経歴の大半は、モジュールの開発に費やされてきたのだが、その中で悟ったことだ。振り返ると、何らかのアプリケーションなりシステムな…
自作PCってなんで人離れていったんだろ興味深い疑問である。そもそも人はなぜPCを自作していたのだろうか? この疑問に思いをはせる際に、人々の「PCにたいする姿勢」に注目すると、ほんの少しだけ見えてくるものがある。 PCはあくまで手段である、という人…
NHK「これがわが社の黒歴史」第2回はヤマハの半導体。23日放送 - AV WatchYMF715EやYMF744-B*1の元ユーザとして、興味深く視聴した。放送では「半導体」と一括りにされていたが、個人的にはアレは「音源チップ」の話だと解釈した。ざっくりといえばMIDI音源…
この記事はオブジェクト指向はすでに粒度が時代にあっていない - きしだのHatenaの個人的補足である……本当は書くつもりはなかったのだけど、ちょっと気になったので。あの記事の趣旨なのだが、乱暴に言うと: 「OOA + OOD + OOP」の勝利の方程式でV10達成必…
この記事はシェルスクリプトを書くのをやめる - blog.8-p.infoの個人的感想である。なお元の記事を書いた人と私は全くの赤の他人であり、何の接点もない。つまりこの記事は単なる外野のたわ言である旨をご承知いただきたく。 Re: シェルは悪いプログラミング…
Windows 10にてネットワーク名を変更する方法について、ネット上の情報は若干の混乱というか両論併記的な記述が多いようなので、少し整理してみる。要は、Windows 10 ProやEnterpriseの場合: ローカルセキュリティポリシーでネットワーク名を設定する方法 W…
年頭において、初心を忘れないように書いておく。新しいプログラミング言語の使い方を学ぶ時、個人的に、公式のチュートリアル/コーディングスタイル/リファレンスを参照するのと並行して、当該言語の標準ライブラリのソースコードを読むことが多い。全く…
超小規模な社内サーバの管理に関わることが多いためか、管理用に「スクリプトを生成するスクリプト」を作成することがある。「スクリプトを生成する」と書くと、なにかしら大層なことをやっているように聞こえるが、何のことはない、単に可変のパラメータを…
まだObjective-Cで消耗してるけど、なんか質問ある?いや、別にSwiftが嫌いな訳じゃない。「Xcode + Swift」とか「Android Studio + Kotlin」みたいな「開発環境込みでの『モダンな静的型付け言語』」の便利さは体験済みな訳で、私だって今からiOS/macOSアプ…
物心ついた頃は昭和で、十代まるまる20世紀だった地方民にとって、21世紀は「超音速原子力旅客機が飛び、潜水可能な豪華客船が航行し、海底の透明チューブの中を列車が走り、マイカーは自動運転でホバーで空だって飛べるさ」な時代になるはずだったのだが、…
言語ではなく本の話である。ついでに言えば第2版の方。最近、新人向けのC言語の本として『プログラミング言語C 第2版』を推そうとする声にストップをかけたのだが、その辺を含めて、この本についての2020年時点の個人的所感を書き残しておこうと思う。プログ…