@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

WiX Toolsetの組み込みダイアログの文言をかえる

多言語化の仕組みがあるのこれをつかいます。 wxl形式のXMLファイルを用意し、ビルド時にコマンドラインオプションで指定すれば変更できます。 文言の変更 例えばWiX チュートリアル 日本語訳 Lesson 2 ユーザー・インタフェイス / 1. 最初のステップにある…

RubyのパターンマッチでFizzBuzz

rustでFizzBuzz - @ledsun blog で、rustのパターンマッチングを使ったFizzBuzzを書いたので、rubyでもパターンマッチ*1でFizzBuzzが書けそうな気がしてきました。 (1..30).each do case _1 in i if i % 15 == 0 p 'FizzBuzz' in i if i % 5 == 0 p 'Buzz' i…

WiX Toolsetで作られているインストーラーたち

msiファイルのプロパティの詳細を見るとプログラム名の欄にmsiファイルを作ったプログラム名が記載されていることに気がつきました。 ダウンロードディレクトリに残っていたmsiファイルを見てみると、結構いろいろなmsiファイルがWiX Toolsetで作られていま…

Passive event listeners

iPadのSafariでタップした瞬間の選択文字列が取得したいです。 mousedownイベントは、文字列選択が解除されてから発火します。 そこでtouchstartイベントを監視することにしました。 するとChromeで見慣れない警告が出てきました。 touchstartイベントを監視…

input type="text"とtextareaをまとめて呼ぶ名前を知らないので、Text Fieldsと呼ぶことにした

