タグ

ブックマーク / thinkit.co.jp (29)

  • 今こそ始めよう! Kubernetes入門

    GoogleMicrosoftそしてAmazonAWS)といった大手クラウドプロバイダーによる対応も始まり、Kubernetesはコンテナオーケストレーションエンジンのデファクトスタンダードとなった感があります。この連載では、Kubernetesの基的なことから実際に使用するところまで、解説します。 Kubernetes、始めるなら今です。

  • コンパイラーが無料じゃないなんて! 新旧エバンジェリストが語る開発ツールにおけるOSSとは

    マイクロソフトのOSS戦略、開発ツール担当のエバンジェリストに聞いたOSSラブなマイクロソフトの音とは? 無償が当たり前の開発ツールをマイクロソフトはどう考えているのか? を探る。 マイクロソフトにおけるOSSへの取り組みの4回目、今回はVisual Studioなどを統括するデベロッパーエバンジェリズム統括部の2名のエバンジェリストにインタビューを行った。マイクロソフトの中でも最も進歩的にソフトウェアをOSS化しているチームと言ってもいいだろう。今回はJavaのエバンジェリストから転身した佐藤 直生氏とネット的には「ちょまど」というニックネームで有名な千代田 まどか氏(以降、ちょまど)から話を聞いた。 今回の出席者の氏名と所属は以下の通り。 佐藤 直生(さとう なおき) デベロッパーエバンジェリズム統括部 テクニカルエヴァンジェリズム部 Azureテクノロジスト/テクニカルエバン

    コンパイラーが無料じゃないなんて! 新旧エバンジェリストが語る開発ツールにおけるOSSとは
    bobbyjam99
    bobbyjam99 2017/05/10
    "「どんなに良いツール作ってもお金取ったら無意味だ!」って思ってました。" 😇
  • もうすぐ完成! テスト駆動開発によるボウリングのスコア計算プログラム

    はじめに 前回は、「静的設計のブレイクスルー」をテーマに、「設計の洗練」とそれに伴うリファクタリングについて初学者の「古谷」がTDDの達人である「高梨先輩」に教えを乞う形で進めてまいりました。今回は前回「責務の分担」を行ったクラスに実装を行う過程についてご説明します。なお、この連載ではプログラミング言語RubyでTDDを実現しておりますが、必ずしもRuby経験者が対象ではありません。Ruby未経験者でもプログラミング経験者であれば、ある程度理解できるように考慮して進めてまいります。 ______________________________________ [古谷]古谷です。前回は、ありがとうございました。正直、前回学んだ範囲について、ちゃんと理解できているとはいいがたい状態です。設計のスキルも、MECE(Mutually Exclusive and Collectively Exhau

    もうすぐ完成! テスト駆動開発によるボウリングのスコア計算プログラム
  • ソフトウエアエンジニアがUX/UIを考える上で読むべき4冊の良書と名言たち

    筑波大学  システム情報工学研究科  コンピュータサイエンス専攻  非数値アルゴリズム研究室(NPAL) 五十嵐 悠紀 2004年度下期、2005年度下期とIPA未踏ソフトに採択された、『天才プログラマー/スーパークリエータ』。筑波大学 システム情報工学研究科 コンピュータサイエンス専攻 非数値アルゴリズム研究室(NPAL)に在籍し、CGUIの研究・開発に従事する。プライベートでは二児の母でもある 何か製品を考える時、そのものがカタチのあるものであっても、はたまたコンピュータの中で動くソフトウエアだったとしても、「ユーザーインターフェース(以下、UI)」について考える必要があります。さらには、わたしたちが日常生活においてストレスなく過ごせている裏側には、さまざまな人によって考えられてきたUIデザインが隠されていたりもします。 わたしは滞在先のホテルで、洗面所に入ったものの出ようとした時に

  • 社外常駐で学んだアジャイル開発

    (1)今回の事例: 業務システムをWeb化で刷新 第2回では、新人のころに筆者がかかわった事例を取り上げ、「情報共有」の仕方と、「情報共有を通して、どのようにアジャイルの基礎的な内容を学んだのか」を説明しました。 前回の計画をチームで立てるというトピックで、「アジャイルでは、イテレーションを何度も継続して回す」ことを伝えました。ここで大切な点は、「ただ単に繰り返す」ことを意味しているわけではないということです。イテレーションで得られたフィードバックを、次のイテレーションでより良い活動ができるように生かすことが重要です。 今回は、この「フィードバックをもとに、より良くする(改善する)」ことに焦点を当て、筆者が社内SNS構築の次に参画したプロジェクトを取り上げます。まずは、今回の事例で取り組んだ「業務システム」について、簡単に紹介します。 筆者が所属するTISでは、プロジェクトが完了すると、プ

  • 生産性が高いってどういうこと?

    生産性が高いとは 生産性という言葉が、さまざまな分野において使われるようになり、一般的な単語となりました。しかし、よく使われるようになった反面、その意味はあいまいです。生産性が高いということが「良いこと」だということはわかりますが、具体的に何が良いのかは明確ではありません。例えば、「生産性が高いからこのフレームワークを採用します」といった場合に、その生産性とは一体何を指しているのでしょうか。 「生産性が高い」とは、少ないインプットで大きなアウトプットを生むことですが、求められるアウトプットはさまざまですし、少なくできるインプットもさまざまです。上述のフレームワークの例で言えば、仮に少ない時間で一般的なWebサイトを構築できる「生産性の高い」フレームワークだったとしても、複雑な要件を満たす必要のある業務アプリケーションの開発ではそれほど生産性は上がらないでしょう。 よって「生産性が高い」とい

    bobbyjam99
    bobbyjam99 2008/11/11
    "「生産性が高い」とは、少ないインプットで大きなアウトプットを生むことですが、求められるアウトプットはさまざまですし、少なくできるインプットもさまざま"
  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • [Think IT] 【これならわかる!JavaScript/Ajax】やりなおしのJavaScript 第1回:そろそろ本気で学びませんか? (1/3)

    画面の一部を瞬時に切り替える方法 JavaScriptを勉強したいけど、プログラム構造がよく分からなくて、なんとなく使っている人は多いのではないかと思います。市販のやWebサイトにはJavaScriptのサンプルがたくさん載っているので、必要なところをコピー&ペーストしてしまうと、JavaScriptの文法が分からなくても動いてしまいます。 しかし、このような使い方をしていると、JavaScriptサンプルを少しだけ修正したいという時に対応できなくなります。これでは「JavaScriptを使える」とは言えませんよね。 そこで、連載では、JavaScriptをもう一度やり直したい方々のために、勉強の切り口を変えて紹介していきましょう。 最初のトピックでは、JavaScriptを使ってHTMLのコンテンツを入れ替える方法について紹介してます。この技術は、最近話題になっているAjaxのベース

  • [Think IT] 第2回:言語開発者が目標にするパフォーマンス「Lua」 (1/3)

    【新・言語進化論】次にくる!新登場言語 第2回:言語開発者が目標にするパフォーマンス「Lua」 著者: ether 公開日:2007/11/12(月) Luaについて Luaは1993年から開発が開始された、ブラジル生まれのスクリプト言語だ。プログラミング言語の出生地としては「非欧米産」という意味でRubyと並ぶ例外といえるだろう。 Luaのルーツはデータ記述用言語だが、汎用の組み込み言語として広く利用されている。例えばAdobeの画像処理ソフトウェア「Lightroom」では、40%に相当する部分がLuaで記述されているという。またフリーのパケットキャプチャツールの定番である「Wireshark」(という呼称で通じなければ「Ethereal」)にもLuaが組み込まれている。 Luaの処理系はスクリプト言語としては非常に高い性能を持っている。「Computer Language Shoot

  • [Think IT] 【新・言語進化論】プロの言語仕様の読み方

    ソフトウェアエンジニアリングラボラトリ システムズアーキテクト SOA担当 早稲田大学社会科学部卒。中堅SIerの研究開発部門に4年間所属し、JavaやXMLを用いたオープン系のシステム開発に携わった。現在は株式会社オープンストリームにてSOAを適用したプロジェクトに従事している。「なんでも楽しむ!」がモットー。 http://www.opst.co.jp/ テクニカルコンピテンシーユニット 主管システムズアーキテクト 横浜国立大学経営学部卒。銀行系シンクタンクでオブジェクト指向技術の研究に携わった後、大手SIerにてアーキテクチャ構築、プロセス研究に携わった。現在株式会社オープンストリームにてSOAを中心とする研究開発およびアーキテクチャ構築に従事。最近はXMLのダイナミックさに魅了されている。 http://www.opst.co.jp/ ソフトウェアエンジニアリングラボラトリ システ

  • [Think IT] 【新・言語進化論】プロの言語仕様の読み方

    ソフトウェアエンジニアリングラボラトリ システムズアーキテクト SOA担当 早稲田大学社会科学部卒。中堅SIerの研究開発部門に4年間所属し、JavaやXMLを用いたオープン系のシステム開発に携わった。現在は株式会社オープンストリームにてSOAを適用したプロジェクトに従事している。「なんでも楽しむ!」がモットー。 http://www.opst.co.jp/ テクニカルコンピテンシーユニット 主管システムズアーキテクト 横浜国立大学経営学部卒。銀行系シンクタンクでオブジェクト指向技術の研究に携わった後、大手SIerにてアーキテクチャ構築、プロセス研究に携わった。現在株式会社オープンストリームにてSOAを中心とする研究開発およびアーキテクチャ構築に従事。最近はXMLのダイナミックさに魅了されている。 http://www.opst.co.jp/ ソフトウェアエンジニアリングラボラトリ システ

  • [ThinkIT] 第3回:事前準備とSeleniumの基礎知識 (1/3)

    今回から、Seleniumを使ってどのようにテストを行っていくか実践していきます。サンプルアプリケーションを用意し、それに対するテストをSeleniumで実施します。まずは事前準備とSeleniumの基礎知識についての説明です。これより連載では、下記ソフトウェアを使用しているという前提で進めていきます。 カテゴリ ソフトウェア バージョン

  • [Think IT] 先取り!Ruby 1.9.1

    なかなかアグレッシブな変更、追加機能がたくさんあり、夢ふくらみます。が、これらの新機能の大部分は「嘘」発表でして、まつもと氏の後に続いた筆者が、嘘の部分を指摘していく、という発表になりました。 というわけで、嘘ではない、次の「Ruby 1.9.1」のリリースは以下のようになる予定です。 2007年クリスマスにRuby 1.9.1をリリース 仮想マシンYARVが取り込まれ、従来より基性能で5倍、通常アプリケーションでも1.x倍の高速化 M17N(多言語化)標準搭載 ネイティブスレッドを用いたRubyスレッド(ただし並列化は行わない) 継続、Fiberのサポート 独自のI/Oバッファリング機構とノンブロッキングI/O機構の改善 データ構造の改善などによるメモリ効率 新しいライブラリの追加 新しいパッケージ機構の導入(RubyGems) 若干の文法の変更 より多くのテストの追加 次期Ruby

  • [Think IT] 第5回:ApacheをWindowsへインストールするのだ! (1/4)

    bobbyjam99
    bobbyjam99 2007/09/11
    するのだ!
  • [ThinkIT] Ruby関連リンク集総まとめ (1/2)

    Ruby http://www.ruby-lang.org/ja/ Ruby公式サイト。 Rubyダウンロードページ http://www.ruby-lang.org/ja/downloads/ Rubyインタプリタの代表的な入手方法を掲載。 Rubyリファレンスマニュアル http://www.ruby-lang.org/ja/man/ Rubyのリファレンスマニュアル。一括ダウンロードも可能。 try ruby!(英語) http://tryruby.hobix.com/ RubyをインストールせずにWebブラウザ上でRubyを利用できるサイト。対話的なチュートリアルに従ってRubyを学習することができる。 RAA−Ruby Application Archive英語) http://raa.ruby-lang.org/ Rubyで実装されたアプリケーションやライブラリ、ドキュメント

  • [Think IT] 第1回:付箋紙アプリケーションを作ろう! (1/3)

    Webの技術を使ってデスクトップアプリケーションを作ることができる開発環境である、「Adobe AIR(旧名 Adobe Apollo)」のパブリックベータ版が6月11日にリリースされました。 ここ数年、Webアプリケーションの進化がめざましく、表計算やワープロといった今までテスクトップ専用のものだと思われていたアプリケーションまで、Webブラウザ上で扱うことができるようになってきました。 Adobe AIRは、Webアプリケーションで使われている、HTMLCSS、Ajax、Flashといったテクノロジを使つつ、Webブラウザに依存しない、スタンドアローンなアプリケーションを開発・実行できる新しい環境です。 連載では、Adobe AIRとRuby on Rails(以下、RoR)を使って、Webブラウザだけではない、新しいタイプのWebアプリケーションを作る方法を紹介していきます。 A

    bobbyjam99
    bobbyjam99 2007/09/06
    セキュリティ上,自宅と会社で共有出来ないでゲス.REST用のcrudもあったんだ,知らなかった.
  • [Think IT] 第4回:中身の濃い進捗報告会を作るには〜後編〜 (1/3)

    この連載には、ユーザ企業代表C社の新プロジェクトリーダー・結佐(ゆうさ)氏と、開発ベンダー代表R社の若きエースプロジェクトマネージャー・弁田(べんた)氏が登場します。 両者の間には立場の違いから来るギャップがありますが、それを埋めるためには、リアリティをもったプロジェクト像を描いて両者の認識をあわせるとよいという思いのもと、2人は奮闘しています。 最終回となる今回の話のテーマは「第3回:中身の濃い進捗報告会を作るには〜前編〜」に引き続き、進捗定例の定番である「進捗の報告と課題・ToDo管理」です。 前回の課題管理と同じく、ここで紹介するやり方ですべてのプロジェクトがうまくいくとはいえませんが、どのようなことを工夫すれば、形式的になりがちな進捗定例でユーザ企業と開発ベンダーが同じ立場からプロジェクトを語れるようになるのかをみていきましょう。 -------------------- To:

    bobbyjam99
    bobbyjam99 2007/09/04
    結局はその仕事がちゃんと終わるのかどうかをはっきりさせること.出来ないものは出来ない.
  • [Think IT] 第3回:中身の濃い進捗報告会を作るには〜前編〜 (1/3)

    この連載には、ユーザ企業代表C社の新プロジェクトリーダー・結佐(ゆうさ)氏と、開発ベンダー代表R社の若きエースプロジェクトマネージャー・弁田(べんた)氏が登場します。 両者の間には立場の違いから来るギャップがありますが、それを埋めるためには、リアリティをもったプロジェクト像を描いて両者の認識をあわせるとよいという思いのもと、2人は奮闘しています。 今回の話のテーマは、プロジェクト管理に欠かせない「課題管理」です。ここで紹介するやり方ですべてのプロジェクトがうまくいくとはいえませんが、どのようなことを工夫すれば、大量の課題をうまく管理していけるのかをみていきましょう。 キックオフを無事終えた弁田氏がほっとしていると、そこへ結佐氏がやってきた。 結佐「いよいよ、これから格的にプロジェクトが開始しますね。あたりまえの話ですが、今後プロジェクトを進めていく上で、課題はしっかり管理していく必要があ

    bobbyjam99
    bobbyjam99 2007/09/04
    課題管理とToDoを分ける.
  • [Think IT] 第1回:プロファイラとは (1/3)

    連載では、オープンソースを使ったサーバサイドのプロファイル方法について、3回に渡り解説を行います。主に、JavaのWebアプリケーションを作成している開発者の方が対象となります。 第1回となる今回は「プロファイラとは」というタイトルで、プロファイラとは何か、どんなことができるのかを説明した上で、プロファイル環境と対象となるサンプルアプリケーションのインストールまで進めていきます。紙面の都合上、実際にプロファイラを動作させるのは次回以降になりますので、ご了承ください。

    bobbyjam99
    bobbyjam99 2007/09/04
    NetBeans Profilerらしい.
  • [Think IT] 第1回:JRubyとは? (1/3)

    2007年6月に「Ruby Kaigi」というイベントが日で開催されました。当日はRubyに関する様々な興味深い発表が行われ大変活況でした。そんな中でも特に大きな注目を浴びていた発表の1つとして「JRuby」があげられます。 JRubyはJavaRubyのクロスオーバーを実現する有望な技術です。連載ではJRubyの入門的な部分について紹介していきます。幅広い方々がJRubyを知るきっかけになれば幸いです。今回はJRubyの概要について解説します。 「Ruby」は、まつもとゆきひろ氏が中心となって生み出した、世界中で利用されているオープンソースのプログラミング言語です。ここ数年、Rubyは大きく注目され、取り巻く環境が大きく発展しています。その最大の要因はWebアプリケーション分野に彗星のごとくあらわれたアプリケーションフレームワーク「Ruby on Rails」(以下、RoR)である

    bobbyjam99
    bobbyjam99 2007/09/04
    JITの実行形態の図が分かりやすい.