並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 3056件

新着順 人気順

encodingの検索結果81 - 120 件 / 3056件

  • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

    技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も本日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。本記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

      プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
    • SlackをGo製ツールのGUIフロントエンドとして使う(#1: データの登録と表示) - ほんじゃらねっと

      ブラウザで操作できるツールを作りたいけどWebのフロントエンド作るの面倒だな...とWeb系開発者にあるまじき事を考えつつ良いプラットフォームを探していたら、SlackのAPIが進化してツールフロントエンド化するのにうってつけの機能が増えているのを見つけました。 api.slack.com チャットツールのAPIといえば、「チャットで入力したテキストをボット側でがんばって解釈して実行する」というCUIのコマンド的な使い方しかできないイメージだったのですが、最近のSlackのAPIは「ショートカット(Shortcuts)」「モーダル(Modals)」「ブロックキット(Block Kit)」といった機能を使うことで、入力コンポーネントを使用したGUIでボットとやりとりすることができるようになっています。 これらを駆使すれば、入力フォームからデータを登録したり、編集フォームでデータを変更したり、

        SlackをGo製ツールのGUIフロントエンドとして使う(#1: データの登録と表示) - ほんじゃらねっと
      • ChatGPTに渡す文章の適切な区切り線について検証した記事|Clirea

        はじめに大規模言語モデルであるChatGPTに文章を渡す際、適切な区切り線の使用は、情報の正確な伝達や解釈に大いに役立ちます。 この記事では、区切り線に適切なものを検証します。 区切り線とは?使い方区切り線は文章を区切る時に使用する文字列のことです。 例えば下記のようなものです。 また、使い方をまとめた記事もあるので参考にしてください。 def test() a = "a" b = "b" c = a + b print(c) ================================ ←これが区切り線 上記のコードについて教えてください 結論先に結論を言うと、4個~16個連続した「-」か「=」 もしくは8の倍数の「-」か「=」が区切り線としてはベストでした。 ---- ---------------- -------------------------------- ==== ==

          ChatGPTに渡す文章の適切な区切り線について検証した記事|Clirea
        • GitLabで1クリックアカウント乗っ取りが可能だった脆弱性から学ぶ、OpenID Connect実装の注意点 - Flatt Security Blog

          はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの森(@ei01241)です。 最近は認証や認可に際してOpenID Connectを使うWebサービスが増えていると思います。「Googleアカウント/Twitter/Facebookでログイン」などのUIはあらゆるサービスで見かけると思います。しかし、OpenID Connectの仕様をよく理解せずに不適切な実装を行うと脆弱性を埋め込むことがあります。 そこで、突然ですがクイズです。以下のTweetをご覧ください。 ⚡️突然ですがクイズです!⚡️ 以下の画面はOAuth 2.0 Best Practice上は推奨されないような実装になっており、潜在的リスクがあります。https://t.co/bXGWktj5fx どのようなリスクが潜んでいるか、ぜひ考えてみてください。このリスクを用いた攻撃についての解説記

            GitLabで1クリックアカウント乗っ取りが可能だった脆弱性から学ぶ、OpenID Connect実装の注意点 - Flatt Security Blog
          • IdPとしてSAML認証機能を自前実装した - BASEプロダクトチームブログ

            はじめに みなさんはじめまして。BASEでエンジニアをしております田村 ( taiyou )です。 先日、BASEではショップオーナー向けのコミュニティサイト「BASE Street」にログインするための機能としてSSOログイン機能をリリースしました。 SSOログインを実現するための認証方式はいくつかあるのですが、弊社ではSAML認証方式を用いて実現しました。 そのため、この記事ではSAML認証機構のIdPとしてOSSを使わずにSAML認証機能を実装する方法を紹介します。 前回のテックブログで、このSSOログイン機能のフロント側を開発したPJメンバーの若菜が「サーバーサイドエンジニアがフロントエンドに挑戦して最高の経験になった話」を執筆したのでこちらも見てみてください! SAML認証機能を提供しているOSSには、Keycloakなどがありますが、BASEでは以下の理由により自前実装すること

              IdPとしてSAML認証機能を自前実装した - BASEプロダクトチームブログ
            • ログ基盤のFluentdをFluent Bitに移行して監視ツールを実装した話 - Mirrativ Tech Blog

              はじめまして、Azuma(@azuma_alvin)です。現在大学院の1年生で、2024年2月から4ヶ月間ミラティブのインフラチームにインターンとして参加しました。普段はインフラやMLOpsといった領域に興味があり、最近はVim環境の整備がマイブームです。 本記事では、ログ基盤をFluentdからFluent Bitへ部分移行した経緯とその2種類の監視ツールの実装についてお話しします。 記事の最後に、インターンから見たインフラチームの特徴と私が4ヶ月間で学んだことを紹介しています。興味がある方は末尾までスクロールしてぜひご覧ください。 1. 背景と目的 2. ミラティブのログ基盤について 3. ログ欠損の原因調査 Fluentdのバッファリングの仕組み fsnotifyを用いたバッファリングの観察 負荷試験 日付時刻フォーマットとワイルドカードによるログ欠損 ログ保存とサーバータイムスタン

                ログ基盤のFluentdをFluent Bitに移行して監視ツールを実装した話 - Mirrativ Tech Blog
              • 我が家の BigQuery による台所事情分析 - nownab.log

                弊家では銀行やクレジットカードの明細を BigQuery に取り込んでダッシュボードを作ったりしています。 また、そのために作った BigQuery 向けの Go 製 ETL フレームワークを OSS として公開しました。 本記事ではざっくりどんなもんかを紹介して、どう作るのかを説明します。 Google Cloud Platform Advent Calendar 2020 の 13 日目の記事です。 Google Cloud Japan の Customer Engineer の Advent Calendar もぜひご覧ください。 TL; DR 明細が BigQuery にあると、可視化もできるしアラートも出せるし、まぁなんでもできて便利 銀行明細レベルのデータならほぼ無料で保存、ETL、分析できる ETL フレームワーク bqloader を OSS として公開したから使ってくれよ

                  我が家の BigQuery による台所事情分析 - nownab.log
                • Vimで本格的にWeb開発したい人の為のステップアップガイド

                  想定読者 この記事は「Vimって便利だけど、覚えたてだと局所的にしか使えなかったりして、実際に本格的にWeb開発するのは難しいし、モチベーションも続かないなあ…」という人のために書きました。 工夫した点 TODOサンプルアプリを用意して「Vimの設定適用 → リアルなコードを使って実際にVimを動かす」という感じで少しずつ便利になる体験をしながら実際のWeb開発でも使えるVimを使った操作や設定などを覚えていけるステップアップ構成 特定のプラグインを使うケースは類似プラグインを紹介し、他のプラグインも選択できるように。(これこそVimの楽しいところ。好きなものを好きなように自分で組み合わせて使う。) 注意点 Vimの説明になります(Neovimではありませんのでご注意ください)。 Vimはバージョン8.2を使っています。 Docker上のUbuntuでVimを動かす想定になっています。イン

                    Vimで本格的にWeb開発したい人の為のステップアップガイド
                  • 「HTML解体新書」リフロー版電子書籍を作りました - 弁護士ドットコム株式会社 Creators’ blog

                    4月に発売された書籍「HTML解体新書」。その電子版は今までPDF版しかありませんでしたが、このたびリフロー版が発売となり、Amazonでも購入できるようになりました。 この記事では、HTML解体新書のリフロー版電子書籍を実際に作成した際の流れについて、なぜ作成したのか、どうやって作成したのか、どのようなトラブルがあったか、といった点をご紹介します。リフロー版の電子書籍の作成、出版を検討されている方の参考になれば幸いです。 リフロー版の電子書籍を作った理由 リフロー型と固定レイアウト型 リフロー型とアクセシビリティ リフロー版の電子書籍を作るには 電書協 EPUB 3 制作ガイド 実際の制作の流れ テキスト原稿を用意する XHTMLを作る その他EPUBに必要なファイルを準備する OCFコンテナのメタデータを用意する mimetype container.xml OPFパッケージのデータを

                      「HTML解体新書」リフロー版電子書籍を作りました - 弁護士ドットコム株式会社 Creators’ blog
                    • Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog

                      お久しぶりです、ANDPADボードの tomtwinkle です。 この記事はGoの go:linkname 騒動は 6/18に行われた Go Bash で話した内容を要約したものです。 そもそも go:linkname とは何かといえば internal packageやprivate var/funcなど普通はアクセスできないオブジェクトシンボルをエイリアス出来るようCompilerに指示して、アクセス可能にするcompiler directiveです。 go:linkname はprivateな変数へアクセス可能な便利なものでしたが unsafe packageのimportを必須とする通り、せっかく互換性や安全を考慮して作られているGoプログラムを簡単に破壊できる諸刃の剣でした。 詳細は発表スライドを見てください。 go:linkname 禁止騒動 Go 1.23 のリリースまで2

                        Go界隈で巻き起こった go:linkname 騒動について - ANDPAD Tech Blog
                      • Deno 1.0

                        Dynamic languages are useful tools. Scripting allows users to rapidly and succinctly tie together complex systems and express ideas without worrying about details like memory management or build systems. In recent years programming languages like Rust and Go have made it much easier to produce sophisticated native machine code; these projects are incredibly important developments in computer infra

                          Deno 1.0
                        • 医薬品検索にベクトル検索を導入したら、デフォで検索ニーズをほぼ満たせそうだった話

                          どんな人向けの記事? 医薬品のような難しい検索ニーズにこたえるためにベクトル検索を利用する知見を見てみたい MySQLの全文検索と、ベクトル検索の精度や速度を比較してみたい ベクトルDBとEmbeddingモデルを利用した簡単なベクトル検索の実装方法を知りたい 医薬品の検索ニーズは多様なので、ベクトル検索で解決できるか試したい 1つの医薬品を指す名称は、複数存在するため医薬品検索は意外と面倒な問題です。 例えば、日本人なら頭痛や生理痛、発熱したときに「ロキソニン」を飲んだことがあるかもしれません。この名称は商品の名称ですが、成分の名称は「ロキソプロフェンナトリウム水和物」です。 さらに、ロキソプロフェンには錠剤以外にもテープやパップといった剤形の違いがあります。 そして最後に、ロキソプロフェンを作っている会社は複数あるので、末尾に「トーワ」や「ファイザー」などの組み合わせが存在します。ロキ

                            医薬品検索にベクトル検索を導入したら、デフォで検索ニーズをほぼ満たせそうだった話
                          • OpenAI開発のテキスト生成AI「GPT-3」がどんな処理を行っているのかを専門家が解説

                            AI研究団体・OpenAIが発表して話題を呼んだ対話型AI「ChatGPT」は、テキスト自動生成AI・GPT-3の派生形である「GPT-3.5」をファインチューニングした自然言語処理モデルです。チューリッヒ工科大学で機械学習とロボティクスの博士号課程に進んでいるダニエル・デュガス氏が、GPT-3が行っている数学的処理工程について解説しています。 The GPT-3 Architecture, on a Napkin https://dugas.ch/artificial_curiosity/GPT_architecture.html ◆入力/出力 まずGPTの「入力」とは一連のN個の単語のことで、「(入力)トークン」とも呼ばれます。そして、GPTの「出力」とは、入力トークンの最後に配置される可能性が最も高いと推測される単語です。例えば「not all heroes wear(すべてのヒーロ

                              OpenAI開発のテキスト生成AI「GPT-3」がどんな処理を行っているのかを専門家が解説
                            • Building a toy browser

                              In the last several weeks, I have been building a toy browser based on an online book, Web Browser Engineering. As someone who spent a fair share of his career on web frontend, it was eye-opening and satisfying. It felt like I had been living on one side of a wall for years and finally visited the other side of the wall. I imagine other web frontend folks would like it as well. The book Web Browse

                                Building a toy browser
                              • UTF-8で動くRailsがShift_JISな外部システムと通信する方法 - BOOK☆WALKER inside

                                こんにちは。 メディアサービス開発部Webアプリケーション開発課のフサギコ(髙﨑)です。部署名が変わりました。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では、UTF-8環境下で動くRailsがShift_JISな外部APIと通信する方法についてお話しします。 前提知識 文字コード UTF-8環境下で動くRailsがShift_JISな外部システムと通信するには Shift_JISな外部APIに対してPOSTリクエストする べた書きとしては Railsにおいては Shift_JISで使用できない文字が混ざっていないかをバリデーションする Shift_JISな外部システムからPOSTリクエストを受ける おまけ: ユーザのブラウザにShift_JISでPOSTさせる

                                  UTF-8で動くRailsがShift_JISな外部システムと通信する方法 - BOOK☆WALKER inside
                                • VSCodeをプログラミングエディタとして強化しよう! 便利な設定や拡張機能を紹介

                                  はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げられたりすることも大きいでしょう。本連載では、このVSCodeにフォーカスし、基本的な使い方から拡張機能の活用、そして本格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。 対象読者 テキストエディタメインで開発してきた方 Visual Studioより軽い環境が欲しいと考えている方 Visual Sudio Codeをもっと使いこなしたい方 必要な環境 本記事の内容は、以下の環境で動作を確

                                    VSCodeをプログラミングエディタとして強化しよう! 便利な設定や拡張機能を紹介
                                  • ついにご家庭にやってきたシンギュラリティ。AIサイエンティストが勝手に仮説を立て、実験して、論文を書く|shi3z

                                    SakanaAIがまた面白い研究を発表した。その名も「AI Scientist(AI科学者)」 AIの研究をする科学者ではなく、科学者をやるAIである。 しかもすごいのは、基本的に難しいAIはすべてクラウド上で動作する(GPT-4oやOpenRouter対応LLMなど)ので、ご家庭で手軽に遊ぶことができる。AIの実験をする場合はGPUくらいは欲しいところだが、AIじゃないものを研究する場合はGPUすら不要だ。 実際に動かしてみると様々な罠があるぞ(まだ) AI-Scientistの使い方は簡単・・・とまではいかないが、templateを書いて「こういう仮説があるんだよね」というアイデアをいくつかseed_ideas.jsonに書いてあとは電子レンジでチンするが如く実行するだけだ。 ただ、記事執筆時点(2024/8/13 18:50 JST)では、リポジトリが不完全なのか書かれた通りにコマン

                                      ついにご家庭にやってきたシンギュラリティ。AIサイエンティストが勝手に仮説を立て、実験して、論文を書く|shi3z
                                    • Goで書くテスタブルなCLIツールの作り方 | gihyo.jp

                                      CLIツールをテストする難しさ ターミナルなどで動作するCLI(コマンドラインインタフェース)ツールは、パッケージを公開して利用してもらうライブラリと比べてテストがしにくいと感じる読者も多いでしょう。 CLIツールは、ファイル/標準入力からの入力や、ファイル/標準出力/標準エラー出力への出力があることが多いです。また、コマンドライン引数やオプション(フラグ)によって変わる挙動のパターンが多いため、網羅的なテストが大変です。 入出力についても単一のファイルを読み書きするだけではなく、ディレクトリごと作成したり、特定のディレクトリ以下を再帰的に読み込むような処理もよくあります。 main関数にすべての処理をすべて書くような作りのCLIツールだと、実際にビルドしてテストスクリプトなどから動かしてテストするしかありません。しかし、せっかくCLIツールをGoで書いているのであれば、テストもGoで書き

                                        Goで書くテスタブルなCLIツールの作り方 | gihyo.jp
                                      • ChatGPT APIをUnityから動かす。|ねぎぽよし

                                        こんにちは。 先日AIエージェント開発の技術解説記事を書いて「今後ChatGPTライクのAPIが出てきた瞬間に進化すると思う」という話をしたのですが… まさか3日後にChatGPT APIが出てくるとは思いませんでした。 というわけで今回はUnityからChatGPT APIを叩く方法について書いてみます。 先日の記事で用いたGPT-3のTextCompletionAPIよりも(Langchainなどを使わず)カスタマイズ無しで実際のAI利用シーンに活用できそうな印象を受けました。 具体的には… 応答速度が早い(応答の文章の長さによりますが、手元の環境では1~3秒で返ってきました) AI側の応答の前提条件の設定ができる。(キャラクターの性格や語尾など) (過去のプロンプトや生成結果を次のプロンプトに引き継ぐような実装をすることで)会話の文脈を考慮した応答をすることができる。 という特徴があ

                                          ChatGPT APIをUnityから動かす。|ねぎぽよし
                                        • 世界一わかりやすいゼロ知識証明 Vol.2: Zero-Knowledge Proofs in the Context of Modern Cryptography

                                          このブログシリーズをグラントプロジェクトとしてサポートしてくださっているイーサリアム財団、また執筆に際してフィードバックとレビューをしてくださった末神奏宙さんに感謝します。 Special thanks to Ethereum Foundation for awarding grants to this blog post series, and Sora Suegami for feedback and review. このブログシリーズは、ソフトウェアエンジニアに限らず、あらゆる日本の読者のみなさんに向けて、最先端の暗号技術とその重要性をわかりやすく説明するという趣旨で書かれています。それぞれ単体の記事としてもお読みいただけますが、順番に読み進めていくことでより理解が深まります。まだお読みでない方は、ブロックチェーンやコンセンサスアルゴリズムの仕組みについて解説しているVol.1を先に

                                          • A Field Guide to Japanese Mojibake

                                            When you open a document with an encoding different than the one it was created with, it's not possible to display the original text, and instead a garbled mess of corrupted characters are printed out. These are called "mojibake" in Japanese, and the word has also been borrowed into English. While mojibake aren't readable by humans, it turns out that different kinds of mojibake have different visu

                                              A Field Guide to Japanese Mojibake
                                            • "壊れにくい"データ基盤を構築するためにMackerelチームで実践していること - Hatena Developer Blog

                                              こんにちは。MackerelチームにおいてCRE(Customer Reliability Engineer)をしているid:syou6162です。主にカスタマーサクセスを支えるデータ基盤の構築や、データ分析を担当しています。 今回は、壊れにくいデータ基盤を構築するため、Mackerelチームで実践していることを紹介します。 なぜ壊れにくいデータ基盤を構築するのか データ基盤が“壊れている”とはどういうことか 壊れてないだけでなく、壊れたら気付ける 前提とするシステム構成 壊れたことに気付けるよう監視する 1. バッチジョブが失敗したことに気付く 2. 投入されたデータの性質を監視する 3. ビューが壊れてないかを監視する 4. 利用状況を監視する そもそも壊れてない状態を保つ 1. データリネージを元に修正できるようにする 2. 使われていないテーブルやビューは定期的に掃除 おわりに 参

                                                "壊れにくい"データ基盤を構築するためにMackerelチームで実践していること - Hatena Developer Blog
                                              • フェミニストだいっきらい!なみなさまへ|女三宮|note

                                                宇崎ちゃんの献血ポスター以来、インターネット上でフェミニト批判が今まで以上に溢れかえっている。 先ほどツイッターで「フェミニスト」と検索すると、「フェミニスト 死ね」と検索予測に入ってきたり、巨乳のアニメキャラ、漫画キャラをフェミニストが批判していることへの罵詈雑言、「フェミニストは結局女性の地位向上とかじゃなくて自分たちが気に入らないものをフェミニズムを掲げて批判したいだけ」、#Kutoo 石川優実さんに対しての「自分の利益のためにフェミニズムを利用しているだけ」……etc. ああ、ここまで書いてもういやになってきた…。 私の大学の恩師の研究室に『右翼辞典』という分厚い本があった。先生は授業で代議制民主主義を批判し、政権を批判していた左翼でアナキストだった。それをよく知っていた私はそれが目に入って、「右翼辞典って何ですか笑」と言ったら、 「右翼…正当な右翼は面白いんですよ。」 と言ってい

                                                  フェミニストだいっきらい!なみなさまへ|女三宮|note
                                                • Go言語で基本的なCRUD操作を行うREST APIを作成 | DevelopersIO

                                                  Javaのエンジニアだった私がGo言語でREST APIを作る上で学んだことをまとめています。 プロジェクト構成、単体テスト、Dockerイメージの作成など実際にREST APIを開発する上で必要だと思われる要素を盛り込みつつサンプルプロジェクトを作成していきます。 はじめに Javaのエンジニアだった私がGo言語でREST APIを作る上で学んだことをまとめています。 プロジェクト構成、単体テスト、Dockerイメージの作成など実際にREST APIを開発する上で必要だと思われる要素を盛り込みつつサンプルプロジェクトを作成していきます。 今回はできるだけ外部ライブラリやフレームワークを使わずにGo言語の標準機能のみで開発しました。 これからバックエンドにGo言語を使用することを検討されている方の参考になれば幸いです。 ※この記事は既にGo言語の開発環境をセットアップ済みで基本的な文法を学

                                                    Go言語で基本的なCRUD操作を行うREST APIを作成 | DevelopersIO
                                                  • OSS 版 API Gateway、Kong Gateway をつかってみる - Techtouch Developers Blog

                                                    バックエンドエンジニアの taisa です。テックタッチでは API Gateway として、AWS の API Gateway ではなく、クラウドでもオンプレでも使えるオープンソースの Kong Gateway を利用しています。この記事では Kong Gateway とは何か、なぜ使うのか、どうやって使うのか、を簡単にまとめてみました。 Kong Gatewayとは なぜ Kong Gateway を使うのか Kong Gateway をインストールできる環境 Kong Gateway の特徴 Kong Gateway の概念と機能 Kong Gateway のドキュメント Mac + DB Less(YML)環境で動かしてみる 構成 下準備 Kong をセットアップする kong.yml にサービスとルーティング情報を記述する Rate-Limit プラグインを利用する プロキシキャ

                                                      OSS 版 API Gateway、Kong Gateway をつかってみる - Techtouch Developers Blog
                                                    • Logging Best Practices: The 13 You Should Know

                                                      Log Analytics Logging Best Practices: The 13 You Should Know When you search for things on the internet, sometimes you find treasures like this post on logging, e.g. creating meaningful logs. This post is authored by Brice Figureau (found on Twitter as @_masterzen_). His blog clearly shows he understands the multiple aspects of DevOps and is worth a visit. Our thanks to Brice for letting us adapt

                                                        Logging Best Practices: The 13 You Should Know
                                                      • 至高のGoプラグイン用ツールを作った - knqyf263's blog

                                                        最近YouTuberのリュウジの料理を毎日作っているので至高とか無限とか言いがちですが個人の感想です。万人にとって美味しい料理はないように、万人にとって至高のツールは存在しません(何の話?)。ちなみに公開してすぐバグを見つけてしまったので全然至高じゃありませんでした。 要約 概要 特徴 使い方 流れ 事前準備 インタフェースの定義 SDKの生成 プラグインの実装 ホストの実装 実行 発展 Host Functions ファイルアクセス その他 苦労した点 まとめ 要約 Goでプラグイン機構を実現するためのツールを作りました。Protocol Buffersのスキーマからコードを自動生成するので簡単にプラグイン機構を実現可能です。内部的にはWebAssembly(Wasm)を使っています。最近はWasmはブラウザ外での利活用が進んでおり、今回のツールもブラウザは一切関係ないです。Wasmはサ

                                                          至高のGoプラグイン用ツールを作った - knqyf263's blog
                                                        • Content-Disposition の filename という地雷。 (1個の観点で17個の脆弱性を見つけた話) - ぶるーたるごぶりん

                                                          English ver: https://gist.github.com/motoyasu-saburi/1b19ef18e96776fe90ba1b9f910fa714#file-lack_escape_content-disposition_filename-md TL;DR 1つのブラウザ、1つのプログラミング言語、15個の { Web Framework, HTTP Client ライブラリ, Email ライブラリ / Web Service 等} で脆弱性を見つけました。 見つけた脆弱性は、全て 1つの観点で発見した (多分 50-80 くらいのプロダクトの調査をした)。 RFC の記載では、(かなりわかりにくく)この問題に対する要件が記載されており、WHATWG > HTML Spec の方はしっかりと書かれているといった状況にある。 この問題は、 Content-Dispo

                                                            Content-Disposition の filename という地雷。 (1個の観点で17個の脆弱性を見つけた話) - ぶるーたるごぶりん
                                                          • ZawgyiとUnicode: ミャンマーの文字の電子化について - にせねこメモ

                                                            まえがき ミャンマーでは公用語としてビルマ語が使われている。ビルマ語の表記にはビルマ文字を用いるのだが、このビルマ文字のインターネット上での使用は、混迷を極めていた。そしておそらく今もまだ…。なぜか? それは、Unicodeという文字コードの標準がありながら、Zawgyiというものが広く使われていたためである。なぜそのようなものが登場し、普及することとなったのか、この記事で解説する。 目次 まえがき 目次 凡例 この記事で使う名称について ビルマ語表記 コードポイント ラテン文字表記について Zawgyiの概説と歴史 Zawgyiとは Zawgyiのダウンロード Zawgyi誕生・普及の経緯 複雑なビルマ文字 ビルマ文字とUnicode 回避策としてのビルマ文字フォントの登場 Zawgyiの普及 Zawgyiの実装 実装の方針 文字の並べ替えをせず、左から右に書く 文字の形のバリエーション

                                                              ZawgyiとUnicode: ミャンマーの文字の電子化について - にせねこメモ
                                                            • PullRequestからチーム開発の生産性・健全性を測るCLIツールを書いてみた - $shibayu36->blog;

                                                              最近、開発チームの生産性や健全性をどのように計測したら良いかについて興味を持っている。その中で「LeanとDevOpsの科学」の中に書いてあるようなデプロイの頻度・変更のリードタイム・MTTR・変更失敗率の4指標や、開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiitaに興味を持った。 一方、それらの指標を考えてみた時、以下のような点について悩んでいた。 マイクロサービスなどで複数レポジトリとなり、さらにデプロイ手法がそれぞれ違う状況の場合、変更のリードタイム = コミット〜本番稼働までの時間を計測するのがなかなか難しい コミットという単位だとかなり小さく、個々人のばらつきも大きすぎるように感じるので、もう少し良い単位はないのだろうか このような悩みから、PullRequestの単位で集計することで、生産性や健全性をもう少し測りやす

                                                                PullRequestからチーム開発の生産性・健全性を測るCLIツールを書いてみた - $shibayu36->blog;
                                                              • ChatGPT の仕組みを理解する(前編) - ABEJA Tech Blog

                                                                こんにちは!株式会社 ABEJA で ABEJA Platform 開発を行っている坂井(@Yagami360)です。世間では ChatGPT などの大規模言語モデル(LLM)による対話型 AI が盛り上がってますね。クオリティーも凄いし AI 業界以外でも盛り上がってると嬉しいですよね。この数年で一段と AI の社会実装が業界以外の人にも目に見える形で進んできたなあと実感しております。 自分は普段業務では ABEJA Platform という AI プロダクトやその周辺プロダクトのバックエンド開発とフロントエンド開発をやっているのですが、AI 業界所属していながら ChatGPT などの LLM 全然追いかけれていない状態になっちゃてて自責の念にかられているので、このブログ執筆という良い機会に ChatGPT の仕組みについて調べてみました。 本記事の対象読者としては、以下のようになりま

                                                                  ChatGPT の仕組みを理解する(前編) - ABEJA Tech Blog
                                                                • 『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream

                                                                  Rustで作るプログラミング言語という書籍が先日発売されました。簡単なプログラミング言語を作ってバイトコードに変換して実行したりネイティブコードに変換して実行してみよう、という本で、大変面白く読みました。最終的にまあまあ本格的な言語になるので、これを元にするとわりとちゃんとした言語を作れそうです。 この書籍で最終的に作られる言語はこちら: GitHub - msakuta/ruscal: Programming language implementation learning project ちょうど私も、以前から構想していた言語があったので、ちょっと作ってみました。というのも、TypeScriptを設定記述言語としてさまざまなプログラミング言語から使えると便利ではないかとずっと思っていたのです。 この設定言語で複雑なことができる必要はなく、最終的にはJSONに準ずるデータ構造になればよい

                                                                    『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream
                                                                  • View Source

                                                                    · About · Changelog URL: Fetched 1.23 KB in 0.349075 seconds Don’t wrap lines · Tidy markup <!doctype html> <html> <head> <title>Example Domain</title> <meta charset="utf-8" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style type="text/css"> body { background-color: #f0f0f2; margin: 0; padding: 0; f

                                                                    • 開発に使える?ChatGPTとプロンプトエンジニアリング - Qiita

                                                                      こんにちは!逆瀬川 (@gyakuse) です! 今日は開発に使うときのプロンプトの例を紹介します。ただ、これは一例に過ぎず、もっと雑な表現や工夫されたプロンプトを使っても良いでしょう。大事なのは、どのように情報を与えるとうまくin-context learningしてくれそうか、ということを考えながらプロンプトを渡してあげることだと思います。 だいじなこと ChatGPTのGPT-4を使いましょう ChatGPTをそのまま使う場合、オプトアウト申請し、受理されたことを確認しましょう オプトアウトしていても他者に会話履歴が見える状態になる等のトラブルもあったため、API経由のほうが安全です 会社のプログラム等は情シス部門と連携を取り、会社のポリシーを検討をしましょう 実装を依頼するプロンプト 「行いたいこと」「処理の流れ」「参照ドキュメント」という順で書いてあげると良いです。 サンプルプロ

                                                                        開発に使える?ChatGPTとプロンプトエンジニアリング - Qiita
                                                                      • gRPC Internal - gRPC の設計と内部実装から見えてくる世界 | Wantedly Engineer Blog

                                                                        こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37)です。 今日は、WANTEDLY TECH BOOK 6 から「gRPC Internal」という章を抜粋して Blog にします。 「WANTEDLY TECH BOOK 1-7を一挙大公開」でも書いた通り、Wantedly では WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布する事にしました。Wantedly Engineer Blogでも過去記事の内容を順次公開予定であり、この Blog もその一環となっています。 Wantedly における Go 導入にまつわる技術背景 | Wantedly Engineer Blog (本記事は Go Conference 2019 Autumn にて無料配布した冊子『WANTEDLY TE

                                                                          gRPC Internal - gRPC の設計と内部実装から見えてくる世界 | Wantedly Engineer Blog
                                                                        • Chromium にコントリビュートするための周辺知識 | blog.jxck.io

                                                                          Intro Chromium にコントリビュートするためには、ソースコードを理解する以外にも、もろもろ必要な周辺知識がある。 ドキュメントはかなり整備されている方ではあるが、そのドキュメントにたどり着くのが難しい場合もある。 レビュアーなどが親切に教えてくれるものをローカルにメモしているが、それも散らばってきたため、ここにまとめることにする。 まずは初期状態で公開するが、どんどん更新していき、長くなっても分割しないで追記を繰り返そうと考えている。 関連サイト 始めて取り組もうとすると、まずどこを見ればわからないところから始まる。 似たようないくつかのサイトがあり、使い分けがされているからだ。 code search https://source.chromium.org/chromium/chromium/src コードをインタラクティブに検索するためのサイト Workspace 風の U

                                                                            Chromium にコントリビュートするための周辺知識 | blog.jxck.io
                                                                          • Unicodeコンソーシアムが提供する“最後の手段”フォント「Last Resort Font」/フォールバック指定しておけばフォントに含まれていないグリフを突き止められる【レビュー】

                                                                              Unicodeコンソーシアムが提供する“最後の手段”フォント「Last Resort Font」/フォールバック指定しておけばフォントに含まれていないグリフを突き止められる【レビュー】
                                                                            • PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog

                                                                              こんにちは ハタ です。 Mirrativ では 2020年頃から サーバサイドの技術をPerlからGoへのシステム移行 を行っており、2024年現在でもサグラダファミリアのように移行作業は継続しています PerlとGoという2つの環境を同時に運用していますが、 基本的には 新機能は Go で実装 し、 Perlでは積極的に新規実装を行わない というスタイルで進めていました しかし、既存の機能の一部に手を加えたいとなった場合、まだまだ Perl の実装に手を加えることが一定あり、Perl から Go の機能を呼び出したいというニーズが出てきました (配信やギフトといったビジネスの根幹を支えるレガシーな実装においては顕著) そこで PerlXS を利用することで Perl から Go を直接呼び出せるようにできないかと考え検証を進めることにしました Goの -buildmode=c-shar

                                                                                PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog
                                                                              • Transformer Explainer: LLM Transformer Model Visually Explained

                                                                                What is a Transformer? Transformer is a neural network architecture that has fundamentally changed the approach to Artificial Intelligence. Transformer was first introduced in the seminal paper "Attention is All You Need" in 2017 and has since become the go-to architecture for deep learning models, powering text-generative models like OpenAI's GPT, Meta's Llama, and Google's Gemini. Beyond text, T

                                                                                  Transformer Explainer: LLM Transformer Model Visually Explained
                                                                                • ラッキービジター詐欺で使用されるPHPマルウェア - JPCERT/CC Eyes

                                                                                  JPCERT/CCでは、国内のWebサイトが改ざん被害を受け、不正なページが設置される事例を継続して観測しています。これらの事例では、不正に設置されたPHPスクリプト(以下、PHPマルウェア)により、ページにアクセスした訪問者が詐欺サイトや不審な商品販売サイトなどに誘導されることがわかっています。 今回は、複数の調査事例から得られた知見をもとに、国内のWebサイト改ざんで頻繁に見られているPHPマルウェアの詳細について紹介します。 被害事例 PHPマルウェアが設置されたWebサイトでは、アクセスした訪問者を詐欺サイトや不審な商品販売サイトなどに転送する不正なWebページが多数サーバー上に作成されます。図1は、ページにアクセスした際に表示されるラッキービジター詐欺サイトの例です。 図1:転送先の詐欺サイトの例 攻撃者は、コンテンツマネジメントシステム(以下、CMS)の脆弱性を悪用して、PHP

                                                                                    ラッキービジター詐欺で使用されるPHPマルウェア - JPCERT/CC Eyes