- 開発
週刊Railsウォッチ(20190319-2/2後編)BrowserStackは優秀、QuarkusとTruffleRubyとJRuby、最近のGPS事情ほか
こんにちは、hachi8833です。Rails Developers Meetupはもう明後日ですね。
いよいよ明後日の開催となったRailsdm 2019ですが、全セッションの質疑応答はAMA(エーエムエー)を通して行います。全セッションの事前質問も投稿可能ですので、気になることはどんどん投稿してみて下さい(シャイなあなたのために匿名投稿も可能にしてます) #railsdm2019https://t.co/8rHbzvm2I0
— Railsdm (@railsdm) March 20, 2019
- 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ
- 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄
- 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください
⚓週刊Railsウォッチ「公開つっつき会」第9回開催のお知らせ
次回の公開つっつき会は4/4(木)です。皆さまのお気軽なご応募をお待ちしております!🙇
RubyKaigi 2019の予習にもぜひどうぞ。
⚓脱線: Webフレームワークよもやま話
今回は秘密のゲストがつっつきに参加してくださいました🙇。
つっつきボイス:「本日はご参加ありがとうございます!😂」「業務コードとかより、某言語作ったりとかそういう方面でして」「教育方面とかですね☺️」「コンパイラのしくみとかそっち方面なら割と得意です💪」「RubyのAST(抽象構文木)なんかも読めそう😆」「😆」
「ウォッチを普段からお読みいただいてるとか?」「あ、実はRailsは10年ぐらい前に研究室でちょっと触ったときに基本的な仕組みは理解したつもりなんですが、今日そういう本を久しぶりに買って読んでみたら基本的な部分は変わってないかなという印象でした☺️」「まあたしかに、アフターRailsというか、Rails出現以降は他のフルスタックなWebフレームワークの多くがRails的なものに集約されてきた感がありますよね😆」
「PHPだとLaravelとかね😆」「Laravelなんかはもろそうで、PHPのコードなのにRailsみたいに見えるし🤣」「ディレクトリ構成もRailsっぽくなったんでしょうか?」「さすがにそこはまだフレームワークによって違うところも多いんですが、rails new
とかscaffold作るみたいな操作はすごく広まってますね」「みんなRailsを真似してるみたいな😆」
「MVCっぽいアプローチも増えてきたとか?」「MVCそのものはRailsよりも前からありますけどね、それこそPHP時代から: ってPHPまだあるけど🤣」「🤣」
「そういえば(Railsで言う)コントローラをビューって呼ぶフレームワークがありますよね」「え?マジで?」「ああありますね☺️」「用語が違う世界があるという」「(Pythonの)Djangoフレームワークとか↓」「まあ大昔のオブジェクト指向勃興期から、VとCってどうしても近寄ってきちゃうものなので😅」「何をどう呼ぶかは、それこそ用語をどう定めるか次第ですし😆」
DjangoではMVTって言うんですね。
きっと無関係ですが、Djangoというと映画「続・荒野の用心棒」で棺桶(中は機関銃)を引きずって登場する主人公を思い出します。そのあまりに強引なキャラ立ちのおかげか、昔の日本漫画でも数え切れないぐらいパクられてました。
あとは、左手の薬指と小指が動かない(!)のに超絶な技巧が冴え渡るロマ系ジャズギタリストのジャンゴ・ラインハルトですね。PythonのDjangoフレームワークの由来はやはりこっちだそうです。この2人の影響か、Djangoという名前には風来坊というか異邦人的なイメージがよく付きまといます。
⚓クラウド/コンテナ/インフラ/Linux/Serverless
⚓Linuxと不揮発メモリ
3/20に大学の研究会でNVDIMMの講演をする予定なんだけど、ここからスタートして3年分書き溜めた話を、40分で全部話すのは非常に難しい。
LinusがIntelに聞いているとかいう話もまだ内容確認できてないし…。Linuxの不揮発メモリ対応について https://t.co/3KnY45XbdT #Qiita
— Yasunori Goto (@YasunoriGoto1) March 12, 2019
つっつきボイス:「Linuxで不揮発性のメモリを使うという話題です」「メモリだけど電源を再投入しても消えないという、最近こういうのが出始めてますね: ハイバネーションなんかもディスク保存が不要になって一瞬で復帰できるみたいな」「名前は忘れちゃったけどいろんな名前がつけられてた覚えが: 今はNVDIMMっていうのか」
「いわゆる主記憶を不揮発性にするというヤツなんですね?」「ですです、これができたらアーキテクチャ的にもいろいろ変わってくるでしょうし」「ACPIの話も記事にあったりするし: 電源管理必要なはずだから当然か」
参考: 主記憶装置 - Wikipedia
参考: Advanced Configuration and Power Interface - Wikipedia
「従来のキャッシュだと効率が悪くなるみたいなことも書かれてますね」「従来ではできなかったような、頻繁に電源をオンオフするみたいな運用も可能になるなんて話もあったし」「お〜」「メモリの上にいろいろ乗せたまま運用できるから、安全に電源を止められれば次に電源を入れた瞬間にreadyになるみたいな🔌」「その代りクロックがずれたりするだろうからそんなに簡単には行かないと思いますが🧐」「なるほど」「だからOS側でも対応が必要とかそういう話になってきたりするし」
「これってどのぐらいの容量が使えるというか、どれぐらいお安くできる感じなんでしょう?💰」「容量とか速度もちょくちょく改善が進んでいるというのを見かけたりしますね」「上の記事みたいな話自体は昔からあるんですが、いよいよ現実的になってきたということだと思います☺️」「OS屋さんが喜びそうな話💡」
「ちょうど最近ArduinoなどのIoT用の小さなコンピュータをいろいろ調べてるんですけど、そちら方面では不揮発性メモリの話題を見かけたことありますね😋」「お〜」「そこでは、OSを介さなくてもプログラムからそうした領域に書き込むみたいなことをやってたりするようです🤓」「
「Arduinoは賢いマイコンというか賢い組み込みデバイスも同然ですが、もしかすると組み込みを長くやってる人から『あれは組み込みなんかじゃねぇ』なんて言われたりして😆」「😆」「たしかに不揮発性ってそういう分野でこそ欲しいでしょうね」「そういうのは本当に数10キロバイトとかの世界ですね」「32KBなんて単位だったりしますね: ちなみに昔ARMのチップ触ってました」「お〜」
「なので上のNVDIMMとやらがどのぐらいの容量いけるのかなって」「あ、そちらはもう普通のPCクラスの容量がいける世界っす」「おぉ😍」「ギガレベル💪」「組み込みとかではない普通のLinuxを運用できるレベル」
「NVDIMMを8GBなり16GBなりを積んで電プチやっても復旧するみたいなことができる?」「あ、そこはまだまだ難しくて、たとえば今のままだとL1キャッシュやL2キャッシュにデータが必ず残ってたりするので、だからOSから変えていかないとということですね🤓」「あ〜、カーネルレベルでも何かしないといけないと」「ファイルシステムだけの話ではないでしょうね」
「いずれにしろこの辺は今後もいろいろ研究されるはずで楽しみ😋」「興味のある人はそれ系の学会(聞き取れず💦)を追いかけてみるといいかも☺️」
⚓GoogleのWeb Risk API
- 元記事: Google rolls out Web Risk API in beta to help businesses protect their users | ZDNet-- Googleの「Web Risk API」
つっつきボイス:「タイトルだけ見るとWAP(Web Application Firewall)的な何かに見えるけど」「Googleがブラックリストベースでやってるみたいで、GCPユーザーでなくても使えるようにするとか」(英語記事冒頭の動画を再生)「記事と関係なさそう、と思ったら広告やった🙃」「ヽ(・ω・)/ズコー」「うごっ、そしてWinノートがフリーズ❄️」
参考: Web Application Firewall - Wikipedia
参考: Safe Browsing – Google Safe Browsing
⚓福大のNTP
flowで解析していると、古いデバイスだけではないというのがよくわかる。日本のAmazon AWSからNTPリクエストパケットが来てるwwww
我々の広報はまだまだたりないすね。#福大NTP
— Tany / たにぃ (@tanyorg) March 12, 2019
福岡大学NTPサーバー、実験的な停止期間が2/28に終了なので、ついでにいろいろ実験。
9:40頃に一旦サービス再開、10:45頃に再度停止してみたら、リクエストパケットはこんな感じ。開けたら急激にリクエストが減少、閉めたらドンと上がって後はじわじわ上がる。今はサービス再開してます。#福大NTP pic.twitter.com/uiueaEsMBq
— Tany / たにぃ (@tanyorg) February 28, 2019
つっつきボイス:「福大のNTPってずっと前からやめるって言ってたけどまだやってたんだ😳」「そうみたいです」「聞くからに、あちこちのサーバーで不具合が起きそうではある😆」「あそこにはめっちゃトラフィックが押し寄せてるらしいし」「いい迷惑ですよね🤣」「🤣」
「でも何らかの社会貢献とかになってないんでしょうかね?」「どうもそうでもないみたいっすよ: 元々野良NTPサーバーとして立ち上げたのが、いつの間にかみんなに使われまくってたみたいな流れらしいし😆」「そういうのって郵政省がやるべきサービスのような気がするんですけど...ってもう郵政省ないし😇」「その辺はNICTがやってるはず↓: これはちゃんとお金かけてやってるはずなので」「お〜やっぱし!」
NICTが公開しているサービスのサイトを見つけました。手作り感あふれるHTMLにほろっときてソースを見てみると、ソースのコメントでまたほろっときました。
参考: NICT 公開 NTP サービス
参考: NICT - トップページ | NICT-情報通信研究機構
「NICTが提供する前から立ってるようなサーバーだと、福大のNTPとか使っちゃってそうですよね」「それで言うと一番ありえるのが組み込みなんですよ」「あー」「もう変えられないみたいな」「というよりそこで動いていることを誰も把握していないというヤツで、そういうのは確実にどこかにありますね」
「NTPのサーバーをメンテしている人の記事をずっと前に読んだことがあるんですが、NTPのパケットだけで100M級の回線がパンクしたとか書かれてましたね😇」「可哀想すぎる...」「そのぐらいトラフィックが多いということで」
⚓その他クラウド
⚓SQL
⚓SQLファイアウォールを構築する(DB Weeklyより)
Cossack Labs社の技術ブログで、同社のAcraという製品を解説している記事です。
つっつきボイス:「キワモノ的な技術なんだろうかと思って」「SQLのファイアウォールってたしかあった: iptablesってMySQLを参照できた気がするし」「ぱっと見ですが、この場合SQLインジェクションを寸前で食い止めるデータベースファイアウォールということみたいです」「あ、ファイアウォールのconfigをSQLでやるんじゃなくて、SQLの中身を見て通すかどうかを決めるみたいな方か」
参考: iptablesをつかって MySQL の接続元をロギング : 元うなぎ屋
「SQLが邪悪かを判断するってそもそもやれるんでしょうか?」「でもまあ邪悪なSQLというと1=1
みたいないかにもな書き方がよく出てきますし😆」「あ〜😆」
「この場合どの辺にSQLファイアウォールが置かれるんでしょうか🤔」「ちゃんと読まないとわかりませんが、WAFでキャッチできないようなものを捉えるならRDBMSの手前のミドルウェアとかそういうあたりに置かれそうですね: もしかすると前から似たようなものがあるのかもしれないけど、こういう保護はそれはそれで悪くない感じ😋」「多層防御というか」
「ここで出た例外をどうやってアプリ側に返すのかというのはありますが😆」「あ〜」「やるとしたらアプリに返したりしないで単に遮断するだけかなと🤔」「そうかもですね: アプリ側からはabortしたように見えれば十分でしょうし」「何にしろアイデアとしては割と筋がよさそう😋」
「記事の後の方に、オープンソースのSQLパーサーに適切なものがなかったのでAcraでは自分たちで拡張したとありますね😆」「ということはRDBMSに依存しないものを作ろうとしてるのか!」「MySQLとPostgreSQLの両方に言及しているあたりがそれっぽいですね」「大変そう😅」
⚓Microsoft SQL ServerのDBAがPostgreSQLのツールでハマった点(DB Weeklyより)
つっつきボイス:「タイトルを見たときにSQL Serverってどれだ?っと思ったらMicrosoft SQL Serverなんですね」「大文字で書いてあるからそうですね☺️」「SQL Serverしかやったことない人がぽすぐれを初めてやってみてハマったみたいな」「DBMSによっていろいろ癖が違うというよくある話😆」「みんなお互いに同じようなことを言い合ってるみたいな😆」
「記事の人はJetBrainsのDataGrip↓はSQLのGUIツールとしてなかなかいいと褒めてますね」「うん、DataGripはいい🥰」「愛用してるんですよね?」「まあそんなに使ってるわけでもないんですが😆、SQLをキレイに整形してくれるところとかが便利」
参考: DataGrip: The Cross-Platform IDE for Databases & SQL by JetBrains
「ところでRDBMSってどんなのをお使いですか?」「実はそういうのをやる機会はほとんどなくて、研究室で少しMySQLを触ったのと、RDBMSごとに方言があることを知ってるぐらいです」「お〜、そうするとデータ保存ってどんな感じでやってるんでしょうか?」「今の環境だとデータはファイルとフォルダで分類して保存するという独自なやり方になってまして」「かなり独特ですね😳」「そうすると高速にできるよ、ということで😆」「たしかにそういうやり方もありですね: ホストがLinuxならほとんどがOSのキャッシュに乗るから速いはずだし、openすれば即取れるから超速いみたいな☺️」「ですです😊」
⚓JavaScript
⚓V8パフォーマンスの落とし穴(JavaScript Weeklyより)
つっつきボイス:「このあたりお詳しそう」「V8って何でしたっけ?」「V8といえばGoogleが作ったChromeのJavaScriptエンジンですね」
- サイト: V8 JavaScript engine
参考: Google V8 JavaScript Engine - Wikipedia
「V8が登場して世界が変わったみたいな話をときどき見かけました」「それ以前のJavaScriptは遅かった🐢」「よくChromeが速いと言われるのは、Chromeが搭載しているV8エンジンが速いのが大きいですね🚅」「今は他のJSエンジンも追いついてきましたが、その意味でV8で世界が変わったという一面はありますね」
「記事もV8のコアの深いところを追求しまくってる感」「アセンブラっぽいものがいっぱい」「こういうのが好きな人にはたまらない記事でしょうね😆」
「私自動車オンチなので、V8がいわゆる自動車とかの8気筒エンジンから来ているって長らく気づかなくて😇」「案外マッドマックス信者が時空を超えて命名してたりなんかして🤣」「なっはっは🤣」「『V8を讃えよ』みたいな🤣」「きっとそうだと思いたい🤣: あんだけV8を連呼するのってマッドマックスぐらいしかないし⛓」「世代的に初代マッドマックスど真ん中だったはずなのに見てなかった😅」 「見ました〜😎」 「見ました〜😎」
スズキのハンドサインがバズっているようですが、ここで少し前にバズったハンドサインを見てみましょう #V8を讃えよ pic.twitter.com/UB7fiYDYJ5
— あお (@aoikaze185) November 3, 2017
⚓CSS/HTML/フロントエンド/テスト
⚓BrowserStack: モバイル端末の「実機」をリモートでテストできるサービス
つっつきボイス:「今日Webチームミーティングで取り上げられてたので早速」「そうそう、BrowserStackはいわゆるブラウザのテスティングサービスなんですけど、なつかしのIE7とかめちゃ古いiOSなんかも動かせますし、何といってもエミュレータではなくて実機をリモートで使えるというのがスゴい」「おぉ〜」
「iOS開発をやってるとわかるんですけど、エミュレータで動かすのと実機で動かすのとでは動作がかなり違ってくるんですよね」「そうですね」「ひどいときはSafariのレンダリング結果まで違ってきたり😆」「😆」「なのでどこかで実機を触らないと検証できない」
「Androidなんかもそうで、たとえばGalaxyって独自仕様だったりするので結局Galaxyで実機テストしないとわからなかったりしますし😢」
「BrowserStackはサイトの背後のどこかに実機があるみたいなつくりなんでしょうか?」「ですです」「だから1つのアカウントで1人しか同時にアクセスできないんでしょうね」「BrowserStackは割といい値段するんですけど、共有しようとすると前の人が押し出されちゃう」
「BrowserStack、自分は結構好き❤️: 移動しながら仕事が多いのでなおさら😆」「会社で1つ使えるとありがたいですよね」「昔やってたプロジェクトも、これがあったら便利だったなって今にして思いました😆」「そうそう、実機を奪い合ったり、誰かがロックしちゃったりとか😆」「iOSの自動アップデートがいきなり動き出しちゃったりとか🤣」「あるある〜🤣」
「VMで立ち上げてDesktop共有とかでつないだりしてましたけど、やっぱり小手先だなと、もっといい方法がないかなって思ってました😭」「この種のサービスは他にもいくつかあるんですが、現時点で調べた限りではこのBrowserStackが実機の種類も多くて実機に準拠している感じですね」「へ〜」「なにしろWindows XPまでありますし: IE6ですよ😆」「すげ〜」「しかもiOSもいろいろあるし、それぞれにインストールされたChromeなんかもテストできるし💪」
「それからもう少し高いプランにするとAPI経由でSeleniumドライバで自動テストもできたりしますし」「おぉ〜」「スクショも自動で撮れます😋」
BrowserStackはSeleniumのスポンサーにも名を連ねていますね。
⚓言語・ツール
⚓Quarkus: Javaの新しいフレームワーク
つっつきボイス:「はてブで話題に上がってたんですが、フレームワークというかVM?」「くわーくす?」「subatomicなJavaという触れ込みの超軽量なJVMみたいだけど、あ、GraalVMと関連しているのか!」「そういえばGraalVMってありましたね」
- サイト: GraalVM
「GraalVMってOracleがやってるんですね」「ぐらーるVM?」「JVMとJITコンパイラをベースにした多言語対応の汎用仮想マシンですって↓」
「そういえばGraalVMって他の言語にも使えるって聞いた覚えあります」「そうそう、記事にもあるけどTruffleをベースにしてる」「えっと、トリュフといえばTruffleRubyでしたっけ」「ですです: TruffleRuby↓というRuby実装もあって、めちゃくちゃ速いんですがRailsは動かないという🤣」「🤣」「🤣」「最近のRubyKaigiにも毎回登場しててアツい速さを誇ってるんですが、Railsが動かないとね〜😅」
- サイト: TruffleRuby
「TruffleRubyはまだライブラリの動的リンクができないのでMySQLなんかのライブラリをまだリンクできないみたいな話を昨年あたりしてたような覚えがあります」「おー」「Javaの世界ではできるんだけど、soを読み込むみたいな動的なリンクができなかったとか何とかでした」「pure Rubyのライブラリならいけると」
「もう来月が次のRubyKaigiなので、そのあたりがまた変わってきているかもしれませんが」「もしかしてRailsが動くようになってたりして🥰」「できるようになったらかなりスゴい」
参考: TruffleRubyを動かしてみた - Qiita
「という感じでつっつきでは聞き覚えのあるキーワードを辿って雑談みたいなことをやってます☺️」「😀」「で、さっきのQuarkusはめっちゃ軽そうなので、それこそコンテナ向きでしょうね🏷」「メモリ使用量13Mとかめちゃ軽いし😳」
「Quarkusはその意味ではAWSのLambdaなんかで動かすのにいいかも😋: LambdaでJavaを動かすと遅いんですが、何が遅いかというとロードが遅い🐢」「😆」「あっためておけば速いんですが、何もないところから毎回読み込もうとするととにかく遅い😆」「このQuarkusぐらい軽量ならやれるかも」「コンテナは、ロードしないといけないライブラリのサイズが大きいとそれだけで不利🧐: だからJavaScriptが流行ったとも言えるし」「JRubyも、いったん起動すると速いけど起動するまでの時間が長いって言われてますね」「CRubyが速いかというとそうでもなかったりしますが😆」「😆」
- サイト: Home — JRuby.org
⚓life: WebAssemblyバイナリをブラウザなしで動かすVM
# 同記事より
# go modulesを有効にする: https://github.com/golang/go/wiki/Modules
export GO111MODULE=on
# 依存関係をvendorフォルダにダウンロードする
go mod vendor
# テストスイートランナーをビルド
go build github.com/perlin-network/life/spec/test_runner
# 公式のテストスイートを実行
python3 run_spec_tests.py /path/to/testsuite
# メインプログラムをビルド
go build
# wasmプログラムを実行
./life -entry 'method' /path/to/your/wasm/program.wasm [param,...]
# Polymerase AOTコンパイルエンジンを有効にしてwasmプログラムを実行
./life -polymerase -entry 'method' /path/to/your/wasm/program.wasm [param,...]
つっつきボイス:「これはGo言語で書かれているんですが、WebAssemblyのバイナリをブラウザなしで動かせるんだそうです」「Webとは一体...😆」「ですよね😆」
同じ記事でWasmExplorerなるものも紹介されていました↓。
⚓その他
⚓4/7にGPSで不具合の可能性
- 元記事: 19.6年周期の“GPS週数ロールオーバー”が4月7日にやって来る。古いGPS機器では不具合が発生する可能性も【地図と位置情報】- INTERNET Watch
- サイト: GPS: The Global Positioning System
つっつきボイス:「これもはてブからで、4/6でGPSのweek numberが一周するんだそうです」「たった20年って...」「ソフトウェア側の対応が必要になると」「1024までとは」「ビット数的にそれが上限なのね」
「GPSといえば、某研究室をお手伝いしてたときにGPSの信号フォーマットを研究したことあったし🚥」「そんなのもやってたんですか😳」「GPSの信号フォーマット、なかなか面白いっすよ😋」
「GPS機器が、GPS衛星の情報をまったく持っていない状態からスタートする場合、最初の30分だか3時間はひたすらlistenして衛星の軌道情報(エフェメリス: Ephemeris)が流れてくるまで待つんですよ」「ふむふむ」「それがやってくると初めて衛星の軌道を捉えられる状態になる🛰: 通常のGPS信号の中にそうした衛星の軌道情報もときどき一緒にやってくるみたいな形になってます」「面白え〜😍」
ephemerisというとephemeral(=短命な)という語に似てるなと思いましたが、どちらもたまたまギリシャ語起源ではあるものの、辞書的には直接の関連はなさそうでした。
「そういえば自分も最近GPSのユニットを買ってきてラズパイにつないだりしてまして、NMEAフォーマット↓でしたっけ、そういうテキスト情報を取ってくるときはそんなに時間かからなかったんですよね」「そうそうNMEA😋: 最近は高速化のためにそのあたりをいろいろやっているんですよ」「じゃ衛星の位置をROMか何かに書き込んでるみたいな」「それです👍」
参考: NMEA 0183 - Wikipedia
参考: GPSのNMEAフォーマット
「最近だとGPSのチップによって違ってたりして、最近はたとえば同時に掴める衛星の個数が増えているので速くなっている、とか」「へぇ〜!」「だからGPSはチップが新しいほど衛星を素早く掴めるし動作も速いし🚀」「精度も上がりそうですね📐」「まさにこういうデータ↓を処理して緯度経度を取り出してGoogleマップに貼るみたいなのをやってました🗺」「わかる〜😋」
# Wikipediaより
$<CR><LF>
MRK,0<CR><LF>
ZDA,123336.8069,17,06,2001,13.0<CR><LF>
GLL,4916.45,N,12311.12,W,225444,A,*1D<CR><LF>[1]
VTG,218.7,T,2.38,H,0.18,V<CR><LF>
SGD,-1.0,G,-1.0,M<CR><LF>
SYS,3T,9<CR><LF>
ZEV,0.28745E-006<CR><LF>
NSV,2,00,000,00,0.0,00.0,00,00,D<CR><LF>
NSV,7,00,000,00,0.0,00.0,00,00,D<CR><LF>
NSV,28,00,000,00,0.0,00.0,00,00,N<CR><LF>
NSV,1,00,000,00,0.0,00.0,00,00,D<CR><LF>
NSV,13,00,000,00,0.0,00.0,00,00,D<CR><LF>
NSV,4,00,000,00,0.0,00.0,00,00,N<CR><LF>
NSV,25,00,000,00,0.0,00.0,00,00,N<CR><LF>
NSV,0,00,000,00,0.0,00.0,00,00,N<CR><LF>
NSV,11,00,000,00,0.0,00.0,00,00,D<CR><LF>
NSV,0,00,000,00,0.0,00.0,00,00,N<CR><LF>
&
「ただ『みちびき』対応のGPS買ったのにそこまで精度は出なかったんですよね: 本当は10cm単位とかやりたかったのに😅」「えっ10cmとかだったらもう軍用レベルじゃないですか?」「まあ民生でもあるにはあるみたいなんですけど、装置がまだまだでかいらしくて😆」
「もしできるようになったら、それこそドローンで畑のうねごとに正確に種まきするみたいなことをやれるでしょうね」「たしかに今のメートル単位だとまだ無理っぽいですね」「まだ無理です😢」
「GPSは天候とかにも左右されるので、カタログスペックで仮に10cm出せても実用は大変かも😅」「たしかに〜」「アンテナも衛星をたくさん掴めば掴むほどいいかというとそうでもないとか、どの信号を信用するのかとかあって、それも含めてGPSはいろいろ面白い☺️」
⚓統計の「シンプソンのパラドックス」
以下のツイートで知りました。
あれ、シンプソンさんってまだご存命だったんだ、、、。先月亡くなられたとのこと。
統計学の不思議として有名なシンプソンパラドクスについて昔ブログを書きましたので、読んで見てください↓https://t.co/eaRDzEoz4Q https://t.co/3YihQClqoA
— KRSK@ハクロンツライ (@koro485) March 13, 2019
つっつきボイス:「シンプソンは統計の偉い人みたいです」「同じデータでも分析の仕方によってまったく矛盾するような結果が得られることがあると」「いろいろ深いですね」「しかも記事によると、シンプソンのパラドックスについていろんな人が言ってることが食い違ってて、シンプソンのパラドックスがシンプソンのパラドックス化してるとか🤣」「🤣」「🤣」「因果関係は難しい」
「でもこうやって式になってるととてもわかりやすいし↓」「ですよね、これならすっと入ってくるし」
「そしてグラフ理論のグラフっぽいものが出てきたし↓」「DAGっていうんですね」「きっとdirectedなんとかグラフ」「有向なんとかグラフみたいな」
参考: 有向非巡回グラフ - Wikipedia -- Directed Acyclic Graph
「トランプにたとえた話もありますね」「薬の話にするともっともらしく響くけどトランプにすると不思議でなくなるみたいな、バイアスに関する話でしょうね: この間ウォッチでも話した『FACTFULNESS』↓にも通じる話かも(買ってまだ読んでないけどっ😆)」
⚓番外
⚓「罰しない」ことの効果
つっつきボイス:「お、例の大物芸能人の😆」「それに関して出てた記事の中でこれに感心しちゃいました」「ペナルティがむしろ事態を悪化させる、みたいなのは米国だととても深刻なので、こういう研究が進んでたりしますよね」「米国は本当に切実ですね」「州ごとにいろんな対応をとってて、所によっては希望する人に提供したりとか」「それを利用してA/Bテスト的に効果を測定する試みもあると聞いたことあります」「税金には限りがあるし、それ以前に刑務所もあふれかえってたりするし」「刑務所、物理的に払底してるみたいですね」
⚓睡眠はやっぱり大事らしい
どひゃー、動物が睡眠を必要とする根源的な理由が明らかになったかも?
起きている間に脳の神経細胞のDNAに蓄積したダメージを、寝ている間に修復。そのとき染色体の移動が活発になる様子を実測!
生きてるゼブラフィッシュの染色体の動きを測定できる時代になったのね。https://t.co/EdyeOF9Suv pic.twitter.com/RzajKXRlI9
— physico (@physico_physio) March 5, 2019
つっつきボイス:「睡眠はやっぱり重要と言ってしまうと身も蓋もない🤣」「😆」「どちらかというと生きている染色体をじかに観察できたことの方がスゴそう」「この染色体の観察結果が睡眠と関連するのかどうかは、それこそさっきのシンプソンのパラドックスじゃないけどこれだけじゃ判断できないだろうし😆」「直感的にはこうだろうまでは言えるけど😆」
今回は以上です。
バックナンバー(2019年度第1四半期)
週刊Railsウォッチ(20190305-2/2後編)PostgreSQL強者から見たMySQL、SEO良記事、分散アルゴリズムChordほか
- 20190304-1/2:前編 Rails 6.0.0 beta2リリース、Ruby 2.7の新しい記法、各種自動レビューツール、ULIDとはほか
- 20190212 EnvoyとIstioに大注目、SQLQLとは、buildkite.comのCI、さよならItanium、PWA vs Androidほか
- 20190204 あってうれしい40のgem、Ruby 2.6.1セキュリティリリース、Hanami v2.0.0.alpha1リリースほか
- 20190128 Rails 6のオートローダーがZeitwerkに置き換わる?Rails 6はRuby 2.5が必須、最近のSQLiteほか
- 20190121 Rails 6.0.0 beta1リリース、Railsは2019年も「あり」か、Jetsでサーバーレス、ES2018の新機能、RSpecの心ほか
- 20190115 Rubyの<=でクラス同士を比較、Rubyの記号の読み方いろいろ、Ruby C API解説サイトほか
- 20190107 Railsのパフォーマンス改善Tips集、Rubyの
&:シンボル
ほか
今週の主なニュースソース
ソースの表記されていない項目は独自ルート(TwitterやはてブやRSSなど)です。