タグ

ブックマーク / atmarkit.itmedia.co.jp (19)

  • 5分で絶対に分かるSIP ― @IT

    SIP(Session Initiation Protocol)という言葉を聞いて、IP電話やVoIPといったものを思い浮かべる読者も多いのではないでしょうか? 確かにSIPは「IP電話のプロトコルである」といえますが、クライアントとサーバ間の通信が中心のインターネット上で、「クライアント同士の直接通信を実現」するという大きな機能と可能性を持つ技術なのです。VoIP/IP電話といったアプリケーションを基に、このSIP技術をひもといてみましょう。 電話をネットで再現する「SIP」 SIPが主に使われているVoIPは、その名のとおり音声をIPで伝えるアプリケーションです。音声をIPで単に相手に伝えることは意外と単純で、デジタル化された音声を細切れにしてパケットとして送信するだけです。このパケット送信には、通常RTP(Real-time Transport Protocol)というシンプルなプロ

    5分で絶対に分かるSIP ― @IT
  • 今、最も勢いのあるFinTech企業の1つ「freee」が明かすクラウドサービス開発の裏側とエンジニアの価値

    クラウドによって誰しもが大量のコンピューティングリソースをすぐに使える時代になり、開発・運用エンジニアにおいても「技術を実際のビジネスサイクルの中でどう効率良く、かつスピーディに生かすか」が重要視されている。そのために必要な技術や手法にも目を向けることによって、エンタープライズにおける、あるべきアーキテクチャ設計が見えてくる。 稿では、freeeにおけるシステム開発の事例や人材採用・育成戦略から「市場に求められる」「当の価値を持つ」エンジニアであるために必要な考え方や、手法をITアーキテクトの視点で考察したい。 ビジネスを加速するために重要なプラットフォーム選定の要素 freeeは、同名の中小企業向けクラウド会計・給与ソフトを開発・提供する2012年7月設立の若い会社だ。Excelに依存する中小企業の経理業務をスムーズにクラウドサービスへ移行し、記帳や決算書作成、請求書作成はもちろんの

    今、最も勢いのあるFinTech企業の1つ「freee」が明かすクラウドサービス開発の裏側とエンジニアの価値
  • 「インターネットVPN と HTTP-SSL、FTP-SSLなどの違い」(1) Security & Trust - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

  • 継続的インテグレーションツール「Jenkins 2.0」が登場

    オープンソースソフトウェアの継続的インテグレーション(CI:Continuous Integration)/継続的デリバリ(CD:Continuous Delivery)ツールとして広く使われている「Jenkins」の最新版「Jenkins 2.0」がリリースされた。 パイプライン機能の強化「Pipeline as Code」と「ステージビュー」 Jenkinsは、ソフトウェアの開発プロセスにおけるビルドやテスト、デプロイなどをジョブとして管理してジョブの実行を自動化するツール。これに加えて、一連の流れをパイプライン処理として定義、視覚化する機能がプラグインとして提供されていた。 Jenkins 2.0では、このパイプラインが標準機能としてサポートされ、ユーザーはGroovyのDSL(ドメイン特化言語)を使って、パイプラインをコードとしてモデリングできるようになった。このコードは、プロジェ

    継続的インテグレーションツール「Jenkins 2.0」が登場
  • 「訴えてやる!」の前に読む IT訴訟 徹底解説

    IT訴訟事例を例にとり、システム開発にまつわるトラブルの予防と対策法を解説する連載。今回は特別編として、IT紛争の回避と解決のプロフェッショナルであり、IT小説のクリエーターでもある細川義洋氏が、「セクシー田中さんドラマ化」問題を解説する。

    「訴えてやる!」の前に読む IT訴訟 徹底解説
  • 要件定義も設計もしてもらいましたが、他社に発注します。もちろんお金は払いません!

    要件定義も設計もしてもらいましたが、他社に発注します。もちろんお金は払いません!:「訴えてやる!」の前に読む IT訴訟 徹底解説(24)(1/3 ページ) 東京高等裁判所 IT専門委員として数々のIT訴訟に携わってきた細川義洋氏が、IT訴訟事例を例にとり、トラブルの予防策と対処法を解説する連載。今回も正式契約なしに着手した開発の支払いをめぐる裁判を紹介する。ユーザーの要請でエンジニアを常駐して設計まで進めた開発案件、「他社に発注することにした」はアリ? ナシ? 連載目次 IT訴訟事例を例にとり、トラブルの予防策と対処法を解説する連載。前回は、ユーザーとベンダーの間で、見積もり合意も正式な契約もないまま作業を開始したプロジェクトが中断した判例を取り上げた。 今回も、ベンダーが正式な契約書のないまま作業した例を紹介する。同じような事例で恐縮だが、それだけこういった紛争が多いということだ。

    要件定義も設計もしてもらいましたが、他社に発注します。もちろんお金は払いません!
    yutaka_kinjyo
    yutaka_kinjyo 2016/03/07
    こういう事例、もう少し収集したいな。
  • ユビキタスで支障を来すドメイン駆動設計

    目くばせだけを共通言語として開発を乗り切った例もあるそうです。次回は「hoge」です。 ドメイン駆動設計(Domain Driven Design, DDD):おすすめ記事・超まとめ アプリケーション・アーキテクチャ・ガイド2.0解説:AAG正式版について(@IT Insider.NET 2010年2月) ドメイン駆動設計(Domain Driven Design, DDD)は、ソフトウエアが適用されるドメイン(業務領域)を重視し、ドメインに含まれる要素と、その振る舞いや関係性を正確に反映させたモデルを構築することを重視した設計手法である 5分で絶対に分かるユビキタスIDアーキテクチャ(@IT Master of IP Network 2007年8月) ユビキタス社会とは、誰でも、いつでも、どこででも情報ネットワークを利用できる社会です。また、ユーザーが情報を意識せずにやり取りできるという

    ユビキタスで支障を来すドメイン駆動設計
    yutaka_kinjyo
    yutaka_kinjyo 2016/03/04
    いい話
  • 「Docker Cloud」が正式リリース

    Dockerは、あらゆるアプリケーションをどこでも作成、配布、実行できるようにするクラウドサービス「Docker Cloud」の正式リリースを発表した。 米Dockerは2016年3月1日(米国時間)、「Docker Cloud」の正式リリースを公式ブログで発表した。Docker Cloudは、Dockerが2015年10月下旬に買収したTutum(トゥタム)のサービスを拡張した新しいクラウドサービス。 Docker Cloudは、「Docker Hub」(公式Dockerレジストリ)、「Docker ID」(Dockerの全サービスで使用される新しいアカウント共有システム)、Dockerの公式リポジトリ、商用サポートされている「Docker Engine」(CS Engine)とネイティブに統合されており、Docker Cloudに関するディスカッションフォーラムも新たに用意されている。

    「Docker Cloud」が正式リリース
  • Scalaの基本的なコレクション4タイプと制御構文・例外

    Scalaの基的なコレクション4タイプと制御構文・例外:スケーラブルで関数型でオブジェクト指向なScala入門(3)(1/2 ページ) 基構文は、まだまだある 前回の記事「Scalaプログラミングで知っておきたい基構文まとめ」では、Scalaの構文ルール、基データ型と配列型の使い方、さらに演算子について紹介しました。今回はScalaのコレクションクラスの基的な使い方、条件分岐や繰り返しなどの制御構文やScalaでの例外の扱い方について紹介します。 第1回記事では、Scala標準のREPLとScala IDEで動作を確認してみました。今後記事のサンプルコードは、どちらで確認しても問題はありませんが、対話的に実行でき、1文ごとにコードの結果が分かって便利なので、基的にはREPLを用いて説明していきます。 Scala IDEを使用する場合、第1回記事の『Scala IDE for

    Scalaの基本的なコレクション4タイプと制御構文・例外
  • Scalaプログラミングで知っておきたい基本構文まとめ

    Scalaプログラミングで知っておきたい基構文まとめ:スケーラブルで関数型でオブジェクト指向なScala入門(2)(2/2 ページ) Scalaの配列型 「配列」とは同じ型のデータを複数持てるオブジェクトです。要素の順序を保持でき、「0」を先頭とする添字で任意の要素にアクセスできます。 Scalaで配列を使用するには、「Array」クラスを使います。Arrayは要素の型を「型パラメータ」(Javaでいう「Generics(ジェネリック型)」)として受け取って初期化します(※「型パラメータ」については、今後の連載で紹介します)。 例えば、Intの配列を定義するなら、「Array[Int]」とします。 配列のサイズは決まっていて、要素の値が決まっていない場合、配列の初期化は「Array[型名](配列サイズ)」と定義します。要素の値も決まっている場合、「Array[型名](要素1の値,要素2の

    Scalaプログラミングで知っておきたい基本構文まとめ
  • EclipseでScalaプログラミングを始めるための基礎知識

    EclipseでScalaプログラミングを始めるための基礎知識:スケーラブルで関数型でオブジェクト指向なScala入門(1)(1/3 ページ) 人気の「Scala」を一から学ぼう 最近、私の周りでもScalaに関する話題が増えてきました。Twitterやブログ、技術系のニュースサイトでは毎日のようにScalaに関連する話を見かけます。 また、筆者が現在携わっているプロジェクトでも実際にScalaを用いて開発しています。いままではJavaで開発をすることが多かったのですが、それよりも簡潔で柔軟性のある記述が可能であり、Scalaでの開発は非常に生産性が高いと感じています。 連載は、Scalaの特徴を紹介し、基構文や関数、クラスなど、Scalaの基的な機能について解説していきます。何らかのプログラミング言語を学んだことがあり、プログラミングの基的なことが分かる人を対象としています。特に

    EclipseでScalaプログラミングを始めるための基礎知識
  • 失敗するプロジェクトと成功するプロジェクト

    多様なプロジェクトの進め方がありますが、進め方を問わず、「成功するプロジェクト」に共通する要件は何なのでしょうか。 以下に最も重要だと思う2点を紹介します。 うまくいくプロジェクトの要件 コミュニケーションがプラットフォーム化しているプロジェクト 弊社、Cuonでの経験則になりますが、成功するプロジェクトは「コミュニケーションがプラットフォームとして成立しているプロジェクト」といえるのではないでしょうか。 『もしドラ』のヒットで日でも一般的に有名になったピーター・ドラッカー氏は、かつてこう言いました。 コミュニケーションで一番大切なことは、相手が口にしていない言葉を、聞き分ける力である。 この言葉には、「相手が全てのことを口にしているわけではない、もしくは全て言葉で表せるものではない」という意味が含まれていると思います。 プロジェクトを進める過程で、プロジェクトマネジャーに大事なことは、

    失敗するプロジェクトと成功するプロジェクト
    yutaka_kinjyo
    yutaka_kinjyo 2016/01/25
    “成功するプロジェクトは「コミュニケーションがプラットフォームとして成立しているプロジェクト」といえるのではないでしょうか。”
  • 初めてのOpenCV開発 ― CMakeを使ったOpenCVのカスタマイズ【OpenCV 3.1.0】 - Build Insider

    ご注意:記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「www.buildinsider.net」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。 1. はじめに 前回の記事では、OpenCVのデバッグ機能およびデバッグ支援ツールについて解説を行いました。今回は、CMakeを使ったOpenCVのカスタマイズ方法について紹介します。 1.1 カスタマイズのメリット 第3回で解説したように、インストーラーを用いた導入は「環境構築が容易」というメリットがある一方で、「インストーラー版で無効化されている機能については利用できない」というデメリットもあります。今回紹介する「CMakeを使ったカスタマイズ」を行うことでユーザーの用途に応じてOpen

    初めてのOpenCV開発 ― CMakeを使ったOpenCVのカスタマイズ【OpenCV 3.1.0】 - Build Insider
  • 意外と知らないバージョン表記・数字の豆知識

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) ちまたにあふれるバージョン表記 少し前に「Web 2.0」「○○2.0」という表記が流行したのを覚えていますでしょうか。よく見かける広告のコピーにも、最近では「バージョンアップ」という言葉が普通に使われています。バージョンや、バージョン表記は、ソフトウェアの世界だけでなく、ごくごく一般化したように思えます。しかし実際には、どういう意味か分からないのが、バージョン表記です。 アプリケーションソフトウェアの開発は、さまざまな状態/段階を経て完成します。その段階/状態と、リリース後の状態/段階を示したのが、バージョン表記です。 例えば、数字以外でも、以下のような表記を見かけたことはありません

    意外と知らないバージョン表記・数字の豆知識
  • 「問題解決力」を高める思考スキル(4)納期を守れない、トラブルが再発する理由とは

    構造化とは何か CASE1……一生懸命仕事をしていたつもりだったが、一部の問題に時間を使いすぎてしまい、納期までに十分なアウトプットが出せなかった。 CASE2……発生したトラブルに適切に対処したつもりだったのに、真の原因を見落としており、すぐに同じ問題が再発してしまった。 CASE3……分からないことがあったので詳しい人に聞いてみたが、いくら説明を受けてもいまひとつピンとこない。 皆さんも、こんな経験が一度はありませんか。 原因はいくつか考えられると思いますが、少なくとも今回説明する「物事を構造化する」という考え方を押さえておけば、この手の失敗はかなり回避できるでしょう。なお、ここでいう「構造化された状態」とは、(1)全体を把握したうえで、その構成要素についても明らかになっている、(2)構成要素間の関係が分かりやすく整理されている、の2つの意味を含みます ●構造化とは何か 図1 たまたま

    「問題解決力」を高める思考スキル(4)納期を守れない、トラブルが再発する理由とは
  • 第35回 自社サービス開発から受託開発に転身したエンジニアが語る「幸せな受託開発」とは

    岡山で全国の仕事を請け負う「気さくなプログラマー」 岡山に暮らしながら、東京の顧客とSkypeを使ってミーティングをし、受託開発を行うプログラマーがいる。名刺の肩書は「気さくなプログラマー」。 「Rubyのまつもとさんをはじめ、できる人はみんな気さくじゃないですか。だから私も自分のキャッチフレーズとして使っています」と笑いながら話すのは、ソニックガーデンのエンジニア、野上誠司さんだ。 SI企業で5年間受託開発に携わり、その後自社サービスを作る企業に転職、そして現在は「納品のない受託開発」を掲げるユニークな企業、ソニックガーデンのエンジニアとして働く。受託開発から自社サービスへ移りたいと考えるエンジニアは多いが、再度受託開発に戻ったのはなぜなのだろうか。 【転職者プロフィール】 野上誠司さん(32歳) 株式会社ソニックガーデン 気さくなプログラマー(2013年10月入社) 【転職前】 岡山の

    第35回 自社サービス開発から受託開発に転身したエンジニアが語る「幸せな受託開発」とは
  • GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方

    近年、ソフトウェア開発を取り巻く環境が急激に変化してきています。ネットワークの整備や、コミュニケーションツールの進化に伴い、リモートワークやインターネット上での協業も盛んに行われるようになってきました。チームメンバー全員の住んでいる国が違う、といったこともあるかもしれません。 しかし物理的に離れた環境で働くと、今まで対面で行っていたコミュニケーションを別の手段で代替しなければなりません。SkypeやGoogleハングアウトなどのビデオ通話、HipChatやSlackなどのチャットアプリを利用することで仕事上必要なコミュニケーションは取れるようになりますが、ソフトウェア開発に関わる状況確認は別のツールを使う必要があります。 特にオペレーションは、いつ、誰が、どのような対応をしたか把握していたいですよね。 このような課題を解決する一つのスタイルとして、「ChatOps」があります。ChatOp

    GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方
  • MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(1/5) - @IT

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? ―― 「the sea of fertility」より ―― 尾上 雅則 2011/05/18 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 MVVM(Model-View-ViewModel)パターンに関する知見があちこちに散らばっているように見えるので、そろそろまとめてみることにしました。この記事は、MVVMの基的な考え方・実装方法などを把握されて

  • 「OpenID Connect」を理解する

    OpenIDの最新仕様「OpenID Connect」とは 前回はOpenIDについて振り返りました。続く第4回では、OpenIDの最新仕様として策定が進められている「OpenID Connect」(注1)について、 設計思想 仕様一覧 フロー紹介 実装状況と今後 という軸に沿って紹介します。 OpenID Connectの3つの設計思想 OpenID Connectの設計思想として、次の3点があります。 簡単なことは簡単に 難しいことも可能に モジュラーデザイン 以下、その設計思想が仕様にどのように反映されているかを簡単に説明します。 簡単なことは簡単に OpenIDにおける最低限の要件とは、「OP(OpenID Provider)-RP(Relying Party)間で認証結果と属性情報(クレーム)の受け渡しができること」です。OpenID ConnectはOAuth 2.0をベースと

    「OpenID Connect」を理解する
  • 1