「記述論理とWebオントロジー言語」を読んだ

www.ohmsha.co.jp 上記の書籍も飛ばし読みしてたんですけど、もう少しだけ読みました(ちゃんと読んだとはまだ言えない)。自分がどちらかというと数理論理学というよりは知識表現とかに興味が元々あったのもあって、とにかく買った気もします。というかAmaz…

クロスプラットフォームでGUI:Tauriを試してみる(1)

tauri.studio 少し前にどこかで見て、気になっていました。最近はデスクトップアプリケーションでGUIをどうやって作成するのかということにかなり興味があって、ここでは(まだ)取り上げてはないんですけど、いくつかのフレームワークを色々と見回っていて…

VS Code ExtensionをDockerコンテナの中で開発したい

自分でsyntax highlighterを作りたいなと思って環境構築をしています。 基本的にはnodeとyaomenが必要です。ということでいつものようにRemote Containersの機能を使って環境を作ります。 FROM node RUN npm install -g yo generator-code RUNしている内容は…

WebAssemblyのtrunc_sat命令

ようやくWebAssemblyのバイナリパーサを書き終えそうなので、次はそこへのコンパイラを書きたいな、と妄想しています。妄想するのは自由なので。ちなみにバイナリパーサに関してはまだ完全に終わったわけではありませんが、最も地道な作業と思われる、各Inst…

構造化したソースコードは読みにくい?

仕事中、コードレビューをしていて実際にあった話です。プログラマー経験数年の人から、「もう少しこの部分を共通化したいんですけど」という形で質問が来ました。「この部分」は単純に全く同じコードを何回もコピペしているだけだったので、わたしは「まず…

「数式組版」の難しさは、コンテキスト依存の多さが原因?

数式組版www.lambdanote.com 「数式組版」も積んでいた書籍でした。WebAssembly周辺のことが終わったら、次に何をしようかな、と考えているところで、いくつかの案の中から選んでいるところです。せっかく自分で動くVMが作れたなら、いろいろその上に乗っけ…

公開鍵暗号方式に喰らいつく

理解に自信がないので、違っていたらこっそり教えてください。 うん、公開鍵暗号方式というか、サーバ認証やSSL(TLS)のしくみですね。ときどきわからなくなって、その度に調べ直します。なにかいい覚え方はないですかね。一時期、「公開鍵は南京錠で、秘密鍵…

WebAssemblyのcode section

Binary Formatを読み込むパーサを書いていますが、ようやく、code sectionを残すだけとなりました。Text Formatよりも手順が少ないのですぐ書けますね(慣れてきたのもあります)。 とはいえ、一番肝心なsectionなので、ちょっとどういう仕様なのか、解読し…

Sphinx、良いんじゃないですか

業務で少し関係あるので調べていました。例によって書籍を入手(直販のみで、一般の書店では購入できないとのこと)。 www.oreilly.co.jp 開発用ドキュメントを作るのは、もっぱらMarkdownだったので、reStructuredTextもなんとなく、あんまり流行っていない…

GASでWebアプリ、プロ向けのかんどころ

ironoir.hatenablog.com 以前にも書きましたが、GASの勉強を続けています。いちおうLINEとSlackに通知を送ってみたりしていますが、Webアプリを作れることを全然知りませんでした。これは個人で使うちょっとしたツールとか、もしくはプログラミングを始めて…

令和にGoFデザインパターン

プログラミングの設計で勉強会をやろうと思って、ネタを集めています。とっかかりで便利なんですよね、いわゆる「デザパタ」。はい、いちいち書きませんけど、GoFデザインパターンのことだと読み替えてくださいね。「エンジニア」はこの記事内では、ソフトウ…

Rustのcargo.tomlを見ればパッケージがわかる

Rustのパッケージ管理についてはcrates.ioがあります。よく間違えてcrate.ioと入力してしまって違うページに飛んでしまう経験がありますよね(ない)。ややこしいんですが、ドメイン名にはcrateを冠しているものの、実際に管理している単位は「パッケージ」…

Docker Machineの今

業務上ではDockerを使っているものの、他の技術との兼ね合いでDocker for Windowsが入っておらず、Docker Toolboxで開発をせざるを得ない状態になっています。組織の規模から考えると、その状況はしばらく変わらなさそうです。VirtualBox内にホストを作って…

Design It!を読んだ

www.oreilly.co.jp 結構前に買って積んでたんですが、業務でアーキテクチャについて考える機会があって、そういえばまだ読んでなかったなと思って、ひとまず一気に目を通しました。最後のリファレンス的な手法紹介以外は結構サクサク読めて、それも意外でし…

Rustのエラーハンドリングにanyhowとthiserrorを使う

www.shuwasystem.co.jp 上記の歯車本、良い本でお世話になっていますが、エラー処理に関する部分について、今回じっくり読んでみました。そこで色々と考えることもあったので、紹介がてら書いてみます。 docs.rs docs.rs Rustのエラーハンドリングは、結構た…

