アーキテクチャをスマートに。

株式会社ネオジニア代表。ITアーキテクトとしてのお仕事や考えていることなどをたまに綴っています。(記事の内容は個人の見解に基づくものであり、所属組織を代表するものではありません)

プログラマーに向いている人とそうでない人

一般的に、標準的な能力のプログラマと、良くできるプログラマとの能力差は何倍とも何十倍とも言われ、個人ごとの能力差が非常に激しい職種だと言われています。自分自身、この業界で10年以上仕事してきて、本当にそのとおりだな〜と身にしみて思います。逆…

VMwareとParallelsの比較

Mac

MacでVM使いたい場合に VMware Fusion 7.0 と Parallels Desktop 10 でどちらが良いか調査しました。

Mac OS X で ext4 マウントする方法(ext4fuse)

Mac

先日、諸事情によりメインマシンを Ubuntu on ThinkPad X220 から MacBook Pro に乗り換えたんですが、Mac OS X で ext4 パーティションのマウントがうまく出来なかったのでその記録。

Remminaで"|"が打てない時

先日、久しぶりに時間があったのでついに Ubuntu 14.04 LTS trusty に乗り換えました! で Remmina を使って Windows にリモートデスクトップ接続すると、"|" が打てないのでちょっとググったところ簡単に対応できたので記録しておく。

ホントにあったクソコードの話(2014年春号)

最近久しぶりに Java の開発プロジェクトに参画したので、実際にそこで見たクソコードをいくつか挙げてみます。 提示しているソースコードは、実際のソースコードをもとに出来るだけニュアンスが伝わるよう書き換えています。

SIでWebシステムやるなら Java? いやいや ASP.NET MVC でしょ

お仕事(つまりSI、企業向け受託開発)で Webシステムを開発する際に、どんなアーキテクチャにすべきか、どのフレームワーク(プログラミング言語)を採用すべきかを考えた時、最近では ASP.NET MVC が良い選択だと実感しています。ではなぜそれが良いのか、…

ブログ移行しました

これまではてなダイアリーを利用させていただいていましたが、新しいはてなブログに移行しました。 記事やスターなどもまるごと全部インポートできて、リダイレクト設定も簡単にできました。管理画面も"今風"な感じで、結構いい感じです。編集画面も使いやす…

正しい人月見積もりのやり方

ちょっと釣り気味のタイトルですが、大真面目です。 もう少し正確にタイトルを付けるとするなら、「一番マシな人月契約のやり方」といったところでしょうか。さて、IT業界の受託開発において、人月見積もりはダメだという事はいまさら説明する必要もないと思…

ネオ富豪の開催にあたって(5)プレイヤープログラムの制作〜大会終了後

ネオ爺の制作 プレイヤープログラムの着手にあたっては、当初から C++ で組んでAndroidアプリとしてパッケージングするつもりだったのでナポレオンアプリのプログラムの構造を大きく流用しました。

ネオ富豪の開催にあたって(4)追加機能

再接続対応 参加者のプログラムは、ネット経由なので通信途絶えたり、プログラムバグで強制終了してしまったりすることも想定されます。 その場合にどう対応するべきかを考えました。

ネオ富豪の開催にあたって(3)クイックプレイ〜ランディングページ

マスタサーバの実装 そんなこんなで、マスタサーバの実装にとりかかりました。 Web上で簡単に大富豪をプレイできる、というのが今回のアーキテクチャのすごいところなので、クイックプレイという機能をつけようと思いました。要するに、モバイルでもPCでも、…

ネオ富豪の開催にあたって(2)アーキテクチャが決まるまで

当初の構想 ナポレオンアプリを作った経験から、画面の構成はほとんど迷うことなく決まっていました。(なので自然と5人対戦という仕様になりました) ゲームシステムも、マスタープログラムが1つあって、そこにプレイヤープログラムがいくつもつながって…

ネオ富豪の開催にあたって(1)きっかけ

1月25日(土)に開催したプログラミングコンテスト「ネオ富豪」の開催にあたって、準備段階の構想や考えていたこと、反省点などを備忘録を兼ねて記録しました。 完全じゃないですがだいたい時系列です。日付がわかる出来事は日付を書き添えています。

ASP.NET MVC で WebSocket サーバを作る

ASP.NET MVC で WebSocket サーバを立てたくて色々調べた結果、あまり情報がなくて苦労したたのでここに記録を残します。キーワード: ASP.NET MVC WebSocket Microsoft.WebSockets SignalR

VMサーバが壊れた話

開発のVM母艦となっていたサーバがどうにも調子悪い。 VM上のLinuxで突然lsコマンドが異常終了したり、Windowsがブルースクリーンで落ちてしまったり。 そうなると、母艦のOS自体がおかしくなってシャットダウンさせようとするとフリーズしてしまう。これは…

