並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 306件

新着順 人気順

Testの検索結果1 - 40 件 / 306件

  • Webサービス公開前のチェックリスト

    個人的に「Webサービスの公開前チェックリスト」を作っていたのですが、けっこう育ってきたので公開します。このリストは、過去に自分がミスしたときや、情報収集する中で「明日は我が身…」と思ったときなどに個人的にメモしてきたものをまとめた内容になります。 セキュリティ 認証に関わるCookieの属性 HttpOnly属性が設定されていること XSSの緩和策 SameSite属性がLaxもしくはStrictになっていること 主にCSRF対策のため。Laxの場合、GETリクエストで更新処理を行っているエンドポイントがないか合わせて確認 Secure属性が設定されていること HTTPS通信でのみCookieが送られるように Domain属性が適切に設定されていること サブドメインにもCookieが送られる設定の場合、他のサブドメインのサイトに脆弱性があるとそこからインシデントに繋がるリスクを理解してお

      Webサービス公開前のチェックリスト
    • ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク

      はじめに こんにちは、皆さん。今日は、シェルスクリプトを使った高度な自動化のベストプラクティスとパターンについて解説します。これらは、ちょっとした知識で実行でき、作業を大幅に効率化できるTipsです。シェルスクリプトは、特にUNIX系システムでの自動化タスクに欠かせないツールです。適切に使用すれば、複雑なタスクを効率的に、そして信頼性高く実行できます。 トイルとは、反復的でマニュアルな作業のことを指します。これには、例えば、手動でのシステムのスケーリングや、エラーのトラブルシューティング、ルーティンなメンテナンス作業などが含まれます。トイルを特定し、それを自動化することで、エンジニアはより創造的なタスクやプロジェクトに焦点を合わせることができます。 トイルを判別する方法としては、以下のような基準が挙げられます: 手作業であること 完全な手作業だけでなく、「あるタスクを自動化するためのスクリ

        ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク
      • 生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」

        生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」 ChatGPTやCopilotなどの生成AIを用いてコードを生成しようとすると、多くの場合プロンプトを自然言語で書くことになるでしょう。 しかし自然言語で的確にプログラムの内容を表現するのは、ときに面倒だったり、あいまいさを排除することが難しかったりします。 一方で、プログラマが自分でコードを書こうとするとき、あるいは他のプログラマとコードの内容を議論するときに、自然言語をプログラミング言語のような構文で書く、いわゆる「擬似コード」を使うことがよくあります。 例えばこんな風に自然言語をコードっぽくホワイトボードに書いたことのあるプログラマの方は多いのではないでしょうか? 入力値を処理するための関数(A、B){ Aは数字かどうか確認する Bは日付か

          生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」
        • なぜブラウザエンジンは 1 つではダメなのか? または Ladybird への期待 | blog.jxck.io

          Intro Ladybird は、他のブラウザエンジンをフォークせず、企業との取引に頼らず、寄付だけで作ることを宣言した新しいブラウザエンジンだ。 Ladybird https://ladybird.org/ これがいかに価値のある取り組みなのか、 Web を漫然と眺めてきた筆者による N=1 の妄言を書いてみる。 ブラウザエンジンとは ブラウザは、「ブラウザ UI」と「ブラウザエンジン」と、大きく二つの構成要素に分けて考えることができる。 ブラウザエンジンとは、いわゆる Web 標準の技術を片っ端から実装した、ブラウザの土台となるものだ。 ビルドすれば、入力した URL からネットワーク経由でリソースを取得し、パースしてレンダリングして表示できる。そのための IETF RFC や WHATWG HTML や ECMAScript が実装されている、標準技術の結集だ。 その上に、例えばタブ

            なぜブラウザエンジンは 1 つではダメなのか? または Ladybird への期待 | blog.jxck.io
          • CrowdStrikeは数ヶ月前にDebianとRocky Linuxを破壊していたが誰も気づかなかった | ソフトアンテナ

            Windowsデバイスで広範囲にブルースクリーン・オブ・デス(BSOD)が発生し、航空会社、銀行、医療機関など、さまざまな分野で業務が中断しています。 原因は、クラウドベースの総合セキュリティソリューション「CrowdStrike Falcon」のアップデートによって配信されたドライバーファイルにあり、CrowdStrikeは問題を認め、MacやLinux PCには影響しないと説明しています。 今回の問題は突然発生したかのように思えますが、実は同じような問題が数ヶ月前にも発生し、DebianとRocky Linuxのユーザーが大きな影響を受けていたことがわかりました(Neowin)。 Hacker Newsによると今年の4月、CrowdStrikeのアップデートによって、市民技術ラボのすべてのDebian Linuxサーバーが同時にクラッシュし、起動できなくなる問題が発生していたとのこと。

              CrowdStrikeは数ヶ月前にDebianとRocky Linuxを破壊していたが誰も気づかなかった | ソフトアンテナ
            • Poku

              🐷 What's Poku?A cross-platform test runner that brings the JavaScript essence back to testing. ⚡️ Quick Tutorials

                Poku
              • t-wada氏に聞く、テストを書き始めるための「はじめの一歩」 - レバテックラボ(レバテックLAB)

                プログラマ、テスト駆動開発者 和田卓人 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。テストライブラリ power-assert-js 作者。 講演や執筆などを通じ、日本におけるテスト駆動開発のエバンジェリストとして知られる和田卓人さん。 TDDとは何かを改めて言語化してもらった前回の記事では、「テストを書かずに進むのが合理的といえるときはある。でも、後からテストを書くのって難しいしつらい」とのお話がありました。 テストが書かれないまま

                  t-wada氏に聞く、テストを書き始めるための「はじめの一歩」 - レバテックラボ(レバテックLAB)
                • 漫画版のナウシカってなんで最後人類皆殺しにしたんだろうね : 哲学ニュースnwk

                  2024年07月10日12:00 漫画版のナウシカってなんで最後人類皆殺しにしたんだろうね Tweet 巨頭オより不気味な話あるの? http://blog.livedoor.jp/nwknews/archives/5015770.html 【画像】 田舎の道路脇にある、こういう謎スペース好きなやつwww 6: ジャストフェイスロック(広西チワン族自治区)@\(^o^)/ [CH] 2017/01/16(月) 02:18:29.63 ID:IrcT1HK1O 旧人類が好き勝手に世界いじくり回しておいてしっぺ返し食らわないと思ってるなら大間違いやぞ って話じゃねーの システムに反撃されたんだわ 30: 張り手(神奈川県)@\(^o^)/ [GB] 2017/01/16(月) 02:37:08.74 ID:uJq7xP9p0 >>6 旧とか新とかいう以前に同じ人間じゃねーか 殺し合いしてる敵に

                    漫画版のナウシカってなんで最後人類皆殺しにしたんだろうね : 哲学ニュースnwk
                  • ログ基盤の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
                    • コードを書き始める前からテストをずっと考える ─ 継続的テストモデルとシフトレフトなテスト活動をアジャイルにどう取り入れるか - Agile Journey

                      読者の皆さんは、テストについてどのようなイメージをお持ちでしょうか。「開発の後に行う確認作業」といったイメージを持たれている方もいるかと思います。 しかし、開発しようとしているソフトウェアに不具合の混入を防ぐには、もっと早い段階でテストについて考えることが必要です。こういったテスト活動は、プログラムを1文字も書いていないときから始めることができるのです。 本記事では、2016年に提唱された継続的テストモデルを紹介しつつ、アジャイルとも親和性のあるシフトレフトなテスト活動について解説していきます。 DevOpsにおけるテストの考え方 DevOpsのループ図とは何か? 継続的テストモデルとは何か 継続的テストモデルにおいてテストは「活動」である シフトレフトなテスト活動とシフトライトなテスト活動 シフトレフトなテスト活動としてのテスト駆動開発 コード実装を始める前から行うテスト活動 シフトレフ

                        コードを書き始める前からテストをずっと考える ─ 継続的テストモデルとシフトレフトなテスト活動をアジャイルにどう取り入れるか - Agile Journey
                      • Ultimate Guide to Improving MySQL Query Performance

                        MySQL is certainly a powerful open source database management system, but even the most robust engine struggles when queries take an eternity to execute. For DBAs and developers, improving MySQL query performance is an ongoing goal. Efficient query performance is crucial for ensuring the smooth operation and optimal user experience of applications powered by MySQL databases. When businesses rely h

                          Ultimate Guide to Improving MySQL Query Performance
                        • テストコードを書く上で個人的に気をつけている5つのこと - Qiita

                          はじめに エンジニアの皆様、テストコードはちゃんと書けておりますでしょうか?(挨拶) どんな開発言語や開発手法を導入していたとしても、アプリケーションの機能実装とテストは表裏一体であると言えます。場合によっては機能の作り込みよりも時間をかけるべきケースが多いくらい重要である(・・・と信じたい)反面、デッドラインが近づくにつれて真っ先に工数が削られやすく軽視されがちな工程でもあります。 時間に追われてテストコードを書いた結果、テストの体をなしていないコードになっていたり後で見返したときに記述が煩雑すぎてメンテ不能になっていたり・・・といった苦い経験は誰しもがあるかと思います。かくいう自分もそんなことは多々ありました。 そんな今までの経験則を基に「自分がテストコードを書くにあたってどんなことを意識しているのか?」をいくつかピックアップして備忘録も兼ねて紹介したいと思います。 一応注意なのですが

                            テストコードを書く上で個人的に気をつけている5つのこと - Qiita
                          • TDDは「開発者テストのTips集」t-wada氏が改めてひも解く“本質” - レバテックラボ(レバテックLAB)

                            プログラマ、テスト駆動開発者 和田卓人 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。テストライブラリ power-assert-js 作者。 日本におけるテスト駆動開発(以下、TDD)のエバンジェリストとして知られる和田卓人さん。TDDが世に出て20年あまりが経ち、開発者の間でその名が広がっています。その一方で、和田さんは「TDDの本来の意味を知らなかったり誤解したりしている人たちもかなり増えている」といいます。 今回は、TDDは本質

                              TDDは「開発者テストのTips集」t-wada氏が改めてひも解く“本質” - レバテックラボ(レバテックLAB)
                            • Playwright を使いこなすためのベストプラクティス - Qiita

                              はじめに Playwright を使うことで比較的簡単に E2E テストを実装することができます。しかし、通常テストコードは実装したら終わりということではなく、継続的にメンテナンス(保守)が必要になります。その際に保守しやすいように実装するため、Playwright の公式ドキュメントに記載されているベストプラクティスの中で参考になりそうな部分を確認しておこうと思います。 テストの独立性を高める 可能な限りテスト間の依存が無いようにして、テストを分離すると良いというプラクティスです。各テストが独立していることで、 1つのテストが失敗しても他のテストに影響しない テストの順序を考慮する必要がない テストをシンプルに保つことができる あたりのメリットがあるかと思います。また、特定の処理(例えば特定の URL に遷移する処理)の繰り返し実装するのを避けるために before and after

                                Playwright を使いこなすためのベストプラクティス - Qiita
                              • 要件定義の目的とゴールとは - TRACERY Lab.(トレラボ)

                                TRACERYプロダクトマネージャーのharuです。 「要件定義とは何を目的としたプロセスなのか?なにが出来たら完了なのか?」 はじめて要件定義する人は、ここで詰まってしまうことが多いようです。 要件定義は、設計や実装に比べて、具体的な作業がイメージしにくいプロセスです。 そのような背景もあってか、2023年4月のBPStudy#188〜要件定義を学ぼう。ChatGPTを添えてに私が登壇した時の以下のスライドには、945個のはてなブックマークをいただきました*1。 speakerdeck.com 945というブックマーク数は、要件定義というものを具体的にイメージしにくいと感じている人が世の中に多いことの現れかもしれません。 そこで「要件定義とはそもそも何か」について、何回かの記事に渡って説明します。 この記事では要件定義の目的とゴールについて説明します。 プロジェクトの数だけ存在する開発プ

                                  要件定義の目的とゴールとは - TRACERY Lab.(トレラボ)
                                • 高品質と高スピードを両立させるテストアプローチ/Test Approach that Improves Quality and Agility Together

                                  高品質と高スピードを両立させるテストアプローチ/Test Approach that Improves Quality and Agility Together

                                    高品質と高スピードを両立させるテストアプローチ/Test Approach that Improves Quality and Agility Together
                                  • 開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition

                                    2024年6月29日 Findy 開発生産性カンファレンス2024 Closing Keynote https://dev-productivity-con.findy-code.io/2024

                                      開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
                                    • 良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合

                                      「モバイルアプリ開発における良いテストコードの考え方」の発表資料です。 https://trident-qa.connpass.com/event/320151/

                                        良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合
                                      • プログラム、下から作るか?上から作るか?

                                        TL;DR プログラムは「下から組む方法」と「上から組む方法」がある プログラムを組む時は少しずつテストしながら組む はじめに なにかゼロからプログラムを組むとします。そのプログラムのアルゴリズムや、何をやるべきかはなんとなくわかっているけれど、どこから手をつけてよいかがわからず、ChatGPTに全部書かせて、その後修正できずに困る、という事例を何度か観測しています。 プログラムをゼロから書くのは慣れが必要です。プログラムをゼロから書く場合、小さな部品を一つ一つ作っていって、最後にそれらを組み上げる「下から書く」方法と、「こういう関数が必要であるはず」と外枠から書いていって最後に中身を埋める「上から書く」方法があります。その一般論を論じるのは私の能力を超えるため、以下では「下から」と「上から」の例を挙げて、その「気持ち」を説明してみようと思います。言語はなんでも良いですが、ここではPyth

                                          プログラム、下から作るか?上から作るか?
                                        • [K, U] extends [U, K] ← ナニコレ

                                          タイトルは初見時の自分の気持ちでした。内容は結構あっさりしたもので、5分あれば読めると思います。 「あーなるほどね」となった方はわざわざ読む必要がない記事っぽいです。 型の互換性チェック 一言で言ってしまえばそういうことです。KとUが互いに置き換え可能かどうかを確認しています。 これがKとUのままだと分かりづらいのですが、適当な型に置き換えてみると分かりやすいです。 type Test1 = [1, 1] extends [1, 1] ? true : false; // true type Test2 = [number, number] extends [number, number] ? true : false; // true type Test3 = [string, string] extends [string, string] ? true : false; // tru

                                            [K, U] extends [U, K] ← ナニコレ
                                          • 「AWSで始める負荷テスト入門」というタイトルで DevelopersIO 2024 Sapporo に登壇しました #devio2024 | DevelopersIO

                                            中川です。 2024年7月5日に開催した「DevelopersIO 2024 SAPPORO」にて、オフライン登壇させていただきました。 登壇資料 話したこと 負荷テストの概要と目的 負荷テストの進め方 AWSを活用した負荷テスト 実践的なTips 当日の登壇スライドはこちらになります。 参考・紹介資料 参考にしたサイト 負荷テスト on AWS のすすめ 第三十五回 ちょっぴりDD - 人気番組の新作配信を安定起動させた、サーバーレスな AWS 分散負荷試験ソリューション「Distributed Load Testing」を使った負荷試験の仕組み 負荷テストとは?目的や種類ごとの観点、実施の流れについて解説 Types of load testing 参考にした書籍 Amazon Web Services負荷試験入門―クラウドの性能の引き出し方がわかる 分散負荷テストソリューション AW

                                              「AWSで始める負荷テスト入門」というタイトルで DevelopersIO 2024 Sapporo に登壇しました #devio2024 | DevelopersIO
                                            • AWS 上で大規模な GitHub Actions のセルフホステッドランナーを使用する際のベストプラクティス | Amazon Web Services

                                              Amazon Web Services ブログ AWS 上で大規模な GitHub Actions のセルフホステッドランナーを使用する際のベストプラクティス 注記: お客様は自身の GitHub ランナーを管理する必要がなくなりました。AWS CodeBuild を使用すると、管理された GitHub Actions セルフホストランナーを利用できるようになり、強力なセキュリティ境界と低い起動レイテンシーを備えた一時的でスケーラブルなランナー環境を提供します。CodeBuild を使えば、独自のインフラストラクチャを維持したり、スケーリングロジックを構築する必要がありません。すべてが CodeBuild によって完全に管理されます。開始するには、単に Webhook を作成して、CodeBuild で GitHub Actions ジョブを自動的にトリガーするだけです。 概要 GitHu

                                                AWS 上で大規模な GitHub Actions のセルフホステッドランナーを使用する際のベストプラクティス | Amazon Web Services
                                              • 【格差社会】数学の例文にお金を使うと「貧困層の子供」は成績が下がる - ナゾロジー

                                                日本には義務教育があり、子供たちは家庭環境や収入の違いにとらわれず、教育を受けることができます。 低所得者層だとしても意欲的に学ぶなら、教育の益を十分に得て、成績を高めることができるはずです。 しかし、こうした考えは現実的ではないのかもしれません。 オランダのマーストリヒト大学(Maastricht University)経営経済学部に所属するマルジョリン・マスク氏ら研究チームによると、貧困層の子供(学生)は、数学(算数)の問題で例文にお金や食べ物を使うと成績が下がると判明したのです。 貧困層の子供たちは、お金や食べ物に対して何らかの偏見を抱くようになっており、それらが成績に悪影響を及ぼしている可能性があるという。 研究の詳細は、2024年3月15日付の学術誌『npj Science of Learning』に掲載されました。 目次 算数の問題は例文の内容で得点率が異なる?貧困層の学生は食

                                                  【格差社会】数学の例文にお金を使うと「貧困層の子供」は成績が下がる - ナゾロジー
                                                • AWS Step Functionsで、音声ファイルがS3バケットに保存される度にAmazon Transcribeで文字起こしし、内容をメール送信してみた | DevelopersIO

                                                  はじめに AWS Step Functionsを利用し、音声ファイルがS3バケットに保存されるたびにAmazon Transcribeで文字起こしを行い、文字起こし内容をメール送信する方法を紹介します。 今回構築する構成は以下の通りです。 処理の流れは以下の通りです。 音声ファイル(WAV)をS3バケットにアップロードする アップロードをトリガーにEventBridgeからStep Functionsステートマシンを起動する 音声ファイルからAmazon Transcribeで文字起こしし、文字起こした内容をAmazon SNSでメール送信する この構成を構築するきっかけは、以前執筆した「Amazon Connectでエージェントの介在がない場合でも電話中の発話を録音する」記事の構成に、録音ファイルに対して文字起こしとメール通知機能を追加する必要が生じたためです。 執筆した記事の構成図は以

                                                    AWS Step Functionsで、音声ファイルがS3バケットに保存される度にAmazon Transcribeで文字起こしし、内容をメール送信してみた | DevelopersIO
                                                  • t-wadaさんの開発生産性の観点から考える自動テストを聴講して悔い改めたこと - shoudaiの日記

                                                    t-wadaさんのセッションを聴講したこと 2024/6/29に開発生産性カンファレンスに参加してきました。 その中でなんでもかんでもE2Eテストでも実行してしまうことがあるけど、 悪ではないけどデメリットもあるよ。って話がありました。 speakerdeck.com スライドP47のアイスクリームコーンとピラミッドの図だけはご参照ください。 頭の中にその図が残っているため、前提になってます。 セッションの概要 アジェンダからざっくりお話は 信頼性の高い 誤検知(テストとして正常であるはずがエラーになってしまう)や見逃し(エラーがあっても正常にしてしまう)がないこと 実行結果 実行結果値だしたり、エラー原因が特定しやすいテストを書くこと 短い時間で到達 確認したい観点を確認できる最小のテストスコープ(単体テスト、結合テストなどの粒度)でテストできるようにすること 状態に保つ 短い時間で到達

                                                      t-wadaさんの開発生産性の観点から考える自動テストを聴講して悔い改めたこと - shoudaiの日記
                                                    • コンテナランタイムを自作した - zebian.log

                                                      コンテナの仕組みを勉強したかったため、Goでコンテナランタイムを自作した。雑実装だし未実装の機能もたくさんあるが、ある程度形になってきたため現状をまとめる。 リポジトリ github.com kombu/dashi - 自作コンテナランタイム kombu/nimono - eBPFを利用したシステムコールロガー kombu/yaminabe - dashiとnimonoを利用したマルウェアサンドボックス プロジェクト名から和の雰囲気を感じるが、これはリポジトリ名をkombu(昆布)にしたかったため、せっかくなら今回は和風で固めようと思ったから。趣があっていいんじゃないでしょうか。 dashiが自作コンテナランタイムだが、nimonoとyaminabeは実験的な要素で、セキュキャン2023でコンテナを使ったマルウェアサンドボックスを実装した経験があり、今回はその再実装を自作コンテナランタイム

                                                        コンテナランタイムを自作した - zebian.log
                                                      • ジャンプTOON Flutter アプリの全体像 | CyberAgent Developers Blog

                                                        ジャンプTOON アプリチームの國師です。 5 月にサービスを開始した 「ジャンプTOON」 は、Flutter を採用し Android, iOS, iPadOS 向けのアプリを提供しています。 本記事では、ジャンプTOON モバイルアプリの開発で採用している技術スタックやプロジェクト構成、開発手法を紹介します。 目次 SDK・ツール管理 プロジェクト管理・タスクランナー CI・CD ディレクトリ構成 テーマ管理 ルーティング アセット管理 状態管理 サーバ通信 Lint テスト UI カタログ Web Preview PDR SDK・ツール管理 Flutter の SDK バージョン管理には、Flutter 以外の SDK やツールもまとめて管理できる asdf を採用しています。 Flutter の開発者界隈では FVM も人気ですが、次の点から、アプリチームに限らず開発チーム全体で

                                                          ジャンプTOON Flutter アプリの全体像 | CyberAgent Developers Blog
                                                        • 「単体テストの考え方/使い方」が主張するたった一つのこと

                                                          はじめに 読書会をやってみました オープンロジのエンジニアのrikuto(@riku929hr)です。 社内で「単体テストの考え方・使い方」というテストに関する有名な本の読書会を実施し、1回1時間、15回の開催を経て読み切りました。 原著は「Unit Testing Principles, Practices, and Patterns」で、Oreilly Learning Platformでも読むことができます。 400ページにもわたる本で、読み切るのには大変な手応えがありました。 たぶん読書会のようなものを開催しない限り、僕自身読みきれなかったかもしれません。 しかし読んでみると、著者が主張しているのはごくシンプルなことでした。 この記事のタイトル、ちょっと嘘ついてます タイトルには、「主張するたった一つのこと」としていますが、細かく言えば1つではありません。 この本が主張することはそ

                                                            「単体テストの考え方/使い方」が主張するたった一つのこと
                                                          • AIが設計して3Dプリンターで印刷されたロケットエンジンが燃焼試験に成功

                                                            ドバイを拠点とするAIエンジニアリング企業のLEAP 71が、大規模計算工学モデルのNoyronが設計して3Dプリンターで出力した液体燃料ロケットエンジンの燃焼試験に成功したことを発表しました。 LEAP 71 hot-fires 3D-printed liquid-fuel rocket engine designed through Noyron Computational Model | LEAP 71 https://leap71.com/2024/06/18/leap-71-hot-fires-3d-printed-liquid-fuel-rocket-engine-designed-through-noyron-computational-model/ We just test fired a 20,000 horsepower AI-generated rocket engi

                                                              AIが設計して3Dプリンターで印刷されたロケットエンジンが燃焼試験に成功
                                                            • スタートアップなのにフロントエンドのテストカバレッジが90%を超えている話 | Resilire Tech Blog

                                                              はじめに サプライチェーンリスク管理クラウドサービスResilireでエンジニアをしている奥村@showkittie です。 Resilireでは、1歳の子の育児に悪戦苦闘しながら、フロントエンド、サーバサイドを問わずプロダクトエンジニアをやっています。 ResilireはシリーズAを迎えたばかりのアーリースタートアップでありながら、フロントエンドのテストカバレッジが90%を超えており、必要なケースについてはほぼテストが網羅されています。 私は今年の4月に入社したばかりですが、すでにテストカバレッジの高さに助けられ、不具合の混入をせずに済んだことが何度もあります。 今日は、Resilireのフロントエンドのテスト戦略とカバレッジの高さの理由についてお伝えしたいと思います。 スタートアップとテスト 冒頭にもお伝えした通りResilireはアーリースタートアップです。エンジニアリングに求められ

                                                                スタートアップなのにフロントエンドのテストカバレッジが90%を超えている話 | Resilire Tech Blog
                                                              • Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog

                                                                ※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアkoyuriが日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK( @ryotkak )です。 先日、特定の条件を満たした場合に攻撃者がWindows上でコマンドインジェクションを実行できる、いくつかのプログラミング言語に対する複数の脆弱性を報告しました。 本日(2024/04/09(訳者注: これは英語版記事の公開日です))、影響を受けるベンダーがこれらの脆弱性に関するアドバイザリーを公表しました。 その影響は限定的なもののCVSSスコアは非常に高く、混乱が予想されるため、脆弱性に関する詳細を本記事にまとめます。 はじめに TL;DR CVSSスコア 技術詳解 根本原因 CreateProcessのラッパー cmd.exeのパース規則

                                                                  Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog
                                                                • Playwrightでメール配信のテスト自動化にチャレンジ! - JX通信社エンジニアブログ

                                                                  こんにちは、JX通信社でシニアエンジニアをしているSirosuzumeです。 JX通信社の「FASTALERT」には、ユーザーが事前に設定した地域で発生した災害情報を、メールで受信する機能があります。 しかしテストする手順も複雑で、配信条件も多様化していったこともあって、手動でのテストを行うことに限界を感じていました。 設定画面の挙動確認など、ブラウザ上で完結するテストであればPlaywrightを使って自動化することもできていたのですが、実際にメールを受信するところのテストを自動化する方法についてのノウハウ不足が課題でした。 そこで、Amazon SESの機能を改めて確認していたところ、特定のメールアドレスで受信したメールをS3に保存する機能があることを知り、E2Eテスト内からS3にアクセスすることでメールの受信テストまで自動化でカバーできるのではないか、と考えたことが、今回のチャレンジ

                                                                    Playwrightでメール配信のテスト自動化にチャレンジ! - JX通信社エンジニアブログ
                                                                  • 【全47種】英語の資格一覧!おすすめ英語資格とあまり意味ない資格を辛口解説

                                                                    「本当に役に立つ英語の資格試験はどれ?」 ビジネスやキャリアアップを目的とした社会人や、大学受験を控えた高校生、就活の準備をしている大学生、英語を勉強中の子どもまで、英語の資格試験の受験を検討している方が多いと思います。 せっかく勉強をするのですから、自分にとって有効な資格を受験したいですよね。 この記事では、現在日本で受験できる英語資格全47種を一覧で紹介しながら、目的に合わせたおすすめの資格と、その選び方を紹介します。 この記事を読むことで、日本にどんな資格があるのか、各資格の試験概要(スコア、難易度など)がわかります。 また世界に通用する資格か、逆にあまり意味ない資格かどうかも辛口で解説。 私が受験した試験については、実体験や感想も記載しているので、生の声として参考にしていただけると思います。 英語初心者から上級者まで、今目指すべき資格を見つける一助になりましたら幸いです。 なお、試

                                                                      【全47種】英語の資格一覧!おすすめ英語資格とあまり意味ない資格を辛口解説
                                                                    • Kaggleコンペでトップ4%になった簡単ベイズ最適化 - Qiita

                                                                      参加したコンペについて 参加したのはこちらのSwagコンペです。 GDPや両親の学位など対象とする学生の周辺データからその学生の卒業、退学、その他の3つに分類するという課題です。 Swagは賞金がありませんが、Kaggleがホストするコンペで、この時は世界から2800人程度が参加しました。開催期間は1か月です。 私の順位は 107位 / 2684位 でした。 過学習を防ぐような工夫もしたので最後にグッと順位が上がりました。 SKF + LightGBM + BayesSearchCV 今回使ったモデルの構築方法はとてもコンパクトでお気に入りです。 コードは次の通りです。前処理が終わりモデルをつくる段階を想定してください。 from sklearn.model_selection import RepeatedStratifiedKFold from sklearn.metrics impo

                                                                        Kaggleコンペでトップ4%になった簡単ベイズ最適化 - Qiita
                                                                      • C言語のアロー演算子ってどこまで繋げられるんだろうか | DevelopersIO

                                                                        #include<stdio.h> #include<stdlib.h> struct PointerLimit{ struct PointerLimit* next; int value; } typedef PointerLimit; PointerLimit* getTail(PointerLimit* base){ while(base->next != NULL){ base = base->next; } return base; } PointerLimit* add(PointerLimit* base, int value){ PointerLimit* new = (PointerLimit*)malloc(sizeof(PointerLimit)); new->value = value; new->next = NULL; PointerLimit* tail =

                                                                          C言語のアロー演算子ってどこまで繋げられるんだろうか | DevelopersIO
                                                                        • Vitest Browser Modeがアツい

                                                                          Background これまでVitestでコンポーネントのテストを行う時は、jsdom や happy-dom を使ってブラウザ環境を偽装していました。しかし、偽のブラウザ環境を使うことは多くの問題があり、また開発者はテスト以外でどこにも存在しない環境を作り上げるという不毛な作業が必要でした。 この問題を解決するために、Playwright や Cypress などのテストフレームワークは Component Test をサポートしています。しかし、UnitテストでPlaywrightやCypressを使うのは少々Fatであり、Reactのhooksなどのテストをすることができません。 Vitest Browser Modeを使用することで、Vitest上でComponent Testが可能となり、これらの問題を解決できます。 Installation Browser ModeのSetu

                                                                            Vitest Browser Modeがアツい
                                                                          • バックエンド視点で振り返るGraphQLを採用したプロダクト開発 - enechain Tech Blog

                                                                            はじめに 技術スタック eScanチームにおけるGraphQLの使い方 開発フローの工夫 N+1問題の対応と注意点 エラーハンドリングの工夫 モニタリングの工夫 ドキュメンテーションを必須化するための工夫 その他の取り組み 振り返り 良かった点 難しかった点 今後の展望 最後に はじめに こんにちは、enechainでソフトウェアエンジニアをしている小沢です。 私が所属しているチーム(以降、eScanチーム)では、eScanという電力会社向けのリスクマネジメントシステムを開発・運用しており、その中でGraphQLを採用しています。すでにGraphQLを採用するメリット・デメリットについて様々なところで語られていますが、eScanチームでもオーバーフェッチが解消できる点、1リクエストで必要なデータをフェッチできる点などのメリットを享受するために採用しています。 今回は実際にGraphQLを採

                                                                              バックエンド視点で振り返るGraphQLを採用したプロダクト開発 - enechain Tech Blog
                                                                            • LeanとDevOpsのためにE2Eテストができること

                                                                              2024.6.29に行われた「開発生産性Conference2024」の登壇資料です。 https://dev-productivity-con.findy-code.io/2024

                                                                                LeanとDevOpsのためにE2Eテストができること
                                                                              • プログラミングの条件式で、>= や <= の比較演算子がロジックに含まれる時にロジックのテストで「値が等しいケース」を書かない人には、重要な設計を任せられない話

                                                                                悉生 游漩 @StewEucen The creator of x-ninja a new JavaScript front-end framework. 「悉生 游漩」「Stew Eucen」の読み方は「しちゅう ゆうせん」です。「ゆうせん」と呼んでね。 Please call me "Eucen" :) x-ninja.org 悉生 游漩 @StewEucen プログラミングの条件式で、>= や <= の比較演算子がロジックに含まれる時。 其のロジックのテストに「値が等しいケース」を書かない人には、重要な設計を任せてはあきませぬ。 (・ω・)<おわかりか 2024-06-27 16:54:42

                                                                                  プログラミングの条件式で、>= や <= の比較演算子がロジックに含まれる時にロジックのテストで「値が等しいケース」を書かない人には、重要な設計を任せられない話
                                                                                • 世界史の問題解いてたはずなのに、ジョジョの家系図出てきてめっちゃ笑った→「この場所だけ満点取れる自信ある」「校正者や編集者からも反応が多かった」

                                                                                  Bell猫 @BellCatYs22 コレじゃないけど生徒が私を困らせようと持ってきたどっかの過去問で、英語版AKIRAの読解問題を初見で看破してドン引かれたことあったな…… x.com/respect_regard… 2024-06-26 08:43:41 DG-Law/稲田義智 @nix_in_desertis この問題、校正者や編集者からも反応が多かったな。 設問がリード文とほぼ関係なくて読むだけ無駄というのがポイント高い。問題自体は成り立っているし難易度も低いから番外編で収録。 x.com/respect_regard… 2024-06-26 08:14:12

                                                                                    世界史の問題解いてたはずなのに、ジョジョの家系図出てきてめっちゃ笑った→「この場所だけ満点取れる自信ある」「校正者や編集者からも反応が多かった」