Lambdaカクテル

京都在住Webエンジニアの日記です

技術

const関数おもしろい(そしてアプリカティブファンクタへ……)

最近型クラスとかを勉強しているのだけれど、その中でconst関数というのを見て感心した。 yomi322.hateblo.jp const Haskellだと以下の通りに書く: const x _ = x Scala風に書く(ここからはScalaで書いていく)と以下の通りに書く: def const[A, B](x: A) =…

string_randomをScalaでやる

string_random.jsというライブラリがある。正規表現を与えると、それを満たすような文字列を生成してくれる便利なやつだ。 デモページもある。 cho45.stfuawsc.com おもしろい このライブラリはjavascript用だが、正規表現を満たす文字列をいくつか生成した…

Scala 3で言語処理系を作ってる

馴染みのプログラミング言語に新しいバージョンが出てもあれやこれや理由を付けてなかなか学ばないのが人の常。やらなきゃなーなんて言っている間はだいたいやらないんだ。 そんな中Twitterで雑誌『Web+DB Press』にScala3の記事が出ている事を知った俺は速…

Chrome拡張を初めて作成してみた(id属性がある見出しにパーマリンクを自動付加する君)

最近Chrome拡張機能について考える機会が多く、自分も何か作ってみることにした。かねてから「自分もChrome拡張の一つや二つ作れなくてなは~」などと考えていたものの、特にアイデアがあるわけではないので、放置していた。 しかし丁度良くアイデアが舞い降…

GitHubのチェックボックスをでかくする + マージステータスの枠をでかくする

仕事でGitHubを利用していて、ちょっと使いにくいなと思うことがあった箇所をUser CSSでチマチマ直すということをよくやっている。 blog.3qe.us マシンを交換したりするとしばしば設定を失くしてしまうので、ブログにメモっておこう。 チェックボックスをで…

ゲーミングマシンのCドライブ(なぜかRAID0)がパツパツになったのでNVMeのSSD(PCIe接続)に移行した

Cドライブがほぼ満タンになってしまって、日常生活に支障をきたしていたので、1TBのSSDを買ってきて装着した。マザーボードにはM.2スロットが1つしかなかったので、PCIe接続の拡張スロットを増設してM.2スロットを追加した。 全景 Cドライブパツパツ Apexと…

SandS(スペースキーをシフトキーにする)をsystemdで起動して再起動を自動化する / systemd-analyzeでユニットファイルを検証する

SandSするためのスクリプトをsystemdで自動化し、定期的に再起動できるようにします。 下準備 Systemd ユニットファイルの記述 設定の反映と起動 ハマったところ SandS(Space and Shift)という技術がある。スペースキーの長押しをシフトキーとして扱うもので…

回転 GIF 作成 無料

prerequisites: zsh (for numerical glob expansion), imagemagick % seq 0 6 354 | xargs -I{} convert -background none -distort SRT -{} INPUT_FILE.png rotate{}.gif % convert -delay 1.5 -alpha set -dispose previous -loop 0 rotate*.gif(n) result…

AsanaのCSVエクスポートをなんとか擬似的に自動化する

弊チームではプロジェクト管理にAsanaを使っているのだけれど、それとは関係無く、バーンアップチャートを作っていこうというチーム横断の機運があり、社内の有志がGoogle Spreadsheetで動くテンプレートを作ってくれている。AsanaのCSVエクスポート機能を使…

Party Parrotを自作したくてゲーミングGIF生成ツールをRustで作った

様々な画像が明滅するので気を付けよう! ここに僕がいます これがこうなるツールを作成しました % git clone https://github.com/windymelt/superify.git % cd superify % cargo build --release % ./target/release/superify windymelt.png % open windyme…

入力のほげ行ごとに出力したいときはgsedの~を使う、そうして月のウーバーイーツ代を算出する

そういえば先月ウーバーイーツにいくら使ったんじゃろと思って、マネーフォワードの画面を見たんですが スクショ 科目でソートしてこんな感じだったわけです。合計が知りたい。 とりあえずテキストコピペしたらなんとかなるでしょう、という勘でコピペすると…

朝日新聞社の長文要約生成APIを使ってブログの要約を自動生成する仕組みを構築した

先日朝日新聞社によって長文要約APIがリリースされました。要約をAPIで取得できるという点が面白いと感じたので、このブログ(blog.3qe.us)の記事を閲覧したときに自動的に要約を見られるような仕組みを作ってみようと思い、1週間ちょっとかかってしまいま…

付帯的な処理を構造に畳み込む

ある処理を記述しているとき,80%くらいの処理は一瞬で書けるんだけど,付帯する処理があって,そのときはなにやら複雑なことをしなければならない,ということがままある. たとえばファイルを加工するソフトウェアを書くとき,加工自体は一瞬で正規表現と…

テストでつまづきがちなのでどうすると良いか考える

症状 あれコレ俺ハマってるじゃん,と気付いたとき,だいたいテスト書いている 実装する→テスト書く→ぜんぜん通らんなんで??→ヴァルハラ(永遠の戦い) というのがよくあるパターン 通らない原因 別に準備しないといけないレコードがあった DBがデカい1つのス…

エラー検知したいけど全部処理は通したいみたいなやつ

オチはないです 話題 いくつかのエラーチェックしてひとつでもエラーがあれば処理止めたいんだけど、フラグ作って毎回if文でエラーがあればフラグを立てて…ってする方法以外になんかいい感じの方法ないかしら?— *͙覚醒*͙むったんたん (@precure_______) 202…

