タグ

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

  • リレーションシップ駆動要件分析(RDRA) - Qiita

    リレーションシップ駆動要件分析(RDRA)とは? 要件定義において、重要な要素が3つあります。 「網羅性」:システムの目的や、それを実現するための要件が漏れや重複無く定義されている 「整合性」:各要件の整合性が取れている 「表現力」:それぞれの要件が分かりやすく表現されている 複数の人間で共同作業する際にも、網羅性によって要件定義に必要な情報の枠組みが決まり、整合性によって作業の手順が決まり、表現力によって共通認識を確立します。 リレーションシップ駆動要件分析(RDRA)とは、要件定義において重要なこれらの3要素を高いレベルで実現するための要件分析フレームワークです。 RDRAでは要件定義を4つの構成要素に分け、UMLを拡張した表現方法で要件分析を行います。 よくあるように要件をリストでただ並べるのではなく、UMLの視覚効果を利用することで表現力を実現します。 要件定義についてはこちら↓

    リレーションシップ駆動要件分析(RDRA) - Qiita
  • Stadiaのリアルタイムストリーミングを実現する技術(Google I/O 2019の発表まとめ) - Qiita

    Twitterで、@masafumi氏が、Google I/O での興味深いセッションについて紹介されていたので、内容を簡単にまとめてみました。私自身は専門家ではありませんので、詳しい方の突っ込み補足お待ちしています。当たり前ですが、以下はすべて私個人の見解です。 Google I/O 2019 Stadia のストリーミング技術に関するセッション: 新 masafumi's Diary Google I/O 2019ではStadia Streaming Tech: A Deep DiveというセッションでStadiaのストリーミング技術や遅延に対する対策などの技術を紹介しています。 このセッションも動画が公開されています。 ゲームGPU搭載したサーバで実行してクラウド上で実行してストリーミングするサービスはこれまでいくつもありましたが、Stadiaならではの部分などを判断するのによさそ

    Stadiaのリアルタイムストリーミングを実現する技術(Google I/O 2019の発表まとめ) - Qiita
  • 岡田を切る技術 - Qiita

    これはとある回顧録 何度も諦めかけましたが、数年の歳月を経て遂に岡田を切る技術が一旦の完成へと至りました。その技術を巡る奮闘の歴史と成果について、ここに記録を残していきたいと思います。 画像時代 まずは「切る」という動作が何を指すかを明確にしておきます。 厳密な定義というよりは、切った感を得るために必要そうなふるまいとして定義します。 平面上のある領域が、任意の直線を境界として分割されること 分割された領域は物理法則に準じてふるまうこと 要するに気持ちよく岡田を切ることができれば目標は無事達成です。 物理エンジン 切った感を高めるためにはやはり「物理法則」に準じたふるまいが欲しくなります。つまりブラウザ上で動く物理エンジンが必要です。 世の中にはフルスクラッチで物理エンジンを作れる人間と作れない人間が居ると思われますが、残念ながら私は後者でした。勝ち目の薄い勝負は避け、素直に巨人の方にすが

    岡田を切る技術 - Qiita
  • 競技プログラミングで使う有名グラフアルゴリズムまとめ

    0. はじめに AtCoderなどでは、グラフを扱った問題が多く出るが、その度に一から実装していると時間が掛かりすぎてしまうため、有名なものをあらかじめ持っておく必要がありそう。そこで、Pythonを用いて、ダイクストラ法、ベルマンフォード法、プリム法、クラスカル法、ワーシャルフロイド法を実装した。 コメント、意見等ある方は是非! お待ちしてます! 1. ダイクストラ法 1.1. ダイクストラ法(defaultdictで実装) defaultdictで実装すると、リストで実装するよりも、ノード数$N$が大きい際には高速に動作する。ただし、経路復元の関数は、うまく書けなかった......。 (2019/7/6 追記)結局できました。1.1.1. を参照してください。 import collections import heapq class Dijkstra: def __init__(se

    競技プログラミングで使う有名グラフアルゴリズムまとめ
  • React Tokyo with ZEITカンファレンスメモ - Qiita

    概要 React Tokyo with ZEIT に参加してきました。 カンファレンスの内容を自分なりに理解した範囲で残しておきます。 自分の理解不足により正確に表現できていないところも多々あると思いますので、参加していらっしゃった方がもしご覧になっていたらどうかご指摘お願いします。 発表内容 1. SPR(Serverless Pre Rendering)について Guillermo Rauch氏 (from ZEIT) staticが良い! 計算(computing)させるとどうしても遅い 静的(static)なものは速い キーワードとなるのは「キャッシュ(cache)」 キャッシュすることでビルドはめっちゃ速くなる staticはstaticでしかない。動的(dynamic)なデータでレンダリングしたい 単純なtypoを修正するだけでもデプロイには時間がかかる そこで、Serverl

    React Tokyo with ZEITカンファレンスメモ - Qiita
  • ESLint v6.0.0 の変更点まとめ - Qiita

    前 v5.16.0 | 次 v6.1.0 We're excited to announce that ESLint v6.0.0 has been released: https://t.co/EO4ZrZIMYM — ESLint (@geteslint) 2019年6月22日 ESLint 6.0.0 がリリースされました。 既存の機能を改善するための非互換な変更があります。特に、グローバル インストール (npm install -g) された ESLint コマンドを利用している場合、今まで通りには利用できない可能性が高いです。逆に、ローカル インストールを利用している場合はほとんど変化を感じないかもしれません。 また、先日の TC39 会議で Dynamic Imports と BigInt が採択されたため、ESLint でもそれら構文の実装が開始しました。進捗状況は #11

    ESLint v6.0.0 の変更点まとめ - Qiita
  • TypeScriptの型におけるJSXサポートが100%分かる記事 - Qiita

    TypeScriptJavaScriptに静的型を付けることができるAltJSです。2015年9月に登場したTypeScript 1.6ではJSXのサポートが搭載され、.tsxという拡張子を用いることでJSXを含むコードを書いたり型チェックしたりすることができます。 JSXはJavaScriptに対してHTML(あるいはXML)のタグのような構文を導入する拡張記法です。以下の例のようにJavaScriptプログラム中に式としてタグを書くことができます(https://facebook.github.io/jsx/ から引用): // Using JSX to express UI components. var dropdown = <Dropdown> A dropdown list <Menu> <MenuItem>Do Something</MenuItem> <MenuItem>

    TypeScriptの型におけるJSXサポートが100%分かる記事 - Qiita
  • xUnit Test Patternsから学ぶ12個のユニットテストの原則 - Qiita

    エントリは、xUnit Test Patterns: Refactoring Test Codeという書籍の「Chapter5 Principles of Test Automation」の内容をベースに、12個のユニットテスト原則についてまとめていきます。この書籍は、2007年に販売されたものですが、今でも十分役に立つユニットテストに関する原則を伝えています。 ウェブでは、次のURLでも内容を見ることができます。 自動ユニットテストの原則 ここで紹介されるものは、ユニットテストで確認したい quality のリストです。ですので、直接適用する「パターン」ではありません。 「何をやるか」よりも「なぜやるのか」という観点においてまとめられています。 エントリでは、xUnit Test Patterns: Refactoring Test Codeで紹介されている12個の原則をベースに、ほ

    xUnit Test Patternsから学ぶ12個のユニットテストの原則 - Qiita
  • ブラウザレンダリング入門〜知ることで見える世界〜 - Qiita

    はじめに 『レンダリングの仕組みなんて知らなくても、ブラウザが勝手にやってくれるじゃん!』 当時駆け出しのエンジニアだった私はそう思っていました。 実際、当時の私はレンダリングの『レ』の字も知りませんでしたが、特に業務上で問題はありませんでした。 しかし、その時は突然訪れました。 クライアントの要望でアニメーションを多彩に取り入れた案件を実装した際に、テスト段階で一部ブラウザ(S○f○ri、E○ge)でアニメーションがひどい状況になっていることが発覚しました。 (開発中はChromeで確認を行っており、Chromeでは特に問題はなかったので発覚が遅れました。) それからは、狂ったようにパフォーマンスの改善方法をググり、修正する日々が続きました。(最終的には、なんとかマルチブラウザでの動作も担保し、納品まで完了しました。) その案件が落ち着いた後、改めて自分の調べたことを振り返ると、局所的な

    ブラウザレンダリング入門〜知ることで見える世界〜 - Qiita
  • use-react-redux-context で redux 環境下で React Hooks を使う - Qiita

    で使えます。が、 peer deps として react react-dom react-redux redux がいるので、今までの redux スタック全部盛りでもあります。 これは何 ReactRedux connect を、Context API と useContext で置き換えようとしたものです。 その過程でパフォーマンスチューニングする余地を大量に入れ込んでいます。 hooks で redux を置き換えるものではなく、react-redux と協調するものです。 簡単な使い方 ReactRedux の Provider の下で、mapState される props を持つ Context を生成し、それを useContext できる、というもの。 import { Provider as ContextProvider, Scope } from "use-react-

    use-react-redux-context で redux 環境下で React Hooks を使う - Qiita
  • fly.io で React アプリケーションの SSR を行う - Qiita

    import React, { Dispatch, useContext, useReducer, useState, useCallback } from "react"; import { Route, Switch, Link } from "react-router-dom"; import styled, { createGlobalStyle } from "styled-components"; import { Action, reducer, RootState } from "./reducer"; import * as actions from "./reducer"; // RootState context export const RootContext = React.createContext<RootState>(null as any); export

    fly.io で React アプリケーションの SSR を行う - Qiita
  • OpenAM で FIDO2(WebAuthn) ユースケースを考える - Qiita

    FIDO2とは [FIDO2 ≠ WebAuthn] ではなくて、 [FIDO2 ≒ WebAuthn + CTAP] こちらが近い FIDO2とはFIDOアライアンスが考えた、パスワードレスでユーザーをパスワードの呪縛から解き放つ、より安全で使いやすい認証の仕組みです。 FIDOの頃のUAFとかU2Fの上位互換というわけではなく、普及しやすいように作り直した新規格です。 そして、FIDOアライアンスは FIDO2 の動作に必要な機能(ブラウザと認証サーバー間の部分 図1参照)をW3CへWebAuthn規格として提言しており、現在はCandidate Recommendation(勧告候補)まで進んでいます。 2019/3/4にW3C勧告になりました。 https://www.w3.org/TR/webauthn/ W3C Candidate Recommendation, 7 Augus

    OpenAM で FIDO2(WebAuthn) ユースケースを考える - Qiita
  • エンジニアリング組織論への招待:リファレンスガイド第1章/第2章 - Qiita

    はじめに 稿は、拙書のエンジニアリング組織論への招待~不確実性に向き合う思考と組織のリファクタリングに関する参考となる書籍を企画意図とともにあげていく試みです。できる限り、専門書ではなく平易な文体の書籍を参考としてあげていきますので、このあたりを深掘りしたいなと思ったら、その箇所のみの参考書籍を併読していただけるとより理解が深まると思います。 Chapter 1 思考のリファクタリング 第1章は、「仕事」と「学力テスト」という2つの違いを論じながら、16世紀から20世紀初頭にいたるまでの科学哲学の歴史を辿っていくというのが「裏テーマ」となっています。そこから、「知識を得る」とは何かということを浮き彫りにし、それこそが<エンジニアリング>であると論じるということが書を通じた論理展開の骨子です。 そのため、直接の参照ではありませんが、科学という概念が西洋社会でどのように生まれてきたのかとい

    エンジニアリング組織論への招待:リファレンスガイド第1章/第2章 - Qiita
  • Vue.jsとFirebaseでOGP画像生成系のサービスを爆速で作ろう - Qiita

    はじめに 質問箱や、ボタンメーカー、診断メーカー等を始めとする 「OGP画像生成系」 を 2個以上作ってそれのベストプラクティスがわかってきたので、共有したいと思います。 宣伝 この技術を使ったサービスを実稼働2日ぐらいで作りました! 使い方は簡単です! メッセージカードを書いて、Twitterにシェアするだけ。 #嵐ありがとう OGP画像生成系サービスとは? 質問箱 みんなのボタンメーカー (。・ρ・)オシテミテ キズナアイな気分のときに押すボタンを作りました!みんな押してね!#キズナアイな気分のときに押すボタン#みんなのボタンメーカー https://t.co/2mzJUE48zj — Kizuna AI@hello,2019‼︎ (@aichan_nel) 2019年1月29日 「ツイッターでつぶやけるボタン」を簡単に作成できるサービスをリリースしました【個人開発】 すごくいいサービ

    Vue.jsとFirebaseでOGP画像生成系のサービスを爆速で作ろう - Qiita
  • TypeScript v3.3.0-rc 変更点 - Qiita

    こんにちはメルペイ社な@vvakameです。 TypeScript 3.3 RCがアナウンスされました。 What's new in TypeScriptも更新されています。 v3.3.0では破壊的変更は存在しない予定です。エライ! この辺に僕が試した時のコードを投げてあります。 変更点まとめ 関数などの呼び出し時にunion typesが絡む場合の挙動を改善 Relaxed rules on methods of union types 今までコンパイル通らなかったけど通るパターンが出た --build の --watch でインクリメンタルビルドがサポートされた File-incremental builds in --build --watch mode for composite projects --build は v3.0.0 で出たやつ この辺 今までは変更検知するとフルビル

    TypeScript v3.3.0-rc 変更点 - Qiita
  • Not Found

  • TypeScript on ESLint の未来 - Qiita

    The future of TypeScript on ESLint:https://t.co/PTCWKWN22s — ESLint (@geteslint) January 18, 2019 ESLintTypeScript サポートの今後について、公式にアナウンスがありました。 要点をまとめると、 TypeScript チームが TSLint から ESLint に切り替えていくと発表したよ。 ESLint チームと TypeScript チームが協力して開発を進める場として、typescript-eslint プロジェクトを開始したよ。 既存の部品は新しいプロジェクトの org に移動するよ (typescript-eslint-parser は @typescript-eslint/parser になる、等)。 という感じです。 以下は公式アナウンスの翻訳です。 数週間前、

    TypeScript on ESLint の未来 - Qiita
  • ZOZO大忘年会でFirebaseを使った1,000人規模のリアルタイムアンケートを費用2円で制作した話 - Qiita

    この記事はZOZOテクノロジーTECH BLOGにも同じ内容で投稿しています。よろしければ他の記事もご覧ください。 こんにちは! ZOZOテクノロジーフロントエンドエンジニアの高橋(ニックネームはQ)です(@anaheim0894) 昨年12/26、毎年年末に行われる大忘年会(ZOZOCAMP2018)で、グループ会社も含めた1,000人規模でのリアルタイムアンケートを、FirebaseとVue.jsを使って制作しました。 当日会場にて弊社の昨年の事業紹介や、「楽しく働く」というコンセプトの動画を流し、動画の合間で質問をし動画と一体となるような演出を行いました。 その質問に対して全社員それぞれのスマートフォンで回答できるシステムを作ったので、その制作の裏側や、当日の様子などご紹介させていただきます。 まずは当日の様子の紹介 これを実現するまでの様子をご紹介いたします。 CAMP運営

    ZOZO大忘年会でFirebaseを使った1,000人規模のリアルタイムアンケートを費用2円で制作した話 - Qiita
  • 画像処理100本ノックを作ったった - Qiita

    画像処理が初めての人のための問題集をつくったりました。(完成!!) 研究室の後輩用に作ったものです。 自然言語処理100ノックがあるのに、画像処理のがなかったので作ってみました。 あくまで趣味ベースで作ったものなので、プルリクエストは受け付けてますが依頼などは一切受け付けません そこをご理解頂けた方のみご利用下さい 画像処理の基のアルゴリズム理解につながると思います。 pythonのnumpyの練習にもなると思います。(2019.3.8 C++もつくってますーー) ぜひぜひ下のgitをやってみてください。 [HP]https://yoyoyo-yo.github.io/Gasyori100knock/ [Git]https://github.com/yoyoyo-yo/Gasyori100knock ★追記 2020.5.8 環境構築の手間をなくすために、Google Colabに修正

    画像処理100本ノックを作ったった - Qiita
  • Visual Studio CodeでFlowTypeのエラーを表示する - Qiita

    FlowTypeが気になっているので、Visual Studio CodeでFlowの型チェックを表示する方法を調べました。プラグインをインストールすると、Flowのエラーをエラーパネルに表示できます。 1. [View]→[Command Pallet]でコマンドパレットを開き、「Extensions」と入力して[Extensions : Install Extensions]を矢印カーソルで選び、エンターキーで決定する。 2. 拡張機能の一覧画面が表示されるので、「flow」と入力し、「Flow Language Support」をクリックする。 3. [Install]ボタンを押し、インストールする。 4. [Code]→[Preferences]→[Settings]→[WORKSPACE SETTINGS]をクリックする。[.vscode/settings.json]の編集ができ

    Visual Studio CodeでFlowTypeのエラーを表示する - Qiita