katoken12のブックマーク (2,073)

  • MySQLとインデックスと私

    2021/05/24 サイボウズ開運研修 動画が以下のサイトからリンクされています - https://blog.cybozu.io/entry/2021/07/20/100000 - これに矢印を書きながらぐりぐりやっていたわけなので、資料単体だとわかりづらいと思います…

    MySQLとインデックスと私
    katoken12
    katoken12 2021/05/24
  • 実例で学ぶ MySQL/MariaDB デバッグ - nayuta-yanagisawa's blog

    この記事では、MySQL/MariaDB のバグを修正するための典型的な手順を、具体例を通して解説する。次の MariaDB のバグを例として取り上げるが、基的なデバッグの手順は MySQL でもまったく同様である。 MDEV-24868: Server crashes in optimize_schema_tables_memory_usage after select from information_schema.innodb_sys_columns なお、MySQL/MariaDB のデバッグ方法についての包括的な解説を与えるのは、この記事のスコープ外である。デバッグ手法の詳細を知りたい場合は、以下の一連の記事を参照してほしい。 Debugging MySQL/MariaDB (1): Build and Test Debugging MySQL/MariaDB (2): DBU

    実例で学ぶ MySQL/MariaDB デバッグ - nayuta-yanagisawa's blog
    katoken12
    katoken12 2021/05/20
  • MVCCとInnoDBでの実装について - shallowな暮らし

    こんにちは。id:shallow1729です。先日はredo logを中心にストレージエンジンについて解説を行いましたが、今回は同時実行制御、特にMySQLなど多くのデータベースで採用されているMultiversion Concurrency Control(MVCC)という技術にフォーカスしようと思います。 今回の記事ではまず前半でMVCCというものがどういうものかについて解説をして、次にMVCCの実装方法についてInnoDBの実装を参考にしながら見ていこうと思います。前提知識はあまりいらないと思いますが、リレーショナルデータベースの操作経験はあったほうがいいかなと思います。また、前回のストレージエンジンの解説で述べた内容はあまり説明しないので、軽く目を通してもらえると頭に入りやすいかなと思います。 shallow1729.hatenablog.com トランザクションの原子性 まずトラ

    MVCCとInnoDBでの実装について - shallowな暮らし
    katoken12
    katoken12 2021/05/18
  • 図解 X.509 証明書 - Qiita

    はじめに X.509 証明書について解説します。(English version is here → "Illustrated X.509 Certificate") ※ この記事は 2020 年 7 月 1 日にオンラインで開催された Authlete 社主催の『OAuth/OIDC 勉強会【クライアント認証編】』の一部を文書化したものです。勉強会の動画は公開しており、X.509 証明書については『#4 X.509 証明書(1)』と『#5 X.509 証明書(2)』で解説しているので、動画解説のほうがお好みであればそちらをご参照ください。 1. デジタル署名(前提知識) この記事を読んでいただくにあたり、デジタル署名に関する知識が必要となります。つまり、「秘密鍵を用いて生成された署名を公開鍵で検証することにより」、「対象データが改竄されていないこと」や「秘密鍵の保持者が確かに署名したこと

    図解 X.509 証明書 - Qiita
    katoken12
    katoken12 2021/05/07
  • Amazon Web Services

    Home Toggle submenu for: AWS Summits AWS Summit ANZ AWS Summit ASEAN AWS Summit India AWS Summit Seoul AWS Summit Tokyo Toggle submenu for: Events/Webinars AWS Innovate - AI/ML Edition AWS Innovate - Data Edition AWS Innovate - Modern Apps Edition AWSome Day Online Conference AWS Builders Online Series Toggle submenu for: Hot Topics AI and Machine Learning Migration and Modernization Data and Anal

    Amazon Web Services
    katoken12
    katoken12 2021/05/04
  • 認証と認可の超サマリ OAuth とか OpenID Connect とか SAML とかをまとめてざっと把握する本

    認証と認可についての知識が必要になったので、基礎的なことを学んでいます。 一切何も知らない状態から手当たり次第に細かく調べるのは大変だったので、超サマリを整理してみようと思います。 このは「個々の要素に詳しくなる必要はないんだけど、概要くらいはさっと把握しておきたい」とか「手当たり次第に詳細調査をする前に、一瞥してこれから踏み込もうとしている領域の超俯瞰マップを作る」という感じで使うことを想定しています。 同じ様な方の役に立ったら、とても嬉しいです。 このは筆者の理解に連動して追記修正される可能性があります。

    認証と認可の超サマリ OAuth とか OpenID Connect とか SAML とかをまとめてざっと把握する本
    katoken12
    katoken12 2021/05/04
  • 文字列を反転させたい|nona

    こんにちは。徒然なるままにTweetを眺めていたら、Tanakaさんがこのようなことを呟いていました。 そういやRustのStringにreverseメソッドないなと思ったけど、まあよく考えたらUTF-8で文字逆転させるとか地獄のような話になるしそもそも長さが変わるケースとかあったりしそうで怖いわな・・・(´・_・`) — Hideyuki Tanaka (@tanakh) May 1, 2021 背景等はよくわからないですが、文字列の反転というのは確かに難しい問題ですし、どう難しいのかというのを、ちょっと真面目に考えて解説してみました。というノートです。 文での表記についてこれから文字とそのバイト表現の話をしていきます。文字のエンコードの方式で同じ数値でも色々意味が分かれてしまいますので、文では以下のように表記することにします。 Unicodeコードポイント(以下、単にコードポイント

    文字列を反転させたい|nona
    katoken12
    katoken12 2021/05/03
  • Dockerfileのベストプラクティス Top 20

    文の内容は、2021年3月9日にÁlvaro Iradierが投稿したブログ(https://sysdig.com/blog/dockerfile-best-practices/)を元に日語に翻訳・再構成した内容となっております。 Dockerfileのベストプラクティスのクイックセットをイメージビルドに適用することで、セキュリティ問題を防ぎ、コンテナ化されたアプリケーションを最適化する方法を学びます。 コンテナ化されたアプリケーションやマイクロサービスに精通している人なら、自分のサービスがマイクロサービスであることに気づいているかもしれません。しかし、脆弱性の検出、セキュリティ問題の調査、デプロイ後の報告や修正など、管理のオーバーヘッドがマクロな問題になっています。 このオーバーヘッドの多くは、セキュリティをシフトレフトし、開発ワークフローの中で可能な限り早く潜在的な問題に取り組むこ

    Dockerfileのベストプラクティス Top 20
    katoken12
    katoken12 2021/04/26
  • GCPUGまとめ「Cloud Spannerでセカンダリインデックスを使うときの勘所」 | BLOG - DeNA Engineering

    この記事は先日開催された「 GCPUG Tokyo Spanner Day May 2020 」で発表した内容のまとめです。 概要 Cloud Spannerではセカンダリインデックスもテーブル インデックスを作成するタイミングには注意が必要 インデックス設計の際にはクエリの実行プランを確認 Spannerのセカンダリインデックスの基 Cloud Spanner(以下、Spanner)で特定のレコードを主キー以外の列で見つけたいときにセカンダリインデックスは役に立ちます。 Spannerのセカンダリインデックス(以下、インデックス)は、非インデックスのテーブルと同様に、テーブルとして格納されています。 そのため、通常のテーブルと同様にスキーマ設計では ホットスポット の発生に注意したり、 読み取りパフォーマンス向上のために インターリーブ したりなど考慮することがあります。 インデックス

    GCPUGまとめ「Cloud Spannerでセカンダリインデックスを使うときの勘所」 | BLOG - DeNA Engineering
    katoken12
    katoken12 2021/03/31
  • 軽量Dockerイメージに安易にAlpineを使うのはやめたほうがいいという話 - inductor's blog

    はじめに やめろ、ではなく、やめたほうがいい。です。自分のユースケースに合ってるか今一度確認することを推奨します。基的にはAlpineは避けたほうが良い、というのが2021年時点での私の認識です。 なんで? libcに一般的な互換性が不足しているからです。RubyPython、Node.jsなどでNativeモジュールをバンドルしているアプリケーションの場合、パフォーマンスの劣化や互換性の問題にぶち当たる場合があります。 superuser.com あとは他のベースイメージの軽量化もそれなりに進んできていて、Alpineが定番軽量イメージと言う認識は2018年頃には消えつつあったかなという認識でいます。 どうすりゃええねん ※Debian Slimがあるやんってツッコミ結構もらったんですが、Slimは当たり前過ぎてもう紹介しなくていいかなっていう甘えで省略していました。よろしくおねがい

    軽量Dockerイメージに安易にAlpineを使うのはやめたほうがいいという話 - inductor's blog
    katoken12
    katoken12 2021/03/08
  • MobageのオンプレミスからAWSへの移行【DeNA TechCon 2021】/techcon2021-8

    14年の歴史を持ち、1000台以上の物理サーバーを利用していた Mobage をオンプレミスから AWS へ移行しました。 また、同時に OS を CentOS6 から Ubuntu18 に更新しました。 ・長らくオンプレミスで運用してきたサービスをなぜクラウドに移行するのか ・サービスをメンテナンスに入れずに移行をする工夫 ・現在の課題やそれについての改善計画 などについて、インフラエンジニアの観点からお話します。

    MobageのオンプレミスからAWSへの移行【DeNA TechCon 2021】/techcon2021-8
    katoken12
    katoken12 2021/03/04
  • Kubernetes 専門家として知るべき 47 のこと - 誰かの役に立てばいいブログ

    この記事は私が過去 3 年ほど Kubernetes に携わる中で学んだ、ちょっと見つけにくい知識をまとめたものです。 特にカスタムコントローラーを開発するような人に必要となる知識群です。 感想とか指摘とかあれば Twitter までお寄せください。 更新履歴 2021-03-05: "コンテナの resources.limits と resources.requests の違いについて" の項を補足しました (thanks to @superbrothers) API コントローラー実装 プログラムと連携動作 資源管理 ネットワーク モニタリング アクセスコントロール API kube-apiserver が備える拡張機構を列挙しなさい 回答例 Custom resources: OpenAPI スキーマで独自のリソース型を追加できる Aggregation layer: kube-ap

    Kubernetes 専門家として知るべき 47 のこと - 誰かの役に立てばいいブログ
    katoken12
    katoken12 2021/03/04
  • 巨大モノリスをKubernetesに移行してシングルクラスタ運用にするためにどうしたか | メルカリエンジニアリング

    この問題を解決するため、もともとのコードベースであるところのモノリスもコンテナ化してKubernetesに乗せることにしました。ツールセットの統一をすることでよりシンプルな体系ができ、プラットフォームチームも一つの環境向けの改善に注力できるようになります。 プロジェクトの流れ PoC 計画についてあたため始めた際にちょうどよくUSチーム内でのハッカソンイベントがあったため、それに合わせて試しにKubernetesで動かすデモを発表しました。デモで見せる部分はごく限られたものだったため3人で3日くらい集中して開発したところ動くものができあがりました。 デモの評判は上々でEM、CTOに説明し実際にプロジェクトとしてすすめられることになりました。 現状分析 プロジェクト始動後、まず実施することは現状分析とどう移行するかの設計です。ここでのどの程度システムを把握できるかが計画の精度を決めます。しか

    巨大モノリスをKubernetesに移行してシングルクラスタ運用にするためにどうしたか | メルカリエンジニアリング
    katoken12
    katoken12 2021/03/03
  • Clubhouseを支えている技術とアーキテクチャ、セキュリティについて - LayerX Research

    #LayerX_Newsletter 2021-02-19 TL;DR Clubhouseは極めてシンプルなアーキテクチャ 音声データはAgoraを、リアルタイム性の高い情報の扱い(ルームの中など)はPubNubを利用 音声データが暗号化されていないなどセキュリティ面での課題も多い Clubhouseは招待制の音声配信SNSで、2020年Aplha Exploration社が開発したこのサービスは、つながりがある人同士でラジオ放送のように自由に会話を楽しんだり、興味ある人はその会話を傍聴、さらには会話に飛び入り参加もできる特徴がある。2021年に入り世代・国籍・性別を問わず爆発的人気となっており、日では2021年1月からスタートアップ界隈を中心に一気に話題が広がっている。また、テスラの創業者や有名人・著名人などが利用しはじめたことで大きな注目を浴びた。今回はClubhouseはどのような

    Clubhouseを支えている技術とアーキテクチャ、セキュリティについて - LayerX Research
    katoken12
    katoken12 2021/02/22
  • Engineering Ladder | メルカリエンジニアリング

    エンジニアの成長段階ごとに期待される行動を明文化

    Engineering Ladder | メルカリエンジニアリング
    katoken12
    katoken12 2021/02/12
  • MySQLバージョンアップによるInnoDB性能劣化可能性事件簿

    一般論ですが、どんな基盤ソフトでもCPUスケールを上げようとすれば、何らかの排他制御を細かく行うことになるのでCPUのパイプライン処理にブレーキをかけるアトミックな処理が増えて、バージョンが上がるとある程度はシングルスレッドの処理は重くなっていきます。前エントリのような言語の高度化により遅くなる事情もあります。(中には、Redisのように並列を捨てて排他処理を完全排除する潔い逆振りプロダクトもありますが。) とはいえ、「これは(条件付きとはいえ)急に遅くなりすぎだろ!」と私も思うバージョン(回避策はある&一開発者の一存ではどうにもできない)があるので遡って何点か挙げて注意喚起したいと思います。 これらはある程度限られた条件で発生するので世間では怪奇現象扱いされている可能性もあります。 何故こんなことになるのかというと、基盤となるmysqld側の変更に上手くついていけなくなってるか、性能上メ

    katoken12
    katoken12 2021/02/08
  • PHP's OPCache extension review

    katoken12
    katoken12 2021/02/03
  • GitHubでの業務ソースコード流出 背景にIT業界の二極化と多重下請け構造|楠 正憲(デジタル庁統括官)

    45歳のプログラマーの男が仕事で書いたコードを年収判定のためGitHubに上げて、複数企業の業務で使われていたコードの一部が流出した。GitHub来、公開して構わないオープンソース等のコードを共有する場で、年収判定サイトは、コミュニティでの活動を評価に結びつけようというコンセプトだった。しかし男は業務として開発した商業機密として保護すべき顧客のソースコードを不当に持ち出して、自分の年収を判定してもらうために丸ごと公開してしまった。 GAFAはじめネット企業を中心に、自社サービスを構成する部品で汎用的に使えるコードをGitHubなどを通じてオープンソースとして公開する動きが広がっている。一方で伝統的なシステム開発では、ソースコードは委託した業務の重要な成果物、秘匿すべき商業機密として組織内で管理することが一般的で、開発環境からはGitHubなどのサイトにアクセスできないよう遮断している場

    GitHubでの業務ソースコード流出 背景にIT業界の二極化と多重下請け構造|楠 正憲(デジタル庁統括官)
    katoken12
    katoken12 2021/02/01
  • 36歳父親のエンジニアが転職をして気づいたこと - mkurokiのメモ

    こんにちは、mkurokiです。 はじめに 実は今年転職をしまして、ゲームインフラという領域は変わらないのですが、勤める会社が変わりました。 転職をするのは3回目、新卒で入った会社から数えて4社目になります。 // Job Hopper とまではいかないかと思いますが、まぁまぁの転職回数になってきましたね。 36歳で転職をした共働き父親エンジニア/マネージャーという立場から、このタイミングで転職をするとどんな事が起こるのか、転職によって気づいたことなどを書いてみたいと思います。 もし似たような境遇で転職を考えている方の参考になりましたら幸いです。 ※ 広義のソフトウェアエンジニアという意味で「エンジニア」という単語を使っています。 なぜ転職をしたか 転職の目的としては 一度マネージャーからプレイヤーに戻り、技術的な領域を伸ばしたい というところです。僕は前職で4年ほどインフラチームのマネー

    36歳父親のエンジニアが転職をして気づいたこと - mkurokiのメモ
    katoken12
    katoken12 2020/12/24
  • MySQL :: InnoDB Clone and page tracking

    First we will talk about some of the other internal users of the technology that underpins the InnoDB Clone. MySQL Enterprise Backup (MEB) is an enterprise offering that provides backup and recovery for MySQL. Among various types of backups available, the following two types are of interest to us: Full Backup – A backup that backs up the entire MySQL instance – all the tables in each MySQL databas

    katoken12
    katoken12 2020/12/23