事前条件と事後条件、不変条件をタスク分解に応用すると便利そう

最近の仕事で試してみているのが、タスクを実行可能なレベルに分解するときに、事前条件と事後条件とをヘッダとフッタのようにして、それで1つのタスクという形に分解する、というもの。 例えば「味噌汁作る」タスクを分解したいときは突然「豆腐を鍋に入れ…

インターネットくす玉作った

ステイホームでもくす玉を割りたいということでインターネットくす玉を作った. → https://www.3qe.us/kusudama/index.html オフィスにあつまってくす玉を割ることがなくなってしまったのでインターネットくす玉を作ったhttps://t.co/V4HkBC1LWX https://t.c…

ScalaアプリケーションでScalikeJDBCを使えるようにする + MySQLのセットアップ

サクサク年表君というソフトを趣味でやっている.これは年表をみんなで作れるようにするというプロジェクトで,プロジェクトといいつつ自分しかやっていないのだけれど,一人でチマチマ作っている.今回はScalikeJDBCでDBにつなげるようにしたので,備忘録的…

Bluetoothヘッドホンの調子悪かったけど2.4GHz帯域が干渉していたっぽい

自宅ではリモートワークのためにBoseのQuietComfort 35(QC35)を使っていて,MTGするときは有線のほうが良いのでそっちに切り替えているけれど,MTGしなくてよいときはQC35で音楽を聞いたりしている. で,自宅で作業しているとめちゃくちゃ音が途切れたり,…

チルダ(~)はどうしてホームディレクトリになるのか

たまに忘れてコケたり,周りでも困っている人がいるようだったのでメモ. 追記(2020-09-06T11:25+09:00) この記事では仕組みのほうについて記述しており,由来については書いてなかったのですが,ブコメでホームディレクトリがチルダで表記されるようになっ…

bhyveで動作させているUbuntuのディスクイメージを拡張する

truncateでイメージを拡張し,rescue modeでubuntuを起動した後,growpartとresize2fsを使いました. truncate truncateを使ってディスクイメージ自体をまず大きくする.+100gを間違えて100gにすると悲惨なことになる(100GBに切り詰められる)ので必ずバッ…

RustでDouble-Array Trieの練習した

生きていると,ダブル配列からは逃れられない.ダブル配列作りたいことがあるかもしれない.無人島に漂着したときに正気を保つのに必要かもしれないし,飛行機の中で急に体調を崩した乗客のために,高速検索が必要になるかもしれない. Semper Paratusだ. …

設計の作戦を立てることは枠組みを作ること

とあるプロジェクトの設計と実装とを任されている. こちらもまた数ヶ月規模のPJTなので,まずやらなければならないことは枠組みを作ることである. 数週間・数P-Rで終わるような小さなPJTと,数ヶ月・数十P-Rを要する比較的大きなPJTとではアプローチが異な…

Webアプリケーションエンジニアが自動広告とads.txtについて調べたメモ

最近仕事でads.txtをいじる機会がありました.折角なのでちゃんと調べるかと思い調べたところそこそこの分量になったのでブログに公開することにします. 調べたメモなので誤解や間違った記述があるかもしれません.違っていたらご指摘いただけると幸いです…

PFコマンド(Packer Filter)のルールの基本を復習する

近年は野生の自宅サーバを見る機会も減ってきましたね.環境の変化によるものなのでしょうか. さて,自宅サーバを運用するにあたって避けられないのがファイアウォール,そしてそれを扱うパケットフィルタリングです.有名どころだとiptablesがLinuxまわり…

開発の悩みとコツ / 目の前の問題を正しく解く

TL;DR 良いソフトウェアは,かっこ良い過程で生まれるのではなく,たいてい地味な過程,地味な戦いから生まれてくると心得よ. はい 開発しているとき,うかうかしていると,大きな問題のほうに目が引き摺られてしまう 自分は,このプロダクトにおける正しい…

ログの前月比を出すSQL

雑なタイトルですがやりたいことはこういうことです 時刻timeとなんかいろいろが記録されたログテーブルlogがある timeは秒単位で記録されている 時間単位で丸めてCOUNT(1)して件数を出したい ここまでだったら SELECT date_trunc('hour', date_parse(time, …

勤怠マックスネオを作る その1(おおまかなガジェット設計編)

こんにちは電子工作をやりたくなってきたid:Windymeltです.ところでみんな,勤怠システムがあったら次にすること,みんなは分かるかな?(声: 結月ゆかり) そうだね,自動化だね! と言いつつ当然の事ながら完全自動化はやりすぎです.タイムカード打刻マ…

最近のソフトウェア開発の暮らしぶり

メモなので雑に書いています. キャパシティプランニングした DB Worker Redash 開発もしている 計画もしている キャパシティプランニングした とある事情があってキャパシティプランニングをやったのだが,経験者(id:hitode909)と一緒にやったので大変参…

XMLにパターンマッチを行って値を取り出せたら便利なのではないか

Webスクレイピングをしていて,「こういう構造にマッチしたときのここの文字列を取り出したい」というのはまあよくある話. こういったXMLからデータを取り出す用途においてはXPathを使うのが一般的なのではないだろうか.HTMLであれば,tidyコマンドを使う…

Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?