並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 5014件

新着順 人気順

自動テストの検索結果321 - 360 件 / 5014件

  • テストでのデータベース単位の捉えかた - 日々常々

    データベース(に限らずあらゆる永続化リソース)を使用するテストをいかにして行うかはいつだって悩みの種です。この悩みは「どうやったらデータベースを使用するテストを行えるかわからない」ではなく「なんとかやってるけど、不満のようなものがある」というものになるかと思います。 やりかたはたくさんあるのですが、その優劣は条件なしに比較する意味がないくらい、条件に依存します。どんな選択肢も「この条件なら最適」と言えてしまうだけに、広いコンテキストで「こうするのがベスト」とも言いづらいのです。 前提 xUnit Test Patterns を下敷きにします。 ユニットテストでの話です。他でもある程度通じます。 具象イメージはSpringBootを使用するWebアプリケーションです。そこまでべったりな内容ではありませんが、背景にあるとご理解ください。他でもそれなりに通じます。 データベースを使用するテストで

      テストでのデータベース単位の捉えかた - 日々常々
    • チャットワークの、これからのフロントエンド戦略 | チャットワーククリエーターズブログ

      こんにちは!ChatWork CTOの山本です。 チャットワークのバックエンドをPHPからScalaへの切り替えることを決断し、現在は移行に向けての大プロジェクトが進行中です。 バックエンドはScalaにしていく。じゃあフロントエンドはどうするの?ということで、今回はチャットワークのフロントエンド開発における今後の戦略を書いてみようかと思います。 現在のフロントエンドにおける課題現在のJavaScriptコード量は、ざっと5万行ほどになっています。(OSSライブラリ、言語キーなどを除く。たぶん大規模・・ですよね?) 約5年前の開発スタート時より、素のJavaScriptとjQueryをベースにゴリゴリと書き重ねられ、これぐらいのコード規模になったソースコードはご想像通りメンテナンスコストがかなり高くなってしまっています。。。 バックエンドの刷新に伴い内部APIも一新されるため、どうせ大幅に

        チャットワークの、これからのフロントエンド戦略 | チャットワーククリエーターズブログ
      • Python: ユニットテストを書いてみよう - CUBE SUGAR CONTAINER

        ソフトウェアエンジニアにとって、不具合に対抗する最も一般的な方法は自動化されたテストを書くこと。 テストでは、書いたプログラムが誤った振る舞いをしないか確認する。 一口に自動テストといっても、扱うレイヤーによって色々なものがある。 今回は、その中でも最もプリミティブなテストであるユニットテストについて扱う。 ユニットテストでは、関数やクラス、メソッドといった単位の振る舞いについてテストを書いていく。 Python には標準ライブラリとして unittest というパッケージが用意されている。 これは、文字通り Python でユニットテストを書くためのパッケージとなっている。 このエントリでは、最初に unittest パッケージを使ってユニットテストを書く方法について紹介する。 その上で、さらに効率的にテストを記述するためにサードパーティ製のライブラリである pytest を使っていく。

          Python: ユニットテストを書いてみよう - CUBE SUGAR CONTAINER
        • コードを書くのは好きだけどインフラ弱いって人は、まずItamaeを触ってみるといいと思う - Speee DEVELOPER BLOG

          概要 はじめまして、17 新卒エンジニアの中嶋です。 イエウール のサーバサイドの開発を行っています。 コードを書くのは好きだけど、インフラ・ミドルウェア系は弱い感じのエンジニアです。 これまで趣味では、Heroku や Elastic Beanstalk でシュッとデプロイして済ましていたので、AWS、ネットワーク、ミドルウェアあたりの知識が皆無でした。 先日、イエウールのホスティング環境が、IDCFrontier から AWS へ移行しました。 tech.speee.jp このようなインフラ移行に関わる機会は、そう多くあることではないので、これに便乗してインフラにちゃんと触れてみようと思いました。 そこで、少しでもインフラに近づくべく、社内で実績のあったプロビジョニングツール Itamae を使って、イエウールのサーバ構成の一部を、できる範囲でコード化しました。 結果、コードを書くのは

            コードを書くのは好きだけどインフラ弱いって人は、まずItamaeを触ってみるといいと思う - Speee DEVELOPER BLOG
          • Selenium2.x で Ajax なWebアプリケーションをテストしよう 〜 Facebook の自動あいさつ返答機能を実装 〜 - Yamashiro0217の日記

            この記事では、Facebook のあいさつ(Poke)機能への返信を題材に、沢山たまるとウザい嬉しいあいさつを自動で返すスクリプトを書くことで、Selenium2.x の使い方、特に Ajax アプリをテストする方法について学べるようにする。 Ajax がからんだWebアプリケーションのエンドツーエンドの最近のテスト手法についてのまとめにもなっていると思う。 最初の3節ぐらいは「Seleniumとは〜」とか「テストってのはさー」とかゴタクをごたごた書いているので、Seleniumの実際のコード見た方がはえぇよ。って言う人はコードが出てくるまで記事を飛ばすと良い。 こんな記事を気合入れて書いて公開した当日に…FacebookのUIが変わって…作ってたスクリプト動かなくなってしまった…orz。俺が何かやったり買うと事件が起きるんや・・「なにか買うとその直後に安くなったり、新機種がでたりするとい

              Selenium2.x で Ajax なWebアプリケーションをテストしよう 〜 Facebook の自動あいさつ返答機能を実装 〜 - Yamashiro0217の日記
            • データベースをリファクタリングしたお話 - BASEプロダクトチームブログ

              基盤チーム所属の沖中( @okinaka )です。 「リファクタリング」という言葉、エンジニアのみなさんならご存知でしょう。 システムの振る舞いを変えずに内部を改善することを指す言葉です。 一般的に、コードの修正を指すことがほとんどですが、今回はデータベース設計のリファクタリングについてお話ししたいと思います。 絶版になってしまいましたが、データベース・リファクタリング という書籍に様々な手法が紹介されていて参考になります。英語で良ければ 原書 はまだ入手可能ですね。 データベース・リファクタリング 作者:スコット W アンブラー,ピラモド・サダラージ発売日: 2008/03/26メディア: 単行本 Refactoring Databases: Evolutionary Database Design (Addison-Wesley Signature Series (Fowler)) (

                データベースをリファクタリングしたお話 - BASEプロダクトチームブログ
              • 自動テストはなぜあまり書かれてこなかったのか 和田卓人×倉見洋輔×古川陽介がひもとく、フロントエンドテストの歴史

                セッションテーマはフロントエンド開発テストの「必要性」と「歴史」 古川陽介氏(以下、古川):さて、次のパネルディスカッションは、「フロントエンド開発テスト最前線」というタイトルで発表していこうかなと思います。 ご登壇いただくのは、タワーズ・クエスト株式会社取締役社長の和田卓人さんです。和田卓人さんはリクルートの技術開発の技術顧問をやっています。 また、株式会社リクルート兼株式会社ニジボックスの倉見洋輔さんもお呼びして、今回は話をしていこうかなと思います。倉見さんに関して言うと、どちらも私の直属のメンバーというかたちで、一緒に働いています。 今、プロダクト開発において、やはりテストというのが開発の生産性などを決める上でもかなり重要な要素になっているかなと思っています。この必要性や歴史を3人で話していけるといいなと思っています。 テスト駆動開発の第一人者・和田卓人氏 古川:じゃあ、もう始めてい

                  自動テストはなぜあまり書かれてこなかったのか 和田卓人×倉見洋輔×古川陽介がひもとく、フロントエンドテストの歴史  
                • 一人プロジェクトのプログラマが、ある日突然ヘルシンキで働く事になった訳 - paiza times

                  Photo by Andrés Nieto Porras はじめまして。今回はpaizaのジャッジシステム開発等をしている吉岡がお送りします。 「海外で働く」という事について話されることが増えてきましたが、まだ身近に考えられる人はそれほど多くはないと思います。 私自身、特に海外で働こうと強く意識していたわけではありませんが、縁があってフィンランドのヘルシンキで5年ほどソフトウェアエンジニア(プログラマ)として働いていました。今年(2014年)4月から日本に戻ってきて、現在はギノ(paiza運営元)で働いていますが、実際に海外で働いた中で感じた事など書いてみたいと思います。 ■海外に行く前にしていた事 最初、新卒で入ったのは大阪のXAXONという、主にWindows向けの開発とISPを運営している50人ぐらいの会社でした。開発側はアルバイト等を含めて20人ぐらいだったと思います。 入社した理

                    一人プロジェクトのプログラマが、ある日突然ヘルシンキで働く事になった訳 - paiza times
                  • Swiftことはじめ:String?のクエスチョンマークって何? - Shoichi Matsuda's diary

                    Swift出ましたね! WWDCで突然の言語発表で驚きです。 無料のドキュメントが提供されており、ざっと読んでみた限り最近の言語のエッセンスを色々と取り込んだ良い意味で特徴のない(かなり書きやすそうな!)言語という印象を受けました。 今回はそんなSwiftの中のoptional valueなどと呼ばれている言語仕様について取り上げていきます。 どれのこと? ドキュメント中に出てくる以下の様な記述です。 var optionalString: String? = "hello" optionalString = nil println(optionalString) このString?、なんのことだかわかりますか? このクエスチョンマーク、どうやって使うの? 使い方を見ていきましょう。 まず普通の変数宣言で以下の様に書いてみましょう。 var normalString = "aaa" nor

                      Swiftことはじめ:String?のクエスチョンマークって何? - Shoichi Matsuda's diary
                    • フロントエンド開発をマスターする上で必要な知識 8選 2022年版

                      はじめに フロントエンドは、簡単に言えばWebアプリケーションやWebサイトにおけるユーザが目に見える部分のことを指す。ひとくちにフロントエンドと言っても、学ばなければならないことや知識が数多くあるので初心者にとっては何から勉強すればいいのかわからない人も少なくないだろう。 今回の記事では、個人の一見解としてフロントエンド開発をマスターするのに必要な基礎知識を徹底解説する。今回の記事を通して、フロントエンドの学習方法やその魅力を十分に理解していただければ非常に幸いである。 バックエンドに関しては以下の記事を参照してほしい。 フロントエンド開発に必要な知識 1.基本的な知識 フロントエンド開発をマスターする上では、以下の言語の基本文法や知識をマスターしておこう。これはWeb制作やWebデザインにも共通していることである。 HTML:Webページを作成するための言語。主にページ内の情報を構造化

                        フロントエンド開発をマスターする上で必要な知識 8選 2022年版
                      • Google Chromeのヘッドレスモードが新しく。別になっていた実装を統合し、ヘッドフルと完全互換に

                        Google Chromeのヘッドレスモードが新しく。別になっていた実装を統合し、ヘッドフルと完全互換に Google Chromeの開発チームは、Google Chromeをユーザーインターフェイス画面なしで利用できるヘッドレスモードの実装が新しくなったことを明らかにしました。 Chrome’s Headless mode just got a whole lot better! We made Headless more useful for developers by bringing it closer to Chrome’s regular “headful” mode. https://t.co/FhAblWvJQj pic.twitter.com/tJHV0j9fc7 — Chrome Developers (@ChromiumDev) February 22, 2023 ヘ

                          Google Chromeのヘッドレスモードが新しく。別になっていた実装を統合し、ヘッドフルと完全互換に
                        • コスパで学ぶ自動テストのはじめ方 - 若くない何かの悩み

                          Qiita 週間ランキング1位を獲得しました Kuniwak です。ご愛顧ありがとうございます。 qiita.com さて、本題に移りたいと思います。 つい最近ですが、勤め先の別チームに向けて自動テストの導入を支援するための資料を作成しておりました。こちらを共有したいと思います。 speakerdeck.com 資料中にある「仕様化テストを推奨しない」という決断には賛否両論あるかと思います。仕様化テストを推奨しなかった理由は、仕様化テストにかかるコストは相当に高く、本当に余裕があるときでないと選べない選択肢だったからです。今回自動テストを導入しようとしているチームは、見るからに余裕のない状況だったので仕様化テストからやれとは言えませんでした。 もし、「自分だったらこうする」等のアドバイスがあれば、ぜひ参考にしたいと思います。コメントなどに書いていただけると嬉しいです。

                            コスパで学ぶ自動テストのはじめ方 - 若くない何かの悩み
                          • ルーク、 MongoLab を使え! - @kyanny's blog

                            五月の終わりから Quipper で働いている。 Quipper は DeNA の co-founder である渡辺雅之氏がロンドンで創業したモバイル学習プラットフォームの会社で...みたいな話は長くなるし、読者の興味を引きそうにないのでやめておく。このへんの話を詳しく知りたい人は渡辺によるハーバード・ビジネス・レビューの連載をどうぞ。 ソフトウェア開発者にとって一番気になるのは、会社の事業内容とか売上利益よりも、「どんな環境でソフトウェア開発をしているのか」じゃないだろうか。どんなインフラを使っているのか、バージョン管理やタスク管理はどうしているのか、自動テストはどのくらいやっているのか、開発手法はアジャイルなのか、 Mac で開発できるのか、椅子は六万円以上か(冗談ですよ)、などなど。 こういった、ソフトウェア開発者が日々過ごす広義の「環境」について言えば、 Quipper はかなりい

                              ルーク、 MongoLab を使え! - @kyanny's blog
                            • エンタープライズで使える!実践から学ぶJavaScript MVCフレームワークの選び方

                              エンタープライズで使える!実践から学ぶJavaScript MVCフレームワークの選び方 酒巻瑞穂(html5jエンタープライズ部) 現在エンタープライズシステムの開発現場では、シングルページアプリケーション(SPA: 単一のWebページで構成されているWebアプリケーションのこと)アーキテクチャの採用が模索されるなど、根本的な開発パラダイムにおいて大きな変化が起きようとしています(全体的にどのような変化があるかはエキスパートNo59の佐川夫美雄さんの書かれた「JavaからHTML5ヘ。業務システムの開発におけるWeb技術の変化と適応事例」によくまとまっています)。 こうした変化の一部を支えているのが、JavaScriptによるMVCフレームワークです。数あるフレームワークの中で、実際にどのフレームワークを採用するかというのは、開発コストだけではなく学習・運用コストにも関わる、非常に大きな

                                エンタープライズで使える!実践から学ぶJavaScript MVCフレームワークの選び方
                              • 非エンジニアに無念コードがなぜダメなのかを説明するメタファー - Yamashiro0217の日記

                                非エンジニアに無念コードがなぜダメなのかを説明するメタファーを考えてみた。 目的は、無念コード・設計・環境・フローがあると、 いかに生産性が落ち、ビジネスがうまくいかないか、 プログラマーの心が病むかを、 なるべくエンジニアリングの用語を使わないで説明すること。 他にいいメタファーあったら、ブクマやらコメントやら、ブログ別書くなどして、 世界を幸せにしてもらいたい。 メタファー エンジニアリングとは部屋の掃除と一緒である ストーリー導入 あなたは、ある日、引越しを決意しシェアハウスに引越しました。 引越した先のシェアハウスのリビングは、 それはもう汚い。 散らかり放題、生ゴミ、壁の汚れ。 さぁ。どうしましょう。 さらに引っ越すという手段もありますが、 あなたは、リビングの掃除を試みるのでした。 ストーリー2 片付けをしていたある日、あなたは、 「リビングの中に、俺の鍵(機能や、コードなど)

                                  非エンジニアに無念コードがなぜダメなのかを説明するメタファー - Yamashiro0217の日記
                                • Docker を用いた rpm / deb パッケージ作成の継続的インテグレーション - ゆううきブログ

                                  サーバ管理ツールのエージェント みたいなソフトウェアをインストールしやすくするために、rpm / deb パッケージを作りたい。 しかし、rpm / deb パッケージ化するためには、それぞれ CentOS(RedHat)、Debian(Ubuntu) 環境でパッケージ化することになる。 社内ではこれまでパッケージ化の専用ホストがいて、そこで spec ファイルや init スクリプトを置いて rpmbuild コマンドとか debuild コマンドを叩いてパッケージを作成していた。 さらに、アプリケーションエンジニアからインフラエンジニアに依頼するという形をとっていた。 この方法の問題点として、以下の3つがある。 spec ファイルや init スクリプトなどをプロジェクトの Git リポジトリで管理しづらい。つまり、レビューとかがやりにくい。 リリースフローを自動化しづらい。具体的には

                                    Docker を用いた rpm / deb パッケージ作成の継続的インテグレーション - ゆううきブログ
                                  • 2022年に読んで「良い」と思ったソフトウェアテスト関連本 - テストウフ

                                    この記事はソフトウェアテストのカレンダー | Advent Calendar 2022 - Qiitaの23日目です。 毎年のことながら「何を書こう・・・」と悩んでいてTwitterに助けを求めたところ、@teyamaguさんからネタをいただきました(ありがとうございます) 案1:今年読んだ中で最も役に立ったor読んで良かった本 案2:今年で見た中で最もイケていた自動テストシステム とかどうでしょうか? — teyamagu (@teyamagu) December 6, 2022 最も役に立った、だとなかなか決めかねる部分があり、「読んでよかった本」をつらつらと書いていこうかと思います。 私が2022年に読んだというだけで、今年発売された本には限らない点ご注意ください。また、熟読した本ばかりではなく、ポイント読みやざっと流し読みした本も含めます。(意志薄弱 The BDD Books -

                                      2022年に読んで「良い」と思ったソフトウェアテスト関連本 - テストウフ
                                    • 毎週のように依存パッケージを上げ続ける努力 - CARTA TECH BLOG

                                      皆さんこんにちは。fluctにてfluct SSPという広告配信システムの管理画面を中心にクライアントサイドの開発を行っております、大関です。 依存パッケージの更新、どうしてますか? 今や数多くの言語でパッケージマネージャが提供されており、みなさんも日常的にコミュニティによるパッケージエコシステムを活用していることと思います。 ですが、この依存パッケージの更新については、どのようにしていますか? セキュリティfixなどを除き、以下のようなことになっていることが多いのではないでしょうか? チームの「いい人」が頑張って更新し続ける その人の謎の情熱が消えると更新されなくなってしまう たまに気がついたら頑張る 「いい人」が頑張るタイプの亜種 気が付かなかったら更新されない 更新はリスクなので塩漬けにする プロダクトは定期的に作り直す前提 CIでテストを回し続けているのに更新しないなんて……とモヤ

                                        毎週のように依存パッケージを上げ続ける努力 - CARTA TECH BLOG
                                      • PythonでJavaScriptを使ったWebサイトをスクレイピングする - Qiita

                                        概要 JavaScriptでDOMを作ってるサイトをPythonを使ってスクレイピングしたので、手順をメモ。 大雑把には、ScrapyとSeleniumを組み合わせてやった。 Scrapy Scrapyは、クローラーを実装するためのフレームワーク。 クローラーをSpiderのサブクラス、スクレイピングした情報をItemのサブクラス、スクレイピングした情報に対する処理をPipelineのサブクラス、という風にフレームワークが決めたインターフェースを満たすクラスとしてクローラーを実装する。 scrapyというコマンドが提供されてて、このコマンドを使って、作ったクローラーの一覧を見たり、クローラーを起動したりできる。 Seleniumは、ブラウザをプログラムから制御するためのツール(でいいのかな?)。Pythonも含めたいろんな言語で使える。 よくWebサイト/アプリの自動テスト文脈でよく出てく

                                          PythonでJavaScriptを使ったWebサイトをスクレイピングする - Qiita
                                        • 変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition

                                          YAPC::Hiroshima 2024

                                            変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
                                          • 実践API設計: 柴田 芳樹 (Yoshiki Shibata)

                                            4月に発売された「WEB+DB PRESS Vol.134」で特集1「実践API設計」を執筆していますが、そこから部分的に紹介します(目次は、こちらです)。 第1章「優れたAPI仕様とは何か --- よくある問題と記述すべき事柄」の冒頭で次のように述べています。 今日、多くの企業がWeb サービスとしてさまざまなサービスを提供しています。Webサービスは、iOS、Android、ブラウザといったフロントエンドと、それらに対して機能を提供するバックエンドサービスから構成されます。バックエンドサービスが提供するさまざまな機能はAPI (Application Programming Interface)として定義され、フロントエンドから呼び出されます。フロントエンドは、バックエンドサービスが提供する機能を使ってユーザーへ提供する機能を実現します。 定義されたAPI を介することで、フロントエン

                                              実践API設計: 柴田 芳樹 (Yoshiki Shibata)
                                            • マイクロソフト、開発環境をクラウドPCとしてデスクトップ仮想化経由で利用できる「Dev Box」のパブリックプレビューを開始

                                              マイクロソフト、開発環境をクラウドPCとしてデスクトップ仮想化経由で利用できる「Dev Box」のパブリックプレビューを開始 マイクロソフトは、開発環境をクラウドPCとして丸ごと仮想環境で用意し、デスクトップ仮想化経由で利用できる「Dev Box」のパブリックプレビュー開始を発表しました。 Dev Boxは今年の5月に行われた開発者向けイベント「Microsoft Build 2022」で発表され、プライベートプレビューとなっていました。 参考:[速報]マイクロソフト、開発環境をまるごとクラウドPCとして用意できる「Dev Box」を発表。Microsoft Build 2022 最近ではアプリケーションの開発環境は、コードエディタおよび文法チェックやフォーマッタなどの拡張機能、ソースコード管理ツールとの連携、ビルドツールや自動テスト環境などをはじめとするさまざまなツールによって構成されて

                                                マイクロソフト、開発環境をクラウドPCとしてデスクトップ仮想化経由で利用できる「Dev Box」のパブリックプレビューを開始
                                              • James Lewis/Martin Fowlerの"Microservices"日本語訳 - 自由課題

                                                はじめに 本記事はMartin Fowler氏のBlog記事を日本語訳したものです。 なお、訳は2014/11/09時点のもので、オリジナル記事中のコラムは訳せていません。コラムの訳に関しては、暇や反応を見ながらぼちぼちやろうと思います。 訳に対する指摘・ご意見などありましたらtwitter(@kimito_k)でお願いします。 補足 Martin Fowler氏に連絡をとったところ、主著者はJames Lewisであるとのことでしたのでタイトルを変更しました。(2014/11/13) Microservices "マイクロサービスアーキテクチャ"という専門用語は、ソフトウェアアプリケーションを独立して配置可能なサービスの組み合わせ(suite)として設計する特定の方法を指すものとして、ここ数年で急速に認知されています。このアーキテクチャスタイルに対する正確な定義はありませんが、ビジネス遂

                                                  James Lewis/Martin Fowlerの"Microservices"日本語訳 - 自由課題
                                                • Redirecting

                                                  Redirecting to docs/en/latest...

                                                  • マイクロサービス(microservices)とは何か – recompile.net

                                                    マイクロサービス(microservices)という言葉をご存知でしょうか? 今、エンタープライズ界隈のソフトウェアエンジニアの間でマイクロサービスという言葉がにわかに盛り上がりつつあります。 マイクロサービスはJames Lewis氏によって提案された言葉です。詳細については、彼がMartin Fowler氏と共著で書いた「Microservices」という記事を参照してほしいのですが、ようするにひとつのアプリケーションを、Railsのような一枚岩のアーキテクチャではなく、複数の軽量なサービスを連携させたアーキテクチャでつくろうというアプローチです。 上述の記事 では、マイクロサービスの特徴が九つほど上げられています。 サービスによるコンポーネント化:ライブラリではなく別プロセスで動作するサービスによってアプリケーションのコンポーネント化を実現している。 ビジネスケイパビリティに基づく組

                                                      マイクロサービス(microservices)とは何か – recompile.net
                                                    • 開発をうまく回したいなと思って僕が意識している40くらいのこと - Mitsuyuki.Shiiba

                                                      自分がこの1年間開発チームを引っ張ってきた中でこういうところに気をつけてたよってこと。 ザーッと勢いで書いてみる。分類はある程度なもんです。組織パターンやFearlessChangeは好きです。 心構え 1 現状を受け入れる 環境に文句を言ってても、何も変わんないし。自分は本当はもっとできるはずなんだ、って言ってても、実際アウトプットはでてないんやろ。なるほど、今はこうなんだってことを受け止めて、じゃあそこからどう改善していけるだろう?と考えたい。 2 遷移状態を受け入れる 現状から、理想的な状態にぴょんって飛び移れるわけじゃないんだから、その途中って泥臭かったりごちゃごちゃしてたりするんだけど、それを受け入れる。練習せずにいきなりスポーツがうまくなるわけないのと同じで。 3 正しいことが選ばれるわけじゃない 政治や感情や時期や思惑や抵抗や。そういうのがあるので「正しいこと」が常に選ばれる

                                                        開発をうまく回したいなと思って僕が意識している40くらいのこと - Mitsuyuki.Shiiba
                                                      • 2023年に読んで良かった技術書など10冊 - Sweet Escape

                                                        昨年までは毎月買った本やマンガとそれらに対する一言コメントをブログで書いていたんだけど今年はそれをやらずに来てしまったので今年かった本で良かったものをいくつかピックアップして紹介する。 実際にはもっと数多く買ってるし、買っただけで読んでいないものも多い。2023年に買った本はマンガも合わせて合計で366冊、そのうちマンガ以外は151冊だった。 なお、対象は自分で買った書籍だけ。つまり献本とかでいただいたものはこの対象に加えていません。 ちなみにいずれの本もすべて電子書籍で購入している。全体ではAmazonのKindleを中心に一部オライリーのeBookなんだけど、選んだものはすべてKindleで買ったものだった。 というわけで紹介していく。 AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイクロサービスで何ができるのか フロントエンド開発のためのセキュリティ入門 知

                                                          2023年に読んで良かった技術書など10冊 - Sweet Escape
                                                        • JavaScriptでソフトウェアの正しさを数学的厳密に証明してみた - yukobaのブログ

                                                          現在、Shibuya.js が開催中です!Ustream で http://www.ustream.tv/channel/shibuyajs にて放送されています。これから、このブログの内容をしゃべります! 今回「テスト」がテーマなうえ、Shibuya.js は「役に立つ話担当」「ネタ担当」に分かれていて、僕は「ネタ担当」なんですが(笑)、いつも通りネタです。でも、遠い未来の役立つネタです! きっかけは、id:t-wada さんに、GUIの自動テスト関係の質問をしたら、凄くいいことを教えてもらいました。 全てのテストはサンプリングテストである (少し表現違ったらごめんなさい)話の流れで、部屋を移動しなくていけなくて、たしか、それしか話ができなかったのですが、要するに、サンプリングテストである以上、全ての入力パターンをテストすることは不可能であり、できることは、限られたコストの中で、効率よく

                                                            JavaScriptでソフトウェアの正しさを数学的厳密に証明してみた - yukobaのブログ
                                                          • ITエンジニアの働き方を尊重し、技術的な成長を促進する開発組織に求められるものとは? ──ユーザベースの取り組みに見る - はてなニュース

                                                            ITエンジニアが働く環境を選ぶ際に「技術的な成長が期待できるかどうか?」はとても重要な指標です。技術的な裁量が大きいことや学習機会が用意されていることだけでなく、チーム編成や評価といった仕組みの部分にまでエンジニアを尊重した文化が浸透していれば、その企業は極めて働きやすいと言えるでしょう。 エンジニアが尊重される文化を醸成する仕組み作りの事例として、ペアプログラミングによる知見の共有を推し進め、プロダクトに導入する技術選択にもかなりの自由を持たせているユーザベースに、エンジニアを支える開発組織と企業文化について聞きました。 今回は、スペシャリストとしてFellowの肩書きを持つ矢野勉さん(上記画像左下)と、入社2年目の廣岡佑哉さん(左上)にそれぞれの働き方を語ってもらい、CTOの林尚之さん(右上)には組織としての考え方をうかがいました(※取材はWeb会議ツールでリモート実施しました)。 ※

                                                              ITエンジニアの働き方を尊重し、技術的な成長を促進する開発組織に求められるものとは? ──ユーザベースの取り組みに見る - はてなニュース
                                                            • Sprint Planning をやめた話 - スタディサプリ Product Team Blog

                                                              小中新規開発グループ (a.k.a. tara チーム) の qsona です。 tara チームでは、スタディサプリ中学講座というプロダクトを開発しており、約1年前 (2022-02) に本リリースして以来、継続してプロダクト開発を続けています。 tara チームのプロダクト開発は、基本的にスクラムの手法にのっとる形で行っています。ビジネス的な境界により分けられた3つのスクラムチームが存在します。 スクラムの運用については、それぞれの現場において悩みごとが起きがちだと思いますが、tara チームでもご多分に漏れず、うまくいっていること・いっていないことが存在します。今回は、その3つのうちの1つのチームである「学習コアチーム」において存在した、Sprint Planning に関する (あるいはそこから掘り出された) 課題と、それに対してどう対処したかについて書きたいと思います。 なお、本

                                                                Sprint Planning をやめた話 - スタディサプリ Product Team Blog
                                                              • SIerが技術力を求めているという誤解 - SCHWARZGEIST

                                                                SI屋とかゲーム業界について考えてみた。 実はSI産業のクラウド化と、ゲーム業界のソーシャルゲーム化は システムがネットの向こう側から提供されるという共通点以上に、共通点があると考えるからだ。 そしてその動きは、任天堂の「連結決算を開示して以来始めての赤字」や、 「DeNAによるベイスターズ買収」に見られるように、急激な業界構造の変容を生み出している。 キーワードは技術力VSマネジメントだ。 まずはSI業界の話から始めよう。 案件プライムを取ってこれるような大手システムインテグレータでの システムエンジニアの最終的なキャリアパスは、PMである。 システムインテグレータは若手を、PMにいたるまでのキャリアパスへと 導くための初歩的なプログラミング経験や、運用技術の実務経験を積ませていく。 その成長過程で重視され、身につけることを求められているのは、技術力よりもマネジメント能力と業務知識だ。

                                                                  SIerが技術力を求めているという誤解 - SCHWARZGEIST
                                                                • Terraform面接質問集を作ってみた - Qiita

                                                                  はじめに 面接時に役に立つ、Terraformにおける実践的な基礎知識やベストプラクティスを学べる問題集を作ってみました。 面接形式なので、サンプルコードの記述が少なく、わかりにくい部分もあるかと思いますが、Terraformの基本的な概念の整理にお役立ていただけます。ぜひ面接の準備や知識の確認にご活用ください。 注意事項 本問題集はTerraformのv1.5.xを基準に作成されています。 本問題集は、Terraformにおける実践的な基礎知識やベストプラクティスなどを学ぶための問題集であり、全ての問題が実際の企業採用面接時に出題されるとは限りません。また筆者の現在所属する組織の採用活動とは一切関係ありません。 本問題集では、Terraformの全ての基礎知識やベストプラクティスが網羅されているわけではありません。また特定のprovider(AWS等)に特化したものでもありません。特定の

                                                                    Terraform面接質問集を作ってみた - Qiita
                                                                  • プログラミング、三大胡散臭い開発手法

                                                                    ・自動テスト ・ペアプログラミング あとは何だろ アジャイルは胡散臭いんだけど、メリットデメリットが理解しやすい方だと思う 追記:語弊があるな、自動テストは重要だ。TDD、XP界隈と言ったほうがいいか 追記:胡散臭いのと、不要ってのはちょい違う。必要でも胡散臭さは放てる。過大評価が近い。あと、複数人でやる方法論で胡散臭さが出がち。

                                                                      プログラミング、三大胡散臭い開発手法
                                                                    • タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog

                                                                      この記事はTimee Advent Calendar 2023シリーズ 1の1日目の記事です。 はじめに こんにちは、タイミーでバックエンドエンジニアをしている須貝(@sugaishun)です。昨年は弊社でアドベントカレンダーに取り組んだか覚えていないのですが、今年はなぜかいきなり3トラックで臨むということで、非常に勢いがあるなと思いました。量と勢いで攻めていくところが弊社らしいなと感じています。全て完走できると良いですね。 さて私はその中のひとつのトップバッターということで、タイミーのRailsアプリケーションについて弊社のシニアなエンジニアたちと雑談した内容を座談会風にお伝えできればと思います。事の発端は弊社Slackのバックエンドエンジニアが集まるチャンネルで「タイミーのRailsアプリケーションの健康度はどのくらいなのか?」という会話をしたことでした。その時の私の感想は「人によって

                                                                        タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog
                                                                      • オープンソースのメーラー「Thunderbird」の開発チームが「バグを減らす開発手法」を解説

                                                                        メールソフト「Thunderbird」では、ソフトウェアの品質向上のために開発チーム内で日常的に自動テストが実行されています。その理由や手法についてThunderbirdの開発チームが解説しています。 Automated Testing: How We Catch Thunderbird Bugs Before You Do https://blog.thunderbird.net/2024/04/automated-testing-how-we-catch-thunderbird-bugs-before-you-do/ ◆自動テストの目的とメリット Thunderbird開発プロジェクトではコードの変更によるバグの発生を最小限に抑えるために「自動テスト」が重視されています。開発チームによると、、Thunderbirdのコードや機能に変更が加えられるたびに、Windows、macOS、Li

                                                                          オープンソースのメーラー「Thunderbird」の開発チームが「バグを減らす開発手法」を解説
                                                                        • 開発スピードをあげるには - パルカワ2

                                                                          「開発スピードをあげろ!」と言われる事は多々ある。 実際にチームの開発スピードが遅かったとしたら、それは開発チームがなにかしらの問題を抱えている事になる。それに対して、偉い人達は「とりあえず開発者を増やせばスピードがあがるはず!」と人を追加する。しかし、根本的な問題は解決していないので、大きくスピードは上がらない、もしくは逆に遅くなってしまう事がある。 開発にかかる時間をざっくり分解すると「仕様決め」「コードを書く」「検証」の3つに分ける事が出来る。つまり「仕様決め」「検証」を効率良く進めて「コードを書く」時間を増やす。また「コードを書く」事自体を効率良く進める事が、開発スピードを上げる事だと考えられる。なので、3つのフェーズの問題点とそれらの解決方法を考える必要がある。 例えば、「仕様決め」の問題点は 仕様が決まらず、MTGの時間が長い 仕様を決める人がいない 誰かに確認する事が多い 開

                                                                            開発スピードをあげるには - パルカワ2
                                                                          • matarillo.com: UIパターン

                                                                            UIパターン 追記 この記事の一部を加筆・修正したものを「開発者が知っておくべき、6つのUIアーキテクチャ・パターン」として@ITに転載しています。 MVVMを追加した上で、アプリケーションモデルとMVVMをプレゼンテーションモデルのバリエーションとして位置づけました。 MVPの2つのスタイルとして、監視コントローラとパッシブ・ビューを説明しました。 まえがき Martin Fowlerの"GUI Architectures"を訳したので公開しようと思ったのだが、FAQページに「EAA developmentとかDSLなんかは商業出版するんで例外ってことで」と書いてある。面倒だったので翻訳の公開はやめて、「自分の理解を書く」というスタイルにしようと思う。 Fowler氏が説明しているのは 「フォームとコントロール」、「モデルビューコントローラー (MVC)」、「プレゼンテーションモデル」、

                                                                            • PICTでテストケースの組み合わせ爆発にさよならを - エンジニアをリングする

                                                                              Goodpatch Advent Calendar 2016 13日目の記事です! わたしはGoodpatchでProttというプロトタイピングツールのWebフロントエンドの開発を担当しています。 Prottでは、プロトタイプの再生に関する修正をしたあとは必ず全動作を網羅したテスト用プロジェクトでの動作確認を行っています。 ただ、すべての環境や条件を揃えた上でのテストにはなかなかの工数がかかってしまっていました。 この記事では、オールペア法という手法とPICTというCLIツールを使用してテスト工数を半分以下に削減した方法を紹介します。 単純に全組み合わせ 推奨環境としているOSやブラウザと3種類の再生モードを組み合わせると、テストすべき組み合わせは全部で20パターンになります。 (プレビューモードとプレゼンテーションモードは対PC、スタンドアロンモードは対モバイルのモードです。) - Ma

                                                                                PICTでテストケースの組み合わせ爆発にさよならを - エンジニアをリングする
                                                                              • マネジメントとしての意思決定振り返り - Konifar's WIP

                                                                                Engineering Manager Advent Calendar 2023 15日目の記事です。 KyashでEngineering Managerとして1年半、VP of Enginneringとして2年やってきました。 体系的な話は HIGH OUTPUT MANAGEMENT や エンジニアリング組織論への招待、エンジニアリングマネージャーのしごと といった素晴らしい書籍にまとまっているので、自分はケーススタディとしてVPoEになってからの具体的な意思決定の記録を残しておきます。EMの時の話は過去にまとめています。 KyashでEngineering Managerとしてやってきたこと / やっていくこと - Konifar's WIP Engineering Managerをやめた - Konifar's WIP 先に書いておくと、綺麗にうまくいった / いっているという話は

                                                                                  マネジメントとしての意思決定振り返り - Konifar's WIP
                                                                                • Playwrightのベストプラクティスを翻訳してみた

                                                                                  Playwrightの公式ドキュメントに「Best Practices」というページがあったので翻訳してみました。 原文: Best Practices | Playwright イントロダクション このガイドは、私たちが提供するベストプラクティスに習い、より弾力性のあるテストを書くために役立つはずです。 テスト哲学​ ユーザから見えるふるまいをテストする 自動テストは、アプリケーションのコードがエンドユーザのために動作することを検証するものです。関数の名前、何かが配列であるかどうか、ある要素の CSS クラスのような、ユーザが通常使用しない、目にしない、あるいは知ることさえないような実装の詳細に依存することを避けるべきです。エンドユーザーはページ上でレンダリングされたものを見たり操作したりします。したがって、自動テストでは通常、レンダリングされた出力のみを表示/操作する必要があります。

                                                                                    Playwrightのベストプラクティスを翻訳してみた