タグ

tofu-kunのブックマーク (22,245)

  • カンファレンスイベントで会場回線を過信してはいけない - notokenの覚書

    前段 PHP Conference Japan 2023が 10/08 に大田区産業プラザPiOで行われたわけですが、開会直後に提供している無線LANがいきなり不安定になってしまい、そのまま一部の部屋以外で提供できない状態になってしまった。 この記事では、なぜそのようなことが発生してしまったか?という点に関して解説しようと思う。 結論 会場側設備として入っているNAPT-BOXが YAMAHA RTX1200 という 15年前*1に発売されたルータで、来場者を捌けるだけのNAPTセッションテーブル*2が備わっておらず、NAPTテーブル溢れ*3を起こしてしまった。 事前知識 NAPT Network Address Port Translation 1つのグローバルIPアドレスを複数のホストで共有するための仕組み。この機能により1つのグローバルIPアドレスを複数のクライアント(コンピュータや

    カンファレンスイベントで会場回線を過信してはいけない - notokenの覚書
    tofu-kun
    tofu-kun 2023/12/07
  • 20231206_設計ドキュメント腐る問題、Git管理で運用してみた本当のところ

    設計ドキュメント腐る問題、 Git管理で運用してみた 当のところ 2023.12.5 真野隼記 ドキュメント管理を制する 陳腐化を防ぐための実践事例 Lunch LT

    20231206_設計ドキュメント腐る問題、Git管理で運用してみた本当のところ
  • Re: なんで今さら帳票エンジンを新規開発しているのか

    pdfmeとは Website: https://pdfme.com/ TypeScriptで書かれたオープンソースの無料の帳票エンジン。 テンプレートを使って宣言的にPDFを作成でき、サーバー、ブラウザどちらでも動作する。 2022年2月にbeta版としてリリースしてから現在 Version3で GitHubではStartが1500、npmではバラツキはあるが週間1万件くらいのダウンロードがある。 自分が把握しているだけで、世界中で採用事例があり、電子カルテ作成、工場の手順書作成、ECのカスタムパッケージ制作ソフトなど、すでにいろんなサービスに組み込まれている。 この記事ではどのようなモチベーションでpdfmeを開発しているのかということを説明したいと思います。 なんで帳票エンジンを新規開発するのか PDFファイルを作成・編集するという観点ではpdfkitという素晴らしいライブラリが20

    Re: なんで今さら帳票エンジンを新規開発しているのか
    tofu-kun
    tofu-kun 2023/12/07
  • Nuxt版のServer Componentsでサーバー環境限定でレンダリングする | 豆蔵デベロッパーサイト

    Server Componentsと言えば、React[1]やNext.jsのApp Router[2]を思い浮かべる方が多いと思います。 特に、Next.jsのApp RouterはデフォルトでServer Componentsが適用されるので、今後目にするケースが増えていくことと思います。 Server Componentsは文字通りサーバー環境のみでレンダリングされるコンポーネント技術です。 これによる制約もありますが、パフォーマンスや効率性が大きく改善されます。 そんなServer Componentsですが、Nuxtでも実験的扱いですが開発が進められています。 Nuxt3 Doc - Server Components 今回はこのNuxtのServer Componentsを試してみたいと思います。 CautionNuxtのServer Componentsは実験的段階でドキュメ

    tofu-kun
    tofu-kun 2023/12/04
  • ISUCON13のベンチマーカーのDNS水責め攻撃について - Hateburo: kazeburo hatenablog

    この記事はさくらインターネット Advent Calendar 2023の12月3日の記事になります。 先日行われました ISUCON13 の作問を担当しました。参加者の皆様、スタッフの皆様ありがとうございました。 このエントリではISUCON13のDNSに関わる要素とベンチマーカーから行われたDNS水責めについて紹介します。 ISUCON13の問題の講評と解説は以下のエントリーでも行っていますので読んでいただけると嬉しいです isucon.net こんいす〜 ISUCON13における名前解決 上記のエントリーにもある通り、今回のISUCONではDNSが問題の一部として出てきます。 これまでポータルから参加者は割り振られたサーバの中から負荷をかけるサーバ1台選択し、ポータルはそのサーバに対して負荷走行を行うことが多くありましたが、今回はサーバ1台を選択したら、ベンチマーカーはそのサーバの

    ISUCON13のベンチマーカーのDNS水責め攻撃について - Hateburo: kazeburo hatenablog
    tofu-kun
    tofu-kun 2023/12/04
    長いホスト名の場合、リクエストをDropするように対策した。
  • TypeScriptを採用することでServerとClientのコードが共通化できるってのはほんと幻想、なのか?

    TypeScriptを採用することでServerとClientのコードが共通化できるってのはほんと幻想、なのか? 大枠としては同意なのだけれどツイートのコンテキストをちゃんと理解していない私のような立場からは、色々と前提というか分解する余地のある話だと思ったので書く。 筆者はTypeScriptSwiftKotlinが好きで を書く程度にはサーバーサイドTSを推している立場(そもそもTSとの馴れ初めがCloud Functions上のTS)なのでバイアスがかかっているであろう事は最初に述べておく。 サーバー/クライアントとは何を指しているか、フロントエンド/バックエンドとは異なる範囲なのか 元ツイートは、フロントエンドNext.jsでCSR(ブラウザ)/SSR(Node.jsなどフロントエンドサーバー)、バックエンドにAPIサーバーがいる、みたいなアーキテクチャの場合にはフロントエン

    TypeScriptを採用することでServerとClientのコードが共通化できるってのはほんと幻想、なのか?
    tofu-kun
    tofu-kun 2023/12/04
  • 認可のベストプラクティスとDDDでの実装パターン

    最近、少々複雑な権限機能の開発を担当している中で、対応方針を悩んでいたことがありました。 権限機能というものは取り扱いが難しく、影響範囲が広いにも関わらず、対応漏れや考慮不足があると情報漏洩に繋がってしまいます。 また、機能拡張をしてく中でも対応漏れを起こさないようにする必要があるなど、考えることも多く頭を悩ませておりました。 そこで、認可処理の設計のベストプラクティスやDDDの実装パターンに認可処理を組み込む方法など、色々と調べていたのですが、その中でいくつか知見を得られたのでまとめようと思います! 権限と認可 権限と切っては切れない関係にあるのが認可です。 権限はある操作を実行できる権利を指します。 それに対して、認可は操作を実行する許可を出すため仕組みのことを指します。 例えば、ブログ投稿サービスで考えてみると、以下のような感じです。 権限: 投稿者はポストを編集できる。 認可: ユ

    認可のベストプラクティスとDDDでの実装パターン
  • プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers

    こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコードの中にはひと目見てバグが有りそうなコードもまた多いものです。いくつかの特定のパターンをとる文字列(環境名など)やenum(以下どちらもenumと表現します)に関する条件分岐もその一つです。プルリクを見てこのようなパターンがあれば、バグの疑いが強くなります。周囲を見渡すと、大抵すでにバグっているか潜在バグを含むコードが見つかります。すべてバグというのは言い過ぎにせよ、わかりやすさと変

    プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers
    tofu-kun
    tofu-kun 2023/12/03
  • 漫画アプリでスクショしたらアカウント停止になってしまった「これは怖い」「アマプラみたいにすれば良い」

    ディーヤ🐳 @DeeyaUNO4dollar おふぁっきんですわ〜〜〜〜〜〜〜!!!!!!(謎のエセお嬢様)(情緒不安定)(振動でスクショする機能、普通に使う機会ないし変なところでスクショされるしで少なくとも私にとっては百害あって一利なし案件) 2023-12-01 12:59:21

    漫画アプリでスクショしたらアカウント停止になってしまった「これは怖い」「アマプラみたいにすれば良い」
    tofu-kun
    tofu-kun 2023/12/02
    背面タップという技を初めて知った
  • プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers

    こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』というをちょっとずつ読み進めていて、プログラミング熱が高まっています。このは大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじらないというのはこれだけみると何のことか分かりづらいかも知れませんがSaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)の内容とある面では同じ話です。

    プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない - Uzabase for Engineers
    tofu-kun
    tofu-kun 2023/11/30
  • dnsdist のパフォーマンスを引き出すネットワーク設定 - Hateburo: kazeburo hatenablog

    YAPC::Kyoto 2023、JANOG51 MeetingではDNSへの水責めの攻撃とその対策について話をさせていただきました。その中で DNS攻撃をフィルタリングするために利用している dnsdist についてチューニングにより大きくパフォーマンス向上できることがわかってきたので紹介します。 YAPCの記事 kazeburo.hatenablog.com JANOG51 Meetingについての記事 knowledge.sakura.ad.jp Linuxのネットワークパラメータのチューニング Linuxのチューニングでよくある設定ですが、sysctl.conf で以下のカーネルパラメータをチューニングをします。 net.core.somaxconn = 65535 net.core.netdev_max_backlog = 16384 net.core.rmem_max = 13

    dnsdist のパフォーマンスを引き出すネットワーク設定 - Hateburo: kazeburo hatenablog
    tofu-kun
    tofu-kun 2023/11/28
    “addLocal("0.0.0.0:53", {reusePort=true})”
  • data-testidはいつ使うべきか?そもそも使うべきなのか? | フューチャー技術ブログ

    Playwrightあるいはそのロケーターの元ネタとなっているTesting Libraryでは、DOMを指定する方法として data-testid 属性を扱ったクエリーを提供しています。どちらでも getByTestId(ID文字列) メソッドを使い、この属性値を使った要素の取得が行えます。しかし、ドキュメントを見ると、PlaywrightもTesting Libraryも、「他の手法が使えないときの最終手段」としています。 In the spirit of the guiding principles, it is recommended to use this only after the other queries don’t work for your use case. Using data-testid attributes do not resemble how your

    data-testidはいつ使うべきか?そもそも使うべきなのか? | フューチャー技術ブログ
    tofu-kun
    tofu-kun 2023/11/28
  • 零細企業が OSS スポンサーになる際に気をつけてること

    今期も充分な利益を出すことができましたので、普段お世話になっている OSS のスポンサーになったり、経済的な理由で修学に困難がある学生や子どもの貧困対策への寄付をしました。 スポンサーであり、寄付ではないあくまでスポンサーであり、スポンサーになる事で「宣伝になる」事を前提としています。そのため名前やロゴをウェブサイトやブログ、リリースノートに載せてくれる事はとても重要です。 惰性でスポンサーを続けない自分たちがその OSS を利用しなくなったり、スポンサーしている開発者がOSS から距離を置いた場合、スポンサーを停止するようにしています。 OSS スポンサーをするのが嫌だと思う人を採用しないそもそも、OSS スポンサーしているのは「OSS への貢献をよしとしない」人と勝手に距離が取れるというのもあります。 零細企業による OSS スポンサーは社員の理解があってこそだと思います。 業の売上

    tofu-kun
    tofu-kun 2023/11/28
    スポンサーやろうと思っていろいろ調べていたので助かる.
  • Home – feTS

    feTS Client is an HTTP Client accepts any valid OpenAPI document and creates a type-safe client for it. OpenAPIUsing OpenAPI spec that can be used with any tool from the OpenAPI ecosystem. Server also comes with a Swagger UI out-of-the-box.

    tofu-kun
    tofu-kun 2023/11/27
  • STUDIOの作り方 2023 ver.

    STUDIOの作り方 2023 ver.
    tofu-kun
    tofu-kun 2023/11/25
  • 複数のGoogleカレンダーを統合して共有する

    やりたいこと 「これだけ見れば袴谷の予定がわかるカレンダー」を作成する 背景 僕は元インターン先と現職、プライベートで合計3つのGoogleアカウントを所有しています。日程調整のためにカレンダーを見てもらうことが多いのですが、複数のカレンダーを見てもらうのは手間をかけてしまうため気が引けますよね。そこで、「これだけ見れば袴谷の予定がわかるカレンダー」の作成に至りました。 はじめに 早めに白状しておくと、この記事はパクリです。以下の記事を参考にしつつ、自分がよりしっくりくる実装に微調整しただけなので、パクリ反対派の方は元記事をご覧ください。 既知の問題 以下の問題は未解決です。これらを実装するために来てくださった方は、残念ですがお帰りください。 更新のタイミングで一時的(1分未満)に統合用カレンダーのイベントが見えなくなる 出欠回答に "いいえ" || "未定" と回答したイベントも "Bu

    複数のGoogleカレンダーを統合して共有する
    tofu-kun
    tofu-kun 2023/11/24
  • Googleカレンダーの予定をGASで他のカレンダーに同期する方法

    Googleカレンダーで、すでに他人へ共有しているカレンダーに、まだ共有していないカレンダーの内容を追加したい。 – Google… – Yahoo!知恵袋 Googleカレンダーで、すでに他人へ共有しているカレンダーに、まだ共有していないカレンダーの内容を追加したい。 Googleカレンダーでは複数のマイカレンダーが作成できま… Googleカレンダーで、すでに他人へ共有しているカレンダーに、まだ共有していないカレンダーの内容を追加したい。 Googleカレンダーでは複数のマイカレンダーが作成できますが、その中のAカレンダーを既に職場の方へ共有しております。 今回私はBカレンダーを追加し、タスク管理アプリとの連携をBカレンダーで双方向で行うようにしました。 つまり、私のGoogleカレンダーにはAカレンダーとBカレンダーが存在し、Aカレンダーのみ職場の方へ共有できている状態です。 Bカレ

    Googleカレンダーの予定をGASで他のカレンダーに同期する方法
    tofu-kun
    tofu-kun 2023/11/24
  • xlsxファイルにSQLを実行するxlsxsql - Qiita

    xlsxファイルに対してSQLを実できるxlsxsqlというツールを作りました。 GitHubのxlsxsqlからダウンロードできます。 これは何? xlsxsqlは、xlsxファイルに対してSQLを実行するツールです。 また、CSV,LTSV,JSON,YAMLといったファイルに対してSQLを実行することもでき、その結果をxlsxファイルに出力することもできます。 trdsqlにxlsxファイルの読み書き機能を追加したものになります。 使い方 単純にファイルをテーブルとして指定できます。 -oまたは-outオプションは出力ファイル形式を指定します。 CSV, LTSV, JSON, JSONL, YAML, TBLN, AT, MD等が指定できます。

    xlsxファイルにSQLを実行するxlsxsql - Qiita
    tofu-kun
    tofu-kun 2023/11/24
    trdsqlというのがあったのか。知らなかった。すごい。
  • ヘルプデスク業務を楽にするためにSlackとGitHub Projectを同期するヘルプデスクツールを自作した - MNTSQ Techブログ

    こんにちは。MNTSQの下村です。 コーポレートエンジニアとして、MNTSQ従業員の生産系向上施策等を実施していたりします。 ( Twitterもやっている のでフォローしてもらえると嬉しいです! ) 日は社員からの問い合わせ業務 いわゆる ヘルプデスク業務について効率化するためのツールを自作した 話を書いてみます。 この記事の要約 一人目コーポレートエンジニアとして参画したがヘルプデスク業務が非効率だったので効率化した。 質問に対して特定のemojiを押すとGitHub ProjectsのItemを作成するようにした。 SlackスレッドのコメントとGitHub ProjectsのItemを双方向同期するようにした。 Azure OpenAIも利用して効率化した。 きっかけ 2023年5月からMNTSQの一人目コーポレートエンジニアとして参画しています。 情報システムを色々と整備してい

    ヘルプデスク業務を楽にするためにSlackとGitHub Projectを同期するヘルプデスクツールを自作した - MNTSQ Techブログ
    tofu-kun
    tofu-kun 2023/11/24
    Slackのフロー型をストック型にしたいニーズはどこにでもあるなぁ。OpenAI活用もしててすごい。
  • issit(イシット)- Issueを作成するSlackアプリ

    SlackメッセージからGitHub issueを作成するSlackアプリです。Flow情報をStock情報に変換することで価値ある行動につなぐことができます。issueをTODO管理として活用したい人にもおすすめです。

    issit(イシット)- Issueを作成するSlackアプリ
    tofu-kun
    tofu-kun 2023/11/24