sleep infinity で無限に待つ

何もしないで無限に待ち続ける pause(2) みたいなことをするコマンドが無いかなーと探したけど無さそうで、sleep は秒数指定しないといけないのがいまいちなんだけど、まあ sleep 99999999999999 みたいなことすればいいんだけど、それもかっこ悪いなーと思…

MySQLと「令和」その2

MySQLでは異なる字が等しいと見なされることがあるということを書きました。 tmtms.hatenablog.com この動きはMySQLが独自に変なことをしているわけではなく、Unicodeの規則に従っています。 MySQL 8.0 のデフォルトのCollationは Unicode 9.0.0のUnicode Co…

MySQLと「令和」

新元号が「令和」に決まったことなので、MySQLでの扱いについての話を。 普通の文字 「令」も「和」もJIS第一水準に含まれている基本的な文字なので普通に日本語が使用できるcharsetで使用できます。 mysql> create table t ( utf8mb4 varchar(255) charset …

Ubuntu で Postfix の SMTP AUTH を設定して fail2ban で認証に失敗したIPアドレスをブロックする

Ubuntu 18.04 の Postfix で次のようにして SMTP AUTH を有効にしました。 /etc/postfix/master.cf submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_sasl_auth_enable=yes -o smtpd_recipient_restrictions= -o smtpd_relay_re…

Firefoxの設定

Firefox環境が壊れたり、新しい環境でFirefoxを使い始めたりするとき用のメモ: Firefox 64.0.2 about:config userChorme.css アドオン Brief Close current tab Hatna Bookmark ロケーションバーから新しいタブを開く ツリー型タブ 外観 コンテキストメニュ…

ThinkPad でタッチパッドに触れているとボタンイベントを取りこぼす問題

二年くらい前に、トラックパッドに二本以上の指が触れているとかなりの確率でボタンのクリックイベントを取りこぼしてしまうというのを書いたんですが、最近の Linux では簡単に解決できるみたいです。 Twitter で教えてもらいました。 元ツイート的にかなり…

Ruby 2.6 の変更点 - Matrix, RSS, その他, おわり

Ruby2.6アドベントカレンダーの25日目の記事です。 qiita.com 最終日になってしまいました。順調にいけばきっと本日 Ruby 2.6 がリリースされるはずです 最近の変更や、あまり興味のないものやよくわかってないものが残ったのでざっくりと紹介。 Matrix Mat…

Ruby 2.6 の変更点 - Coverage

Ruby2.6アドベントカレンダーの24日目の記事です。 qiita.com Coverage Coverage.start に :oneshot_lines キーワード引数追加 Coverage.result に :stop, :clear キーワード引数追加 Coverage.line_stub 追加 Coverage https://bugs.ruby-lang.org/issues/1…

WSL で Ubuntu デスクトップ環境を作ってみる

会社のPCはWindowsしか使えないのが残念。残念なので、WSL を使って Ubuntu デスクトップ環境を試行錯誤しながら作ってみました。個人的な好みによりディストリビューションは Ubuntu MATE です。

Ruby 2.6 の変更点 - Net, ERB

Ruby2.6アドベントカレンダーの23日目の記事です。 qiita.com Net Net::HTTP に write_timeout 追加 Net::HTTPClientException が追加され、Net::HTTPServerException は非推奨 ERB ERB.new に :trim_mode と :eoutvar キーワード引数追加 erb コマンドの -S…

Ruby 2.6 の変更点 - URI, Set, Bundler

Ruby2.6アドベントカレンダーの22日目の記事です。 qiita.com URI URI::File 追加 Set Set#filter! 追加 Bundler Bunderが標準ライブラリに追加 URI URI::File 追加 https://bugs.ruby-lang.org/issues/14035 2.5 までは file: で始まる文字列をパースすると…

Ruby 2.6 の変更点 - Binding, flip-flop

Ruby2.6アドベントカレンダーの21日目の記事です。 qiita.com Binding Binding#source_location 追加 flip-flop 非推奨 Binding Binding#source_location 追加 https://bugs.ruby-lang.org/issues/14230 binding のファイル名と行番号を返します。 1: def ho…

Ruby 2.6 の変更点 - Numeric, BigDecimal

Ruby2.6アドベントカレンダーの20日目の記事です。 qiita.com Numeric Numeric#step が Enumerator::ArithmeticSequence オブジェクトを返す BigDecimal BigDecimal.allocate 削除 BigDecimal オブジェクトが frozen BigDecmial.new が非推奨 BigDecimal() …

Ruby 2.6 の変更点 - ENV, Struct, Random

Ruby2.6アドベントカレンダーの19日目の記事です。 qiita.com ENV ENV.to_h にブロックを渡すとキーと値を変換できる Struct Struct#to_h にブロックを渡すとキーと値を変換できる Struct#filter 追加 Random Random.bytes 追加 ENV ENV.to_h にブロックを渡…

Ruby 2.6 の変更点 - Time

Ruby2.6アドベントカレンダーの18日目の記事です。 qiita.com Time タイムゾーンサポート 東京五輪時間 Time タイムゾーンサポート https://bugs.ruby-lang.org/issues/14850 Time.new とか Time#getlocal は UTCからの時差を文字列("+09:00"等)か数値(秒数)…

Ruby 2.6 の変更点 - RubyVM::AbstractSyntaxTree

Ruby2.6アドベントカレンダーの17日目の記事です。 qiita.com RubyVM::AbstractSyntaxTree RubyVM::AbstractSyntaxTree Ruby スクリプトを解析して抽象構文木を作成するクラスが追加されました。 RubyVM::AbstractSyntaxTree.parse は引数の文字列をパースし…

Ruby 2.6 の変更点 - String

Ruby2.6アドベントカレンダーの16日目の記事です。 qiita.com String Unicode 11 対応 String#crypt が非推奨 String#split がブロックをイテレータとして使用する String Unicode 11 対応 https://bugs.ruby-lang.org/issues/14802 String#crypt が非推奨 h…

Ruby 2.6 の変更点 - Object と NilClass

Ruby2.6アドベントカレンダーの15日目の記事です。 qiita.com Object Object#=~ が非推奨 NilClass NilClass#=~ 追加 Object Object#=~ が非推奨 https://bugs.ruby-lang.org/issues/15231 Object#=~ があり、それが常に nil を返すためにプログラムのミスを…

Ruby 2.6 の変更点 - Range

Ruby2.6アドベントカレンダーの14日目の記事です。 qiita.com Range Range#step が Enumerator::ArithmeticSequence オブジェクトを返す Added Range#% 追加 Range#=== が #include? だけではなく #cover? も使う Range#cover? が Range オブジェクトも受け…

Ruby 2.6 の変更点 - Module

Ruby2.6アドベントカレンダーの13日目の記事です。 qiita.com Module Module#method_defined?, Module#private_method_defined?, Module#protected_method_defined? で継承されたものを含むかどうかを指定可能 Module Module#method_defined?, Module#privat…

Ruby 2.6 の変更点 - Method と Proc

Ruby2.6アドベントカレンダーの12日目の記事です。 qiita.com Method Method#<<, Method#>> 追加 Proc Proc#<<, Proc#>> 追加 Method Method#<<, Method#>> 追加 https://bugs.ruby-lang.org/issues/6284 このメソッドオブジェクトと他のメソッドやProc等(#c…

Ruby 2.6 の変更点 - KeyError, NameError, NoMethodError

Ruby2.6アドベントカレンダーの11日目の記事です。 qiita.com KeyError KeyError.new に :receiver, :key オプション追加 NameError NameError.new に :receiver オプション追加 NoMethodError NoMethodError.new に :receiver オプション追加 KeyError KeyE…

Ruby 2.6 の変更点 - IO

Ruby2.6アドベントカレンダーの10日目の記事です。 qiita.com IO ファイルオープン時のモードに x 追加 IO ファイルオープン時のモードに x 追加 https://bugs.ruby-lang.org/issues/11258 ファイルを作成用にオープンするには w を指定しますが、これはファ…

Ruby 2.6 の変更点 - Exception

Ruby2.6アドベントカレンダーの9日目の記事です。 qiita.com Exception Exception#full_message に :highlight, :order オプション追加 Exception Exception#full_message に :highlight, :order オプション追加 https://bugs.ruby-lang.org/issues/14324 2.…

Ruby 2.6 の変更点 - TracePoint

Ruby2.6アドベントカレンダーの8日目の記事です。 qiita.com TracePoint TracePoint#parameters 追加 TracePoint#enable に :target, :target_line キーワード引数追加 TracePoint TracePoint#parameters 追加 https://bugs.ruby-lang.org/issues/14694 メソ…

Ruby 2.6 の変更点 - Kernel

Ruby2.6アドベントカレンダーの7日目の記事です。 qiita.com Kernel Kernel#then 追加 Kernel#Complex, Kernel#Float, Kernel#Integer, Kernel#Rational に :exception オプション追加 Kernel#system に :exception オプション追加 Kernel#system と Kernel#…

Ruby 2.6 の変更点 - Enumerator と Enumerable

Ruby2.6アドベントカレンダーの6日目の記事です。 qiita.com Enumerator Enumerator#+, Enumerator#chain 追加 Enumerator::ArithmeticSequence 追加 Enumerator::Lazy#filter 追加 Enumerable Enumerable#chain 追加 Enumerable#to_h にブロックを渡すとキ…

Ruby 2.6 の変更点 - Hash

Ruby2.6アドベントカレンダーの5日目の記事です。 qiita.com Hash Hash#merge, merge!, update が複数の引数を受けつける Hash#to_h にブロックを渡すとキーと値を変換できる Hash#filter, Hash#filter! の追加 Hash Hash#merge, merge!, update が複数の引…

Ruby 2.6 の変更点 - Dir, File, FileUtils

Ruby2.6アドベントカレンダーの4日目の記事です。 qiita.com Dir Dir#each_child, Dir#children 追加 Dir.glob で \0 が非推奨 File File.read, .binread, .write, .binwrite, .foreach, .readlines が | で始まっていても外部コマンドを実行しない FileUtil…

Ruby 2.6 の変更点 - Array

Ruby2.6アドベントカレンダーの3日目の記事です。 qiita.com Array Array#union 追加 Array#difference 追加 Array#filter, Array#filter! 追加 Array#to_h にブロックを渡すとキーと値を変換できる Array Array#union 追加 https://bugs.ruby-lang.org/issu…