並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 1167件

新着順 人気順

単体テストの検索結果201 - 240 件 / 1167件

  • 失敗は許されない、みずほが「総力戦」で挑んだシステム移行の2年間

    みずほフィナンシャルグループ(FG)によるシステム統合プロジェクトが進むにつれ、興味深い実情も明らかになっていった。勘定系システム開発では珍しい「超高速開発ツール」の全面採用や、2年もの長きにわたるシステム移行プロジェクトである。「日経コンピュータ」の記事から振り返ろう。 超高速開発ツールを大規模採用 最盛期には7000人を超える要員が投入されたみずほ銀行次期システム開発の「現場」は、実際にどう動いているのか。その一端を明らかにしたのが日経コンピュータ2015年10月1日号の特集「広がる『超高速開発ツール』」だった。「流動性預金」をはじめとする勘定系システムの主要アプリケーションの開発に、ツールがプログラムを自動生成する超高速開発ツールを使用していたのだ。 みずほ銀行の新勘定系システムはSOA(サービス指向アーキテクチャー)を全面採用している。システムは12種類のアプリケーション(コンポー

      失敗は許されない、みずほが「総力戦」で挑んだシステム移行の2年間
    • マイクロサービスの開発とテストファースト/テスト駆動開発 【Mercari Gears Lecture Series】 | メルカリエンジニアリング

      こんにちは、Mercari Gears事務局です! この記事では、動画公開以来とても反響のある Mercari Gears Lecture Series #47〜#49「マイクロサービスの開発とテストファースト/テスト駆動開発」の動画の内容を記事に起こしたものです。 今回の実際の動画はこちらになります、興味があればぜひご覧ください! MERCARI GEARS Lecture Seriesとは? MERCARI GEARS Lecture Seriesは、株式会社メルカリをはじめとするメルカリグループ各社が、これから目指す方向や、これから取り組む技術的なチャレンジについてご紹介するエンジニア向けのレクチャー動画シリーズです。 MERCARI GEARS Lecture Series お話する人の自己紹介 株式会社メルペイ 柴田芳樹 九州工業大学 情報工学修士 1984年 富士ゼロックス 入

        マイクロサービスの開発とテストファースト/テスト駆動開発 【Mercari Gears Lecture Series】 | メルカリエンジニアリング
      • LINE LIVEを支える負荷テストの知見。ベンチマーク環境により信頼性の高いシステムを実現する方法

        LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog サービス・機能やそれにまつわる開発の裏話や取り組みを聞く「ProductStory」シリーズ。2015年にスタートしたライブ配信サービスのLINE LIVE。いつでもどこでも、無料でライブ配信&視聴が可能という便利さから、サービス開始以来多くのユーザーにご利用いただいてきました。昨今ではコロナ禍の影響からオンライン上で楽しめるエンタメの重要性が高まっており、LINE LIVEのニーズはさらに増しています。 サービスの信頼性を高めるため、LINE LIVE開発チームは、サービスに対する負荷テストを実施するために構築されたベンチマーク環境を用いています。定期的な負荷テストを行うことでパフォーマンス上の課題を洗い出し、システムのさら

          LINE LIVEを支える負荷テストの知見。ベンチマーク環境により信頼性の高いシステムを実現する方法
        • 〜OCR戦記〜適格事業者登録番号との戦い🔥🔥🔥 - LayerX エンジニアブログ

          この記事はLayerXテックアドカレ2023の5日目の記事です。 昨日はmakogaさんがEngineering Career Ladderを作るときに気をつけたこと 其の一を書いてくれました。 次回はyuya-takeyamaさんがMicrosoft Graph APIについて書いてくれます!乞うご期待! こんにちは、機械学習を通じて誰かをラクにしたい yakipuです。 今回は、10月から始まったインボイス制度に伴う適格請求書発行事業者登録番号(以下「登録番号」と表記します)のOCR読み取りの戦いについて記したいと思います。 インボイス制度は、売手が買手に対して正確な税率や消費税額を示す適格請求書(インボイス)を交付することで、買手が仕入税額控除の適用を受けるために必要な制度です。売手側は登録事業者として登録番号などが記載されたインボイスを交付し、買手側はインボイスを保存する必要があり

            〜OCR戦記〜適格事業者登録番号との戦い🔥🔥🔥 - LayerX エンジニアブログ
          • Universe 2023: CopilotがGitHubをAIを駆使した開発者プラットフォームへと変貌させる

            Author Thomas Dohmke GitHub Copilot Chatの一般提供(GA)の開始と、新たなGitHub Copilot Enterpriseのサービスプレビュー、AIを活用した新しいセキュリティ機能、GitHub Copilotパートナープログラムを発表しました。 2023年3月、私たちはGitHub Copilot Xについての発表で、AIが開発者のライフサイクルのあらゆるステップに浸透することと、ソフトウェア開発の新しい未来のビジョンを共有しました。それ以来、私たちは基盤技術の拡張と成熟に取り組んでおり、その過程でさらに大きなものを生み出しました。私たちのビジョンは、世界の開発者にとっての新しい現実として現れました。 GitHubがGitという仕組みの上に構築されたように、今日私たちはCopilotの上に「再構築」されました。オープンソースとGitは、ソフトウェ

              Universe 2023: CopilotがGitHubをAIを駆使した開発者プラットフォームへと変貌させる
            • 『ユースケース実践ガイド』をもとにした品質向上への取り組み 全体像を見るテスターの視点はチームへの大きな貢献になる

              ソフトウェア開発、ITインフラ運用、そしてその境界線上にあるトピックをカバーし、特にDevOpsを実現するための自動化、テスト、セキュリティ、組織文化にフォーカスした「DevOpsDays」。ここでウイングアーク1st株式会社の伊藤氏が登壇。つづいて、ビックピクチャーを理解する重要性と、品質向上のために取り組んだ流れを紹介します。前回の記事はこちらから。 ビッグピクチャーとユースケース 伊藤潤平氏(以下、伊藤):ビッグピクチャーとユースケースです。ジャネット先生と話していると、「ビッグピクチャーを理解しましょう」という話がよくあります。ビッグピクチャーは全体像という意味で、Agile Testing Daysのキーノートでもジグソーパズルの例を出して説明していました。 ジグソーパズルの1ピース1ピースがユーザーストーリーで、これを組み立てると全体像になる、というキーノートでした。あとRSG

                『ユースケース実践ガイド』をもとにした品質向上への取り組み 全体像を見るテスターの視点はチームへの大きな貢献になる
              • Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする | フューチャー技術ブログ

                春の入門祭り2024の1記事目です。 はじめにTIG真野です。 Testcontainers を用いて、単体テスト実行前に docker compose up -d 無しで、PostgreSQLにアクセスする単体テストを行う、入門記事です。 恩恵は次のような開発者体感の向上が個人的にあります。 テストを実行するうえで、別プロセスのサービスを起動しておく必要があるといった前提条件を考えなくても済むため、テストを行うビジネスロジックに集中できるdocker compose up -d 打たないだけだが、テストに必要なコンテナを考慮しなくても済む停止し忘れて、別のリポジトリの開発するときに混乱しなくても済む並列テストしやすくなるので、テストの実行速度が向上するGoにおいて、複数のパッケージを同時にテストするとき、 -p 1 で絞らずに済むTestcontainers とはhttps://test

                  Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする | フューチャー技術ブログ
                • ノーコードAI開発ツールNode-AIの紹介 - NTT Communications Engineers' Blog

                  はじめに 初めまして!イノベーションセンターでノーコードAI開発ツール「Node-AI」のプロダクトオーナーやXAI・因果分析の研究をしております、切通恵介(@kirikei)です。 Node-AIは2021年10月11日にリリースされたNTT Communicationsの内製開発サービスで、その名の通りブラウザ上からノーコードでAIモデルを開発できるサービスで、製造業のお客様を中心に異常検知やプラント運転支援などの様々な領域で活用されています。(ニュースリリースはこちらやこちらやこちら) いつもはサービスの営業的な紹介をすることが多いのですが、今回はEngineer's Blogでの執筆ということで、エンジニアの方向けの技術、プロダクトマネジメント、チームビルディング、スクラムなどの様々な観点でお伝えできればと考えています。とはいえ、Node-AIに関しては詳細に書きたいことが山ほどあ

                    ノーコードAI開発ツールNode-AIの紹介 - NTT Communications Engineers' Blog
                  • 個人開発してるWebサービスの API のシナリオテストに runn を使ってみたけど、とてもよかった - えいのうにっき

                    「個人開発してるWebサービス」というのは Pixela のことで、runn とは @k1loW さんが開発しているオペレーション自動化ツール/パッケージです。 pixe.la github.com Pixela は、そのユーザーインターフェースとして基本的に Web API のみを提供しているサービスで(サービスを利用するための各種操作は基本的にすべて Web API に対する HTTP リクエストによって行う必要がある)、現在そのローンチから6年目を迎えるサービスです。 blog.a-know.me ありがたいことに、世界中のユーザー(特に、プログラミング初学者の方によくご利用いただいているようです)に継続的に使っていただけているサービスになっており、登録ユーザー数はもうすぐ7万人に到達しようとしているところです。開発・メンテナンスに係る私の人件費を除けば、黒字運営を続けることもできて

                      個人開発してるWebサービスの API のシナリオテストに runn を使ってみたけど、とてもよかった - えいのうにっき
                    • 「DDDのモデリングとは何なのか、 そしてどうコードに落とすのか」資料 / Q&A - little hands' lab

                      Mix Leap Study 特別編 - レガシーをぶっつぶせ。現場でDDD! コラボカンファレンス に登壇させていただいたのでで、その際の資料です。 また、当日sli.doでたくさんのご質問をいただいたので、まとめてお答えします。 発表資料 DDDのモデリングとは何なのか、 そしてどうコードに落とすのか from Koichiro Matsuoka www.slideshare.net もっと詳しく知りたい方は この発表資料の内容を、さらに詳しく解説した書籍を出しました! little-hands.booth.pm 初めてDDDを学ぶ方、もしくは実際に着手して難しさにぶつかっている方向けの書籍になっています。 迷子になりがちな「DDDの目的」や「モデル」の解説からはじめ、 具体的なモデリングを行い実装まで落とす事例を元に、DDDの魅力や効果を体感することを目指します。 この本の「第2章

                        「DDDのモデリングとは何なのか、 そしてどうコードに落とすのか」資料 / Q&A - little hands' lab
                      • [速報]Google Cloudが「Gemini Code Assist」発表。最新のAIによるコーディング支援、Stack Overflowのナレッジも統合。Google Cloud Next '24

                        Google Cloudは、日本時間4月10日未明から開催中のイベント「Google Cloud Next '24」で、最新のAIによるコーディング支援サービス「Gemini Code Assist」を発表しました。 Gemini Code Assistは、GitHub CopilotやAWS CodeWhispererなどと競合するサービスと位置づけられます。 Gemini Code Assistは最新AIモデル「Gemini」採用 Google Cloudは昨年(2023年)12月にAIによるコード補完やコード生成などを実現する「Duet AI for Developers」を正式リリースしています。今回発表されたGemini Code Assistは、同社の最新AIモデルである「Gemini」を採用したDuet AI for Developersの進化版だと説明されています。 参考:

                          [速報]Google Cloudが「Gemini Code Assist」発表。最新のAIによるコーディング支援、Stack Overflowのナレッジも統合。Google Cloud Next '24
                        • 状態機械を合成してデッドロックを検出できる Go 言語パッケージを作ってみました - チェシャ猫の消滅定理

                          はじめに マルチスレッドで動作するプログラムの設計は難しい問題です。個々のスレッドの動作は単純に見えても、複数が並行して動作する場合の動作は組み合わせ論的に複雑になります。また、タイミングに依存する不具合は狙って再現することが難しく、通常の単体テストによる検出にも限界があります。 そんなとき、有効な手法がモデル検査です。システムの取りうる状態をあらかじめ網羅的に探索することで、「実際に動作させた際にごく低い確率で踏むバグ」であっても、動作させることなく設計段階で発見することが可能になります。 ところでちょうど先日、デッドロック発見器を自作するハンズオンに参加する機会がありました。内容は非常にシンプルなモデル検査器を実装するというもので、せっかくなのでそのときの成果物を Go のパッケージとしてまとめたものを以下に公開しました。 github.com 以下、このパッケージで何ができるのかを具

                            状態機械を合成してデッドロックを検出できる Go 言語パッケージを作ってみました - チェシャ猫の消滅定理
                          • EOL対応はシステム見直しを行うベストタイミングである - MonotaRO Tech Blog

                            今回のミッションと問題 テスト環境 テストの方針 全体像を知ったからできたこと テストを通じてあるべき姿を知る まとめ こんにちは。モノタロウで開発担当している竹原です。 皆さんは、EOL対応についてどのようなイメージをお持ちでしょうか? EOL(End Of Life)とは、ハードウェアやソフトウェア製品の販売や生産、ベンダーのサポートや修正・更新プログラムの提供終了を意味します。EOLを放っておくと脆弱性や不具合を抱えたまま運用することになりかねないため、基本的には対応必須です。 とは言いつつも、不具合を出すリスクもあり作業内容としては広範囲のテスト作業となるため、入れ替えるハードウェアやソフトウェアに劇的な機能向上が無ければ、コストに見合う価値が得られません。しかし、確認範囲が広いという点を逆手にとるとシステム全体を見直す良い機会でもあります。 今回、私のチームでPythonのEOL

                              EOL対応はシステム見直しを行うベストタイミングである - MonotaRO Tech Blog
                            • 英国政府によるRailsアプリケーションテストの新標準(翻訳)|TechRacho by BPS株式会社

                              概要 Open Government Licenceに基づいて翻訳・公開いたします。 英語記事: A new standard of testing for GOV.UK - Technology in government 著者: Ben Thorner、Peter Hartshorn -- 英国GDS(Government Digital Service)所属の開発者です 原文公開日: 2021/10/08 サイト: GOV.UK blogs 日本語タイトルは内容に即したものにしました。GOV.UKのRFCは以下で公開されています。 GOV.UKには、アプリに加えた変更をテストするという強靭な文化が根付いています。私たちは多くの場合、変更を加える前に(テスト駆動開発に沿って)テストを書き、変更をデプロイする前に(回帰テストに沿って)既存のテストがすべてパスする必要があります。 GOV.

                                英国政府によるRailsアプリケーションテストの新標準(翻訳)|TechRacho by BPS株式会社
                              • 個人開発の SwiftUI アプリのアーキテクチャを MVVM から MV にした - maiyama4's blog

                                概要 SwiftUI Advent Calendar 2023 の 21 日目です。 最近趣味で iOS の podcast クライアントを SwiftUI で作っているのですが、やってみると podcast クライアントはアプリとしてそれなりに難しいことがわかってきました。作っているうちにどんどん状態管理が複雑になってきて、個人開発でなぜこんなにがんばりが必要なんだと思って開発が止まっていたのですが、最近 iOS 17 の登場をきっかけにアプリを全般的に書き直すことにして、同時にアーキテクチャを変えてみました。これにより構成がシンプルになって開発効率が上がり、開発を再開することができました。具体的には、 from: 1画面に1つ ViewModel(ObservableObject)を作り、 View から ViewModel を監視する MVVM to: View から直接 Model

                                  個人開発の SwiftUI アプリのアーキテクチャを MVVM から MV にした - maiyama4's blog
                                • 外部サービス提供のAPIを叩く時に気をつけていること

                                  はじめに 外部サービスが提供しているWebAPIを利用して、自社サービスのシステム機能を作成する事も少なくないと思います。 サーバーサイドで外部APIを叩く経験が何回かあったので、 開発後に気づいたことなどを踏まえて設計・実装・運用上で気をつけていることを書いていきます。 自社で利用しているサービスのAPIを叩く話よりはエンドユーザの(OAuth2やOpenID Connectを利用)リソースに対して操作するケースの話を多めにします。 設計面 ドキュメントを読み込む 基本的な事だと思いますが、利用サービスが提供しているAPIのリファレンスを読み込むことは重要です。 各外部サービス毎に異なる制限事項が細かい所に記載されていたりするので、ドキュメントから探す癖をつけるのがお勧めです。 RateLimitが設定されているAPIは存在するか エンドユーザの利用プランに応じて挙動や制限が行われるAP

                                    外部サービス提供のAPIを叩く時に気をつけていること
                                  • エンジニアが選ぶ2024年度「ITエンジニア本大賞」大賞に輝いたのは?

                                    翔泳社主催のディベロッパーの祭典「Developers Summit 2024」が2月15日ベルサール羽田空港で開催された。その年のITエンジニアが業務、趣味などでおすすめしたい技術・ビジネス書をWeb投票し顕彰する「ITエンジニア本大賞2024」の最終審査プレゼン大会と大賞の授賞式が行われ、当日会場では最終ノミネートされた書籍の著者や編集者がプレゼンを行い自著のアピールを行った。 「ITエンジニア本大賞2024」プレゼン大会ノミネートメンバー(左側から、「プロジェクトマネジメントの基本が全部わかる本」橋本将功さん、「何歳からでも結果が出る 本当の勉強法」望月俊孝さん、「チームを動かすIT英語実践マニュアル」ラファエル・ヴィアナさん、「1冊ですべて身につくJavaScript入門講座」Manaさん、「『技術書』の読書術」IPUSIRONさん、増井 敏克さん、「単体テストの考え方/使い方」マ

                                      エンジニアが選ぶ2024年度「ITエンジニア本大賞」大賞に輝いたのは?
                                    • Infrastructure As Codeでモジュール化が難しいのはなぜなのか - ゆううきメモ

                                      Infrastructure As Codeにおいて、コードのモジュール化により再利用性を高めることが難しいと言われている。それはなぜなのかを考察する。 Infrastructure as Codeで痛い目あった人ってだいたいやりすぎてる気がする(偏見)。過度な抽象化とか共通化、公開されているrecipeを無闇に使っちゃうみたいな。特に抽象化まわり、普通のプログラミングのつもりできれいに整理しようとするとやり過ぎになりがち— fujiwara (@fujiwara) 2020年3月30日 自分が経験したIaCアンチパターンは、例えばnginxのchefコードを再利用しようとしてnginxのパラメータを全部外部注入できるようなモジュールを作るやつですね。コストが上がり過ぎる #InfraStudy— そのっつ (Naotoshi Seo) (@sonots) 2020年4月24日 1つ目の理

                                        Infrastructure As Codeでモジュール化が難しいのはなぜなのか - ゆううきメモ
                                      • フロントエンドのトレンドは変化したか? アンケート結果から分析する2022年のウェブ制作 - ICS MEDIA

                                        ウェブ業界の当たり前だと思っていることでも、他社の人には違う常識があるかもしれません。自分が業界多数の傾向と違うところはどこなのか・・・、この連載ではアンケートデータから国内のウェブ業界の傾向を分析します。 連載8回目となる本記事では「フロントエンドエンジニアの移り変わり」をテーマとしてアンケート結果を紹介します。 あなたが最近使っているJavaScriptライブラリ/フレームワークはどれ?(2022年版) 国内で最近人気のあるJavaScriptライブラリ/フレームワークはどれでしょうか。 5,168票の回答があり「React」が46.67%、「Vue」が23.9%、「Angular」が4.3%、「jQuery」が25.1%でした。 3年前の2019年にアンケートをしたとき(参照記事)は「React」が23%、「Vue」が37%、「Angular」が7%、「jQuery」が33%でした。

                                          フロントエンドのトレンドは変化したか? アンケート結果から分析する2022年のウェブ制作 - ICS MEDIA
                                        • 今度こそユニットテストを書き始めるために

                                          はじめに Unit Testが大事、ということ自体はあまり異論はないと思うのですが、最初からTDDがしっかりできてるような現場ならいざ知らず、そうではない場合は中々うまく入れれない事も多くあります。なのでこうすると導入しやすい、という観点で以下の動画でそのあたりのことを話したのですが、補足も含めて記事でもまとめておきたいと思います。 これはユニットテストですか? ユニットテストとは? ユニットテストとは何でしょうか? 一応、テストの資格試験を実施しているISTQBの定義では以下のように定義されます。 component testing (unit testing) A test level that focuses on individual hardware or software components. Synonyms: module testing, unit testing この

                                            今度こそユニットテストを書き始めるために
                                          • Jestのuiテストがつらすぎるので愚痴らせてください。そしてブラウザテストで本質的なuiテストをしよう

                                            ここから下で話す際、主に使う言語・フレームワーク・ツールとしては - Typescript - React (Next.js) - Jest - React Testing Library - ブラウザテストツールとしてPlaywright を前提としています。ただ話す内容の本質的な部分はVueでもSvelteでも、Vitestだろうがあまり変わらないだろうなと思ってます。そう思って見ていただけると助かります。 現代ではReactでUIの単体テスト・インテグレーションテストを書く場合、Jest x React Testing Library を使うのが一般的かと思います。皆さんはJestでUIテストを書いていますか?Jestでコンポーネントの単体テストを書いていると辛いことがたくさんありませんか?例えば 大量のライブラリのモックによる(これってテストやる意味あるの・・・?)と感じる虚無感

                                              Jestのuiテストがつらすぎるので愚痴らせてください。そしてブラウザテストで本質的なuiテストをしよう
                                            • 技術的雑談を生むゆるふわ輪読会のはじめ方 - カミナシ エンジニアブログ

                                              こんにちは!カミナシでソフトウェアエンジニアをやっているくらさわです! 今回は社内でゆるめに輪読会をやってみた話をブログにしてみました! どうぞご覧ください! 輪読会のきっかけ 読む本の選定について 輪読会の進め方 輪読会の結果と反省 まとめ 輪読会のきっかけ きっかけは僕が最近積読本が増えてきたからなんとかしたいな〜、社内で輪読会でも開いたら無理やり読むようになるかな〜みたいな軽い気持ちで Slack の個人部屋 (いわゆる times ) で呟いたのが始まりでした。 そしたら何人かリアクションくれたので、その場で本の候補を募ってみました。 そんな雑な感じで始めた輪読会ですが、僕の中では二つの目的がありました。 僕の読書習慣をつける 複数チームでまたがって技術的な議論や雑談をする場を作る 1 はかなり自分本位な目的です笑 2 はカミナシでは、少し前にチーム分割により、チームが別れ、雑にチ

                                                技術的雑談を生むゆるふわ輪読会のはじめ方 - カミナシ エンジニアブログ
                                              • Rubyインタプリタのむずかしいバグを直した - STORES Product Blog

                                                STORESでフルタイムRubyコミッタをやっている遠藤(@mametter)です。 最近Rubyインタプリタのとある問題の修正に成功した(と思う)ので紹介します。といっても格好良い話ではなく、とても泥臭い話です。 問題 RubyのCIで不定期に次のようなエラーが発生していました。いわゆるflaky test。 1) Failure: TestSymbol#test_inspect_under_gc_compact_stress [.../ruby/test/ruby/test_symbol.rb:126]: ":testing" expected but was ":\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"". 発生確率が絶妙で、しばしば起きるのですが、デバッグのために狙って再現しようとしても起きないという代物でした。 問題の分析 エラーが起きていた

                                                  Rubyインタプリタのむずかしいバグを直した - STORES Product Blog
                                                • 達人出版会

                                                  探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                                    達人出版会
                                                  • Web フロントエンドのレガシーコードを置き換えるためのテストの考え方 - ドワンゴ教育サービス開発者ブログ

                                                    この記事は、ドワンゴもスポンサードしていた JSConf JP 2021 にて、「Web フロントエンドのリプレースを支えるテストの考え方」というタイトルで berlysia がトークした内容をもとに再構成したものです。トークのアーカイブもご覧いただけます。 この記事は ドワンゴ Advent Calendar 2021 の3日目の記事です。 speakerdeck.com 宣伝 『ドワンゴ EdTech Talk』と題した事業説明イベントを 12/8(水) に開催します。 ドワンゴの教育事業で提供するオンライン学習サービス「N予備校」のライブ配信の授業を体験いただきながら、教育事業での取り組みを知っていただくためのイベントです。 最後までご参加いただくと N 予備校の有料会員相当の教材を 3 か月間無料で利用できる ように用意をしております。 Web 開発を学ぶ教材として好評をいただいて

                                                      Web フロントエンドのレガシーコードを置き換えるためのテストの考え方 - ドワンゴ教育サービス開発者ブログ
                                                    • ロックインとはなにか?すべてが悪いのか?「開発におけるロックインのリスク評価と考え方」 #AWSDevDay | DevelopersIO

                                                      「いや、そこまでAWSどっぷり使ってもうたら、他に移行するの大変やん?」 あなたがユーザー側クラウド導入推進担当として、あるいはクラウドベンダーの担当として上司やお客様から冒頭の質問を投げかけられた時、どのように答えますか? 自分もクラウドベンダーの一員としてお客様と対峙する時、基本的には「AWSにあるものは基本的に全て使いましょう。それが結局は一番オトクです」と答えているんですが、それがすべて本当なのか?AWSのなかでもマネージドサービス複数あるけど、使えば使うほどええってわけでもないのでは?と不安になり、このセッション聴講してみました。 結果、ロックインという概念の明確化とそれを議論するときの手法が非常に明確に解説されたセッションだったため、非常に学びが多かったです。是非、これは皆さんにも味わっていただきたいと思います。 (祭) ∧ ∧ Y  ( ゚Д゚) Φ[_ソ__y_l〉    

                                                        ロックインとはなにか?すべてが悪いのか?「開発におけるロックインのリスク評価と考え方」 #AWSDevDay | DevelopersIO
                                                      • 自動テスト全体の信頼性を維持するためにはどうするか 「ブレない基準でピラミッドを作り、スモールに切り出していく」

                                                        Qiita Conferenceは、ソフトウェア開発者が集まり、最新の技術や最先端の挑戦・ソフトウェアの未来についての考えや知見を共有し、つながる場を創出する、「Qiita」が開催するオンライン技術カンファレンスです。ここで和田卓人氏が「サバンナ便り - 自動テストに関する連載で得られた知見のまとめ(2023年5月版) 」をテーマに登壇。最後に、テストダブルとテストピラミッド、サイズダウン戦略について話します。 テスト用に使う偽物「テストダブル」 和田卓人氏:じゃあ次。テストダブルの話にいきます。「忠実性と決定性のトレードオフを理解しよう」という点です。これはもうちょっとあとにまた出てきます。 テストダブルというもので、モックオブジェクトとかスタブとかを使って、本物ではない偽物をテスト用に使ってテストをすることはよくありますよね。 データベースの偽物とか外部システムの偽物とか、Amazon

                                                          自動テスト全体の信頼性を維持するためにはどうするか 「ブレない基準でピラミッドを作り、スモールに切り出していく」
                                                        • 今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog

                                                          Bill One Entry*1グループの秋山です。 1. はじめに 2010年代前半に登場したReactやVue.jsに代表される宣言的UI実装は、大規模なSPAの構築を可能にしました。その一方、フロントエンド領域に新たなアーキテクチャが導入されたことで、それまでWebアプリケーション開発で定石とされたテスト手法を適用しづらいケースが増え、新たなベストプラクティスが求められるようになりました。 その要請に応える形で、2010年代後半にはフロントエンドのテスト手法に緩やかなパラダイムシフトがありました。この記事ではそのパラダイムシフトを振り返りながら、フロントエンドで必要なテストについて考察し、最後にChromaticを用いたビジュアルリグレッションテストを紹介します。 2. Testing Pyramid と フロントエンド テストを語る際によく持ち出されるメタファとして、Testing

                                                            今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog
                                                          • 第3回 テストサイズ ~自動テストとCIにフィットする明確なテスト分類基準~ | gihyo.jp

                                                            テストの分類として開発者に馴染み深いのは、検証の対象となるコードの範囲や粒度での分類でしょう。範囲が狭く粒度が細かい順に、ユニットテスト、インテグレーションテスト、E2E(end to end)テストなどと呼ばれます。今回は、自動テスト前提の時代にうまくフィットするテスト分類について考えます。 現場の混乱 実は、範囲や粒度による分類に現場は混乱しがちです。「⁠1つの対象」を検証する狭いテストをユニットテスト、単体テスト、コンポーネントテストなどと呼びますが、これらをほぼ同じものと言う人も、異なると言う人もいます。「⁠1つの対象」も関数、メソッド、クラス、モジュール、パッケージ、振る舞い、1つの画面と、人や組織によってバラバラです。 複数のレイヤ、たとえばコントローラとモデルをまたいで検証するテストをインテグレーションテストと呼ぶ人もいれば、それもユニットテストと呼ぶ人もいます。ユニットテス

                                                              第3回 テストサイズ ~自動テストとCIにフィットする明確なテスト分類基準~ | gihyo.jp
                                                            • 開発効率を追い求めた実装プラクティス集

                                                              この記事は MICIN Advent Calendar 2023 の24日目の記事です。 前回はSaneさんの「データ基盤チームで社内インターンをやってみて」でした。 はじめに abekohです。MICINでMiROHAの開発をしております。 本記事では、書籍等から得た設計・実装パターンの知識や、実際にプロダクト開発で試して得られた経験などから編み出した、開発効率向上のためのWeb API開発のプラクティスを紹介します。 筆者が関わっているMiROHAは治験の業務支援を取り扱うプロダクトです。MiROHAの開発における特性として、以下のようなものが挙げられます。 治験業務に関するドメインが特有で複雑 前例が少なく、MVPを追求中。プロダクトのアプローチが頻繁に変わる 外部品質は高い水準が求められる これらの特性を意識して開発を促進させるために日々試行錯誤しております。 複雑なドメインに対す

                                                                開発効率を追い求めた実装プラクティス集
                                                              • PHPフレームワークLaravelの使い方 - Qiita

                                                                環境構築 ・LAMP+Redis環境を超短手数で構築する ・Composerをインストールする ・eclipseでPHPの開発環境を構築する。デバッグでブレークポイントを付けてステップ実行できるようにする 実装 ・eclipseでLaravel開発環境を構築する。デバッグでブレークポイントをつけて止める。(WindowsもVagrantもdockerも) ・Laravelのテンプレートエンジンを使う ・Laravelのレイアウトエンジンを使う ・Laravelでビュー描画前処理を行う ・Laravelでリクエストデータを取得する ・Laravelでエラーハンドリング(エラー時の制御)を行う ・Laravelでセッションを使う ・Laravelでファイルアップロード機能を実装する ・Laravelでファイルダウンロード機能を実装する ・LaravelでJSONを返す ・LaravelでJSO

                                                                  PHPフレームワークLaravelの使い方 - Qiita
                                                                • TypeScript による Isomorphic な API Client 開発 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                  こんにちは、フロントエンドエキスパートチームの @koba04 です。 本記事では、kintone の REST API を使うためのクライアントである @kintone/rest-api-client (以下 rest-api-client) の構成や工夫した点について紹介します。 本記事は rest-api-client の 1.6.0 のバージョンに基づいています。 @kintone/rest-api-client とは rest-api-client とは、kintone が提供する REST API を利用するためのクライアントライブラリです。 GitHub 上は kintone/js-sdk の Monorepo の 1 パッケージとして開発されています。 kintone/js-sdk での Monorepo 開発については下記の記事を参照してください。 https://blo

                                                                    TypeScript による Isomorphic な API Client 開発 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                  • フロントエンドエンジニアに捧げるAWS Amplify Console | DevelopersIO

                                                                    はじめに おはようございます、加藤です。今回はフロントエンドエンジニア向けに静的なWebサイトをホスティングなどが出来るサービスであるAWS Amplify Consoleの使い方や出来る事を紹介します。 古の時代、ただの静的なコンテンツを表示する為だけだとしてもサーバーを建ててApache or nginxをインストールして...という事をやっていました。フロントエンドエンジニア or デザイナーが作成し、インフラエンジニアに依頼する必要がありました。古の時代といった通り現代では、NetlifyやFirebase hosting、そして本ブログで紹介するAmplify Consoleを使えば自分自身で簡単に簡単にリリースを行うことができます。より多くのエンジニアにそういった体験をして貰えれば良いなと思いこのブログを書きます。 AWS Amplifyとは AWS Amplify(以降、Am

                                                                      フロントエンドエンジニアに捧げるAWS Amplify Console | DevelopersIO
                                                                    • Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog

                                                                      こんにちは、Gunosy Tech Labの片木(@jkatagi)です(普段はGunosyデータ分析ブログの方に生息しています)。 本記事では社内のとあるAPI(Go製)の改修をしていたときに遭遇したインメモリキャッシュの落とし穴について共有します。 普段からGoを書いている人にとっては当たり前のことかもしれませんが、アンチパターンとして共有できれば幸いです。 落とし穴にハマるGopherくん 要約 APIのアーキテクチャについて なにが起きたのか なぜ起こったのか 単体テストでは気づけなかったのか どう解決したか おわりに 要約 長くなるので最初に要約しますと 当該APIでインメモリキャッシュとして構造体のスライスを格納していた キャッシュしている値を変えてしまうとキャッシュ元も変わってしまう という事態が発生しました。 ですのでインメモリキャッシュを使う時は対象の値が変更されないこと

                                                                        Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog
                                                                      • Storybook 駆動開発 @ CSF3.0

                                                                        Storybook CSF3.0 の概要 単体テスト・結合テスト・Storybook を充実させるためには、多くの工数が必要です。堅牢なフロントエンド開発のためとはいえ、これらのメンテナンスは日に日に負担が増しています。似かよったテストケースでは、同じような下作業をそれぞれに用意する必要がありました。 Component Story Format(CSF)は、この課題への取り組みとして開発されました。「様々なソリューションで再利用可能な資材」 が用意できれば、開発は素早く・より楽しいものになります。リリース間近の CSF3.0 はより一層、そのゴールを明確に示してくれています。 testing-library で Story にインタラクションを CSF3.0 新機能の中で際立っているものが play 関数 です。@testing-library/user-eventを利用すると、Stor

                                                                          Storybook 駆動開発 @ CSF3.0
                                                                        • AWSで使うRust

                                                                          κeenです。この記事では IdeinでのAWSの利用例の開示の一環として、どのようにRustをAWS上で動かしているかをご紹介します。 Ideinの提供しているサービスActcastではサーバの主たる部分をRustで書いています。 はじめの頃は本当にRustだけだったのですが、各方面に秀でたメンバーが集まった結果、今ではHaskellやTypeScript、一部ですがGoも動いています。 そもそもRustの採用事例が少ないことからRustをAWSで扱う知見はそこまで多くなさそうです。 そこで今回はIdeinでどのようにAWS上でRustを動かしているか、動かすにあたって必要だった知見などを紹介していきます。 全体像全体の中で、Rustが動いている環境はECSとLambdaです。 ECSで動いているのはActcastのバックエンドAPIで、Actcastのサーバ本体とも言える部分です。 L

                                                                            AWSで使うRust
                                                                          • SIerでのGitHub Copilotの業務活用に向けた検討ポイントをまとめてみた - Qiita

                                                                            OpenAIが開発したコード生成AIの「Codex」や、その技術を活用した「GitHub Copilot」が注目を集めています。Qiitaや技術ブログではCopilotを試してみた系の記事も多く公開されており、好意的な反応と共に紹介がされているように感じます。 これらのコード生成AIやツールを開発業務で活用しようと考えた際、どのような効果が見込めるのか、プログラマの心理やパフォーマンスにどのような影響を及ぼすのかが気になったので、CodexやCopilotの実装能力やプログラマに与える影響を調査した研究事例などを調べました。 この記事では、調べた結果を基に、SIerにおける開発業務でCopilotやCodexといったソースコードが生成できるツールやAIを活用するにあたって留意するべきポイントなどを、私の感想を交えながらご紹介します。 本記事で紹介する範囲 本記事では、SIerがCopilo

                                                                              SIerでのGitHub Copilotの業務活用に向けた検討ポイントをまとめてみた - Qiita
                                                                            • 「エンジニアDB」というサービスを開発しました!【Next.js / Rails / AWS / Terraform / Docker / GitHub Actions】 - Qiita

                                                                              3.インフラ(全体構成)について ここから技術的なことについて話していきます。 まず大前提として、プロジェクトの全体構成は、Happiness Chain の卒業課題の条件に基づいて決めれらていました。これらの条件には以下が含まれます Rails APIモード / Reactで完全SPAのポートフォリオを作る。 本番環境と開発環境にDockerを使う。 本番環境にはECS Fargateを使う。 GitHub Actionsを使ってAWSに自動デプロイする。 Terraformでインフラをコード化する。 なので、これに倣って実装しています。 アーキテクチャの全体像 フロントエンドはVercelにデプロイして、バックエンドはAWSのECSにデプロイしています。 ブランチ運用は、GitHub flowを採用しています。 プルリク時にテストが走り、mainブランチにマージされるとデプロイされる感

                                                                                「エンジニアDB」というサービスを開発しました!【Next.js / Rails / AWS / Terraform / Docker / GitHub Actions】 - Qiita
                                                                              • 『iOSテスト全書』を共著した話。あるいは『教科書本』との違い。 - ペンギン村 Tech Blog

                                                                                どうも、最近はRabi-Libiという弾幕アクションゲームをやっているtobi462です。 というわけで、PEAKSから『iOSテスト全書』の電子版が正式リリースされました。 peaks.cc おそらく製本版も今月中には発送されるかと思います。 (ところで一般販売はされるのでしょうか?私、気になります!) 追記:一般販売が開始されました! iOSテスト全書 著者: 松尾 和昭,細沼 祐介,田中 賢治,平田 敏之,玉城 信悟, 製本版,電子版 PEAKSで購入する そんなわけで、個人的にどういう想いを込めて執筆したのか、みたいなことを自分なりに振り返りながら書いてみたいと思います。 担当した章 私は著者陣の一人として、以下の章の執筆を担当させていただきました。 第2章:ユニットテスト(概要) 第4章:ユニットテスト(Quick / Nimble 編) 第5章:BDDによるアプリ開発 なお、第

                                                                                  『iOSテスト全書』を共著した話。あるいは『教科書本』との違い。 - ペンギン村 Tech Blog
                                                                                • GitHub Actionsを機能ごとに分けて管理したかった | by Asai | Finatext | Feb, 2021 | Medium

                                                                                  Photo by Ash from Modern Afflatus on UnsplashはじめにFinatextでエンジニアをしている浅井です。 弊社では先日「Wealth Wing」という資産運用サービスをリリースしました。 サービスの詳細を知りたい方は、こちらのnoteも合わせて読んでいただければと思います。 Springについてとスクラムの導入については既に他のメンバーが書いているので、 今回はGitHub Actionsについて書いていきます。 概要Wealth Wingの開発チームではGitHub Actionsで ktlintでのフォーマットチェック(以下lint)単体テスト(以下test)シナリオテスト(実際のエンドユーザの動きやバッチ処理の一連の流れを一つのシナリオとして盛り込んだテスト。以下scenario test)を動かしています。 これらの処理に軽く依存関係を持た

                                                                                    GitHub Actionsを機能ごとに分けて管理したかった | by Asai | Finatext | Feb, 2021 | Medium