時雨に舞う

プログラミングや技術情報などの備忘録

Data too long for column

mysqlにおいて、今まで問題無かった個所で突然「Data too long for column 'xxx'」エラーが発生するようになったら確認しておくこと。

sql_modeに「STRICT_TRANS_TABLES」を付けていると桁数があふれた時にエラーを返すようになる。今まで付けていなかったのに何らかの理由で付けた場合、今まで問題無かった個所でエラーが発生する事になる。

  • sql_modeの確認
mysql> SELECT @@GLOBAL.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode                          |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
  • オンライン状態での変更
mysql> SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
  • my.cnfでの設定
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION

著者:t.n

PHPでsoapライブラリを使ったときのハマりポイント・・・

先日、PHPsoapライブラリを利用して、ローカルに配置したwsdlを読み込んでの通信をテストしていたときのこと・・・ いくらwsdlファイルを更新しても接続先が変わりません・・・

何か変になっているのか、grepの検索範囲を広げながら確認していたところ、wsdlファイルのキャッシュが悪さしていたようです。

http://php.net/manual/ja/soap.configuration.php

デフォルトでは、ファイル形式で、24時間キャッシュされます。。。 ここにたどり着くまで長かった。。。というわけでメモしておきます!

さとう

bashrcを晒してみます。

余りにも更新していないので、私の .bashrcでも晒しておきますね。 特におもしろいことはしていませんが・・・

# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

alias db='ssh dbxxxx'

# colors
eval "`dircolors -b`"
alias ls='ls --color=auto'
alias sl='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'

ついでに、 .vimrc です。

syntax on

set fileformats=unix,dos,mac
set backspace=indent,eol,start

set history=100
set ruler

highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray
match ZenkakuSpace / /

set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,euc-jp,cp932,iso-2022-jp
set fileencodings+=,ucs-2le,ucs-2,utf-8

set tabstop=4
set autoindent
set expandtab
set shiftwidth=4

さとう

UnityのAsset参照に関して

Unityで各プラットフォーム用にビルドすると関連するAssetが取り込まれます。

しかし、想定外のAssetが対象になってしまってサイズが肥大化する事があり、どうして対象となるのか調べる術を探していました。(一個ずつ見ていくのは無理…)

 

非常に参考になったのがこのサイト、本当にありがたいです。

esakun.hateblo.jp

 

Unityで管理しているAssetには全てguidが振られており、そのguidを保持する事で参照関係を保っているのですね。

まず、ビルドに含まれてしまっているAssetを特定(例えばC.png)し、そのファイルのメタファイル(C.png.meta的なやつ)をテキストエディタで開く。すると「guid: xxxxxxxx」という表記が2行目くらいにあるのでそれをコピー。

UnityプロジェクトのAssetフォルダ以下をgrep等のテキスト検索でサーチすると参照元を割り出す事ができます。(前提条件として、Unityファイルのテキスト出力は必須ですね)

 

ビルドに含まれる条件として以下が挙げられます(全てではないかもしれません)

・「Build Settings」の「Scenes In Build」でチェックが付いているシーンファイルで参照しているAsset、およびそのAssetが参照しているAsset、およびその・・・

・「Resources」フォルダ以下に入っているAsset、およびそのAssetが参照しているAsset、およびその・・・

 

要するに、ビルドに含まれてしまっているAssetのguidを参照しているAssetを探して、上記2パターンのどちらかに辿りつくはずなので、参照しないように変える。

例えば resources/A.prefab で参照している B.mat で参照している C.png 、という関係であれば、A.prefabで別のマテリアルを参照させるなど。

 

 

著者:t.n

WindowsでのNAT越えVPN

さて、だいぶ日が空きました。

たまに困ることをメモしておきます。

 

Windows環境では、NAT越えで IPsec/L2TP のVPNトンネルを貼ろうとするとうまく動作しません。

デフォルトではなぜか制限されており、レジストリの設定をすることでうまく動作するようになります。

MS.のKBはサーバ側の資料ですが、設定内容は同じですので、リンクを貼っておきます。

https://support.microsoft.com/ja-jp/kb/926179

たいしたことない変更ですが、誤って関係ないものを変更すると大変です。

レジストリ設定になれていない方はくれぐれも慎重に。

 

では、また。

 

さとう

Portfowarderの活用

お客さんの開発環境に接続して、その先にあるDBをグラフィカルに確認したい!

そんなことありませんか?

WebサーバにSSHでつないでそこからさらにDBに接続する程度なら、Windows環境では、Navicat単体で簡単に実現できますね。

Linux環境と違い、もう一段SSHを噛ますと途端に面倒になります。

こんな時、少し古いソフトになりますが、Portfowarderが便利です。

※組み込みのOpenSSLのバージョンが古いので、使用環境は選びましょう。

続きを読む

UnityのTEAM LICENSEがUnity Proに付属?

2015/05/28現在、Unityのオンラインストアを閲覧すると「TEAM LICENSE:Unity Pro に付属」と書いてあり、取り敢えずアセットキャッシュサーバーを試してみたら使えたのでご報告です。(もちろんUnity Proライセンスでアクティベートしてある状態です)

以前は確か有料で別途購入が必要だったと思うのですが、どこかのタイミングで無料になったのでしょうか・・・?

 

●アセットキャッシュサーバーの取得および使い方は下記リンク先を参照

Unity - コラボレーション - Unity Team License

 

ちなみにキャッシュサーバーの設定をしてからSwitchPlatformしてはじめてキャッシュされるので、一回は泣くほど待たされると思います。

 

著者:t.n