この文書は、MacOS X上で、上山大輔氏の開発したテキストエディタmi、および、浅海智晴氏の開発した文書処理システムSmartDocを使用して作成しています。これらのソフトを開発し、無償で利用させて下さっている両氏に深く感謝致します。
この文書は、MacOS X上で、上山大輔氏の開発したテキストエディタmi、および、浅海智晴氏の開発した文書処理システムSmartDocを使用して作成しています。これらのソフトを開発し、無償で利用させて下さっている両氏に深く感謝致します。
はじめに ドメイン駆動設計(DDD)とは、2003年にエリック・エヴァンス氏が『Domain-driven design』という書籍にて提唱したソフトウェア開発手法です。DDDを簡単に説明すると「顧客と開発者が業務を戦略的に理解し、共通の言葉を使いながらシステムを発展させる手法」です。具体的には、チームの共通言語である「ユビキタス言語」を用いて「ドメインモデル」を構築し、それをコードとして実装します。また大規模で密結合なシステムにならないように「ドメイン」と「境界づけられたコンテキスト」にてシステムを分割し、「コアドメイン」という最重要領域に集中して開発を行います。 ソフトウェア開発の課題とDDDが解決すること DDDの登場から10年以上が経ち、DDDは着実に普及しつつあります。DDDが普及してきている背景として、システム開発がますます多機能/複雑になり、ビジネス的にも敏速な変更が求められ
こんにちは。高橋です。技術1課に所属し、楽しい日々を送っています。 さて今回は、たまに聞くけどよく分からない「サーバレスアーキテクチャ」のご紹介をします。 サーバレスアーキテクチャを一言で表しますと、「サーバを自前で用意せず、マネージドサービスを活用してシステムを構築する」となります。 ちなみに一部のエンジニア界隈では「EC2使ったら負けだよね」の空気があります。「バイオハザード2でナイフ以外使わない」といった縛りプレイみたいなものです。 マネージドサービスとは? マネージドサービスはご存知の通り、サービスの運用管理をAWSが担うものです。例としてストレージサービスのS3は、冗長化や障害対応、ストレージの拡張全てをAWSが行います。そのためユーザはアップロードしたオブジェクトの管理のみ行えば良いのです。 自前でストレージを運用していると「ヤバイ!障害が起きた!対応しなきゃ!」「ヤバイ!スト
はじめに みなさん、こんにちは。第5回の今回はミドルウェア(Web、AP、DB)について詳しく解説していきます。ミドルウェアは、普段パソコンを使用している時には全く意識しない部分ですが、インフラエンジニアにとっては絶対に避けて通れない存在です。 本連載では、これまでサーバ、ネットワーク、仮想化・クラウドと解説してきましたが、ミドルウェアを理解できればインフラエンジニアとしての下地は完成します。分類や製品も多種多様で、一見するととっつきにくい印象を持つ分野でもありますが、そのような漠然とした苦手意識を払拭していければと思います。 ミドルウェアとは ミドルウェアとは、”middle”と名の付く通り、アプリケーションとOSの中間的な処理を行うソフトウェアのことです。「中間的な処理」と言われてもピンとこない方が多いと思いますが、あまり難しく考えず「ある機能に特化してOSとアプリケーションを補助する
両氏はこのプレゼンテーションの中で、それぞれの役割の違いから対立することの多い開発者(以下、Dev)と運用者(以下、Ops)の対立構造を次のように示した。 Devの役割が“システムに新しい機能を追加する”である一方、Opsの役割は“システムの安定稼働”である。そのため、Devが新しい機能を追加したくても、Opsはシステムの安定稼働のために変更を加えたがらない、という対立構造が作られてしまっていた。 しかしDevとOpsのそれぞれのミッションは(DevOpsの概念と同じく)、どちらも「システムによってビジネスの価値をより高めるだけでなく、そのビジネスの価値をより確実かつ迅速にエンドユーザーに届け続ける」ことである。そのミッションを達成するための手段が、上記のとおりDevは“システムに新しい機能を追加する”であり、Opsは“システムの安定稼働”なのである。つまり、同じ「ミッション」を掲げている
企業のホームページや、ニュースなどの情報サイトでは、常に大量のWebページを扱い頻繁に更新しています。このような大規模なWebサイトでは、手作業で1ページずつHTMLとCSSを記述していては膨大な作業量になってしまいます。 現在では多くのWebサイトで「コンテンツマネジメントシステム(Contents Management System = CMS)」と呼ばれる、Webサイトを構成するテキストや画像などのデジタルコンテンツを統合・体系的に管理し、配信など必要な処理を行うシステムを使用しています。CMSを利用することで、簡単にページを追加、更新、管理することが可能となり、またサイト全体のデザインの統一やアクセス解析など、様々な機能を使用することが可能となります。 CMSには無料のもの、有料のもの、サーバー側で使用する言語などに応じて様々なシステムがあります。現在CMSのマーケットシェアは、圧
はじめに この記事について そもそもカルマンフィルタってなに?なんのためにあるの? 何を受け取って,何を出力しているの? どういう原理で動いているの? 最適カルマンゲインってなに? というところを解説していきます. わかりやすさの向上のため,わかりにくいところや気づいたことがあれば気軽にコメントしてください. 書かれていないこと この記事ではカルマンフィルタの考え方を知っていただきたいので,最適カルマンゲインの導出方法やその先のことは書かれていません. \newcommand{\Xtrue}{\mathbf{x}^{true}} \newcommand{\Xest}{\mathbf{x}^{est}} \newcommand{\Xodo}{\mathbf{x}^{odo}} \newcommand{\Xobs}{\mathbf{x}^{obs}} \newcommand{\xtrue}{x
計算機科学特論 I レポート課題1 線形システムの同定 1 はじめに システムの解析,予測,制御,シミュレーション及び異常診断のため,システムの動特性を知 る必要がある.システムの入出力信号の観測値に基づいて,ある評価規範のもとでそのシステ ムをもっともよく記述する数学モデルを決定することをシステム同定という.このような統計 学に基づいた同定法は大量かつ複雑なデータ処理を必要とするが,ディジタルコンピュータ の発達はこのようなデータ処理を可能とした.したがって,この 20 年間に,システムの解析, 予測,制御などの基礎となるシステム同定理論の進歩はめざましく,成熟しつつある.現在で は,最小二乗法で代表されるシステムのパラメータ推定手法は実システムに使えるようにな り,工学の基礎技術の一つに数えられるようになった. 本演習は,2 次の離散時間線形システムのパラメータ推定問題をシミュレーシ
覚えること 線形時不変システム インパルス応答 たたみこみ 目次 線形時不変システム (課題Aと課題Bを含む) システムとインパルス応答 インパルス応答を用いた線形時不変システムの入出力関係 課題 補足 1) MATLABサブルーチンの作り方 参考文献 3-1線形時不変システム 信号処理ではシステムの設計が問題になります。 上図の様に入力信号がシステムを通ると出力信号に変換されます。 このシステム(?部分)が「線形」性と「時不変」性の性質を持つ仮定する、計算の取り扱い上 都合が良くなります。 1)線形システム 線形システムは、重ね合わせの原理が成り立ちます(下記の図参照)。線形システムだと入力の全体で システムを通す必要がありません。個別のシステムの出力が計算済みなら、後で係数倍して個々の和 をとるだけで全体のシステムの出力を求めることが出来ます。 ではフーリエ変換が線形システムか否か調べ
古典制御理論では,例えば力学系の場合,運動方程式ラプラス変換システムの伝達関数という流れでシステムの特性を考察した.これに対し,現代制御理論では,運動方程式状態変数の導入状態方程式という流れでシステムの特性を考察している. ここでは,上記のような古典制御と現代制御の流れの整合性を取るため,スカラー系において,伝達関数表現と状態方程式表現との関係を述べる. [状態方程式伝達関数] スカラ入力,スカラ出力を持つ 線形システムの状態方程式表現
講義ノートの目次へ 制御工学で,現代制御理論の講義ノート。 古典制御論ではおもに伝達関数と複素函数論を使い, 周波数領域で安定性を解析した。 いっぽう現代制御論では,状態方程式と線形代数を使って, 時間領域で線形システムの分析と設計を行なう。 下記のノートで独学できる。 ※事前の復習として,古典制御のノート,線形代数のノート,微分方程式のノートも参照。 現代制御論の講義ノート しっかり学べるPDF: 制御理論II(3年後期) http://www.sd.te.chiba-u.jp/sites/def... 千葉大,223ページ。 1.線形システムの表現 2.線形システムの構造解析 3.線形システムの安定性 4.システムの性能 5.線形システムの安定化 6.安定化制御器のパラメータ化 7.フィードバック制御の限界 8.非線形システムの安定論 9.フィードバック線形化 線形制御理論(講義資料)
RTミドルウエアとROSについて,ysugaも比較してみました. 2015年10月2日修正 まず, RTミドルウエアとROSは比較しても・・・ね? RTミドルウエアという言葉は,ロボット用のミドルウエアの総称のようなものです.細かく言えば,RTミドルウエアって言葉が指すものは,RTミドルウエアのプロジェクトで提案された通信規格に準拠しているミドルウエアの総称でしょうから,つまり,OpenRTM-aistやOpenRTM.NET,OROCOS,OpROS, Gostai-RTC, miniRTC, microRTC, RTC on Androidなどなど,RTミドルウエア規格に準拠/一部準拠するソフトウエアの総称なので,実装レベルで動いているROSと比較するのは結構ナンセンスだと思っています. RTミドルウェアの規格とは,Object Management Group (OMG) という国際
はじめまして! 株式会社 Aiming の土井です! エンジニアをやっております! 今回の開発者ブログでは、情報共有ツールとしての UML の活用方法について、現場での取り組みをご紹介させていただければと思います! 技術仕様書の“図” どうやって書いてますか? 株式会社 Aiming では、プロジェクトの Wiki やバグトラッキングに Redmine をメインに使っています。みなさんも既にご存知だったり、実際にバリバリ活用されていることとおもいます。 また、企画仕様書、技術仕様書などは Redmine の Wiki やエクセルに代表されるオフィススイート等を活用して作成しますが… 図の表現を求められるような仕様書を作る時に、どうやって作成しようか悩んだことはありませんか? 標準ペイントソフトで頑張って作成 オフィススイートに含まれる、ドローツールを使って図を作成、画像吐き出し というケー
バッチのまとめTOPへ Windowsで無線LANを使っていて,電波が弱く,接続が途切れる。 しかも,自動的に接続が復旧せず,「制限つきアクセス」を手動で解除しなければならない。面倒だ。 そんなとき,自動的にネットに再接続してくれるツールがあったら便利だ。 何もしなくても,ネットが切れたら再びつないでくれる。 そんなバッチを,BATファイルとして作ってみた。 下記のバッチを「管理者権限で実行」して,ただ放置すればよい。 @echo off rem rem 無線LANが落ちていたら,自動的に再接続するバッチ rem rem 残り秒数をそのつど変化させて表示するために,変数の遅延展開が必要 setlocal enabledelayedexpansion rem 処理が終わったらここに戻ってくる :START rem 何秒間待機するか SET COUNTDOWN_MAX=10 rem 変数の遅延
上流工程から下流工程までをカバーした,工程別のシステム開発のTips。 プロジェクト中に利用しやすいように,必要になる順番にまとめてある。 (1) プロジェクトの立ち上げと要件定義 (2) 開発環境とリポジトリの構築 (3) ドキュメント(作成支援と管理) (4) ドキュメント(個別) (5) 外部設計 (6) 内部設計 (7) 実装工程 (8) テスト工程 (おまけ) 開発中のエンジニアの心がけや習慣 (1) プロジェクトの立ち上げと要件定義 要件定義: 「要件定義」を理解しよう (要求・要件の3レベルのまとめ) プロジェクトマネジメント: アジャイル開発・スパイラル開発のメリットを,リーン時代にまとめて振り返る (計画の立て方やテストの意義,デメリットの回避方法など) プロジェクトの用語集 テンプレート (検索ボックス付き Excel シート) チーム編成: 開発者のスキルチェック集
サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。 弊社はクラウドサービスcybozu.comを提供しています。 クラウドサービスでは障害対策のためのデータバックアップやレプリケーションが必須です。 現在ラボの星野がメイン、私はサブとして弊社サービスでの利用を目指した次期バックアップシステムWalB(GitHub)を開発しています。 WalBは、ファイルシステムとdiskの間に入ってIOを全て記録するブロックデバイスとIOのログを管理するツールからなるシステムです。 詳細はリンク先をごらんください。 発端 去年はラボ内の開発環境でテストを進め、本社でテスト運用を開始するのが目標でした。 ところがラボでテストを開始して4カ月後の2015年4月、不正なlogpackが検出されました。 logpackとはWalBで用いられるデータフォーマットの一つです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く