2015/12/30

先日やっと24の最新作リブアナザーデイを.. DELLのエイリアンウェアは...

初めに

 筆者は24が大好きなのだが、見始めると止まらなくなるので、正月休みに際してようやく最新作の24リブアナザーデイを観ました。
 24の魅力は、映像の尺とストーリー中の時間の尺が同じ構成となっている点でしょうね。
 DVDをまとめて借りてきて、連続で観て、あの息つく間も与えない世界観に没頭するのがオススメですね。
 さすがに24時間連続は辛いので、3日ぐらいに分けたほうが良いと思いますが、連続がオススメです。

エイリアンウェアってなに?

 表題にあった、エイリアンウェアですが、これDELL社製のゲーミングパソコンのブランドなんです。
 DELL社の最高級ブランドと言って良いものだと思います。
 なんと、今回の話では、元CTU分析官のクロエオブライエンが後方支援の機材として使っています。
 最高のハッカーにはゲーミングノートパソコンは似合いますね。びっくりしました。
 欲しい方は、以下より購入できますので、クロエ・オブライエンになった気に浸って観られてはどうでしょう。
デル株式会社 デル株式会社 デル株式会社

終わりに

 24は残念ながら、今回で終わりのようですね。
 残念に思いながら、エイリアンウェアを使いこなしてくれる姿がなんだか嬉しくなって投稿してみました。
 世の中年末ですね、それでは良いお年を。
2015/12/29

スマホアプリのCordovaはやっぱり国産開発環境 Monacaでゴー

はじめに

 本日は2015/12/28です。
 私事ですが、転職して東京で働いている以前の同僚が会社に遊びに来てくれたので、色々話せて楽しかったです。
 それはそうとう、日本は外交でいろんなことがあるものですね。
 政治はパイの取り合いなので筆者のような一市民にはわからないことが多い中、なんだかやるせない気がしてなりません。
 ふー。ということで、筆者も技術者の端くれ、技術は世界を切り開けるわけですから、腐っていないでやっちゃいましょう。

Monacaとは

 ここ読まれている方なら、すでにご存じの方多いと思いますが、CordovaというスマホアプリをJavaScriptだけで作れてしまうフレームワークを以前紹介しました。
 Monacaとは、そのCordovaを根幹に、ブラウザ上で開発環境を実現する、超お手軽開発環境なんです。
 Monacaならブラウザ上で開発するわけですから、Mac以外でもiOS用アプリが作れてしまいます。それもMonaca用のデバッカーアプリをスマホに入れてしまえば、Monaca開発環境からデバッカーアプリ経由で、作成中のアプリをインストール出来てしまうというお手軽環境がニクイです。
 通常、Androidでもusbデバック機能やGooglePlay以外のアプリを許可しないと作成中のアプリはインストール出来ませんが、この辺りがお手軽になっているので開発の敷居が一気に下がっている感があります。

目下勉強中

 Monacaの使用自体は、超簡単です。
 こちらよりユーザ登録(無料)をしてしまえば、3つまでアプリを無料で作れます。
 利用料金は3種類用意されていますが、一番お安いもので年額9800円で利用できますので、しっかり評価してみると良いと思います。
 筆者は、Monaca公式ガイドブックをアマゾンで買いました。
 この冬休みの間に、頑張って評価して来年早々スマホアプリデビューと意気込んでいます。
 以下にリンク貼っておきますね。

 それではまた。
2015/12/23

Cordovaとenchantjsでクマ軍団ゲーム作成

Cordova環境のセットアップ

 Cordovaの開発環境は、以下のとおりに進めれば構築出来ました。
 一部問題はUbuntu14.04の環境の標準nodeはCordovaの導入は出来ませんでした。
 以下の記事どおりnodeサイトより進めていけば大丈夫です。

 Android SDKにはJDKも必要ですから、そちらも導入しましょう。

環境変数設定

 環境変数の設定は「~/.bash_profile」にする記載がありますが、Ubuntu14.04では、次の3つのどれかで行います。
