タグ

ouestのブックマーク (3,575)

  • LiteFS入門

    LiteFSとは LiteFSはLitestreamの可用性に関する課題を解決するために同作者によって新しく作られたソフトウェア。 Live Read Replication の実験的な機能ではノード間のHTTP通信でリードレプレカを同期してプライマリで書き込んだデータをrestoreを通さずにレプリカから参照することができるようになる予定だった。 この時書き込みクエリをプライマリに振り分けるのはアプリケーションの責務になる。例: ただそもそも複数台でLitestreamを利用する用途の為にノード間のLive Replicationを実装したとしても、デプロイやフェイルオーバーでノードの入れ替わりが発生する時に、無停止でプライマリを別のノードに切り替えることも考慮したりと、当初のLitestreamのスコープになかった新しい問題も出てくる。 なので「サーバー内のsqlite3ファイルをS3

    LiteFS入門
    ouest
    ouest 2022/12/18
    Litestream Next Version
  • k6を使いこなしてみよう - 生涯未熟

    この記事は MIXI DEVELOPERS Advent Calendar 2022 6 日目の記事です。 負荷試験を行う機会が年に何度かあるのですが、以前まではvegetaを使っていましたがちょっと高めの負荷をかけた時の挙動がよろしくなく、k6を試してみたところ不満が無かったので最近はk6を常用しています。 そんなk6をもうちょっと使いこなすために色々とまとめてみようかと思います。 k6とは? Grafana Labsが開発した負荷ツール。 github.com ツール自体はGo製で、負荷シナリオをJavaScriptで書きます。 負荷シナリオはk6 Browser RecorderというChrome拡張を使えばブラウジングしているだけで作成可能で、k6 Cloudを使ったWeb上でのシナリオ作成・管理・実行が可能です。 わざわざGitHub上でシナリオを管理しなくてもいいというのは個人

    k6を使いこなしてみよう - 生涯未熟
    ouest
    ouest 2022/12/08
    k6 Browser Recorder はかなり便利
  • 非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん

    PHP 8.1へのアップグレードにまつわるまとめ PHP 8.1へのアップグレードには、mbstringにまつわるマニュアルに記述されない後方互換性のない変更が含まれることがあります。そのことを周知するべく、この記事を書くことにしました。 私てきめんは、PHPカンファレンス 2022にて、「治っていくmbstring 令和時代の文字化け」というタイトルでトークしています。以下スライドも参考にしてください。 Major overhaul of mbstringについて PHP 8.1から、Major overhaul of mbstringと呼ばれる、mbstringの大規模改修の内容が反映されるようになりました。困ったことに、RFC(Request For Comments)やChangelog、マニュアルにない内容で、mbstringを多用するPHPユーザーにとてつもない困惑をもたらすこ

    非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん
    ouest
    ouest 2022/11/28
    PHP8.1 の mbstring 周り
  • 【勉強会スライド】大規模負荷テストの負荷かけ手法 〜JMeterとうまく付き合う方法〜|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    【勉強会スライド】大規模負荷テストの負荷かけ手法 〜JMeterとうまく付き合う方法〜 こんにちは、最近筋トレにハマってます、wanashiです。 先日、社内向けに負荷試験の手法についての勉強会を開催したので、その資料を公開します。 今回はミドルウェアのチューニングではなく、主にJMeterの話です。 大規模負荷テストの負荷かけ手法とトラブルシュート 負荷試験において、負荷をかける側(JMeter)の話はミドルウェアのチューニングに比べてニッチなのかそれほど情報は多くありません。 特に、秒間10000リクエスト級の負荷試験のノウハウともなると見つけるのはかなり困難です(私は見つけられませんでした) このスライドで負荷試験でハマる人が少しでも減れば幸いです。 ■内容 負荷試験で、負荷を「かける側」の話(ミドルウェアのチューニングの話ではないです) ■想定する対象者 負荷試験とかJMeterっ

    【勉強会スライド】大規模負荷テストの負荷かけ手法 〜JMeterとうまく付き合う方法〜|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
    ouest
    ouest 2022/10/19
    JMeter で負荷を掛ける際の注意点
  • エンジニアの中途採用入門 / How to hire engineers

    社内ランチ勉強会で話した資料の一部を公開しています。

    エンジニアの中途採用入門 / How to hire engineers
  • EC2からFargateへの移行 ~shadow proxyとカナリアリリース~ | GREE Engineering

    こんにちは、メディア事業でエンジニアをしている木村洋太です。 昨年のGREE Tech Conferenceでは「LIMIA」のフレームワーク移行プロジェクトにおけるコードの自動修正について話させていただきましたが、今回は同時に行ったインフラ移行について紹介いたします。 EC2からFargateへの移行例は多く存在しているとは思いますが、今回の移行では安全な移行のために、shadow-proxy環境での移行前のテストやEC2とFargateの同時稼働によるカナリアリリースなどさまざまな工夫を行いました。これらの中で得られた知見や失敗をまとめられたらと思っています。 インフラ移行の概要 フレームワーク移行プロジェクト フレームワーク移行プロジェクトでは、グリーが運営するメディアの一つである「LIMIA」のフレームワークをFuelPHPからLaravelへ移行することを目的としていました。 移

    EC2からFargateへの移行 ~shadow proxyとカナリアリリース~ | GREE Engineering
    ouest
    ouest 2022/10/11
    Shadow Proxy は今後のあの案件で使っていこう
  • git statusが43秒かかっていたのを1秒に高速化する大規模Gitリポジトリの操作を高速化するためのscalarを紹介 | Act as Professional

    Git 2.38がリリースされました。 このバージョンから大規模Gitリポジトリの操作を高速化するscalarが同梱されるようになりました。 今回はこのscalarによって、どれぐらいGitの操作が高速化されるのかを簡単に検証します。 結論から言うとgit statusが約43秒かかっていたのが約1秒で操作できるようになります。 Install Git 2.38Git 2.38からscalarが同梱されましたので、各自の環境にあわせてInstallなりVersionUpなりをしてください。 $ git --version git version 2.38.0 Before大規模Gitリポジトリとしてchromiumを利用しました。 普通にgit cloneしてきて、git statusを実施すると約37秒かかります。 ❯ time git status On branch main You

    git statusが43秒かかっていたのを1秒に高速化する大規模Gitリポジトリの操作を高速化するためのscalarを紹介 | Act as Professional
    ouest
    ouest 2022/10/09
    git を asdf 管理にするか
  • AWSアーキテクチャのサンプルをまとめてみた | DevelopersIO

    こんにちは。たかやまです。 みなさんアーキテクチャを検討するときに、なにか参考にするアーキテクチャがあると助かりますよね? 私もアーキテクチャ検討をするときは、車輪の再発明を避けるためゼロベースではなく先人たちのアーキテクチャを参考にさせていただくことが多いです。 そのおり、ちょうどお客様にアーキテクチャ検討に役立つサイトをご紹介する機会があり、参考にしているサイトを改めて調べると結構あったので今回こちらをブログにまとめてみたいと思います。 30 の目的別 クラウド構成と料金試算例 目的別クラウド構成と料金試算例 日利用者向けに公開されているリファレンスアーキテクチャのサイトになります。 全ドキュメント日語で料金試算も載っているため、アーキテクチャの検討はじめにおすすめのサイトです。 サーバレスパターン サーバーレスパターン サーバレスの汎用的なユースケースがまとめられたサイトになりま

    AWSアーキテクチャのサンプルをまとめてみた | DevelopersIO
    ouest
    ouest 2022/10/09
    参考にすることもあるかも
  • 今どきのシェルスクリプトは数値計算にexprを使わない(POSIX準拠) - Qiita

    はじめに 1992 年に POSIX でシェルが標準化されて以来、シェルスクリプトの数値計算に expr コマンドは使いません。expr コマンドを使って計算していたのは Bourne シェル(古い UNIX の sh)時代の話で、現在の POSIX sh (dash、bash、ksh 等)時代では数値計算に expr コマンドは不要です。今どきはシェルの機能だけで整数の計算を行うことができます。「今どき」って一体いつからだって話なわけですが……。 注意 シェルスクリプトでパフォーマンスの話をするとすぐに「他の言語で〜」という方がいますが、私はどんなことにでもシェルスクリプトを使えなんて一言も言っていません。パフォーマンスを気にしている理由は、そこが実際にシェルスクリプトのボトルネックになるポイントだからです。そもそもシェルスクリプトと一般的な言語は言語設計レベルで得意なことが違います。ユ

    今どきのシェルスクリプトは数値計算にexprを使わない(POSIX準拠) - Qiita
    ouest
    ouest 2022/10/09
    数値計算に expr を使わない
  • Meilisearch を利用して Sphinx で日本語全文検索を実現する

    モチベーション ドキュメントツール Sphinx から出力した HTML オンラインドキュメントに日語対応の全文検索機能を追加したい。 結果 オンラインドキュメントと日語全文検索 前提 日語全文検索に対応する OSS を利用する ドキュメントツールは Sphinx を利用する Sphinx の検索バーを置き換える サーバレスの検索は諦める サーバ運用を検討する 企業利用前提なので費用がかかっても良い 検索は難しいので検索部分は頑張らない 完璧は求めない reStructuredText を解析するのではなく HTML を解析して処理する Meilisearch を採用 いろいろ調べたりしていたが Meilisearch が良さそうと判断した。 Meilisearch語検索に対応している Rust で書かれており性能がでそう Rust であれば問題が起きた際、会社でなんとかできる

    Meilisearch を利用して Sphinx で日本語全文検索を実現する
    ouest
    ouest 2022/08/20
    Rust 製全文検索エンジン Meilisearch。どこかで使ってみたい。
  • grex - Generate regular expressions from test cases

    ouest
    ouest 2022/08/20
    Rust 製正規表現生成ツール grex の Web サービス
  • どこまでも奥が深いエンジニア採用。意外と見落としがちなActionとは?|Ayumi Houta

    みなさん、こんにちは。ポテンシャライトの寳田(ほうた)です🙋‍♀️ 先日このようなnoteを書いてみました。 「いや、エンジニア採用ってやること盛り沢山すぎない?」 これまでのエンジニア採用経験で培った知見(ノウハウ)を時系列に記載した「エンジニア採用の教科書」を書き終えた所感です。 「結局どこまでやり切れば良いんでしょう?」 難題だらけのエンジニア採用ですが、各社課題も異なるため、このようなご相談いただくケースも多いです。 今回はそんなエンジニア採用を ・どんなステップで進めていくと良いのか ・どんな施策があるのか ・どこまでやり切ればよさそうか など施策についてまとめてみることにします✏️ ※あくまでnoteではポテンシャライトが日々採用のご支援をさせていただく中で感じた内容を元に書いておりますので一視点として参考程度にしていただけますと嬉しいです。 それでは、はじめます! 1.

    どこまでも奥が深いエンジニア採用。意外と見落としがちなActionとは?|Ayumi Houta
    ouest
    ouest 2022/08/17
    よくまとまっているので、エンジニア採用される方は見てほしい
  • 【WSL 2】1つのディストロから複数のインスタンスを作成する方法

    Tools 【WSL 2】1つのディストロから複数のインスタンスを作成する方法※当サイトにはプロモーションが含まれています。 1. はじめにWSL 2 では Linux ディストリビューション(以下 ディストロと表記します)を導入することができますが、通常ですと1種類のディストロを複数個(複数のインスタンス)導入することはできません。しかし、wsl.exe コマンドを使えば実現可能です。記事では、この手順について説明します。 ※ 同様の手順で WSL 1 もうまくいくかもしれませんが、記事は WSL 2 で試した結果を元に書いています。 2. 手順ここでは、Ubuntu を複数インスタンス導入する手順について説明します。 ※ WSL 2 の導入手順については省略します。 (1) 通常通りディストロをインストールする(インスタンスを作成する)Microsoft Store から Ubun

    【WSL 2】1つのディストロから複数のインスタンスを作成する方法
    ouest
    ouest 2022/08/02
    テスト用に別インスタンスを作成すると便利
  • 仕様起因の脆弱性を防ぐ!開発者向けセキュリティチェックシート(Markdown)を公開しました - Flatt Security Blog

    はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの村上 @0x003f です。 これまで弊社ブログでは様々な「仕様とセキュリティ観点の解説記事」を発表してきました。今回はいままでの記事を改めて紹介しつつ、読者の皆様が開発中のサービスでセルフチェックを行えるよう「仕様とセキュリティ観点チェックリスト」を作成しました。ご活用いただけると幸いです。 ダウンロードは下記のGitHubリンクよりどうぞ。 また、株式会社Flatt Securityではお客様のプロダクトに脆弱性がないか専門のセキュリティエンジニアが調査するセキュリティ診断サービスを提供しています。料金に関する資料を配布中ですので、ご興味のある方は是非ご覧ください。 はじめに アプリケーションの仕様起因の脆弱性とは アプリケーションの仕様起因の脆弱性を防ぐために 仕様の脆弱性によく見られる共通点 1. ク

    仕様起因の脆弱性を防ぐ!開発者向けセキュリティチェックシート(Markdown)を公開しました - Flatt Security Blog
  • WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita

    WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました!MySQLSQLPostgreSQLDatabaseQiitaEngineerFesta2022 TL; DR MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ,これはブロックされない SELECT による検索とは別扱いになる。 但し UPDATE 文の WHERE 句上で,更新対象をサブクエリの SELECT から自己参照している場合は例外。トランザクション分離

    WHERE 条件のフィールドを UPDATE するのって,明示的にロックしてなくても安全?全パターン調べてみました! - Qiita
  • MySQLで発生し得る思わぬデッドロックと対応方法

    はじめに この記事は実際の業務で発生した MySQL のデッドロックとそのいくつかの回避方法や対応方法を(テーマは変えて)手元で実行できるコードを用いて解説する記事です。具体的には「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターンの記事で紹介されている「1on1 チャットサービス」で紹介されているデッドロックとデータベースレイヤでは同じ状況だったのですが、記事で紹介されている方法とは別の方法でデッドロックを回避する必要があったため、同じ状況に遭遇した人の助けになればという思いで記事を書きました。また、こちらの記事が無ければ私自身も現象を理解するのにもっと苦労したと思うので、この場を借りてお礼申し上げます! 出金サービス履歴登録サービスを例に考える コードと説明が https://github.com/shuntagami/withdrawal_

    MySQLで発生し得る思わぬデッドロックと対応方法
  • WSL2 の localhostForwarding 機能がうまくうごかない - mrk21::blog {}

    WSL2localhostForwarding 機能を使うと、WSL2側で listen したポートを自動的にWindows側で port forwarding してくれるので、Windows側からは localhostWSL2側で listen しているポートにアクセスすることができる。 しかし、自分の環境ではアクセスはできるが、頻繁にハングすることがあり困っていた。 そのため、WSL2localhostForwarding 機能を無効にして、かわりに netsh interface portproxy add v4tov4 コマンドを使って手動で port forwarding することにした。 まず、WSL2側のIPアドレス(WSL2が使用しているHyper-V仮想スイッチに接続しているアダプタのIPアドレス)を調べる。これは通常はeth0であるので、ip route

    WSL2 の localhostForwarding 機能がうまくうごかない - mrk21::blog {}
  • Perlの技術研修 - Mobile Factory Tech Blog

    こんにちは。エンジニアのid:kfly8です。 先日、技術研修のインタビュー記事を公開し、手を動かしつつ、コミュニケーションをよく取る技術研修といった主旨の内容でした。 tech.mobilefactory.jp こちらのインタビューでは具体的な研修内容は触れていませんでした。今回は、駅メモ!や駅奪取といった位置ゲームや着メロの月額コンテンツサイトなどで利用しているPerl技術研修について紹介します。ブロックチェーン事業ではフロントエンド、バックエンドの両サイドで、TypeScriptを利用しているのですが、そちらの技術研修の話は追い追いできればと思います。 tech.mobilefactory.jp 技術研修を受ける人は、どの言語でも良いのである程度プログラミング言語に慣れてることを想定しています。そのため、学ぶ意味、特徴は何か、良教材は何か、罠は何か、などポイントを掻いつまむように技

    Perlの技術研修 - Mobile Factory Tech Blog
  • Linux 5.20 To Support Async Buffered Writes For XFS + IO_uring For Big Performance Boost - Phoronix

    Show Your Support: Did you know that the hundreds of articles written on Phoronix each month are mostly authored by one individual? Phoronix.com doesn't have a whole news room with unlimited resources and relies upon people reading our content without blocking ads and alternatively by people subscribing to Phoronix Premium for our ad-free service with other extra features. Linux 5.20 To Support As

    Linux 5.20 To Support Async Buffered Writes For XFS + IO_uring For Big Performance Boost - Phoronix
    ouest
    ouest 2022/07/01
    まじか
  • dotfilesのこだわりを晒す - エムスリーテックブログ

    Unit4の永山です。 dotfiles弄りを趣味にしています。 世にdotfilesを題材とした記事は数多く存在していますがその大半は「dotfilesを作ってみた」「こうやって管理しています」などの表層的な部分の紹介に留まり、その奥にあるべき細部のこだわりや個人の思想にまで踏み込んだ記事は数えるほどしかありません。 そこで、記事では私のdotfilesを題材にその各構成要素についてオススメ, TIPS, こだわりに分類し、可能な限り詳細に紹介します。 github.com 記事は筆者の関心の都合上、Zshに関する項目に大きく比重を置いています。ご承知おきください。 dotfilesとは dotfilesを作成することの利点 記事の構成 Zsh編 [オススメ] プラグインの管理にZinitを使う 注釈: Zinitについて [オススメ] Zshプラグインは非同期読み込みする [オスス

    dotfilesのこだわりを晒す - エムスリーテックブログ