@ledsun blog

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

RubyのDateからTimeへ移行する道程、いまここ

RubyKaigiでRubyの改善のために、次の協力が求められていました。 youtu.be RubyのDateライブラリーのメンテナンスが行われていません。 Dateと同じ機能がほとんどTimeで提供されています。 strptime, parseなどはDateの機能が残っています。 この機能をTime…

nbodyのチューニング

benchmarksgame-team.pages.debian.net のスクリプトをチューニングします。 特に知見はないので、思いついた色々なパターンを試して、雰囲気を掴んでみましょう。 ソースコードはURLのみ載せます。 変更前 https://github.com/ledsun/nbody/blob/main/hoge.…

Ruby 3.0のJITの特性

Ruby 3.0のJITのすごさを体験する - @ledsun blogのスクリプトは引数で計算回数を指定することができます。 5000万回計算するとJITありはなしの2倍近い速度になりました。 施行回数を減らすとどうなるでしょうか? ~ time ruby hoge.rb 500 -0.169075164 -0.…

Ruby 3.0のJITのすごさを体験する

Benchmarks Game(旧Shootout)のn-bodyのRubyコードを18%高速化しておきました! @yukihiro_matz #rubykaigiRuby #2 が従来のバージョン(232.08秒)、Ruby #3 が自分の改善版(188.10秒)ですhttps://t.co/nmzuNtYnuX— Yusuke Endoh (@mametter) September…

文章中のサンプルコードが壊れていませんか?

ドキュメントにサンプルコードを書くことがありますが、しばしば壊れていることがあります。 読む方からすると、ちゃんとチェックして欲しいと思いますが、 書く方からすると、文章のどこにスクリプトがあるか探すのも大変だし、それをいちいち動かして確認…

Rails 7 のリリーススケジュールの目標

https://github.com/rails/jsbundling-rails/issues/16#issuecomment-918439258 Rails 7 is going to ship an alpha as soon as this week. Then probably the first beta within a month. Maybe quicker. And then final 1-2 months after that. So let's s…

sprockets-css-purgerのAPIを考えるために、tailwindcssとPurgeCSSの境界を考える

sprockets-css-purgerの姿を想像する - @ledsun blogの続きです。 tailwindcssからPurgeCSSを呼び出している箇所 https://github.com/tailwindlabs/tailwindcss/blob/v2.2.15/src/lib/purgeUnusedStyles.js#L188-L220 const purgeCSS = new PurgeCSS() purge…

sprockets-css-purgerの姿を想像する

DHHはsprockets-css-purgerというCSSをパージするための汎用的なGemが欲しいようです。 github.com This is btw and open invitation to anyone who'd like to work on this とありますので、誰がやっても良いようです。ところで、このbtwってどういう意味…

npm auditは有益なのか?

体感として、npm auditが出してくる警告は、利益より手間の方が多いように感じてはいます。 とはいえセキュリティに関わることなので、手間でも対応しなきゃなあと、頑張って対応しています。 僕自身は、主にアプリケーションのメンテナンスだけなので、それ…

今日のDHH

DHHのGithub上の活動から気になったものをピックアップします。 Exception thrown when log level is set by environment variable · Issue #262 · ruby/debug · GitHub 11: from /Users/dhh/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/debug-1.0.0/li…

Rails 7のデバッガ は byebug から ruby/debugになる

ruby-jpのslackでmrknさんが次のissueを紹介していました。 github.com 最初にこのissueを見たときは今から移行しようか迷っているのかと思いました。 Railsのコミットをあさったら、もう少し、と言っても18時間ぐらい前に、次のissueがありました。 github.…

めがね

めがね小林聡美Amazon 2007年の映画。 南の島で旅行者が妖怪じみた登場人物に囲まれてのんびりする話です。 市川実日子がかわいかった。 怒ってても笑ってても笑顔でもかわいかった。 前から見ても後ろから見てもかわいかった。 動いても止まってもかわいか…

Rails 7でJavaScriptバンドラーとCSSプロセッサを同時に起動するときはforemanを使うらしい

jsbundling-railsとcssbundling-rails両方に修正が入りました。 Add bin/dev via foreman to run multiple processes · rails/jsbundling-rails@91d8d2b · GitHub Add bin/dev to run multiple processes · rails/cssbundling-rails@1ed4dc5 · GitHub ポイン…

cssbundling-railsの誕生

github.com jsbundling-railsのCSSプロセッサ版です。 jsbundling-railsのissueでJavaScriptバンドラー以外をサポートしないのか聞かれてDHHは次のように答えました。 https://github.com/rails/jsbundling-rails/issues/4#issuecomment-914039291 Although …

ゲート 自衛隊 彼の地にて、斯く戦えり19

ゲート 自衛隊 彼の地にて、斯く戦えり19 (アルファポリスCOMICS)作者:竿尾悟,柳内たくみアルファポリスAmazon 前半が、自衛隊の特殊部隊、特戦群が拉致された日本人を救出して脱出するお話。 後半が普段はトリックスター役を演じる竜人間の亜神ジゼルがア…

jsbundling-rails

