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

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。静的コンテンツには向いてる、という売り文句しか知らない。もしかしたら使うかもしれない、ということで調べてみました!(「いかがでしたか?」ブ…

依存型の話

m-hiyama.hatenablog.com 上記の記事を読んで、また少し、依存型についてのイメージが明確になったように思う。 圏論を勉強する途中で、その例として何度か依存型には出くわしているし、それとは独立の流れでも、「依存型っていうものがあるらしいけど、まだ…

大きなシステムのトラブルを起こしてみると

転職したのがそれなりに、というかかなり、というかめっちゃでかいシステムを扱う会社なので、トラブルが起きた時も被害がすごいんですよね。一時間システムが止まっただけで被害額がこれだけになる、と上司や同僚から聞かされるにつれ、そういったトラブル…

PythonのWebフレームワーク - Falcon(1)

仕事以外でWebアプリを作るかも、という話になっていて、言語もフレームワークも自由なのでどーしよーかな、と迷っているところです。こういう場合はだいたい、作り慣れている、業務で経験あるものを選ぶのが手堅いというのは分かりつつ、技術者のサガとして…

WebAssemblyのname section

去年WebAssemblyのインタプリタを作って、最近はbinary formatに対応したものを作ろうとしている。特に明確な目標があるわけではない。 前回は最小限で形になる範囲しか対象にしなかったので、仕様書の一部を読めていなかった。具体的には、verificationがそ…

Slackアプリを作りたい

唐突ですが、そういうことです。本来はあまり特定のプラットフォームに乗ったアプリを書くことは好きではないんですが、そんなもんどんなプログラミング言語でも、多かれ少なかれ巨人の肩に乗って書いているので拡大解釈すればいけます。 www.shoeisha.co.jp…

Rustのimpl Traitが使えそうで使えない場所

前提の復習 trait objectについて復習している。各書籍にはどう書いてあったんだっけ。 O'ReillyのプログラミングRust まず、O'ReillyのプログラミングRustだと、11.1.1 トレイトオブジェクトに書いてある。 www.oreilly.co.jp 勝手に今知りたいポイントだけ…

LEB128形式の数値をRustで読み取る

WebAssemblyのbinary formatでは、数値の読み込み時にLEB128形式と呼ばれる可変長のフォーマットを使う。以下を参考にして、その関数をRustで書いてみた。ちなみに書籍の中ではRubyで書かれているので、比較のためその部分だけ抜粋する。 booth.pm Ruby実装…

Rustのrotate shift

超小ネタ。Rustには標準でrotate shiftが用意されている。例えば左に1つずらすrotate_leftだと、調べてみると基本的な型にはそれぞれ実装されている。ちなみに専用のtraitがあるというわけではないらしい。 doc.rust-lang.org 挙動に関しては特に驚くような…

設計のしかたを教えるのは難しい

いきなり勉強会で話すことになって、前々からやりたかった「設計のきほん」というテーマで話したが、いまいち反応が薄くて反省しているという話。 なんか巷でのバズワードや流行りの手法に振り回されずに、そもそも設計ってなんで必要なんだっけ?大切な原則…

IT技術書ってなくなるの

緊急事態になりましたね。 それはいったん置いておいて、iPadに入っている技術書を眺めていたら、技術自体はまだあるし、内容もよかったのに、書籍の情報が古くなってしまっている本もたくさんあるなあ、と突然思った。ちなみに(厳密には数学書とかもあるが…

配色を検索したい

記事の内容とは直接関係ないんだけど、以下の記事の中でのsyntax highlightの配色がとてもいいなと思うんですよ。完全に好みの問題だけど。 nmi.jp で、普段VS Codeを使っているのでそこで同じ配色のテーマを見つけたいなと思ったんですけど、これってどうや…

正月に書いたコード

正月には久しぶりにWebAssemblyの仕様書を読み直して、それをもとに少しだけコードを書いていた。去年の夏休み以来だ。WebAssembly1.0になってから結構経つが、まだあまり変わった感じはない。確か、1.0になったときに関数が複数の値を返せるようになったん…

「お子さま」の覚悟

去年からほぼイベントらしいこともなく、新年が始まった。とはいえ、ここ5年ほどは毎年こんな感じだ。テレビもないしそもそも行事めいたことに労力を割く習慣がないので、少しずつ、年末年始はただの冬休みへと、粘性が高めのまま、変化し続けている。それで…