開発」カテゴリーアーカイブ

Windows で へろく ってみる。

image

こんなこと言われましたが僕はめげません。
どうもみむらです。

Heroku  Cloud Application Platform

Heroku がなかなかおもしろい環境の予感がしたので、早速導入。

 

0. Heroku のアカウントを作る。

https://api.heroku.com/signup
Heroku Signup

ここから heroku のアカウントを作る。

 

1.Ruby 環境導入

RubyForge Ruby Installer for Windows ファイルリスト

ここから最新版の rubyinstaller を落としてきてインストール。

image

image

 

2. git インストール

Git – Fast Version Control System

Windows ロゴクリックして、最新版をとってきてインストール。

 

3.heroku 準備

Heroku  Dev Center  Getting Started with Heroku
ここを参照しながら。

3.1 heroku に必要なものをどっちゃりいれる。

image

gem install heroku rack bundler sinatra shotgun

3.2.SSH Key 作る。

image

Git Bash を立ち上げる。

image

$ ssh-keygen -t rsa -C "[e-mail アドレス]"
Generating public/private rsa key pair.
Enter file in which to save the key ( [環境によってここは変わる]  ): [何も打たずに Enter]
Created directory '...'
Enter passphrase (empty for no passphrase) : [パスワードを入れて Enter]
Enter same passphrase again: [同じパスワードをいれて Enter]

image

終わったらウィンドウを閉じる。

 

3.3. git 準備

image

git init
git add .
git commit -m "[コミットメッセージ (任意の文字列) ]"

image

heroku create

Enter your Heroku credentials.
Email : [heroku のログインに使用するメールアドレス]
Password : [heroku のログインに使用するパスワード]

4.おつかれさまでした


って、これだけで適当に完了。

一応サンプルコードを書いてみたり。

HerokuでSinatraを使ってHello worldする – アインシュタインの電話番号☎

ということで、ここを参考にしてみる。

とりあえず、私の環境だと動いたのでこんなところで。

Windows で フォルダをドライブにする。

同じくメモ書き程度に。

特定のフォルダをドライブにする場合。
subst コマンドを使います。

古いアプリケーションで、スペースの入ったパスが使えない場合や、
そもそも長いパスをどうにかしたい場合に、mklink に並んで有用です。

 

作成:

subst ドライブ: パス

 

削除:

subst /d ドライブ:

 

例として、コマンドプロンプトのカレントディレクトリを Zドライブ に割り当てたい場合。

Windows Vista 以降であれば、フォルダを Shift キーを押しながら右クリックすると
「コマンド ウィンドウをここで開く」というメニューが追加されるので、それで行う場合を想定して。

追加:

subst z: .

削除:

subst /d z:

 

C:\Users\Test\Desktop\Hello を X ドライブにする場合。

追加:

subst x: C:\Users\Test\Desktop\Hello

削除:

subst /d x:

Windows の sudo / su は runas

2014/12/11 update:
本記事の方法より、良い方法が見つかりましたので、次の記事を参照されることをおすすめします:

Windows で sudo なことをする – みむらの手記手帳


 

覚え書き程度に。

linux や unix の su コマンドや sudo コマンドに該当するコマンドとして、
Windows には runas コマンドが存在します。

ヘルプ:

RUNAS 使用法:

RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
        /user:<ユーザー名> プログラム

RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
        /smartcard [/user:<ユーザー名>] プログラム

RUNAS /trustlevel:<信頼レベル> プログラム

   /noprofile        ユーザーのプロファイルを読み込まないように指定します。
                     この結果、アプリケーションをより速く読み込むことができま
                     すが、一部のアプリケーションが正しく動作しない可能性があ
                     ります。
   /profile          ユーザーのプロファイルを読み込むように指定します。
                     これは既定値です。
   /env              ユーザーの環境ではなく、現在の環境を使用する場合に使います
   /netonly          指定された資格情報をリモート アクセスのみで使用する場合に
                     使います。
   /savecred         ユーザーが以前に保存した資格情報を使います。
                     このオプションは Windows 7 Home Edition または Windows 7 Starter Edition では使用できません
                     Edition では利用できないので無視されます。
   /smartcard        資格情報がスマート カードから提供される場合に使います。

   /user             <ユーザー名> の形式は、"ユーザー@ドメイン" または
                     "ドメイン\ユーザー" です
   /showtrustlevels  /trustlevel に対して引数として使用できるレベルを表示し
                     ます。
   /trustlevel       <レベル> は /showtrustlevels に列挙されているレベルの
                     いずれかです。
   プログラム        実行可能なコマンドラインです。下の例を参照してください。

例:
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

注意:  要求されたときのみ、ユーザーのパスワードを入力してください。
注意:  /profile は /netonly と互換性がありません。
注意:  /savecred は /smartcard と互換性がありません。

 

ということで、要は任意のユーザ権限で動かせます。

 

使い方。

runas /user:administrator cmd

これで、 administrator で cmd (コマンドプロンプト) が立ち上がります。

 

同様に、TEST というユーザで calc (電卓) を立ち上げたいときは、

runas /user:TEST calc

というような要領で。

 

要は、

runas /user:(USERNAME) (COMMAND)

というところ。ひとまずメモまで。

