2022-01-01から1年間の記事一覧
年収100兆円を目指して機械学習を学ぶシリーズです。 blog.3qe.us blog.3qe.us blog.3qe.us そういえばTensorflowは正しくはTensorFlowだということに気付いたけど、もうタイトル変更するのが面倒なのでTensorflowで押し切ることにします。 グラフ定義 -- 計…
機械学習で大儲けしたいからTensorflow Scalaを勉強している。その1とその2はこちら。 blog.3qe.us blog.3qe.us 今回は、テンソルの一部を表現する優れた記法であるスライス記法についてのお話。 オリジナルの(?)PythonのTensorflowにはスライス記法という…
機械学習で大儲けしたいので、Tensorflow Scalaで遊んでいる。 前回はこちら。 blog.3qe.us Tensor Creation 公式ドキュメントの Tensor Creation をやってみる。 platanios.org import org.platanios.tensorflow.api.tensors.Tensor import org.platanios.t…
機械学習をやるためのライブラリであるTensorflowにScalaバインディングが作られているのを知った。 platanios.org 機械学習で大儲けしたいので、ちょっと触ってみることにした。 インストール platanios.org 公式マニュアルのバージョン情報更新が滞ってい…
買ったもので振り返る2022年 仕事で振り返る2022年 Scala活動で振り返る2022年 人としての2022年 いとしのリュシュカ 世間はクリスマスでも、自分にはあまり関係が無いことだ。いつも通りに暮らしている。今年は、友達と大阪に遊びに行ったので、少し違った…
やった!! 大量の単位が降ってくる!!!!(PC版サイトでないと正しく動かないようです)
ScalaのコマンドラインパーサDeclineで、サブコマンドを定義したいのだが、サブコマンドには引数が無い、というケースを定義したかった。 普通サブコマンドにはさらに引数が付くのだが、例えば init みたいなサブコマンドを定義したいときは引数はいらない。…
@font-face {font-family: "Berkeley Mono"; src: url("https://www.3qe.us/webfont/BerkeleyMono-Regular.woff2") format("woff2"), url("https://www.3qe.us/webfont/BerkeleyMono-Regular.woff") format("woff");} .entry-content pre > code { font-fami…
アルバイトとして働いてくれている同僚がScalaに入門していて、基礎的なScalaの文法などは習得してくれているけれど、コレクションメソッドや関数型プログラミングのイディオムまわりでもっと伸ばせそうな雰囲気があるので、何か良い資料を知らないですかと…
Table of Contents はじめに 最近Scalaまわりのアウトプットを積極的にやっている Scalaの裾野を広げたい 高度な記事はあるけれど 入門的な記事を増やす お高く留まらない言語にしていく お高く留まった言語から滅んでいく 裾野がプログラミング言語を支えて…
自作の解説動画作成ツールがある程度形になってきたので、配布について考えている。 www.nicovideo.jp zmmはScalaで書かれたアプリケーションなので、JVMで動作する。JVM言語の配布形式には色々あるのだけれど、zmmではとりあえずJARを配ることにした。 Scal…
マルチテナンシーというコードの形態がある。同じコードベースで、実際の実行インスタンスなどは分けた形で複数のサービスを提供することである。例えば同じコードベースでAというECサイトとBというECサイトを提供する、という感じである。 このマルチテナン…
この記事はMackerel Advent Calendar 2022の記事です。昨日の記事は id:ryuichi1208 による 『今年作ったプラグイン集です』 でした。 ryuichi1208.hateblo.jp Page Speed InsightsのスコアをMackerelに投稿するツール psi-mackerel psi-mackerelというツー…
今年は大きな病気もせず穏当に暮らしていたのだけれど、年末のこの時期に、でかい風邪を引いてしまった。 結局2日間仕事を休むことになったし、38度後半の熱が出るし、ゴホゴホして眠れないしでえらい目に遭ったという気持ちだ。今は熱も落ち着いて、ゴホゴ…
detexify.kirelabs.org マウスでシンボルを描くと、それっぽいものを探してきてくれる。大学生のときに知りたかった。
プログラミングの話。経験的に、中核となる仕組みが頑健に作られていると、周りを取り巻く仕組みをスムーズに作れることが多い気がする。つまり、アドホックに拡張していったシステムよりも、まずきわめて強固な仕組みを作って、残りの機能はそのDSLであるか…
Praparatという人工生命シムを作った人がいて、その動作の様子をVOICEVOXで解説動画にしてアップしていた。 www.nicovideo.jp 自分はこの動画をたまたまニコニコ上の紹介的な動線から知った。つまりサジェストで発見したという感じ。ニコニコのサジェスト作…
Scala3チャレンジをする記事の二本目。 前回はこちら。 blog.3qe.us ソースコードは以下に置いてある。 github.com github.com Union Types Eitherとの違い Discriminated Union Typesもどき Intersection Types まとめ MathJax v3以降ではbussproofs.styが…
自分の機嫌を取らないとなと思うことが最近たてつづけにあった。仕事のコードの機嫌が悪くて自分の機嫌も悪くなり怒り狂っていたり、Apple Musicの動作が不安定すぎてストレスを感じていたり。当たり前と思っていることが当たり前に動作しないと人間はすさま…
ちびちびScala3に生えた新機能の実際に使ってみるチャレンジをやっている。いつの日かチームに導入できたら嬉しいね、とか、自分で使いこなせるようになると嬉しいね、というモチベーションである。 今日はOptional Bracesについて勉強した。ソースコードは…
package Foo; use strict; use warnings; use Class::Accessor::Lite( new => 1, ro => [qw(prop)] ); sub foo { my $self = shift; return prop; } これはちゃんと動かない。正しくは package Foo; use strict; use warnings; use Class::Accessor::Lite( n…
こういうバグを踏んだ。このコードはScala 2.13でコンパイルしない。この例ではCats Effect 3のIOモナドを使っているけれど、どのモナドでも発生する。 def fa = IO.pure("left") def fb = IO.pure("right") for { (a, b) <- fa product fb // ここでIO[(Str…
ScalaでプログラミングをしているとTuple2にお世話になることが多い。例えばSeq[(K, V)]からMap[K, V]を得ることができるし、何かと応用範囲が広い。catsでも、Tuple2をうまく操作するための数々のインスタンスが用意されている。 そんな中、Tuple2のインス…
特に結論の無い記事。 インターネットはもう多数派のものになった、というだけのことっぽい。— @windymelt@mstdn.takuya-a.net🍥🧪 (@windymelt) 2022年11月23日 言いたいことは↑でだいたい終わっている。 インターネットははみだし者の集団がワイワイやってたか…
こういうメソッドを定義したい。 Seq[(String, FiniteDuration)]があるとき、同一のStringが連続した場合に限ってFiniteDurationを足し合わせて、最終的にSeq[(String, FiniteDuration)]を返すような処理を書きたいんだけど、どうしたもんか— @windymelt@mst…
最近ポーランドにS-300の5V55?ミサイルが落っこちてきて死人が出る大事になってしまった。 S-300*1 www.nikkei.com www.afpbb.com 報道によると、ウクライナが発射したものが逸れて落ちてきたという説が有力になってきている。 そういうことがあったので改め…
趣味のプログラミングなどに使っている自作PCのメモリが最近キツくなってきており、ブラウザを開きつつStable Diffusionなどを回していると16GBでは結構辛いものがある。Scalaのコンパイルなどでも結構なメモリが消費される。 そこでメモリを買って16GiBから…
今日チームでScalaのこういう型制約ってどう書くんだっけ、といった話をしていて、Scalaには色々な型制約の表現の方法があることだなあ、と考えていた。そして、全て覚えるのは大変だなと思った。自分は特に変位指定アノテーションを覚えるのが大変だった。…
プログラミングをして暮らしていると、だいたい木構造と向き合うことになる。その頻度はリスト程ではないものの十分に高い。 木構造操作の一類型として、木の根から順に辿っていき、一定の操作を加えていくというものがある。個々の要素だけ見れば良いことも…
寒い季節になったので、普段はキッチンに置いてある自宅サーバを居室に移動させて熱を有効活用することにした。データも保存できるし節電もできる優れ物だ。 さて、移動させたついでに必要なLANケーブルの長さも変わり、いくつか差し替えてちょうど良い長さ…