並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 160件

新着順 人気順

"Software development"の検索結果41 - 80 件 / 160件

  • 「アジャイルサムライ」の著者が語る、技術志向の企業が世界をどう見ているのか? そしてソフトウェアテスト自動化を進化させる方法について(前編)。JaSST'22 Tokyo基調講演

    「アジャイルサムライ」の著者が語る、技術志向の企業が世界をどう見ているのか? そしてソフトウェアテスト自動化を進化させる方法について(前編)。JaSST'22 Tokyo基調講演 Jonathan Rasmusson(ジョナサン・ラスムッソン)氏はアジャイル開発における著名人の一人であり、さまざまな先進的ソフトウェア企業において開発やテストに携わってきました。 日本ではアジャイル開発の入門書として話題となった書籍「アジャイルサムライ」(オーム社,2011)や「初めての自動テスト」(オライリー,2021)、「ユニコーン企業のひみつ」(オライリー,2017)の著者としても有名です。 そのラスムッソン氏が2022年3月10日と11日の2日間、ソフトウェアのテストに関わる国内最大のイベント「ソフトウェアテストシンポジウム 2022 東京」(JaSST'22 Tokyo)の基調講演に登壇しました。

      「アジャイルサムライ」の著者が語る、技術志向の企業が世界をどう見ているのか? そしてソフトウェアテスト自動化を進化させる方法について(前編)。JaSST'22 Tokyo基調講演
    • 成果を出すプログラマーが習得している「コードを書かない技術」 - Qiita

      はじめに 私がプログラマーとして働き始めて1年半がたちました。幸いなことに環境に恵まれ、私の身の回りには成果を出し続ける優秀なプログラマーがたくさんいます。 1年半彼らの仕事を観察して気づいたことは、成果を出すプログラマーは共通して 「コードを書かない努力をしている」 ということでした。 この記事では彼らが業務で行なっている、 「コードを書かないための思考、習慣」 についてまとめていきたいと思います。 前提 多くの人は「プログラマーはコードを書くことが仕事」だと考えています。この考えに基づくと、プログラマーが「コードを書かない努力をする」ということが、ひどくおかしなことに思えてしまうかもしれません。 そこでまず前提として3つの誤解を解くところから始めましょう。 [誤解1] プログラマーの仕事は「コードを書くこと」である 私たちプログラマーの多くは会社から給料をもらいながらコードを書いていま

        成果を出すプログラマーが習得している「コードを書かない技術」 - Qiita
      • 人気ゲーム開発者たちが「開発初期のゲーム映像」を続々投稿しお祭り状態に。“グラフィックは最初に完成される”論への静かな抗議 - AUTOMATON

        ホーム ニュース 人気ゲーム開発者たちが「開発初期のゲーム映像」を続々投稿しお祭り状態に。“グラフィックは最初に完成される”論への静かな抗議 人気ゲームの開発スタジオや制作者が、自身のタイトルの“制作段階のグラフィック”を続々と公開している。開発中の映像はいわゆる未完成の状態であり、機密情報でもある。すでにローンチされた製品のものは講演会などでなければあまり公開したくはないだろう。しかしながら、彼らは惜しげもなく公開しているのである。またそれらのツイートには共通して「グラフィックはビデオゲーム開発において最初に完成されるものだ」(Graphics are the first thing finished in a video game)という一文が引用されている。いったいどういうことなのか。 きっかけとなったのは、とある論争だ。先日『Grand Theft Auto』新作の開発中の映像ファ

          人気ゲーム開発者たちが「開発初期のゲーム映像」を続々投稿しお祭り状態に。“グラフィックは最初に完成される”論への静かな抗議 - AUTOMATON
        • 設計解がないと思われた製品にエースエンジニアが投入され、翌日あっさり大枠をまとめて来た→その解決方法がカッコよすぎた

          ピーナッツ @1zA5ijpgBABKIy2 前職で、どうやっても設計解がないと思われた製品にエースエンジニアが投入され、翌日にあっさり大枠をまとめて来たことがあった。 「え、何やったんすか?」って聞いたら「めちゃくちゃ散歩したんだよ」って言われて言葉を失った。生産性とは余白なのだわ。 2022-08-05 17:35:16

            設計解がないと思われた製品にエースエンジニアが投入され、翌日あっさり大枠をまとめて来た→その解決方法がカッコよすぎた
          • プログラミング言語へのMicrosoftの影響力がヤバい - きしだのHatena

            Tiobe indexを眺めながら、C#とVBが入っていてMicrosoftは強いなーと思ったのだけど、よくみると他の言語もMicrosoftの影響力すごいのではとなったので調べてみた。 https://www.tiobe.com/tiobe-index/ Python 例えば1位のPythonにMicrosoftはかなり力をいれている。象徴的なのが、Pythonのオリジナル開発者の入社 C/C++ Windows上でのC/C++コンパイラではMS C/C++が圧倒的シェアであるし、C++の標準化団体にMicrosoftはGold Memberとして参加している。 https://isocpp.org/about Java 4位のJavaに関してもかなりリソースは割いているわけですが、全体の影響度としてそこまで大きくはないですね。 昨日のブログにも書いたようにOpenJDKビルドを出してい

              プログラミング言語へのMicrosoftの影響力がヤバい - きしだのHatena
            • 内製化は、きっとうまくいかない - orangeitems’s diary

              最近はDXという言葉が独り歩きしてしまい、結局はどうすればいいのかと考えたあげく、内製化に舵を切る企業が多いと聞きます。 でも、この内製化、非常に危ない面を持っていると思っています。結局はユーザー企業が、SI部門を自前で持つということにほかならないからです。このSI部門、立ち上げるときにはだいたいが、大手のSIerが出身で、それまでの知識や経験をもとに組織を組み立てるのが通常です。 これ、はじまりはうまく行くんです。むしろ、一から作ったのでSIerよりもスマートに内製をスタートできる場所もあるぐらいです。そう、そこまではよい。問題は、この内製化部門が成長できるかどうか、です。 SIerはいつも競争にさらされていて、いつでも新しいトピックを主にアメリカから輸入し、常に最新化、モダナイズしないといけない強迫観念を持っています。 過去、外資のベンダーのイベントが都内ホテルであったときに、基調講演

                内製化は、きっとうまくいかない - orangeitems’s diary
              • テストの説明に安易に「正しく」とか書かない - Object.create(null)

                みなさんテストは書いていますよね. 書いていなければふりだしに戻る. 例えば関数 add に対して, 以下のようなテストコードがあるとします. describe("add", () => { it("正しく計算できる", () => { expect(add(1, 2)).toBe(3); }); }); よさそうですね? もしよくないと思うのであればここから下は読まなくても大丈夫なくらい理解している方だと思います. 続いて関数名を変えただけのこちらをどうぞ. describe("sub", () => { it("正しく計算できる", () => { expect(sub(1, 2)).toBe(3); }); }); なんだか明らかに間違っている気がします. もしこのテストが通過してしまったとき我々はどうすればよいのでしょうか. 考えられるパターンは 2 つあります. 実装もテストも正

                  テストの説明に安易に「正しく」とか書かない - Object.create(null)
                • プログラムの「アーキテクチャに関するドキュメント」は面倒でも書くべき、ではどのように書くべきか?

                  開発プロジェクトに新しく加わった時は、まずプロジェクトの理解が第一。しかし、全体像を把握できるようなドキュメントがなく、コードから断片的な情報をかき集めるしかない場合もあります。新参の開発者がスムーズにプロジェクトを理解できるよう、大規模なプロジェクトでは「プロジェクト全体のアーキテクチャ」を示した「ARCHITECTURE.md」を添えた方がよいと、エンジニアのAleksey Kladov氏が指摘しています。 ARCHITECTURE.md https://matklad.github.io//2021/02/06/ARCHITECTURE.md.html Kladov氏はオープンソースプロジェクトの開発に携わる中で、「プロジェクトのアーキテクチャに対する知識量」によって開発スピードに大きな差が生じると気づいたとのこと。アーキテクチャに関する知識がない開発者にとって、大量のコードは「バラ

                    プログラムの「アーキテクチャに関するドキュメント」は面倒でも書くべき、ではどのように書くべきか?
                  • 手動テストだけのソフトウェアは腐っていく: 柴田 芳樹 (Yoshiki Shibata)

                    この本で、著者のRobert Martinも、次のように述べています。 この10年間の間に この業界では多くのことがありました。1997年当時、テスト駆動開発などという言葉は誰も聞いたことがありませんでした。ほとんどの人にとって、単体テストというのは動作をひとたび『確認』したら捨ててしまうものでした。苦労してクラス メソッドを書き上げ、それらをテストするためのその場しのぎのコードをでっちあげていたのです。 『Effective Java』で有名なJoshua Blochは、この本の中のインタビューで、次のような会話を行っています。 「デバッグの話をしましょう。あなたが追いかけた最悪のバグはどのようなものでしたか」 それに対して、Joshua Blochは、 「最初に勤めた会社で私が開発したソフトウェアですね。ソフトウェアのデバッグに1週間半費やしました」 という話をしています。 1週間半費

                      手動テストだけのソフトウェアは腐っていく: 柴田 芳樹 (Yoshiki Shibata)
                    • 業界6年目で考えが変わったソフトウェア開発のトピック

                      chriskiehlのブログより。 考えを改めたもの 過去の自分なら言い争っていたであろうことが、今では信じられるようになったこと。 様々な経験レベルを持つ人がいるチームで仕事をする場合は、型付き言語の方が適している スタンドアップは、実際に新人を注目するのに役立つ スプリント・レトロスペクティブは、実際の軌道修正のためのものであって(「つまり、なんてこった、うまく行かなかった!」)、皆の時間を無駄にするようなアジャイル/スクラムマスター的なものでない限り、その場に相応しいものである ソフトウェア・アーキテクチャは、おそらく他の何よりも重要である。優れた抽象化のクソみたいな実装は、コードベースに正味の害を与えません。悪い抽象化や欠落したレイヤーは、すべてのものを腐らせる Javaはそれほどひどい言語ではない 巧みなコードは通常、良いコードではない。明瞭さは、他のすべての懸念事項に勝る どん

                      • チームや個人レベルで進捗を出すために最近やっていること - Lambdaカクテル

                        最近とあるサイトの新規リリースにかかわることができて,そこで得られた学びをフィードバックするという活動をやっている.具体的には運用で使えるIssue Templateを整備したりしているのだけれど,自分やチームの進捗管理みたいな分野でもフィードバックすることができたのでメモしておく. 毎日エンジニアMTGを開く 毎日Scrapboxに残タスク・進捗を書きチームで共有する 毎日の適当な時間を割いてMTGを開く MTGでやること 結果どうだったか 個人レベルの話 ページの内容 1日の流れ 終わり 毎日エンジニアMTGを開く スクラムっぽい話題?かもしれないけれど,自分のチーム(エンジニアは2人)の規模ではこれでうまくいった. 毎日Scrapboxに残タスク・進捗を書きチームで共有する 昨日からコピーしていく 毎日の適当な時間を割いてMTGを開く 話すことそんなになくても予定は作るしMTGは開く

                          チームや個人レベルで進捗を出すために最近やっていること - Lambdaカクテル
                        • jq が jqlang organization に移譲されました - プログラムモグモグ

                          JSONを操作するコマンドラインツールであるjqは、これまでオリジナル作者であるStephen Dolan氏 (@stedolan)のリポジトリ(github.com/stedolan/jq)で管理されていました。 メンテナンスはNico Williams氏 (@nicowilliams)とWilliam Langford氏 (@wtlangford)の二名が行なっていましたが、近年は活動が減っておりメンテナンスが滞っていることが度々指摘されていました。 最新のリリースは2018年11月に行われた1.6であり、その後に様々なバグ修正やパフォーマンス改善、新機能の実装が行われているのにリリースされておらず、またissueやPRも放置されがちになっていました。 さらにCI (AppVeyor)は常に落ちるので、簡単なドキュメント修正でもCIが通らず苦情が来る、数か月放置されたPRは作った人が諦

                            jq が jqlang organization に移譲されました - プログラムモグモグ
                          • 開発スピードの速い企業は品質が高く、遅い企業は品質が低い。和田卓人氏による「組織に自動テストを根付かせる戦略」(その2)。ソフトウェア品質シンポジウム2022

                            開発スピードの速い企業は品質が高く、遅い企業は品質が低い。和田卓人氏による「組織に自動テストを根付かせる戦略」(その2)。ソフトウェア品質シンポジウム2022 9月22日と23日の2日間、一般財団法人日本科学技術連盟主催のイベント「ソフトウェア品質シンポジウム2022」がオンラインで開催され、その企画セッションとして行われた和田卓人氏による講演「組織に自動テストを書く文化を根付かせる戦略(2022秋版)が行われました。 講演で、企業の業績はソフトウェアの開発能力に左右されるようになってきていること、その開発能力を高める上で重要なのがコードの「テスト容易性」や「デプロイ独立性」であると和田氏は指摘。その上で、それを実現させるような「自動テストを書く文化」をどうすれば組織に根付かせることができるのか、講演の後半ではこの本質的な議論へと踏み込みます。 本記事は、2時間におよぶこの講演をダイジェス

                              開発スピードの速い企業は品質が高く、遅い企業は品質が低い。和田卓人氏による「組織に自動テストを根付かせる戦略」(その2)。ソフトウェア品質シンポジウム2022
                            • 「自動テストとテスト駆動開発、その全体像」を執筆しました(Software Design 2022年3月号) - t-wadaのブログ

                              【更新】寄稿した記事が Web に公開されました 技術評論社様のご厚意により、 Software Design 2022年3月号に寄稿した「自動テストとテスト駆動開発、その全体像」が gihyo.jp にて公開されました。誠にありがとうございます! gihyo.jp はじめに 2022年2月18日発売の Software Design 2022年3月号 にて、第2特集「そろそろはじめるテスト駆動開発」の第1章「自動テストとテスト駆動開発、その全体像」を執筆いたしました。第1章では、混同されることの多い自動テスト関係の概念を自動テスト、テストファースト、テスト駆動開発(TDD: Test-Driven Development)の3つの段階に分け、それぞれの効果や注意点を包括的に整理整頓しています。 ソフトウェアデザイン 2022年3月号 作者:大竹 章裕,瀬戸口 聡,庄司 勝哉,光成 滋生,

                                「自動テストとテスト駆動開発、その全体像」を執筆しました(Software Design 2022年3月号) - t-wadaのブログ
                              • Python 4.0が登場しない理由

                                TechRepublicより。 オーウェン・ヒューズ Pythonプログラミング言語の生みの親グイド・ヴァンロッサムとの質疑応答で、Python 2.0からPython 3.0への移行がトラブル続きだったことを受けて、「Python 4について真剣に語ることはほとんどタブー」だと述べました。 グイド・ヴァンロッサムは、Microsoft Reactorとのインタビューで、Pythonバージョン 4.0の可能性をほぼ否定しました。Image: Dan Stroud under the Creative Commons licence Python 4.0に期待しないで下さい。人気のプログラミング言語の生みの親であるグイド・ヴァンロッサは、おそらく日の目を見ることはないだろうと述べています。 Microsoft Reactorとのインタビューで、ヴァンロッサムはPythonの将来とプログラミン

                                  Python 4.0が登場しない理由
                                • OpenAPI や Protocol Buffers のおかげで開発がかなり捗っている話 | MEDLEY Developer Portal

                                  2020-08-21OpenAPI や Protocol Buffers のおかげで開発がかなり捗っている話こんにちは、インキュベーション本部エンジニアの加藤です。 主に CLINICS アプリの開発を担当しています。 はじめにCLINICS アプリの開発では OpenAPI や gRPC を利用しています。 OpenAPI と gRPC の間には何の関係もないのですが、どちらも API の仕様をスキーマ言語で記述するという点では共通しています。 今回はこの API スキーマが開発にもたらすメリットについて紹介していこうと思います。 API ドキュメントとしてのスキーマ定義既存のコードに機能を追加する際や修正を加える際に気にすることの多い部分は API の仕様ではないかと思います。 「リクエストやレスポンスはどのようなデータなのか」「この値は必須なのか、任意なのか」「データの型は数値なのか

                                    OpenAPI や Protocol Buffers のおかげで開発がかなり捗っている話 | MEDLEY Developer Portal
                                  • コードより先にコミットメッセージを書く

                                    これは、フィヨルドブートキャンプ Advent Calendar 2021(Part 1) 13日目の記事です。 未経験からフィヨルドブートキャンプでプログラミングを勉強し、2021年3月から Tebiki 社でエンジニアとして働いている masuyama13 です。 入社当初、PR(プルリクエスト)を作成する際にコミットの整理に毎回かなり時間がかかるのが悩みでした。試行錯誤の結果、この悩みを解消することができたので紹介します。 それが、コードより先にコミットメッセージを書くという方法です。 コミットメッセージを先に書くやり方まず、タスクを分解して TODO リストを作ります。これから作業する内容がイメージできたら、コミットメッセージを一つ考えます。エディタなどにコミットメッセージを入力します。コミットメッセージが書けたら、それを常に意識しながらコーディングを進めます。作業中にコミットメッ

                                      コードより先にコミットメッセージを書く
                                    • データベースのドキュメント管理を自動化した話 - estie inside blog

                                      こんにちは、今回はデータ基盤構築を担当しているmarushoがお送りします。 今日はestieで実践しているデータベースのドキュメント管理方法をご紹介します。 はじめに 独自成長していくデータベースたち 失われたドキュメント どうすれば低コストなドキュメント管理ができるのか そして生まれた、schema collectorという自動化ツール SchemaSpy Mysql diff Priv Page ECS タスクスケジューラ ドキュメントを腐らせない おわりに はじめに estieはオフィスを中心とした不動産データを取り扱うスタートアップ企業です。 estie(オフィス探しサービス)とestie pro(不動産事業者向けデータプラットフォーム)の2つのサービスを運営しています。 詳しくは、こちらの記事をご覧ください。 inside.estie.co.jp estieでは、不動産に関する

                                        データベースのドキュメント管理を自動化した話 - estie inside blog
                                      • 開発組織の生産性を可視化するState of DevOpsとFour Keysとは(増補改訂版) / Introduction to State of DevOps and Four Keys for Visualizing Productivity in Development Organizations expanded and revised edition

                                        以下のイベントの発表資料です。 https://phpcon.php.gr.jp/2022/ 想定課題 開発がスケールしたり、開発年数が経過すると、様々な要因で開発生産性の低下が起こります。 そこで現場のエンジニアは改善をしたくなるかと思いますが、大抵の場合、ステークホルダーと工数確保の合意が必要になります。 その際にこのようなことを言われがちではないでしょうか? 今動いているものを直す必要ある? 効果測定どうやんの? 費用対効果はどれくらい? パフォーマンスチューニングの世界には「推測するな計測せよ」という言葉がありますが、開発組織における生産性についても測定してモニタリングする必要があると思います。 本セッションの目標 以上を踏まえ、本トークでは開発組織とステークホルダーの間の共通言語を獲得することを目標に以下の内容についてお話します。 State of DevOpsとは Four K

                                          開発組織の生産性を可視化するState of DevOpsとFour Keysとは(増補改訂版) / Introduction to State of DevOps and Four Keys for Visualizing Productivity in Development Organizations expanded and revised edition
                                        • 2022年上半期に読んだ技術書

                                          2022年上半期はとある都合もあってかなりの数の技術書を読んだので、その中でも良かったものとかの感想をまとめておきます。 2022年上半期で一番良かった技術書 A Philosophy of Software Design ソフトウェア設計の目的は複雑さを軽減することであるとして、その複雑さの定義と軽減する手法が書かれています。最近まで2年ほどフリーランスで色んな会社の開発に参加して、DDD的な設計やクリーンアーキテクチャを採用している現場が多かったもののそれらが逆に開発効率を低くしているのではという感想を持っていました。そこでこの本を読み、それらの目的であるはずの「複雑さを軽減する」という視点が抜けていたのかなと気付かされました。コードを読み書きしていて複雑さを感じなければモノリスでもMVCでもいいケースは多いと思います。複雑さを軽減する手法を解説する章では、やりすぎると逆効果であるとは

                                            2022年上半期に読んだ技術書
                                          • 気象制御やテレパシーのような技術など 国の研究目標の候補に | NHKニュース

                                            国の大型研究プロジェクト「ムーンショット型研究開発制度」で、若手研究者などから公募した研究目標の候補として「気象を制御する技術」など21件が選ばれ、さらに数件に絞り込んで正式な目標に掲げられることになっています。 30年後の社会を見据えて、科学技術の挑戦的な課題に取り組む国の大型研究プロジェクト、「ムーンショット型研究開発制度」は、すでに決まっている7つの目標に加え、若手研究者から目標のアイデアを募って数件を加えることになっています。 プロジェクトを運営する科学技術振興機構には、129件の提案が寄せられ、書類や面接の選考が行われました。 その結果、理化学研究所の研究者がリーダーとなって「電波や光などを使って大気の状態を変え、気象を制御することで豪雨などの災害を軽減する技術」の開発や、大阪大学の大学生がリーダーとなって「個人や集団の意思の疎通や合意の形成のため、考えたことや経験をテレパシーの

                                              気象制御やテレパシーのような技術など 国の研究目標の候補に | NHKニュース
                                            • Backdrop | 銀の弾丸に関するノート

                                              銀の弾丸の意味について簡単に書いておく。 『銀の弾などない』について まず、フレデリック・ブルックスの有名な論文「銀の弾などない ― ソフトウェアエンジニアリングの本質と偶有的事項」(1986)の内容は、次のようなものである。 ソフトウェアの構築には、本質的作業と偶有的(副次的)作業がある。前者は「何を作るか」についてのテーマであり、後者は「どう作るか」についてのテーマである。 「どう作るか」については様々な技法が生まれており、高水準言語、タイムシェアリング、オブジェクト指向プログラミング、人工知能、ワークステーションなど重要な技術革新はあったが、決定的なものとは言えない。 またそもそも「何を作るか」のテーマにおいて、ソフトウェアには困難が本質的に内包されているのである。 ソフトウェアの「何を作るか」には4つの性質がある。 複雑性: ソフトウェアは、同じコードは1度しか書かないという作り方

                                                Backdrop | 銀の弾丸に関するノート
                                              • 自治体アプリ改修に関わっていた北朝鮮籍IT技術者への不正送金事案についてまとめてみた - piyolog

                                                2022年5月22日、北朝鮮のIT技術者がスマホ向けアプリ開発を請け負いし報酬を不正送金していたとする報道をうけ、兵庫県は同県の防災アプリ「ひょうご防災ネット」の修正業務に関わっていたと公表しました。ここでは関連する情報をまとめます。 3次委託先が北朝鮮籍のIT技術者 兵庫県は外部からの指摘を受け、北朝鮮籍のIT技術者(以降はIT技術者と記載)がひょうご防災ネットアプリの省電力化等のプログラム修正に関わっていたことがラジオ関西の聴取から確定した。ひょうご防災ネットは防災情報やJアラート(ミサイル発射情報)の情報を配信するサービスで約26万人が利用している。*1 運用開始後に、アプリ内の一部機能を利用した際電池の消耗が激しかったことから兵庫県がアプリの改修を依頼していた。*2 同アプリに関係する企業の報告から、公表時点での個人情報流出や納品されたプログラムに不正なプログラムは確認されていない

                                                  自治体アプリ改修に関わっていた北朝鮮籍IT技術者への不正送金事案についてまとめてみた - piyolog
                                                • A Philosophy of Software Design 前半

                                                  2022/02/28 に MoneyForward で発表した A Philosophy of Software Design の話です。

                                                    A Philosophy of Software Design 前半
                                                  • pythonで気軽にパッケージを作るのは良いという話。

                                                    2021/06/18 分析コンペLT会#2 での発表資料です。

                                                      pythonで気軽にパッケージを作るのは良いという話。
                                                    • マイクロソフトの調査にみるコードのオーナーシップと品質の関係 - mtx2s’s blog

                                                      ひとつのソフトウェアコンポーネントが多くの開発者によって変更されると、品質に悪い影響を与えると経験的に感じている。設計に一貫性が失われることや、知識の浅い状態で変更することによるバグ混入の可能性が高まるからだ。 2011年9月に公開されたマイクロソフト社の調査結果、"Don’t Touch My Code! Examining the Effects of Ownership on Software Quality" は、この「コードのオーナーシップはソフトウェアの品質を左右する」という経験則を裏付けるものだった。全体のコミット数のうち5%未満の貢献にとどまる開発者が多いコンポーネントは、リリース前後における故障が増加するというものだ。 本稿では、このマイクロソフトによる調査結果を紹介し、それを踏まえた上で、ソフトウェアプロダクトの品質悪化を抑えるための組織やプロセス、アーキテクチャについ

                                                        マイクロソフトの調査にみるコードのオーナーシップと品質の関係 - mtx2s’s blog
                                                      • 事業に貢献するデータ基盤を作ろう・考え方編 / data_engineering_study_2

                                                        Data Engineering Study #2「データ収集基盤とデータ整備のこれまでとこれから」https://forkwell.connpass.com/event/182769/ 作成者 :しんゆう@データ分析とインテリジェンス Twitter:https://twitter.com/data_analyst_

                                                          事業に貢献するデータ基盤を作ろう・考え方編 / data_engineering_study_2
                                                        • Rust開発時の便利ツールたち

                                                          前書き Rustを書くときに便利なツールをまとめた記事が無い気がしたので作成。(ちゃんと探してないので既にあるかも) 公式ツール cargo パッケージマネージャ 基本だけどとても便利なツール 一度はThe Cargo Bookを読んでおくことを推奨。 rustfmt フォーマッター cargo fmt でもフォーマットの修正が出来る。(こっちを使うことが多い) clippy lintツール こう書いたほうが良いよという提案もしてくれるので便利。 cargo clippy --fix を使うと自動で直してくれる。 rust-analyzer Language Server rls もあるが、(最近は?) rust-analyzer の方がメジャーな気がする。 追記 : RLSは非推奨になりました。RLS Deprecation 非公式ツール cargo-watch ソースコードの変更を検知

                                                            Rust開発時の便利ツールたち
                                                          • どうして統合テストは重要なんだろう?

                                                            はじめに 最近では、多様なテスト手法や開発者向けツールを散見します。 エンドツーエンド(E2E)テストだけでも、「Cypress」「Puppeteer」「Playwright」「Selenium」などのツールがあります。単体テストでは「Vitest」や「Visual Studio」のビルトイン単体テスト機能など、テストの準備を容易に自動化できます。 ですが、多様なテストツールを導入しても、「When」、「How」を押さえてなければ、テストの効果を有効に得ることができないと考えています。 まず、静的テスト、単体テスト、統合テスト、E2Eテストを実装コスト、実行時間と信頼性の観点で見ていき、無駄や漏れのないテスト戦略を立てていきましょう 。 テストを実装コスト、実行時間と信頼性で考える どのテストを使用するかの選択する観点として、テストをする実装コスト、実行時間と、テスト結果の信頼性のトレード

                                                              どうして統合テストは重要なんだろう?
                                                            • ソフトウェアを完成させる - blog.8-p.info

                                                              Why is building the Ruby environment hard? の、 ソフトウェアは何もしないと壊れる というのは事実ではあるんだけど、それが良いことかというと、どうなのかなあと思う。ほかにも、我々プログラマはつい「ソフトウェアは完成しない」とかいってしまうし、それは雇用のためには良いことなんだろうけど、でも本当に完成しないんだろうか。 Go の logrus の README には、こんな段落がある。 Logrus is in maintenance-mode. We will not be introducing new features. It’s simply too hard to do in a way that won’t break many people’s projects, which is the last thing you want fro

                                                              • Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita

                                                                イントロダクション 目下、開発中のプロダクトなので詳しいことは書けないのですが、いろいろと気付きの多い出来事だったので、 少し自分自信の振り返りも兼ねて、投稿してみたいと思います。 これは、決してGoよりPythonのほうが優れているとかそういった話ではないです。 今回、自分は開発者というよりプロジェクトマネージャー(以降、PM)という立場になります。 Goの採用 当社のコア技術はPythonなのですが、今回、開発にあたってGoを採用していました。 主な採用理由としては、「プロトコルとしてgRPCを採用するにあたって、gRPCとの組み合わせ事例が多い」からでした。 gRPCの採用理由は、「同時に企画されていた別プロダクト(Python)との連携が想定されており、異なるプログラミング言語間でも型を維持したままデータ交換が可能」なことからでした。 当初は、プロダクトのリリース時期も未定でプロト

                                                                  Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita
                                                                • 企業にとってのプログラミング言語の位置づけ - 覚書

                                                                  プログラミング言語の良し悪しについては昔から活発に議論されてきました。このような議論の中で企業がどのようなプログラミング言語を採用するかについて釈然としない思いをしたかたも多々いらっしゃるかと思います。典型的には「なぜ自分の会社では俺の好きな言語を採用しないのか」です。この「なぜ」の一部に回答する、かつ、そこに共感しないまでも理解してもらうのが本記事の目的です。 この手の会話は炎上しがちであり、かつ、私はそのようなことはしたくないので個々の言語の名前は挙げません。そのためやや抽象的な表現が多くなりがちですがご容赦ください。また、筆者はここで書く価値観が絶対というつもりはなく、読者のみなさま個人のプロジェクトは自分の欲望の赴くままに好きなものを使えばいいと思っています。 企業は継続的にプログラムの開発やメンテナンスをする必要があります。これを念頭に置くと、使いこなせる人が多い言語であれば複数

                                                                    企業にとってのプログラミング言語の位置づけ - 覚書
                                                                  • OSS「faker.js」と「colors.js」の開発者、自身でライブラリを意図的に改ざん 「ただ働きはもうしない」

                                                                    OSS「faker.js」と「colors.js」の開発者、自身でライブラリを意図的に改ざん 「ただ働きはもうしない」 オープンソースのライブラリ「colors.js」と「faker.js」の開発者であるマラック・スクワイアーズ氏が、それらの最新バージョンに無限ループ処理を仕込むなど、意図的な改ざんを加えたバージョンをリリースしていたことが分かった。 colors.jsは毎週2000万回以上、faker.jsは毎週280万回以上ダウンロードされている人気のライブラリ。それらを使用したプロジェクトに影響を与えることから、ITエンジニアを中心に物議を醸している。 影響を受けるバージョンはcolors.jsの「1.4.1」「1.4.2」「1.4.44-liberty-2」と、faker.jsの「6.6.6」。11日午後8時現在、JavaScriptの実行環境「Node.js」のパッケージ管理シス

                                                                      OSS「faker.js」と「colors.js」の開発者、自身でライブラリを意図的に改ざん 「ただ働きはもうしない」
                                                                    • 技術を的に当てる技術について - GraphQL を入れ直した話 / 吉祥寺.pm28

                                                                      吉祥寺.pm28 でお話ししました https://kichijojipm.connpass.com/event/236031/ 追記:Podcast で解説した https://anchor.fm/wantedly-dev/episodes/--GraphQL--w-Altech-e1edkrv

                                                                        技術を的に当てる技術について - GraphQL を入れ直した話 / 吉祥寺.pm28
                                                                      • なぜLinux環境でゲームを開発するのか?Linuxベースで開発するゲームスタジオへのインタビューが公開中

                                                                        「Deep Sixed」「Precipice」「Rogue State」などのゲームを開発するLittle Red Dog Gamesは、オープンソースのゲームエンジンであるGodotを使い、Linuxベースでゲームを開発していることで知られています。そんなLittle Red Dog Gamesのライアン・ヒューワーCEOと、リードプログラマーのデニス・コンテス氏に、Linux関連の話題を扱うブログ・System76がインタビューを行っています。 System76 Blog — Developing Games on Linux: An Interview with... https://blog.system76.com/post/654884924769370112/developing-games-on-linux-an-interview-with Q: Little Red D

                                                                          なぜLinux環境でゲームを開発するのか?Linuxベースで開発するゲームスタジオへのインタビューが公開中
                                                                        • GitHub、削除した「youtube-dl」は著作権を侵害していなかったとして復元

                                                                          米Microsoft傘下のGitHubは11月16日(現地時間)、全米レコード協会(RIAA)からの申請を受けて10月に削除した「youtube-dl」関連のリポジトリを復元したと発表した。RIAAの主張は無効だと判断したとし、公式ブログで判断の経緯や削除ポリシーの改善について説明した。 RIAAの主張は、これらのリポジトリが提供しているyoutube-dlソースコードが、YouTubeなどが著作権のあるコンテンツを保護するために採用している技術(TPM)を回避するよう設計されており、これがデジタルミレニアム著作権法(DMCA)の第1201条に抵触するというものだった。 だが、GitHubは「著作権で保護された作品にアクセスするためにコードを使用できるからといって、著作権を侵害しない方法で作品にアクセスするためにコードを使用できないわけではなく」、youtube-dlは法律に違反せずに著作

                                                                            GitHub、削除した「youtube-dl」は著作権を侵害していなかったとして復元
                                                                          • pythonパッケージ管理ツールryeを使う - 肉球でキーボード

                                                                            Pythonパッケージ管理ツール ryeの使い勝手がよかったので使用方法をまとめました。 ryeとは GitHub: https://github.com/mitsuhiko/rye flaskの作者である Armin Ronacher氏 (GitHubアカウント @mitsuhiko)が個人利用目的で作成した、Pythonのパッケージ関係管理ツールです。内部実装はRustです。 ryeが作成された思想がリポジトリ Should Rye Exist? のDiscussionページに書かれています。 Should Rye Exist?: XKCD #927 Disucssion中の図にあるように、従来のPythonのパッケージ管理は”様々な標準”が存在し、このばらつきを統一しようと新しくパッケージ管理ツールを導入しても、”新たな標準が追加されるだけ”となり、真のパッケージ管理の標準化を行えて

                                                                              pythonパッケージ管理ツールryeを使う - 肉球でキーボード
                                                                            • テスト文化はなぜ作れないのか? - Gaudiy Tech Blog

                                                                              こんにちは。エンタメ領域のDXを推進するブロックチェーンスタートアップ、Gaudiyでフロントエンドエンジニアをしているkodai(@r34b26)です。 Gaudiyでは、以前のtech blogでお伝えしたように、ATDDやフロントエンドのテストに取り組んできました。 techblog.gaudiy.com ですが、正直にいうと、Cucumberを使ったフロントATDDは運用がうまく回っていません。 なぜ失敗したか? を振り返ってみると、「設計を変える(=テストを書く)こと」だけに注力してしまい、「コミュニケーションの構造を変えなかったこと」が原因だということに思い当たりました。 そこで今回は、テスト文化を醸成するためのコミュニケーション設計をテーマに、ブログを書いてみたいと思います。 テスト文化を組織に定着させたいけどうまくいっていないチームの方々に、ご参考になったら嬉しいです。 1

                                                                                テスト文化はなぜ作れないのか? - Gaudiy Tech Blog
                                                                              • 紙テープでデバッグするわけないじゃん - いろいろやってみるにっき

                                                                                どこの国の40年前だろう。40年前って1982年だよね。 t.co まとめの最初のツイートはこちら。 現代プログラマが40年前くらいに転移してしまうと「え?メモリ8KB?え?画面幅40文字?え?コードは紙に。。。え?」とかになってなんも無双できなそう — きしだൠ(K1S) (@kis) 2022年7月15日 1982年当時のコンピュータ、オレがあまり触っていない奴をちょっと調べてみた。 anniversary-net.com どうやらこの機体は16KBらしい。 Wikipediaを見てみると ja.wikipedia.org メモリ    RAM 16キロバイト(最大32キロバイト) グラフィック    テキスト 32桁×16行 2画面(RAM拡張時は最大4画面)、グラフィック 256×192ドット 2色 または 128×192ドット 4色 1画面(RAM拡張時は最大3画面) となってい

                                                                                  紙テープでデバッグするわけないじゃん - いろいろやってみるにっき
                                                                                • BtoBなソフトウェア開発における必読書3選 - Runner in the High

                                                                                  BtoBなソフトウェアの開発において業務知識なしにシステム設計をすることはほぼ不可能に近い。 これまで、業務支援系のシステム開発はSIer企業たちのお家芸であったが、近年ではWeb系のベンチャー企業やスタートアップであってもこれまでSIerが担っていたようなドメイン領域で戦うことが増えている。 「会計処理」「流通管理」「在庫管理」「人事管理」あたりのドメインにまつわるシステム設計は、BtoBをやっていればいつか必ず遭遇することになる。その際にドメインに関する知識を一切持たずにまともなシステム設計をすることはたいていの場合難しい。 Web系であれなんであれ、BtoBなソフトウェアエンジニアは自分たちが取り組むドメインに関する知識を持ってシステム設計に臨む必要がある。これはデザインパターンや設計手法"以前"の話だ。 ITエンジニアのための「業務知識」がわかる本 ITエンジニアのための【業務知識

                                                                                    BtoBなソフトウェア開発における必読書3選 - Runner in the High