github.com esbuild-rails - @ledsun blogで紹介したesbuild-railsの後継Gemです。 最初は次の2つのGemのようにバンドラー毎に、別々のGemとして作られていました。 https://github.com/rails/esbuild-rails https://github.com/rails/rollupjs-rails 三つ統…

女だって時間停止できるんだからっ!

女だって時間停止できるんだからっ!(1) (ヤングキングコミックス)作者:さんりようこ少年画報社Amazon AVにある「時間停止」というジャンルを男女逆にしたらどうなるか?という漫画です。 ネタとにしては出落ちになるのでしょうか? 結果的には、性の知識に…

洞窟王からはじめる楽園ライフ ~万能の採掘スキルで最強に!?~

洞窟王からはじめる楽園ライフ ~万能の採掘スキルで最強に!?~ 1 (MFC)作者:出店 宇生KADOKAWAAmazon スペック低めの主人公が未開の地に追放されたら才能を開花して活躍する漫画です。 採掘スキルというのが新しい点でしょうか。 わりとのんびりした漫画で…

Rails 7のフロントエンド政策

world.hey.com DHHからご神託がありました。 僕の理解は次の通りです。 一番のオススメはHotwireとimport maps。HEY(Gmailクローン)も作れるし大抵のWebアプリケーションはこれでいける JavaScriptをバンドルしたい人はesbuild/rolllup/webpackの好きなも…

HTMLのscriptタグのdefer属性

HTMLのscriptタグにdefer属性があります。 これを使うと何が嬉しいのでしょうか? スクリプトがDOM構築に与える影響 スクリプトはdocument.write を実行してHTMLを操作することが許されています。 このため、ブラウザは<script>タグを見つけると、DOM構築を一度停止…

echoするAngularJSアプリケーションを新Angularの環境で動かす

Angularには、AngularJSからの移行を支援するための@angular/upgrade/staticがあります。これを使ってみましょう。 まず、Angular CLIで新Angularの環境を作ります。 次のように簡単なAngularJSアプリケーションを組み込みます。 <html lang="en"> <head> <meta charset="utf-8"> <title>MyApp</title> <base href="/"> </base></meta></head></html>

esbuild-rails

DHHが空のRailsアプリケーションにesbuildをインストールするGemを作りました。 中身を見てみます。 GitHub - rails/esbuild-rails: Bundle and transpile JavaScript in Rails with esbuild You develop using this approach by running esbuild in watch m…

PPLサマースクール2021

ss2021 - 日本ソフトウェア科学会 プログラミング論研究会 (JSSST-SIGPPL) (Special Interest Group on Programming and Programming Languages) に参加というか、視聴しました。 例えば、あるHTML要素の上にマウスカーソルがあるときに マウスの左ボタンを…

地獄の教頭 6巻

地獄の教頭 6巻 (デジタル版ヤングガンガンコミックス)作者:大沼良太スクウェア・エニックスAmazon ホラーとして読まないと怖い漫画です。 「殺し屋1」見たいな変態サイコさん同士のバトルが見所です。 変態Aの凶行 変態Bの凶行 ここから「地獄先生ぬ~べ~…

Angular CLI

Angularの開発環境はRuby on Railsと同じくらい複雑です。 最小でindex.htmlファイル1つで動かせるAngularJSと比べると驚きです。 このような環境を手動で作るのは大変なので、自動的に作成してくれるコマンドがあります。 これがAngular CLIです。 Ruby on …

ひとりぼっちの異世界攻略 8

ひとりぼっちの異世界攻略 8 (ガルドコミックス)作者:びび,五示正司オーバーラップAmazon この漫画ではタイトル画像が話の中の一コマになっています。 タイトル画像が作中の場面になっている 見開きだと違和感がないのですが、1ページずつ読んでいると、この…

echoするAngularJSアプリケーション

See the Pen とてもシンプルなAngularJSアプリケーション by shigeru.nakajima (@ledsun) on CodePen. AngularJSはng-app属性が付いたHTML要素に対して機能を追加していきます。 ng-app属性をつける代わりに、次のようにangular'bootstarp関数に対象のHTML要…

Google ChromeのSimulate mobile devicesのタッチ操作が無効になるのはいつか?

Google Chormeでは、スマートフォンなどでの見た目を確認するのに便利なSimulate mobile devicesという機能があります。 この機能を有効にすると、タッチ操作が有効になります。 例えば次のJavaScriptの式で、タッチ操作が有効であるか確認できます。 'ontou…

AngularのplatformBrowserとplatformBrowserBynamicの違い

stackoverflow.com チェックが付いているAnswerは嘘情報です。 その下が正解です。 platform-browser-dynamicとplatform-browserの違いは、angularアプリのコンパイル方法です。 dynamic platform を使用すると、angular は Just-in-Time コンパイラをアプリ…

教会務めの神官ですが、勇者の惨殺死体転送されてくるの勘弁して欲しいです

教会務めの神官ですが、勇者の惨殺死体転送されてくるの勘弁して欲しいです 1巻 (デジタル版ガンガンコミックスUP!)作者:夏川優希,タナカトモスクウェア・エニックスAmazon ドラゴンクエストの「勇者一行が全滅するとなぜか教会で復活する」設定を教会や…