Macの便利なショートカットのメモ
■内部辞書を起動
調べたい箇所にカーソルを合わせてショートカットを押す。
⌃(control) + ⌘(command) +...
C-limber's highへようこそ。
C-limber's highは山登りのサイトではなく、福岡のシステム開発・WEB制作会社 C-limber(クライマー)株式会社の技術メモブログです。
福岡でシステム開発・ホームページ制作をお探しの方はお気軽にご相談下さい。
2013年12月23日月曜日
2013年12月22日日曜日
[mac][chrome]デベロッパツールのショートカットキー
Macの便利なショートカットのメモ
■右クリック->要素を検証
⌃(control) + ⌥(option) + C
■jsインスペクタを表示・閉じる
⌃(control) + ⌥(option) + I
一日に何回も行う操作なのでこれは便利で...
2013年12月21日土曜日
[MySQL]debian-sys-maintっていうユーザは消しちゃダメ
debian-sys-maintってユーザは消しちゃ駄目です。
これはubuntu(debian系のlinuxでは全て)が作ったユーザで、
起動・再起動・リロードなどがsshで行えなくなるらしいです。
対処方メモ:
daigotoの備...
2013年12月17日火曜日
[mysql]mysqldumpの使い方
mysqldumpの使い方メモ
通常の利用
mysqldump -u ユーザ名 -p DB名 > 出力先ファイル名
文字エンコードしながら
mysqldump --default-character-set=utf8 -u ユーザ名 -p DB名 > 出力先ファイル名
すべてのデータのバックアップは
mysqldump -u root -x --all-databases > dump.s...
2013年12月12日木曜日
[Mac] windowsユーザに圧縮ファイルを送る場合
先日、windowsユーザにzipで圧縮したエクセルファイルを送る際に文字化けしてしまい、迷惑をかけてしまいました。。
ということで、今後winユーザに文字化けデータを送らないようにメモ。
使うソフト:MacZip4Win
ダウンロードはコチラ
それで、エクセルファイルはフォント指定で、MSゴシックを使うとwin側で文字化けするようです。
Osakaで送るとうまく行きました。
最近エクセルをきちんと勉強しなきゃと思ってます。...
2013年12月11日水曜日
[ubuntu][apache] phpが動かない時
public_html/以下でphpが動作しない事があります。
そんな時は、/etc/apache2/mods-available/php5.confを編集しましょう。(ubuntuの場合)
#この行をコメントアウト
#php_admin_value engine Off
userdirを設定している場合、php5.confのデフォルト設定でpublic_html以下のphpが無効になっています。
迷惑な設定はoffにしておきましょ...
2013年12月10日火曜日
[sftp]SFTPの設定
出先での作業など公共のwifi環境を使う必要があるとき、
大事なクライアントサーバに生FTPで繋ぐと何があるか分かりませんので、、
FTPの暗号方式の一つ、SFTPを導入しています。
SCPは使った事あるんですが、そもそもmacで作業してるので、winSCPが使えません。
なので、macでも使えるFileZillaが扱える暗号化方式のSFTPを使用しています。
基本SSHなので、注意すべき点は、
・ポートの設定がSSHで設定したポートになる。
・SFTP用アカウントでSFTPのみしか使わせないように制限する事
以下はSFTP用アカウントの機能制限の方法です。
/etc/ssh/sshd_configを変更します。
標準のsftp-serverからsshd内部のinternal-sftpに変更
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem...
2013年12月9日月曜日
[ubuntu][aws] awsで10.04から13.04にネットワークアップグレード
vsftp2.3.5のアップグレードのついでに
ubuntuも10.04だったのでアップグレードしてみることにしました。
参考サイト
UbuntuTips/Install/UpgradeNatty - Ubuntu Japanese Wiki
まずアップグレードの前に現在のバージョンにおける全てのアップデートを必ず適用
apt-get update, apt-get upgrade
□まだインストールしていなければ、update-manager-coreをインストールします
sudo apt-get install update-manager-core
(これについてはやらくてもうまくいった)
□/etc/update-manager/release-upgradesを編集し、Prompt=normalを設定します
□アップグレードツールを起動します
sudo do-release-upgrade
30分ぐらいでアップデート終わりました。
$...
2013年12月8日日曜日
[ubuntu][vsftp] vsftpd 3.0.2で500 OOPS: priv_sock_get_cmdがでた場合
vsftpd 2.3.5がユーザ毎のchroot周りがバグがあるらしく、
ユーザ毎のchrootをしようとすると、
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
って出て困ってました。
で、その問題を解消する為にvsftpの拡張版があったり、3.0からあたらしい設定項目ができたりしてて、
allow_writeable_chroot=YES
とすれば細かい事気にせずユーザ毎のchrootをしてくれるらしいので、
vsftpdを3.02にアップグレードしてみました。
するとまたエラー
500 OOPS: priv_sock_get_cmd
何じゃこりゃと思っていたら、これはvsftpd3系のよくあるバグらしく
seccomp_sandbox=NO
としたら解消されました。
[疑問点]
allow_writeable_chrootを設定したら、user_config_dirが無効になってしまいます。
これはバグなのか、自分がミスってるだけなのか・・・
vsftpdめんどくさいです。
以上です!
参考にしたサイト
VSFTPD:...
2013年12月7日土曜日
2013年12月6日金曜日
2013年11月26日火曜日
[PHP] メモリ使用量を調べる
ローカルで作業してて重い検索なんかやってると時々メモリオーバーで、
画面真っ白になります。
そんなときはメモリを食ってる部分をリファクタリングですが、
その際は
$mem = memory_get_usage();
$mem = number_format($mem);
print("Memory:{$mem}");
で調べましょう。
この関数は挿入した時点でのメモリ使用量を調べるので、
最終的な使用量を出すには下の方に挿入しましょう。
以上...
2013年11月22日金曜日
[php][Pear] default_timezone がずれる
PearのMail_Queueを使って、
大量のメールを送信出来るものを作ろうと思ってたときに起こった事。
テストでcronでメールキューを作ると同時に送信する => 問題なく送信。
別に管理画面からキュー登録、その後cronがキュー送信 => 送れない。
本当に原因がわからなくてPearのソース追っかけて
dumpしまくりながら調べた結果・・
原因はtimezoneにありました。
php.iniが Asia/Tokyo にセットされていて安心していたのに、
cronでメールキューを処理する時点でのtimezoneが Europe/Berlin になってました。
なんでなのかは調査が必要ですが、
とりあえずapache経由でのアクセスでは無い時は、(ターミナルとかでやってる時)
apacheが読んでるphp.iniとは違うものを読み込んでいるいる可能性がある。
っていうのを思い知りました。
ちなみにtimezoneを設定するときは、
//...
2013年11月16日土曜日
[blogger]syntaxHighlightの導入
記事的に、コードをメモする事が多いので、
シンタックスハイライトを導入してみました。
参考にしたのはコチラ。
BloggerにソースコードをハイライトするSyntaxHighlighterを導入する
結構簡単にできるもんですね!って思ったら、使うテンプレートによってはハイライトしてくれません。jsばりばりのテンプレを使ってたんですが、見やすさ優先・コード優先のシンプルテンプレートに変更しました。他にもシンタックスハイライトする方法あるんだろうか・・余裕がある時ちょこちょこいじってみ...
2013年11月15日金曜日
[yii] CDbCriteriaの書き方いろいろ
Yii FrameworkのCDbCriteriaを毎日毎日書いてるわけですが、
$criteria=new CDbCriteria();
としたあと、書き方の選択肢がいくつかあるので、そのメモです。
■ 他のtableをjoinする場合
$criteria->join.=' LEFT JOIN {{table_a}} a ON t.table_a_id=a.id ';
※メインのtableは t というデフォルトの別名が付きます。
※複数のtableをjoinする場合、CDbCriteriaのjoinプロパティは一つしか無い(配列ではなく文字列なので)ので.(ドット)で連結する事に注意!
※{{table_name}}で指定する事で、動的にprefixを無視してtable名を読み込めます。便利ですね
■ paramsの持たせ方
配列なので当たり前だけど後からどんどん追加できます。
$criteria->params[':name']="%{$name}%";...
2013年11月14日木曜日
[デバイス] Mac Book Air のサブモニター用 HDMIアダプタ
安くていいの見つけました
Amazon.co.jp:MacLab. Mini Displayport - HDMI変換アダプタ
相性保証ありで30日間返品可で、
770円!
家用、会社用と使ってますが、
ストック用でも一本買っとこうか、と思える安さです。
現状、使用になんの問題もありません。
おすすめです。
Amazon.co.jp:MacLab. Mini Displayport - HDMI変換ア...
2013年11月13日水曜日
[jQuery UI] datePickerで日付が飛ぶ場合
jQuery UI の datepickerを使っていて、
時々1900年とか1899年に年が飛ぶ事があります。
そのときの対処法。
参考はここです。
Weird jQuery date picker action - Stack Overflow
Stack Overflow様々です。
これを
$(this).datepicker('destroy').datepicker({
showOn:'focus',
dateFormat: "yy-mm-dd",
}).focus();
これに変更
$('.datepicker').not('.hasDatePicker').datepicker({
dateFormat: "yy-mm-dd",
showOn:'focus',
});
datePickerが2個でることで起こるバグっぽ...
2013年11月12日火曜日
[git] 各種戻し方
■一つのファイルの編集した後で、前回コミットしたところまで、修正内容を戻したいファイルがある場合
git checkout file_path
■ファイルの更新履歴を全て削除したい時(gitの管理下から外す時)
#ディレクトリごと
git rm --cached -r dir/
#ファイルだけ
git rm --cached file_path
■更新履歴がある場合、.gitignoreでignore出来ません。この場合、「ファイルの更新履歴を全て削除」してください。やり方は上...
2013年11月8日金曜日
[yii] 時間系バリデートの記載
yiiのCActiveRecordのvalidateは超便利ですけど、
時間系のバリデートのformatの指定の仕方がちょっと特殊です。
特殊というか、PHPのdate関数と違います。
詳細はこちらを。。
CDateTimeParser | Class Reference | Yii PHP Framework
使えば使うほどyiiが楽しくなる感じ。
他のフレームワークでもこうなのかな。
少なくともZendFramework1系はこんな感じはなかった...
2013年11月6日水曜日
[php.ini] 大量のpostデータを送信していて途中で途切れた時
warningエラーが出ているはずです。
Warning: Maximum number of allowable file uploads has been exceeded in Unknown on line 0
そんなときは、php.iniに
max_input_vars = 2000
を追記
デフォルト設定は1000です。
以上...
2013年10月31日木曜日
[ZF1] コントローラ名のCamelCaseは-つなぎ
表題のとおり
ZF1にてコントローラ名のCamelCaseは-(ハイフン)つなぎです。
MemberDataController.phpにアクセス
→member-data
macのローカル環境で作業してたら、memberDataでもアクセスできてしまって、
サーバに移すとアクセスできなかったので、注意です。
以上...
2013年8月3日土曜日
カンマ区切りの文字列をCSVで扱う
ダブルクォーテーションで囲んだ文字列の中にさらにダブルクォーテーションで囲みたい文字列がある場合について調べた結果、当然エスケープ処理が必要。
ダブルクォーテーションのエスケープはダブルクォーテーション自身。
知りませんでした。
よって、エクセルなど2個のダブルクォーテーションを1個とみなすようです。
これで問...
2013年8月1日木曜日
[MAMP] macのターミナルでmampのmysqlにログインする場合
macのターミナルでmampのmysqlにログインする場合
$ /Applications/MAMP/Library/bin/mysql -u root -p
これで入れます
容量の大きいバックアップのsqlをDBにぶち込む時はログインして 該当DBに移動。
souce コマンドで突っ込みましょう。
souce souce_file_path
以上...
2013年7月29日月曜日
[yii] moduleを使う場合のレイアウトのパス
yii メモ
moduleで上の階層のlayoutファイルを使う場合、
yiiのネームスペースのエイリアスを使います。
例:
public $layout='application.views.layouts.console.main'...
2013年7月17日水曜日
[git] remote repositoryのurl変更
git の remote repository の URL設定の変更
git remote set-url remote_config_name:/home/userdir/repo
set-url を使います。...
2013年7月16日火曜日
YiiFrameworkでPDFを作成
ほぼ公式サイトと同じ内容だけど、日本語化に対応させる必要があります。
公式サイトからyii-pdf-0.3.2.zipをダウンロードし、/protected/extensionsにyii-pdfとし配置。
また、今回はmPDFを使用するので、公式サイトからmPDF version5.7をダウンロード。
/protected 配下にvendorsディレクトリを作成し、ダウンロードしたファイルをmpdfとリネームして配置した。
/protected/vendors/mpdf
/protected/config/main.php に以下の内容を追加。
'ePdf' => array(
'class' => 'ext.yii-pdf.EYiiPdf',
'params'...
awsの参考リンク
awsでサーバ管理すると、いろいろ便利ですね。
便利に管理するためのリンクメモです。
公式APIリファレンス
AWS SDK for PHP 1.6.2
自動バックアップサンプルスクリプト
suz-lab - blog: タグを利用したEC2のバックアップ(AMI取得)と世代管理
バックアップ管理についてはまた後ほど...
2013年7月11日木曜日
スマホ用画像の圧縮について
サイトのレスポンスの良さ、これは特にスマートフォンサイトでは求められてくる部分だと思います。
画像のクオリティを許容範囲まで維持しつつ、ぎりぎりまで画像容量を減らす。
そんな作業にばっちりのサイトを見つけました。
PNG Minimizer
300kの画像が50kぐらいまで容量落ちます。
すごいツールです。感謝。...
2013年7月10日水曜日
ubuntuのapt-getとaptitudeの違い
aptitudeで構築したサーバとapt-getで構築したサーバが混在してきて、気持ち的に超めんどくさくなったので調べました。
apt-getとaptitudeの違い
とてもわかりやすい解説
2.2.1. apt-get/apt-cache と aptitude の比較
aptitudeの方がapt-getより便利にパッケージの依存関係を解消してくれるみたいですが、
メモリの消費量が多く、重いとのこと。
あとaptitudeでエラーが出るようだったら、apt-getを使うようにと書いてあります。
それで最も大事な事は、
apt-getとaptitudeはlenny以降混在OK!
との事。
なるほど。すっきりした...
2013年7月9日火曜日
gitのブランチのpushで本番環境とテスト環境への反映を切り替える
gitの自動デプロイの話
[作業目標]
pushされたものに対して、
branchで判別して処理を分岐、
テスト環境、本番環境へのデプロイを自動化します
レモートのbareリポジトリの直下にhooksというディレクトリが生成されているので、中身を見ます。
pushに対して処理する時は、
post-receive
post-update
というファイルを作ってその中にシェルスクリプトを書いて処理します。
処理の順序は、
1. post-receive
2. post-update
の順番で処理されます。
それぞれのファイルの使い方は、
branchによる分岐が無い場合、
post-receive に処理を記述。
branchによる処理分岐がある場合、
post-update に処理を記述。
(分岐しない処理もpost-updateにはかけます)
今回はbranchで処理を分岐するのでpost-updateに処理を記述する。
[概要]
git...
2013年7月8日月曜日
EC2で標準時間の変更(UCT -> JST)
標準ではUCTに設定されています。
それをUCTかJSTに変更する場合、
# 初期設定はUTC
$ date
Mon Jul 8 8:31:49 UTC 2013
# 日本の zoneinfo をコピー
$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
# 確認
$ date
Mon Jul 8 17:31:49 JST 20...
webのソースをコピペする場合
コピペしたものに改行が含まれている場合、
設定ファイルが読み込めない場合があるので要注意
vsftpdでpasv_modeが動かなくてvsftpd.confを見ても異常なし。
もしかしたらコピペした際の改行コードが影響して、
その行を読み込めてないかもしれないと思って、
その行をvimで直接手打ちしてみたら、pasv_modeが見事通りました。
webからソースをコピペして、それをvimで貼り付けたりする場合、注意が必要です...
2013年7月6日土曜日
git fetchの使い方
備考録です。
参考:transitive.info - git fetch 使い方
■リポジトリから変更を取得してマージしない
○マージしないで変更を取得だけしたい場合
git fetch
○細かく制御したい場合は引数を与える
git fetch
■リモートリポジトリから変更を取得する
○リモートリポジトリ remote_rep から変更を取得するには
git fetch remote_rep
○すべてのリモートリポジトリから変更を取得するには「–all」オプション
git fetch --all
■他のリポジトリのブランチを取得してローカルのブランチにする
○ にあるブランチ branch を 取得し、ローカルのブランチ local_branch として保存する
git fetch git://example.com/rep.git branch:local_branch
■fetch...
phpでcurlを有効にする
Call to undefined function curl_init()ってエラーが出たらcurlが有効になっていません。
cURLはカールって読みます。
そもそもcURLって何か?
====================
PHP PRO: CURLのセッションを引き継ぐ方法
WebサイトのHTML情報を取得する際にcurlを使用することがあります。curlとはWebブラウザのコマンドライン版のようなもので、与えられたコマンドを元にページ情報を取得する機能です。curlを使用すれば、ログインフォームにPOSTでデータを渡してログイン 処理を行い、ログイン後のページ情報を取得するようなことも可能です。
====================
コマンドラインからのURL=>ページ情報の取得に使うということですね。
インストールコマンド
$ sudo apt-get install...
2013年7月2日火曜日
apache2でphpを有効にする
AddTypeとかをhttpd.confに書き込むんではなく、
/etc/apache2/mods-available/php5.confの
<ifmodule mod_userdir.c="">
<directory home="" public_html="">
# php_admin_value engine Off ←この行をコメントアウト!
</directory>
</ifmodule>
...
2013年6月28日金曜日
sites-availableでの設定注意点
デフォルトのサイトを例えばsite_defaultとかで設定を作っていて、
その中でServerNameに何も指定していないVirtualHostの設定があったら、
他の設定ファイルがうまく読み込めなくなります。
そもそも一つの設定ファイルに複数のvirtualドメインの設定を書く事自体がありか、無しかわかりませんが、
新しいサブドメインの設定をanother_siteに書いていたとして
¥ a2ensite another_site
としても、
もともとのsite_defaultにServerNameなしのVirtualHost *:80 の設定があると、
site_default と another_site の 共存ができない(設定がかぶっているので)ので
apacheにアクセスが出来なくなります。
要するに
ServerNameなしのVirtualHost *:80 ...
vsftpdでパッシブを許可する設定
手順
======================
1./etc/vsftpd.confに追記
2.portを開ける(今回はaws)
======================
1./etc/vsftpd.confに追記
pasv_enable=YES
pasv_min_port=60000
pasv_min_port=60010
pasv_enable=YESについてはデフォルトらしいけど一応書く。
2.portを開ける(今回はaws)
あとはawsでセキュリティグループのportを開けるだけです。
楽ちん...
2013年6月26日水曜日
SSLの実装
Rapid SSLを実装
■CSR情報の生成
今回は/etc/apache2/sslに作成
Rapid SSLのHOW TO ページ
mkdir csr key crt ca
パスフレーズありと無しが選べるけど、ふつうは無しでいいと思う。
domainname.keyはそれぞれのドメインに当てはめる事
# openssl genrsa -out ssl/key/domainname.key 2048[Enter]
または、
# openssl genrsa -out ssl/key/domainname.key 4096[Enter]
生成
# openssl req -new -key ssl/key/domainname.key -out ssl/csr/domainname.csr[Enter]
生成された内容確認
# openssl req -noout -text -in...