並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 2192件

新着順 人気順

&BINDの検索結果81 - 120 件 / 2192件

  • webcontainer とは

    stackblitz が提唱して実装している node.js が動くブラウザ環境。container といってるが、 Docker 等とは関係ない。 stackblitz/webcontainer-core このコンテナはブラウザ内で node.js (らしきもの)が動くことがターゲットで、現在デモとして next.js をビルドしてプレビューできている。これによって node.js + webpack + next.js cli が動いていることがわかる。 デモはここで試せる。 まだ OSS ではないので、この記事の大部分は想像によって書かれている。 webcontainer 概要 (自分の理解なので話半分に) ブラウザサンドボックスでも electron なしでも動かせるようになってきた。しかし現在 node.js を動かすには色々と欠けている部分があるので、それらを総称して webc

      webcontainer とは
    • 新Linuxカーネル解読室 - ソケットインターフェース(データ構造と概要編) - VA Linux エンジニアブログ

      「Linuxカーネル2.6解読室」(以降、旧版)出版後、Linuxには多くの機能が追加され、エンタープライズ領域をはじめとする様々な場所で使われるようになりました。 それに伴いコードが肥大かつ複雑化し、多くのエンジニアにとって解読不能なブラックボックスとなっています。 世界中のトップエンジニア達の傑作であるLinuxカーネルにメスを入れ、ブラックボックスをこじ開けて、時に好奇心の赴くままにカーネルの世界を解読する「新Linuxカーネル解読室」プロジェクト。 本稿では、旧版第21章で解説されていたソケットインターフェースについて、カーネルv6.8のコードをベースに主にデータ構造を中心に解説します。 はじめに ソケットの実体と概要 ソケット操作関数の実装 ファイル操作関数によるソケット操作の実装 次回予告: ソケット生成編 執筆者 : 須田 哲志、稲葉 貴昭 ※ 「新Linuxカーネル解読室」

        新Linuxカーネル解読室 - ソケットインターフェース(データ構造と概要編) - VA Linux エンジニアブログ
      • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

        はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoとRustとPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

          Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
        • Golang開発者のためのクリーンアーキテクチャ

          はじめに クリーンアーキテクチャは、ソフトウェア設計の分野で非常に重要な概念です。 しかし、その理解は容易ではなく、明確な正解が存在するわけではありません。 多くの人が異なる解釈を持ち、他の設計思想と混在していることもあります。 この記事では、自分なりの視点からクリーンアーキテクチャを解釈し、その整理した内容を共有します。 このアーキテクチャの目的は、システムの各層を独立させ、変更に強く、テストしやすい設計を実現することです。 この記事では、クリーンアーキテクチャの基本概念、Golangでの実装方法、およびディレクトリ構成について詳しく説明します。 なお、この記事では個人的な見解を述べており、必ずしも正解を書いているわけではありません。もし誤りがあれば、ぜひご指摘いただけると幸いです。 クリーンアーキテクチャの基本概念 クリーンアーキテクチャの元となったのは、ロバート・C・マーチン(通称「

            Golang開発者のためのクリーンアーキテクチャ
          • SAD DNSのICMP rate limitを用いたサイドチャネル攻撃について - knqyf263's blog

            脆弱性ネタは人気がないことが過去の傾向から明らかですが、自分が震えるほど感動したので忘れないためにも気合い入れて大作を書きました。 要約 背景 SAD DNSの解説 全体像 UDPのソースポートについて ICMP rate limit per-IP rate limit global rate limit Public-Facing Source Portのスキャン Private Source Portのスキャン 攻撃Windowの拡張 サイドチャネル攻撃でUDPソースポートを推測してみる 対策 攻撃実現性 まとめ 要約 ちゃんと理解するの結構難しいという話があったので、先に要約しておきます。雰囲気だけでも掴んでもらえると嬉しいです。 DNSキャッシュポイズニングの新しい手法としてSAD DNSが発表された キャッシュポイズニングのためには権威DNSサーバ正規の応答を返すより先に攻撃者が

              SAD DNSのICMP rate limitを用いたサイドチャネル攻撃について - knqyf263's blog
            • ようこそdotfilesの世界へ - Qiita

              はじめに 少し前から話題になっているが、日本の労働生産性はG7で最も低いらしい。 日本生産性本部資料より https://www.jpc-net.jp/intl_comparison/intl_comparison_2018_press.pdf 日本は人口減少に突入していることもあって、「作業の効率化」や「自動化・省力化」をいうフレーズをあらゆる業種で聞くようになった。 ITエンジニアは、あらゆる職業の中でも最も効率化、自動化をして生産性を高められるといっても過言ではないだろう。プログラマの三大美徳(「怠惰」「短気」「傲慢」)にもあるように、同じことを何度もやらない、楽をするためにがんばるという生産性を意識した感性が重要視されているからだ。 生産性を高めることで、勉強する時間が作れたり、新しいことを経験したりするなどしてさらにスキルアップができ、さらに生産性が上がるという好循環を作り出すこ

                ようこそdotfilesの世界へ - Qiita
              • Cloud Run + Litestream で RDB を使いつつ費用を格安に抑える

                前から気になっていた Litestream を Cloud Run で使ってみたので、そのメモです。 Litestream とは? サンプルコード 手順 動作確認してみる 制限事項 おまけ まとめ 参考 Litestream とは? Litestream は、 SQLite のデータベースファイルを Amazon S3 や Google Cloud Storage などのオブジェクトストレージにリアルタイムでレプリケートすることができるオープンソースのツールです。 例えば通常 Cloud Run で DB エンジンとして SQLite を使用しようとしても、コンテナが破棄されると同時に毎回 SQLite のデータベースファイルも消えてしまうため、データを永続化することができません。 しかし Litestream を使用すれば、 SQLite のデータベースファイルをオブジェクトストレージに

                  Cloud Run + Litestream で RDB を使いつつ費用を格安に抑える
                • docker-compose の bind mount を1行で書くな

                  TL;DR docker-compose では bind mount の構文が "short", "long" の2通りあるが, それぞれ挙動が異なる docker-compose.yml の volumes に略記法 (short syntax) を用いると, コンテナ内で non-root user を用いる際にエラーの発見が遅れる可能性があるので避けよう 概要 Docker アプリケーション (コンテナ) は, 実行時にホストのファイルやディレクトリをコンテナ内にマウントし, ホストとのファイル共有を行うことができます (bind mount). docker-compose では, Compose ファイル (デフォルトでは docker-compose.yml) にマウント情報を記述することができますが, 構文によっては意図せぬ挙動や, パーミッションエラーを引き起こす原因となり

                    docker-compose の bind mount を1行で書くな
                  • Let’s Encryptでワイルドカード証明書を取得する話 | IIJ Engineers Blog

                    はじめに SoftwareDesign 8月号のDNS特集にて記事を書かせていただきました。みんな買ってね。 で、実は最初に書いてた原稿はもっと長かったんですけど、紙幅の都合で一部の内容については掲載を見送りました。せっかく書いたのに捨てるのはもったいないので、先日おこなわれたDNS Summer Day 2022で発表しようかと準備してたんですが、途中で気が変わって違う内容になりました。そんなわけで、最終的にエンジニアブログにて供養します。加筆修正しまくっているので元の原稿の気配はもはや残り香程度に漂うだけですが。 ACMEでdns-01チャレンジ サーバ証明書を無料かつ自動で取得できるサービスとして有名なものにLet’s Encryptがありますが、Let’s Encryptの仕組みはLet’s Encrypt独自のものではありません。ACME (RFC8555)として標準化されていて

                      Let’s Encryptでワイルドカード証明書を取得する話 | IIJ Engineers Blog
                    • Git使うのに便利なCLIツール - Qiita

                      背景 日々の業務やらプライベートでのチーム開発で使ってるgit関連のツール紹介です。 gitコマンドは大変便利ですけどそれ以外の周辺ツールを使うことでより便利に使うことができたりします。 (基本的にはmacとlinuxでしか動かしてないですが一部windowsでは使えないものがあります) github/hub ■ github/hub お馴染みのやつ。 プルリクエストやカレントディレクトリのgithubページを開いたりすると言った動作をCLIから行えます。 GitHubやGitHub Enterpriseを使ってるなるなら入れておくべきかなって思います。 ソースリーディングだけでもgit clone {user}/{repo}でcloneできたりするのでとても便利。 参考記事 GitHub を CLI で使う時の便利コマンド Hub コマンド の使い方をまとめてみた! インストール $ b

                        Git使うのに便利なCLIツール - Qiita
                      • JavaScriptのthisは結局何種類あるのか - uhyo/blog

                        JavaScriptのややこしい機能としてよく槍玉に挙げられるのがthisです。その特徴のひとつは状況によって意味(thisの値)が違うことであり、これを指して「JavaScriptのthisは4種類」とする説も見られます。 そこで、この記事ではthisが何種類あるのか、ECMAScript仕様書を頼りに調べます。ECMAScript仕様書とはJavaScriptという言語を定義する文書であり、JavaScriptのthisがどのような挙動をするのかも当然定義されています。今回は仕様書の2020年5月26日版ドラフトを参照します。 https://tc39.es/ecma262/結論としては、最も大ざっぱに分けると3種類、最も細かく分けると157種類です。この記事では全種類漏れなくサンプルコード付きで説明します(似たようなやつはまとめて説明します。また、一部観測不能なものがあります)。 ス

                          JavaScriptのthisは結局何種類あるのか - uhyo/blog
                        • Announcing TypeScript 5.0 - TypeScript

                          Today we’re excited to announce the release of TypeScript 5.0! This release brings many new features, while aiming to make TypeScript smaller, simpler, and faster. We’ve implemented the new decorators standard, added functionality to better support ESM projects in Node and bundlers, provided new ways for library authors to control generic inference, expanded our JSDoc functionality, simplified con

                            Announcing TypeScript 5.0 - TypeScript
                          • Go の入力バリデーションパッケージ ozzo-validation を試した。

                            はじめに Go のウェブアプリで使う入力バリデーションに関して、ozzo-validation を検討した。 これまでのバリデーション 普段、仕事では labstack/echo という Go のウェブフレームワークを使う事が多いのだけど、バリデーションに関しては labstack/echo のサンプルに合わせて go-playground/validator を使ってきた。 go-playground/validator は機能も豊富で(一応)痒い所に手は届くのだけど、struct にタグを付けて判定させないといけない。これが実に煩わしい。以前 labstack/echo を使ったサンプルを書いたので、それを見て欲しい。 // Comment is a struct to hold unit of request and response. type Comment struct { I

                              Go の入力バリデーションパッケージ ozzo-validation を試した。
                            • Log4j2 脆弱性問題における SpringBoot アプリケーションの検証 | DevelopersIO

                              先日騒ぎになっていた CVE-2021-44228 についてのアプリケーション側の対応について記載いたします。 緩和策としてすでに AWS WAF での Rule の Update 等が行われているため、AWS サービスの詳細については別途記事を御覧ください。 Log4jの脆弱性対策としてAWS WAFのマネージドルールに「Log4JRCE」が追加されました ここでは SpringBoot をベースとしたアプリケーションへの影響と対応可否の判断についてどのような調査を行ったかを記載します。 ひとまず結論 Spring 側から見解がすでに出ています。 Log4J2 Vulnerability and Spring Boot 以下抜粋します。 Spring Boot users are only affected by this vulnerability if they have switc

                                Log4j2 脆弱性問題における SpringBoot アプリケーションの検証 | DevelopersIO
                              • Web Vitals の概要: サイトの健全性を示す重要指標

                                .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                  Web Vitals の概要: サイトの健全性を示す重要指標
                                • JavaScriptのリファクタリングツール「jscodeshift」の使い方 - Qiita

                                  はじめに JavaScriptのコードを一括で変換したり修正したい場合、正規表現などを使い置換しますか? シンプルなケースであればそれでも問題ないですが、複雑な変換であればASTベースでコードを自在に変換できる「jscodeshift」が便利です。 jscodeshiftを利用すると、以下のようなことができます。 例) functionで書かれた関数をアロー関数に一括で変換 target/arrow-function/index.js const fn = function() { console.log("foo"); }.bind(this); [1, 2, 3].map(function(v) { return v * v; }); Promise.resolve() .then(function() { console.log("foo"); }) .then(function()

                                    JavaScriptのリファクタリングツール「jscodeshift」の使い方 - Qiita
                                  • gojqのパーサーを書き直しました - プログラムモグモグ

                                    jqはJSONを絞り込むツールですが、実はれっきとしたプログラミング言語です。 算術演算子、論理演算子、分岐構文、try・catch、そして関数定義があり、ループは再帰関数で実装します。 単に .foo とか .[0] とかでJSONを辿るだけのツールだと思われている方は、builtin関数の定義を見ていただくと良いかと思います。 selectやmapのように、よく使われる関数でさえ内部実装になっていない (Cで書かれていない) のは面白いですね。 jqのクエリを思ったように書けないという経験から、jqをより深く知るためにGo言語で再実装したのがgojqです。 去年の4月から開発を始め、8月にブログ記事を書きました。 jqのほぼすべての機能を実装しており、pure Goで書かれているのでGo言語のツールに簡単に組み込むことができます。 この記事公開以降も開発を続けています。 --arg,

                                      gojqのパーサーを書き直しました - プログラムモグモグ
                                    • act: GitHub Actions のワークフローをローカル環境で実行する - kakakakakku blog

                                      GitHub Actions でワークフローを実行するときに git commit と git push を実行して GitHub Actions の実行を待つことがよくある.より迅速に実行して,結果を受け取るために「act」を使って GitHub Actions をローカル環境(コンテナ)で実行する仕組みを試してみた.便利だったので紹介しようと思う❗️ 当然ながら GitHub Actions を完全再現できてるわけではなく,最終的には GitHub Actions を使うことにはなるけど,特に開発中に頻繁にテストを実行できるのはメリットだと思う.うまく併用しながら開発体験を高めよう👌 github.com セットアップ macOS の場合は Homebrew を使って簡単にセットアップできる.他には Chocolatey (Windows) や Bash script も選べる.今回

                                        act: GitHub Actions のワークフローをローカル環境で実行する - kakakakakku blog
                                      • 200行のVue.jsでスネークゲームを作った - Qiita

                                        こんにちは、猫チーズです。 社内のVue.js勉強用プログラムとして1時間ほどで簡単なスネークゲームを作ったところ、メンバー各々が魔改造などして、一時的に社内でスネークゲームが流行りました。 (2019/09/29 追記) 第2弾も作りました → 『250行のVue.jsで陣取りゲームを作った』 デモページ GitHub ソースコード ゲームルール スネークゲームは、シンプルで古典的なゲームです。 1. 何も操作しないとヘビはまっすぐ進む 2. 壁か自分自身にぶつかるとゲームオーバー 3. 矢印キーでヘビを方向転換できる 4. リンゴを食べると体が伸びる&スコアUP これらのルールをVue.jsで作りました。 200行のプログラム 以下の200行のhtmlファイルに全ての機能が纏まっています。 snake.htmlなどの名前で保存して、ブラウザでそのファイルを開くと遊べます。 速さや色、新

                                          200行のVue.jsでスネークゲームを作った - Qiita
                                        • GitLab GCPに 移行した(前編) - pixiv inside

                                          こんにちは、インフラ部の id:sue445 です。 先日ピクシブ社内で利用しているGitLabをオンプレミス環境からGCPに移行しました。 とても長いので全3回にわけて紹介したいと思います。 全体の構成 前編:前置きとアーキテクチャ検討 中編:環境構築 後編:実際の移行作業とその前後の対応。移行後の所感など 今回の目次 全体の構成 今回の目次 tl;dr; 移行の理由 筆者略歴 GitLab移行の時系列 やったこと1: アーキテクチャ検討 構成図 GitLabをクラウドに移行するための障壁をまとめた URLをどうするか Cloud IAP利用時の通信のオーバーヘッドをなくしたい 実際にGCP移行した後の構成 AWSでPoC環境を作った時の構成 LDAPからの依存をやめたい&複数のログイン方法を統一したい ssh接続時にあるLDAP依存を不要にしたい 余談 AWS移行案 GCP移行案 Gi

                                            GitLab GCPに 移行した(前編) - pixiv inside
                                          • 安全なKubernetesクラスタのつくりかた 〜ポリシー編〜 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                            こんにちは、Necoプロジェクトの池添(@zoetro)です。 今回は、安全なKubernetesクラスタを構築するために、我々がどのようなポリシーを適用しているのかを紹介したいと思います。 Kubernetesクラスタのセキュリティ対策 安全なKubernetesクラスタを構築するためには、非常にたくさんの項目について検討しなければなりません。 ざっと挙げてみただけでも以下のような項目があります。(詳細は Kubernetesの公式ガイド を参照) Role-Based Access Control (RBAC) ネットワークアクセスの制御(Network Policy) コンテナの権限(Pod Security Policy) 通信の暗号化 Secretの暗号化 信頼できるコンテナイメージの利用 安全なコンテナランタイムの利用 ユーザー/グループの管理 API ServerのAudit

                                              安全なKubernetesクラスタのつくりかた 〜ポリシー編〜 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                            • Vue.js と Nuxt の 2023年まとめ

                                              2023年は Vue.js および Nuxt のアップデートがとっても活発な一年でした。 これだけ多くの、そして多様な進展があると、1年を振り返っておかないと何があったか忘れてしまいそうです。 というわけで Nuxt, Vue.js, Vite 関連の情報をピックアップして🏃‍♂駆け足で振り返ってみます。 (数が多かったので、おもに公式周辺のアカウントから告知されたものが中心です。漏れがあったらすみません。教えていただければ追加します) 🗓2023年1月 2022年の春先に正式に Vue.js 3 がデフォルトのバージョンとなり、2022年11月に Nuxt 3.0 がリリースされました。 年が明けて2023年1月の主だった情報です。 🔼Nuxt 関連 2023年1月17日に公開された Daniel Roe @danielcroe氏による公式ブログ記事 Nuxt: A vision

                                                Vue.js と Nuxt の 2023年まとめ
                                              • Google Password Manager のパスキーのセキュリティ

                                                .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                                  Google Password Manager のパスキーのセキュリティ
                                                • 自社データ × ChatGPTで社内AIを構築するRAG ツール|Doox β版をリリースしました - Qiita

                                                  TLDR 社内のデータを元に質問への回答を LLM が生成する仕組み(RAG)を構築するためのサービスを開発しました。 β 版として無料で公開しているので是非使ってみてください。 サーバーレスな構成で Next.js を動かしている。技術のキャッチアップは大変だ。 背景 仕事をしていると社内の規定 / 製品情報 / 過去の履歴 .. などに関する問い合わせは日常的に発生するものだし、その工数は結構ある。通常は Wiki を作ってナレッジを共有するが、結局「近い人や担当に聞く」という行為はなかなか減らない。 色々な企業が、社内のデータを元に質問への回答を LLM が生成する仕組み(RAG)を独自に開発しているようで、技術ブログとかに書いている方も多い。 社内向け RAG の構築を SaaS プロダクトで提供したら各社の社内の問い合わせ工数と独自に RAG を構築するコストを下げられて嬉しいん

                                                    自社データ × ChatGPTで社内AIを構築するRAG ツール|Doox β版をリリースしました - Qiita
                                                  • ガワネイティブアプリ(Creator)を、React Nativeで置き換えてみての一年間戦いの記録 - BASEプロダクトチームブログ

                                                    Native Application Groupの大木です。BASEでは、購入者向けのショッピングアプリ「BASE」、「BASEライブ」、ショップオーナー向けのショップ運営管理アプリ「BASE Creator」の3つのスマホアプリをリリースしております。今回は、その中の一つBASE Creatorを、React Nativeで置き換え、リリースしてみての話を、お伝え出来ればと思います。 課題と動機 https://help.thebase.in/hc/ja/articles/206417201-BASE-Creator-とはなんですか- BASE Creatorは、基本的にはWebViewで画面を表示するいわゆるガワネイティブアプリというものです。Webアプリとの違いは何処にあるかといいますと、商品が売れたり、購入者からメッセージが届くと、Push通知でお知らせ出来る機能があるところです。

                                                      ガワネイティブアプリ(Creator)を、React Nativeで置き換えてみての一年間戦いの記録 - BASEプロダクトチームブログ
                                                    • IIJ飯田橋オフィスでDFSはどれくらいおきているのか? | IIJ Engineers Blog

                                                      Twitterフォロー&条件付きツイートで「バリーくんぬいぐるみ」を抽選で20名にプレゼント! 応募期間は2019/11/29~2019/12/31まで。詳細はこちらをご覧ください。 今すぐツイートするならこちら→ フォローもお忘れなく! 【IIJ 2019 TECHアドベントカレンダー 12/14(土)の記事です】 こんにちは、IIJ 金子です。 本日は、無線LAN 5GHz帯でのDFSの発生状況を可視化してみようというお話をします。 はじめに 無線LANを運用していると気になるのは、外来レーダー波により引き起こされるDFS、そしてそれに起因してAPが行うチャネルの移動です。 「今自分がいる場所で、無線LANのDFSを引き起こすようなレーダーはどれくらい打ち込まれているのかしら?」とそんな疑問がふと沸いてきたので、ものは試しにと実際に測ってみることにしました。 無線LANとDFSについて

                                                        IIJ飯田橋オフィスでDFSはどれくらいおきているのか? | IIJ Engineers Blog
                                                      • OpenCVの新しい顔検出をブラウザでも試してみる

                                                        この記事はOpenCV Advent Calendar 2021の 23 日目の記事です。 はじめに 3 日目の記事で紹介されているように、OpenCV 4.5.4 では新しく顔検出/顔認識の API が実装されました。この記事ではこの顔検出 API をブラウザから呼んでみることにします。ブラウザから呼び出すにあたって、先にきちんとパフォーマンスを確認して使用する解像度を決めます。更に高速化のために SIMD とマルチスレッドを使った OpenCV の Wasm バイナリを作ります。その後、実用的な環境を想定して React のフロントエンドから呼び出すようにしてみます。ついでに WebRTC で実際に加工した画像が送信できることのデモまで行います。 OpenCV.js での新機能の扱い OpenCV.js で JavaScript から呼び出せる機能はホワイトリスト形式になっており、ビル

                                                          OpenCVの新しい顔検出をブラウザでも試してみる
                                                        • 接続が途切れないストリーミングサーバの無停止アップデートを実装してみました - Mirrativ Tech Blog

                                                          こんにちは ハタです。 最近 SO_REUSEADDR / SO_REUSEPORT を使ったストリーミング配信サーバの無停止アップデート(Hot Deploy)を実装してみたので紹介したいなと思います ことの経緯 HTTPサーバによる Hot Deploy の仕組み ストリーミング配信サーバへの応用 SO_REUSEADDR/SO_REUSEPORT を使った実装例 Hot Deploy の組み込み Hot Deploy 実装時に気をつけたこと その後 We are hiring! ことの経緯 ミラティブでは以前から何度か紹介したとおり自前の配信基盤設備を持っています。 配信基盤のミドルウェアも内製であり、機能追加やライブラリの更新などがあるたびにミドルウェアのバージョンアップ作業(メンテナンス)も自社で実施しています ストリーミング配信サーバといっても、何か特別な事はなく一般的なHTT

                                                            接続が途切れないストリーミングサーバの無停止アップデートを実装してみました - Mirrativ Tech Blog
                                                          • TypeScriptやGoやRustでWebAssemblyウォークスルー - SMARTCAMP Engineer Blog

                                                            みなさん、WebAssembly聞いたことありますよね? スマートキャンプでエンジニアをしている瀧川です。 私が初めてWebAssemblyを目にしたのは確か2018年、VimをWebAssemblyに移植してブラウザで動くようにしたという記事だったかなと思います。 https://github.com/rhysd/vim.wasm 当時は「はー、なんだか未来を感じるけど、どう使われてくんだろう」くらいな認識で、最近までほとんど注目していませんでした。 しかし、少し前にffmpeg.wasmについての記事がバズっているのを見かけたときビビっときましたね。 ブラウザ上でffmpegが動かせるのはWebアプリケーションを作る上で可能性が広がりますし、何よりWebAssemblyのポテンシャルが活かされていると感じました。 そこで今回、WebAssemblyの世界観を味わうために、代表的なWeb

                                                              TypeScriptやGoやRustでWebAssemblyウォークスルー - SMARTCAMP Engineer Blog
                                                            • AWS Amplify Studio – Figma to Fullstack React App With Minimal Programming | Amazon Web Services

                                                              Front-End Web & Mobile AWS Amplify Studio – Figma to Fullstack React App With Minimal Programming AWS Amplify announces AWS Amplify Studio, a visual development environment that offers frontend developers new features (public preview) to accelerate UI development with minimal coding, while integrating Amplify’s powerful backend configuration and management capabilities. Amplify Studio automaticall

                                                                AWS Amplify Studio – Figma to Fullstack React App With Minimal Programming | Amazon Web Services
                                                              • お手軽な検索API構築 | メルカリエンジニアリング

                                                                こんにちは、メルペイソリューションチーム所属エンジニアの@orfeonです。 この記事は Merpay Tech Openness Month 2021 5日目の記事です。 メルペイソリューションチームでは、社内向けの技術コンサルや技術研修、部門を跨いだ共通の問題を発見して解決するソリューションの提供などを行っています。 自分は主に社内のデータ周りの課題を解決するソリューションを提供しており、一部の成果はOSSとして公開しています。 この記事ではいろいろな場面で必要とされるものの、運用負荷などの問題から導入の敷居が高い検索機能を(条件付きで)簡易に提供するためのソリューションを紹介します。 基本的なアイデア 全文検索や位置検索など、検索はいろいろな場面で必要とされる機能です。しかしいざ検索サーバを立てて運用するとなると、データの整合性やモニタリングなど考えないといけないことも多く、利用に二

                                                                  お手軽な検索API構築 | メルカリエンジニアリング
                                                                • RESTful APIをシュッと作る技術 - PythonとFastAPIでバックエンドを5時間ちょいで作ってみた - Lean Baseball

                                                                  久々に開発ネタです. 大晦日ハッカソン2019 #大晦日ハッカソンで, 野球のデータをシュッと見るためのDashboardを作る(理由は後ほど). そんなDashboardのBackend APIをシュッと開発する. を目標に立て現在進行系でやってるのですが, 午後の進捗その2 Docker化が特に滞りなく完了. API Docも見れるとかFast API強すぎぃ 昨日の夕方から開発してたAPIはアッサリ1st Ver.できたので, 大晦日の買い物終わったらフロントエンドを除夜の鐘が鳴るまでになんとかするぞ #大晦日ハッカソン pic.twitter.com/wWMiSvQDKu— Shinichi Nakagawa (@shinyorke) 2019年12月31日 Backendを昨日(12/30)の18:00から着手して(実質作業時間)約5時間ちょいで完成させてしまいました. 本年最後

                                                                    RESTful APIをシュッと作る技術 - PythonとFastAPIでバックエンドを5時間ちょいで作ってみた - Lean Baseball
                                                                  • 無料プロキシツール「mitmproxy」を使ってみよう - セットアップ方法とセキュリティエンジニアおすすめの設定 - Flatt Security Blog

                                                                    ※本記事は筆者styprが英語で執筆した記事を株式会社Flatt Security社内で日本語に翻訳したものになります。 はじめに こんにちは、Flatt Securityのstypr(@stereotype32)です。今回はセキュリティ診断などで使われるローカルプロキシツールについて紹介します。 ちなみに、開発者の皆さんが脆弱性の検証を行うにはこれらのツールだけでなくセキュリティ知識が必要ですが、そのためにはFlatt Securityが提供する「KENRO」がおすすめです。Web アプリケーションの代表的な脆弱性10個に関して、脆弱なソースコードを修正するなどのハンズオンを通して学ぶことができます。 ぜひバナーより無料・無期限のトライアルをご利用ください。 さて、セキュリティエンジニアの多くは、WebやモバイルアプリケーションのHTTP/HTTPSトラフィックを確認するするためにBur

                                                                      無料プロキシツール「mitmproxy」を使ってみよう - セットアップ方法とセキュリティエンジニアおすすめの設定 - Flatt Security Blog
                                                                    • 変更に強いコンポーネント設計の方針と規約(Webフロントエンド) - Sansan Tech Blog

                                                                      技術本部 データ戦略部 Newsグループの木田です。 最近、初めて自作キーボードに挑戦しました。ちょうど2枚目のモニターも買ったので、モニター2台と自作キーボードで快適に記事を書いています。 予めお断りしておきますが、この記事は元々、社内向けに設計方針や規約・ツールなどについて共有するために書いたものでした。最近、他チームの参考資料として役立ったこともあり、社外向けに手を加えて公開する運びとなりました。 はじめに 機構改革・人事異動情報(β) とは ⚛️ Atomic Design に従う ⚛️ Atomic Design とは ⚛️ Molecules と Organisms の分け方 ⚛️ コンポーネントの設計方法 📝 規約 📝 Component と Container を分ける 📝 データの繋ぎ込みは Organisms 以上で行う 💡 Tips 💡 Atoms はタグ本

                                                                        変更に強いコンポーネント設計の方針と規約(Webフロントエンド) - Sansan Tech Blog
                                                                      • 不揮発メモリに対するLinux周辺動向 (2021年版) - Qiita

                                                                        はじめに この記事は Fujitsu Advent Calendar 2021 25日目の記事です。(記事は個人の見解であり、組織を代表するものではありません。) さて、今年もこれまでと同じく不揮発メモリの記事を書きます。今回は以下の内容です。 不揮発メモリ周りの規格・新仕様(CXL, RDMA) メモリ不足時の不揮発メモリの活用 Filesystem-DAXの動向 不揮発メモリ周りの規格・新仕様 今年は規格回りでいくつか新仕様が策定されています。まずは、それらについてざっくりと解説していきましょう。 CXLの不揮発メモリ対応 これまではNVDIMM、すなわちDRAMと同じようにCPU中のメモリコントローラからDDR4で直接つながるデバイスであった不揮発メモリですが、ここへきて新たな接続方法が追加されようとしています。それがCompute Express Link(CXL)です。 コンピュ

                                                                          不揮発メモリに対するLinux周辺動向 (2021年版) - Qiita
                                                                        • 無料で使えるプロキシ/ロードバランサのOSS 比較18選 | OSSのデージーネット

                                                                          プロキシサーバとは プロキシとは、クライアントとサーバの間に中継サーバとして配置するサーバのことです。プロキシは、クライアントから見た場合、サーバのように振る舞い、サーバから見た場合、クライアントのように振る舞います。クライアントアプリケーションは、プロキシへ通信を行い、プロキシはそのリクエストを受信し、受信したリクエストを本来送られるべきサーバへ転送するかのように送信します。サーバは、リクエストを送信してきたプロキシへ応答を返します。プロキシは応答に対応したクライアントに対して、応答を送信します。 プロキシサーバの種類 プロキシは、通信を中継するため通信内容をログに残したり、検査したり、書き換えたりといった処理が可能です。そのため、様々なプロトコルに対応した汎用的なプロキシと、アプリケーション(プロトコル)毎に特化した処理を行うソフトウェアがあります。 なお、Webプロキシは、HTTPプ

                                                                            無料で使えるプロキシ/ロードバランサのOSS 比較18選 | OSSのデージーネット
                                                                          • Vue.js + Algoliaを使って、フロントエンド開発だけで検索機能を実現する - LiBz Tech Blog

                                                                            はじめに 前回書いたvue-cli uiでVue.js開発環境を作る記事を書いたところ、同僚がそれを引き継いでvui-cli uiで立ち上げたアプリに「APIから取得したデータでユーザーの一覧を表示する」機能を追加した記事を書いてくれました。 tech.libinc.co.jp tech.libinc.co.jp 今度はそれを更に改良して、Algoliaを使ってユーザーの全文検索機能を作ってみました。 ちなみにTOP画像がゴリラなのは、少し前までAlgoliaのことをAlgorillaと勘違いしていたからです。ウホウホ Algoliaとは www.algolia.com AlgoliaはモバイルアプリやWebサービスに導入することで、全文検索エンジンが利用できるSaaSです。サービス内のコンテンツデータをAlgoliaサーバにアップロードすることで、API経由でコンテンツデータに対して全文

                                                                              Vue.js + Algoliaを使って、フロントエンド開発だけで検索機能を実現する - LiBz Tech Blog
                                                                            • 【暫定版】 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
                                                                              • Chrome の User-Agent 文字列削減に関する最新情報

                                                                                .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                                                                  Chrome の User-Agent 文字列削減に関する最新情報
                                                                                • 第42回 Linuxカーネルのケーパビリティ[1] | gihyo.jp

                                                                                  前回からだいぶ間隔が空いてしまいました。前回の最後に案内したudzuraさんのCRIUに関する記事はもう少し時間がかかるようですので、もうしばらく私が担当したいと思います。 今回から数回は、Linuxカーネルに実装されているケーパビリティについて説明します。ケーパビリティは2.2カーネルのころから実装されてきているかなり古くからある機能で、コンテナ向けの機能ではなく一般的に使われている機能です。もちろん、コンテナの安全性を高めるための重要な機能でもあります。 setuid 一般的にはUNIX系のOSでは、プロセスはroot権限(実効ユーザIDが0)で実行される特権プロセスと、一般ユーザ権限で実行される(実効ユーザIDが0以外の)非特権プロセスに分けられます。 一般ユーザは、通常はそのユーザの権限でプログラムを実行すれば良いのですが、一般ユーザが実行するプログラムであっても処理の内容によって

                                                                                    第42回 Linuxカーネルのケーパビリティ[1] | gihyo.jp