unity : OnLevelWasLoadedが呼ばれない?

NetworkManagerを継承して、オリジナルを作るところで

Awake
OnEnable
Start
は呼ばれますが、OnLevelWasLoadedが呼ばれない。

なぜでしょう?

とりあえず、初回は Startの中で自分で呼んでみます。

OnLevelWasLoaded (Application.loadedLevel);

どうかな?

今度は、NetworkManager.singletonがnullに・・・
Awakeが呼ばれるのを確認したので、それを削除したら大丈夫でした。

ということで無事?なんとなくネットワーク対戦開始しました。

unity 5.1 : unet で マルチプレイヤー : StartServer Listen failed

stopしてから再度実行すると StartServer Listen failedで開始されない。

http://forum.unity3d.com/threads/startserver-listen-failed.334566/

http://unity3d.com/jp/unity/qa/patch-releases/5.1.1p2

で修正されているらしいです。

税理士いらず:申告調整で税金の納付額を入力

申告調整をクリックすると税金関連の仕訳を削除しますか?と
納付分の仕訳が削除されるので、当期納税額と税率の設定画面で当期の納付額を入力出来ました。

決算処理も終わり申告書類のpdfも無事出来ました。

上野、さくらテラス : COCORICO DELI チキン1/4プレートのランチ

