並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 22 件 / 22件

新着順 人気順

プログラムの検索結果1 - 22 件 / 22件

  • ユニットテストってもう言わない! CI/CD時代のテスト分類に最適なテストサイズという考え方

    はじめに 以前からユニットテスト/単体テストという言葉は使いづらい、と感じており今回も旧Twitterで「テストを実行時間ベースで分類する良い言葉ないかなー」と呟いていたところ、「テストサイズのSMLって考え方があるよ」と教えて戴きました。 だいたいは教えてもらったt_wadaさんの記事にすべて書いてあるのですが、自分の整理も含めて動画にしたので、その補完記事となります。 TL;DR 単体テストのバベルの塔は既に崩壊 CI/CDでの継続的テストには時間ベースのテスト分類が重要 UT/IT/E2EではなくSMLによるテストサイズがCI/CDには合う それは単体テストか結合テストなのか? 自動テスト、手動テストに関わらずテストの分類として単体テストと結合テストという言葉は一般的です。 ITQBではTest Levelsという言葉で定義されていますし、以下のようなV字モデルの対応表はみんな知って

      ユニットテストってもう言わない! CI/CD時代のテスト分類に最適なテストサイズという考え方
    • AIUI.me - Screenshot to code

      Transform any screenshot into a fully functional, reusable component with just a single click.

        AIUI.me - Screenshot to code
      • 「コードに早まってDRY原則を適用しないこと」とGoogleが呼びかけ

        Googleに存在するコードを読みやすく保守しやすい形に保つ取り組みを行うグループ「Code Health」が、「DRYを早まって適用しないこと」と題した記事を公開しました。 Google Testing Blog: Don't DRY Your Code Prematurely https://testing.googleblog.com/2024/05/dont-dry-your-code-prematurely.html DRYは「Don't Repeat Yourself」の略称で、コードを重複させないことを重視する考え方です。重複するコードが存在していると、特定の機能を変更しようとした時に同じ機能を持つ部分を全て探して同時に変更する必要があり、見落としやミスが発生する危険性が高まります。一方、コードの重複を防げていれば一カ所だけを変更すればOKというわけ。 一見DRYを厳しく適用

          「コードに早まってDRY原則を適用しないこと」とGoogleが呼びかけ
        • 社内に詳しい人がいない領域のコードを触る時 - Konifar's ZATSU

          自分も含めて社内に詳しい人がいない領域のコードをいじることってあるよね。特に歴史の長いサービスだと当時触っていた人が誰もいないとか。仮にいたとしても1年くらい触ってないとほとんど忘れてしまって知らないのと同じような状態になっていたりする。 自分もそういうことが何度もあって、雑にスタンスややってることをまとめておこうと思う。 前提のスタンス 「これを倒したら俺がこの領域で一番詳しい最強になるんや」という気持ちを持ってる 詳しい人がいない状態で属人化とか気にしても仕方ない。まずは自分が詳しくなってから考えるでよい 自分用メモを作る キャッチアップしたことを書き残していく。ドキュメントじゃなくてSlackに垂れ流すでもいい 過去のドキュメント・やりとりを探す 全体像を把握できるドキュメントがないかを探すのを最初にやってる ここは近道はない。とにかく全部集めて全部読む気持ちで臨む Google D

            社内に詳しい人がいない領域のコードを触る時 - Konifar's ZATSU
          • Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル

            以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(another-command)のように、$()でコマンドを括る記法だ。これを利用すると、括弧で括られたコマンドが実行され、その標準出力が文字列として取り出され、$()全体を置き換える。シェルスクリプトでは非常によく見る技術だ。 この$()でファイルの内容を読み出すというのを最近見た。このような用法は非常によく見る。 foo-command $(cat params.txt) しかし、より良い書き方があるのでこれを提唱したい。$(< params.txt)と書くことで全く同等のことができる。しかも速いのでこちらのほうが完全に上位互換となる。 foo-command $(< params.txt) この方法はBashのドキュメントのコマンド置換のコーナーにちゃんと書か

              Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル
            • 優先順位が口癖になる危機感 - ジンジャー研究室

              開発サイクルの終盤に近づくと「今回は優先順位の高いここまでを実装して、残りは優先順位が低いのでまたの機会にしましょう」という話になりがちだ。自分もこれまで何度もそうしてきたし、その場の判断としては正しい。が、このやり方に味をしめて常にこの調子で進めて、なんとなく上手く仕事をこなしている気になってしまうことには危機感がある。 以下、普段考えていることを自戒を込めてメモしておく。(なお、筆者の経験は toB ・Web 系・自社開発が中心なので読者の置かれている状況とは一致しないかもしれない) 優先度が低いタスクに着手する機会が一生訪れない 仮にあるタスクの優先度を下げたとする。バックログを眺めるとそのタスクに着手できそうなのは3ヶ月後だ。そして3ヶ月後、やっとそのタスクに着手できるかというと、そんなことは決してない。3ヶ月の間にそれよりも優先度の高いタスクが積まれているからだ。タスクを消化する

                優先順位が口癖になる危機感 - ジンジャー研究室
              • 「BASIC」誕生60周年--コンピューター利用を容易にしたシンプルな言語の歴史

                Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2024-05-15 07:30 「Python」や「JavaScript」が学ばれるようになるずっと前、米国時間1964年5月1日の夜明け前の暗闇の中で、コンピューター史におけるささやかながら非常に重要な出来事がダートマス大学で幕を開けた。数学者のJohn G. Kemeny氏とThomas E. Kurtz氏がGeneral Electricの「GE-225」メインフレームを操作して、独自に考案した言語の最初のプログラムを実行した。その言語こそ、初心者向け汎用記号命令コード、すなわち「BASIC」だ。 BASICは最初に普及した言語ではない。その栄誉を得たのは、ビジネス分野では「COBOL」、エンジニアリング分野では「FORTRAN」だった。しかし、19

                  「BASIC」誕生60周年--コンピューター利用を容易にしたシンプルな言語の歴史
                • Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena

                  ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Integer java.lang.Object <- new java.lang.Runnable java.lang.String java.lang.System java.lang.Thread java.nio.file.Files <- new java.nio.file.Path <- new java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.io.OutputStream java.

                    Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena
                  • 大実験!ChatGPTは競プロの問題を解けるのか (2024年5月版) - E869120's Blog

                    1. はじめに 2024 年 5 月 14 日、OpenAI 社から新たな生成 AI「GPT-4o」が発表され、世界に大きな衝撃を与えました。これまでの GPT-4 よりも性能を向上させただけでなく1、音声や画像のリアルタイム処理も実現し、さらに応答速度が大幅に速くなりました。「ついにシンギュラリティが来てしまったか」「まるで SF の世界を生きているような感覚だ」という感想も見受けられました。 しかし、いくら生成 AI とはいえ、競技プログラミングの問題を解くのは非常に難しいです。なぜなら競技プログラミングでは、問題文を理解する能力、プログラムを実装する能力だけでなく、より速く答えを求められる解法 (アルゴリズム) を考える能力も要求されるからです。もし ChatGPT が競技プログラミングを出来るようになれば他のあらゆるタスクをこなせるだろう、と考える人もいます。 それでは、現代最強の

                      大実験!ChatGPTは競プロの問題を解けるのか (2024年5月版) - E869120's Blog
                    • GitHub Copilotと快適なユニットテストコード作成生活

                      こちらで登壇させていただいた資料です。 https://trident-qa.connpass.com/event/314818/ ※ こちらは2024/05/23 時点の私の考えとなります。更新の予定はございませんのでご了承ください

                        GitHub Copilotと快適なユニットテストコード作成生活
                      • Google、開発者向けの無料プログラム「Google Developer Program」開始。WebIDE「Project IDX」のワークスペースを5つまでなど特典が提供

                        Googleは、Google CloudやFirebaseなどGoogleが提供するサービスを用いてアプリケーションを開発する開発者を支援するための無料のプログラム「Google Developer Program」の開始を発表しました。 Google Developer Programに参加することで、以下の特典が得られると説明されています。 Geminiベースの新WebIDE「Project IDX」のワークスペースに最大5つまでアクセス可能に チャットAIによるドキュメ……

                          Google、開発者向けの無料プログラム「Google Developer Program」開始。WebIDE「Project IDX」のワークスペースを5つまでなど特典が提供
                        • GitHub Copilot Workspaceが利用可能になったのでゼロからアプリを作ってみた - Alternative Architecture DOJO

                          こんにちは、MLBお兄さんこと松村です。 昨年の MLB 全体ドラフト1位のポール・スキーンズ投手がメジャーデビューしました。予想通りの豪速球でした。 2024年4月29日についにテクニカルプレビューが開始となった GitHub Copilot Workspace ですが、ゴールデンウィーク中に私のアカウントでも利用可能となっていたため、試してみたことを書いていきます。 利用開始まで この記事を書いている時点では、 GitHub Copilot Workspace の利用には待機リスト (Waitlist) への登録が必要であり、その通過を待つ必要があります。 そのため GitHub Copilot Workspace を利用したい方は、こちらから登録を行いましょう。 githubnext.com ゼロからアプリを作ってみる 今回は練習として私がコードを書くこと無く、 C# の簡単なアプリ

                            GitHub Copilot Workspaceが利用可能になったのでゼロからアプリを作ってみた - Alternative Architecture DOJO
                          • すべての開発者が知っておくべきメモリ管理についての知識

                            プログラミングにおいてメモリ管理は重要な要素の一つですが、その重要性を見過ごされがちなものです。メモリ管理の高レベルな抽象化について、「すべての開発者が知っておくべき要素」としてプログラマーのザカリー・リー氏が解説しています。 Memory Management Every Developer Should Know https://webdeveloper.beehiiv.com/p/memory-management-every-programmer-know メモリは「スタック」と「ヒープ」という2つの領域に分かれています。 ・スタック スタックは「先入れ後出し」という特徴を持つデータ構造で、プログラムの関数呼び出しを記録するのに非常に適しています。例えば下図のように「test()」と「main()」という2つの関数があり、main()からtest()を呼び出す場合を考えてみます。

                              すべての開発者が知っておくべきメモリ管理についての知識
                            • ChatGPTプログラミングのすすめ

                              ChatGPTなどの大規模言語モデル (Large Language Model; LLM) にプログラミングやリファクタリングをさせる場合、目的に合ったものが作られているかを何らかの方法で検証する必要がある。 プログラムの正しさを完全に保証する方法はないが、ある程度の正しさを継続して担保するための方法を探ってみたので以下にまとめた。 ポイントは、ChatGPTの生成したプログラムの検証にもやはりChatGPTの力を借りることである。 実行可能性と入出力のチェック プログラムを生成するタスクである場合、いつでも「実行できるか?」というチェックが可能である。これは自然言語の生成と大きく異なる点だろう。実行可能性を確かめることは最低限のチェック項目になる。 エラーが出力された場合、自力で修正するか、もしくは、エラーの内容をChatGPTに提示して修正を依頼し、再度実行可能かを確かめる。 入力・

                                ChatGPTプログラミングのすすめ
                              • 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
                                • 最近は意図的にGitHub Copilotを無効にすることがある

                                  別にみんなそうするべきとは全く思わないのだけど、僕は最近GitHub Copilotを意図的に無効にすることがあるので、そのへんについて雑に書いておく。 あらかじめ言っておくが、僕はGitHub Copilotを有効にすることもある。この記事もGitHub Copilotおよびそのユーザーを批判する意図は全くない。 GitHub Copilot が便利な場面 僕がGitHub Copilotを使い始めて少なくとも一年以上は経ってる。自分が書こうと思っているコードに近いものが簡単に生成されていくことに最初は感動したし、便利な場面がはたくさんある。 具体的に便利な場面を思い返してみる。 僕は仕事ではNext.jsでフロントエンドを書いたり、NestJSでバックエンドを書いたりしているのだが、その用途では便利だった。僕は自分が関わっているプロジェクトのReactやNode.jsの書き方はある程度

                                    最近は意図的にGitHub Copilotを無効にすることがある
                                  • AIによるコードレビュー "PR-Agent" を導入した効果と課題について

                                    モノレポ環境にPR-Agentを導入した効果と課題について書いています。 導入結果としては、AIによるコードレビューが効果がある一方で、現時点では全てのレビューがAIに置き換えることはないことが分かりました。 この記事では、PR-Agentの具体的な効果、実際に感じた課題、課題に対する横断チームの対応策などを掘り下げています。

                                      AIによるコードレビュー "PR-Agent" を導入した効果と課題について
                                    • Codestral: Hello, World!

                                      Codestral: Hello, World!Empowering developers and democratising coding with Mistral AI. We introduce Codestral, our first-ever code model. Codestral is an open-weight generative AI model explicitly designed for code generation tasks. It helps developers write and interact with code through a shared instruction and completion API endpoint. As it masters code and English, it can be used to design ad

                                      • 受託1年目が学んだチームが幸せになるPRの作り方

                                        ※このスライドはPHPカンファレンス香川2024で登壇したトークのものになります。 未経験からエンジニアとして入社し、初めてのチーム開発を経験しました。 1年間の学びで重要だと感じたのはプルリクエスト(PR)の作成方法です。 PRはマージされて終わりのものではなく、後続のメンバーや開発段階のメンバーが参照することへの考慮が必要です。 PRはプロジェクトの重要な履歴であり、その質はチームの健全性に影響します。 美しく、有用で分かりやすいPRを作成することで、 ・コミュニケーションエラー減少 ・誤った仕様理解に基づく実装ミス削減 ・レビュワーのレビュー効率向上が期待でき、チームメンバーの幸福に繋がる といった効果が期待できます。 このトークでは、経験をもとに学んだ良いPRの具体的な要素やTipsに焦点を当て、良いPRがチームの生産性や雰囲気に与える良い影響についてもお話できればと思っています。

                                          受託1年目が学んだチームが幸せになるPRの作り方
                                        • DMM プラットフォームのコードランクについて - DMM inside

                                          Dagger Go SDK vs Shell in GitHub Actions ~ モノレポのCIの実装をGoで実装するまでの道のり ~

                                            DMM プラットフォームのコードランクについて - DMM inside
                                          • エンジニアに読んで欲しい技術書90選 - Qiita

                                            はじめに タイトル通り、読んで欲しい(圧)技術書をたくさん集めてみました。自身の担当から外れる領域に関しては、会社の人に協力を仰ぎ、編集しました。「何を読めばいいかわからない」、「次の読む本を探したい」などのように考えている方の参考になればと思います。 また、大きく、 ・新米エンジニア ・脱新米エンジニア と分けてまとめたので、参考にしてみてください。 技術書のススメ 技術書の紹介の前に、技術書で得られるものについて説明したいと思います。全然読み飛ばしてもらって大丈夫です。この章から本の紹介を行なっていきます。 技術書は体系的な構成となっているため、技術書を読むことで、 ・論理的な思考力が身に付く ・技術の歴史・背景を知れる ・技術の知識、手法を学べる これらを学ぶことができます。論理的な思考力、知識はわかるけど、技術の歴史・背景を知ってどうするんだと思う方もいるかもしれません。しかし、歴

                                              エンジニアに読んで欲しい技術書90選 - Qiita
                                            • Pythonでゼロ埋めなしの数字の文字列リストをソート | note.nkmk.me

                                              Pythonでリストなどを昇順・降順にソートする(並べ替える)にはsort()メソッドやsorted()関数を使う。 関連記事: Pythonでリストをソートするsortとsortedの違い ここでは、ゼロ埋めされていない数字の文字列のリストをソートする方法について説明する。

                                                Pythonでゼロ埋めなしの数字の文字列リストをソート | note.nkmk.me
                                              1