Gitで間違ったコミットをリモートリポジトリに push してしまった後に、それを無かったことにするには、リモート側での作業が必要だと思っていたのですが、ローカルからの操作でもできることがわかったので備忘録的に書いておきます。 次の状態にあるとします。アルファベットはコミットだと思ってください。 リモート: A-B-C master ローカル: A-B-C-D masterローカルで変更を加えてDの状態になっています。 git push すると次のようになるのですが、 リモート: A-B-C-D master ローカル: A-B-C-D masterここで、D は間違いだったと気づきました。 リモートリポジトリの master のバックアップ用のブランチを作ります。これは必須ではありませんが、念のため。 % git push origin master:master_bakこれで次の状態に
まとめ USB 接続の ThinkPad トラックポイントキーボードで、半角/全角 を Esc、CapsLock を Ctrl として使うには、/etc/udev/hwdb.d/10-tmtms.hwdb というファイル(ファイル名は何でもいい)を次の内容で作って: evdev:name:Lenovo ThinkPad Compact USB Keyboard with TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn* KEYBOARD_KEY_70035=esc KEYBOARD_KEY_70039=leftctrl 次のコマンドを実行する: % sudo udevadm hwdb --update % sudo udevadm trigger 以下は調査とかなので読まなくてもいい 30年くらい Emacs を使ってたんだけど、そろそろ VSCode
MySQL で max_allowed_packet を超過した場合にどうなるんだっけ…と思って試してみた結果。 サーバーの max_allowed_packet をクエリが超過した場合 MySQL 5.6 サーバー起動 % docker run --name mysql56 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql:5.6 --max-allowed-packet=100000 クライアントは原因がわからないけど切断される % ruby -e 'puts "set @a="+"1"*1000000' | docker exec -i mysql56 mysql ERROR 2006 (HY000) at line 1: MySQL server has gone away サーバー側はログ出力なし % docker logs mysql56 .
自分は全然気にしたことなかったんだけど、MySQL の NOW() と SYSDATE() は異なるらしい。 sakaik.hateblo.jp MySQL 8.0 のマニュアル (https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_sysdate) にも確かにちゃんと書かれてる。 SYSDATE() returns the time at which it executes. This differs from the behavior for NOW(), which returns a constant time that indicates the time at which the statement began to execute. (Within a stored fun
Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ
新元号が「令和」に決まったことなので、MySQLでの扱いについての話を。 普通の文字 「令」も「和」もJIS第一水準に含まれている基本的な文字なので普通に日本語が使用できるcharsetで使用できます。 mysql> create table t ( utf8mb4 varchar(255) charset utf8mb4, utf8mb3 varchar(255) charset utf8mb3, utf16 varchar(255) charset utf16, utf32 varchar(255) charset utf32, cp932 varchar(255) charset cp932, eucjpms varchar(255) charset eucjpms, sjis varchar(255) charset sjis, ujis varchar(255) charset
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_restrictions=permit_sasl_authenticated,reject /etc/postfix/main.cf smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes smtpd_sasl_security_options = noanonymous /et
こんなツイートを見かけたので文字化けを直してみました。 譁�ュ怜喧縺代@縺。繧�▲縺溘ヤ繧、繝シ繝医@縺ヲ縺ソ縺溘¢縺ゥ縲√≧縺昴□繧医��√▲縺ヲ縺薙�譁�ュ怜喧縺題ァ」隱ュ縺励※縺上l繧倶ココ縺�k縺ョ縺九↑縲ゅ>縺溘i諢滓ソ縲ゅ%繧瑚ェュ繧薙□繧医�縺」縺ヲ莠コ縲碁ィ吶&繧後↑縺九▲縺溘崎ソ比ソ。縺雁セ�■縺励※繧九— LINE RECORDS (@LINE_RECORDS_JP) July 26, 2018 見た感じ、UTF-8をシフトJISとして表示したときのようなので、ツイートをコピペしたファイルをシフトJISに変換してみます。 % ruby -e 'p File.read("mojibake.txt").encode("cp932", undef: :replace).force_encoding("utf-8")' "\xE6\x96?\xAD\x97化けしち\xE3\x8
この前、まつもとりーさんに自分でも忘れていたpostfix-mrubyというのを発掘されて、 Postfix-mruby最高!— 松本 亮介 / まつもとりー (@matsumotory) 2018年2月22日 これによって、前に作ろうと思ってそのまま忘れてたものを思い出したので、作ってみました。 github.com こんなプログラムを /usr/lib/postfix/sbin に置いておいて、 require 'postfix_daemon' PostfixDaemon.start do |socket, addr| while s = socket.gets socket.puts s.update end end Postfix の master.cf にテキトーに書くと、ポートにアクセスがあると Postfix の master(8) に起動してもらえます。 まあ master
タイトルで出落ち感がありますが…。 naruby で時間があまった時のために用意してあったのですが、時間が余らなかったので発表しなかった小ネタです。ここで公開して供養します。 Rubyはほぼすべてがオブジェクトです。 クラスもオブジェクトです。オブジェクトということはクラスがあります。オブジェクトのクラスはオブジェクトの class メソッドで調べられます。 class Hoge end Hoge.class #=> Class Hoge クラスのクラスは Class であることがわかりました。 つまり「クラスはClassクラスのインスタンス」ということです。 クラスがClassクラスのインスタンスということは、Class.new すればクラスが作成されるわけです。 a = Class.new #=> #<Class:0x00560d27bf2108> Hoge = a #=> Hoge
11/28 に Haskell で MySQL の Xプロトコルを実装したという話が聴ける Club MySQL というイベントがあったので参加してきました。 clubmysql.connpass.com MySQLのプロトコルの話ということで、平日の夜とは言え東京で参加者9人(発表者含む)というマニアックな集まりでした。 自分も1年前に Ruby で MySQL Xプロトコルを実装していたのですが、このツイートを最後に中断していたのでした。 MySQL X Protocol で Collection の追加はできるようになったが、検索がめんどくさい。条件文字列のパースはクライアントで行う必要があるんだな。— とみたまさひろ💎🐬 (@tmtms) 2017年2月20日 今回話を聞いて、無理に謎条件式文字列をパースするんじゃなくて、処理系で書きやすいように書けばいいんだという方式に目から
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く