ロティサリーチキンというのですね
1/4ランチ 1200円(税別
1/2ランチ 1500円(税別

1/4と1/2で迷いましたが初めてなので1/4にしてみました。
小食でなくチキン目的できたならずばり1/2がオススメのようですね

前菜;レタス、スープ、米?
メイン:チキンとチキンライスのプレート
デザート:シフォンケーキ
ドリンク:アイスティー

前菜もデザートも美味しかったですし
メインのチキンとチキンライスはさすがでしたね
あーこれなら1/2にしておけばよかった!!!と言う味でした。

夜のチキンの値段を考えるとかなりお得なようですね
また行こうと思える味でした。

LA COCORICO上野の森さくらテラス店/COCORICO DELIフレンチ / 京成上野駅上野駅上野御徒町駅

昼総合点★★★☆☆ 3.0

一人でやってみる法人確定申告 2015(4回目。。。

さて、今年もまた法人税です。
まさかの4回目。。。情報共有を

記帳は ringokeiriteinさんです。スプレッドシートにまとめるだけでも大丈夫ですが、各種帳簿確認も出来るのでオススメです。
https://sites.google.com/site/ringokeiri/ringokeiritien

申告書作成は、「税理士いらず」さん。
http://www.z-irazu.jp/

やはりまとめてやると面倒ですね・・・毎日記帳していればなんの問題も無いのですが
今期はまだですが来期あたりから人に頼めるようになると良いな〜と思いつつ。

赤字でも地方税の均等割を忘れずに。。。

node : passport で twitter, facebook認証, express

http://passportjs.org/

http://passportjs.org/guide/

app.post('/login', passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/login' }));

こんな感じで簡単に認証を入れられるようです

$ npm install passport –save

$ tsd query passport -a install -sr
<< tsd 0.5.7
- passport/passport.d.ts : : 2015-05-08 12:31
>> express/express.d.ts : : 2015-05-08 12:31
>> node/node.d.ts : : 2015-05-08 12:31
>> running install..
> skipped existing: express/express.d.ts
>> written 2 files:
- node/node.d.ts
- passport/passport.d.ts

express sessionを使うので
$ npm install connect-mongo –save
$ npm install express-session –save
$ npm install cookie-parser –save
$ tsd query express-session -a install -s
$ tsd query cookie-parser -a install -s
アタリも入れておく. connect-mongo は tsd が無いけど普通に。

https://github.com/expressjs/session

app.jsにこんなかんじで追加してみる
app.use(session({
secret: 'my session',
store: new mongoConnect({
db: 'session',
host: '192.168.0.0',
port: '00000'
}),
cookie: {
path: '/',
httpOnly: false,
secure: false,
maxAge: null
// maxAge: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000)
}
}));
app.use(passport.initialize());
app.use(passport.session());

http://passportjs.org/guide/twitter/

passport-twitter で認証

ちょっと適当ですが、
typescriptで別ファイルで書いてとりあえず動いた状態です。

下の認証後のdoneのあとに呼ばれます。このuserオブジェクトがsessionに保存されます。
userオブジェクトは何でもOKですが毎回使うものだけ入れる感じで

// auth
passport.serializeUser(function(user, done) {
done(null, user);
});

セッションに保存されているuserを呼び戻すところです
user が req.session.passport.userの中に入ります。
passport.deserializeUser(function(user, done) {
done(null, user);
});

twitter の情報と user 検索とdoneでセッションに保存です。
UserModel は自分の mongo モデルクラスです。
var twitterStrategy = require('passport-twitter').Strategy;
passport.use(new twitterStrategy({
consumerKey : '',
consumerSecret: '',
callbackURL : "https://---/auth/twitter/callback"
},
function(token, tokenSecret, profile, done) {
var userObj = usermodel.GenUser();
userObj.profile = profile;
userObj.pid = UserModel.generatePid( profile.provider, profile.id );
if ( profile.provider == 'twitter') {
userObj.auth.twitter = {
token : token,
tokenSecret : tokenSecret
};
}
UserModel.findOrCreate( userObj, function(err, user) {
if (err) { return done(err); }
done(null, user);
});
}
));

ログインの呼び出しとコールバック。
/auth 以下の routing用ファイルです。

// /auth/twitter でtwitter認証へリダイレクト
router.get('/twitter', passport.authenticate('twitter'));
// コールバックで認証。上のtwitterStrategyのが呼ばれます。
router.get('/twitter/callback',
passport.authenticate('twitter', {
successRedirect: '/auth/profile',
failureRedirect: '/auth/login'
}));

保存したプロフィール情報を表示してみる
session.passportが tsdで設定されていないので anyに落としてから userとprofileを入れてみています。
params.genParams は適当なデータをマージしているだけです。
router.get('/profile', function(req, res, next) {
var sess: any = req.session;
if ( req.isAuthenticated() ) {
var profile: passport.Profile = sess.passport.user.profile;
res.render('auth/profile',
params.genParams({
title: 'profile',
profile: profile,
user: sess.passport.user
})
);
} else {
res.redirect('/');
}
res.end();
});

無事ログイン機能が出来ました。

unity : iOS admob conversion tracking

[https://developers.google.com/app-conversion-tracking/docs/ios/using-sdk]

とadmobに広告を出してコンバージョンを見てみたいので入れてみます。

UnityAppController.mmに

#import "ACTReporter.h"

didFinishLaunchingWithOptionsのreturnの前に

[ACTConversionReporter reportWithConversionID:@"999999999" label:@"xxxxxxxxxx" value:@"0.00" isRepeatable:NO];

を入れて
実行するとこんなのを

2015-04-13 03:48:45.867[233:29019] ACTConversionIDReporter: sending ping: https://www.googleadservices.com/pagead/conversion/......

送るようになりました・・・毎回送るのかな?・・・

node express: deprecated req.param(name): Use req.params, req.body, or req.query

deprecatedと書いてあって良くわからなかったけど

router.get('/:user(¥¥d+)', (req,res,next)=>{
req.param('user');
});

と書くと
deprecated req.param(name): Use req.params, req.body, or req.query

だそうで。


router.param('user', (req, res, next, user)=>{
var r = /^\d+$/;
if ( r.test(user) ) {
req['user'] = user;
return next();
}
//
res.status(404);
res.render('error/404');
});

router.get('/:user', (req,res,next)=> {
console.log(req['user']);
});

こんな感じで出来ました。

node , express, typescript , grunt 環境修復メモ

# express
とりあえず

http://expressjs.com/starter/generator.html

$ express myapp
$ cd myapp
$ npm install

package.json を置き換えて npm installでとりあえず

# typescript

$ npm install tsd
$ tsd init

tsd.jsonを置き換え

https://github.com/DefinitelyTyped/tsd

$ tsd reinstall --save --overwrite

# grunt

http://gruntjs.com/getting-started

Gruntfile.jsを置き換え

# あと scssとか

http://bootflat.github.io/

git 消えたファイルを復帰出来るのか?

ファイルが全部消えました・・・

・cloneして、いろいろ設定してある程度ベース開発が出来たところで、
必要なファイルをすべて git add したけど
なんか?と思い git pull してみました。。。

addしたファイルが全部消えました・・・

・他で、ほぼ空で最初のコミットがされていてその状態がHEADとなって、その状態になりました。
通常だと、addしたファイルは当然残るのですが、まだ一度もcommitしていないと headの状態になるだけのようで・・・
add してないファイルだけ生き残っています・・・

$ git reflog
94c508c HEAD@{0}: initial pull

initial pullの文字が。

.gitの中にはいろいろファイルがあるのでもしかしたら生き残りがいるかもと
調べるとaddしたファイルは復帰出来る可能性が・・・

$ git fsck --lost-found
dangling blob ec7fa6ddc2bf0f237e52d8b9d4050443547cfba2
dangling blob f01f8be35c60be0887fe9982426e68493ac9b45a

–lost-found または –fullも同じ内容でした

.git/lost-found/other
に入っているファイルのようですね

これは復帰出来るらしく

git unpack-file ec7fa6ddc2bf0f237e52d8b9d4050443547cfba2

.merge_file_q1LV3t
のようなファイルに展開されました。あまり意味ないような・・・

とりあえず、作ったファイルと、設定ファイルの内容は確保出来ました。
しかし、配置、ファイル名はまだ戻っていません・・・

tree objectがあると git read-tree で配置も復帰出来るようですね

http://stackoverflow.com/questions/16409424/git-deleted-everything-how-to-recover-files-and-folders