ブックマーク / blog.tmtms.net (39)

  • [追記あり]Mac のここがダメ - tmtms のメモ

    追記したよ! 注意 Mac にもいいところはあるけど書いてない Windows の方がいいとは言ってない ハード / MacBook Pro 14インチ 会社から貸与されているのは MacBook Pro 14インチなのでそれについて。他のは知らない。 JIS キーボード キーボードは US でも JIS でも選べたんだけど、慣れてるので JIS を選択した。 そしたら変な配列のキーボードだった。「1」の左にキーが無い。数字キーの列が全体的に左によってる。「1」が「TAB」よりも長いってどういうこと? [追記] 対策と言っても外付けキーボードを使うくらい。自分は ThinkPad トラックポイントキーボード II を使ってる。 会社に行くときもキーボードを持っていってる。薄くて軽いので良い。 重い 今どき 14インチで1.6kg って重すぎるでしょ。ThinkPad T14 の 1.3kg

    [追記あり]Mac のここがダメ - tmtms のメモ
    koyancya
    koyancya 2024/03/31
    こんくらいしか無いの、かなり高評価なのでは。持ち運ぶ場合はAirが本当に良いですね
  • 転職した - tmtms のメモ

    これは「Rubyist近況[1] Advent Calendar 2021」の6日目の記事です。 adventar.org 自称 Rubyist なので近況を書きます。 2021年10月末で30年ほど勤めた富士通グループを退職しました。 11月からは SmartHR という会社で働いてます。 3年ほど Ruby仕事ではあんまり使ってなかったのですが、また Ruby仕事で使うようになりました。 会社から配布された PC は Core i7 メモリ32GB の MacBook Pro なんでかなり人権がある感じなんですが、人生Mac で1ヶ月位経ってもまだ慣れなくて、VM で Ubuntu Desktop 入れようか迷ってます。 近況は以上です。以下は富士通グループの入社〜退職までのメモ。長いので読まなくていいです。 1991〜 設立7年目の今はなき「富士通長野システムエンジニア

    転職した - tmtms のメモ
    koyancya
    koyancya 2021/12/06
    めっちゃいい……
  • MySQL 8.0.19 で追加された TABLE と VALUES - tmtms のメモ

    1/13 に MySQL 8.0.19 がリリースされたんで、リリースノート を眺めてると気になるのがいくつか。 Important Change: MySQL now supports explicit table clauses and table value constructors according to the SQL standard. These have now been implemented, respectively, as the TABLE statement and the VALUES statement TABLE と VALUES ステートメントが追加されたみたい。 さすがMySQL! パッチリリースで新しい構文を突っ込んでくるッ! そこにシビれる!あこがれるゥ! TABLE TABLE は、テーブルの中身全部を取り出す SELECT のようなものらしい

    MySQL 8.0.19 で追加された TABLE と VALUES - tmtms のメモ
    koyancya
    koyancya 2020/01/29
    VALUES は WITH の中で使うと便利
  • WSL で Ubuntu デスクトップ環境を作ってみる - tmtms のメモ

    富士通クラウドテクノロジーズアドベントカレンダー2018の24日目の記事です。 qiita.com 3ヶ月ほど前から富士通クラウドテクノロジーズ(FJCT)という会社で働いています。 …という話をするとたいてい「何やってる会社?」と聞かれるのですが、「ニフクラというクラウドサービス」というと「ああニフティの」という反応。 「ニフクラは今はニフティじゃないんですよ」というと知らなかったというのがほぼ100%。 ニフクラの「ニフ」はニフティのニフでも日商岩井富士通の略でもなくて、「Navigate Innovative Future」らしいです(自分も最近知った)。 FJCTは、テックブログやってたり、社内LT大会やってたり、月イチでミートアップやってたり、IT勉強会向けに無償で会場提供してたり、「富士通」が名前に入ってる会社にしては面白い会社だと思います。 ただし会社のPCWindows

    WSL で Ubuntu デスクトップ環境を作ってみる - tmtms のメモ
    koyancya
    koyancya 2018/12/26
  • MySQLのsjisとcp932の違い - tmtms のメモ

    今さらですけど、自分でもちゃんと把握してなかったので調べてみました。 MySQLのCharsetのうちシフトJIS系のものはsjisとcp932の二つあります。 どちらもコードの範囲は次のように同じです。 1バイト文字 0x00-0x7F, 0xA1-0xDF 2バイト文字の1バイト目 0x81-0x9F, 0xE0-0xFC 2バイト文字の2バイト目 0x40-0x7E, 0x80-0xFC 違いは文字集合です。1バイト文字はどちらも同じ(ASCII + JIS X 0201 カナ)ですが、2バイト文字はsjisはJIS X 0208 で、cp932はWindows-31Jです。 sjisに含まれていない文字 cp932はsjisよりも文字が多く、丸囲み数字(「①」「②」「③」等)、ローマ数字(「Ⅰ」「Ⅱ」「Ⅲ」等)、組文字(「㍉」「㌍」「㍻」等)、その他「彅」「髙」等の JIS X 0

    MySQLのsjisとcp932の違い - tmtms のメモ
    koyancya
    koyancya 2018/05/28
    この、こういうの...... -> "sjisの「~」はcp932には存在しないし、cp932の「~」はsjisには存在しません"
  • DNSで浸透って言っちゃだめなの? - tmtms のメモ

    別に言ってもいいよ。 以下想定問答。 「浸透が何を意味しているのかわからない」 ホント? 「浸透いうな」って言われてるってことは、逆に言うとそれなりに広く使われてるってことでしょ。 個人的には「DNSの設定を変更した後、徐々に新しい情報を見ることができるクライアントが増えていく」ことだと思ってるんだけど、これとは異なる意味で使われてたりするの? 「"浸透に数週間かかる" なんて言うのはへぼい業者の言い訳」 それは同感だけど、「浸透」という単語の問題じゃないよね。 「浸透」という単語を使わなくてもその業者はへぼいままで、数週間かかるのは変わらない。 数週間じゃなくて、「浸透には5分くらいかかります」だったらOK? 「設定ミスってるくせに浸透に時間がかかるなんて言い訳するな」ならわかるけど、「浸透という単語を使うな」はおかしいと思う。「浸透」を使わないことで何か解決するの? 「浸透なんて用語は

    DNSで浸透って言っちゃだめなの? - tmtms のメモ
    koyancya
    koyancya 2018/05/13
    みんな恐くて言えなかったことだ
  • MySQLパラメータ比較 - tmtms のメモ

    Vue.js の勉強をしようと思ってMySQLのバージョン間のパラメータを比較できるページを作ってみました。 MySQL Parameters やってることは、あらかじめ mysqld --no-defaults -v --help の出力からパラメータの名前と値を JSON にしておいて、それを表示しているだけです。 環境によってデフォルト値が動的に変わるようなパラメータもあるのですべて信用できるわけではないですけど、まあ参考くらいにはなるかなと。 自分が 5.7 と 8.0 の比較を見てみて気づいたのは、 basedir のデフォルト値が mysqld の実行パスから動的に生成されるようになった。 date-format, datetime-format なんてパラメータが今まであったの知らなかった。 へー query-cache まわりはパラメータ自体なくなったのか…。 とかとか。

    MySQLパラメータ比較 - tmtms のメモ
    koyancya
    koyancya 2018/02/27
  • Ruby 2.5 - tmtms のメモ

    この記事は Ruby 2.5.0 preview1 時点のものです。Ruby 2.5 リリース版については http://tmtms.hatenablog.com/entry/2017/12/30/ruby25 を見てください。 Rubyは毎年クリスマスにバージョンアップされます。 今年も問題なければ12/25にRuby 2.5が出ると思います。 https://docs.ruby-lang.org/en/trunk/NEWS.html を元に変更内容を調べてみました。 言語仕様 トップレベル定数参照 rescue/else/ensure 節 文字列内式のRefinement Unicode バージョン 10.0.0 組み込みライブラリ Array#append, #prepend 追加 Dir.children, Dir.each_child 追加 Dir.glob :base オプショ

    Ruby 2.5 - tmtms のメモ
    koyancya
    koyancya 2017/12/04
    便利そう -> "ERB#result_with_hash"
  • Gitでコメントを無視して差分を見る - tmtms のメモ

    古いRubyのコードのコメントを独自のRDoc形式からYARD形式に変換して、さらにその後にプログラムを変更したんですが、その後に差分を見ると大量のコメントの差分が表示されて、実際のコードの差分が何かわからなくなったりしたので、コメントを無視して差分を取る方法を調べてみました。 普通にgit diffするとこんな感じ: diff --git a/hoge.rb b/hoge.rb index 8fa6659..0561977 100644 --- a/hoge.rb +++ b/hoge.rb @@ -1,8 +1,8 @@ -# == ほげクラス +# ほげクラス class Hoge - # === ほげ - # +str+ 何か + # ほげ + # @param str [String] 何か def hoge(str) - 123 + 456 end end プログラムとしての変

    Gitでコメントを無視して差分を見る - tmtms のメモ
    koyancya
    koyancya 2017/11/15
  • 実行中プログラムのイメージを得る - tmtms のメモ

    Twitter見てたらこんなこと言ってる人がいました。 Unix で実行中の実行ファイルのパスを確実に得る方法はない、というのは FAQ だと思うけど、実際にやりたいことは自分自身を別プロセスで新たに立ち上げたいということなので、メモリにロード済の自分自身から別プロセスを作る手段はないんだろうか— Yusuke Endoh (@mametter) 2017年10月25日 昔自分もそんなこと考えたなーと思いつつ、Linuxなら /proc/<pid>/exe が実行ファイルへのリンクになってるんで、 環境によるような気もするけど、自分の実行ファイルのパスは /proc/pid/exe から取れないですかね。— とみたまさひろ (@tmtms) 2017年10月25日 と言ってみたら、 Linuxならその手が使えますが、現在実行中の実行ファイルでも削除できちゃいますから、パス名を得る完璧な方法

    実行中プログラムのイメージを得る - tmtms のメモ
    koyancya
    koyancya 2017/10/26
    オチw
  • MySQLの日本語コレーション - tmtms のメモ

    4月にMySQLの日語コレーションについて語り合う場に呼ばれていろいろ話を聞いてきました。すぐにブログを書こうと思ったんですが、はや2ヶ月経過…。 ときどき、自分がMySQLの文字コードに関して発表する際に、次のようなスライドをいれてるんですが、 MySQL 8.0 でとうとう日語コレーションが入ることになったのに、なんか期待してたのと違いました。 で、その辺の話を聞きました(2ヶ月も経ってるのでうろ覚え)。 Q. わざわざ日語ロケール作るんだったら日人が扱いやすいロケールにしてほしい utf8mb4_ja_0900_as_csはMySQLが独自に考えたものではない。Unicode規格に従っている。過去にいろいろ独自にやって失敗してきてるので、もう独自にやるのは避けたい。 ai(accent insensitive)で「ハ」=「パ」=「バ」になるのも、ci(case insensi

    MySQLの日本語コレーション - tmtms のメモ
    koyancya
    koyancya 2017/06/20
    ヤバい...... -> "長音記号「ー」の順序が前の字によって異なる。たとえば「アー」は「アイ」よりも前だが「ウー」は「ウイ」よりも後。"
  • ZIP中のファイル名の文字化け - @tmtms のメモ

    こんな記事がありました。 gihyo.jp これはMacユーザー用の書籍の宣伝記事らしいのですが、「Windowsを使ってる人のためにMac側がひと手間かけてあげよう」なんて殊勝なことをマカーが言うとは時代も変わったもんです。([追記] はてブのコメントを見たらさすがマカーという意見が並んでて安心しました) まあ私はWindowsユーザーでもMacユーザーでもないのでどうでもいいのですが、文字化けなネタなのでいついてみます。 記事中に、「付物出稿.zip」というファイルを開いた時の画像が載ってます。 文字の並びからして、UTF-8文字列をシフトJIS(CP932)とみなして表示してしまった文字列でしょう(「繧ォ繝上y繝シ繝輔か繝ォ繧ソ繧・」の元の文字は「カバーフォルダ」で、「蟶ッ繝輔か繝ォ繧ソ繧・」は「帯フォルダ」)。 つまり、Macはファイル名をUTF-8ZIPに書き込み、Wi

    ZIP中のファイル名の文字化け - @tmtms のメモ
    koyancya
    koyancya 2017/04/06
    文字化けしないアプリを使って解決してます -> "ということでMacをやめてUbuntu使えば解決ですね!"
  • 大江戸Ruby会議06 - tmtms のメモ

    大江戸Ruby会議06 #oedo06 に行ってきたので雑感など。 会場 @sora_h さん生誕20周年記念ということで、会場も「ソラシティカンファレンスセンター」という場所でした。 Docker時代の分散RSpec環境の作り方 speakerdeck.com RSpecの実行に時間が掛かってたのをAmazon ECSを使って分散実行することで時間とコストが削減されたという話。 RSpec の結果を任意のストレージに出力できる rspec-storage gem は便利そう。 自分の今のプロジェクトも自動テストの時間がどんどん伸びているのでどうにかしたいと思ってます。 しかし、開発にAWSを使える環境はうらやましい。 Text Editing in Ruby github.com Ruby製のEmacsライクなテキストエディタを作ったという話でした。名前が中二病っぽい。 冒頭で何のエディ

    大江戸Ruby会議06 - tmtms のメモ
    koyancya
    koyancya 2017/03/27
    タフすぎる -> “金をケチって高速バスを使ったんだけど、日帰りで往復とも高速バスはさすがに疲れました。もう若くないし…。”
  • Ruby製のEmacsライクなテキストエディタTextbringer - tmtms のメモ

    大江戸Ruby会議06で前田さんがRubyEmacsライクなエディタTextbringerを作ったという発表をしていました。 発表資料 https://github.com/shugo/oedo06/blob/master/textbringer.md ブログ https://shugo.net/jit/20170320.html 最初はEmacs上の何かでプレゼンしてたと思ってたのですが、なんとTextbringerでプレゼンしてたとのこと。完成度高い。 Textbringer上で動くMUAを作るのが目標とのことで、Emacs使いで、MUAを作ることがRubyを始めたきっかけの私としては非常に共感しました。 ということで試してみました。 インストール % gem install textbringer 起動 % textbringer ファイル読み込みとか保存とかカーソル移動とか基

    Ruby製のEmacsライクなテキストエディタTextbringer - tmtms のメモ
    koyancya
    koyancya 2017/03/21
    わしも試そう
  • Sequelのトランザクション内でタイムアウトするとCOMMITされてしまう - tmtms のメモ

    ちょっと前にハマったのでメモ。 Sequelでトランザクションを使う時は次のように transaction メソッドにブロックを渡します。 require 'sequel' require 'logger' db = Sequel.connect('mysql2://user:passwd@localhost/test') db.loggers = [Logger.new($stdout)] db.transaction do db[:test].insert(id: 123) end I, [2017-03-12T22:34:51.946849 #27932] INFO -- : (0.000119s) SET @@wait_timeout = 2147483 I, [2017-03-12T22:34:51.947047 #27932] INFO -- : (0.000133s) SET

    Sequelのトランザクション内でタイムアウトするとCOMMITされてしまう - tmtms のメモ
    koyancya
    koyancya 2017/03/13
    これは危険が危ない
  • MySQL で utf8 と utf8mb4 の混在で起きること - tmtms のメモ

    MySQLUTF-8 で使おうと思ってハマりがちなのは charset utf8 を指定してしまうことです。 MySQLUTF-8 には歴史的事情により utf8 と utf8mb4 の二つあります。 UTF-8 は1バイト〜4バイトで1文字が構成される文字コードですが、MySQL の utf8 は4バイト文字を扱うことができません。ハマりたくなければ utf8mb4 を使いましょう。 utf8 を使ってしまった場合に4バイト文字がどのように扱われるか、自分でもうろ覚えだったのでメモしておきます。 登録 接続が utf8mb4 でカラムが utf8mb4 あたりまえですが、そのまま登録されます。 mysql> insert into utf8mb4 (c) values ('美味しい🍣と🍺'); mysql> select * from utf8mb4; +--------

    MySQL で utf8 と utf8mb4 の混在で起きること - tmtms のメモ
    koyancya
    koyancya 2016/09/07
    🍣と🍻の使い勝手
  • Ruby の Timeout の仕組み - tmtms のメモ

    Ruby で長い時間掛かるかも知れない処理のタイムアウトを行うにはこんな感じにします。 require 'timeout' begin Timeout.timeout(3) do # 3秒でタイムアウト hoge # 何かの処理 end rescue Timeout::Error puts 'なげーよ' # タイムアウト発生時の処理 end Timeout.timeout はブロック開始時にスレッドを作成し、そのスレッドで指定された秒数だけ sleep して、sleep から復帰してもまだブロックが終わってなければ作成元のスレッドに対して Timeout::Error 例外を発生させます。 指定時間以内に処理が終わる場合: timeout(X) │ スレッド作成 ─┐ │ │ ブロック実行 sleep X │ │ スレッドkill→ 🕱 │ timeout復帰 指定時間以内に処理が終わら

    Ruby の Timeout の仕組み - tmtms のメモ
    koyancya
    koyancya 2016/08/26
    なるほど
  • Ruby の文字列データの複製について - tmtms のメモ

    Ruby で String オブジェクトを複製しても、文字列データは複製されません。 data = "a"*10*1024*1024 system "grep ^VmSize /proc/#$$/status" t1 = Time.now a = [] 100.times do |i| a.push data.dup end t2 = Time.now system "grep ^VmSize /proc/#$$/status" printf "%.6f\n", t2-t1 実際に10MBの文字列を作って、100回dupする前後でプロセスのメモリサイズを比較してみても変わってません。 % ruby hoge.rb VmSize: 56140 kB VmSize: 56140 kB 0.000164 複製後に文字列を変更すると、そこで文字列データも複製されます。 data = "a"*10*

    Ruby の文字列データの複製について - tmtms のメモ
    koyancya
    koyancya 2016/05/29
    なるほど
  • 最近のCrystal - tmtms のメモ

    昨年末に「Ruby脳にはCrystalつらい Advent Calendar 2015」というのを書きました。 qiita.com 当時の Crystal のバージョンは 0.10 だったのですが、その後バージョンがあがって改善されてたりするので、紹介します。 カレントディレクトリに .crystal を作らなくなった tmtms.hatenablog.com Crystal 0.16 で、CRYSTAL_CACHE_DIR 環境変数を設定しなくても、デフォルトで $HOME の下にキャッシュディレクトリを作るようになりました。 $HOME/.cache/crystal または $HOME/.crystal が使用されます。 否定条件でも型の絞り込みができるようになった tmtms.hatenablog.com もともと次のように書けば nil かそれ以外かで条件分岐できたのですが、 de

    最近のCrystal - tmtms のメモ
    koyancya
    koyancya 2016/05/27
    なるほど。タプル
  • Postfix 3.1 の新機能 / JSON形式キュー表示と配送流量制御 - tmtms のメモ

    Postfix 3.1 がリリースされました。 個人的に気になった新機能は JSON-format Postfix queue listing. Destination-independent delivery rate delay の2つです。 JSON形式キュー表示 今までは mailq や postqueue -p コマンドで次のような表示がされていました。 ~% postqueue -p -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 8A9AE6EF 275 Sun Mar 6 23:47:06 sender@example.com (deferred transport) rcpt1@example.net rcpt2@example.net 94AC010A! 298 Sun Mar 6 23

    Postfix 3.1 の新機能 / JSON形式キュー表示と配送流量制御 - tmtms のメモ
    koyancya
    koyancya 2016/03/07