~/.profile
/etc/profile
/etc/bash.bashrc
/etc/profile.d/*.sh
 まあふつうに考えると、~/.profileへの設定でしょう。
 次のように設定を行います。
export ANDROID_HOME=/opt/android-sdk-linux
export JAVA_HOME=/opt/jdk1.7.0_79
export PATH=$PATH:$ANDROID_HOME/tools:/opt/android-studio/bin:$JAVA_HOME/bin
export PATH=$PATH:/opt/node-v5.1.1-linux-x64/bin:$HOME/.linuxbrew/bin

作ってみましょう

 環境ができたら、作ってみましょう。
 CordovaはJSで作成できるわけですから、JSの2Dゲームフレームワークなんかも使えてしまいます。
 enchantjsを使ってみました。
 といっても「enchant.js」を Cordovaプロジェクトのwww/jsフォルダに入れるだけなので、簡単です。

cordovaプロジェクトを作りましょう

 次のコマンドで、カレントフォルダにworkshopフォルダを作成し、そこにcordovaプロジェクトを生成します。
cordova create workshop
 フォルダが生成されたら、そこにカレントフォルダを移します。
cd workshop
 動作プラットフォームを指定します。androidやiosが指定できますが、今回はUbuntuでの開発のため、androidのみとします。(iosはXcodeを必要とするため、Macでしか開発できません。)
cordova platform add android

enchantjsを導入しよう

 enchantjsからダウンロードしたファイルを解凍し、取り出したenchant.jsを以下フォルダにコピーします。
cp -p enchant.js www/js
 次に、ゲームキャラになるenchantjsにもともと付いている「クマ」の画像もコピーしておきます。
cp -p chara1.png www
 こちらはサブフォルダを切っても良かったのですが、とりあえずindex.htmlと同じ場所への展開としました。

音を鳴らせるようにMediaプラグインを導入します

 ゲームですから、音が鳴らせるようにしましょう。
 cordovaコマンドでmediaプラグインを導入します。
cordova plugin add org.apache.cordova.media
 とりあえず、きちんと入ったか確認します。
cordova plugin ls
 正常動作していれば次の表示となるはずです。
cordova-plugin-console 1.0.2 "Console"
cordova-plugin-device 1.1.0 "Device"
cordova-plugin-file 3.0.0 "File"
cordova-plugin-media 1.0.1 "Media"
cordova-plugin-whitelist 1.2.0 "Whitelist"

ここまでできたらプログラムを打ち込みます

 cordovaは基本web構造なので、index.htmlが最初に読み込まれます。
 そちらに必要なjsを読み込ませ動作させます。
 とりあえず、main.jsでプログラムを定義してみたサンプルが以下のものです。
 効果音として「s-burst01.mp3」(タッチ時の音)、「darkknight.mp3」(BGM)を使用しています。
 音はこちらMusic is VFRフリー素材 Music-note jpのものを使わせてもらいました。
 サンプルと異なる音源を使う場合、プログラム修正するかファイル名変更を行うかいずれかの方法で関連性を持たせれば問題ありません。
FileName:www/index.html
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
</style>
</head>
<body>
<style type="text/css">
body{
  margin:0;
  padding:0;
}
</style>
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="js/enchant.js"></script>
    <script type="text/javascript" src="js/main.js"></script>
</body>
</html>
FileName:www/js/main.js
enchant();
function getPath(){
    var str = location.pathname;
    var i = str.lastIndexOf('/');
    return str.substring(0,i+1);
}

function mediaError(e) {
}
function onSuccess(){
}

window.onload = function(){
 var core = new Core(window.parent.innerWidth,window.innerHeight);
 core.preload(['chara1.png']);
 core.fps = 15;
 var maxcount = 10;
        var audioHit1 = null;
        var audioBG = null;
 document.addEventListener("deviceready",
 function(){
        try{
          audioHit1 = new Media( getPath() + "s-burst01.mp3",onSuccess,mediaError);
   audioBG = new Media( getPath() + "darkknight.mp3",onSuccess,mediaError);
   audioBG.play({numberOfLoops:"infinite"});
        }catch(e){
          window.alert("Media:"+e);
        }
        }
 ,false);
     core.onload = function(){
  var Bear = Class.create(Sprite,{

   initialize:function(x,y){
    Sprite.call(this,32,32);
    this.vscale = 2;
    this.speed = 5;
    this.ss = 1 + this.vscale;
    this.x = x;
    this.y = y;
    this.image = core.assets['chara1.png'];
    this.image.frame = [0,1];
    this.scale(1,1);
    this.rotation = Math.random()*360 ;//* Math.PI/180;
           this.fc = -1;
    core.rootScene.addChild(this);
    maxcount --;
   },
   onenterframe:function(){
    var s = 1;
           this.fc ++;
                                if (this.fc > 3){
        this.fc=0;
    }
           this.frame = this.fc;
    
    if( parseInt(Math.random() * 10) == 5 ){
     if (maxcount >0 ) new Bear(Math.random()*100,Math.random()*100);
    }
    
    this.x += Math.cos(this.rotation * Math.PI / 180 ) * this.speed;
    this.y += Math.sin(this.rotation * Math.PI / 180 ) * this.speed;
    if (this.x >= core.width || this.x <= 0 || this.y >= core.height || this.y <= 0 ){
     this.rotation = Math.random()*360 ;//* Math.PI/180;
    }

   },
   ontouchend:function(){
           audioHit1.stop();                              
           audioHit1.play();
    if (this.scaleX > 50){
     core.rootScene.removeChild(this);
     maxcount ++;
    }
    this.scale(this.ss,this.ss);
   },
  });

  var bear = new Bear(50,50);

 } 
 core.start();
};
Filename:platforms/android/AndroidManifest.xml
     :                   :
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     :                   :
</manifest>

さっそく実機でテスト

 動作環境はjsなのですからブラウザ上でも確かめられますが、やっぱり実機でやってみたいものです。
 androidスマホをUSBデバックモードをONにした状態で、USBにてパソコンと接続します。
 USBデバックモードをONにする方法は、こちらに記事がありました。
 ONにしましたら、USBケーブルでパソコンと接続します。
 接続したら次のコマンドにて実機に転送して動作させます。
cordova run android
 少々画質が悪いですが、以下が動作結果です。

 どうでしょう。結構簡単にゲームっぽいものが作れたとおもいます。
 みなさんも頑張って見られてはどうでしょう?
2015/12/07

Cordovaでスマホアプリを簡単作成

はじめに

 スマホにはandroid,iPhoneがあるのは皆さんご存知のことと思います。
 別にOSが違うだけなら問題ないのですが、それぞれ開発キットがあり、どちらでも動くものは少々難しいようです。
 ただ、労力が潤沢ではない場合、2つをそれぞれ作るなんて出来ないわけですから、何とかしたいところです。

色々あります

 スマホが市場に出て、何年かたちました。
 完全とはいわないまでも、複数のプラットフォームに対応できるものも色々出てきています。
 その中で、HTML5+Javascriptで開発出来るCordovaというものを学習してみたいと思います。

ネットの記事がありました

 基本からすべて調べてみようと思ったのですが、ありがたいことに先駆者の方が記事を掲載されていました。
 こちらを素材に実施してみたいと思います。

 ということで、筆者が躓いた点などをアップしていきたいと思いますので、よろしくどうぞ。
2015/12/06

DELLってコンピュータメーカーの宣伝をしてみる

はじめに

 みなさんごきげんいかがでしょうか?
 今回はDELLというコンピュータメーカーについて、非常に書きたくなったので投稿してみます。

なぜ書きたくなったのか?

 書きたくなった理由ですが、いつの間にか会社のパソコンがすべてDELLになってしまったからです。
 それも客先に納品する製品までもです。
 少々面倒な相手に紹介する場合もDELLを紹介してしまう始末です。
 なぜかって?
 理由を知りたいですよね。

 その前に、DELLって何だという方に説明します。

DELLってなに?

 DELLとは外資系のコンピュータメーカーで、日本法人は1989年に設立しています。
 以外に長く日本市場に取り組んでいる会社です。
 特徴は、特にかくコストパフォーマンス最高で、アフターサービスも評判良い会社です。
 ただ、量販店などでは、ほぼ見ることはなく(都心のヨドバシカメラなどでは販売されています)、ネット販売が主な販売ルートとなっており、初心者にはあまり知られていない会社です。

DELLの良さは?

 まずなんと言っても安い。
 故障した場合も、保証期間であれば修理してもらえるのは当然のこと、簡単な部品交換で、自分でも出来る範囲のものであれば部品を送付してくれたりします。
 技術者派遣での修理は応対しないといけないですし、メーカー送りにする場合は戻ってくるまで待たされるわけで、筆者はこの対応は点数高いです。
 部品交換といっても、最近のパソコンはモジュール化がすごいですから、場合によってはネジを外すこともなかったりします。
 プラモデルより簡単だったり。
 半田ゴテなんて絶対使う必要はないです。
 知人も技術者ではないのですが、ノートパソコンのキーボードのキーを外してしまった際に、ピンを折ってしまったのですが、故障扱いで部品を送ってもらい、無事自分で交換をし終えていました。

そんなこと言っても、故障は心配

 店頭で買えば相手がわかるわけで、困った時は店頭に持っていけば何とかしてもらえるかもと安心ですね。
 DELLの場合ですが、サポート窓口に電話して本体に記載されている7桁のサービスタグ番号を伝えればすべて話が通るようになっています。
 たらい回しに合うことはありません。過去の対応記録もすべてわかるようになっています。
 電話応対してくれる方は外国人の場合はあるようですが、応対は全く問題なくこなしてくれます。価格維持の起業努力はすさまじいです。

どんなもの売っているの?

 4万円台の廉価版から、こだわった製品やゲーミングブランドまでそろっています。
 はっきり言うとここまでカバー率高いメーカーは他にはHPしか無いのではないではないでしょうか。

ノートブック廉価版

デル株式会社 デル株式会社

ノートブックハイエンド

デル株式会社

ノートブックゲーミング

デル株式会社 デル株式会社 デル株式会社

 こんな感じですね。
 DELLの製品もいいもんだなぁと思っていただけましたか?

悪いところはないの?

 DELLのノートパソコンで残念でたまらないのは電源アダプターなんです。
 19.5V 3.3Aのアダプタなんですが、何故かおっきいんです。
 気にされる方は、以下のような互換アダプタを購入されることをお薦めします。

2015/11/11

2003Serverの後継機LInuxサーバはどうでしょ?

Windows2003Serverは2015/7で保守終了しましたが

 Windows2003Serverは2015/7で保守期間を終了しましたが、皆さんの会社では新しいOSへの載せ替えは完了しましたでしょうか?
 MSの体制は色々あるでしょうが、12年間もメンテナンスしてくれたわけですから、もう感謝しても良いのではないでしょうか?
 引き続きMSの製品となりますと、Windows2012ServerR2というところですね。
 20名までの規模ならFoundationを選択すれば比較的安価に抑えられますが、ユーザ規模によってはCALが必要になるので、少々予算確保が必要になるかも知れませんね。
 ということでMS製品ではなくLinuxで何とかすることは出来ないかと検討してみましたので、参考にしてみてください。

Linuxサーバで対応できるのか

 昨今のクラウドコンピューティングの流行りから、サーバ環境でのLinuxの知名度は以前に増してあるようです。
 サーバというと範囲が広いのですが、社内サーバでよく使われる、ファイルサーバとActiveDirectory、DHCP、LDAPはどうなのかという点で調べてみました。
WindowsLinux機能
ActiveDirectorySamba4から対応
ファイルサーバSamba4から対応 SMB3.0まで対応
DHCPサーバdhcp
LDAPサーバopenldap
 やっぱり対応機能はありますね。特にSamba4でのActiveDirectory対応はMSも参加しているようなので、以前のような不完全さは少なくなっているようです。
 ファイルサーバは問題ないですね。

仮想化技術は

 サーバといえば仮想化ですね。KVN,VMWareなどなど色々ありますね。ですが、これらはPCハードウェアのエミュレート方式なので、オーバーヘッドが気になります。
 環境の抽象化を主要に考えると、最近はやりのdockerを使ってみたいですね。
 dockerを効率的に使うなら、dockerに特化したCoreOSが良いようです。
 少々評価してみましたが、ファイルサーバにするにはSamba4部分をdockerイメージで動作させる必要があるようです。
 samba4の公式イメージがあればおすすめするところでしたが、公式にはsamba4のイメージはないようです。
 従って今回は仮想化技術は使わず、Linuxサーバのみで実装することにしてみました。

Linuxサーバはどのディストリビューションで?

 Linuxは色々なディストリビューションがありますね。主要な物を検索してみたところ、以下サイトにまとめられていました。

 各OSのリリース日とサポート終了日を表にまとめてみた

 費用を抑えつつ、長期サポートを考慮するとCentOS7のサポート期間2024/6/30までというのが魅力的です。
 Windows2012R2より1年長いですし、なんせ2020年のオリンピックを超えて対応できるなんて素晴らしい。
 ということでディストリビューションは、CentOS7にしました。
 こちらからミニマムISOをダウンロードしてCD-Rなどに焼けば、それを基にインストールが行えます。
 ミニマムバージョンなので不足機能はyumコマンドでネットから追加インストールをして使います。

Samba4

 CentOS7に付属のSambaは、ActiveDirectoryにKerberosの関係で対応できません。
 以下サイトに記載されている方法で、コンパイルして導入しましょう。
 CentOS 7とSamba4で自宅用Active Directory Domain Controller (AD DC)を構築する① インストール編
 非常に適切にまとめられているので、これだけで十分設定出来るレベルです。
 多少重複していますが、ユーザ登録などは次のページに記載されているので、こちらも参考にしましょう。
 Active Directoryドメインコントローラー構築(Samba)

RAID1

 ファイルサーバにするなら、ディスクはRAIDで冗長化しておくべきでしょう。
 予算が許すなら、ハードウェアRAIDを導入すべきですが、ダメな場合は、ソフトウェアRAIDで対応しましょう。
 この場合もディスクは最低2本用意しましょう。
 ソフトウェアRAIDの設定方法は以下ページに記載されていました。
 ソフトウェアRAID の初期設定と運用 - mdadm

 ソフトウェアRAIDで障害が発生した際にメールで通知する方法

 みなさん本当に感謝です。

dhcp

 DHCPサーバー構築(dhcp)の設定はこちら。
2015/10/25

自動車保険を格安に これって大丈夫なの??

自動車保険、アフリエイトを使えば安く出来ます

 日曜日ですね。自宅でくつろぐ筆者です。
 そろそろ自動車保険更新の時期になってきたので、色々調べているのですが、アフリエイトの報酬をキャッシュバックと捉えればかなり安くできることに気付きましたので、拡散したいとおもいます。

概要

 アフリエイトの理解ですが、一般的に、自分のサイトから購入に繋がった場合に広告主から報酬が支払われるものとの理解ではないでしょうか?
 サイトを持っていない人には関係ないのでは?と、なるところですが、実は自己購入可能なアフリエイトが存在します。
 保険証券などの金融商品は、契約獲得に熾烈な争いをしているので、なんと見積もりを取っただけで、報酬が支払われる物が存在しています。
 自動車保険の更新時には見積もりを取るわけですから、報酬につなげてしまいましょう。
 これだけで2000〜3000円程度もらえますから、少しばかり手順が増えるものの、努力して見る価値はありますよ。
 現状では悪質な冷やかし以外は何度でも見積もりできますから、今回やり方を覚えれば、次回もやれますので、一回こっきりじゃないですよ。

具体的なやり方

A8ネット(自己購入可能アフリエイト)に入会

 お薦めの自己購入可能型アフリエイトはA8ネットです。審査もなく、手数料が振り込まれる銀行口座さえ持っておけばすぐにできます。銀行口座はなんでもよいのですが、振込時の振込手数料が安いゆうちょ銀行がおすすめです。
 会費は無料ですので、作っておいて使わなくてもリスクになるようなものはありません。
 A8ネットへの会員登録は以下のバナーからできます。


 会員登録はすぐに出来ます。

A8セルフバックより保険の見積もり

 登録したらトップページからセルフバックをクリックして自己購入のページを開きます。
 開きましたら、「自動車保険」を検索してみましょう。
 自動車保険がリストされます。表示されている金額は見積もりを取っただけでもらえるお金です。
 このお金、ポイントではなく登録した銀行に直接振り込まれるお金です。

 よくわからないポイントでごまかされるのではなく、現金が振り込まれるのは嬉しいですよ。
 詳細を見るをクリックしますと、次の状態になります。ここからセルフバックをするをクリックしますと、自動車保険のページに遷移しますので、それ以降はふつうに作業を進めていくだけです。
 自動車保険のページ

見積もりを取った後は

 見積もりを取ると、A8ネットのトップに報酬の欄に翌日表示されます。
 実際に振り込まれるのは翌々月なので、チョット時間が空きますが、しっかり振り込まれますので、待っておきましょう。

A8ネットって大丈夫なの?

 ネットでは怪しい情報多いですが、A8ネットの運営団体のファンコミュニケーションズはJASDAQにも上場しているので、少なくとも怪しい会社ではないです。
 みなさんも安心して使われてはどうかと思います。