組織としてテスト自動化に取り組むべき理由と、手段としてのテスト駆動開発を紹介する講演資料です。以下のような内容です。 ねらい: ・主に顧客向けの業務システム(B2B)を開発している、 ・プロジェクトベース、ウォーターフォールプロセスが主流の開発現場や運用保守の現場にいる、 ・マネージャーのか…
さっきTwitterでとある学習塾の記事をみた。前にバイトをしたいた塾だった。記事を開くと生徒の集め方や合格者数の出し方に対する苦情を同業他社が出していて、内部告発もあるぞとかいう内容だった。 ふーん。 守秘義務とかなんとかあるけど内部告発ならええんか。 ………… …………してやるか。 でもやっぱり後で怒られるのは怖いから校舎名だけでなく予備校の名前も念の為伏せさせてもらう。 気になった人は適当にggれば出てくるかもしれない。 ということで以下その塾をXと呼ぶ。 それからバイトをやめた時期は明言しないがざっくり言うとコロナ前。 若干今と違うことがあるかもしれないが、当時はそうだった。 生徒の集め方学習塾の収入源は生徒からの授業料である。よって生徒がいないと商売にならない。 校門前に出張して資料配布などは可愛い方である。やってる職員はしんどいかもしれないが生徒にとってほぼ害はない。 しかしX
関西の大企業の社員の男が大学生から依頼を受け、企業の採用で実施されたインターネット上での「適性診断テスト」を替え玉受検したとして警視庁に逮捕されました。 こうした“替え玉受検業者”が摘発されるのは全国初です。 捜査関係者によりますと私電磁的記録不正作出・同供用の疑いで逮捕されたのは、京都大学の大学院を卒業し、関西地方の大企業に勤める大阪市の田中信人容疑者(28)です。 田中容疑者は今年4月、就職活動中の20代の女子大学生から依頼を受け、企業が採用時に実施している「適性診断テスト」のIDとパスワードを受け取り、インターネットから不正にログインし、替え玉受検をした疑いがもたれています。 取り調べに対し、田中容疑者は容疑を認めているということです。 警視庁は女子大学生も22日に書類送検する方針で、事情聴取に対し「自分の力では受からなかったので依頼した」と話しているということです。 「適性診断テス
「すべてのライフサイクルモデルの祖は、ウォーターフォールモデルである」とは、スティーブ・マコネルの言葉だ1。また、ソフトウェア開発ライフサイクル(SDLC)に関するGitHubの文書では、広く採用された最初のSDLCがウォーターフォールモデルであるとされている2。 そこに、ウォーターフォールを学ぶことに対する価値がある。それは、スクラムを導入し、アジャイルソフトウェア開発を実践する組織にも言えることだろう。いや、そうであるからこそだ。どんなソフトウェア開発プロセスモデルであろうと、ウォーターフォールから派生したり、何らかの影響を受けていると考えられる。したがって、ウォーターフォールへの理解から、自分達がやっていることの本質を見いだせるのではないだろうか。 ウォーターフォールなんて誰でも知っていると思うかもしれないが、そうとも限らない。確かにウォーターフォール未経験のソフトウェア開発者は少な
こんにちは。デザイナーの白木です。 前回はクラシコムのUXリサーチについてお話しましたが、今回は「北欧、暮らしの道具店」のメルマガをABテストの手法を使って改善した話をしたいと思います。 「北欧、暮らしの道具店」通常のメルマガは商品紹介がメインですが、それとは別に当店のアプリを紹介するメルマガも配信しています。 これまではメルマガ登録者全員に配信していたのですが、その中にはアプリをすでにご利用いただいている方も多くいらっしゃるため、アプリのダウンロードには繋がりにくいという課題がありました。 そこでアプリ紹介メルマガを配信する対象をメルマガの新規登録者に絞ることにしました。新規登録者は当店を知って間もない方が多いと思われるため、アプリについて知ってもらえる良い機会になると考えたからです。 内容も見直し、いくつかのパターンを配信して効果を検証してみました。 ※本来同じ期間に複数のパターンをテ
普段何気なく目にしているウェブサイトも、裏ではさまざまなフレームワークを活用しています。「Web Framework Benchmarks」はそうしたフレームワークたちがアクセスをさばくときの処理速度を計測してベンチマークにまとめたもので、2013年に公開されて以降、年々アップデートが積み重ねられて多種多様なフレームワークの実力を一目で確認できるようになっています。 TechEmpower Framework Benchmarks https://www.techempower.com/benchmarks/ 上記のURLへアクセスすると、2020年5月28日にアップデートされた「Round 19」の内容が表示されます。 こんな感じでテスト結果がランキング形式で表示されます。さまざまなテスト結果が掲載されていますが、最初に表示される「Fortunes」はデータベースを読み取ってHTMLを生
はじめに 山手線を徒歩で一周する人のための記録アプリ「YamaNotes」をリリースしました。 この記事では「YamaNotes」の使い方や、開発過程で苦労したことなどをまとめます。 6/14追記:東京の気温が高くなることが予想されています。熱中症予防のため、涼しくなってからの挑戦をおすすめします。 サービスURL www.yamanotes.com リポジトリ github.com はじめに 自己紹介 アプリの概要 山手線徒歩一周チャレンジとは? 使い方 ログインする 初期設定をする 進捗を確認する 到着する 履歴を確認する 開発に至る経緯 技術スタック 技術選定の理由 短期間で必要な機能を作るため、Rails7とHotwireで実装 コストを抑えて作るため、APIやデプロイ先を調査 地図の表示と描画にLeaflet + OpenStreetMapを使用 Render.com + Sup
聖マリアンナ医科大がホームページで公表した9月28日付の見解。「『一律の差別的取扱い』の事実はなかったものと判断しております」としている=牧野宏美撮影 女性であることを理由に入試で差別的扱いをされ精神的苦痛を受けたとして、聖マリアンナ医科大(川崎市)を受験した女性4人が14日、同大に慰謝料などを求めて東京地裁に提訴する。文部科学省は計10大学に対して男女差別などがあったと指摘しているが、同大のみが認めておらず、さらに客観的証拠を基に不正を認定した第三者委員会の調査結果が出た後も追加合格などの措置をとっていない。同様の訴訟は東京医科大や順天堂大に対しても提起されているが、被害弁護団は今回、聖マリ医大の姿勢が悪質として、慰謝料の請求額を増やす方針だ。医学部を目指し、約6年間浪人を続けている原告の一人が毎日新聞の取材に応じ、「差別があった事実を認めてほしい」と憤りを語った。【牧野宏美/統合デジタ
はじめに コードエディタ界の王様VisualStudioCode。開発の際に使っている方も多いのではないでしょうか。 本記事では、VSCode(VisualStudioCode)の定番機能を紹介していきます。 この記事を読んで、VSCodeマスターになりましょう! そもそもVSCodeって? VSCode(VisualStudioCode)はMicrosoft社が提供する無償のコードエディタです。2015年リリースですが、着々とユーザーを増やしており、2023年現在、世界で最もポピュラーなコードエディタの1つとなっています。 コードエディタって? 字や記号などのテキストで構成されているファイルを編集するソフトのことをテキストエディタと呼びます。 その中でも、ソースコードの編集を主な目的としたものがコードエディタと呼ばれます。 VSCodeが選ばれる理由 コードエディタはたくさんリリースされ
『テスト駆動開発』や『SQLアンチパターン』をはじめとする技術書の翻訳者、さまざまなIT企業をわたり歩く技術顧問、さらに最近ではエンジニアリング文化を伝える講演者としても活躍されている和田卓人さん(https://twitter.com/t_wada)。 そのソフトウェアエンジニアとしての素顔を株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出す対談の前編では、一線を画すエンジニアであり続けるために自らのプロジェクトで意識的にコードを書いているという和田さんの姿勢に始まり、ベテランとして「技術のらせん」を読み解くケーススタディとしてDDD(Domain-Driven Design)を題材に話を伺います。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務め
6 月 30 日付けで退職、昨日 28 日が最終出社日でした。 2018 年 2 月から、約 1 年半お世話になりました。 マーソ株式会社 is 何 ( 2019 年 6 月末時点の情報です ) www.mrso.jp MRSO という Web サービスを運営している会社です。 MRSO は、人間ドックや検診を全国の医療施設から検索・予約できるポータルサイトです。 登録されている医療施設数は、国内の類似サービスの中ではトップクラスの規模です。 他にもこんな事業をやっています。 MRSO で利用できるギフト券、マーソギフト券の販売 健康をプレゼントするとう考え方 ご両親に人間ドックを受けてほしい! というユースケースが多いようです 企業向けの健診結果管理システムの開発・運用 ( toB ) 何をしていたのか MRSO の開発・運営に必要なほとんどの領域を担当していました。 具体的には、 新機
AWSの主要サービスをローカルでエミュレートする「LocalStack 2.0」リリース。機能の同等性と性能などさらに向上 AWSの主要なサービスのAPIをローカルマシン上でエミュレートする機能を提供する「LocalStack」のバージョン2.0が正式リリースとなりました。 LocalStack 2.0 is here! Our next-gen cloud emulation platform comes with significant improvements in parity, performance, and efficiency for a better development and testing experience for your cloud applications. Read more here: https://t.co/7rU0pKVxW6 #LocalSt
(社内用ドキュメントの公開版) テストのポリシー 前提として、ユニットテストを導入するコストを、限界まで低くすることを目指す。テストが根付いていない言語環境や文化では、放っておくとテストが書かれないまま実装が進行し、結果としてテスト不可能な巨大な雪だるまが完成する。こうなるとメンテコストが高いE2Eを大量に書かないといけなくなり、テストの実行時間が膨れ上がっていく。 そうなる前に、ユニットテストを書きやすい環境を維持し、ユニットテストとして問題を切り分けられるような環境を維持する。とにかく書きやすさを重視し、一つのユニットテストを書くオーバーヘッドを限界まで下げる。 最初の一つを早い段階で書く 自分の経験的には、ユニットとテストの最初の一つを書いたらあとは自然とその周辺で増えていく。サンプルがあったら人はコピペする。逆にいうと最初の一つを書かない限り一切書かれない。まず一つ用意するのが大事
僕自身は龍が如くシリーズは、クロヒョウ2、極1、極2、0、3、4、5、6、0とやって、7はRPGだし主人公違うしなぁと思って、買うだけ買って後でやろうと積んでいたところ、CEDECのすごいテストの話を聞いて、(オリジナル版を積んでいたのに)インターナショナル版を買って始めてしまうぐらいインパクトがあり(そして積んでたのを後悔したぐらいよかった)ました。それ以降、維新極、7外伝、8は発売日に買ってプレイしてます。 こちらにその講演の詳細なレポートがこちらにあります。 https://www.famitsu.com/news/202009/11205564.html その8の発売前に龍が如くスタジオの技術責任者の方がXのアカウントを開設して、C++のコードを投稿されていたのですが、それに対してエンプラ開発目線で意見しているようなツイートを見かけて、「いや、システムの特性全然違うから」と思い筆を
僕はチーム join 時に、Docker は初手で剥がすし、GitHub Actions でやっているワークフローの全体像を把握するのを次に行う、というのを基本的にはやっている。これはシステム構成やデプロイ周りの全貌を把握するのが好きなのと、何かが起きたときにコレをやっているのといないのとで問題切り分けの精度に圧倒的な差があるからなんだけど、join 直後にやるのが最適解とは限らない場面もある。 チームの人員構成として、テックリード業を既に担っている人が居る場合、追加人員にはテックリード未満の「プラスの工数として数えられる戦力」となって欲しい。この戦力というのは、「目の前に積み上がった問題を一緒に解いて欲しい」という期待。問題と言うよりも、既にタスクになっているものを消化したい、という期待の方が大きいと思う。 そういう期待があるときには、ちんたら Docker を剥がしている場合ではなく、
Webフルスタックエンジニアになるためのチェックリスト Zennでの投稿にあたって この記事は、2020/03/22に自分のgithubリポジトリで公開していた内容を、Zennのgithubリポジトリ連携機能を用いて一般公開したものです。 投稿にあたって、Zennの記事連携フォーマットに準拠する以外の修正は加えておりませんので、一部Zennというプラットフォームの方針や雰囲気に合わない内容などあるかもしれません。あらかじめご了承ください。 はじめに 日本のWeb開発業界で「フルスタックエンジニア」になるために必要な知識を、個人的経験からまとめました。 フルスタックエンジニアの定義ですが、ここでは、 企業で開発リーダー/テックリードとして、Webブラウザアプリケーションを前提としたサービスの立ち上げからリリース、運用まで面倒を見られる。 というロールと仮定し、前提条件としては、どちらかという
目的 アプリケーションが通信に失敗した際のテストを行いたい 例. 「通信に失敗した場合に再取得ボタンが表示されること」など 方法1. Chrome DevTools を使う https://developer.chrome.com/docs/devtools/network/reference?hl=ja#throttling 任意の設定を追加して使用することができる メリット PCとモバイルデバイスの両方で使用可能 新規にアプリケーションをインストールする必要が無い デメリット パケロス率などを設定できない Android, iOS のネイティブアプリでは使用できない 方法2. Network Link Conditioner を使用する Network Link Conditioner は Apple が提供しているネットワークユーティリティツール 使用手順等は以下のサイトが分かりやす
Project Heliusは成人向けのデッキ構築型ローグライク『Operation Lovecraft: Fallen Doll』のSteamページを公開、ベータテストの近日開始をアナウンスしました。 同作は、クトゥルフ神話の要素を設定に取り入れた成人向けのデッキ構築型ローグライクゲーム。手軽にキャラクター同士のリアルタイム3Dシーンを楽しめる作りとなっており、長年に渡ってオフライン仕様のリアルタイム3Dシーンを中心に開発が進んでいました。 今回のベータテストではオンラインモード「ハーレムモード」が実装。「ハーレムモード」では最大10人でオンラインでマップを自由に動きながらあんなことやそんなことが楽しめる作り。後日実装が行われるデッキ構築型ローグライク部分でもこの「ハーレムモード」のあんなことやそんなことで手に入れたデータでカードを入手し、デッキを構築していく模様です。 「クトゥルフ神話
導入 どうやら新卒2年目社員のAさんが上司のZさんにプロジェクトにおいてテストコード導入を打診してるようです。少し内容を見てみましょうか。 Aさん(新卒2年目社員)「最近テスト自動化やテストコード、TDDなどの単語をよく聞きます。うちはテストコード書いてないですし、実装後の簡単な動作確認、最終の結合テストしかしていません。開発体験と品質を上げるために、テストコードを導入したいです。」 Zさん(上司)「そうは言うがね、君。今のうちの状況を見てごらんよ。みんな複数のプロジェクトに関わっていて、常に多忙。残業時間もぎりぎりで何とかプロジェクトが回っている状態だよ。そんなみんなにさらに作業を増やすようなことを提案するというのかね?しかも、テストコードはお客様からしたら作っても作らなくても関係ない、いわば直接利益に関係ないような作業じゃないか。もちろん、世の中で認知されているということは知ってるよ?
こんにちは! 開発部 テクニカルコミュニケーションチーム(以下、TCチーム)の原嶋です。 さてさて。 みなさん、ドキュメントの文章校正(以下、校正)ってどんな風にやっていますか? 目視チェックでバッチリだぜ!という方も もちろんいると思うのですが、チェックポイントが多いと指摘が漏れてしまいがちですよね。そして、会社の公式文書となれば、チェックポイントはあれもこれもと山のようになります。 TCチームでも長年 校正に頭をかかえていましたが、textlint と+αのツール を使って、校正の悩みを解決しました。 今回はその経緯をお話させてください。 校正って確認する項目がたくさん TCチームでは、サイボウズ製品のユーザーサポートコンテンツ(ヘルプやリリースノートなど)を作成しているのですが、 それらのコンテンツは会社の公式文書なので、毎回の校正でチェックする項目が多々あるんです。 校正おわったー
エンジニアの未来と生成AIについて質問させて頂きたいです。情報系の学部に所属している者なのですが、自分が何時間もかけてやった課題をChatGPTに投げるとほんの数秒でサンプルコードが提示されます。自分の課題のレベルが低く、上のレベルでは自力でプログラミングをすることが必要なのは理解しているのですが、何時間もかけたものが一瞬にして解決される様にAI発展の喜びより冷酷さを感じてしまいます。エンジニアとして働きたい者としてどのようにこの事実と向き合うべきでしょうか? ソフトウェアエンジニアの仕事について誤解があるようです。 確かに書けと言われた題材を動くまで持っていく力は大切ですが、それよりもっと大切なのは動いている物を思い通りにする力です。ソフトウェアエンジニアの仕事の9割以上は既に書かれているコードに対して何らかの変更を加える事であって、どこをどう書き換えるべきかという疑問に対して生成AIが
nodejsを例に解説します。nodejsでは環境変数はprocess.env.環境変数名でとりだせます。また、開発環境・テスト環境・本番環境をそれぞれNODE_ENVという環境変数にdevelopment test productionと入れる文化があります。 アプリケーションコードに自分が今いる環境(開発|ステージング|本番)を意識させない これはつまり、コード内で環境識別変数(今回で言うところのNODE_ENV)によってif分岐を作らないという意味です。各環境にどのような設定が入るかはアプリケーションコード外にその種類分作成しましょう! bad if(開発環境){ const logger = new Logger({ level: 'debug' }); } else if (ステージング環境){ const logger = new Logger({ level: 'info }
May 9, 2022 プログラミングの学習は時間と労力のかかる学習で、途中で学習を挫折してしまう事も珍しくありません。学習が思ったように進まないと、自分はプログラミングに向いていないのではといった迷いが出ることも少なくないでしょう。 このような問題についての研究は長年続けられており、2015年にラトビア大学のJuris Borzovs氏、Lalia Niedrite氏、Darja Solodovnikova氏らが「コンピュータプログラミング適性検査による中退学生の削減」という論文を発表しました。この論文では心理テスト、高校数学の補修講座、出願前のプログラミング体験、メンタープログラムなどによるドロップアウト削減施策が講じられました。 今回はこの論文の中から特に目に付いた点を紹介します。 半数近くの学生がコンピュータサイエンスを初年度に中退 MBTI診断テストとプログラミング学習の関連 E
2018年6月1日から働き始めた株式会社メルペイを9月30日付けで退職します。4年4か月勤務したことになります。1984年4月1日に社会人として富士ゼロックスで働き始めてから、7社目の会社でした。10月1日からは、新たな会社でソフトウェアエンジニアとして働き始めます。 週4日勤務「ソラミツ株式会社を退職します」でも書きましたが、リコーを退職してからは、基本的に週4日勤務をしてきました。メルペイでも、金曜日は欠勤するか有給休暇を使うなどして、週4日勤務をしてきました(週4日勤務で働くことに関して、入社前に合意してもらっていました)。10月からの会社では、週4日勤務の雇用契約で働きます。 初めてのウェブサービス開発富士ゼロックス、富士ゼロックス情報システム、リコーの3社で合計31年7か月を過ごし、富士ゼロックスでのワークショテーション開発を除くと、その多くは、デジタル複合機のソフトウェア開発に
2021年秋ごろ、副業のような形で Next.js による新規フロントエンド開発のお手伝いをさせていただくことになりました。プライベートの空き時間でフロントエンドの学習をし、今はひとまず開発できるようになってきた気がするので、これまで学んできたことをご紹介します。 基本の TypeScript, React, Next.js だけでなく、GraphQL の周辺ツールやテストについても学習しました。 これまで 当時、Web 系の受託開発会社にて主に Ruby on Rails でバックエンドの開発をしていました。TypeScript, React は学生の頃から趣味で書いていました。 テストは、Rails での開発なら RSpec や Capybara で書いていましたが、JS ではほぼやったことがありませんでした。GraphQL は全くの未経験でした。 やったこと React チュートリア
JavaScriptで音を鳴らすことができます。ご自分の耳が何Hzまで聞こえるか試してみてください(23000Hzまで聞こえたというかたがおられたので24000Hzまでに増やしてみました)。 1000 Hz Stop 4000 Hz 8000 Hz 10000 Hz 11000 Hz 12000 Hz 13000 Hz 14000 Hz 15000 Hz 16000 Hz 17000 Hz 18000 Hz 19000 Hz 20000 Hz 21000 Hz 22000 Hz 23000 Hz 24000 Hz 仕組みはソースを見てください。ほぼChatGPT 4oに書いてもらいました。最初はボタンの数が少なかったこともあってChatGPTはボタン一つ一つに id を付けていたのですが、ボタンの数が増えると厄介なので、this を使ってくださいと指示したら、こうなりました。
こんにちは、よしこです。 株式会社ナレッジワーク というスタートアップで、2020年4月の創業時から一人目のフロントエンドエンジニアをしています。 初期に考えて組み上げたスタックで1年半ほど開発・運用してみて、なかなか快適に日々開発ができているので 新規開発のプロダクト立ち上げ時にどのようにフロントエンドを構築したのか? 立ち上げから1年以上開発・運用を続けてきた今、それらの選択はどうだったのか? を記事にして振り返り、公開したいなと思いました。 (プロダクトの内容はステルスで進めていてあまり対外的な発信ができないので、かわりに技術的なところはどんどんオープンにしていきたいなという気持ちがあります) いろいろな項目ごとに振り返りたいので、この記事は各項目を横断するindexとして項目ごとの概要を簡単に説明し、深堀りは項目ごとに追って詳細な記事を書いていく予定です! 前提 プロダクトとしての
みなさんテストは書いていますよね. 書いていなければふりだしに戻る. 例えば関数 add に対して, 以下のようなテストコードがあるとします. describe("add", () => { it("正しく計算できる", () => { expect(add(1, 2)).toBe(3); }); }); よさそうですね? もしよくないと思うのであればここから下は読まなくても大丈夫なくらい理解している方だと思います. 続いて関数名を変えただけのこちらをどうぞ. describe("sub", () => { it("正しく計算できる", () => { expect(sub(1, 2)).toBe(3); }); }); なんだか明らかに間違っている気がします. もしこのテストが通過してしまったとき我々はどうすればよいのでしょうか. 考えられるパターンは 2 つあります. 実装もテストも正
はじめに ソフトウェア開発のチームの生産性や健全性というものは、内部の体感的として理解できるものの、外部の人間からは見えにくいものです。こういった情報の非対称性は開発チーム外の人々との関係の中での問題の原因になってきました。 また、複数の開発チームやプロダクトを束ねるEM、CTOや、管理職にとってそれぞれの状況を客観的な数字やグラフで可視化することは、全体的な戦略を考える上でも重要な参考情報になります。ですが、アンケートやプロジェクト管理を増やすほど、どんどんと開発メンバーに負担をかけてしまうことになり、計測のし過ぎによる疲れなども誘発してしまいます。 本稿では、gitリポジトリのログ情報から、いくつかのグラフを生成し、チームの状況を可視化するためのツールgilotを作成したので、その目的と意図、そして使い方、注意点を解説します。 アプローチ方法 gilotのアプローチは、git logの
はじめに このツイートに結構反響があったので、雑になるがとにかく自分の考えをダンプする。もともと書いていた記事はうっかりやらかしてデータロストした、泣きたい。 話をわかりやすくするために、ALB+ECS(Fargate)を使ってWebAPIと対比して説明しているが現実はもっと複雑である。 引用リツイートをもらえた部分などについてもアンサーっぽいことも書いていく。 AWS利用費と人件費の話 AWS上にWebAPIを構築する際に、AWS利用費の削減をモチベーションとしてApiGW+Lambda構成が、採用されることがある。確かにAWS利用費は下がるがApiGW+Lambda構成を設計〜運用するためにはAWSに関する知識の中でもとくに専門的な知識が必要になる。こういった人材を雇用または外部へ発注し続けることは人件費に跳ね返ってくる。 ApiGW+LambdaがWebAPIのための構成として唯一無
はじめに ダミーデータを作成しなければならないときってありますよね? テストデータやサンプル画面を作るときに値をどうするか困ったことありませんか? そういった悩みを VS Code で解決するための拡張機能が vscode-random です。 https://marketplace.visualstudio.com/items?itemName=jrebocho.vscode-random デモ (GitHub リポジトリより引用) 拡張機能としてはカーソル位置にランダムな値を挿入するという単純なものなのですが、VS Code のマルチカーソル機能と組み合わせることで非常に強力な体験を得ることができます。 名前やメールアドレスの項目がある JSON や YAML に対し、複数の項目にまとめて値を挿入して作り上げるのは気持ちいいこと間違いなし! 対応コマンド コマンド 説明 生成例
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く