タグ

developmentに関するmas-higaのブックマーク (177)

  • Postmanを使い始めた時に知っておきたかった地味に便利な機能10選 - Qiita

    普段何気に使っているPostman。最近まで「手軽にGUIで疎通を試せて、設定を共有できてべんり〜」くらいで使っていました。 けどふと「実はもっと便利な機能があるのでは?」と思って調べてみたところ、色々出てきたのでせっかくなのでシェアしたいと思います。 たまたまですがちょうど10選! 地味に便利な機能10選 VSCode拡張 PostmanにはVSCode拡張機能があります。 インストールするだけで、VSCodeのサイドバーから利用可能です。 日語設定 日人なので日語で使いたい。 右上の歯車→Settingsから以下の通り選択することで日語化が可能です。 変数の定義 複数のAPIで同じ値を使いたい場合があるとします。例えばテスト用のユーザーIDなどです。 Postmanではそんな値をAPIファイルに逐一ハードコードする必要はなく、変数に保存することが可能です。 Postman Ec

    Postmanを使い始めた時に知っておきたかった地味に便利な機能10選 - Qiita
  • (新人)エンジニアが開発しやすいREADMEの書き方

    2023年6月28日に開催された「Findy×freee」さんのコラボイベントに登壇した「新人エンジニアが入っているプロジェクトにおけるREADMEの書き方」の登壇スライドです エンジニアが開発しやすい環境作りをする(Zenn)

    (新人)エンジニアが開発しやすいREADMEの書き方
    mas-higa
    mas-higa 2024/04/22
    こんなにしっかり書いてくれてたら嬉しいけど、これを維持するのは大変。ブランチ名 main に変えたけど表の中は master のままになってる。本当に大変。
  • 全銀システム障害「詳細設計書見落とし」でオーバーフローの痛恨、再発防止なるか

    全国銀行資金決済ネットワーク(全銀ネット)とNTTデータが「全国銀行データ通信システム(全銀システム)」のシステム障害に関して2023年12月1日に共同会見を開催した。ここではシステム開発の観点で2つの重要な事実が新たに判明した。 1つは、各金融機関から他行宛ての送金時に中継コンピューター(RC)が参照する「金融機関名テーブル」やそのテーブルの参照を高速化する3種類の「インデックステーブル」がメモリーへの展開時、所定の作業領域からオーバーフローして破損したこと。もう1つは、詳細設計書では4種類のテーブルを同時に展開できるだけの作業領域を確保することを求めていたが、プログラマーやレビュアーなどの関係者がいずれもその記述を見落とし、これが上述のオーバーフローを招いたという痛恨のミスだ。 全銀ネットとNTTデータは会見で原因の詳細とともに、開発工程における課題と再発防止策を発表した。果たしてこれ

    全銀システム障害「詳細設計書見落とし」でオーバーフローの痛恨、再発防止なるか
    mas-higa
    mas-higa 2023/12/05
    レビューで漏れてもテストで見つからんか?
  • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

    先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

    Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
    mas-higa
    mas-higa 2023/11/01
    金で解決する
  • JavaScriptビルドツールの整理 各ツールの機能と依存関係

    フロントエンドのビルドツールが色々ありすぎて、何がどうなっているのかがわかりづらいため、 各ツールができること、特徴 ツール間がどのように依存しあっているか を一気に調べて整理した。(情報は2023/10時点) 概要 ツールの依存関係整理 上層: dev server付きのバンドラ/ビルドツール。アプリ開発者が直接configなどを書いて取り扱うのはここが多いと思われる。(Next.jsに関しては、ビルド機能に着目した場合) 下層: やや基盤的なdev serverなしのツール群。 矢印は、明示的な依存関係を表す。実際には、明示的な依存関係がなくても、下層のツール群は上層のバンドラ(やRollup)に対してプラグインを提供していることが多い。 各ツールのできること整理 ツールごとに、大まかな機能区分で、できることとできないことをまとめた。 各機能区分の定義は次セクションを参照。 ツールごと

    JavaScriptビルドツールの整理 各ツールの機能と依存関係
  • 実践要件定義入門以前 - 勘と経験と読経

    最近ネットを見ていると要件定義入門的な記事が目についたので思ったことを書いてみる記事。ITシステム開発における要件定義に関するあれこれ。 【2023/10/10追記】続編の記事を書きました。実践要件定義入門 - 勘と経験と読経 目次 要件定義に関するおすすめ書籍 その要件定義は必要か 要件は決められるのか 要件定義をすることがルールで定められているから要件定義をする必要がある 要件は定義できるのか 現行の業務マニュアルをベースに要件定義をするつもりのあなたへ 現行システムをベースに要件定義をするつもりのあなたへ 外部業者を呼ぶ前に考えるべき事 どこから外注するかを考える 要件定義の作業期間を見積もる 要件定義に関するおすすめ書籍 この後に何度も引用することになると思うので、最初に要件定義のおすすめ書籍を紹介しておく。と言っても紹介するのは1つだけだ。 ユーザのための要件定義ガイド第2版 作

    実践要件定義入門以前 - 勘と経験と読経
    mas-higa
    mas-higa 2023/10/11
    掃除のコストを払うくらいならゴミも一緒に引越すってのが普通の顧客の感覚だと思う
  • スムーズに進行するためのエンジニアリングタスク分割の工夫 - $shibayu36->blog;

    会社の振り返りで「エンジニアリングの作業タスクがうまく分割できていそうだったが、その知見を共有してほしい」と言われたので、自分がどう考えてタスク分割をしているかをこの記事で共有したい。 この記事のスコープとすること・しないこと タスク分割をするときの工夫点 少なくとも1スプリント以内で終わるタスクになっている 完了条件が明確である 開始から終了まで他タスクによる待ち時間がない 他タスクが待ち状態になる時間を最小限にする 自分にとって難易度の高いものが1タスクの中で1つである 初めから完璧なタスク分割を目指さない 工夫を考慮した分割例 まとめ この記事のスコープとすること・しないこと 今回の記事では、あるユーザーストーリーが存在するとして、その設計・実装・テストなどをスムーズに進行するための工夫について書く。 逆に次のようなタスク分割については取り扱わない。 ユーザーに提供すべき価値があると

    スムーズに進行するためのエンジニアリングタスク分割の工夫 - $shibayu36->blog;
  • Ajaxから始まった一つの時代の終わり

    最近の流れを見ていての感想文なので、ideaとして投稿します。筆者のバックグラウンドとしては、Remixの商業記事を書いたり、App Routerの商業記事を書いたりしている人です。 さて、筆者は2022年の秋から、社内システムではありますがRemixをプロダクション運用しています。また、Next.jsのApp Routerについても、パラダイムとしてはRemixにインスパイアされた部分が多い[1]おかげで、順調にキャッチアップできています。 RemixとApp Routerは、ルーティングとデータフェッチを高度に統合しており、Progressively Enhanced SPA(PESPA)と呼ばれることもあるそうです。PESPAについては、次の記事が話題になりましたね。 このPESPAであるRemixを実運用する中で、フレームワークの手触りが近年触ってきたものと大きく違っている点があっ

    Ajaxから始まった一つの時代の終わり
  • DBマイグレーションツールのロールバック機能は使うな - モヒカンメモ

    データベースマイグレーションツールのロールバック機能は安全に使えないので使うべきではないと思う。 ロールバック機能 RDBMSのデータベーススキーマを管理するためのツールとして flyway や、ウェブアプリケーションフレームワーク組み込みのマイグレーションツール (例: Laravel Migration ) がある。 DBマイグレーションツールにはマイグレーションを進める (up) 機能のほかに、進めた変更をロールバックする (down) 機能がついている。 マイグレーションを進める例: CREATE TABLE customers ( id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100) ); マイグレーションをロールバックする例: DROP TABLE customers; この記事では、ロールバックする (down) 機

    DBマイグレーションツールのロールバック機能は使うな - モヒカンメモ
  • リモート開発を助ける「思いやりのある文章」の書き方 - ROUTE06 Tech Blog

    新しいプロジェクトに参加してローカル環境を作り始めると、何かとエラーに遭遇します。 また、設計や実装について開発者に相談したり、コードレビューを依頼することもありますね。 開発者が近くにいれば、(それなりに、程よいタイミングを見計らって)話しかけて、エラーの原因を調べてもらったり、設計方法をホワイトボードにスケッチしながら相談できますが、リモート開発ではそうはいきません。 リモート開発で成果を上げるためには、このブログのように何の装飾もインタラクティブ性もない文章で、自分の状況や相談したい事柄を正確に伝える必要があります。 とはいえ私は昔、「文章がわかりにくい」と毎日、毎日上司にフィードバックをもらうくらいには文章を書くのが下手くそでした。今もわかりやすい文章が書けている自信はありません。 それでも、これまでに何度か、議論が好転したり、プロジェクトが前に進むきっかけとなる文章を書けたことが

    リモート開発を助ける「思いやりのある文章」の書き方 - ROUTE06 Tech Blog
  • Web制作の現場で使えるWebサービス13選!無料で使えるサービスを集めてみた | BUILD Journal

    CSSコーディングに役立つサービスやWebサイト運用で役立つSEO関連のツールなど、Web制作の現場で使えるWebサービスを13個紹介します。ワンクリックで取得できるコードや、ドラッグ&ドロップだけで完結するものなど、直感的に作業できるサービスばかりです。あなたの現場でもぜひ利用してみてください。 Fancy Border Radius Generator CSSのborder-radius を使ってボックスや画像をユニークな形状に変化できるWebサービス。 Fancy Border Radius Generator シンプルなコードで実装可能です。 正方形の写真をCSSで変形させました 上のように正方形の写真をユニークな画像に見せることができます。 Fancy Border Radius Generator Clippy – CSS clip-path maker CSSのclip-pa

    Web制作の現場で使えるWebサービス13選!無料で使えるサービスを集めてみた | BUILD Journal
  • 複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog

    開発合宿運営チームの id:yutailang0119 と id:maku693 です。はてなでは四半期に一度、技術グループ主導で開発合宿を開催しています(過去の合宿の様子は「開発合宿」カテゴリーにまとまっています)。 2023年4月に実施した開発合宿では、参加者が複数のチームに分かれ、それぞれ異なるプログラミング言語で同じお題のWebサービスを開発しました。言語ごとの特性を比較し、今後の技術選定に生かす取り組みです。 この記事ではその開催レポートをお届けします。 開発言語の特性を理解したい さまざまな技術要素を2日で実装できるお題に 参加チームやコミュニケーションでの工夫 順調に開発が進んだ合宿当日 技術勉強会で「成果物を見る会」を実施 開発合宿を終えて プログラミング言語ごとの使用ライブラリ TypeScript Go Ruby Scala 開発言語の特性を理解したい はてなではたくさ

    複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog
  • 相も変わらず「ソフトを他人に作らせる日本、自分で作る米国」

    ある会合で話をしてほしいと言われた。会合の趣旨を聞くと「日がなぜITの利用で劣後してしまったのかを考えること」と説明してくれた。演題を考えているうちに「ソフトを他人に作らせる日、自分で作る米国」という一言が浮かんだ。 この言葉は10年近く前、2013年12月に出版した拙著の書名である。元々は日経ビジネスオンライン向けに書いたコラムに付けた題名であり、そのコラムを同書の巻頭に再録した。 「日企業は自社で利用するソフトのほとんどをIT(情報技術)企業に開発させているのに対し、米国企業はソフトを内製する比率が高い」「日のソフト開発技術者の大半はIT企業に所属するが、米国のソフト開発技術者の大半はIT企業ではなく一般企業に所属している」、これがコラムの内容であった。ここでいうソフトはコンピューター上で動かすプログラムのことである。 これ自体はソフトの内製化と言われる問題だ。実は同書の主題は

    相も変わらず「ソフトを他人に作らせる日本、自分で作る米国」
  • コマンドでPCの環境構築を自動化 ~「WinGet configuration」がプレビュー公開/「Dev Home」アプリからも利用可能

    コマンドでPCの環境構築を自動化 ~「WinGet configuration」がプレビュー公開/「Dev Home」アプリからも利用可能
  • 【早い!安い!うまい!】VSCode+WSL+Dockerで簡単に開発環境構築 - Qiita

    三種の神器 今やWSL,Docker,VSCodeは使えて当たり前という雰囲気になってきたので、初心者のためにすごく適当簡単に導入手順をまとめたよ 卍最強の環境卍を構築するため以下の4ステップで解説するよ WSL2の導入 Dockerの導入 VSCodeの設定 使ってみる 1. WSL2の導入 そもそもWSLって何?という方もいらっしゃると思いますが、Windows内でLinux環境を使うことができるぜということだけ覚えておけばOKです 導入についてはPowerShellで以下コマンドを実行するだけ! インストールしたらPCのスタートメニューからUbuntuを開き、ユーザ名とパスワードを設定しよう (Ubuntuを開くだけでユーザ名とパスワードを作成するための入力が求められます) WSLを真面目に知りたい方はこちら↓ https://learn.microsoft.com/ja-jp/wi

    【早い!安い!うまい!】VSCode+WSL+Dockerで簡単に開発環境構築 - Qiita
  • エンジニアの稼働率を上げれば上げるほど機能リリースが遅くなっていく|mtx2s

    組織内のメンバーを「リソース」として見始めると、それを100%使い切ることにばかり注力してしまいます。リソースの稼働率を下げることは、すなわち、生産性を下げること。マネージャーは、まるで強迫観念に取り憑かれたように、そのような考えに囚われます。 自社でのソフトウェアプロダクト開発において、その対象は特に、開発者に強く向けられます。その理由は明らかでしょう。バックログに積み上がり続けるアイデアをソフトウェアに変えられるのは、開発者だけです。より多く、できる限り早く、アイデアを市場投入したい。彼らに空き時間という無駄を作らせてしまうわけにはいかない。 しかし、そのような努力が、必ずしも良い結果につながるとは限りません。むしろ、開発者の稼働率を高めすぎたことが、リードタイムに悪影響を与えているかもしれないのです。そして言うまでもなく、アイデアの市場投入が延びれば延びるほど、ユーザーにとってもビジ

    エンジニアの稼働率を上げれば上げるほど機能リリースが遅くなっていく|mtx2s
  • LOCAL環境でHTTPSが必要なときはlocal-ssl-proxyが便利 - Qiita

    nextauth.js でシングルサインオン機能を実装する場合、SlackなどはアプリケーションがHTTPS接続をサポートしていることが前提となっており、開発時にもHTTPSのサポートが必要となる場合があります。このような場合には、local-ssl-proxyを利用して、リバースプロキシのようにする方法が簡単で便利です。 以下、LOCAL環境=Windows PC、という前提です。 local-ssl-proxyのインストール local-ssl-proxyはグローバルインストールしかサポートしていません。ので、グローバルインストールします。

    LOCAL環境でHTTPSが必要なときはlocal-ssl-proxyが便利 - Qiita
  • コード品質はやはりビジネスに影響を与える - mtx2s’s blog

    私たちソフトウェアエンジニアは、コード品質についてしばしば論ずるけれども、ではコード品質の良し悪しがどれほどビジネスに影響するのかと問われると、回答に窮する。只々、「コード品質が悪いと変更により多くの時間がかかります」だとか、「欠陥の修正に追われて開発時間が奪われます」だとか、個人の経験やエンジニア的一般論に頼った定性的な説明に終始するしかない。ソフトウェアを繰り返し変更する頻度が高いほど、コード品質が開発時間に影響を与えるのは確かにそのとおりだと思えるが、はたしてそれは、どれほどのインパクトなのだろうか。 2022年の研究論文 "Code Red: The Business Impact of Code Quality – A Quantitative Study of 39 Proprietary Production Codebases" では、コード品質がビジネスに与えるインパクト

    コード品質はやはりビジネスに影響を与える - mtx2s’s blog
    mas-higa
    mas-higa 2023/04/27
    そうは言っても現場には時間を掛けても Healthy なコードを書けない人が (ブーメランが刺さる音
  • ブラウザでCORSを無効化する方法 - Qiita

    警告 記事に記載している内容はCORSだけでなく、ブラウザの様々なセキュリティ機能を無効化する危険な行為です。 今すぐにセキュリティを無効化しないといけない事情がある場合を除いて安易に実施しないでください。セキュリティを無効化した状態でのインターネット接続など言語道断です。 上記内容、そして記事に記載している行為を理解している方のみ自己責任でお願いします。 Google Chrome 以下のコマンドでChromeを起動する。--user-data-dirを指定しないと既存の設定でChromeが起動し、セキュリティは有効のままだった。 不要になったらここで作成したデータディレクトリは消せばよい。 <Chrome実行ファイル> --disable-web-security --user-data-dir=<データディレクトリ>

    ブラウザでCORSを無効化する方法 - Qiita
  • 「マトリョーシカ人形」の先にあるもの、あるいは、処理の流れを追うということ - Qiita

    これは、2022年の Ruby アドベントカレンダー1 の9日目の記事です。 昨日は @universatoさんによる8日目の記事「【Ruby】# frozen_string_literal: trueマジックコメントは必要?【RuboCop】」でした。 明日は石谷 太一さんによる10日目の記事「YAML上の位置を取得する」です。 はじめに タイトルの「マトリョーシカ人形」ですが、伊藤淳一さんのブログに掲載された「マトリョーシカ人形のようなメソッド設計を避ける」という記事にて、コードの構造の話として出てくるものです。 上記の記事(元記事と呼びます)を読んで思うところがあったので、記事を書くことにしました。 ふたつのコード 詳しくは、元記事をご覧いただくとして、そこでは以下の2種類のコードを比較しています。 マトリョーシカ人形なコード 記事では(A)と呼びます: def main パンを

    「マトリョーシカ人形」の先にあるもの、あるいは、処理の流れを追うということ - Qiita