サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
kayakuguri.github.io
Apache2.4からアクセス制御の方法が、RequireAnyとかを使った方法になっているよう。 ちょっとよくわからなかったので調べて整理してみたメモ。 基本 基本は、以下の3つのタグで囲って条件付けしていく。 RequireAny – どれか一つでも当てはまれば許可 RequireAll – 全てに当てはまれば許可 RequireNone – どれか一つでも当てはまれば拒否 デフォルト、何も囲わなければ RequireAny となるよう。 1 2 3 4 <RequireAny> Require {判定する内容} Require {判定する内容} </RequireAny> 判定文基本 1 2 3 4 5 6 7 8 9 10 11 # xxのとき許可 Require xx # xxでないとき許可 Require not xx # 全て許可 Require all granted #
Laravelの小ネタ。 ELBなどのロードバランサを挟むと Request の isSecure が正しく動作してくれなかったのでメモ。 ブレードでリンクを生成する時に、`と記述して組み立てていたのだが、ローカル環境では正しくhttpsのURLで絶対パスが指定されていたのに、herokuにアップした途端にhttp`で生成されるようになってしまった。 Requestのroot()がどうやって判定しているのかを辿っていくと、getScheme()というRequestの関数内で、以下のように判定して取得していた。 1 2 3 4 public function getScheme() { return $this->isSecure() ? 'https' : 'http'; } よってこの、isSecureが正しく動作していないと思われる。 Herokuはロードバランサが標準で入っているため
Laravelのバージョンは5.5で確認。 Eloquentモデルは作成時に自動でcreated_atとupdated_atを更新してくれる。 しかし、仕様の都合上、updated_atカラムがないテーブルを利用したかったのでその方法。 定数でのカラム指定 Eloquentモデル内で定数を使用することで明示的にカラム名を指定する事が可能。 1 2 const CREATED_AT = 'date_created'; const UPDATED_AT = 'date_modified'; Laravel 5.3 タイムスタンプのDB項目名の指定 これを利用し、更新カラムはない事を指定してやればよい。 1 const UPDATED_AT = null; これだけ。 情報元 Eloquent model without updated_at (Laravel 5.5) — Neon Tsuna
curlでsslを接続する際に、opensslを利用した接続になっていなかったために接続出来ない事例があったのだが、curlを入れ替えてopensslを利用するようにしたら接続出来たのでそのメモ。 前提 接続をしている環境は以下とする。 CnetOS 5.6 PHP 5.3 この環境で、SalesforceへRestAPIを利用して接続をする。 接続する際の認証は以下のクラスを利用している。 nkjm/Force.com-OAuth-Toolkit-for-PHP: A toolkit to enable OAuth in external Web Services developed in php 自作の /sample/loginのエンドポイントへ接続するものとする。 接続に利用しているPHP。 <?php require_once('oauth.php'); define('CLIE
Laravelでクロスオリジン、CORS (Cross-Origin Resource Sharing) に対応する方法。 対応用のLaravelライブラリがあるのでそれを利用する。 JSからajaxなどで通信する場合、ドメインをまたいだ通信の場合(クロスオリジン)はセキュリティ上禁止されている。 ので、それを通信を受けるサーバーサイドで許可してやる。 barryvdh/laravel-cors ライブラリがあるので、そちらを利用する。 インストール Composerで導入する。
普段はheorkuを触っている事が多いのだが、今回はさくらのレンタルサーバを使用することになり、その環境でのhttps強制を設定しようとしたところ、リダイレクトループでハマったのでメモ。 通常のリダイレクト どうやらさくらのサーバはかなりクセの強いことで有名らしく、以下のような普通の?https強制のコードだとリダイレクトループとなってしまう。 1 2 3 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] ロードバランサのリダイレクト ロードバランサを使っている場合はHTTPSがonにならないため、ずっとoffの状態になりリダイレクトループが起こる。 よって、以下のように書く。 1 2 3 RewriteEngine On Rew
Herokuで独自ドメインを指定するには、CNAMEでHeroku側のドメインを指定して設定してやる必要がある。 [heroku]herokuでのSSL設定とカスタムサブドメインの適用方法 少し前までのターゲット 少し前まで(具体的にはSSLの設定がHerokuの標準機能に組み込まれるまで)は、以下のような設定内容で設定していた。 (アプリ名を appname とし、設定するサブドメインは、www.appname.com とする) 種類 (Record) 名前 (Name) 内容 (Target) Heroku Free SSL導入後のターゲット 注意 ここでの説明はあくまでも独自サブドメインの設定方法となる。 ルートドメインをHerokuのアプリで使用したい場合は、別途PointDNSアドオンや、AWSのRoot53などのサービスを使用する必要があるが、ここでは割愛する(どれがデファクト
本番がhttpsの開発でローカル環境だけhttpで接続していると色々面倒があるため、ローカルのvagrant環境でもhttps接続出来るように調整してみたメモ。 前提 OSはubuntu。というか、いつものように、vagrantの環境はscotchbox。 https://box.scotch.io/ 参考 主に以下を参考にそのまま作業した。ありがとうございます。 VagrantでUbuntuサーバ/Apache2のSSL(https) – orangeProse別館 テスト用の証明書を作成 まずはモジュールを有効に。
オブジェクトの詳細で表示される関連リスト部分、要するにそのレコードを参照しているレコード、を一覧表示からインライン編集出来るようにしたかったので、インライン編集の基本的な部分から調べてみた。 参考 インライン編集の有効化 Visualforce開発者ガイド 詳細レコード 該当のレコードの詳細を表示し、表示している項目をインライン編集出来るようにする。 作成しているVFページのURLにて、IDが指定されている + 指定されているstandardControllerのオブジェクトであれば、Visualforceだけで表示させることが可能。 https://Salesforce_instance/apex/myPage?id=001x000xxx3Jsxb この場合、IDが001x000xxx3Jsxbの取引先(Account)が表示される。 apex:detailタグを使うと、このレコードの詳
大容量のファイルをアップする際に、通常のinput type=fileで送ろうとすると herokuだとタイムアウトになったりして上手くいかなかった。 なので、jQueryのファイルアップロードプラグインにある、chunk uploadを利用してアップした。 ・Github blueimp/jQuery-File-Upload 公式のjQuery File Uploadのデモは以下。 https://blueimp.github.io/jQuery-File-Upload/ セットアップの流れは以下を参考に。 https://github.com/blueimp/jQuery-File-Upload/wiki/Setup 通常のアップロード 以下から最新バージョンをダウンロード。 https://github.com/blueimp/jQuery-File-Upload/releases
いつも忘れてググってしまうので備忘録。 秘密鍵作成 乱数ファイル $ openssl dgst -md5 /var/log/system.log > rand.dat パスフレーズ付き秘密鍵 $ openssl genrsa -des3 -rand rand.dat 2048 > server.pem キー長は2048が多かったのでそれで。 パスフレーズの解除方法 $ openssl rsa -in server.pem -out server.pem パスフレーズなしの秘密鍵 $ openssl genrsa -rand rand.dat 2048 > server.pem CSR作成 証明書署名要求(CSR:Certificate Signing Request) $ openssl req -new -key server.pem -out csr.pem Country Name
Gitのコミット履歴を差分形式で確認できるatomプラグインがGithubのトレンドで上がってきていたので使ってみた。 インストール まずはインストール。 atomのパッケージからインストールする。 上部メニューから、Preferenceを選んで、Installから、 git-time-machineで検索。 インストールする。 (少し時間がかかった。) 起動 インストール後、念のため再起動しておく。 コマンド+シフト+Pを押して、Git Time Machineを起動。 すると下部にコミットした場所がグラフのような形で表示される。 グラフの●部分をクリックすると選択中のファイルとの差分が表示できる。 (以下は公式のgitアニメから) もちろんそのままの状態でファイルを編集可能。 こうやって過去の状態を確認しながらプログラムが出来るので便利そう。 リンク littlebee/git-tim
NeoCompleteを入れるために、vimのプラグイン管理ツールである、NeoBundleを入れる。 Shougo/neobundle.vim インストール方法は上記公式のReadmeに従った。 任意のディレクトリにインストール用ファイルをダウンロードし、実行。 $ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh > install.sh $ sh ./install.sh $ rm ./install.sh インストール時に表示される以下の設定を、.vimrcに記述。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 "
シリアライズ 自分に設定されている権限を取得する。 ただし、DBを直接除くとシリアライズされている。 とはいえ、取得は普通にWPの関数で可能。 get_user_meta(ID, 'wp_capabilities', true); セットは以下のように update_user_meta($user_id, 'wp_capabilities', ['staff' => 1]); 取得 自分のレベルを取得
cake記法?で書かれたURLからパラメータを取得するメモ。 コントローラーのみで制御 cakephpでのURLの基本は以下。 コントローラー名/アクション名 これにパラメータをつけたければ、その後ろに並べるのみ。 コントローラー名/アクション名/パラメータ1/パラメータ2 このパラメータを取得する方法は以下。 //URL - ctrl/act/param1/param2 $this->params['pass'][0]; //param1 $this->params['pass'][1]; //param2 で、指定の名前を付けたい場合は、以下のように。 コントローラー名/アクション/パラメータ名1:パラメータ/パラメータ名2:パラメータ //URL - ctrl/act/param1:hoge/param2:fuga $this->params['named']['param1'];
iOSで端末で動画をストリーミング再生させるべく、 HTTP Live Streamingを作成してみた。 HTTP Live Streaming(HLS)は動画ファイルを約10秒程度の短時間に分割しMPEG-TSコンテナに入れたものをひたすら生成しつつm3u8形式のリストファイルにそのファイルを逐次追加していくことで、HTTPのみで擬似的にLive Streamingを実現する方法です。 Appleが提唱したらしく、iOSが最も安定して再生できるのですが一応Androidでも対応します。 (手元のNexus7で試した所、Androidだとシークが出来なくなる) http://qiita.com/joker1007/items/def9d58ddb00fafc936d 作成するには、FFmpegを使うのが楽、とのことで、FFmpegをインストール。 新しめのFFmpegには分割するためのs
シンタックスハイライトや補完なんかはやっぱりphpstormでは無理なよう。 通常は、IntelliJ IDEA Ultimate使え、と。 とはいえ、基本的なシンタックスハイライトくらいは適応させる方法がある、とのこと。 Is it possible to get Ruby syntax highlighting in PHPStorm? 基本は上記の訳。 1) ruby-tmbundleを適当なディレクトリにクローン。 $ git clone https://github.com/drnic/ruby-tmbundle.git 2) Phpsotrm -> Preferenceを開く IDE Settings以下にある、TextMate Bundlesに1)のディレクトリを追加。 3) 諸々の理由で、このバンドルはrubyのrbファイルをサポートしていないらしい。 なので、サポートする
herokuでのIP固定といえば、Proximoの方が有名っぽいけど、 QuotaGuard Staticというのでも同じく固定できるようなので試してみた。 QuotaGuard Static アプリへのセットアップをコマンドラインからする場合は以下。 無料プランがあるので、それで試してみる。 $ heroku addons:add quotaguardstatic 以下のように結果が返ってくる。 その中にIPアドレスも含まれる。 Adding quotaguardstatic on static-ip-test... done, v4 (free) Your static IPs are [54.88.136.216, 54.84.188.199] Use `heroku addons:docs quotaguardstatic` to view documentation. Proxi
空き容量を増やすべく、色々対応してみた。 実行は自己責任でお願いします。 参考にしたページ: Mac の SSD 空き容量がガッツリ減ったのであれこれ対応した話 | 竹中 彰一 | note 以下のコマンドを実行してサイズの大きい(5ギガ以上)ディレクトリを検索。 $ sudo du -g -x -d 5 / | awk '$1 >= 5{print}' なんだかよくわからないファイル達が次々とヒット。 メモリ関連? /private/var/vm/sleepimageが8Gほど食っていた。 このファイルは、スリープ状態のまま電源が切れた場合のバックアップとして取られているらしい。 これは消して問題なし。 作らなくする方法は以下参照。 MacBook Proを圧迫するsleepimageをどうにかする – 悪あがきプログラマー MacBook Airを圧迫するsleepimageをどうにか
herokuでステージング環境を作成してみた。 ブランチを切って、切り替えできるようにした。 アプリの作成はブラウザ上で行い、 そこに後からpushしていく想定とする。 (使用していてターミナル上でアプリを作成することが少なかったので) アプリ名(ID)は以下とする 本番:sampleapp ステージング:sampleapp-staging ターミナルでアプリ用のファイルが入ったディレクトリに移動する。 (以降はそのディレクトリでの作業となる。) まず、本番環境の分にアプリをサクっとプッシュ&デプロイ。 $ git init $ git add . $ git remote add heroku git@heroku.com:sampleapp.git $ git commit -m 'init' $ git push heroku master 3つ目のremote addでプッシュ先の
herokuがphpを公式にサポートしました。 以前にビルドパックのを使用した環境の構築方法を書きましたが、 公式の作成方法も試してみました。 Heroku PHP Support | Heroku Dev Center herokuでは基本、アップされたファイルからherokuが自動的に判定して環境を構築してくれます。 で、PHPの場合は、 composer.json ファイルがルートにあれば、PHP環境と判定されて構築してくれる。 現時点では作成されるバージョンはデフォルトでは、以下。 By default, Heroku runs PHP 5.5 (5.5.12, 64-bit). バージョンを指定してやる場合はcomposer.jsonに以下のように記述。 { "require": { "php": "~5.5.12" } } ただし、サポートしているバージョンは以下のみ。 5.5
このページを最初にブックマークしてみませんか?
『kayakuguri.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く