date型のフィールドに最大値をデフォルト値として持たせたいとき
date型の最大値は'9999-12-31'です!
以上〜
C-limber's highへようこそ。
C-limber's highは山登りのサイトではなく、福岡のシステム開発・WEB制作会社 C-limber(クライマー)株式会社の技術メモブログです。
福岡でシステム開発・ホームページ制作をお探しの方はお気軽にご相談下さい。
Pages - Menu
▼
2014年9月9日火曜日
2014年7月31日木曜日
[PHP]csvへエクスポートする際の注意点
井口です。
phpにexportする際の注意点を備考録。
・各項目の中のダブルコーテーションはシングルコーテーションに変更もしくはエスケープ
・各項目はダブルコーテーションで囲む
・ゼロバインディング(ゼロ埋め)する項目は、ダブルコーテーションで囲ったあとにイコール(=)を頭につける
以上です。
--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
phpにexportする際の注意点を備考録。
・各項目の中のダブルコーテーションはシングルコーテーションに変更もしくはエスケープ
・各項目はダブルコーテーションで囲む
・ゼロバインディング(ゼロ埋め)する項目は、ダブルコーテーションで囲ったあとにイコール(=)を頭につける
$zero_binding_text='=' . '"' . sprintf("%05d", $target_text) . '"';
以上です。
--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
2014年7月1日火曜日
[CSS][sass]source mapsの導入
sass,compassを使って作業してたら
chromeのDeveloper Toolsでcssの確認した際に
どのscssファイルに記載しのか知りたくなることがあります。
そういう時のメモ
参考サイト
google chrome - Chromium: missing sass support - Stack Overflow
Sass - Compassのsourcemap出力 - Qiita
「souce map sass」で検索すると
いろんなサイトが出てきますが、古い記事が多いです。
chrome側の設定の話が出てきた時は古い記事です。
chromeのv30以降では標準でsassに対応してるらしいです。
手順
1. sassのアップデート
source mapへの対応はsassのv3.3.0以降のみとなるので、
まずそれをインストール
---compassを使わない場合はこれで終了
compassを使う場合は
Compassは現時点ではsourcemapの出力に正式対応していないのでalpha版をインストールする
2.compassのアップデート
3.compassのconfig.rbに一文追加
以上でchromeのDeveloper Toolsにsassのファイル名・行番号が 出力されるようになります。
--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
chromeのDeveloper Toolsでcssの確認した際に
どのscssファイルに記載しのか知りたくなることがあります。
そういう時のメモ
参考サイト
google chrome - Chromium: missing sass support - Stack Overflow
Sass - Compassのsourcemap出力 - Qiita
「souce map sass」で検索すると
いろんなサイトが出てきますが、古い記事が多いです。
chrome側の設定の話が出てきた時は古い記事です。
chromeのv30以降では標準でsassに対応してるらしいです。
手順
1. sassのアップデート
source mapへの対応はsassのv3.3.0以降のみとなるので、
まずそれをインストール
gem install sass -v '>=3.3.0alpha' --pre結構時間かかりますが辛抱強く待ちましょう
---compassを使わない場合はこれで終了
sass --watch --sourcemap sass/styles.scss:styles.css
compassを使う場合は
Compassは現時点ではsourcemapの出力に正式対応していないのでalpha版をインストールする
2.compassのアップデート
gem install compass --pre
3.compassのconfig.rbに一文追加
sourcemap = true
以上でchromeのDeveloper Toolsにsassのファイル名・行番号が 出力されるようになります。
--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
2014年6月17日火曜日
[Postfix]バーチャルドメイン環境下でメール受信でコマンド実行
まず、バーチャルドメインでの注意点として
virtual_alias_mapsに記述できるのはメールアドレスだけでコマンドは指定できない。
virtual_mailbox_mapsに登録しているメールアドレスでコマンドを実行する場合は、transport_mapsでパイプ渡しを行う。
main.cf
local_transport = local transport_maps = hash:/etc/postfix/transport/etc/postfix/transport
test@sample.com local/etc/aliases
test: "| echo hohoho >> /tmp/test.txt"
sudo postmap /etc/postfix/transport sudo newaliases sudo /etc/init.d/postfix reloadこれでtest@sample.com宛にきたメールを受信することでtest.txtにhohohoと書き込む
2014年4月24日木曜日
[proFtpd]ubuntu13.10でproFtpdの設定を
FTP サーバに主にvsftpdを使ってるんですが、
ubuntuを13.10にしたら、vsftpdを3.0.2が立ち上がらなくなりました。
設定をいじっても何をやっても立ち上がらないと、
やけになりつつ、うとうとしながらsyslogみたら、
とか出てました。
調べてみると、同じような感じで困ってる人居ました
vsftpd not starting on EC2
vsftpdあきらめ、proFtpdに移行することにしました。
[設定メモ]
参考サイト
FTPサーバ(ProFTPD)の構築|パソコンおやじ
ProFTPD: cannot start neither in standalone nor in inetd/xinetd mode|Ubuntu Linux Tips and Tricks
ProFTPDの設定で"DefaultRoot"は複数書ける|suz-lab - blog
手順
・proftpdをapt-getでインストール(スタンドアロンタイプ)
・設定(proftpd.conf)をいじってinetdタイプに変更
・proftpd.confのその他の設定:パッシブモード、セキュリティ関係、DocumentRoot変更
・inetdタイプを動かす為にインストールと設定
急ぎですがだいたい以上になります。
・DocumentRootの設定は上から順に評価される
・proFtpdはリスタートでは設定を読み込まない(inetdタイプ)reloadして設定を読む事
vsfptdよりクセがなくていいかもですね。
--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
ubuntuを13.10にしたら、vsftpdを3.0.2が立ち上がらなくなりました。
特定のカーネル・vsftpdのバージョンでvsftpdがバグってクラッシュする(らしい)
設定をいじっても何をやっても立ち上がらないと、
やけになりつつ、うとうとしながらsyslogみたら、
BUG: Bad page map in process vsftpd ......
とか出てました。
調べてみると、同じような感じで困ってる人居ました
vsftpd not starting on EC2
After having the same issue, I can confirm that with vsftpd 3.02 and kernel versions 3.11.0-17 and 3.11.0-18 (just updated this morning) the FTP server crash at start.あ、コレはほんとにどうにもならんかも・・と思って、
vsftpdあきらめ、proFtpdに移行することにしました。
proFtpdに移行
[設定メモ]
参考サイト
FTPサーバ(ProFTPD)の構築|パソコンおやじ
ProFTPD: cannot start neither in standalone nor in inetd/xinetd mode|Ubuntu Linux Tips and Tricks
ProFTPDの設定で"DefaultRoot"は複数書ける|suz-lab - blog
手順
・proftpdをapt-getでインストール(スタンドアロンタイプ)
・設定(proftpd.conf)をいじってinetdタイプに変更
・proftpd.confのその他の設定:パッシブモード、セキュリティ関係、DocumentRoot変更
・inetdタイプを動かす為にインストールと設定
sudo apt-get install openbsd-inetd・inetd再起動
sudo /etc/init.d/openbsd-inetd restart・/etc/inetd.confの設定追記
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd・proFtpdをリロードして起動
sudo service proftpd reload sudo service proftpd restart
急ぎですがだいたい以上になります。
proFtpdで注意する点
・DocumentRootの設定は上から順に評価される
・proFtpdはリスタートでは設定を読み込まない(inetdタイプ)reloadして設定を読む事
vsfptdよりクセがなくていいかもですね。
--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
2014年3月24日月曜日
[apache]apache2.4系の挙動
井口です。
ubuntuでapacheを不用意にapache2.4にアップデートさせてしまって困った話。
困った点
今まではファイル名は自由に決めてよかったと思うんですが、2.4系から、デフォルトの設定では、
この設定はapache側の設定で切り替える事が出来るようですが、これがデフォルトになったなら、自分のファイル名の決め方の方を変えなきゃな、ということで、気をつけるようにします。
おなじみのこの書き方↓ が出来なくなっています。
対処の仕方は
apache2.4系、まだまだいろんな違いがありそうです・・・
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
=============
追記:アクセスを拒否する場合
さらに追記:
Options は必ず+ or - で始めなきゃいけなくなったみたいです。
今まで+を付けなくても通ってたのに・・・
めんどくさー
ubuntuでapacheを不用意にapache2.4にアップデートさせてしまって困った話。
困った点
- sites-availableの下のファイルの名称規則が厳しくなった
- sites-availableのサイト設定の記述が変更になっている
sites-availableの下のファイルの名称規則が厳しくなった
今まではファイル名は自由に決めてよかったと思うんですが、2.4系から、デフォルトの設定では、
test-server.com.confみたいに、拡張子が.confでないと、読み込んでくれなくなってます。
この設定はapache側の設定で切り替える事が出来るようですが、これがデフォルトになったなら、自分のファイル名の決め方の方を変えなきゃな、ということで、気をつけるようにします。
sites-availableのサイト設定の記述が変更になっている
おなじみのこの書き方↓ が出来なくなっています。
AllowOverride All Order allow,deny Allow from allこの書き方だと、
AH01630: client denied by server configuration:ってエラーがでます。
対処の仕方は
AllowOverride All Require all grantedこれやると普通に読み込めました。
apache2.4系、まだまだいろんな違いがありそうです・・・
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
=============
追記:アクセスを拒否する場合
Require all denied=============
さらに追記:
Options は必ず+ or - で始めなきゃいけなくなったみたいです。
今まで+を付けなくても通ってたのに・・・
めんどくさー
2014年3月20日木曜日
[Yii][WordPress]WordPressとYiiを共存させる
井口です。
WordPressとYiiを共存させてみた話です。
WordPressのプラグインをYii Frameworkを使って作るという事ではなく、
別管理画面をYiiで作り、WordPressの関数・レイアウトを使いながら、
WordPressから吐き出されるheaderやらfooterやらを
Yiiのレイアウトとして読ませるといった感じで進めました。
WordPress自体は、
[参考にしたサイト]
外部の php クラスや関数から WordPressの関数あるいはタグを含めた API を扱う方法 : Wordpressをインストールしてみた
しかし普通にやると、
WordPress内の、機関部分をclass_exists($foo, false)として行ったらなにか問題も起きそうです。
[参考にしたサイト]
Undesireable behaviour of class_exists - Yii Framework Forum
なので、今回した対処は簡単に、
--------------------------------------
1) WordPressのbootstrapを先に読む
2) 管理画面とフロント部のエントリスクリプトを別に読む
→ 管理画面用にフロント部用に別々のエントリスクリプト(index.php)を用意してあげる。
--------------------------------------
これでうまく行きました。
あとは、WordPress内の適用されたheader.phpや、footer.phpを、レイアウトのviewスクリプトで直接requireするだけです。
以上です
[追記]
エントリスクリプトをわけるのに、フォルダ分けとか考えてましたが、
よく考えたらmod_rewriteで分岐させれますね。。
以下の例は、faq/regist/* と recruit/regist/* へのアクセスはフロント、それ以外を 管理画面へ分岐する設定です。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
WordPressとYiiを共存させてみた話です。
WordPressのプラグインをYii Frameworkを使って作るという事ではなく、
別管理画面をYiiで作り、WordPressの関数・レイアウトを使いながら、
WordPressから吐き出されるheaderやらfooterやらを
Yiiのレイアウトとして読ませるといった感じで進めました。
WordPress自体は、
require('wp-blog-header.php');このファイルさえ読み込めば、WordPress内の設定やコンテンツをWordPressの関数を使って読み込めるようになるらしいです。
[参考にしたサイト]
外部の php クラスや関数から WordPressの関数あるいはタグを含めた API を扱う方法 : Wordpressをインストールしてみた
しかし普通にやると、
require_once($yii);した後では、YiiとWordpressは関数のautoload機能でぶつかってしまいます。
class_exists($foo, false)とすると、yiiはclassを探すのを辞めてくれるらしいですが、
WordPress内の、機関部分をclass_exists($foo, false)として行ったらなにか問題も起きそうです。
[参考にしたサイト]
Undesireable behaviour of class_exists - Yii Framework Forum
なので、今回した対処は簡単に、
--------------------------------------
1) WordPressのbootstrapを先に読む
require('wp-blog-header.php');してから
require_once($yii);する。
2) 管理画面とフロント部のエントリスクリプトを別に読む
→ 管理画面用にフロント部用に別々のエントリスクリプト(index.php)を用意してあげる。
--------------------------------------
これでうまく行きました。
あとは、WordPress内の適用されたheader.phpや、footer.phpを、レイアウトのviewスクリプトで直接requireするだけです。
// テーマから直接読み込む require_once('....../header.php');
以上です
[追記]
エントリスクリプトをわけるのに、フォルダ分けとか考えてましたが、
よく考えたらmod_rewriteで分岐させれますね。。
以下の例は、faq/regist/* と recruit/regist/* へのアクセスはフロント、それ以外を 管理画面へ分岐する設定です。
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule . index.php #表ページ用 rooting RewriteRule ^(faq|recruit)/regist/(.*)$ index.php #管理画面ページ用 rooting RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . admin.php弊社ではWordPressのカスタマイズ案件、独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社
2014年3月15日土曜日
[Yii]リダイレクトについて
井口です。
Yiiでリダイレクトの書き方、ちょっと特殊です。以下メモ。
モジュール名:shop
コントローラ名:csv
アクション名:upload
パラメータ:shop_id=10
にリダイレクトさせる場合、コントローラのアクション内で、
ポイントは、
・arrayで渡してる点
・はじめの値が、'shop/csv/upload'ではなく、'csv/upload'としている事
arrayで渡すと、controller名、action名を解析してくれるみたいです。
あと、module名は省略しても、自動で察してくれるみたいです。
module名を指定する場合は、'/shop/csv/upload'と、module名の前に/スラッシュを付けるか、
以上です。
Yiiでリダイレクトの書き方、ちょっと特殊です。以下メモ。
モジュール名:shop
コントローラ名:csv
アクション名:upload
パラメータ:shop_id=10
にリダイレクトさせる場合、コントローラのアクション内で、
$this->redirect(array('csv/upload', 'shop_id'=>10));
ポイントは、
・arrayで渡してる点
・はじめの値が、'shop/csv/upload'ではなく、'csv/upload'としている事
arrayで渡すと、controller名、action名を解析してくれるみたいです。
あと、module名は省略しても、自動で察してくれるみたいです。
module名を指定する場合は、'/shop/csv/upload'と、module名の前に/スラッシュを付けるか、
$this->redirect(Yii::app()->createUrl('/shop/csv/upload', array('shop_id'=>10)))Yii::app()->createUrl()しちゃってください。
以上です。
2014年2月14日金曜日
[Yii] CDbCritria::compare()でのフィールド指定
サンプル
上記ソースは以下のようになる。
$criteria->compare('column_a', 'A', false); $criteria->compare('column_b', 'B', false); $criteria->compare('column_c', 'C', false, 'OR'); $criteria->compare('column_d', 'D', false);
上記ソースは以下のようになる。
WHERE column_a = 'A' WHERE (column_a = 'A') AND column_b = 'B' WHERE ((column_a = 'A') AND column_b = 'B') OR column_c = 'C' WHERE (((column_a = 'A') AND column_b = 'B') OR column_c = 'C') AND column_d = 'D'
2014年2月4日火曜日
[Unity][C#]GameObjectにアタッチされたコンポーネントを参照する方法
Scoreオブジェクトにアタッチされたスクリプトを取得して、変数を処理
using UnityEngine; using System.Collections; public class Score : MonoBehaviour { public int score; // Use this for initialization void Start () { score = 30; } // Update is called once per frame void Update () { guiText.text = score.ToString (); } }
using UnityEngine; using System.Collections; public class Spawner : MonoBehaviour { public Transform prefab; // Use this for initialization void Start () { } // Update is called once per frame void Update () { GameObject score = GameObject.Find("Score"); Score scoreScript = score.GetComponent(); scoreScript.score -= 1; } }
2014年1月24日金曜日
[my.cnf]MySQL5.5からのdefault-character-set
MySQL5.5から
こちらが新しい設定項目
クライアントサイドは
default-character-set=utf8
が残るらしいです。
ややこしやー。
[mysqld] default-character-set=utf8が廃止されたそうです。
こちらが新しい設定項目
[mysqld] character-set-server=utf8
クライアントサイドは
default-character-set=utf8
が残るらしいです。
ややこしやー。
2014年1月22日水曜日
[Yii]dataProviderのソートの設定
Yii Frameworkの醍醐味、
dataProviderでの便利すぎるsort機能のカスタマイズ方法をメモします。
CActiveDataProvider、CArrayDataProviderの両方で使える方法です。
dataProviderへのコントローラ側の設定
CActiveDataProviderを使う場合は
view側の設定は
一見複雑に見えますが慣れてしまえば抜け出せなくなるぐらいの便利さがあります。
Yii Framework すごいです。
dataProviderでの便利すぎるsort機能のカスタマイズ方法をメモします。
CActiveDataProvider、CArrayDataProviderの両方で使える方法です。
dataProviderへのコントローラ側の設定
$dataProvider=new CArrayDataProvider($datas, array( 'pagination'=>array('pageSize'=>20), 'sort'=>array( 'defaultOrder'=>'regist_date desc ', // デフォルトの並び 'attributes'=>array( // 並び替えのキーを指定(日本語キー可能=>modelのattributesを無視したネーミング可能!) 'クラス'=>array( 'asc'=>'category_id ASC', 'desc'=>'category_id DESC', ), '名前'=>array( 'asc'=>'name ASC', 'desc'=>'name DESC', ), '性別'=>array( 'asc'=>'sex ASC', 'desc'=>'sex DESC', ), ), ), ));
CActiveDataProviderを使う場合は
$dataProvider=new CArrayDataProvider($datas, array( 'pagination'=>array('pageSize'=>20), 'sort'=>array( 'defaultOrder'=>'regist_date desc ', // デフォルトの並び 'attributes'=>array( // 並び替えのキーを指定(日本語キー可能=>modelのattributesを無視したネーミング可能!) 'flow'=>array( 'asc'=>'day ASC, place ASC, start_time ASC', 'desc'=>'day DESC, place DESC, start_time DESC', ), 'regist_time', 'start_time'=>array( // モデルのattributesの並び順のカスタム可能 'asc'=>'day ASC, start_time ASC', 'desc'=>'day DESC, start_time DESC', ), 'speech_type', // モデルのattributesも普通に可能 項目名は日本語に自動で変換されます 'place', 'place', 'length', ), ), ));
view側の設定は
$this->widget('zii.widgets.CListView', array( 'ajaxUpdate' => false, 'dataProvider' => $dataProvider, 'itemView' => '_table_view', 'template' => '{summary}{pager}{sorter}{items}', 'summaryCssClass' => 'table_summary', 'summaryText' => '{count}件中 {start}件から{end}件まで表示', 'pager' => array( 'cssFile' => false, 'htmlOptions' => array('class'=>'pagination'), 'firstPageLabel'=>'最初', 'lastPageLabel'=>'最後', 'nextPageLabel'=>'次へ', 'prevPageLabel'=>'前へ', 'selectedPageCssClass'=>'active', 'header' => '', ), 'sorterHeader'=>'並び順', 'sortableAttributes'=>array( // sort可能なキーをここで指定する 'flow', 'regist_time', 'start_time', 'speech_type', 'place', 'length', ), ));
一見複雑に見えますが慣れてしまえば抜け出せなくなるぐらいの便利さがあります。
Yii Framework すごいです。
2014年1月7日火曜日
macで5ボタンマウスを使用する
macbook pro RETINA でマウスを使う機会が多かったんで5ボタンマウスが使えるように設定してみました。
使用しているマウスはこれ。
http://www2.elecom.co.jp/peripheral/mouse/m-ly2ul/
・まず「KeyRemap4MacBook」というソフトをインストール。
キー配置を設定できるソフトです。
・起動後、「Misc&Uninstall」タブの「Open private.xml」をクリックし、XMLファイルの中身を以下のように変更する。
使用しているマウスはこれ。
http://www2.elecom.co.jp/peripheral/mouse/m-ly2ul/
・まず「KeyRemap4MacBook」というソフトをインストール。
キー配置を設定できるソフトです。
・起動後、「Misc&Uninstall」タブの「Open private.xml」をクリックし、XMLファイルの中身を以下のように変更する。
・XML変更後、「ChangeKey」タブの「ReloadXML」をクリックすると、リストに「MousuButton4and5」が出てくるのでチェックを入れ設定完了です。
MouseButton 4 and 5 remap.mouse_button4_5 --PointingButtonToKey-- PointingButton::BUTTON4, KeyCode::JIS_BRACKET_LEFT, ModifierFlag::COMMAND_L --PointingButtonToKey-- PointingButton::BUTTON5, KeyCode::JIS_BRACKET_RIGHT, ModifierFlag::COMMAND_L
2014年1月6日月曜日
あけましておめでとうございます!
2014年。
あけましておめでごうございます。
創業1年目のお正月をゆっくり過ごせた事に感謝しつつ、
来年、再来年と会社を存続させていけるように、
会社、会社に所属する各人、それぞれがさらに飛躍していけるよう
今年も頑張っていこうと思います。
まだまだ未熟ですが今年も何卒よろしくお願い致します!
あけましておめでごうございます。
創業1年目のお正月をゆっくり過ごせた事に感謝しつつ、
来年、再来年と会社を存続させていけるように、
会社、会社に所属する各人、それぞれがさらに飛躍していけるよう
今年も頑張っていこうと思います。
まだまだ未熟ですが今年も何卒よろしくお願い致します!