Rustの可視性制御を復習する

全人類は以下を読もう。以上。 doc.rust-lang.org と言いたいところだけど、ポイントだけ。 With the notion of an item being either public or private, Rust allows item accesses in two cases: f an item is public, then it can be accessed externall…

VS CodeでGraphviz Interactive Previewを試す

少し前からめっちゃ試したかったんですよね。 marketplace.visualstudio.com 動きの感じは上記のページを見ていただく方が早いかもです。 www.graphviz.org ギャラリーから適当にサンプルをもらってきてやってみましたが、これ、いいですね。 レンダリングが…

金融系のソースコードの「独立性」

例の話に関しては、特に言うことはありません。違う話です。 何かの拍子に、「金融系はバグに対する影響が大きすぎるのでコピペ推奨」みたいなものいいを見た気がするが、本当だろうか。幸いにも金融系の現場には縁がなく、コピペ推奨ならば、それこそ縁がな…

Pythonのバイトコード一覧 (3)

ironoir.hatenablog.com つづきです。ようやく一覧を出せそうです。ざっくり全体感を掴んでください。詳細はリファレンスを見た方が早いので。 docs.python.org 今更ですが、Python VMはスタックマシンです。そして、このリストはPython 3.9での話です。 ス…

Pythonのバイトコード一覧 (2)

つづきです。 ironoir.hatenablog.com 以下の出力をもう少し調べます。 cmp_op: ('<', '<=', '==', '!=', '>', '>=') hasconst: [100] hasfree: [135, 136, 137, 138, 148] hasname: [90, 91, 95, 96, 97, 98, 101, 106, 108, 109, 116, 160] hasjrel: [93, …

Pythonのバイトコード一覧 (1)

WebAssemblyの作業をしていると、他の言語ってどうなってるんだろう、と疑問が湧きました。ふだん使っているPythonにもVMがあるので調べてみましょう。 docs.python.org Pythonのバイトコードに関する情報は、disパッケージで調べられます。リファレンスを確…

クラス継承で「基本/例外」を意思表示できる?

プログラミング設計に関して、多くの原則が謳われていると思います。最近、業務でも設計原則について考えることが多く、コードレビューをしている中で意外と気づいていなかった観点がありました。それがクラス継承で「基本/例外」を表現できる、というある意…

「良い」プログラミング手法/言語/教育とは

プログラミングの手法、プログラミング言語、プログラミング教育など、プログラミング周辺の話題で、いつもどこかでだれかが争っているわけですが、あんまり興味がないんですよね。自分の欲しい情報に向かうノイズになるので、ちょっと視線の横にどけておき…

在庫管理とメモリ管理

アマゾンの倉庫のように、商品を扱う倉庫に入る機会がありました。仕組みは千差万別でしょうが、多かれ少なかれ、入荷から出荷の流れはシステム化されていて、大規模なものほど感動します。自分はいつもソフトウェアの割合が高いシステム開発を行なっている…

リモート下での採用面接官と、良い技術者を見つけるための一つの質問

ブログっぽいタイトルにしてみました。 現職にはまだ入社して半年と少しですが、採用面接に参加してきました。完全にリモートです。一応、久々に服装も外出できるレベルで着替えました(普段はどうなっているんだ)。 この世情の中、学生さんは本当に大変だ…

Webマーケティングをソフトウェア開発で支える

現職ではデータによるWebマーケティングが会社として根付いています。完全に慣れたとは言えませんが、当たり前のようにABテストや機械学習が行われる環境には最初は、特に面食らったものです。 会社としては3つの領域、ソフトウェアエンジニアリング、マーケ…

GASを書き始めてみた

www.shuwasystem.co.jp 今回は上記の書籍を参考に書き始めました。少しだけ。 書いた量は数行ですが、どちらかというとGASを利用する立場というよりは、GASのようなプログラミング環境を用意する側の立場で見ている気がします。GoogleのUIは良くも悪くも、じ…

ノーコードにおけるビジュアルな制御構造

Tableau Prep もう転職してしまったのですが、前職ではいわゆるビジュアルプログラミング言語環境に近いものを作っていました(まだまだ機能は足りなかったので、作ろうとしていた、に近いのか?)。コンセプトが似た製品としては、Tableau Prepが一番、有名…

GASとノーコード

業務内でも業務外でもGASを使いたくて、勉強用の書籍や資料を揃えているところです。その内容も記事に書く予定ですが、昔を思い出してみると、こんな風に自分がGASを勉強する姿勢になっていること自体に驚いているというのが正直なところ。 わたしは新卒で入…

Gatsbyをためす

Gatsbyってなんだ 前々から少し気になってはいたものの、本格的に調べたことはなかったんですよね、Gatsby。静的コンテンツには向いてる、という売り文句しか知らない。もしかしたら使うかもしれない、ということで調べてみました!(「いかがでしたか?」ブ…