タグ

ブックマーク / qiita.com (142)

  • 要件定義|3分で読める非機能要件について - Qiita

    はじめに エンジニアのみなさま、日々の学習当にお疲れ様です! また記事まで足を運んでいただき当に感謝です。 約3分程度で読めるので最後まで読んでもらえると幸いです。 先週、要件定義の記事の投稿をしました。時間あればぜひ読んでみてください。 今回は「非機能要件」の 可用性 性能・拡張性 運用・保守性 移行性 セキュリティ システム環境・エコロジー の6項目について理解を深めてアウトプットしようと思います。 非機能要件|6項目について 1. 可用性 システムが継続して利用可能な状態を維持する能力を指します。『稼働率』 で表現されます。システムは定期メンテナンスや予期しない障害により、一時的に利用できなくなることがあります。可用性は、稼働している時間と停止から復旧までの時間の割合で決まります。たとえば、Amazonの「Amazon ECS」サービスは 『99.99%』 の稼働率を保証してお

    要件定義|3分で読める非機能要件について - Qiita
  • 結局 Git のブランチ戦略ってどうすればいいの? - Qiita

    1つのIssueが大きくなると1 Pull Requestで大量の差分が発生します。 そうなるとレビュワーに負担がかかり、コンフリクトの可能性も高まり、コードレビューを効率よく進めることができません。 このINVEST原則を守ることでチームはより効果的に作業を進め、柔軟に対応して開発を進めることができます。 Git Flow Git Flowは5種類(main, hotfix, release, develop, feature)のブランチを運用するブランチ戦略です。 2010年に提唱された有名なブランチ戦略です。 オンラインサービスのように継続的デリバリーするコードを想定して作られた戦略ではないです。 main ブランチ 常にリリースできる状態を保つ hotfix, develop へ切り出す このブランチへの直pushはNG hotfix ブランチ バグ修正など緊急時に対応するためのブ

    結局 Git のブランチ戦略ってどうすればいいの? - Qiita
  • エンジニアにも知って欲しいChatGPT基本テクニック - Qiita

    はじめに ChatGPTブームがひと段落した感がありますが、周りのエンジニアChatGPTを活用している姿をあまり見みません。 基的なテクニックを理解すれば、エンジニアこそChatGPTを活用できると思うので、普段使用しているテクニックをいくつかピックアップして紹介します。 プロンプトの記載方法 Markdown記法で指示する 色々なところで紹介されていますが、回答や処理の精度を上げる方法としてChatGPTへの指示にMarkdown記法を使用することがオススメされています。 例えば下記のような文章による指示を行おうとした場合

    エンジニアにも知って欲しいChatGPT基本テクニック - Qiita
    rumbaba
    rumbaba 2024/07/02
  • 学園アイドルマスターのバックグラウンド再生が凄い という話 - Qiita

    TL;DL ゲームアプリ「学園アイドルマスター」にはAndroid/iOS端末で楽曲のバックグラウンド再生機能がある Unity+CRIWareでバックグラウンド再生を行うのは障害がある バックグラウンド再生用にネイティブPluginを実装しないと多分実現できない、凄く手間がかかっている この記事の目的 学園アイドルマスターには楽曲のバックグラウンド再生機能があります。 この記事は、バックグラウンド再生の何が凄いのか、実装する上で何が障害になるかを考察する事を目的としています。 免責事項 筆者は株式会社バンダイナムコエンターテインメント及び株式会社QualiArtsとは無関係です。 また、筆者はスマートフォン用ゲームアプリ「学園アイドルマスター」の開発に一切関わっていません。 この記事では、「学園アイドルマスター」のゲーム内画面をスクリーンショットで引用しています。 学園アイドルマスターと

    学園アイドルマスターのバックグラウンド再生が凄い という話 - Qiita
    rumbaba
    rumbaba 2024/06/16
  • 超簡単にChromeの拡張機能を作ってみる【誰でもできるよ】 - Qiita

    はじめに みなさんはChrome拡張機能を使っていますか? 僕も使っていますが、案外Chrome拡張機能を作るのは簡単です。 今回は、普段の業務の効率を上げるのも兼ねて自作してみました! 最低限準備するもの manifestファイル Javascriptファイル ぶっちゃけ、これだけで動きます。 実際に作ってみよう それでは実際に作成していきましょう。 今回はDとVを押すだけで、Markdownのリンクを作成する拡張機能を作成していきます。 まずは、manifestファイルから設定していきます! manifestファイル を参考にして、備忘録も兼ねて説明していきます。 今回は、最低限の設定を行います。 { "manifest_version": 3, "name": "Create markdown link", "version": "1.0.0", "icons": { "16":

    超簡単にChromeの拡張機能を作ってみる【誰でもできるよ】 - Qiita
    rumbaba
    rumbaba 2024/03/31
  • 業務で説明に失敗したUIに対するモヤモヤをどう言語化すべきだったのか反省会 - Qiita

    明けましておめでとうございます。 大遅刻で年が明けてしまいましたが、この記事はUIデザイン Advent Calendar 2023 23日目の記事です。 注意 記事で取り上げている例は実在する企業・プロジェクトとは一切関係ありません。 記事は、筆者が実際に業務中にしてしまった失敗をモチベーションに書かれているものの、具体例は完全に一から創作しており関連性はありません。 はじめに 某企業でエンジニアとしてスマートフォンアプリ開発をしています。 その中で、アプリの見た目や挙動を要件通りに実装する際、正直モヤモヤと違和感のあるデザインが何箇所かありました。 しかしながら、ユーザの期待操作や導線を考えてどうして改善したほうが良いと考えたのか、という形にうまく言語化できず、関係者の皆さんに全く伝わらない説明をしてしまうという悔しい思いをしました。 今後そのようなことがあった際に、せめて似たケー

    業務で説明に失敗したUIに対するモヤモヤをどう言語化すべきだったのか反省会 - Qiita
    rumbaba
    rumbaba 2024/01/17
  • console.log() の代わりにdevtoolsのLogpointsを使う - Qiita

    Logpointsを使おう Webフロントエンドの開発をする際、デバッグ目的で「特定の処理が実行された」ということを確認するために console.log() を使うことは多いと思います。しかし、Google ChromeMicrosoft Edge で利用可能な Logpoints を利用することで、 console.log() を使わずともコンソールにメッセージを出力することが可能です。 なぜLogpointsを使うの? Logpoints を使うのには以下のメリットがあります。 デバッグや動作確認のためにコードを変更する必要が無い console.log() を誤ってcommitに含めてしまう心配が無い console.log() を入れた後に再ビルドやホットリロードを待つ必要が無い どうやってLogpointsを使うの? logpoints は以下のように使用します。 Chr

    console.log() の代わりにdevtoolsのLogpointsを使う - Qiita
    rumbaba
    rumbaba 2023/10/25
  • 悪名高きスワイプ広告を解析する - Qiita

    この記事の概要 ユーザーから嫌われている広告の1つに「スワイプ広告」というものがある。 誤タップをしやすいことが理由だが、あまりにもこの広告だけ誤タップするため調べたところ 実は誤タップしたように見せかけて意図的に広告先に遷移させる広告であるということがわかった。 スワイプ広告とは、左右にスワイプすると画像がついてくるタイプの広告である。 スワイプ広告とは スワイプ広告とは、主にアフィリエイトサイトで見られる広告形式の一つである。 ユーザーは指で画面上の広告を左右にスワイプすることで、広告画像を切り替えることができる。 スワイプによるインタラクティブ性を活かし、複数のメッセージやメディアを使い、魅力的な広告体験を提供することが特徴である。 なぜ悪名高いのか しかし、スワイプ広告はユーザーから嫌われている。その理由は、誤タップを誘発しやすいからである。 誤って広告をタップして画面が遷移してし

    悪名高きスワイプ広告を解析する - Qiita
    rumbaba
    rumbaba 2023/08/07
  • ChatGPT(GPT-4) で一撃でスクレイピングするコードを生成出来たので感想とコツ - Qiita

    今回やりたかったこと 目標:ChatGPT(GPT-4) で一撃でスクレイピングするコードを生成 するにはどうしたらいいのか、ChatGPT のハードルとかコツとかを知りたい。 ※最終的なプロンプトの入力と出力の全文はページ下部に貼り付けてます。 作ったもの概要 保険組合のウォーキングイベントの会社内の3チームの歩数進捗の slack への自動投稿 bot を作成しました。 処理は大きく2つに分かれています。 ウォーキングイベントサイトから歩数をスクレイピング&スプシへアップロード スプシの GAS で投稿文字列作成& slack へ自動投稿 今回 ChatGPT でやったのは1の方です。 2は前回半年前開催分のコードをほぼそのまま流用しました。 運良く(?)今回のタイミングでウォーキングイベントのサービスサイトが変わり、 HTML がまるっと変わり1のスクレイピングコードは作り直しが必

    ChatGPT(GPT-4) で一撃でスクレイピングするコードを生成出来たので感想とコツ - Qiita
    rumbaba
    rumbaba 2023/05/10
  • Excelでメンテナンス性の高い二段階リスト入力規則を作成する - Qiita

    はじめに 今回やりたいことです。 階層的に整理された、2段階のデータがあります。 入力規則としてドロップダウンリストを設定し、1階層目の選択内容に従って、2階層目の入力候補がフィルターされる というシートを作成します。 下の例でいうと、担当部署として「ばら」を選択した行では、「ばら」に属するデータ「サクラ」「イチゴ」「アーモンド」のみが選択できるようになっています。 よくあるやり方 まずは、これまでよく使われてきたやり方に触れておきます。 定義された名前を使う方法です。 下準備 定義用のシートに、以下のような構成でセルに階層構造を定義します。 範囲を選択し、[数式]タブの定義された名前 [選択範囲から作成]をクリックし、[上端行]にチェックを入れてOKを押します。 すると、上端行の値からそれぞれの列で、定義された名前が作成されます。 下準備はこれで完了です。 入力規則の設定 次に、シートに

    Excelでメンテナンス性の高い二段階リスト入力規則を作成する - Qiita
  • オブジェクトのクローンにJSON化を使う時代は終わった!【JavaScript】 - Qiita

    const obj = { hoge: [new Date(2023, 3, 12), 1], fuga: 'foo' }; const objClone = structuredClone(obj); // ディープコピー obj.hoge[1] = 10; console.log(objClone.hoge[1]); // 1 objClone.hoge[0].setFullYear(2050); console.log(obj.hoge[0].getFullYear()); // 2023

    オブジェクトのクローンにJSON化を使う時代は終わった!【JavaScript】 - Qiita
    rumbaba
    rumbaba 2023/04/07
  • 4年間毎週個人開発を継続したら月間利用ユーザー30万を超えるサービスになった話 - Qiita

    2024年1月に書いた最新の記事はこちら 2018年10月にこのようなサービスをリリースしました。 友達旅行などに行った時に発生するお金の貸し借りで「誰が誰に何円返せばいいんだっけ?」という問題をシンプルに解決してくれるWebアプリです。「調整さん」みたいに即席でグループページを作成して、そこに立替え履歴を登録しておけば、最も簡単な清算方法を計算してくれます。 当時、新卒2年目くらいで、会社の同期と初めてリリースした個人開発サービスです。 途中コロナで大打撃を喰らったのですが、ここ1年くらいは徐々に回復し始め、サービスリリースから約4年で月間30万ユーザーを達成することができました。 (👆2022年3月あたりから過去30日のユーザー数推移) 自分で言うのもアレですが、MAU30万は個人開発サービスではかなり当たっている方かなと思うので、ユーザー数が伸びなかったリリース当時、どういうこと

    4年間毎週個人開発を継続したら月間利用ユーザー30万を超えるサービスになった話 - Qiita
    rumbaba
    rumbaba 2023/03/23
  • 非エンジニアサイドに技術的負債や設計を説明するノウハウ - Qiita

    こんにちは、リファクタリングが大好きなミノ駆動です。 この記事は READYFORアドベントカレンダー2022 、10日目の記事です。 これはなに? ろくに設計せずにシステム開発を進めると技術的負債が蓄積し、変更が難しくなってしまいます。 しかし設計を推進しようにも、周囲が設計is何を知らないと、なかなか理解を得られません。特にビジネス側や経営側はプログラムの内部構造を知らないわけですから、輪をかけて説得が困難です。 この記事は、ビジネス側や経営側など、非エンジニアサイドに対して技術的負債や設計を分かりやすく説明するための例えや手法をまとめたものです。 私が非エンジニアサイドへ説明するとき実際に活用しているもので、聞き手からも「分かりやすい」と好評を得ております。 この記事のゴール 以下を知ることがこの記事のゴールです。 技術的負債や設計について、非エンジニアサイドに理解を促すノウハウ ユ

    非エンジニアサイドに技術的負債や設計を説明するノウハウ - Qiita
    rumbaba
    rumbaba 2022/12/13
  • エンジニアのやる気を削ぐ会議術 - Qiita

    この記事はNuco Advent Calendar 2022の1日目の記事です はじめに やる気を削ぐ会議術 会議(かいぎ)は、関係者が集まり、特定の目的(議題)に関して意見交換・審議し、合意・施策などの意思決定をすること、およびその物理的構成員の集まりを意味する。 会議 - Wikipedia 仕事エンジニアリングを行う人々にとって会議という営みは不可欠である。 そもそも会社という複数の人々の共同体を会議なしで運営することが不可能であることから、当然職業エンジニアにとっても会議は避けられない。 システムの仕様決めのためのチーム内外での話し合い 非IT部門に対するサポートのための説明会 顧客に対する技術的なプレゼンテーション 上司との1on1 etc... 上記のように様々な目的で会議は日々開催される。 開発が仕事であるエンジニアにとっては会議そのものは間接的な業務であるから、会議そのも

    エンジニアのやる気を削ぐ会議術 - Qiita
    rumbaba
    rumbaba 2022/12/02
  • 【C#】コレの名前、なんだっけ?【用語集】 - Qiita

    C#で名称を忘れやすい語句について、簡単な解説・用例とともにまとめました。 実装やコードレビューなどの場面でお役に立てば幸いです。 /// ドキュメンテーションコメント クラスやメンバーの説明を記述するのに利用する。 /// <summary> /// This class performs an important function. /// </summary> public class MyClass {}

    【C#】コレの名前、なんだっけ?【用語集】 - Qiita
    rumbaba
    rumbaba 2022/11/19
  • API設計まとめ - Qiita

    はじめに 自分は2021年に新卒でWeb系の開発会社にフロントエンジニアとして入社し2022年で2年目になります。 実務ではReact×TypeScriptを利用したフロント周りとNode.js(Nest)やRailsを用いたバックエンド(API)の開発をしています。 その中で使っていたAPI設計について改めて学び直したのでまとめて行きます。 この記事の対象者 エンジニア初心者から中級者 APIについて学びを深めたい人 この記事の目標 APIについて学ぶ 我流ではなく正しいAPI設計について学ぶ この記事でやらないこと 具体的にコードを用いたAPI設計の書き方の説明に関しては下記の記事で解説をしています。 APIについて APIとは APIは"Application Programming Interface"の略で、直訳すると「アプリケーションを使プログラミングを使ってつなぐ」という意味

    API設計まとめ - Qiita
    rumbaba
    rumbaba 2022/11/03
  • だれかの進捗をうまく把握できないときのフレーズ集 - Qiita

    ほとんどの人はだれかと恊働しています。マネージャーやリーダーであるなら、この割合はより大きくなります。 筆者は、仕事の重要な要素のひとつを「進捗を出すこと」と定義しています。そして進捗を出すには、進捗をただしく把握することも重要になってきます。 しかし「進捗を把握する」と言っても、想像以上に難しいと感じる場面が多々ありました。たとえば、 進捗はどうですか? → 進行中です/〜をやっています なにか問題はありますか? → とくにないです 〜までに終わりそうですか? → たぶん大丈夫だと思います というようなやりとりは一般的なコミュニケーションだと思いますが、あまり有用な情報は得られていません。 この記事では、自身の経験則をもとに、進捗にまつわる良い情報をゲットするための具体的な質問を考えてみました。 なぜ進捗を把握すべきなのか 話の前に、なぜ進捗を把握すべきなのでしょうか。 それは良い計画づ

    だれかの進捗をうまく把握できないときのフレーズ集 - Qiita
    rumbaba
    rumbaba 2022/10/31
  • 高校の文化祭でWebアプリ作った! - Qiita

    HTML, CSS 見えてる部分は大体これです。 実はHTML, CSSはほとんど友達に作ってもらいました!ありがとう!! 自分で作ったのはランキングの画面ぐらいです。なのであんまりわかりません。 あとは先人の力を借りて、CSSをリセットしたり、ディーラー画面の最後に動くチェックマークをつけたりしました。 JavaScript ランキングのリアルタイム更新の実装やQRコードの読み取り、その他諸々に使いました。 JSを触るのは初めてでしたが、すごく使いやすくてすぐになれました。 QRコードの読み取りにはjsQRを、ランキング画面の王冠とトロフィーを動かすのにthree.jsを使いました。 PHP CasinoMoneyManagerとSQLの橋渡しと、ディーラー用画面のアクセス管理に使いました。 今回は不特定多数の人が使うプログラムなので、GETやPOSTで取得した値の検証に気を配ってプログ

    高校の文化祭でWebアプリ作った! - Qiita
    rumbaba
    rumbaba 2022/10/12
  • 納品ドキュメントの作成にMarkdown+Vivliostyleを採用した話 - Qiita

    こんにちは、製造業でソフト開発エンジニアをやっているとみー(@tommyecguitar)です。 会社で納品物の説明ドキュメントを作ることがあり、その時にMarkdownでの組版をやってみたので、どう運用したか、困ったところ、いい点、悪い点をまとめてみようと思います。 Vivliostyleで組版したブログはたくさんあるので、見た目がどんな感じにできるかなどはそちらを見ていただくか、Vivliostyleのサイトをご覧ください。 Wordじゃだめなのか。 製造業で何かしら長大なドキュメントを作るとなったら、大抵はWordを複数人数で編集するという運用をしているところが多いと思います。 しかし、Wordにはいろいろと悪いところがあります。 チーム内で共同編集すると、編集したところが消えたり、フォントやデザインがなぜか統一されなかったりする。 セクションごとに担当を分けても、マージが手作業にな

    納品ドキュメントの作成にMarkdown+Vivliostyleを採用した話 - Qiita
    rumbaba
    rumbaba 2022/09/19
  • 仕事でSendGridの安いEssentialsプランを使うのは辞めよう - Qiita

    ある日突然メールが送れなくなることがあります。 Microsoft Azureからメール送りたい Microsoft Azureには、何故かメール関連のリソースが全く存在しません。 メールサーバみたいなサービスはありませんし、自力でのSMTP設置も非推奨です。 公式にもSendGridを使えという立場みたいです。 SendGridとは SendGridはメール送信サービスです。 適当にPOSTするだけで、それをメールにして送ってくれるというナイスなサービスです。 curl --request POST \ --url https://api.sendgrid.com/v3/mail/send \ --header "Authorization: Bearer $SENDGRID_API_KEY" \ --header 'Content-Type: application/json' \ -

    仕事でSendGridの安いEssentialsプランを使うのは辞めよう - Qiita