タグ

ryopekoのブックマーク (1,182)

  • MySQL 8.0 vs 外部キー制約 vs ALTER TABLEでメタデータロック待ちになったら疑うこと

    TL;DR MySQL 8.0(細かくは8.0.4っぽい)とそれ以降は「外部キー制約を持っているテーブルにSELECTするとそのテーブルの親テーブルにもメタデータロック(MDL)を置くようになった」 MDLであるがゆえに foreign_key_checks をOFFにしようが 無効化はできない MySQL :: WL#6049: Meta-data locking for FOREIGN KEY tables WL#6049 “Meta-data locking for FOREIGN KEY tables” and WL#11059 · mysql/mysql-server@6626f76 これ以降にもいくつかコミットが続いている 論より証拠。 サンプルスキーマはこんなかんじ。 CREATE TABLE `item` ( `item_id` int NOT NULL, `registe

    MySQL 8.0 vs 外部キー制約 vs ALTER TABLEでメタデータロック待ちになったら疑うこと
  • ギターを買い、バンドを組み、ライブをしました。 | うなすけとあれこれ

    まさかこんなことになるとは 以前のブログ記事でも書いたように、バンドを組み、オリジナル曲「タワーマンの孤独」を含む3曲を演奏しました。まさかこんなことになるとは。 経緯 経緯についてはなぜか動画が公開されているので、そちらを見ていただくのでもいいです。なぜあるんだ? というわけで、あそなすさんという方にめちゃくちゃ「バンドやろうぜ」という勧誘を受けていて、根負けしました。 ただ押し切られて嫌々始めたわけでもなく、昔から家族や友達など周囲に楽器を演奏できる人がおり、興味がなくはなかったことと、「How To Become A Hacker」に なにか楽器を上手に演奏したり、歌が歌えるようになること。 とあることから、楽器を演奏できるようになることには憧れがありました。問題は初期費用とか、練習する時間が確保できるのかとか、そもそも練習しても全然弾けるようにならなかったらとかいう不安もありました

    ギターを買い、バンドを組み、ライブをしました。 | うなすけとあれこれ
    ryopeko
    ryopeko 2024/04/29
  • 最低限やらないといけないラインを見誤った話|シンギュラリティ

    全ての開発あるあるだと思うんですが、常にリソースがないですよね。やりたいことに対して使える開発期間が短いし、人も少ない。なので普通はやりたいことに優先順位をつけて、なくてもまあ大丈夫かなという部分は、泣く泣く落としていくことになるかと思います。今回はその優先順位を見誤った話をします。 ちなみに見誤った箇所は、エラーの表示です。Excel/CSVファイルをインポートすることで情報を登録するという機能のエラー表示だったのですが、リリース直後に改善の必要があるとわかり、再検討して実装&リリースしました。(関わった皆さんありがとうございました🙏) これについて最近、開発チームやプロダクトマネージャー、他のデザイナー等いろいろな人と話していたのですが、そのときに出てきたことや自分の中で思った反省点について書きます。 同じような機能でも、扱う情報の内容や数が変わると状況が変わる該当の機能のエラー表示

    最低限やらないといけないラインを見誤った話|シンギュラリティ
  • t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog

    こんにちは、SWETグループの田熊です。 現在SWETグループでは書籍「単体テストの使い方/考え方」の輪読会を実施しています。 輪読会ではメンバー同士で活発に意見が交わされていますが、著者の主張に疑問を感じる箇所もあり、一度グループ外の方とも意見を交換したいと考えていました。 そこで、t_wadaさんをお招きし「単体テストの使い方/考え方」についてディスカッションする機会を設けました。 記事では、SWETメンバーとt_wadaさんとのやりとりを紹介したいと思います。 ディスカッションの流れ ディスカッションは事前にSWETグループのメンバーが書籍を読んで疑問に感じたテーマを挙げてもらい、t_wadaさんの意見を聞くという流れで行いました。 今回は次のテーマについて話をしました。 「退行に対する保護」があるテストとはなにか 「リファクタリングへの耐性」のトレードオフはあるのか 統合テストの

    t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog
    ryopeko
    ryopeko 2023/11/15
  • ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io

    Intro こういうタイトルを付けるのはあまり好きではないが、あえてこのようにした。 「ブラウザでキャッシュがヒットしない」 以下は、 Web における Caching の FAQ だ。 サーバで Cache-Control を付与したのにキャッシュがヒットしない サーバで ETag を付与したのに If-None-Match が送られない サーバで Last-Modified-Since を付与したのに If-Modified-Since が送られない 先日も、筆者が書いた MDN の Cache セクションで「記述が間違っているのでは?」と同様の質問を受けた。 Issue about the Age response header and the term "Reload" · Issue #29294 · mdn/content https://github.com/mdn/cont

    ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io
  • git-pr-releaseとGitHub Actionsでワンクリックデプロイを実現する | おそらくはそれさえも平凡な日々

    突然ですが、git-pr-releaseのなんちゃってコラボレーターである私が僭越ながら、その王道の使い方を皆様に伝授していきます。何番煎じかの記事ではありますが、現代の、特にGitHub Actions出現以降の使い方をまとめたいというのが動機です。 https://github.com/x-motemen/git-pr-release https://rubygems.org/gems/git-pr-release git-pr-releaseはGitHubを業務開発で利用している場合に便利なツールで、デフォルトブランチにマージされたpull requestをリリース項目として一覧し、それをpull request化してくれるものです。これにより以下のことが実現できます。 リリース項目が一覧されることによるリリース内容の明確化 マージボタンによる明快なワンクリックデプロイの実現 pul

    git-pr-releaseとGitHub Actionsでワンクリックデプロイを実現する | おそらくはそれさえも平凡な日々
  • クックパッドマートの配送ルートを自動生成している仕組み - クックパッド開発者ブログ

    こんにちは、クックパッドマート流通基盤アプリケーション開発グループのオサ(@s_osa_)です。 生鮮品の EC サービスであるクックパッドマートでは、「1品から送料無料」をはじめとするサービスの特徴を実現するために、商品の流通網を自分たちでつくっています。 このエントリでは、商品をユーザーに届けるための配送ルートを自動生成している仕組みについて紹介します。 解決したい問題 配送ルートとは クックパッドマートにはいくつかの流通方法がありますが、ここでは「ステーション便」と呼ばれるものについて解説します。他の流通方法などを含む全体像が気になる方は以下のエントリがオススメです。 クックパッド生鮮 EC お届けの裏側 2022 年版 - クックパッド開発者ブログ ステーション便では、ハブと呼ばれる流通拠点からユーザーが商品を受け取りに行く場所であるステーションへと商品を運びます。東京都、神奈川

    クックパッドマートの配送ルートを自動生成している仕組み - クックパッド開発者ブログ
  • Ruby プロセスを追いかけるツール(プロファイラとか)10選 - sonots:blog

    Ruby プロセスを追いかけるツール(プロファイラとか)10選 - sonots:blog
  • Production Ready GraphQL

    Build GraphQL APIs you can trust Learn how to design and build predictable, performant, and secure GraphQL APIs at scale. Hey 👋 I'm Marc-Andre Giroux! I've always found there was a lack of resources on how to build reliable GraphQL servers. Over the last few years, I helped build and maintain some of the biggest GraphQL APIs out there at both Shopify and GitHub. During those years, I also worked

    Production Ready GraphQL
    ryopeko
    ryopeko 2022/03/02
    これ読むか
  • Neumorphism/Soft UI CSS shadow generator

  • 音を楽譜にする“耳コピ”はここまで来た。AI自動採譜の最前線【藤本健のDigital Audio Laboratory】

    音を楽譜にする“耳コピ”はここまで来た。AI自動採譜の最前線【藤本健のDigital Audio Laboratory】
    ryopeko
    ryopeko 2021/08/09
    楽譜が絶版になりがちなのでこの分野の進歩を強く望んでいる今日このごろ
  • GoのORM「ent」の話

    こんにちは。 最近、とある人が「goって簡単だと聞きました。」と言っていて、別の人が「いや、違くてgosimpleだけど、easyではないよ」と言っていたのを聞いて、ああ、言い得て妙だなと思ったmasamikiです。 GoORM これまで、GoORM使うならGORMばっかり使ってきたのですが、今回、新しいプロジェクトをやるにあたり、風の噂で聞いていた ent を使うことになりました。 これは、そんなentのお話。 GORM GORMはThe fantastic ORM library for Golangとかかれている通り、Go言語のためのファンタスティックなORMライブラリです。 Migratorを使ってMigrationの処理を書いたり、

    GoのORM「ent」の話
    ryopeko
    ryopeko 2021/08/06
  • 大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog

    こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 SWETではCI/CDチームの一員として、Jenkins運用のサポートや、CI/CD回りのノウハウ蓄積・研究をしています。 はじめに Gitリポジトリをクローンすると、ローカルフォルダにはそのリポジトリの全体がダウンロードされ .git というフォルダに格納されます。ブランチをチェックアウトすると、ブランチ内のファイルがワーキングツリーとして展開されます。この様子を図にするとこのようになります。 この .git とワーキングツリーの使うディスク容量を節約しようというのが今回のお話です。特にJenkinsにおいて、大きめのGitリポジトリをクローンしてくる場合に課題があり、いろいろ工夫してみたので、その結果を紹介します。同じCI/CDチームの加瀬による記事「大規模リポジトリで高速にgit cloneするテクニック」と内容

    大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog
    ryopeko
    ryopeko 2021/07/12
    大きなリポジトリ...うっ頭が...
  • Deploy Rails apps in 2021

    事業成長を加速させたエンジニアリングのウラ側 https://medpeer.connpass.com/event/211745/

    Deploy Rails apps in 2021
  • Pryはもう古い、時代はIRB - k0kubun's blog

    僕はRubyで開発をする時は毎回Pryを使うくらいの熱狂的Pryユーザーだったのだが、PryはGemfileに書いてないと binding.pry できなくて不便。任意のgemをdefault gem化するgem default コマンドも作ったのだが、これをやるのすら面倒だと思っていた。 ある日、nobuさんがRubyに binding.irb という機能をいれた。Pryがdefault gemになるのを待つよりPryで僕が使う機能をIRBに全部移植してしまった方が早いのではないかと思い、4年前からPryの機能の移植活動を始め、今日僕がよく使う機能を全て移植し終えた。 その記念に、この記事ではIRBのPry互換の機能を紹介する。昔 今更聞けないpryの使い方と便利プラグイン集 という記事を書いたんだけど、この中で僕が毎日のように使うコマンドは全てIRBに移植したので、それを紹介する稿を

    Pryはもう古い、時代はIRB - k0kubun's blog
    ryopeko
    ryopeko 2021/04/03
    時代だ
  • 【練習内容公開】イラストを100日練習しました|燕禅

    イラストレーションの練習を100日やりました.知らないことばかりだったので勉強していてとても楽しかったです! いいタグがあったので記念として初日に描いたものと並べておきます#進化してたらRT見た人もする#画力変化ビフォーアフター pic.twitter.com/WKhBvyZSoi — 都路 燕禅 (@enzen3852) November 29, 2020 イラストの練習を始めてトータル100日を突破しました.一旦立ち止まって初日のイラストと今のイラストを比べてみると,見違えるほど上達できたかなと思っています. そこで今回はこの記事で,私が100日でどんな練習を行い,どんな変化を遂げていったかを振り返ってみようと思います. (追記: 60日目と70日目のイラストの削除について。着物や扇子などの模様は、自分の手元や実家にある実物の写真・インターネットの写真などを複数参考にして、いずれのデザ

    【練習内容公開】イラストを100日練習しました|燕禅
  • 1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary

    自分が所属している会社のメンバーの教育用資料として、それなりの規模のデータを扱う時に前提として意識しておかなければいけないことをざっくりまとめたので、弊社特有の話は除外して公開用に整理してみました。 大規模データ処理、分散処理に慣れている人にとっては今更改めて言うことじゃないだろ、みたいな話ばかりだと思いますが、急激にデータスケールが増大してしまったりすると環境に開発者の意識が追い付かないこともあるかと思います。 そういったケースで参考にできるかもしれません。 弊社は基的にAWSによって運用されているので、AWSを前提にした様なキーワードやサービス名が出てきます。後、句読点があったり無かったりしますが、ご容赦ください。 追記: 社内用の資料の編集なのでかなりハイコンテキストな内容だから誤解するかもしれませんが、これらはそもそもRDBの話ではありません。(関係無くは無いけど) 1000万オ

    1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary
  • 西暦1年は閏年か? - プログラマーの脳みそ

    閏年(うるうどし)の話題。 Twitterで見かけた話題で「西暦1年は閏年かどうかぱっとわからん人おる?」という些か煽り気味のツイートを見かけたのだけども、反射的に「閏年じゃないに決まってるじゃん」とぱっと答えてしまわないだろうか。当にそうだろうか? そう単純な話なのだろうか? プログラミングを学んでカレンダーを扱うことを学ぶ際に置閏法についても簡単に触れられることがある。置閏法というのは閏年や閏月(太陰暦では1年が13ヵ月になるケースがあり追加の月を閏月と呼ぶ)をどのようなルールで挿入するかという話で、まさにアルゴリズムであるからプログラミングの話題と相性がいい。 置閏法 現代の西暦の置閏法(ちじゅんほう)は 西暦を 400 で割り切れる年は閏年 上記以外で西暦を 100 で割り切れる年は平年 上記以外で西暦を 4 で割り切れる年は閏年 上記以外は平年 といった手続きで閏年(つまり2月

    西暦1年は閏年か? - プログラマーの脳みそ
    ryopeko
    ryopeko 2020/10/30
    タイトルから予想してたのよりずっと面白くて勉強になった
  • ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った

    それなりの規模のサービスを運用していると、不可解なエラーに遭遇することはよくあるものです。その中でもデータベース関連のエラーは一見難解な問題に見えるかもしれませんが、原因調査に役立つ情報をさえ出力すればたいていの場合は容易に原因を特定できるものです。というわけで、Rails でよく遭遇するエラーの調査に役立つ情報を出力する gem を作成しました。 activerecord-debug_errors 現在次のエラーをサポートしています。 ActiveRecord::LockWaitTimeout (MySQL のみ) ActiveRecord::Deadlocked (MySQL のみ) ActiveRecord::ConnectionTimeoutError 以下、具体的な例を用いてどのような情報が表示されるか説明します。 ActiveRecord::LockWaitTimeout Ac

    ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った
  • ISUCON10 本選問題の解説と講評 : ISUCON公式Blog

    ISUCONとはLINEヤフー株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです こんにちは、ISUCON10 の選出題を担当した白金動物園の mirakui です。最近はパン作りにハマっています。この記事では、選問題であるアプリケーションの「XSUCON」について、問題の概要と想定していた解き方について解説していきたいと思います。 XSUCON とは近年の ISUCON にはとても多くの方が参加してくださり、スコアランキングを表示したりベンチマーカー実行を指示したりするいわゆる「ポータルサイト」の負荷対策には毎年の出題担当たちが苦労してきました。記念すべき 10 回目の開催である ISUCON10 ではぜひこの ISUCON ポータルサイト自体を問題にしたい、と私たち白金動物園が1年前から温めて

    ISUCON10 本選問題の解説と講評 : ISUCON公式Blog