タグ

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

  • 青山Pが振り返る「ドラゴンクエストX」3つの失敗――消すつもりのコードが本番環境に

    翔泳社は2019年2月14~15日に「Developers Summit 2019」を開催した。稿では、スクウェア・エニックスでドラゴンクエストXのプロデューサーを務める青山公士氏の講演「ドラゴンクエストXを支える失敗事例」の内容を要約してお伝えする。 青山氏は「ドラゴンクエストX オンライン」(以下、「ドラゴンクエストX」)で起きた3つの不具合とその原因を取り上げ、ドラゴンクエストX開発陣が不具合から得られた教訓を紹介した。 ドラゴンクエストXはどのように開発、実装されているか? ドラゴンクエストXは、各ユーザーがゲームクライアントを通じてサーバに接続し、ゲームをプレイするMMORPG(Massively Multiplayer Online Role-Playing Game)だ。開発では、さまざまな機能拡張や期間限定イベントの実施を見据えて柔軟に対応できる「運営」と、不具合修正や障

    青山Pが振り返る「ドラゴンクエストX」3つの失敗――消すつもりのコードが本番環境に
    THAL
    THAL 2019/03/15
    影響範囲調査漏れ アドホック対応の消し漏れ 境界値テスト漏れ の3本でお送りします。
  • 第576話 教えてあげたい

    直接、人が人に言うと傷ついたり、角が立ったりすることってあるよね。そんなときは機械に代弁させればいいのさ。

    第576話 教えてあげたい
    THAL
    THAL 2018/02/27
  • Windowsフォームのテスト術(1/3) - @IT

    プログラム開発には、ウォーター・フォールやスパイラル、アジャイルなどさまざまな開発手法がある。しかしどのような手法を取ったとしても、記述したコードにはテストが必要ということに変わりはない。 品質のよい、バグの少ないプログラムに仕上げるには、「テスト・ケースの選定」と「テストの実施」が重要だ。正常に動いているプログラム・コードを少しでも変更したら、すべてのテスト・ケースを再実行し、「変更部分がきちんと変更された仕様どおりに動いているか」と「それ以外の部分がいままで通り動いているか」を確認するのが理想的だ。 以前はテストの実施は、人がテスト仕様書を見ながらプログラムを動かして目視で確認するという方法しかなかったために、「全テスト」という理想を実現するのは時間と人手が必要だった。しかし最近は、自動的にテストを実施してくれる自動テスト・ツールが登場して、全テストを常に行うことも現実的な方法になって

  • LINQ(リンク)の基礎知識(1/4) - @IT

    稿は、すでに公開されている「特集:C#プログラマーのためのLINQ超入門(前編)LINQ(リンク)の基礎知識」を、Visual Basicプログラマー向けに加筆・修正したものです。 Visual Studio 2008(以下、VS 2008)にはさまざまな新機能が追加されていますが、最大の新機能といえばやはり「LINQ」(「リンク」と読みます)でしょう。 LINQとは、 Language INtegrated Query の略で「統合言語クエリ」と訳されますが、もう少し分かりやすくいい換えれば、 言語(Visual BasicやC#など)のコード内に記述できるクエリ となります。クエリとは「問い合わせ」です。開発でクエリといえばデータベース検索に使われるSQL文が代表的ですが、LINQではSQL文に似た構文によりクエリを記述し、データベースをはじめ、さまざまな対象から、データの検索や集計

    THAL
    THAL 2017/09/19
  • Slackと違ってオンプレミス環境で作れるOSSチャット基盤4選&RocketChatの基礎知識

    Slackでは、チャット形式でメッセージやファイルのやりとりができ、リアルタイムなコミュニケーションが可能です。また、UIが分かりやすく直感的に操作できるため、初めての人でも使いやすいのが特徴です。ユーザーは「チャンネル」というチャットルームに自ら参加し、自由なコミュニケーションができます。なお、一部の人だけでチャットをするプライベートチャンネルや、個人宛のメッセージも可能です。 その他、高い検索機能や簡単なファイル共有、多彩なショートカットコマンド、外部サービスとの連携の容易さなどが、人気の要因となっています。 Slackは現在最も注目されているチャットツールの1つですが、クラウド型サービスであるため、企業内でやりとりしたメッセージの内容やファイルなどのデータは外部のサーバに保存されることになります。企業によっては、社内情報を外部に保存することに抵抗があり、Slackおよびその他クラウド

    Slackと違ってオンプレミス環境で作れるOSSチャット基盤4選&RocketChatの基礎知識
  • 「コーディングがはかどる」BGMがあるそうです

    「コーディングがはかどる」かもしれないプログラマーの皆さん向けの音楽サイトがあるそうです。ちょっと試してみました。 今、BGMは流れていますか? 家で、電車で、会社で──。「NO MUSIC, NO LIFE」までではないにしても、“ながら音楽”の習慣がある人は多いでしょう。特に論理的な思考を必要とするプログラマーの皆さんは、良いコードを効率よく書くためにどんな環境が必要か、どんな音楽だとはかどるか、それぞれ自身の方法論を持っていると思います。 例えば、アマゾンの定額制音楽配信サービス「Prime Music」には、「~~のための音楽」といった、あるテーマに沿った楽曲を集めたプレイリストがたくさん登録されています。「ドライブに最適なJ-POP」「お休み前に聴くピアノソロ」「恋がしたくなるJ-POP」などの他に、「仕事がはかどるジャズ」「残業を乗り越えるサントラ」「満員電車でイライラしないポ

    「コーディングがはかどる」BGMがあるそうです
    THAL
    THAL 2016/02/27
    サイトのデザインが狙いすぎてて好き。| プログラマーの皆さん向け:「コーディングがはかどる」BGMがあるそうです - @IT
  • ダメなエンジニアには解けないパズル

    シンガポールのスタートアップにいるソフトウェアエンジニア、ジャバ・ザ・ハットリ氏が、「下位10%のダメなエンジニアにだけ解けないパズル」を公開しました。 ジャバ・ザ・ハットリ氏のブログ「Ruby on Railsのビシバシはぁはぁ日記」によると、「求人を拡大募集していたのだが、あまりにハズレな人が多かった」ために、「簡単なプログラミング系のパズルを出して、それが解けた人だけ応募できる仕組みにしよう」としたことがきっかけです。 問題は以下の通り。「パズルはPlease call my APIs.(私のAPIを呼んで)のメッセージと“RESTful”とヒントがあるだけ」です。 問題は、「Ruby、Objective-C、Java、どんなエンジニアであっても共通するWeb系の知識と勘が問われて、かつ基さえできていれば解ける」「あくまでダメなエンジニアだけを門前払いするのが目的だから、変に凝った

    ダメなエンジニアには解けないパズル
    THAL
    THAL 2016/01/18
  • 1000万行のコードと向き合う3つのステップ――富士ゼロックスはリファクタリングにどう取り組んでいるのか

    1000万行のコードと向き合う3つのステップ――富士ゼロックスはリファクタリングにどう取り組んでいるのか(1/2 ページ) 大企業では実施が難しいと思われるソフトウエアのリファクタリング。富士ゼロックスでは、どのように取り組んでいるのか。リファクタリングの実施を決断した理由、課題とその対応方針、成果、今後の展望などについて聞いた。 バグの有無ではなく保守性を品質管理の指標にすべき 1962年設立の富士ゼロックスは、主に複合機やオフィスプリンターなどに内蔵されるコントローラーソフトウエアの開発を行っている。コントローラーソフトウエアは、スキャナーで撮り込んだ画像の加工や印刷、ネットワーク経由の通信、セキュリティなどの各種機能を、操作パネルのユーザーインターフェースを介して制御しており、昨今の多機能なオフィス機器の要といえる。 一方で、多機能になったことでコードは大規模かつ複雑化の一途をたどっ

    1000万行のコードと向き合う3つのステップ――富士ゼロックスはリファクタリングにどう取り組んでいるのか
    THAL
    THAL 2015/07/27
    なるほどなぁ。| 1000万行のコードと向き合う3つのステップ――富士ゼロックスはリファクタリングにどう取り組んでいるのか (1/2) - @IT
  • CSSコーディングで泣かないためのSassの基礎知識と10の利点

    CSSコーディングで泣かないためのSassの基礎知識と10の利点:爆捗! WordPressテーマ作成ショートカット(3)(1/3 ページ) 連載では、CMSのスタンダードでもある「WordPress」のテーマ作成を、Dreamweaverをメインに用いてさまざまなモダンな技術を組み合わせながら爆発的に捗(はかど)らせる方法を解説していく。今回は、現場におけるCSSコーディングの3つの問題点、Sassの概要と主な10の機能、SASS記法とSCSS記法の違いなどを紹介。 連載「爆捗! WordPressテーマ作成ショートカット」では、初回の「Dreamweaverで始めるWordPressサイト構築の基礎知識」で、「Adobe Dreamweaver CC」(以下、Dreamweaver)でWordPressのテーマをカスタマイズできるようにする環境構築や設定を行い、前回の「WordPr

    CSSコーディングで泣かないためのSassの基礎知識と10の利点
    THAL
    THAL 2015/05/26
  • Bootstrapの使い方超入門 (1/4) - @IT

    話題のレスポンシブWebデザインも簡単にできる、CSSフレームワーク「Bootstrap」の概要と基的な使い方をサンプルとコードを交えて紹介します。 最近はやりのHTML5、JavaScriptライブラリ、CSS3、APIの紹介、またそれらを組み合わせたサンプルアプリケーションの紹介と解説を厳選して紹介、解説していく連載「HTML5アプリ作ろうぜ!」。今回紹介するフレームワークは「Bootstrap」です。 話題のレスポンシブWebデザインも簡単にできる、CSSフレームワーク「Bootstrap」とは 現在のWeb制作、開発では、ともにスピードが重視されています。「Bootstrap」を使用すると、既に用意されているスタイルを適用するだけで、格段に速く見栄えを整えられます。事実、Webシステムの管理画面などでBootstrapを使用するケースも増えてきました。 Bootstrapは最近

    Bootstrapの使い方超入門 (1/4) - @IT
  • Windows 8/8.1で[スタート]画面をスキップしてデスクトップを表示する

    Windows 8/8.1では、サインイン後に[スタート]画面が表示される。主にデスクトップ画面を利用する人にとって、起動してからいちいち[デスクトップ]タイルをクリックするのは面倒だ。そこでサインイン後、自動的にデスクトップが表示できるようにする。 解説 Windows 8/8.1では、これまでのWindows OSと異なり、サインイン(ログオン)すると、デスクトップ画面ではなく、[スタート]画面が表示される。従来のWindows OSでいえば、スタート・メニューに相当するものであるが、デスクトップ・アプリケーションを起動するには、画面下部のスクロール・バーか、マウスのスクロール・ホイールを回して右へ水平スクロールさせて、デスクトップ・アプリケーションのタイルを見つけなければならず、デスクトップPCやノートPCでは決して使いやすいものでない。 そこで「TIPS:Windows 8に[スタ

    Windows 8/8.1で[スタート]画面をスキップしてデスクトップを表示する
    THAL
    THAL 2014/02/18
    @pullus ごめんなさい、8でもスタートアップに登録すればできるみたいです。
  • iOS/Androidとの相互API呼び出しを行う際のコツ

    実際のゲーム開発では拡張する必要がある 前編の記事「Cocos2dxでiOS/Androidの2Dゲーム開発を始めるには」では、「Cocos2dx」とは何かや、「なぜiOSでもAndroidでも動くの??」のところで、どのようにクロスプラットフォームを実現しているのか見てきました。また、Cocos2dxAndroid/iOSアプリを開発する手順を具体的に解説しました。 必要最低限の部分だけをプラットフォーム依存の言語で記述し、C++で記述されたCocos2dxのコア部分とプラットフォームとのインターフェイスを取っているのでしたね。 さて、実際のゲーム開発では、デフォルトで提供されている機能以外にもプラットフォーム側には備わっているけれど、現状Cocos2dxから利用できないような機能を使用する必要があるかもしれません。 筆者の場合は、それぞれのプラットフォーム上で動作し、静止画を投稿する

    iOS/Androidとの相互API呼び出しを行う際のコツ
  • .NET開発者のための非同期入門 フリーズしないアプリケーションの作り方 - @IT

    連載目次 「エンド・ユーザーは、0.5秒のフリーズでストレスを感じ、3秒のフリーズはバグだと思う」。昔、冗談半分に言ってみた言葉だが、回りの反応を見るに、割とみな思っていることらしい。 特にモバイル端末向けのOSでは、応答性の悪いアプリケーションはOSによって強制終了されたり、マーケットプレイスでの審査に落ちたりする。フリーズしないアプリケーション作りがますます重要になっている。 そこで、稿では、フリーズしないアプリケーション作りに必要となる「非同期処理」*1について説明していく。 *1 時間のかかるAPIに対して、そもそも非同期版しか提供しないケースが増えてきている。Windows 8の新しいWindows API(WinRT)では、50ミリ秒以上かかるAPIを、すべて非同期なメソッドとして提供するそうだ。 ■非同期処理の今までとこれから ネットワークI/Oのように待ち時間の発生する処

    .NET開発者のための非同期入門 フリーズしないアプリケーションの作り方 - @IT
    THAL
    THAL 2011/10/04
  • Git管理の神ツール「Gitolite」なら、ここまでできる!

    「Git」使ってますか? 近年、分散バージョン管理システム「Git」が急速にシェアを伸ばしています。筆者は、チケットシステムやバージョン管理の勉強会などを開催したりしていますが、Gitユーザーがかなり増えてきていると感じます。 しかしながら、そのような勉強会でアンケートを取ってみると、実案件では半分以上の人がSubversionを利用しており、Gitの導入はまだまだ進んでいません。移行コストが掛かったり、プロジェクトマネージャ層への知名度がまだまだ低いというのもありますが、理由の1つとして、ユーザー管理が煩雑であったり、アクセス制御に関する情報が不足しているということもあると思います。 そういうわけで稿では、Gitリポジトリのユーザー管理やアクセス制御を簡単に行う「Gitolite」を紹介します。 なお、稿ではGitの利用方法については紹介しませんので、Git自身の使い方については改め

    Git管理の神ツール「Gitolite」なら、ここまでできる!
  • iOSアプリのAndroid移植も簡単なUnityの基礎知識

    iOSアプリのAndroid移植も簡単なUnityの基礎知識:Unityで楽々スマホ用3Dアプリ開発入門(1)(1/3 ページ) ドラッグ&ドロップで“3D”が作れる「Unity」とは 「Unity」とは、格的なインタラクティブ3Dアプリケーションの開発を容易にする、米Unity Technologies社(以下、Unity社)が開発・販売するオーサリングツールです。 通常、3Dを用いたアプリケーションを開発するには、OpenGL(OpenGL ES)などを用いた複雑なプログラミングを行う必要がありますが、Unityを使うと、まるでFlashコンテンツを制作するかのように、マウスによるドラッグ&ドロップでの3Dオブジェクトの設置と、スクリプトによる動きの定義で簡単にインタラクティブな3Dアプリケーションが作成できてしまいます。 JavaScriptやC#でスクリプトが書ける この記事でも

    iOSアプリのAndroid移植も簡単なUnityの基礎知識
  • Androidでアプリ内課金を始めるための基礎知識

    Android Marketのアプリ内課金サービスとは アプリ内課金サービスとは、アプリ内でデジタルコンテンツを販売するためのAndroid Marketのサービスです。このサービスを利用することで、音楽や画像などのダウンロード可能なファイル、ゲーム難易度やポーションなどの架空のアイテム(俗に言う「アイテム課金」)など、幅広いコンテンツを販売が可能です。 アプリ内課金の特徴は、以下のとおりです。 決済はAndroid Marketが代行してくれる 決済方法はAndroid Marketでアプリを購入する方法と同じでユーザーフレンドリー 決済手数料はアプリ販売と同じ30% 以下はアプリ内課金サンプルの決済処理の画面遷移です。 左画面で、アプリ内で購入するアイテムを選択し「Buy」ボタンをタッチすることで、中央画面のAndroid Marketが提供するチェックアウト画面が表示され、ここで決済

    Androidでアプリ内課金を始めるための基礎知識
    THAL
    THAL 2011/04/29
  • 基礎から分かる、Facebookアプリの作り方

    基礎から分かる、Facebookアプリの作り方:無料クラウドでできるFacebookアプリ開発入門(1)(1/5 ページ) FacebookでWeb開発者/デザイナは何ができるのか 「Facebook」とは、「全世界で5億人を超える」といわれているユーザーが参加しているSNS(ソーシャル・ネットワーキング・サービス)/ソーシャルネットワークです。2008年5月にはインターフェイスも日語化され、現在は日国内でも約700万人以上のユーザーが利用しているといわれています。 Web開発者/デザイナから見た場合、Facebookをアプリケーション・プラットフォームとして利用することで、さまざまな付加価値をユーザーに提供できます。 SNSをプラットフォームとする動きとしては、国内でも「mixi(ミクシィ)」「GREE(グリー)」「モバゲータウン」などが「OpenSocial」の仕様に沿って進んでい

    基礎から分かる、Facebookアプリの作り方
  • アプリ開発ビジネスで独立するなら、知っておきたい「所得税計算」

    今回のテーマ:1人でビジネスを始める Kim氏は、これまでにも定期的に売り上げを報告していて、そのたびにAndroidマーケットからの収入に満足していると書いている。Kim氏は自分がラッキーだったとも書く一方で、「もし今までにもAndroid開発を検討していたのなら、思い切って始めてみることをおすすめする。個人開発者には理想的なプラットフォームだと確信している」と書いている(@IT個人開発Androidアプリで月収116万円に」) iPhoneアプリAndroidアプリ、Webサービスなどを開発して、独立してビジネスを始めるエンジニアが増えているようです。1人でビジネスを始める際には、プログラミングスキルはもちろんのこと、業務で必要とされるものとは異なる種類の会計知識が必要です。 そこで、今回から2回にわたって、「1人ビジネス」における税務について気を付けるべき点を解説します。今回は

    アプリ開発ビジネスで独立するなら、知っておきたい「所得税計算」
  • VBScriptの基本を押さえよう(その1) 文字列の入出力 ― @IT

    このスクリプトが何をしているのかを詳しく説明しよう。 まず1行目で、「Dim<半角スペース>x」と記述することで、xという名前の「変数」を作成(宣言)している。変数とは、中にモノ(値)を自由に出し入れすることができる箱のようなものである。ここでは空の箱を用意していることになる。この行をDim文(Dimステートメント)という。この変数名のように、VBScriptでは、文字列以外は基的に英数字と半角記号文字だけで記述するので間違えないようにしよう。付け加えておくと、VBScriptには大文字・小文字の区別はないので、dim Xなどと書いても同じことである。ちなみにDimは、「次元(配列)」を意味するDimensionという英単語の略である。VBScriptのキーワードは英単語が基になっているものが多い。

    VBScriptの基本を押さえよう(その1) 文字列の入出力 ― @IT
    THAL
    THAL 2010/09/03
    VBSで改行ってどうするんだっけーってググったらこんなサイトがトップに出てきた。
  • ApacheとWebアプリケーションの連携

    スッキリしたURLの表現を使う Webアプリケーションでは、ブラウザ側で指定するURLは特別な意味を持っています。 それは、ニュース記事などのように単にコンテンツの所在を示すだけでなく、そのWebアプリケーションで扱うサブメニューやパラメータまでをURLの一部として表現し、サーバ側にこれらを伝える役割を果たすことがあるためです。 例えば、以下のようにパラメータでコンテンツのIDやアプリケーションが取るべきアクション、その際に指定するモードを並べたURLが考えられます。 かなりスッキリしますね。Apacheの拡張機能を利用すると、ブラウザ側で指定されたURLを、サーバ側で任意のURLに書き換えて、リダイレクトさせることができます。このとき、静的ページのようなURLから、旧来の動的なURLへと書き換えるようにしてあげれば、見た目は上記のようなスッキリしたURLで、Webアプリケーションを動作さ

    ApacheとWebアプリケーションの連携