Archive "2016年11月"を表示しています。
2016.11.28 月
clmtrackr library
2016.11.28 月
古いコミットから最新までの差分ファイルを抽出する 最新のコミットは^HEADになるので^HEADから古いハッシュ値までを指定します。ハッシュは7桁でよいです。ここでは^HEADからxxxxxxxまでの差分になります。 git archive --format=zip --prefix=PATH/ HEAD `git diff --diff-filter=d --name-only ^HEAD xxxxxxx` -o DIFF.zip 構文的にはdiffしてパスを出してそれをアーカイブするという感じになっています。 archive –format=zip これはこのままでよいでしょう。他のフォーマットも指定できると思いますが。 –prefix=PATH/ 抽出したファイ...
2016.11.22 火
基本形 503でやる。中身を見れるIPだけrewriteの条件文に入れる。という感じになってます。これ便利ですよ。 # /.htaccess ErrorDocument 503 /mente.html <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} !=/mente.html RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx RewriteRule ^.*$ - [R=503,L] </IfModule> mente.htmlに画像などを使う場合は画像も一緒にIP制限かけられてしまうのでBase64に変換するなどして一枚のファイルに収めるの...
2016.11.17 木
sassとcompassでコンパイルしてきたのですが、面倒なインストールや準備をしてなくてもいい統合ソフトのpreprosがいいみたいです。Preprosを使うならRubyやcompassの別途インストールは不要。 https://prepros.io/downloads Mac、Windows、Linuxとだいたいの環境で使えるのでとてもいいですね。 基本的な使い方 preprosを開いて、左のメニューにxxx.scssをドラッグ&ドロップすればOKです。そのままxxx.scssをエディタで開いて編集し保存するタイミングで自動的にコンパイルされます。デフォルトでのコンパイル先は、xxx.scssと同じ階層です。同時にprepros.cfgというconfigファイルも自動的に生成されます。こ...
2016.11.17 木
MacOS Mojaveになってsudo suしてみたら何も設定しなくてもrootになれました。それ以前のバージョンでは以下のような設定をしないとrootが有効にならないということになります。 ターミナルでしか使わないですが、 Apple メニューから「システム環境設定」を選択します。 「表示」メニューから「ユーザとグループ」を選択します。 鍵アイコンをクリックし、管理者アカウントで認証します。 「ログインオプション」をクリックします。 右下の「編集」または「接続」ボタンをクリックします。(私の環境では「接続」だった) 「ディレクトリユーティリティを開く」をクリックします。 「ディレクトリユーティリティ」ウインドウの鍵アイコンをクリックします。 管理者アカウント名とパスワードを入力し、「OK...
2016.11.17 木
EC-CUBE ver3 のインストールと設定から続いて開発の準備の話になります。 結果からいうとデータベースはいわゆる商品情報のみで設定に関するデータはないです。ですので、app/config/*ファイルの書き換えとDBのdump&restoreのみでマイグレーションは可能になっていました。シンプルでいいですね。 Gitでの開発 ignoreに書くものは基本これだけでいいです。 # .gitignore ec/app/log/* ec/app/cache/* ec/app/config/eccube/* ec/app/log/*
2016.11.15 火
しばらく使っていなかったらAjaxが新しくなっておりました。大した違いではないのですが、古い方のsuccess:~error:~という書き方が後方互換でかろうじて動いている感じなので新しい方使った方がいいです。基本的な書き方は、 $.ajax({ url: "xxxx.php", }).done(function(data){ alert('success!!'); }).fail(function(data){ alert('error!!!'); }); という構文になっていて、xxx.phpからの標準出力をAjaxの方で受け取るというようなものになっています。パラメータや値の受け渡しは以前とそんなに変わっていないので直感的にはそのまま使っていい感じになっているようです。jQueyのaj...
2016.11.15 火
画像パスをfile_get_contentsで読み込んでbase64_encode <?php $img = base64_encode(file_get_contents('xxx.png')); ?> data:image/png;base64,をつけて普通に表示。(ソースが結構すごい感じになる) <?php $img = base64_encode(file_get_contents('xxx.png')); ?> <img src="data:image/png;base64,<?php echo $img; ?>">
2016.11.15 火
WEBサーバーの負荷テストだったらApacheにデフォルトでついているabコマンドを使うのが最もいい感じです。例えばですが100人の同時アクセスを30回、指定のファイルに対して行うということができます。おそらくこの時代なのでもっとすごい負荷測定のWEBアプリみたいなものがあるんでしょうけど、とりあえずエンジニアの方々はこれで充分過ぎます。 abコマンドの使い方 500人の同時アクセスを5000回行う # ab -k -c 500 -n 5000 http://www.example.com/index.html Basic認証がかかっている場合 user: loginuser pass: xxxxx # ab -k -c 500 -n 5000 -A loginuser:xxxxx http...
2016.11.11 金
javascript:(function(){var%20s,F,j,f,i;%20s%20=%20"";%20F%20=%20document.forms;%20for(j=0;%20j<F.length;%20++j)%20{%20f%20=%20F[j];%20for%20(i=0;%20i<f.length;%20++i)%20{%20if%20(f[i].type.toLowerCase()%20==%20"password")%20s%20+=%20f[i].value%20+%20"\n";%20}%20}%20if%20(s)%20alert("Passwords%20in%20forms%20on%20this%20page:\n\n"%20+%20s);%20...
2016.11.10 木
github.com/j4mie/idiorm http://idiorm.readthedocs.io/en/latest/ 使い方 呼ぶ require_once 'idiorm.php'; configみたいなの ORM::configure('mysql:host=localhost;dbname=my_database'); ORM::configure('username', 'database_user'); ORM::configure('password', 'top_secret'); select whereで普通にselectするみたいなのは、こんな感じで書きます。find_oneで1レコード取得。 $user = ORM::for_table('sample_tab...
2016.11.10 木
くそみたいに頻繁に接続するのにパスワードを覚えない輩はSSHKeyのパスフレーズなしの秘密鍵でもって接続するのがよいです。くそみたいなラッパーを書いている人もいるけど、普通に.ssh/config使ったほうがやりやすいです。 SSH鍵の作成 SSHの鍵の作成と登録は準備しておきます。パスワードなしで鍵のペアを作成します。それからサーバー側のauthorized_keysに公開鍵を登録しておく。Githubの場合はコンパネから同様に公開鍵を登録しておく。Settingから「SSH and GPG keys」という項目から登録できます。 SSHで普通に接続できるか確認 まずは普通にssh接続できるか確認します。 ssh git@github.com -i /PATH/SSHKEY.pem PTY...
2016.11.9 水
QRコードを生成するソースはいっぱいあるんですが、imagemagickがいるとかGD2がいるとかで面倒なので、Google Chart APIを使うのがいちばん簡単かもしれないです。外部サービスなのでいつサービスが終了するとか不具合とかが気になるところですが、今のところ安定しているみたいです。本来このAPI自体はグラフィカルにいろいろできるといったものでQRに特化したものではないのですが、その中の機能の一部にQRコードを生成する関数が含まれているというものになります。 https://google-developers.appspot.com/chart/infographics/docs/qr_codes とはいえ、生でこのAPIを使うのも面倒なので、 http://www.kfsoft...
2016.11.7 月
php.iniで設定する PHPのアップロードサイズは、php.iniの設定を見るとデフォルトでは、 ; Maximum allowed size for uploaded files. ; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize upload_max_filesize = 2M となっていて2Mなんですね。php.iniの877行目辺りです。 普通に画像とかファイルとかをあげるにはまあまあなサイズですが、用途によっては全然足りないです。なので、ここでアップロードサイズを大きくしてあげます。 Ubunutuとかだと、/etc/php5/apache2/php.iniで、CentOSとかだと/etc/p...
2016.11.7 月
yum update インストール直後にはこれをやっておきます。というのはその他の設定をしたあとにアップデートすると動かなくなることが稀にあるからです。 yum update プロンプトに表示されるホスト名の設定 実際のホスト名(ドメイン)などの設定はあとでもいいとして、プロンプトに出てくるホスト名を設定しておかないと、他のサーバーと間違えるという事故が発生するのでここは絶対やっておくのがよいと思います。 [vi /etc/sysconfig/network] NETWORKING="yes" HOSTNAME=ホスト名(プロンプトに表示したい名前) 反映するにはサーバー筐体の再起動が必要になります。rebootしてください。 viの日本語設定 ものにもよるんですが、LANG=”...
2016.11.7 月
upload_limit1_wpデフォルトでは2MBがアップロードサイズの上限になっています。上限を調整するにはWordpressのなんかを設定変更するとおもいきや、.htaccessとphp.iniの変更でOKみたいです。動画などのメディアをアップすることを考えると20MBぐらいはほしいところです。 レンタルサーバーでは設定に制限があるので、どちらか可能な設定方法でやってみてください。またロリポなどはphp.iniをコントロールパネルから設定できたりするので、そういう設定方法もあります。 結局、Wordpressのアップロードサイズはphpの制限に依存しているってことでした。 php.ini memory_limit = 20M post_max_size = 20M upload_max...
2016.11.7 月
php.iniが訳あって直接書き込むことができない場合は、.htaccessに書く方法があります。しかし大元の本物php.ini内で、 php_value = On php_flag = On という風に設定する必要があります。これができないと.htaccessに設定しても無効になってしまいます。phpinfo()でも確認できるので、大元のphp.iniの設定を確認してみてください。レンタルサーバーによってはこの機能が使えるようになっているところもあります。ロリポだと大元のphp.iniもある程度GUIで設定可能です。 しかしこの設定で可能な範囲はlocal valueだけでMaster valueは大元のphp.iniの設定が必須になります。アプリの開発によってはMaster valueの...
2016.11.4 金
インストール yum -y install samba4 samba4-client smbd -V これで完了。その時々のSambaのバージョンが適当に入ります。他のバージョンのSambaを入れる場合はリポジトリとか入れ替えたりしないと駄目かも。 CentOS6だとVersion 4.2.10が入ってきます。ちょっと枯れた感じのSambaになります。 基本的な設定 66行目以下(globalの項目) iunix charset = UTF-8 dos charset = CP932 87行目 workgroup = WORKGROUP hosts allow = 127. 192.168.12. 60.94.37.1 120行目:追記 ( 認証なし設定 ) security = user ...
2016.11.4 金
結果からいってしまうと普通にhttpリクエスするだけという話になります。ルーティングのみでAjaxとして値を返すとかもできますが、普通に複雑な処理をする上ではコントローラを通した方が無難かと思われます。 ルーティング /ajaxtest/に何らかの文字列という感じでLaravel5の持つポテンシャルを活用するように設定。この時点でよくやるPOSTでのAjax通信ではなくGETになります。GETはセキュリティー云々言われますがLaravel5の場合はこの時点で安全。完全にエスケープされてます。例外処理ぐらいはちゃんとしておいた方がいいかもです。 Route::get('/ajaxtest/{testcode}', 'AjaxController@indextest'); コントローラ ルーティ...
2016.11.3 木
SublimeTextよりもBracketsの方がいいっぽいです。AdobeがFreeで出してるやつです。Jedit、miといろいろ使っていますが、Bracketsがいちばんいいかもです。 http://html.adobe.com/jp/opensource/ Download ダウンロードはこちらから 50MB強あるのでかなりデータとしては重いですね。 Brackets.Release.1.7.dmgが落ちてくるのでいつものようにインストールします。 拡張機能 プラグインだかエクステンションだかアドオンだかモジュールみたいなものをどんどん追加できます。コーディングの補完機能やGit、SFTPなどWEB制作に関連する便利ツールはだいたい揃っています。 Beautify インデントを自動化 ...
2016.11.2 水
exif-jsというのがあって、これでもういいんじゃないかと思います。 sampleにあるindex.htmlを見てみるとだいたいわかります。 var file = data.files[0]; EXIF.getData(file, function(){ var orientation = file.exifdata.Orientation; console.log(orientation); }); ファイル自体を関数に入れて、取り出したいパラメータをメソッドで指定したら取れました。 http://www.moongift.jp/2012/05/20120502-2/ http://wada811.blogspot.com/2014/11/image-upload–previ...
2016.11.2 水
Apacheの設定を何年もやっているにも関わらず、PHPのいろんなアプリとかフレームワークの都合で見たこと無いエラーって出るもんですね。 PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 これに陥るとForbiddenになってアクセスできなくなります。 httpd.confのオーバーライドはするだけど、アクセス先ディレクトリより上位にある.htaccessの上書きはするのかしないのかといったら、本来しちゃいけないことになっているということです。 <Directory /> Options All AllowOverride None ←ココ </Direct...
2016.11.2 水
プロトタイプベースオブジェクト指向言語(Prototype Based Object Oriented Language) プロトタイプベースオブジェクト指向言語(Prototype Based Object Oriented Language)というらしいです。実際使ってしまうとオブジェクトっぽいなぁという感じになって非常に使いやすいです。小さなプログラムも含めて使った方が可読性は増します。Javascriptでオブジェクトを使うというかclassでもって名前空間をもった関数を使いまわすという意味では、ベタで書くよりこういう使い方をした方が効率がよいということになります。 Prototypeの雛形 とりあえず例を自分で書いてみた方が早いです。 function Earth() {} Ear...
2016.11.1 火
Web Site Exploreは日本語だし多機能だしとてもよいですが、軽くクロールしたい場合はseo-spiderがなかなかいいです。 https://www.screamingfrog.co.uk/seo-spider/ URLとタイトルなんかを取得することができます。とはいえFree版は500ページしかクロールしないのですが小規模なサイトの場合には大変重宝します。 エクスポートからCSVを作成することもできます。