Docs

技術情報をまとめていく、メンテしていくサイト

IPv6 transition technology

IPv6 transition technology

DS-Lite (Dual Stack Lite) RFC: RFC6333 (Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion) fragmentation 必ず カプセル化した後 にしろ (MUST) とのこと (6.3. Fragmentation and Reassembly) Fragmentation MUST happen after the encapsulation on the IPv6 packet. Reassembly MUST happen before the decapsulation of the IPv6 header. A detailed procedure has been specified in [RFC2473] Section 7.2. RFC2473 (Generic Packet Tunneling in IPv6 Specification) - Section 7.2. IPv4 Tunnel Packet Fragmentation こう書いてある DF-bit が立っている (SET) なら: Tunnel entry-point node はパケットを破棄 (discard) して、 ICMP unreachable (packet too big, recommended MTU
NAT

NAT

ネットワークの上でどんなパケットが飛んでいるのかを知っておこうシリーズ。 NAT (Network Address Transition) NAT にも色んな種類があるんだよ Full Cone NAT Restricted Cone NAT Port Restricted Cone NAT Symmetric NAT NAT のマッピング 3 種類のマッピング: Endpoint independent Address Dependent Address and Port Dependent NAT のフィルタリング 3 種類のフィルタリング: Endpoint independent Address Dependent Address and Port Dependent
Netlify

Netlify

Netlify todo サンプル通りにデプロイする CD pipeline を組む 複数の api spec を html 化するように action を修正 動的にそれら html を参照できるような index.html を作成 github のリポジトリの 特定フォルダをデプロイする方法 github でログインすると自然とそういう流れになる github actions からデプロイする netlify に github-actions で自動デプロ
API Document Publication

API Document Publication

API Doc の公開方法調査するぞー todo openapi spec statis html generator とかで検索 redoc-cli が良さそうとの声 https://dev.classmethod.jp/articles/openapi-firebase-hosting/ swagger-codegen とかもあるかな license も気をつけて選択しなきゃねぇ 調査観点 must Open API Spec file で完結できること ある程度の可読性 なるべく sample req/res を充実させ, FAQ を潰す should 仕様と動作を整合させたい -> try ボタンと mock など
Github Actions

Github Actions

Github Actions CICD パイプラインを github 公式で提供するサービス。 sakuraの記事読んでやってる: https://knowledge.sakura.ad.jp/23478/ いい感じにわかりやすい oai-petstore リポジトリで OpenAPI Spec に対して stoplight spectral の lint を動かすようにしてみる new pipeline を作るときに、公式の node.js CI の action を定義する yaml をもらってきて使う lint の warning 以上について
GitLab CI/CD

GitLab CI/CD

GitLab CI/CD 1年前くらいにやったやつを書き出していなくて、久しぶりに手を付けて困ったので書き出していこう。 イメージはこんな感じ GitLab のインストール (余談) cicd セットアップの前に本体をね。 Amazon EC2 でやってみたときの簡単すぎるメモです。すでに GitLab の環境を持ってる人
niconico-speenya - Niconico Method

niconico-speenya - Niconico Method

ニコニコメソッドな感じにコメントが画面を横切るようなおもちゃはないかなと眺めていたらいいものを見つけたので try 中 niconico-speenya github: https://github.com/chimerast/niconico-speenya README.md に cloud run でカスタムドメインで立てる方法まで書いてあってすげー!と思ったけど動いていない… WebSocket connection to 'wss://nicomethod.georgeorge.com/socket.io/?EIO=3&transport=websocket&sid=jo2JvvRde-lzbt0QAAAV' failed: Error during WebSocket handshake: Unexpected response code: 400 カスタムド
Google Cloud Platform - Shell

Google Cloud Platform - Shell

Gcloud beta command の勉強 google cloud SDK のインストール AWS CLI 相当のものかな。シェルで GCP リソースを操作できる様になる。 インストール方法: https://cloud.google.com/sdk/docs/?hl=ja $ tar zxvf google-cloud-sdk.tar.gz $ mv google-cloud-sdk ~/.google-cloud-sdk $ cd ~/.google-cloud-sdk $ ./install.sh $ ./bin/gcloud init 注意: ダウンロードして展開された google-cloud-sdk ディレクトリは install, init の後も保持する必要がある (~/.*shrc ファイルもそこを見
stoplight.io prism

stoplight.io prism

Stoplight 社の提供する製品やオープンソースのうち、 Prism について詳細を記録する Mock mock と proxy あるうちの mock 側。 base path の考え方 そもそも spec でベースパスを指定するには servers[].url に 'http://example.com/v1/base' と指定し、そこから枝分かれするものは paths に '/cats/{catName}' '/dogs/{dogName}' などと記述する この spec で prism を起動すると /v1/base という部分は失
stoplight.io toolchain

stoplight.io toolchain

Stoplight 社の提供する製品やオープンソースは、結構今まで不便していた API 開発を快適にしてくれる便利なツールが揃っているので、使用感をメモしていく。 OpenAPI Spec 中心の世界がこれで構築できるかも! Stoplight Studio OpenAPI の GUI エディタ。 yamlで書いていたところをGUIで書くことが