タグ

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

  • 要件定義~システム設計ができる人材になれる記事 - Qiita

    はじめに 株式会社デジサク がお送りするプログラミング記事、 今回は要件定義・システム設計について扱っていこうと思います。 プログラミングを勉強していて、こんな事を感じた経験はないでしょうか。 「勉強してもプロダクトが作れない」 「そもそも開発ってどうやるの?」 「要件定義ってなに?」 その悩みを解決するために、まずは開発の全体感を理解しましょう。 下図『ソフトウェア開発プロセス』をご覧ください いつも勉強しているプログラミングは 『実装』 の部分に該当します。 つまり、プログラミングの実力を発揮する前に4つも壁が存在するのです。 そのため、記事では実装(プログラミング)を開始する前に必要となる、 『企画~設計』 について順を追って説明して行きます。 特に、エンジニアが理解しておくべき 『要件定義』『設計』 にフォーカスします。 なお、開発全体において実装(プログラミング)に使用する時間

    要件定義~システム設計ができる人材になれる記事 - Qiita
  • 30秒で読める要件定義の機能要件&非機能要件まとめ - Qiita

    システムが保証しなければならないサービスの信頼性はエンジニアが担保しなければならない。 要件定義書をまとめる際、重要なことを欠落する事がないようポイントを記載。 30秒で読めるようにざっくり書く。

    30秒で読める要件定義の機能要件&非機能要件まとめ - Qiita
  • 運用設計 - Qiita

    運用設計とは? システムを導入する各現場に応じた、システム運用の枠組みを作りこむこと 運用設計はなぜ必要か? システム運用が高負荷にならないようにする トラブルが少ない 日々行なうことが少ない 運用が属人的にならないようにする 効果を測定できるようにする 誰が何をやったかを分かるようにする 費用対効果を高める 少ないコストで効果的に運用する 運用設計を行うタイミング フェーズのはじめ 基設計と同じくらい 運用に必要な機能があれば予め設計に組み込める 具体的な設計項目 業務内容 管理項目 運用体制 運用スケジュール 監視設計 データ管理 バックアップ設計 障害対応 業務内容 どういう業務を行なうのかを定義する 定義を行なうことで、作業の見える化 それぞれの業務における運用を考えることができる 管理項目(何を管理対象とするか) 業務とは、システムを使用して、データを扱うこと システムとデータ

    運用設計 - Qiita
  • ユビキタス言語についての知見を共有します - Qiita

    この記事は、ドメイン駆動設計 #1 Advent Calendar 2018の10日目です。 ユビキタス言語は大事 DDDは分類手法の一つという側面があります。 分類の道具は境界づけられたコンテキストと、ユビキタス言語です。 境界づけられたコンテキストで、システムの対象業務を分類し、境界づけられたコンテキスト内部ではユビキタス言語で言葉を分類します。 個人的に、ユビキタス言語はDDDを実践する上でとても大事なテクニックだと思うのですが、何を指すものなのか、どういうメリットがあるものなのかわかりにくいために、初心者にとってはわかりにくいものかもなー、とも感じます。 そこでこの記事では、ユビキタス言語についての私の知見を書いてみます。ユビキタス言語についての学習の助けになれば幸いです。 ユビキタス言語とは何か? ユビキタス言語の定義をする前に、「境界づけられたコンテキスト」について説明します。

    ユビキタス言語についての知見を共有します - Qiita
  • jBatchとSpringBatchの比較 - Qiita

    違い jBatchは仕様(JSR-352)、SpringBatchは実装 jBatchの実装は3つ存在。RI(GlassFish)、JBeret(WildFly)、SpringBatch。 基的機能は jBatchも、SpringBatchも同じ。 SpringBatchの方が高機能。 もともとSpringBatchが存在して、それを参考にして仕様化したのがjBatch。仕様化した後、SpringBatch3.0にてjBatchへ対応した。 機能 jBatchの機能をベースとして記載。SpringBatchの機能は太字で記載。 ジョブ ジョブはステップの入れ物。ジョブはXMLで記述。 <?xml version="1.0" encoding="UTF-8"?> <job id="SimpleBatch" xmlns="http://xmlns.jcp.org/xml/ns/javaee"

    jBatchとSpringBatchの比較 - Qiita
  • DB論理設計のノウハウ - Qiita

    DB設計の概要を簡単におさらいした後、論理設計について主にまとめていきます。 DB設計の全体手順のおさらい DB設計は、大きく論理設計と物理設計に分けられます。 概念スキーマを定義します。 エンティティの抽出 エンティティの定義 正規化 ER図の作成 物理設計 論理設計の結果を受けて、データを格納するための物理的な領域や格納方法を決めます。 テーブル定義 インデックス定義 ハードウェアのサイジング ストレージの冗長構成決定 ファイルの物理配置決定 テーブルの構成要素のおさらい 行と列 行(レコード):横のデータの組 列(カラム):縦のデータの組 キー キーとは、DBのテーブルから特定のデータを引き出すための鍵です。 主キー:その値を指定すれば、必ず一行のレコードを特定できるような列の組み合わせのこと。一意にレコードを識別するためにある 外部キー:2つのデーブル間の列同士で設定するもの。参照

    DB論理設計のノウハウ - Qiita
  • SQLアンチパターンもりもりDBを設計しよう! - Qiita

    概要 名著SQLアンチパターンを読み終えたので、それの復習のために悍ましいデータベースを作ろうと思った。 まず前半では、SQLアンチパターンを意図的に盛り込み、目も当てられない酷い設計をします。 そのあとリファクタリングを行なったER図に書き直していきます。 なお、真面目に書くと参考書の丸写しになってしまうので、この記事は アンチパターンもりもりのER図を見て嫌悪感を学習し、設計に役立てようという趣向のもと、詳しい説明は省きます。 とても良いなので読んでください。 想定するシステムの概要と状況 目的において適切かはわかりませんが、とりあえず考えることの多い”お金”を扱うシステムを想定してみます。 私はブラックジョークが好きなので、今回は「ちょっと怖い金融屋さんが使う債務者管理システム」のER図を設計してみようと思います。 ざっくりした要件 債務者を登録でき、プロフィールを入力できる。 債

    SQLアンチパターンもりもりDBを設計しよう! - Qiita
  • sqlアンチパターンと解決策-入門編- - Qiita

    はじめに sqlアンチパターンの読書メモです。 書籍では25ものアンチパターンを取り扱っていましたが、今回はとりわけ初心者でも理解に難しくなく、すぐ実践できそうなものをピックアップしてまとめました。 ※独断と偏見です。これは要らないとかあったほうがいいとかあれば意見下さい 目次 1章 信号無視(ジェイウォーク) 9章 丸め誤差(ラウンディングエラー) 7章 複数列属性(マルチカラムアトリビュート) 10章 31のフレーバー 15章 ランダムセレクション 19章 パスワード 1章 信号無視(ジェイウォーク) -状況- ブログ記事とそれに紐づくタグ(暮らし、学び、テクノロジー、国際みたいなものを複数紐付けられる)をうまいこと格納させたい -アンチパターン- カンマ区切りのフォーマットで格納する id title tag_ids

    sqlアンチパターンと解決策-入門編- - Qiita
  • 4ステップで作成する、DB論理設計の手順とチェックポイントまとめ - Qiita

    はじめに 「達人に学ぶDB設計」、「SQLアンチパターン」を読んだのでDB設計をする流れとその過程でのチェックポイントをまとめてみました。 今回はに載っているものの中でも特に重要そうな部分に絞ってみました。 さらに詳しいことを知りたい方はを購入してみてください。個人的には達人に学ぶDB設計徹底指南書のほうがおすすめです。こちらだけあれば十分だと思います。 DB設計には大きく分けて論理設計と物理設計の二つがありますが、今回はアプリケーション開発でメインとなる論理設計の部分に焦点をあてて説明をします。 一番最後にチェックポイントだけをまとめた章を用意したので、チェックポイントだけ知りたい方は最後だけ見ていただければと思います。 DB論理設計の流れ DB論理設計は以下のようなステップで進めていきます。 エンティティの抽出 エンティティの定義 正規化 ER図の作成 以下では各ステップごとに章を

    4ステップで作成する、DB論理設計の手順とチェックポイントまとめ - Qiita
  • Amazonカテゴリ一覧 23,420 件(BrowseNodeデータ収集結果) - Qiita

    Amazonの商品カテゴリ(BrowseNode) Amazon のカテゴリは内部的には BrowseNode って名前で扱われているのだが、その情報を得るための BrowseNodeLookup という API があるものだから、つい収集欲が出てしまいデータ収集してしまった。。 集めてしまったもの (23,420件) Text形式(軽) … http://files.clock-up.jp/amazon-browse-nodes/amazon-browse-nodes-20160830.txt Html形式(重) … http://files.clock-up.jp/amazon-browse-nodes/amazon-browse-nodes-20160830.html 参考:一部抜粋 … 2351649051:Amazonビデオ 2351650051:カテゴリー別 247846505

    Amazonカテゴリ一覧 23,420 件(BrowseNodeデータ収集結果) - Qiita
  • [SlackAPI][node-slack-sdk] Workspace内の全てのChannel名を取得する (conversations.list を使う) - Qiita

    [SlackAPI][node-slack-sdk] Workspace内の全てのChannel名を取得する (conversations.list を使う)JavaScriptNode.jsSlack これまでの一般的な方法 普通にググると大抵はこの channels.list を使っているサンプルに行き着く。 https://api.slack.com/methods/channels.list ただし、最近気づいた下記の文言、 Don't use this method. Use conversations.list instead. 他にも移行が必須なケースがあって、例えば channels.list はShared channelsを返してくれない。ここは場合によっては結構困るのでconversations.listへ移行した。 サンプル conversations.list で

    [SlackAPI][node-slack-sdk] Workspace内の全てのChannel名を取得する (conversations.list を使う) - Qiita
  • AWS/Azure/Google Cloudサービス比較 2023.12 - Qiita

    はじめに こちら の AWS サービス一覧をもとに各クラウドで対応するサービスを記載しています AWS では提供されていないが、Azure/Google Cloud では提供されているサービスが漏れている場合があります 主観が含まれたり、サービス内容が厳密に一致していない場合もあると思いますが、ご容赦ください 物理的なデバイスや SDK などのツール群は記載していません Analytics AWS Azure GCP

    AWS/Azure/Google Cloudサービス比較 2023.12 - Qiita
  • Cognitoの説明に使われている言葉を整理する - Qiita

    はじめに Cognitoを使ってみようと思って色々読んだけど、認証周りは全くど素人なのでわからない言葉を調べてみたメモです。 追記 こちらのAWSの中の人がアップしていたslide share を見たほうがわかるかもしれないのでどうぞ。 Cognitoとは何か AWSAmazon Cognito とはに書いてある通り。この中で Amazon Cognito とは Amazon Cognito の機能 に書いてある言葉でわからなかったものを整理する。こちらも参考にさせていただきました。 ユーザディレクトリとは何か 大きめな会社でWindowsを使ったりしていると「Active Directory」という名前を聞いたことがあるかもしれないが、似たようなもの、と理解した。前述のAWSAmazon Cognito とはにもあるが、ユーザディレクトリは以下の機能を提供、管理する。 ユーザの追加方

    Cognitoの説明に使われている言葉を整理する - Qiita
  • 重複しているレコードを検索するSQL(大量データも対応) - Qiita

    たまにしかやらないけど、 毎回やり方を調べている気がするので備忘録としてメモ。 DISTINCTを使って重複した行をまとめることはできるけど、 逆はできないので、強引に対応する。 列Aが重複しているデータを取得

    重複しているレコードを検索するSQL(大量データも対応) - Qiita
  • Node.jsでBigQueryを叩いてみようと思ったら一瞬で終わった - Qiita

    ちきさんです。 Node.jsでGCPのBigQueryに元々用意されているサンプルデータをクエリしてみようと思ってやってみたらあっさりできたのでメモを残します。 https://cloud.google.com/bigquery/create-simple-app-api?hl=ja#bigquery-simple-app-query-nodejs を参考にしました。 書いたTypeScriptのコードはこちら。 import * as BigQuery from '@google-cloud/bigquery' const bigquery = BigQuery({ credentials: require('./path/to/your-service-account-key.json') }); const query: string = ` select corpus, coun

    Node.jsでBigQueryを叩いてみようと思ったら一瞬で終わった - Qiita
  • Google Cloud FunctionsからSlackへ通知を送る - Qiita

    Google Cloud Functionsとは サーバーを準備、管理しなくてもコードを実行できるサーバーレスなコンピューティングサービス。AWSでいうLambdaに該当する。コードが実行される時間に対してのみ、最も近い100ミリ秒単位で課金される。 ※2017年12月17日時点ではBeta版 Google Cloud Functionsで関数を作成 1. GCPコンソールのメニューから「Cloud Functions」を選択 2. 「関数を作成」ボタンを押下 3. 関数の詳細を入力 入力内容は以下の通り。 入力項目 説明

    Google Cloud FunctionsからSlackへ通知を送る - Qiita
  • Google Cloud Platformの支払い情報をBigQueryにエクスポートしてSlackに飛ばすまで - Qiita

    概要 スクリプトを使って,支払い情報の取得設定や通知できるようにするためにはどうすれば良いかを説明します。 Google Cloud Platform(以下GCP)の支払い情報をBigQueryにエクスポートして,GCFで集計してSlackに通知するスクリプトを作りました. 下のような通知が日時でSlackに届きます.かっこの中身は前日の金額との差(昨日より増えてるか減ってるか)です. オプション設定によりプロジェクトの内訳も表示できるようになります。(一番下を参照) デプロイコマンドも同封しているので、slack api tokenとBigQueryのエクスポート設定をすれば任意のチャネルに通知を飛ばせるようにできます。 スクリプトはこちら(Github) 使用するもの ・BigQuery ・Google Scheduler ・Google Cloud Functions ( Node.

    Google Cloud Platformの支払い情報をBigQueryにエクスポートしてSlackに飛ばすまで - Qiita
  • VS Code の便利なショートカットキー

    Visual Studio Codeを自分が使用する際に便利なショートカットキーを、忘れないようにまとめておく。Windows版。v1.57で再確認済み。 編集系 Ctrl + Enter カーソル行の下に空行を挿入 Ctrl + Shift + Enter カーソル行の上(というかカーソル行?)に空行を挿入 Alt + ↑/↓ カーソル行/選択行をまるっと移動(複数行対応) Alt + Shift + ↑/↓ カーソル行/選択行をまるっとコピー(複数行対応) Ctrl + C 選択範囲をコピー。非選択状態で使用すると行コピーになる Ctrl + X 選択範囲を切り取り。非選択状態で使用すると行切り取りになる Ctrl + BS 単語の部分削除(カーソル位置より左側) Ctrl + Del 単語の部分削除(カーソル位置より右側) 1.は次の行を入力したい時、今まではカーソルを一旦行末に持っ

    VS Code の便利なショートカットキー
  • Bigquery | 日付・時間系のクエリまとめ ( query reference 日本語訳 ) - Qiita

    CURRENT_DATE 現在の日付を返します。 フォーマットは 年-月-日 です。 Returns a human-readable string of the current date in the format %Y-%m-%d. 結果: 2013-02-01 CURRENT_TIME サーバーの現在時刻を、読みやすい形で返します。 フォーマットは 時-分-秒 の形です。 Returns a human-readable string of the server's current time in the format %H:%M:%S. 結果: 01:32:56 CURRENT_TIMESTAMP サーバーの現在時刻を、タイムスタンプで返します。 フォーマットは 年-月-日 時:分:秒 です。 Returns a TIMESTAMP data type of the server'

    Bigquery | 日付・時間系のクエリまとめ ( query reference 日本語訳 ) - Qiita
  • BigQueryで「日付別テーブル」や「テーブルパーティショニング」を活用して大規模データを扱う - Qiita

    概要 BigQueryで大量のデータを扱う場合、日付別テーブルもしくはパーティショニングされたテーブルを利用すると便利です。 これらのテーブルの種類についてはドキュメントにもありますが、いくつかのページにまたがっていたりして見つけるのに苦労しているので、ここにまとめておきます。 3つの選択肢 「日付別テーブル」、「取り込み時間で分割されたテーブル」、「分割テーブル」の3つの選択肢があります。 後ろの2つがパーティショニングされたテーブルです。テーブルとしては1つですが内部的に分割(パーティションニング)されていて、実行するクエリで読み込むパーティションを指定することでスキャン対象のデータサイズを減らすことができ、パフォーマンスとコストを向上させることができます。 「日付別テーブル」は、その名の通り日付ごとに作成した複数のテーブルです。命名規則に従ったテーブル名をつけることで、Webコンソー

    BigQueryで「日付別テーブル」や「テーブルパーティショニング」を活用して大規模データを扱う - Qiita