読者です 読者をやめる 読者になる 読者になる

12/17(土) 第4回 関西DB勉強会 開催します!

第3回 からちょっと期間があきましたが第4回やります!

今回は MySQLMariaDBPostgreSQL のお話しが中心です。
kansaidbstudy.connpass.com

お時間あるかたは是非ご参加を~。

Azure SQL Database の Free の日本語ポータルの記載が間違ってる。。追記:直りました

2016/11/19 追記:表記直りましたー

この前知ったのですが、SQL Database の FREE 版ってまだ残ってたんですね~。
で、日本語ポータルの表記が間違ってました。

日本語

英語

日本語だと容量が 32GB までとなってますが、32MB の誤りです。
ポータルからフィードバック投げたけど未だ直らないのでブログに書いてみました。。

ちなみに FREE 版は、普通に SQL DB だけ作っても選択出来ません。
Web App と一緒に作成すると、FREE 版を作れます。
azure.microsoft.com
※昔にあった 20MB 無料相当の互換だと思います。ちなみに V12 でした。

Unity Style Developer#1 で 質問してきました! #unistyle

Unity Style Developer#1 - connpass に参加してきましたー。

Unity - Game Engine って iOS/Android 作れるんでしょ?
って位しか知らないど素人でしたが、対応プラットフォーム多いんですね!

ハンズオンのセッションがあって、当日に Unity インストールしましたが楽しめました~。
HTC Vive の実機ありセッションもあって楽しかったです。

で、LT お願いされてたので、何話そうか考えたけど触ってないし話せること無いから、 中の人来てるし質問を答えてもらおう!って感じのLTというかショートセッションというかをやりました。

一応 Data Platform の MVP なので、Data にまつわるところを聞いてきました。
また、会場の参加者からも質問が上がったのでその時のメモを公開します。*1

Q.ローカルにデータを持つ方法パッと調べた感じこんなの見つかったけど、他にも方法あるの?
1.PlayersPrefs
2.ScriptableObject
3.DB(Sqlite?)
4.外部ファイル - txt(json)
5.外部ファイル - binary (msgpack / flatbuffers ?)
6.asset
7.それ以外

A.概ね 1-6 で合ってるよー。
PlaysersPrefs
  =>設定用 (key / url 等の config とか小さいデータ用)
    大きいデータいれると起動が遅くなる、メモリ大量に必要
    =>起動時に読み込むため
ScriptableObject
  =>書き込み出来ない (Read Only)
PlayersPrefs / ScriptableObject / asset は Unity の機能で面倒みてくれる。

外部ファイルや DB は自前で保存/読込実装してね。
json そのままは辞めた方が良いよ。よく使われてるけど

個人的には msgpack よく使ってます。


Q.暗号化ってあるの?

A.Unity では暗号化の機能は持っていない
 =>解析されると、それを使っている全アプリが解析されることになるので、そこまで担保出来ないから


Q.サーバーから取ってきたデータのキャッシュみたいなのはどの方法で?

A.データが少ないなら ScriptableObject (実装?が面倒)
大きいなら DB とか


Q.PCL(Portable Class Library) 使えるの?

A.PCL の事知らないのでわかりません。
  (会場で調べた人から)たぶん使え無さそうという情報が


Q.ソース管理で大きいファイルがあって、某クラウドソース管理でアップに失敗する

A.大きいファイル含めないようにするとか
 [https://unity3d.com/jp/services/collaborate]  では、Write データ含めない
 =>無料だけど、未だβ版


Q.PlayersPrefs に 100個の int[] 保存するの遅くなる?

A.使っても構わないけど、PlayersPrefs 使うより、自前でSystem.IO使って読み書き(シリアライズ/デシリアライズ)した方がたぶん速いよ。
Web のプラットフォームだと、System.IO 使えないけど。

間違いとかあれば教えてくださいー。

*1:聞き間違い等で誤った内容を書いてるかもしれません。

Row-Level-Security BLOCK PREDICATE のメモ

行レベルのセキュリティ
いつの間にか 日本語MSDN提供されてました。
追加/更新操作の制限は、トランザクション単位ではなくクエリ単位だよというメモ。

create table [dbo].[Table] (
  [Id] int
)
go
create schema [rls]
go
create function [rls].[TablePredicate](@Id int)
  returns table
  as return select 1 as [Result] where @Id <> 1
go
create security policy [rls].[TablePolicy]
  add block predicate [rls].[TablePredicate]([Id]) on [dbo].[Table] after insert

Id = 1 は INSERT 出来ない制限を掛けたときに、

begin tran 
insert into [dbo].[Table] ([Id]) values (1)
update [dbo].[Table] set [Id] = 2 where [Id] = 1
commit

はエラーになります。
トランザクションとしては、結果的に Id = 1 の列は追加されていませんが普通の動きですね。*1

クエリ全文

create table [dbo].[Table] (
  [Id] int
)
go
create schema [rls]
go
create function [rls].[TablePredicate](@Id int)
  returns table
  with schemabinding
  as return select 1 as [Result] where @Id <> 1
go
create security policy [rls].[TablePolicy]
  add block predicate [rls].[TablePredicate]([Id]) on [dbo].[Table] after insert
go

begin tran 
insert into [dbo].[Table] ([Id]) values (1)
update [dbo].[Table] set [Id] = 2 where [Id] = 1
commit
go

drop security policy [rls].[TablePolicy]
go
drop function [rls].[TablePredicate]
go
drop schema [rls]
go
drop table [dbo].[Table]
go

*1:分離レベル低いと SELECT から見えちゃうし...

Microsoft MVP アワード (Data Platform) を受賞させていただきました

今回で5回目の受賞になりました。

今後もより一層のコミュニティ活動/情報発信していきますので、SqlWorld :: ホーム 共々宜しくお願いします。  

DB の勉強会は 関西DB勉強会 - connpass も宜しくお願いしますー。
年内にもう1回くらいやりたい。。

デブサミ関西2016 に SQLWorld として参加しました!

2週間も前ですが、やっと blog 書けました。。
Developers Summit 2016 KANSAI #devsumi

今回は かまぷとゆうこのデベロッパーズ☆ラジオ連載一覧:CodeZine(コードジン)
デブサミ関西出張版にも参加させていただきました。
ラジオは初めてだったのですが難しい!緊張して何話してるのか分からない感じに。。

毎年恒例の コミュニティLT も参加させていただきました。

iPhone7 発売日だったのでビッグウェーブネタを混ぜてみました。

10/18 (火) SQLWorld★大阪#39 開催します

2週間前の告知! SqlWorld :: SQLWorld★大阪#39 開催します。21回目の平日夜開催で、前回同様 ハンズオン 形式行う予定です。

【日時】
2016年10月18日(火曜日) 19:00~21:00
 

【イベント概要】
SQLWorld 21回目の平日夜開催~。今回も、みんなで SQL を書いてみようというハンズオン企画です!ブラウザがあれば参加出来るようにしていますので、iPad 等のタブレットでも大丈夫です。
 

【会場】
フェンリル株式会社さま大阪本社 http://www.fenrir-inc.com/
〒530-0011 大阪府大阪市北区大深町 3番1号 グランフロント大阪タワーB(オフィス) 14F
http://info.fenrir-inc.com/jp/profile/overview.html
 

【参加費】
無料
 

【持ち物】
パソコン/タブレット (DB のインストールは不要です。)
 

【参加可能人数】
13 人
 

お題に沿って、SQL を書いてみようという勉強会です。是非ご参加を~。

開催回数は増えていっていますが、続き物というわけでは無いので初めて参加される方でもお気軽にどぞー。