タグ

あとで読むに関するMonMonMonのブックマーク (394)

  • (翻訳) ビッグテックのプロジェクトマネジメントとスクラム不在の謎 - forest book

    稿は Gergely Orosz 氏によって書かれた次の記事の日語翻訳です。著者に翻訳の許可を得て公開しています。 blog.pragmaticengineer.com また稿は DeepL Pro を使って下訳したものに手を加えています。日語翻訳の不具合または誤訳については Gergely Orosz 氏ではなく、稿のコメント欄にお願いします。 著者も機械翻訳を下地にしたやり方に関心をもたれたようです。 The article translated to Japanese: https://t.co/4uynyyhm4E The author was transparent and noted that the article is a modification of an ML-translated article. This person managed to transl

    (翻訳) ビッグテックのプロジェクトマネジメントとスクラム不在の謎 - forest book
  • 「NAT」「NAT越え」「NATタイプ」ってなーに?

    「NAT(ナット)※1」はオンラインゲームを支える重要な技術のひとつです。 「NAT越え※2」に失敗するとマルチプレイができなくなりますし、「NATタイプ※3」の違いはマルチプレイのしやすさに影響します。 ところが、NAT は仕組みが難しく、初心者向けの記事も少ないため、イカスミカフェには NAT についての質問がよく寄せられます。 そこで今回は、Nintendo Switch(ニンテンドースイッチ)を例にして、世界一わかりやすく NAT を解説してみたいと思います。

    「NAT」「NAT越え」「NATタイプ」ってなーに?
  • Cookie2 とは何か | blog.jxck.io

    Intro タイトルを見て「Cookie の新しい仕様か、キャッチアップしよう」と思って開いたのなら、以降を読む必要はない。 Cookie History 2000 年に発行された Cookie の仕様である RFC 2965 では、仕様中に Set-Cookie2/Cookie2 (以下 Cookie2) という 2 つのヘッダが定義されている。しかし 2011 年に改定された現行の RFC 6265 ではそれらヘッダは deprecate されており、実際の Web でこれらのヘッダが交換される場面を、少なくとも筆者は見たことがない。存在すら知らない開発者も多いだろう。 筆者はずっと、この仕様がどのように出てきて、どうして消えていったのかが気になっていた。 Web 上にも情報が少なく、「歴史上の理由で」とか分かったようなことを言ってる人がたまにいるくらいだ。四半世紀前のことなので経緯を

    Cookie2 とは何か | blog.jxck.io
  • 開発生産性 実践入門

    書は基的には無料で公開しています。 開発生産性という言葉が世に広まりつつあります。 このカテゴリに関する記事の多くを見てきましたが、開発生産性という言葉の概念や考え方に対するものが多く、具体的な打ち手やアクションに対するアウトプットが少ないと感じていました。 そこで書は、開発生産性を向上させるための基的な打ち手と、それに対する具体的なアクションを読者に届けたいと思い執筆しています。 実際に読んで、読者の皆さんに何かしらの気づきを届けることが出来たのであれば、投げ銭感覚で購入ボタンを押していただけたら幸いです。

    開発生産性 実践入門
  • 第2章 詳解QUIC ~ TCPに代わり下位層で使用する新しいトランスポートプロトコル | gihyo.jp

    章では、HTTP/3がTCPに代わって下位層で用いるQUICについて解説します。 QUICはトランスポートプロトコル QUICはトランスポートプロトコルです。QUICの説明に入る前に、トランスポートプロトコルついておさらいします。 TCP/IPの4階層モデル プロトコルは階層で役割を分担しています。TCP/IPの4階層モデルでは、アプリケーション層、トランスポート層、インターネット層、ネットワークインタフェース層に分かれます(図1⁠)⁠。 図1 TCP/IPの4階層モデル アプリケーション層に分類されるアプリケーションプロトコルは、クライアントやサーバで動作するアプリケーションの動作に関するデータやメッセージの通信ルールを規定します。たとえばSMTP(Simple Mail Transfer Protocol)は、メールを送信する通信ルールを規定しています。HTTPはこの層に属します。

    第2章 詳解QUIC ~ TCPに代わり下位層で使用する新しいトランスポートプロトコル | gihyo.jp
  • パケットキャプチャで理解する TLS1.3

    TLS は Transport Layer Security の略で、盗聴、あるいは通信相手のなりすましの可能性がある通信路において、安全に通信を行うための暗号通信プロトコルです。 書では、Go 言語を使って TLS サーバ・クライアントを用意し、その通信を Wireshark で観察しながら、TLS のプロトコルについて説明します。 書を読むことで、TLS の通信で実際にどのようなパケットが送受信されているかが確認でき、TLS の学習の助けになると思います。 また、TLS には複数のバージョンがありますが、記事では、最も広く使われており、かつ最新である TLS1.3 に焦点を当てます。

    パケットキャプチャで理解する TLS1.3
  • IT英語スタイルガイド | IT英語スタイルガイド

    大手ITスタイルガイドがベースGoogleMicrosoftなど大手IT企業の英語スタイルガイドの基準がベース。一般的な英語表記から外れません。

    IT英語スタイルガイド | IT英語スタイルガイド
  • Rust の Web フレームワーク Axum のミドルウェアと戯れる

    はじめに これは Rust Advent Calendar 2022 4 日目の記事です。API サーバーを作る時にリクエストごとに一意な ID を割り振りたいケースがあると思います。Rust の Web フレームワーク Axum でそういったリクエスト ID を実現する方法を調べました。またアクセスログを出力するのもギリギリ間に合ったのでその方法も調べました。 Axum でリクエスト ID を付与する&アクセスログを出力する ここからは Axum で各 HTTP リクエストにユニークな ID を付与する 各 HTTP リクエストの際にアクセスログを出力する ことを目標に進めていきます。 Axum とは GitHub リポジトリはこちら。Rust の非同期ランタイムで有名な tokio で作られていて、Tokio, Tower, Hyper を裏で使っています。example が充実してい

    Rust の Web フレームワーク Axum のミドルウェアと戯れる
  • 近年のDNSはプロトコル拡張が活発すぎる!? 現時点で意識しておくべきリソースレコードとは【DNS Summer Day 2022】

    近年のDNSはプロトコル拡張が活発すぎる!? 現時点で意識しておくべきリソースレコードとは【DNS Summer Day 2022】
  • Writing NES Emulator in Rustをやった

    Writing NES Emulator in Rustというサイトがある。これはRustでファミコンエミュレータ(通称: NES)を実装する方法をステップバイステップで解説してくれる親切サイトだ。NES初心者でも比較的容易に取り組めるので自力でNESエミュレータの実装するのはちょっと...といった人に特におすすめ。自分は数年前にNESの実装にチャレンジしたが途中で挫折した経験もあったのだけど、このサイトで言われた通り少しずつ進めていくことでなんとか一通り実装をし終えることができた(まぁまだバグだらだけど...)。 今回はその中でも初心者が事前に知っておいたら良さそうと思った知識や概念なんかを雑に書いてみる。 ちなみに各構成要素の詳細な解説や仕様などについては日語・英語問わず先人の遺産がネット上に大量に存在しているのでググってほしい。とりあえず自分が何回も参照したサイトだけ下記に列挙して

    Writing NES Emulator in Rustをやった
  • Rust Memory Container Cheat-sheet - Qiita

    Repos: https://github.com/usagi/rust-memory-container-cs 文字で読み書きするとやや大変です。しばらく間を開けてRustを触ったりするとスコシ混乱するかもしれません。と、いうわけでRustでメモリーコンテナー系に触れるモードになった時用に1枚絵のチートシートを整理しました。 文字を書けるQiitaにポストするのでちょっとだけチートシートの解説も乗せます。 おまけ解説 Threads; スレッド群 (rev.0 -> rev.1 でこのチートシート上で最初に現れる選択肢に切り替わりました ⇔ Ownership; 所有権) Rustではマルチスレッディング実行の安全性を向上するため、 適当に確保したメモリーをスレッド間でうっかり共有できない(少なくとも簡単にはうっかりできない程度に難しい)仕組みがあります。その仕組みの核心は標準ライブラリ

    Rust Memory Container Cheat-sheet - Qiita
  • SQS + Lambda という⾮同期処理 ⻩⾦パターン再⼊⾨ #AWSDevDay / SQS-Lambda-DevDay2022

    Talked at AWS Dev Day Japan 2022. - 解説動画 : https://www.youtube.com/watch?v=hT7Se0oFEkU - イベントページ: https://aws.amazon.com/jp/events/devday/japan/ - Pr…

    SQS + Lambda という⾮同期処理 ⻩⾦パターン再⼊⾨ #AWSDevDay / SQS-Lambda-DevDay2022
  • GoogleのShell Style Guideの邦訳 - Qiita

    背景 (Background) どのシェルを使うか (Which Shell to Use) Bash は実行が許可された唯一のシェルスクリプト言語である。 実行可能ファイルは #!/bin/bash と最小限のフラグで始めなければならない。シェルオプションの設定に set を利用することで、 スクリプトを bash script_name として呼び出してもその機能を損なわないようにせよ。 全ての実行可能シェルスクリプトを bash に制限することで、全てのマシンにインストールされた一貫したシェル言語を得る。 これに対する唯一の例外は、コーディング対象によって強制される場合である。この1つの例として、Solaris SVR4 パッケージは、どんなスクリプトにも plain Bourne shell であることを要求する。 いつシェルを使うか (When to use Shell) シェル

    GoogleのShell Style Guideの邦訳 - Qiita
  • 本の紹介『読みやすいコードのガイドライン』 - ソフトウェア設計を考える

    はじめに 良いです。コードを書く人であればだれでもが気づきと学びがあるでしょう。 特に、コードの規模が大きく長期間にわたってさまざまな関係者が読むことになるプログラムを書く人にはぜひ読んでほしいです。 gihyo.jp このから学べるのは、どちらかというと「やり方」よりも「考え方」です。 書き方の具体例というよりは、良いコードを書くための考え方を、著者の知見に基づいて丁寧かつ具体的に説明しています。 別の言い方をすると、とにかくコードの具体例で「やり方」を覚えたい、という人には合わないかもしれません。 コードの具体例もたくさん登場しますが、それは「考え方」を説明するための例であって、コードの書き方のお手やサンプルを集めたではありません。 サンプルコードはKotlinです。内容は、どちらかといえばユーザーインタフェースよりという印象です。しかし、Kotlinを知らなくてもほぼ問題な

    本の紹介『読みやすいコードのガイドライン』 - ソフトウェア設計を考える
  • ブラウザのキーボードを制御する inputmode

    October 26, 2019 created( August 1, 2022 updated ) input[type]によるキーボードの表示制御Googleの記事、web foundamentals 最適なフォームの作成では、type属性による入力しやすいキーボードの表示コントロールが説明されていました。 例えば、type="email"を指定すると、 <input type="email"> emailが入力しやすいキーボードが表示されます。 しかし、この指定方法には副作用もありました。 例えば、type="number" を指定した場合、 <input type="number"> このように、入力フィールド内に余計な入力補助要素 が表示したり、フィールドにhoverした状態でmouse wheelを動かすと 入力済みの値が勝手に増減 したりします。 前者はCSSで後者はJava

    ブラウザのキーボードを制御する inputmode
  • テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum

    テキストエディタのデータ構造 Gap method Piece Table method Piece Table の構造 Piece Table の実装 Piece Table のメソッド まとめ テキストエディタのデータ構造 テキストエディタで採用されているデータ構造にはいろいろあります。 こちらの論文 Data Structures for Text Sequences では各種データ構造について比較検討されています。 多くは、Gap method や Piece table method をベースにしたものが多いのではないでしょうか(図で言う最下部の中心の丸印に当たります)。最近では Rope なども有名ですね。 Gap method Gap method では、現在のカーソル位置で、テキストバッファを2つに分割し Gap を間に挟み、カーソル位置に対する編集(テキスト追加/削除)を

    テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum
  • Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社

    こんにちは。yoshiです。夏のTechrachoフェア2022ということで、夏とは何の関係もない記事を書いていこうと思います。 業務ではC++をやっていながら前回、前々回にTechrachoで書いた記事に引き続きRustをやっていく訳ですが、定期的に炎上しがち(?)なオブジェクト指向の話です。みなさん、オブジェクト指向は好きですか? オブジェクト指向って何だろう? A. なんもわからん なんて言ってしまったら話が終わってしまうのですが。 歴史的な話をするとオブジェクトという用語はSimulaが初出で、オブジェクト指向はアラン・ケイがSmalltalkで導入したもの、という話になりますが、一方でビャーネ・ストロヴストルップがC++に導入した「カプセル化・継承・ポリモーフィズム」の組み合わせのことを指すことが多く、SmalltalkのそれとC++のそれにも違いがあるので定義が定まらない概念で

    Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社
  • 安全な証明書自動更新のやり方 - Cybozu Inside Out | サイボウズエンジニアのブログ

    cybozu.com Cloud Platformチームのhsnとtomoです。今回はサイボウズで証明書更新の自動化を安全に行うための工夫をご紹介します。 背景 サイボウズではcybozu.comのサービスを提供するために数多くの証明書を取得し、管理しています。 今まではそれらをすべて手動で取得し、入れ替えを行っていました。 しかし、元来の運用ではいくつかの問題が浮上してきました。 手動更新の際は認証局によって更新手順が異なります。 具体的にはドメインの所有確認(DCV: Domain Control Validation)と証明書のダウンロード手順を、それぞれの認証局が独自に提供しています。 そのため、ドメインの更新手順書は複雑に長くなってしまいます。結果として更新の準備に時間がかかり、実施の際にミスも発生しやすくなっていました。 サイボウズでは証明書の有効期限が切れる1か月前に管理用の

    安全な証明書自動更新のやり方 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • IoT Connect GatewayのSDP開発に迫る - NTT Communications Engineers' Blog

    目次 はじめに SDP開発とは SDP開発とは SSS/SDPフレームワーク ICGW-SDP基盤 全体構成 CI/CD ICGWの可視化 APIリクエスト数 リソース利用状況 おわりに はじめに こんにちは、5G & IoT部/IoTサービス部門のIoT Connect Gateway (ICGW)サービス開発チームの岩田です。 我々のチームでは2021年度下期に私の主導のもと、ICGWのSDP開発というものを行い、Smart Data Platform (SDPF)ポータル対応およびSDPF上で展開している他のサービスとの自動連携を実現しました。 記事ではこのICGWのSDP開発に焦点を当てて、開発背景や全体構成ならびにCI/CDを紹介します。 また、ICGWの可視化関連の情報も合わせて掲載しますので、今後の開発のご参考になれば幸いです。 ICGWのサービス自体やユースケースに関して

    IoT Connect GatewayのSDP開発に迫る - NTT Communications Engineers' Blog
  • ここさえ抑えればGitHub API v4がわかる! GraphQL入門

    この記事について 今年の7/27にGitHub Projectベータと呼ばれていたものがGAになりました。 新しくGAになったProject(以下ProjectV2と書きます)は、 フィールドを用いて、アイテムに様々なメタデータを追加できる カードに設定した様々なメタデータごとにかんばんを作ることができる アイテムのグループ化・ソート・フィルタが簡単にできる 日付・各種メタデータを軸として指定したグラフを作ることができるので可視化が簡単 といった、classic Projectではできなかったあれこれが一つのProjectでできるようになっており、とても便利になりました。 そしてProjectV2がGAした今、一部例外を除いてclassic Projectを新規作成するというのはできなくなっています。 そのため、ProjectV2への移行というのは今後どんどん進んでいくと思われます。 Yo

    ここさえ抑えればGitHub API v4がわかる! GraphQL入門