jooohnのブックマーク (960)

  • Webページ高速化に必須の知識!ブラウザがWebページをどのようにレンダリングしているか、図を用いて解説

    ブラウザがWebページをどのようにレンダリングしているか、図を用いてやさしく解説した記事を紹介します。 レンダリングの仕組みを理解することで、HTMLCSSJavaScriptなど実装時にも気をつける点があります。 How the browser renders a web page by James Starkie 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに 1. HTMLの解析(パース)を開始する 2. 外部リソースを取得する 3. CSSを解析し、CSSOMを構築する 4. JavaScriptを実行する 5. DOMとCSSOMをマージしてレンダリングツリーを構築する 6. レイアウトとペイントを計算する はじめに 私の考えとしては、高速で信頼性の高いWebサイトを構築するには、実装中に各ステップを最適

    Webページ高速化に必須の知識!ブラウザがWebページをどのようにレンダリングしているか、図を用いて解説
    jooohn
    jooohn 2020/11/12
  • 農具ライクRPG『サクナヒメ』がTwitterでトレンド入り。本格的な米作りが話題に、「農林水産省公式HPが攻略wiki」と注目集める

    Nintendo Switch、PlayStation 4版の米作りアクションRPG『天穂のサクナヒメ』が11月12日(木)に発売され、Twitterのトレンドに「サクナヒメ」のキーワードが登場した。作は和風の世界設定を持つアクションゲームで、大変緻密な米作り描写がその話題の中心となっている。 実際にTwitterで「サクナヒメ」を検索すると、候補となるサジェストには「農林水産省」が出てくる。ユーザーの間では、『天穂のサクナヒメ』の米作りの攻略には農林水産省のページの「お米の作り方」(参考リンク)が攻略に使えるほどしっかりとしていると注目を集めている。 『天穂のサクナヒメ』は、稲を育てて主人公を強くする稲作シミュレーション&アクションRPGだ。プレイヤーは武神と豊穣神の娘サクナとして、鬼が支配する島を調査することになる。 農作ゲームは数あれど、稲作に絞ったゲームはほかにあまり見ない。それ

    農具ライクRPG『サクナヒメ』がTwitterでトレンド入り。本格的な米作りが話題に、「農林水産省公式HPが攻略wiki」と注目集める
    jooohn
    jooohn 2020/11/12
  • Semantic Versioningの闇 - knqyf263's blog

    今回も誰も興味ないシリーズなので今まで書いてこなかったのですが、Semantic Versioningに関して幻想を抱いている人がいる可能性があり、そういう方にどうしても現実を知っておいて欲しかったので書きました。3行要約(と可能なら余談)だけでも読んでいただけると幸いです。 3行要約 Semantic Versioning 2.0.0にはバージョン"比較"の定義はあるが、バージョン"制約"(>= 2.1.3みたいなやつ)の定義がない その結果、同じsemver準拠ライブラリでも制約の解釈が異なり結果が真逆になる というかそもそもsemver使ってるエコシステムが少なすぎる 背景 セキュリティアドバイザリでは特定のバージョンが脆弱であることを示すためにバージョン制約が使われることが多いです。例えば >=1.2.0 <1.2.6みたいなやつです。この場合、1.2.5は脆弱だが1.2.6は修正

    Semantic Versioningの闇 - knqyf263's blog
    jooohn
    jooohn 2020/11/11
  • 「フロントエンド領域」を再定義する

    Frontend Study #1 訂正: 最後のzennの記事のリンク先は、正しくは https://zenn.dev/mizchi/articles/c638f1b3b0cd239d3eea です

    「フロントエンド領域」を再定義する
    jooohn
    jooohn 2020/11/10
  • 1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary

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

    1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary
    jooohn
    jooohn 2020/11/05
  • DBML - Database Markup Language | DBML

    # Intro DBML (Database Markup Language) is an open-source DSL language designed to define and document database schemas and structures. It is designed to be simple, consistent and highly-readable. It also comes with command-line tool and open-source module to help you convert between DBML and SQL. Table users { id integer username varchar role varchar created_at timestamp } Table posts { id intege

    jooohn
    jooohn 2020/11/03
  • Vercel Analytics: Real-time Insights, Peak Performance | Vercel

    Better insights. Peak performance.Upgrade your post-launch workflow with actionable insights, then experiment until you reach peak conversion rates.

    Vercel Analytics: Real-time Insights, Peak Performance | Vercel
    jooohn
    jooohn 2020/10/28
  • GitHub - mercari/engineer-vocabulary-list: Engineer Vocabulary List in Japanese/English

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mercari/engineer-vocabulary-list: Engineer Vocabulary List in Japanese/English
    jooohn
    jooohn 2020/10/10
  • 良い歯医者を見つける唯一の方法|ふぁくつ

    前回のnoteでは、良い歯医者を見つけるのは非常に困難で、悪質な歯医者がのさばっている、という話をしました。 歯医者は医療のよしあしの結果が出るのが数年~数十年後。その上、同じ歯を複数の歯医者に同時に治してもらうのは不可能なので、原理的に比較ができない。 だから素人は歯医者をカンで選ぶしかないんだけど、むしろ耳ざわりの良い言葉を投げかけてくる詐欺師にひっかかってしまうことが大半である。 という話をしました。 今回はそれに対し、こうやったら良い歯医者を見つけられる、という方法をご紹介します。 もちろん原理的に100%の精度で歯科医院のよしあしを判断するのは不可能です。しかしながら、現時点で日で最も高い精度‥‥いや唯一の歯科医院のよしあしを判断する方法であることを断言します。 この方法をきちんと用いれば、これまでカンで選んでいたのに比べはるかに良い医院を選べることをお約束します。 これから歯

    良い歯医者を見つける唯一の方法|ふぁくつ
    jooohn
    jooohn 2020/10/07
  • Amazon SES でメール送信するときのベストプラクティスまとめ(2020年10月) | DevelopersIO

    Amazon SES API についての補足の説明です。 From, To, Subject, Body のみ指定すれば、残りはすべて AmazonSES が適切にフォーマットした Eメールメッセージで簡単にメール送信できるのが SendEmail API です。 添付ファイルを使うなど、独自に細かく制御したフォーマットにカスタマイズしてメール送信をしたい場合は SendRawEmail API を利用します。 基となるテンプレートメールを作成して、テンプレート内の変数に対してパーソナライズされた値に置換した内容で Eメールメッセージを送信できるのが SendTemplatedEmail および SendBulkTemplatedEmail のAPIです。 詳細については、AmazonSESのEメール送信方法 を確認下さい。 SESのSMTPエンドポイントを使ったメール送信例は下記ブログ

    Amazon SES でメール送信するときのベストプラクティスまとめ(2020年10月) | DevelopersIO
    jooohn
    jooohn 2020/10/06
  • マルチスレッド・プログラミングの道具箱

    まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し

    マルチスレッド・プログラミングの道具箱
    jooohn
    jooohn 2020/09/28
  • インターネットの本質から理解できるプロトコル「BGP」についてまとめた! - Qiita

    BGPを通してインターネットが何なのか理解しよう リンク ・Macのオススメな初期設定15選(メールアプリ設定編) ・Macのオススメな初期設定30選 (システム環境設定編) ・Macのオススメな初期設定20選(Finder設定編) ・Chromeのオススメな初期設定10選(Mac) ・Macのオススメなアプリ40選 インターネットってそもそも何? インターネットの仕組みを知らない人に インターネットってどんな仕組みなの?って言われたらなんて答えますか? この答えをここで示したいなと思って書きました。 記事では以下のような 「インターネットは世界中の誰とでも繋がることができるんだよ」 みたいな話はしません。 なるべく専門用語を少なくして、インターネットの仕組みを理解することを目的とします。 書籍では氷山の一角しか書かれないため非常に全体像が分かりにくくなっています。 そして専門用語が多す

    インターネットの本質から理解できるプロトコル「BGP」についてまとめた! - Qiita
    jooohn
    jooohn 2020/09/27
  • CTO15年やってみた (その1かも) | GREE Engineering

    とても久しぶりのエントリになります、グリー株式会社でCTOをやっておりますふじもとです。Pixel Budsを買ったはいいものの、イヤフォンの位置なおすたびにジェスチャ認識されて通知読み上げられることに悩んでいます。たぶん耳にちゃんとフィットしてないのが原因です。 気がつけば、今年でCTOというタイトルでお仕事をしてはや15年が経ち16年目に突入しておりまして、よい機会なので今どんなことを思うか、何が変わったか、などなど勢いで書いてみようと思った次第です...というそれっぽい理由はほんの少しで、ほんとのところそんな立派な理由でもなく、来たる 2020/09/18 (fri) に GREE Tech Conference 2020 (online) が開催されるので、その宣伝をしたいなーと思ったのです。ということで...! GREE Tech Conference 2020 2020/09/

    CTO15年やってみた (その1かも) | GREE Engineering
    jooohn
    jooohn 2020/09/08
  • Terraform で AWS Certificate Manager 無料証明書を発行する(AWS Provider 3.0.0 以降の場合) | DevelopersIO

    先日、TerraformAWS Certificate Manager(以下、ACM) の無料証明書をリクエストおよび検証まで実装する機会がありました。ちょっと詰まったところがありましたので同じように悩んでココへ辿り着く誰かのためにまとめておきます。 AWS Provider 3.0.0 から仕様変更されています 今回の記事は AWS Provider 3.0.0 以降を対象とします。今回の実行環境は以下のとおりです。 $ terraform version Terraform v0.12.29 + provider.aws v3.4. AWS Provider 2.x 以前は以下のエントリーを参考にしてください。 Error: Invalid index 従来は aws_acm_certificate で作成した無料証明書の検証用レコードは list タイプで domain_val

    Terraform で AWS Certificate Manager 無料証明書を発行する(AWS Provider 3.0.0 以降の場合) | DevelopersIO
    jooohn
    jooohn 2020/09/03
  • 【暫定版】 Kubernetesの性能監視で必要なメトリクス一覧とPrometheusでのHowTo - kashinoki38 blog

    2021/03/01 追記 記載していたリポジトリにあるマニフェスト系があまりに不親切だったので、ちゃんとまとめてみました。 後日、もうちょっとちゃんと記事書こうとは思いますが、大体はREADMEにあるので読んでみてください。 sock-shopをベースにObservability(Prometheus, Loki, Istio(Jaeger, Kiali))とProgressive Delivery&自動負荷試験スタック(Flagger, Jmeter, influxdb)をHelmとKustomizeで詰め込みました。 今回はちゃんと誰もが入れれるようにがんばってみたので、どうぞ。 github.com この内容でCloudNativeDaysOnline2021に登壇することにしています。 event.cloudnativedays.jp 後、随分前ではありますが、投稿に関連してK

    【暫定版】 Kubernetesの性能監視で必要なメトリクス一覧とPrometheusでのHowTo - kashinoki38 blog
    jooohn
    jooohn 2020/08/21
  • Computer Science | Harvard University

    An introduction to the intellectual enterprises of computer science and the art of programming.

    Computer Science | Harvard University
    jooohn
    jooohn 2020/08/20
  • 【全資料まとめ&開催報告】Amplify Meetup #01 | Amazon Web Services

    Amazon Web Services ブログ 【全資料まとめ&開催報告】Amplify Meetup #01 みなさんこんにちは!アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクトの木村公哉(@kimyan_udon2)です。梅雨が明けて、気づけばお盆も明けた今日この頃ですが、皆様いかがお過ごしでしょうか? 7月31日に「Amplify Meetup #01」を開催しました。「Amplify Meetup」はAWS AmplifyのユーザーとAWS Amplifyに興味のあるエンジニアのみなさんでLTなどを通して盛り上がるコミュニティーイベントです。今回初めて開催しましたので、開催報告と合わせて「Amplify Meetupとは?」という点についてもご紹介いたします。 「Amplify Meetup」とは? 「Amplify Meetup」はAWS Amplifyに興味の

    【全資料まとめ&開催報告】Amplify Meetup #01 | Amazon Web Services
    jooohn
    jooohn 2020/08/17
  • Cilium - Cloud Native, eBPF-based Networking, Observability, and Security

    Cilium is an open source, cloud native solution for providing, securing, and observing network connectivity between workloads, fueled by the revolutionary Kernel technology eBPF

    Cilium - Cloud Native, eBPF-based Networking, Observability, and Security
    jooohn
    jooohn 2020/08/13
  • コマンド一発でLambdaをチューニングする | DevelopersIO

    AWS Lambda Power Tuningというものがあります Lambdaのメモリ割り当てを自動で最適化するためのツールです。 Lambda関数に割り当てられるコンピューティングリソースとして設定できるのはメモリだけです。が、設定したメモリ量に比例してCPUやネットワーク帯域の性能も向上します。また、スペックを上げたことで処理時間が短縮化され、結果としてコストダウンに繋がる場合もあります。というわけでLambda関数においてメモリ量の設定は重要なのですが、実際のところ最適な設定を見つけ出すのは面倒な作業です。設定変更→実行→結果確認→設定変更→実行→結果確認...なんてやりたくないですよね。 Lambda Power Tuningを使うと、Step Functionsステートマシンが作成されます。このステートマシンが同一の関数を複数の異なるメモリ設定で実行し、その結果をレポートしてく

    コマンド一発でLambdaをチューニングする | DevelopersIO
    jooohn
    jooohn 2020/07/31
  • Amazon RDS が使用する IAM ロールをうっかり絵を描いて整理してみた | DevelopersIO

    コンバンハ、千葉(幸)です。 突然ですが問題です。 Amazon RDS では、データベースのログファイルを CloudWatch Logs に出力することができます。RDS のセットアップ時にログ出力を有効にすれば、CloudWatch Logs ロググループの作成や、ログストリームへのログのプッシュが行われます。 (エンジンにより出力できるログの種類や必要な設定に細かい違いがありますがここではあまり気にしない方向で……。) 上記で太字にしたようなアクションは、次のうちのどのロールに割り当てられた権限によって実現されているでしょうか。最も適切なものを選択してください。(10点) a. RDS が使用する AWS サービスにリンクされたロール b. RDS が使用する AWS サービスロール c. RDS の DB インスタンスもしくはクラスターに関連づけられたロール d. 上記のうちどれ

    Amazon RDS が使用する IAM ロールをうっかり絵を描いて整理してみた | DevelopersIO
    jooohn
    jooohn 2020/07/31