スマートフォン勉強会@関東 #14 で話してきた。–XNA と WP7 のはなし。

どうもみむらです。

そんなわけで、先日、
http://sumaben.jp/?SPWorkshopKanto14

IIJ にて Windows Phone 7 で XNA を使ったゲーム開発をちょっと始めて見るのもいいんじゃない。
というようなプレゼンをしてきました。

 

なにやら、Ustream 上には録画が残っているようなので、
見たい人はどうぞ。

http://www.ustream.tv/recorded/16899244

プレゼンテーションは、アニメーションとかを完全に切っても問題にならない程度にはしたつもりですが、
ダウンロードしますと元のファイルが取って来れますので、気になる方はそちらから。

 

私のプレゼンの前に、Corona によるさくさく開発をやられてしまったので、
非常にやりづらかったのはありますが、なんとかやってきました。

プレゼンのデータは、流れるようにということを意識して、
上から読んでいくとうまくいく仕掛けにはなっているのですが、まぁ、面倒くさいということで要点を纏めてみます。

1.読み込み処理を LoadContent に書く。

2.描画処理を Draw に書く。

この2点だけ知って、あとはがりがり書けば書けると思います。

 

あといくつかサンプル。

 

1.画像を追加するには。

1.1. ソリューションエクスプローラの「~Content(Content)」となっている所に投げ込む。

image

1.2. 読み込むコードを 「 LoadContent 」に追記する。

this.texture = this.Content.Load<Texture2D>("pics");

(ダブルクォーテーションで囲われた「pics」は、ファイル名に合わせて修正する。)

1.3. 描画するコードを「 Draw 」に追記する。

spriteBatch.Begin();
spriteBatch.Draw(this.texture, Vector2.Zero,Color.White);
spriteBatch.End();

spriteBatch は、2D 系の描画系で使うものと捕らえておいて頂ければ。

Begin() で始めて、描画して、 End() で終えます。

 

2.Windows Phone 7 のタッチを使うには。

2.1. 参照を追加

using Microsoft.Xna.Framework.Input.Touch;

2.2. Initalize に、ドラッグ処理(FreeDrag) を有効にするようにするコードを追加する。

TouchPanel.EnabledGestures = GestureType.FreeDrag;

2.3. Update の中で、 TouchPanel.IsGestureAvailable がTrue かどうか(ジェスチャが存在するかどうか)を調べて、

あれば(動きがあれば) ReadGesture() で取得して、座標を格納する。

if (TouchPanel.IsGestureAvailable)
	this.vec = TouchPanel.ReadGesture().Position

2.4. 描画時に、上記で取得した座標を使って描画するようにする。

spriteBatch.Begin();
spriteBatch.Draw(this.texture, this.vec, Color.White);
spriteBatch.End();

 

とりあえず、こんな感じです。

あくまでもさくっと、初めての人が興味を持ってもらえればという気持ちで作ったドキュメントなので、

かなり足りない部分や、物足りない部分があるかと思いますが、

その辺りは調べて頂くか、聞いて頂ければお答えできるかもしれません。

Prolog を Excel で使う。

またしても、不思議なことをしてみました。

359779196

今回解かせたのは、
http://www.geocities.jp/m_hiroi/prolog/prolog01.html#chap4
こちらのウェブサイトで紹介されている、「家系図」の問題。

ダウンロードに関して
ソースコード: https://github.com/mimura1133/mm_Prolog_for_Excel
バイナリ:http://mimumimu.net/beta/programs/PrologExcel.zip

コードの紹介は今回は割愛しますが、
導入の方法について、かなり変態的なので紹介します。


導入編。

image

ファイルを展開すると、このようなファイルが入っています。

image

この中から、 install.bat を探し、右クリック –> 管理者として実行

実行したら、 Excel を立ち上げます。

image

ファイルメニュー内の「オプション」をクリック

image

開いたダイアログから、「アドイン」を選び、
一番下の管理について、「Excel アドイン」を選んで、「設定」を押します。

image

そして、オートメーションをクリック。

image

中から、PrologExcel.PrologExcel を選んで、OK を押す。

image

PrologExcel.PrologExcel が追加されるので、チェックを付けて OK を押す。


利用編

このアドインには大きく2つの関数があります。

1.Prolog_List 関数

Prolog_List()

Input : Excel List
Output: Prolog List

この関数は、

male taro
male ichiro
male jiro
male saburo

というような一覧が存在したとき、

male(taro).
male(ichiro).
male(jiro).
male(saburo).

このような、Prolog のリスト形式に変換してくれます。

さんぷる:
image

また、下記のように、いくつもリストがある場合、

image

特に難しい事はしていませんので、 Excel の通常の文字列結合同様、
「&」マークで結合すれば問題ありません。

image

2.Prolog 関数

Prolog()

Input : Program, Query
Output : Answer

第一引数に、リスト定義などを与え、
第二引数に、クエリを与えます。

image

クエリを投げる際は、

:- parents_of(X, ichiro).

のように、「?-」 ではなく、「:-」として投げるようです。

(・・私は Prolog を使う人じゃ無いのでよく分かりません・・。)

なお、この関数が実行される際、多少ラグが発生するのでご了承下さい。


とりあえず、こんな感じで。であであ。