よくよく考えると、20世紀においてコンピュータシステムが関わる領域など一部も一部だったわけで、机の上にパソコンはなく、紙とペンと電話機くらいしかなかった。そこに現れたデジタルによって、人間は自由になったのだろうか。今の時代ワープロと表計算くらいはできないと、みたいなムーブメントがあって大半の人が、ワードとエクセルはできるようになった。そこから少し遅れて、パワーポイントがやってきてプレゼンテーションのやり方を学んだ。 当初は自分のパソコンにデータがあり、フロッピーディスクに保存して他人に渡すようなことをしていたがフロッピーだらけになったので、社内LANというのがいいよと、ファイルサーバーが流行した。ただ、次はアクセス権限が煩雑になったので、ドメインの考え方が重要になり、今ではActive Directoryが社会の中心にある。 さて、本当に、皆便利になったのか。みんなワープロや表計算、プレゼ
RFIDシステム用プログラム開発の心得 RFIDシステムプログラミングバイブル(1) RFIDシステムに必要なプログラムの実装方法はベンダによってクセがある。代表的なベンダの製品ごとに心得を説く ・メーカーごとにプログラミングのクセがある ・UHF帯RFIDシステムの雄「モトローラ」 ・XR480-JPの基本情報 ・モトローラ機器のプログラミング ・モトローラ機器のモードとアクセスメソッド ・連載に共通なサンプルプログラムの仕様 モトローラ製「XP480-JP」のプログラミングを学ぶ RFIDシステムプログラミングバイブル(2) XP480-JPで動作するリーダ/ライタ用プログラムを開発する。読み取り方法とデータの格納方法を検討しよう ・XP480-JPのプログラミングのクセをおさらい ・サンプルプログラムのフローチャート ・サンプルプログラムの実行結果 ・メインモジュールのソースコードを
Path.IsPathFullyQualified メソッドを呼び出すことで、ファイル パスが完全修飾であるかどうか (パスが現在のディレクトリに依存せず、現在のディレクトリが変更されてもパスは変わらないかどうか) を判断できます。 そのようなパスには相対ディレクトリのセグメント (. や ..) が含まれている可能性があり、解決後のパスが常に同じ場所を指す場合、完全修飾できることにご留意ください。 次の例では、絶対パスと相対パスの違いを示します。 ディレクトリ D:\FY2018\ が存在すること、この例を実行する前に、コマンド プロンプトから D:\ に現在のディレクトリを設定していないことを想定しています。 using System; using System.Diagnostics; using System.IO; using System.Reflection; public
パッケージ管理システムを使ってインストール これまで主要なプラットフォーム(Windows、macOS、Linux)にRustをインストールする方法やアンインストールする方法、アップデートする方法を説明した。この方法はRustチームが紹介しているオフィシャルな方法だ。しかし、Rustをインストールする方法はほかにもある。 macOSやLinuxを使っているなら、これまで紹介したようにコマンドやプログラムごとにインストールを行うことは稀だろう。パッケージ管理システムを使ってコマンドやプログラムのインストール、アンインストール、アップデートを行うことが多い。同じ操作でインストールやアンインストールが可能で、アップデートの手間も一括で終わる。 Appleから正式なパッケージ管理システムは提供されていないが、macOSにはサードパーティ製のパッケージ管理システムがいくつか存在している。ここではそう
パトリック・ミッケンジー(Patrick McKenzie)さんのブログ・エントリ、 “Falsehoods Programmers Believe About Names” の日本語訳です。翻訳の公開を快諾してくださったミッケンジーさんに感謝します。 公開: 2012-02-22 Posted on June 17, 2010 by Patrick きょう、ジョン・グレアム゠カミング(John Graham-Cumming)が、正しくない文字が含まれているといって彼のラスト・ネームを受け付けないコンピュータ・システムへの不満の記事を書いていた。もちろん彼の名前に「正しくない」ところなどない。当人の申し出たものが当人を識別するものとしては相応しいのであって、定義からして名前とはそういうものである。このことにジョンは当然ながらいらだったし、そうなるのもきわめて正当なことだ。定義からすれば事実
10 年前の今週、Linux カーネル コミュニティは困難な問題に直面しました。すなわち、バージョン管理システム BitKeeper を使うことができなくなり、他のソフトウェア構成管理 (SCM) システムも分散システムのニーズを満たすことができませんでした。Linux の生みの親 Linus Torvalds は自らこの困難に立ち向かい、週末をはさむ 10 日間くらいの間雲隠れし、翌週には Git を持って登場しました。今日、Git は何千というプロジェクトで利用されており、プログラマーの間に新しいレベルのソーシャル コーディング形態をもたらしました。 この記念すべきマイルストーンを祝うために私たちは Linus に Git の舞台裏やこのプロジェクトに対する彼の考え、またこのプロジェクトがソフトウェア開発に与えた影響について話してもらいました。本記事は彼のコメントです。この質疑応答に続
概要 要件定義(requirements definition)とは、システムやソフトウェアの開発において、実装すべき機能や満たすべき性能などのを明確にしていく作業のこと。いわゆる上流工程の一部で、実際の開発・実装作業を始める前に行う作業の一つである。 要件定義では、利用者がそのシステムで何がしたいのかを元に、それを実現するために実装しなければならない機能や、達成しなければならない性能などを開発者が検討して明確にしていく。 まとめられた成果は「要件定義書」として文書化されることが多い。一般的にこの段階では「何が」必要なのかを定義するに留め、それを「どのように」実現するかは後の工程で検討される。 主に利用者側の視点から業務手順を明確化して分析し、情報システムで何がしたいのかをまとめる工程と、これを元に開発者側の視点からシステムが何をすべきか、何が必要かをまとめる工程に分割して考える場合もあり
各関数は、指定したデータ型に式を強制的に変換します。 構文 CBool( expression ) CByte( expression ) CCur( expression ) CDate( expression ) CDbl( expression ) CDec( expression ) CInt( expression ) CLng( expression ) CSng( expression ) CStr( expression ) CVar( expression ) 必須の expression引数 は、任意の文字列式または数値式です。 戻り値の型 次に示すように、戻り値の型は関数名によって異なります。 関数 戻り値の型 引数 expression の範囲
当ページでは、システムテスト(総合テスト)についてご紹介します。 ■システムテストとは システムテストは総合テストとも呼ばれ、ソフトウェアおよびシステムの検証手法の1つです。 構築したシステムが全体で予定通りの機能を満たしているか、また機能や性能が仕様書通りに構築できているかを検証することです。 単体テスト、結合テストの実行後に、本番とほぼ同じ環境でテストを実施します。(開発環境でのテストでは発見できない不具合を検出するため。) ▼V字モデルにおけるシステムテストの位置づけ ■システムテストの進め方 一般的にシステムテストの流れは下記のとおりです。 1.計画 2.テスト環境構築 3.テスト項目作成 4.テストデータ準備 5.テスト手順準備 6.テスト実行 7.評価 テスト全体の計画がうまくいかなかったり、計画自体が円滑に機能しない、または流れの中で手詰まりが発生すると、当然ながらプロジェク
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "サービス指向アーキテクチャ" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2022年12月) ソフトウェア工学において、サービス指向アーキテクチャ(サービスしこうアーキテクチャ、Service-oriented architecture、SOA, 「エスオーエイ」あるいは「ソーア」と発音)とは、大規模なコンピュータ・システムを構築する際の概念あるいは手法の一つで、業務上の一処理に相当するソフトウェアの機能をサービスと見立て、そのサービスをネットワーク上で連携させてシステムの全体を構築していくことを指す言葉である。業務処理の変化をシステム
システムエンジニア Advent Calendar 2015 - Qiita 20日目の記事です。 システム開発をしていると、他システムのマスタやトランザクションデータが必要となる場合がよくありますね。 システム間のデータ連携としては、 リソース共有(データベース共有、ディスク共有) アプリケーション連携(RPC、Web API、MOM1) ファイル連携(CSV連携、etc) などの方法がありますが、ここではデータベース共有を実現するためのデータベース連携方式について考えてみたいと思います。 データベース連携方式について 既存システムがレガシーであったり、違うベンダーが構築したサーバーであるなどの理由で、新機能や拡張機能を別のサーバー上で新システムとして構築する場合があります。もちろん、データベースも新たに用意する場合が多いのですが、その場合は既存システムには極力修正をいれない方針でデータ
はじめまして、木村 廉と申します。現在神戸大学大学院の修士2年生で、システムソフトウェアの脆弱性検出やself protectionについて研究しています。 § 実はこのコラム執筆のお誘いをいただいた時、はじめはお受けするかどうか少し迷いました。というのも、「GeekOut」の過去のコラムを見ると、執筆者の皆さんは最前線で活躍されている方ばかりで、一介の学生の私では見劣りするような気がしたからです。 しかしながら、私もエンジニアの端くれですので、他のエンジニアと差別化できる強みも多少は持っています。そしてそれは、幸いにも他の人とかぶりづらいマニアックな部類のもので、参考にできる資料も多くありません。 その強みとは、OSやハイパーバイザ(コンピュータを仮想化するための制御ソフトウェア)といった、基本的な制御を行うシステムソフトウェアを開発したり、それに手を入れたりすることです。いわゆる“低レ
プログラマーはクソコードが大好きです。プログラマーが仕事を進める上でクソコードは本来全力で回避するべき対象であるにも関わらず、プログラマーはクソコードの話題が大好きです。みんな張り切って自分が経験してきたクソコードの話で盛り上がります。 昨日こんなツイートをしました。 プログラマーとして数年経験していれば誰でもクソコードの1つや2つ見たことあると思いますが、今まで「これはクソ」と思ったコードにはどんなものがありましたか?リプ欄で共有いただければ幸いです。 — 米村歩@日本一残業の少ないIT企業社長 (@yonemura2006) April 26, 2018 そうしたら出るわ出るわ。皆さんのクソコード事例集があっという間に集合知として蓄積されていきました。エンジニアであれば誰しもクソコードの話題では盛り上がらざるを得ないわけですが、今回上記のツイートを私はある意図があって投稿しました。 そ
『人工知能システムのプロジェクトがわかる本 企画・開発から運用・保守まで』は、まだ世にほとんど存在しない人工知能の運用・保守に関するノウハウを詰め込んだ教科書的な1冊です。 本書は開発者よりもむしろ、これから自社システムに人工知能を導入したいと考えている方や、実際に音頭を取るプロジェクトマネージャー向け。人工知能システムの特徴や注意点をまとめ、企画書やベンダーへの提案書の書き方、トライアルの手法や要件定義のポイントもしっかり解説しています。 付録には自社システムに人工知能を導入する際の参考になる、「開発提案書」や「トライアル分析提案書」などのすぐに使えるテンプレート集も用意しました。 本書を通してプロジェクトや開発状況の進捗における良し悪しを判断できる知識を身につけることで、開発者・ベンダーに改善や要望を的確に伝えられるようにもなるでしょう。 人工知能を育てるという視点に立ち、人と協調して
お盆休みに入る前にTwitterに以下のツイートを投稿しました。 ステップ数で評価しようとするどこかのシステム開発会社みたいだなw https://t.co/67ujbhVoUn — 米村歩@日本一残業の少ないIT企業社長 (@yonemura2006) August 10, 2017 あるんですよ。一番困ったのはステップ数に応じて「検出されるはずのバグ数」という指標もあって、その数の分だけバグが検出されないと試験が正しく実施されていないと判断されてしまうことがありました。プラグインで自動生成されるコードにまでその指標を押し付けられ…バグなんて出るはずもなく…。 https://t.co/oM4zT3oolb — 米村歩@日本一残業の少ないIT企業社長 (@yonemura2006) August 10, 2017 私自身が客先常駐の現場でシステム開発に携わったのはフリーランスの頃なのでも
セキュア・プログラミング講座 目次 はじめに ................................................................................................................................. 1 本書の対象読者................................................................................................................... 2 注意事項...................................................................................................................
バッチ処理というのはそれ単体で勉強しようとするとなかなか何を勉強したらいいのかわからないことが多い。 特に経験がWeb系ばっかりだと、いざバッチ処理を実装しようとした時に基本的なノウハウを知らないままに書いてしまうことが多い。 バッチ処理というのは実態を整理すると「何らかのトリガーを期に起動し、データをロード・加工・変換・集計してから、出力する」という事になる。 まぁ、INがあって処理してOUTがあるという点では関数だと考えてもいいだろう。 システムの利用者(人に限らない)のアクションとは直接関係ない処理であったり、利用者のアクションをトリガーとしていても、即時にレスポンスがいらないor返せない場合に バッチ処理を選択する事が多い。 実現方式はシェルスクリプト、LL言語、実行可能バイナリだったりするし、デーモンとして立ち上げる場合もある。 利用者の操作に対して対話的・同期的な処理はオンライ
業務システムのあり方を構想する際には、論理設計と物理設計とをフェーズ分けしたほうがいい。システム要件を仕様化しやすくなるだけでなく、スキル育成や効率改善の基礎となるからだ。それはソフトウエアの特性にもとづくプレゼントのようなもので、ありがたく活用したい。 そもそも「論理設計」とは何か。「受注情報だけを管理する」という単純なシステム要件があったとしよう。その際、たとえば以下のような「論理定義」がまとめられることになる。 1.業務構成 受注登録業務、受注保守業務、受注照会業務 2.データ構成 受注見出しテーブル、受注明細テーブル 3.機能構成 受注一覧機能、受注登録機能、受注保守機能、受注照会機能 ここでは定義要素の字面だけが示されているが、それぞれ独特な形式の詳細情報を伴う。たとえば「業務構成」は「いつ誰がどのようにこのシステムを利用するか」についての定義のまとまりなのだが、それぞれ「いつ(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く