- blogs:
- cles::blog
Ruby 3.0.0 がリリースされてた
ruby しばらくウォッチしていないうちに Ruby 3.0.0 がリリースされていました。
Ruby 2.7 からの変更がいろいろとある*1ので、時間をとって確認する必要がありそうです。
Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。
mysql2 をスレッドセーフに
ruby gem mysql2 をマルチスレッドで使っていたら、以下のようなエラーがでて困ってしまいました。
どうやら mysql2 はスレッドセーフではないことが原因の模様。
いろいろと調べてみたら、MutexLockedQuerying*1というモジュールを書いている人を見つけたので、ちょっと改造して取り込んでみました。元の実装だとクラス変数を使っているのでロックがインスタンス単位ではなく、グローバルにかかってしまうので、インスタンス変数に変更してあります。ロックの粒度的にはこちらの方が望ましいはずです。
gem mysql から mysql2 に移行してみる
ruby
mysql 昔書いた Ruby のプログラムを CentOS 7 上で動かそうとしたのですが、MariaDB が 10.4 と比較的新しいバージョンだったので gem で mysql がインストールできないので困ってしまいました。
mysqlを見ると、最終アップデート日が 2013 年になっていて、最近はメンテナンスされていないようです。このまま粘っても解決の見込みも立たないので、mysql2 に移行してしまうことにしました。
† ソースの書き換えは大きく3箇所
基本的には以下の3箇所を変更してやれば、基本的な動作はするようです。
Date などの部分を自動的に cast する機能がついたようですが、これは :cast => false でオフにしてあります。
CentOS 7 + MariaDB の組み合わせで gem mysql2 がエラーになるときは
ruby
centos7
mysql CentOS 7 に MariaDB をインストールして、Ruby の gem mysql2 実行したらエラーになってしまって困ってしまいました。
エラーメッセージを読む限りリンカのエラーのようなので、もう一度良く MariaDB のインストールを確認したら MariaDB-shared が入っていないのが原因だったようで、以下のコマンド1行で解決でした。MariaDB-devel だけでいけると思っていたのが、勘違いでしたね。
† CentOS 7 への MariaDB のインストール
ハマらないように次回からは以下のような感じでインストールすることにしようと思います。
IPアドレスのリストからCIDR表現を作る(Ruby編)
ruby
networking 大量の IP アドレスの始点と終点の組(例えば 192.168.0.0~192.168.0.255 のようなもの)組を上手に纏めて CIDR 表現を作る必要があったので、Ruby でスクリプトを書いてみました。
IP アドレスの範囲を扱うのに altmetric/ip_ranger 、IP アドレスの集約に ipaddress-gem/ipaddress を使っているので、あらかじめ gem install ip_ranger ipaddress でインストールをしておきます。
コード的にはこんな感じでしょうか。
ip_summarize.rb
実際の実行してみると、こんな感じになります。
IP の範囲は標準入力から1行毎にカンマ区切りで開始,終了のような感じで与えています。
Ruby 2.6 から JIT コンパイルが可能に
ruby JIT コンパイラが搭載された Ruby 2.6.0 の Preview 版が公開されました。
Java やその他の言語と違って、C 言語のソースコードを生成してコンパイルする方法を取るようです。
ちょっとどんな感じで動作するのか気になりますね。
[ruby-dev:50555] Ruby 2.6.0-preview2 Released
Ruby 2.6ではJIT (Just-in-time) コンパイラが導入されました。 JITコンパイラはあらゆるRubyプログラムの実行を高速化することを目的としています。 他言語の一般的なJITコンパイラと異なり、RubyのJITコンパイラはC言語のソースコードをファイルとしてディスクに書き、通常のCコンパイラを用いてネイティブコードに変換することでJITコンパイルを行うという手法を用いています。(参考: https://github.com/vnmakarov/ruby/tree/rtl_mjit_branch#mjit-organization)
ActiveRecord で ROW_FORMAT=DYNAMIC を自動でつけるようにするには
ruby
mysql ActiveRecord でテーブルが CREATE TABLE されるときに、ROW_FORMAT=DYNAMIC を自動的に追加する方法を見つけたのでメモ。
とりあえず RAILS_ROOT で以下のシェルスクリプトを流せば OK です。
† 参考
「Yahoo! 検索スタッフブログ」がひっそりと終了へ
seo
yahoo
eol SEO が花盛りだった頃には良く更新されていたYahoo!検索 スタッフブログが年度末に終了するようです。
Yahoo!検索スタッフブログ終了のお知らせ - Yahoo!検索 スタッフブログ
2005年9月30日からスタートしたYahoo!検索スタッフブログですが、2018年3月31日をもちましてサービスを終了し、Yahoo!検索スタッフブログの役目を終えることにいたしました。
よくみるとこの3年くらいほとんど更新されていなかったようなので、終了もやむなしという感じでしょうか。
Yahoo もすっかり検索エンジンの会社ではなくなってしまっていますしね。。。。
Google が医療や健康情報サイトを狙い撃ち
google
seo
medical 昨年のWELQ問題以来、Google はキュレーションメディアをターゲットにしたと思われる対策を行ったことを発表したりしていましたが、今回は特に変なものが多いと言われている医療や健康に関連するサイトを狙い撃ちにして対策を行ったようです。
Google ウェブマスター向け公式ブログ: 医療や健康に関連する検索結果の改善について
この変更は、医療や健康に関する検索結果の改善を意図したもので、例えば医療従事者や専門家、医療機関等から提供されるような、より信頼性が高く有益な情報が上位に表示されやすくなります。本アップデートは医療・健康に関連する検索のおよそ 60% に影響します。
僕も片頭痛やドライアイがあるので、健康情報をネットで検索することがありますが、変なページが出てくることが多いので、分からないことは結局主治医の先生に聞くのが手っ取り早いという状況になっていました。小さな一歩ですが、はやく検索結果の上位がQ&Aサイトとかまとめサイトだらけな状況をなんとかしていただきたいものです。
Google がキュレーションメディアを狙い撃ち?
google
seo Google がウェブサイトの品質の評価方法に改善を加えたことを公式ブログで公表していました。
検索アルゴリズムの小さな変更自体は定期的に行われていますが、Google があえてアルゴリズムの変更を公にしてくるのは、過去の事例からみても Web サイト運営者や SEO 業者に対する不正行為への強い警告です。今回の対象は DeNAのWELQ問題に始まる一連のキュレーションメディア問題への対策でしょうね。
Google ウェブマスター向け公式ブログ: 日本語検索の品質向上にむけて
今回の変更は、日本語検索で表示される低品質なサイトへの対策を意図しています。このような改善が、有用で信頼できるコンテンツをユーザーに提供する皆さんを、正当に評価するウェブのエコシステム作りの助けとなることを期待しています。
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5064)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4200)
4 . 年次の人間ドックへ(4132)
5 . 2023 年分の確定申告完了!(1つめ)(3989)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]