タグ

ブックマーク / blog.kamipo.net (22)

  • HPVワクチンを接種してきた - かみぽわーる

    先日、HPVワクチン(ガーダシル9価)を接種してきた。 HPVワクチン(ガーダシル9価)接種してきたᴖᴗᴖ pic.twitter.com/ADE8qNKfSd— Ryuta Kamizono (@kamipo) July 21, 2022 HPV(ヒトパピローマウイルス)は、性的接触のあるひとはだいたいが生涯で一度は感染するとされている一般的なウイルスで、子宮頸がんを始め、肛門がん、膣がんなどのがんや尖圭コンジローマ等多くの病気の発生に関わっています。特に、近年若い女性の子宮頸がん罹患が増えていると言われていて、年間約1万人が疾患して、約2900人がこの病気で命を落としているそうです。 HPVワクチンは小学校6年~高校1年相当の女の子は定期接種といって無銭(公費)でワクチンを接種できます。が、2013年にいろいろあって定期接種の積極的勧奨を差し控えるという事態になってしまい、アメリカやオ

    HPVワクチンを接種してきた - かみぽわーる
    seiunsky
    seiunsky 2022/08/01
    かっこいい
  • 2021年はブログを書くのをがんばろうという話 - かみぽわーる

    5ヶ月前に退職エントリを出してから、いろんな会社さんだったり個人的にだったり、いろんな人と話させてもらった。 blog.kamipo.net みーみちゃん転職(前)祝いだよ🍶 pic.twitter.com/0kdy47mOiw— Ryuta Kamizono (@kamipo) August 28, 2020 みーみちゃん毎日退職祝いだよ🥩 pic.twitter.com/ZDE8tnRRfD— Ryuta Kamizono (@kamipo) September 1, 2020 今日は会だよみーみちゃん🌾 pic.twitter.com/myLq9gkpxZ— Ryuta Kamizono (@kamipo) September 17, 2020 今日も会だよみーみちゃん🌀 pic.twitter.com/d5HTVreV0b— Ryuta Kamizono (@kamip

    2021年はブログを書くのをがんばろうという話 - かみぽわーる
    seiunsky
    seiunsky 2021/02/01
    わっふるわっふる
  • 165万払って全身脱毛をはじめた - かみぽわーる

    全身脱毛を11月からはじめてみた。 前職のハイパーサポートエンジニアの同僚が尻の毛を脱毛したエントリを見て、たしかに尻の毛いらんな!と頭の片隅に残っていて、YouTubeでちょいちょいローランドのチャンネルを観ているのでそういえば新宿の新店舗ってどのへんなんやろって調べたらおもいのほか家の近所すぎてテンションあがったのでその日のうちに電話して翌日に全身脱毛の契約をしてしまった。 はてなブログに投稿しました #はてなブログ 医療脱毛で全身脱毛に行ってみた - Secret Ninja Bloghttps://t.co/7bIyi20FgG— Toru Takahashi (@nora96o) September 6, 2020 その後、カンジャンケジャンをいながら今日全身脱毛契約してきてんって話をしたら「医療?美容?」って聞かれて、なるほどそういえばそういうの全然考えてなかったなと思って、

    165万払って全身脱毛をはじめた - かみぽわーる
    seiunsky
    seiunsky 2021/01/28
    高品質な知見
  • Rails 6.1で `created_at > ?` みたいなクエリをいい感じに生成する - かみぽわーる

    Rails 6.1の目玉機能として以下のように書けるwhere拡張を入れてたんですが、いろいろあって6.1からはrevertされてしまいました🥲 posts = Post.order(:id) posts.where("id >": 9).pluck(:id) # => [10, 11] posts.where("id >=": 9).pluck(:id) # => [9, 10, 11] posts.where("id <": 3).pluck(:id) # => [1, 2] posts.where("id <=": 3).pluck(:id) # => [1, 2, 3] github.com github.com なんですが、そんなことで引き下がる僕ではないので、6.1ではpredicate生成に干渉できる拡張ポイントを用意しており、以下のようなコードを適当に読み込まれるところに

    Rails 6.1で `created_at > ?` みたいなクエリをいい感じに生成する - かみぽわーる
    seiunsky
    seiunsky 2021/01/14
    つよい
  • ツイッターで見つけて直したActiveRecordの問題さらに3つ - かみぽわーる

    ツイッターで見つけて直したActiveRecordの問題3つ - かみぽわーるの続き。 where(id: ..1) ("id" <= 1)をnotしたら"id" > 1になってほしい 今のmasterで試してみたのですが、SELECT "users".* FROM "users" WHERE NOT ("users"."id" <= 1) になるようです。 https://t.co/pQh4h9g0MP— 神速 (@sinsoku_listy) August 3, 2019 github.com association先のカラムをpluckしたときもちゃんとtype castされてほしい 対応ありがとうございます! 制限があるとはいえ、定義ではなく呼び出し側で解決を図れるのは嬉しいです。 ちなみに association の情報を与えてあげるようなアプローチは既に検討済みですか?例えばこ

    ツイッターで見つけて直したActiveRecordの問題さらに3つ - かみぽわーる
    seiunsky
    seiunsky 2020/12/04
    かみぽさんはすごい人
  • ツイッターで見つけて直したActiveRecordの問題3つ - かみぽわーる

    Rails Advent Calendar 2020の3日目です。 時間がないのでとりいそぎ3つだけ。 enum state: {active: 0, inactive: 1}とかした時に、typecast前の0とか1を取りたい ActiveRecord::Enumってstate: {active: 0, inactive: 1}とかした時に、typecast前の0とか1を取る場合、read_attribute_before_type_castを使うしかないのか?— アルフォートおじさん (@joker1007) October 21, 2020 github.com belongs_to :author, class_name: 'User'したときにleft_joins(:author).where("author.id": nil)とか書きたい これすると、joins(:author

    ツイッターで見つけて直したActiveRecordの問題3つ - かみぽわーる
    seiunsky
    seiunsky 2020/12/03
    かみぽさんはすごい人
  • Treasure Dataを退職します - かみぽわーる

    急なお知らせですが、8月31日をもってTreasure Dataを退職することになりました。 今後の活動についてはいまのところなにも決まっていないので、自分になにができるのか、どんなニーズがあるのか、いろいろ相談に乗ってもらえるとうれしいです。 きっかけはというと、長年Railsコントリビューター/メンテナーとして並々ならぬ思いで活動してきたんですが。 どのぐらいがんばっていたかというと、たとえば2020年8月時点のコミット数ベースの今年のアクティビティでいうと、上位10人のアクティビティを母数にするとその半数が僕になります。 rails/rails contributors 2020-01-01 - 2020-08-26 Rails 5.0以降のも置いておきます。 rails/rails contributors 2019-01-01 - 2019-12-31 rails/rails c

    Treasure Dataを退職します - かみぽわーる
    seiunsky
    seiunsky 2020/08/26
    お疲れさまでした!
  • Ruby 2.7.0でキーワード引数として渡された引数なのかどうかフラグを確かめる方法 - かみぽわーる

    class Hash class << self def ruby2_keywords_hash?(hash) !new(*[hash]).default.equal?(hash) end def ruby2_keywords_hash(hash) _ruby2_keywords_hash(**hash) end private def _ruby2_keywords_hash(*args) args.last end ruby2_keywords(:_ruby2_keywords_hash) if respond_to?(:ruby2_keywords, true) end end RUBY_VERSION # => "2.7.0" def passed_kw?(*args) Hash.ruby2_keywords_hash?(args.last) end ruby2_keywords(

    Ruby 2.7.0でキーワード引数として渡された引数なのかどうかフラグを確かめる方法 - かみぽわーる
  • Rubyで安全な文字列リテラルかどうかを判別したい - かみぽわーる

    Rails 5.2からRails SQL Injection ExamplesにあるようなSQLインジェクションを防ぐ仕組みが導入されて、Post.order(params[:order])みたいなコードは心温まる正規表現によるチェックをパスしないと危険とみなされるようになって、お前が安全やと思うんやったらPost.order(Arel.sql(params[:order]))しろってことになった(rails/rails#27947)。 これはRails 5.0のときにparamsがHashのサブクラスじゃなくなったときに比べればマシだけど、明らか安全やと思ってるリテラルもRailsに危険とみなされて既存のアプリケーションによったら非常にわずらわしい。たとえばDiscourseというRailsアプリは5.2に上げるときにこれの影響をモロに受けるんやけどっていうお気持ちを表明しています(ra

    Rubyで安全な文字列リテラルかどうかを判別したい - かみぽわーる
    seiunsky
    seiunsky 2018/10/16
    一瞬、すわセーフレベルか、と思ったけどちがったw
  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
  • ActiveRecordでINの中が一万個とかにならないようにする - かみぽわーる

    この記事は MySQL Casual Advent Calendar 2017 の23日目の記事です。 みなさんORマッパーは使っていますか? 僕は仕事とか趣味でActiveRecordというORマッパーを使っているんですけど、こいつ例えば Team.preload(players: :high_score).to_a みたいなことをするとすぐ SELECT `scores`.* FROM `scores` FROM `scores`.`id` IN (a, b, c, ...数千個続く...) みたいなクエリを生成しよるんですけど、MySQL 5.7に上げたときに range_optimizer_max_mem_size の制限で実行計画がテーブルスキャンに落ちてえらい目にあったことがありました。MySQL側で range_optimizer_max_mem_size = 0 することで

    ActiveRecordでINの中が一万個とかにならないようにする - かみぽわーる
  • MySQL 8.0ではデフォルトで濁点半濁点を区別しなくなる - かみぽわーる

    4月にMySQL 8.0のUnicodeと日語対応についてManyi Luさんとディスカッションする会があって、かなりいろいろ話してとてもよい会だった。その後いろいろ考えて感じてる懸念を端的に書き記しておく。 デフォルトのcollationがutf8mb4_0900_ai_ciになった これに関して僕は強い懸念を持っている。MySQL 8.0以前において、ふつうのWebアプリケーションなどで日語を扱う場合、実用上デフォルトのutf8mb4_general_ciかutf8mb4_binの2択であったと思う。デフォルトがutf8mb4_general_ciなので新しく作られるアプリケーションは通常は濁点半濁点が区別される状態で世に出てくることになる。けどMySQL 8.0.1のデフォルトのutf8mb4_0900_ai_ciは濁点半濁点を区別しないので、将来ユーザー名を登録するところでバイ

    MySQL 8.0ではデフォルトで濁点半濁点を区別しなくなる - かみぽわーる
    seiunsky
    seiunsky 2017/06/26
    用途に応じた適切な設定(ゴクリ)
  • InnoDBの制限とファイルフォーマットAntelopeとBarracudaの違い - かみぽわーる

    この投稿はMySQL Casual Advent Calendar 2014の5日目の記事です。 @kamipo 質問させてください。このエントリーで COMPRESSED ではなく DYNAMIC を選んでいる理由はなぜですか?あまりDB詳しくないので参考リンクなどポインタを教えていただけるだけでも構いません http://t.co/9sC4lzLjXr— kiyoshi nomo (@kysnm) November 27, 2014 先週ツイッターでInnoDBのことを質問されまして、せっかくなのでアドカレのネタにしようと思いますってことでInnoDBのファイルフォーマット毎の違いをカジュアルに説明しようと思います。 InnoDBのファイルフォーマットBarracudaと新機能 InnoDBにはファイルフォーマットとして昔からあるAntelopeと新しいフォーマット(5年も前からあるの

    InnoDBの制限とファイルフォーマットAntelopeとBarracudaの違い - かみぽわーる
    seiunsky
    seiunsky 2017/02/16
    記憶は正しかった
  • HomebrewのMySQL 5.7.9でSSL接続するとコケるので気をつけよう - かみぽわーる

    このエントリはMySQL Casual Advent Calendar 2015の3日目です。 で、これです。 github.com ざっと調べた感じだと、openssl 1.0.1eあたりからDiffie-Hellman (DH) key length 1024bit以上を要求するようになったかなんかで、MySQLが512bitとかいうかなり短いkey lengthを使ってるせいでopensslに怒られる感じらしい。 MySQL 5.7からデフォルトsslオプションが有効なのでRDSとかみたいなSSL接続受け付けてるホストに5.7のクライアントでそらで接続しようとするとコケるっぽい。 $ mysql --help ... --ssl If set to ON, this option enforces that SSL is established before client attem

    HomebrewのMySQL 5.7.9でSSL接続するとコケるので気をつけよう - かみぽわーる
    seiunsky
    seiunsky 2015/12/03
    かみぽわーるが更新された!!!1
  • Treasure Dataに入社しました - かみぽわーる

    近況などをブログに書いたことはなかったんですが、4月からTreasure Dataで働くことになりました。 3月に新しい仕事を探してたタイミングでちょうど声をかけてもらって、他に誘ってくれてるところもあっていろいろ考えたんですけど、今まで自分がやってたWeb屋さんとは結構ちがう専門的なプロダクトが面白そうだったこと、話してみてエンジニアリング上の解決したい課題についてすごく具体的にいろいろ話してくれたので、畑違いな気もするけどやれることは結構ありそうだなとイメージできたので入社することにしました。 あとは声をかけてくれるのが2週間遅かったら他のところに決めちゃってたので、お互いのタイミングが合ってたことで自分が想像していなかった選択肢が生まれたことにも面白さを感じて、まあこれも自分の中のひとつのチャレンジだと思って返事をしたという感じです。 HadoopもFluentdもよく分からんしSl

    Treasure Dataに入社しました - かみぽわーる
  • MySQL と寿司ビール問題 - かみぽわーる

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる に関連するトピックで、 MySQL には寿司ビール問題というのがある。 寿司ビール問題どっかで詳しくお話を聞くべきだよなぁ。。。— RKajiyama (@RKajiyama) March 18, 2015 これはどういう問題かというと、 MySQL の Unicode では binary collation にしてコードポイントで比較しないと🍣と🍺に限らず絵文字が同値判定されるという問題です。 あれ? MySQL の utf8mb4 charset って、4バイト文字同士を比較すると同じ文字扱いされる? SELECT '🍣'='🍺' → 1 MySQL的には寿司とビールは同じ扱い。— とみたまさひろ (@tmtms) December 22, 2014 MySQLで select

    MySQL と寿司ビール問題 - かみぽわーる
    seiunsky
    seiunsky 2015/03/23
    厳しすぎる、、、
  • MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる

    utf8_unicode_ci に対する日の開発者の見解 - かみぽわーる で、日語が分かる人には utf8_unicode_ci のヤバさを感じてもらえたと思うんですけど、この挙動はドキュメントによると UCA というアルゴリズムによるものらしい。 MySQL implements the xxx_unicode_ci collations according to the Unicode Collation Algorithm (UCA) described at http://www.unicode.org/reports/tr10/. The collation uses the version-4.0.0 UCA weight keys: http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt. Currently,

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる
  • YAPC::Asia 2013でmysql-buildのLTしてきた - かみぽわーる

    2日目のLTで、MySQLSQLというDSLをつかって様々なストレージエンジンを共通のインターフェースで抽象化して扱うことのできるフレームワークなわけですがということで、mysql-buildMySQLのプラグインも一緒にビルドする話をしてきました。 mysql-buildでQ4Mやmroongaもビルドしたい これでQ4Mとか簡単に使い始められるようになるので、みんなMySQLのプラグインもつかってくれるかな? (いいとも!) 動機とか mysql-buildMySQL Casual Advent Calendar 2011のときに書いたやつで、そのときからすでにQ4MやHandlerSocketを入れる的なネタが3つも4つもかぶって投稿されて、みんなどんだけQ4M入れたいんだよな感じだったわけですが、僕もそもそもはローカルでLTネタのプラグインとか書くときにソースからビルドしたM

    YAPC::Asia 2013でmysql-buildのLTしてきた - かみぽわーる
    seiunsky
    seiunsky 2014/03/25
    "10人ぐらいのおっさんか1人のかわいこちゃんがどうしてもっていうなら対応するかもしれない"
  • 優勝したらあの子に告白することばかり考えていた #isucon - かみぽわーる

    ISUCON3選お疲れさまでした! うちのチームのことはだいたいgfxが書いてる通りなんですけど、おもに僕がやったこととか選後に振り返ってみたことを書いておきます。 予選後の教訓で、最初にちゃんとコードを読んで方針を決めようって話してたので、最初に全員でざっと構成とかコードとか初期状態でのベンチとか回してみて全体を把握してから昼に作戦会議。 そのときに僕が話した見解は このアプリケーションから何らかの方法で参照時の画像変換のボトルネックを取り除いたとき、次にボトルネックになるのは帯域になる なので理想的な状態から逆算すると5台でWANにトラフィックを吐く構成になってる必要がある 最悪、参照時にまったく変換しなくて済む理想的な高速化に失敗してすべての変更をrevertすることになっても、5台並べて参照時の画像変換して返せるようにできてれば単純に初期状態の5倍のCPUでスケールできるから5

    優勝したらあの子に告白することばかり考えていた #isucon - かみぽわーる
  • 好きな子のことかslow query logのことばかり考えてほかのことがおろそかになる性格なおしたい #isucon - かみぽわーる

    ISUCON3 予選おつかれさまでした! うちのチームのことはだいたいやっぽさんが書いてる通りなんですけど、おもに僕がやったこととかAMI提出後に振り返ってみたことを書いておきます。 振り返りはコチラ。 【ISUCON3】予選の振り返り【ぶっちゅぶす】 - Togetter まず今回ISUCON3でチームを組む段階で考えていたのは、チームメンバーの共通言語は揃えておいたほうがいい(当たり前と思うかもしれないけど前回バラバラすぎて死んだ)ということと、得意分野がかぶってないチームにしたいと思ってた。その点でいうと、まだ予選がおわったところだけど今まで参加してきた教訓を活かせたと思う。 あとは前回力を出し切れない結果で悔しい思いをしたというのがあって、予選通過すれば次につながるので、横着せずに普段やってることで着実にスコアを伸ばしたい、fujiwaraさんのような役割を目指したいと思ってた。

    好きな子のことかslow query logのことばかり考えてほかのことがおろそかになる性格なおしたい #isucon - かみぽわーる
    seiunsky
    seiunsky 2013/10/07
    “好きな子のことかslow query logのことばかり考えてほかのことがおろそかになる性格なおしたい”