Ubuntu 13.04 で Google Drive と同期

GoogleDrive は Dropbox や SkyDrive と同様のオンラインストレージサービスです。 あと、Ubuntu 派の人には有名な Ubuntu One ってのもありますが、Windows版の出来がよろしくないようで自分のまわりでは使ってる人みたことないです。個人的には Dropbox を…

sysdate と current_date のトリビア

あんまり役に立つことじゃないかもしれないですが、ほとんど知られてない事だと思います。Oracle の sysdate と current_date が違う日付を返すという怪奇現象です。

IIS Express で localhost 以外からアクセスする方法

Visual Studio 2012 で ASP.NET MVC 開発したとき、デバッグのためにリモートホストからアクセスする必要があったので、やり方を調べました。 検索用キーワード:IIS Express 外部からアクセス リモートアクセス 外部公開 他のPCからアクセス

ASP.NET MVC 4 ことはじめ(5)モデルと足場

ASP.NET MVC は、実はモデルに相当する部分を提供していません。既存のDBアクセス技術である Entity Framework を組み合わせて使用します。Visual Studio 2012 で ASP.NET MVC 4 のプロジェクトを新規作成すると Entity Framework 5.0 がデフォルトで使える…

ViewBagに匿名型を入れるとRuntimeBinderException

ViewBag に匿名型を入れて View 側で使おうとすると、「'object' に 'Xxxxx' の定義がありません」みたいなエラー(RuntimeBinderException)になってしまいます。開発環境は以下の通り。 Windows 7 (64bit) Visual Studio 2012 Express for Web ASP.NET MVC…

ASP.NET MVC 4 ことはじめ(4)ViewBag と ViewData

ViewBag ってなんだ? 自動生成されたビューのソースコードで、冒頭に ViewBag.Title ってやつが登場します。 この ViewBag も ViewData と同じくコントローラからビューにデータを受け渡すための入れ物として使用できます。 MVC 3 から登場したようで、Micr…

ASP.NET MVC 4 ことはじめ(3)ルーティング

ルーティングについて アクセスされたURLに対して、どのコントローラを起動するか割り当てることを「ルーティング」と呼びます。ルーティング定義は、Global.asax の Application_Start() で設定します。 ASP.NET MVC 3 までは、ルート定義をカスタマイズす…

ASP.NET MVC 4 ことはじめ(2)ビューの指定

呼び出すビューを切り替える コントローラからビューの呼び出しは、View() メソッドで行われます。引数に何も指定しない場合は、デフォルトでメソッド名と同じ名前のビューが呼び出されます。 HomeController.Index() なら、ビューは Home/Index.cshtml とい…

ASP.NET MVC 4 ことはじめ(1)Hello World まで

ネットで情報収集をしていて、ASP.NET MVC 4 の情報があまりないな〜と思ったので、学習の記録を残すことにしました。 ASP.NET MVC の基本的な考え方を、Visual Studio 2012 で ASP.NET MVC 4 を使いながら習得できるようなチュートリアル的な内容を目指しま…

Highstockスゴイ!日本語化もしてみた。

Yahooファイナンスなんかでよく見られる、株価のチャートを表示する必要があったので、jQueryプラグインで使いやすいのがないか探してたのですが、すごいクールなのが見つかったので紹介。 (あと自分の備忘録も兼ねた記録です)

phpVirtualBox を入れてみた(その2)

phpVirtualBoxのインストール

phpVirtualBox を入れてみた(その1)

phpVirtualBox ってのがあるのを今日知りました。Webブラウザから VirtualBox を操作できるWebアプリケーションです。 要するに VMware Server みたいなやつです。最近では CloudStack とかがあるからそっちの方が有名かな。 同じ種類のソフトウェアとして、…

SSDをRAID5で自作サーバ構築(その4)

RAID再構築(リカバリ) ディスクをひとつ抜いたままにしていたのを忘れていました。(汗

SSDをRAID5で自作サーバ構築(その3)

ファイルシステムのSSD向けチューニング 先人の知恵*1に従って、ext4とXFSに対してはマウントオプションを変更します。 discard SSD のTrimコマンドを有効にする nobarrier I/Oバリアを無効化する relatime *1:http://blog.kamipo.net/entry/20110816/131348…

SSDをRAID5で自作サーバ構築(その2)

OSインストール OS は Jaunty の頃からお気に入りの Ubuntu Server 12.04.02 LTS (x86_64) にしました。 まずはUbuntuのISOイメージをダウンロード。(ubuntu-12.04.2-server-amd64.iso) でインストール方法ですが、サーバ構成を見ての通り光学ドライブがな…