こんな感じでアプリケーション独自のコピー処理を実装していました。 document.addEventListener('copy', (clipboardEvent) => { // アプリケーション独自の情報をクリップボードに書き込む clipboardEvent.clipboardData.setData('text/plain', 'こんにちわ…

rustでgrep-lite 2

行番号を出力する機能が増えました。 fn main() { let search_term = "picture"; let quote = "\ Every face, every shop, bedroom window, public-house, and dark square is a picture feverishly turned--in search of what? It is the same with books. …

rustでgrep-lite 1

詳解Rustプログラミング作者:Tim McNamara翔泳社Amazon 「2.9 grep-liteを作る」です。 fn main() { let search_term = "picture"; let quote = "\ Every face, every shop, bedroom window, public-house, and dark square is a picture feverishly turned-…

Ruby on Railsを前提としたナチュラルキーとサロゲートキーの話

若手のWeb系プログラマとナチュラルキーとサロゲートキーの話をしました。 適当なこと言ってないか不安になったのて、調べ直しました。 DB データのサロゲートキー | knooto おおむね SI 系は自然キー派、Web 系はサロゲートキー派の傾向がある とても同意で…

iPad Safariのユーザーエージェント文字列はiPadではないし、なんならIntel入ってるまである

iwb.jp ↑の通りです。 /iPad/.test(navigator.userAgent) || /iPhone/.test(navigator.userAgent) 2週間程前に、こういう条件式を書いて、iPadのGoogle Chromeでちゃんと判別できることを確認して安心していました。 今日試しに、Safariで開いてみたら、iPad…

WindowsでrustupするならVS Codeを終わらせろ

rust 1.58がでたので、rustの環境を更新します。 PS C:\Users\led_l\rust_land\grep-lite> cargo --version cargo 1.57.0 (b2e52d7ca 2021-10-21) PS C:\Users\led_l\rust_land\grep-lite> rustc --version rustc 1.57.0 (f1edd0429 2021-11-29) PS C:\Users…

珈琲サブスクリプション

2012年からつかっていた珈琲豆のサブスクリプションが在庫切れになりました。 www.tonya.co.jp 問い合わせたら、原価高騰につき価格改定中だそうです。 これを機会にちょっとほかのサブスクリプションがどんな感じか比べてみます。 現行の特徴を挙げます。 2…

豚のレバーは加熱しろ(3回目)

豚のレバーは加熱しろ(3回目) (電撃文庫)作者:逆井 卓馬KADOKAWAAmazon 異世界転生した自己評価の低い主人公が、自己評価の低い美少女ヒロインと、セクハラ形式のイチャイチャをしながらゆるゆるとお互い癒やしあうライトノベルらしくライトノベル。 2巻から…

rustでマンデルブロー集合を描く

詳解Rustプログラミング作者:Tim McNamara翔泳社Amazon 「2.7 プロジェクト:マンデルブロ集合のレンダリング」です。 use num::complex::Complex; fn calculate_mandelbrot( max_iters: usize, x_min: f64, x_max: f64, y_min: f64, y_max: f64, width: usi…

12

人間の指は10本しかないのに、なぜ古今東西に干支や十二星座のような12区切りのものあるのでしょうか? https://ja.wikipedia.org/wiki/12 30日周期(月)を12回繰り返すと1年になる。 月の満ち欠けが観測できれば、一年がわかるようです。 記録さえできれば…

ゴブリンスレイヤー 12

ゴブリンスレイヤー 12巻 (デジタル版ビッグガンガンコミックス)作者:蝸牛くも(GA文庫/SBクリエイティブ刊),黒瀬浩介,神奈月昇スクウェア・エニックスAmazon 神官ちゃんをリーダーにーしてのゴブリン退治、新米リーダーはパーティーを導けるのか? この…

Microsoft Visual Studio Installer Projects

いまさらWiX Toolsetの競合の存在に気がつきました。 Visual Studio Installer Projects and .NET 6.0 | Microsoft Docs Microsoft Visual Studio Installer Projects - Visual Studio Marketplace 【.NET Core対応】Visual Studio 2019でインストーラを作成…

cargo-edit

詳解Rustプログラミング作者:Tim McNamara翔泳社Amazon 2.7 プロジェクト:マンデルブロー集合のレンダリングのサンプルプログラムを動かしたいです。 numというクレートを使うようです。 rustにはクレートと呼ばれるJavaScriptでのnpmパッケージのようなも…

ダンジョン・シェルパ 迷宮道先案内人 5

ダンジョン・シェルパ 迷宮道先案内人(5) (シリウスコミックス)作者:刀坂アキラ,加茂セイ講談社Amazon パーティ本体と別れてしまった主人公と軽戦士の2人だけでダンジョン最深部を生き延びられるのか?ここにきて「組織の中で」パターンに分岐してきまし…

rustでFizzBuzz

詳解Rustプログラミング作者:Tim McNamara翔泳社Amazon の、2.4 フロー制御を読みました。 Rangeみたいな記法があったり、関数の最後の式のreturnが省略できたりRubyみたいです。 switch-case はなくパターンマッチングだけがあるそうです。 獲得した知識を…

rustを味見する 7

今回はスレッドのレースコンディションを検出する例です。 use std::thread; fn main() { let mut data = 100; thread::spawn(|| { data = 100; }); thread::spawn(|| { data = 100; }); println!("{}", data); } これをcargo runすると次のようにどどっとコ…

rustを味見する 6

1.6.1 Rustの目標:安全性 詳解Rustプログラミング作者:Tim McNamara翔泳社Amazon の15ページのサンプルプログラムです。 #[derive(Debug)] enum Cereal { Barely, Millet, Rice, Rye, Spalt, Wheat } fn main() { let mut grains: Vec<Cereal> = vec![]; grains.pus</cereal>…

cargo init

ディレクトリがすでにある状態でcargo newするとエラーになります。 cargo newのエラー エラーメッセージに従い、cargo initを使います。 すでにあるディレクトリの中にrustのパッケージ開発環境を作れます。 cargo initを実行したところ 次のようにパッケー…

color.js の謎のissue

Javascriptingに見慣れないissue Project may have been compromised. Large amount of ASCII art instead of lesson · Issue #327 · workshopper/javascripting · GitHub が作られました。 参照されている issue Zalgo issue with `v1.4.44-liberty-2` rele…

設計ドキュメントを書いている 2

設計ドキュメントを書いている - @ledsun blog につづいて、設計ドキュメントを書いています。 docs.google.com これから作る機能は大体わかっています。 しかし、複数のコンポーネントにまたがる機能追加です。 どういう順番で実装していくのが安全か、なか…

カット対象要素をマーキングするタイプのカットアンドペーストで、続行不能になったときのマーキング解除タイミング

複数エディタ間でのコピーアンドペーストを実現するためにシステムクリップボードを使っています。 カットアンドペーストも出来るようにしたいです。 ただし、このカットはテキストエディタとはちがい、カット操作したときはカットは行わずにマーキングだけ…

ユーザーエージェント文字列の扱いやすいAPIはあるのか?

ledsun.hatenablog.com 先月ぐらいからユーザーエージェント文字列をみて、端末の判別をしはじめました。 AndroidとかiPadとかiPhoneとか特定の文字列が含まれるかだけチェックしています。 ユーザーエージェント文字列を扱うAPIは、汎用的な設計ができるも…

.NET 6に挨拶する

次のメッセージボックスを表示するだけのアプリケーションです。 表示するメッセージボックス Visual Studio 2022で、新しいプロジェクトを追加して「Windowsフォームアプリ」を選びます。 .NET Frameworkのバージョンは6にします。 Program.csの内容を次の…

クマ撃ちの女 6

クマ撃ちの女 6巻【電子特典付き】 (バンチコミックス)作者:安島薮太新潮社Amazon 主人公は本を書いてそれなりに売れ当初の目的を果たした。 再び女猟師を訪ね取材を再開した彼は何を見つけるのか? 「バカの勝利」パターンなんですかねえ? Kindle unlimite…

ソード・ワールドRPGリプレイ集バブリーズ編4 バブリーズ・フォーエバー

ソード・ワールドRPGリプレイ集バブリーズ編4 バブリーズ・フォーエバー (富士見ドラゴンブック)作者:清松みゆき/グループSNEKADOKAWAAmazon あっさりと終わってしまった。 TRPGのリプレイだからキャラがインフレしすぎると「TRPG入門者の手引き」という…

rustを味見する 5

CSVを操作するプログラムを改造してみます。 細かい操作はよくわからないので、数値を2倍にして出力してみます。 fn main() { let penguin_data = "\ common name, length (cm) Little Penguin, 36 Yellow-eyed Penguin, 65 Fiordland Penguin, 76 Invalid, …