タグ

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

  • 教えて! キラキラお兄さん「クソみたいな社会は変えられますか?」

    教えて! キラキラお兄さん「クソみたいな社会は変えられますか?」:プロエンジニアインタビュー(4)(1/4 ページ) 「Haskell」を業務アプリ開発にフル活用する岡和也さんは、「UZUZ」のCTOを務めると同時にソフトウェア開発会社「ARoW」を経営し、さらにフリーランスエンジニアとしても活動する。Haskellにこだわる理由、“複業”エンジニアとして活動する理由を聞いた。 岡和也さんは、既卒、第2新卒向け転職支援サービスを提供する「UZUZ(ウズウズ)」の最高技術責任者(CTO)だ。それなのに「月に2日程度しか出社しない」という自由な働き方で仕事に取り組んでいる。 UZUZのCTO職を務めるのと同時に、ソフトウェア開発会社の「ARoW(アロー)」を経営し、さらにフリーランスエンジニアとしても活動する。得意技として駆使するプログラミング言語は「Haskell」だ。純粋関数型言語とし

    教えて! キラキラお兄さん「クソみたいな社会は変えられますか?」
  • 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の基的な考え方・実装方法などを把握されて

  • Windows 10、クラウド、モバイル、IoT、そしてHoloLens──全方位で逆襲するマイクロソフト

    Windows 10、クラウド、モバイル、IoT、そしてHoloLens──全方位で逆襲するマイクロソフト:de:code 2015基調講演(1/3 ページ) 日マイクロソフトは2015年5月26~27日にエンジニア向けイベント「de:code」を開催した。稿では、近年のマイクロソフトを取り巻く市場環境と二つの大きな戦略を見ながら、de:code 2015の基調講演の模様を凝縮してお伝えする。 日マイクロソフトが主催するエンジニア向けイベント「de:code」(2015年5月26~27日に開催)の基調講演は、エンジニアに向けて大量の情報と、そして「熱」を送り込む場だった。 サティア・ナデラ氏が米マイクロソフトのCEOに就任してから1年弱が経つ。同社は過去とは全く異なるメッセージを放つようになった。de:code 2015もまた、エンジニアたちに向かって大量の情報と熱量を送り込み、何ら

    Windows 10、クラウド、モバイル、IoT、そしてHoloLens──全方位で逆襲するマイクロソフト
  • 「楽しかった」だけでいいの?――勉強会という名の居酒屋

    「楽しかった」だけでいいの?――勉強会という名の居酒屋:仕事が「つまんない」ままでいいの?(2)(1/2 ページ) 仕事の中でモヤモヤを抱えていたり、次の一歩がなかなか踏み出せなかったりしたときのヒントをお届けする連載、第2回のテーマは「勉強会」です。「楽しいといえば楽しいけれど、最近は何となく参加している……」。もしあなたが「次の刺激が欲しい!」と思っているのなら、今必要なのは勉強会ではないかもしれません。 連載目次 先月より始まりました連載「仕事が『つまんない』ままでいいの?」、前回は「仕事とは何か、働く意味とは何か」について考えました。今回のテーマは「勉強会」です。 近年、勉強会や異業種交流会、朝活、お茶会、ライトニングトーク(数分間で行う短いプレゼンテーション)など、比較的参加しやすいセミナーやイベントが盛んに開催されるようになりましたね。 会社以外の場に参加すると、普段触れる

    「楽しかった」だけでいいの?――勉強会という名の居酒屋
  • 20年前の公開FTPサーバーのよみがえらせ方

    IIJ Technical WEEK 2014」の会場に、まるでタイムスリップしてきたかのようにSun Microsystemsの「SPARCstation IPX」が姿を現した。20年前に同社が提供していたアノニマスFTPサーバーはどんな姿だったのだろうか。 20年前のサーバーの姿を、そしてインターネットの姿を覚えているだろうか? インターネットイニシアティブ(IIJ)が2014年11月26日から28日にかけて開催している「IIJ Technical WEEK 2014」の会場には、まるでタイムスリップしてきたかのようにSun Microsystemsの「SPARCstation IPX」が姿を現し、世界初のグラフィカルなWebブラウザー「NCSA Mosaic」上で約20年前のIIJのWebページ(いわゆる「ホームページ」)を表示した。 11月27日に行われたセッション「てくろぐ・せ

    20年前の公開FTPサーバーのよみがえらせ方
  • 開発現場で保守性の高いTDD/BDDを実現するための3つのポイント――テストレベル/網羅性とは

    開発現場で保守性の高いTDD/BDDを実現するための3つのポイント――テストレベル/網羅性とは:いまさら聞けないTDD/BDD超入門(4)(1/3 ページ) 連載目次 前回の『TDD/BDDにおける「振る舞い』の意味するところとは何なのか」までで述べたような、TDD/BDDを導入するときには、現場で「で、今までやってきた単体テストと結合テストって、どうやってこれに組み込めばいいんだっけ?」「網羅的なテストをどうやって書けばいいんだろうか?」「テストを先に書くだけくらいにしか違いがないのではないだろうか?」などの疑問が出てきます。 今回は、これらの導入時の疑問を解決するようなパターンを紹介します。まずは説明のためにいくつかの言葉の定義を紹介してから、どういったことで保守性の高いTDD/BDDを実現できるかを紹介します。 テストレベルの定義 大まかに言えば、「テストレベル」とはテスト対象の大き

    開発現場で保守性の高いTDD/BDDを実現するための3つのポイント――テストレベル/網羅性とは
  • RDP、VNC、SSH、Web管理……リモートコンソールをまとめると「Terminals」に

    今回紹介するツール [ツール名]Terminals [対象]Windows [提供元]Robert Chartier、Microsoft Shared Source Community License(MS-CL) [ダウンロード先][URL]https://terminals.codeplex.com/[英語] マルチプロトコル、マルチタブ対応のリモートコンソール 「Terminals」は、マルチタブに対応したリモートコンソールクライアントです。対応プロトコルは、「RDP」「VNC」「VMRC」「SSH」「Telnet」「RAS」「Citrix ICA」「HTTP」「HTTPS」と幅広いので、あなたが普段使用している各種リモート接続クライアントをこのTerminals一つで置き換えることができるでしょう(画面1、画面2)。 RDP(Remote Desktop Protocol)は、Wi

    RDP、VNC、SSH、Web管理……リモートコンソールをまとめると「Terminals」に
  • なぜ、うつ病は増えたのか

    最近「うつで休職する人が増えている」という話をよく聞く。増えているのは休職者数なのか? うつ病患者なのか? それとも……。 ここ数年、企業の人事や社内カウンセラーに従事する人から、「うつで休職する人が増えた」という話をよく聞くようになりました。 彼らは続けます。「だが、何かがおかしい。同じ病名なのに、いろいろな症状の人がいるような気がする。彼らを全員『うつ』と呼んでしまってよいのだろうか?」と。 涙が止まらない ここで、ごく個人的な話をすることをお許しください。 数年前のことです。会社で思うようにいかない出来事があり、私はひどく落ち込んだ日々を送っていました。 「仕事なのだから頑張るべきだ」と、頭では理解していたのですが、感情が追い付きません。悲しくゆううつな気持ちが続き、仕事をしていると自然にダラダラと涙がこぼれてきます。泣きながらPCに向かい、泣きながら書類を作成します。打ち合わせ中に

    なぜ、うつ病は増えたのか
  • freee創業者インタビュー――走り出したら「何でもやる」、それまでは「目の前のことを頑張る」

    編集部より @ITで展開中の特集「普通の開発者のためのリーンスタートアップ手順書」では、これからリーンスタートアップを始めたい開発者・技術者向けの記事が多数インデックスされています。詳細は記事「リーンスタートアップを実践するための参考記事116選まとめ」を参照してください。 特集の第3回として、いま注目のスタートアップ「freee」にお話を伺いました。 「フリーのエンジニアとして働く」「事業を立ち上げる」と決めた後に立ちはだかる壁の一つが「会計処理」だ。確定申告は必ず行わなければならないが、あくまでバックオフィスの作業だ。ここにいくら手間をかけても、業のもうけにはならない。 日の企業は、中小、個人事業主が全体の86%を占めているという。その86%の経営者のバックオフィス業務を楽にできないか。そのビジョンを具現化したのが、会計処理や給与計算をクラウド上で行う「freee」だ。2012年1

    freee創業者インタビュー――走り出したら「何でもやる」、それまでは「目の前のことを頑張る」
  • 検収後に発覚した不具合の補修責任はどこまであるのか(前編)

    検収後に発覚した不具合の補修責任はどこまであるのか(前編):「訴えてやる!」の前に読む IT訴訟 徹底解説(4)(1/2 ページ) 連載目次 今回は「稼働後に検出した不具合を理由に、ユーザーがいったんは検収したシステムの支払いを拒んだ事件」と、そこから得られる知見を解説しよう。 請負契約によるシステム開発において、検収まで行った発注者が受注者との契約を解除し費用の支払いを拒むという例は、ユーザーとベンダーがシステムの完成をめぐって争うことの多いIT業界においても決して多いことではない。 しかし、この判決は、システム導入の目的と要件の関係やその検証、および導入後のベンダーの不具合対応などについて、多くの論点を提供してくれる。今後に役立つ知見を残してくれるものであることから、今回の題材として取り上げることとした。 請負契約において、ベンダーが「ユーザーと交わした約束をしっかりと果たした」と言え

    検収後に発覚した不具合の補修責任はどこまであるのか(前編)
  • Rubyプログラミングを始めるための基礎知識とインストール

    Rubyプログラミングを始めるための基礎知識とインストール:若手エンジニア/初心者のためのRuby 2.1入門(1)(1/3 ページ) オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。初回は、Rubyの概要や特長を紹介し、環境構築や「Hello World!」までの手順、プロンプトで対話的にRubyを使える「irb」の使い方なども解説します。

    Rubyプログラミングを始めるための基礎知識とインストール
  • ROIの試算例から見る、日本でテスト自動化が進まない理由

    ROI(t) = Δ手動テストに対するテスト自動化の利益 / Δ手動テスト対するテスト自動化のコスト = ΔB(t) / ΔC(t) ΔB(t) = Σ(自動テストによる固定費の削減分)(t) + Σ(n2回手動テストを実施した場合の変動費)(t) - Σ(n1回自動テストを実施した場合の変動費)(t) ΔC(t) = Σ(自動テストによる固定費の増加分)(t) + Σ(自動テストの開発費) - Σ(手動テストの開発費) + Σ(自動テストのメンテナンスコスト) (n1/N) n1 = 自動テストの実行回数 n2 = 手動テストの実行回数 N = メンテナンスが必要になるまでの自動テストの平均実行回数 今回は、この各要素を順に見ていきましょう。 自動テストによる固定費の削減分 「自動テストによる固定費の削減分」から説明します。まず、この「固定費」とは、「テスト計画」「テスト設計」など、「テ

    ROIの試算例から見る、日本でテスト自動化が進まない理由
  • DoS攻撃防御製品の仕組みと特徴

    前編にて詳述したDoSアタックへの対策については、従来ルータにパケットフィルタリングを細かく設定して防御するか、サーバ、ルータ、ファイアウォールなどのログを常時監視するぐらいしか有効な対抗手段がなかった(その場合、当然ルータやファイアウォールの負荷が高くなってしまい、ここでも性能的な問題に突き当たる)。 そこで近年DoSアタック防御を専門とする製品群(DoS Mitigationと呼ぶ場合もある)が登場し、より高速かつ確実にDoSアタックからサーバやコンテンツ、サービスを保護することが可能になっている。今回は、これらDoS防御製品群が実装している防御技術とその特徴を説明し、それぞれがどのようなアタックに対して有効なのかを考えてみたい。 シグニチャベース防御 ネットワークリソースへの不正侵入を検出する製品としてIDS(Intrusion Detection System)と呼ばれるカテゴリの

    DoS攻撃防御製品の仕組みと特徴
  • 2.TCPのオープンとクローズ処理 @IT:連載 基礎から学ぶWindowsネットワーク 第15回 信頼性のある通信を実現するTCPプロトコル(2)

    第15回 信頼性のある通信を実現するTCPプロトコル(2):基礎から学ぶWindowsネットワーク(3/3 ページ) さてそれでは、実際のTCP接続の詳細について見てみよう。TCP接続の概要についてはすでに前回述べているので繰り返さないが、簡単に復習しておくと、「データを送信したら、それに対する応答(ACK)を必ず確認する」ということである。一見複雑そうに見えるTCP通信の内容も、この原則さえ分かっていれば容易に理解できる。そしてこの原則は、コネクションのオープンやクローズ時にも徹底されているのが分かるだろう。 TCP接続のオープン UDPによる通信と違って、TCPでは実際の通信に先立って、いろいろな準備が必要である。この準備のことをオープンといい、逆に通信が終了するための処理のことをクローズという。 TCPによる通信ではシーケンス番号に基づいた送受信確認が大事な役割を担っているが、オープ

    2.TCPのオープンとクローズ処理 @IT:連載 基礎から学ぶWindowsネットワーク 第15回 信頼性のある通信を実現するTCPプロトコル(2)
  • テスト駆動開発/振る舞い駆動開発を始めるための基礎知識

    連載目次 2000年代初期に開発手法として確立された「テスト駆動開発」(Test Driven Development、以下「TDD」)は、その後10年もの間で普及が進み、今や珍しくない開発スタイルの1つとなっています。国内でも「アジャイルアカデミー」「TDD Boot Camp」などによる推進・普及活動が各地で活発化し、認知が広がってきました。 なおTDDは誕生からこれまでの間に、さまざまな工夫や実践上のノウハウが提唱されてきました。またTDDの普及に影響を受け、他のさまざまな「テストファースト」手法も台頭してきています。 稿では、そうしたTDDの発展や、振る舞い駆動開発(Behavior Driven Development、以下「BDD」)など他のテストファースト手法への展開についても解説します。 ※編集部注:ソフトウェアの「テスト」そのものの概要や種類について知りたい方は記事「J

    テスト駆動開発/振る舞い駆動開発を始めるための基礎知識
  • JenkinsでCIすればiOSアプリのビルドは、もう面倒くさくない

    続いて、開発するアプリの登録を行います。アプリの登録では【1】アプリ名や識別名などの登録、【2】プロビジョニングプロファイルを作成しダウンロード、インストールします。 これらの準備が終わったら、App Storeへ公開するためのアプリ開発、パッケージング、アップロードといった流れになります。 「Jenkins Xcode Integration Plugin」でビルドを自動化 このアプリ公開までの作業のうち、いくつかをJenkinsによって自動化することで継続的にアプリを公開できるようになります。通常、アプリのビルドやパッケージングはXcodeから行うことになりますが、Jenkinsから実行する場合にはXcodeのコマンドラインツールである「xcodebuild」などを使って処理を行います。 Jenkinsジョブからシェルを起動してxcodebuildなどのコマンドを直接実行するか、「Je

    JenkinsでCIすればiOSアプリのビルドは、もう面倒くさくない
  • NTTドコモとAtomic Fictionが語る、「AWSが必須」の理由

    NTTドコモとAtomic Fictionが語る、「AWSが必須」の理由:しゃべってコンシェル、VFX制作…… Amazon Web Services(AWS)のユーザーには、AWSのサービスがなければ自分たちの事業が成り立たたないと自ら語る人たちが多い。11月第2週にAWSが米国ラスベガスで開催した「re:Invent 2013」におけるユーザーの話から、米国のVFX制作会社Atomic FictionとNTTドコモの「しゃべってコンシェル」の例を紹介する。 Amazon Web Services(AWS)のユーザーには、AWSのサービスがなければ自分たちの事業が成り立たたないという人たちが多い。スタートアップ企業だけでなく、大組織でもこうした話をする人たちが増えている。ここでは、11月第2週にAWSが米国ラスベガスで開催した「re:Invent 2013」から、米国のVFX制作会社At

    NTTドコモとAtomic Fictionが語る、「AWSが必須」の理由
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
  • 学習塾を運営するのに最適なのはどこ? オープンデータを活用して実践的なスキルを身に付ける

    学習塾を運営するのに最適なのはどこ? オープンデータを活用して実践的なスキルを身に付ける:ITエンジニアのためのデータサイエンティスト養成講座(特別編)(1/3 ページ) 連載バックナンバー はじめに 第5回までの連載ではPythonを使った分析環境の準備や基的な使い方、データクレンジングの方法を紹介してきました。説明で扱うデータはサンプルデータではなく実際のデータを使い、実践的なスキルを身に付けていただけるように紹介してきましたが、やはり実践の場で使おうと思うと、連載の中で紹介した内容だけでは解決するのが難しい問題に直面してしまいます。 今回は特別編ということで、より実践的なデータ処理を身に付けていただくために、最近話題の「オープンデータ」を題材に、より実践的なスキルを身につけていただけるようなテクニックを紹介したいと思います。 オープンデータの活用 最近の例では、武雄市・千葉市・奈良

    学習塾を運営するのに最適なのはどこ? オープンデータを活用して実践的なスキルを身に付ける
  • 設計レビューに私情を持ち込んでいませんか?

    設計・開発・運用業務に役立つ書籍をピックアップして紹介する新連載「情シスの棚」。第1回は、システム開発の現場で働く多くの人が思い当たるであろう、設計レビューの問題点と方法論を解説した書籍を紹介する。 「システム構築プロジェクトでは、さまざまな会議が開かれます。そのなかでも、参加する際にとりわけ気が重いのは、ドキュメントの問題指摘を行うレビュー会議ではないでしょうか。長々と続くにつれてレビューアーがイライラし、ドキュメント作成者がつるし上げられたり、レビューアー同士で言い争いになったりする――。そんな状態だから、長い時間をかけた割に重大な問題を指摘しきれずに終わるケースが少なくありません」。「頑張るだけのレビューには限界があります」。「必要なのは、レビューのやり方を見直すことです」――。 書、「間違いだらけの設計レビュー」は、レビュー方法論の第一人者である名古屋大学 大学院 情報科学研究

    設計レビューに私情を持ち込んでいませんか?