yujiro's blog

エンジニアリング全般の事書きます

Let's Encrypt で Nginx をリスタートをかけずに証明書を更新する

以下作業メモです。 Let's Encrypt でSSL 化されているサーバーの証明書の更新をしようと思ったらエラった。 Problem binding to port 443: Could not bind to IPv4 or IPv6.

Vim で快適にPerl を書く【Carton】

vim でスクリプト言語書く時はsyntastic が便利ですよね。 Perl でもそれを使っていたんですが、carton でライブラリ入れてuse で呼び出そうとしたらエラー吐きまくりました。

Deployer を使ってLaravel5 をDeploy してみる

Deployer はPHP 製のデプロイツールです。サクッと設定が書けて楽にデプロイ環境が構築できる印象でした。capistrano に似てるなって思いました。 今回はLaravel5.3 をデプロイする前提で書いていきます。 参考にしたのは https://deployer.org/docs/ です。

【Laravel5】Session flash が全く効かなくて焦った。

原因 Controller の__construct 内で Sessionを使いたいがために Http/Kernel.php に protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminat…

Scala PlayFramework でアプリケーション作ってみた ③ 【モデル(Skinny-ORM)編】

Scala PlayFramework でアプリケーション作ってみた。② 【Controller(View)編】 - yujiro's blog の続きです。 今回はモデルとSkinny-ORM がメインになると思います。

Scala PlayFramework でアプリケーション作ってみた。② 【Controller(View)編】

Scala PlayFramework でアプリケーション作ってみた。① 【環境構築編】 - yujiro's blog の続きです。

Scala PlayFramework でアプリケーション作ってみた。① 【環境構築編】

Scala に挑戦してみました。 Mojolicious でアプリケーションをつくってみた① - yujiro's blog で作ったのと同じメモ帳アプリケーションをScalaとPlayframeworkを使い作ってみました。 結構時間かかりました。難しかった。 ソースコードは以下にあります。 g…

【PHP】scalar_object を使って値からメソッドを使えるようにする。phpenv環境、Laravelで使えるようにした。

Ruby だと組み込み型を拡張してメソッド追加できるんだけど、PHPでもそんなことがしたかった。調べてみたら下記があった。

Mojolicious でアプリケーションをつくってみた ②

bamboo-yujiro.hatenablog.com の続きです。

Mojolicious でアプリケーションをつくってみた ①【環境構築編】

github.com Perl に挑戦してみました。 I’m new to Perl. って感じです。 Perl のフレームワークといえば Catalist が一番有名なのでしょうか。 なんか大きそうだったので、さくっとアプリケーション作りながらPerl を勉強できそうなMojolicious を使ってみ…

vagrant sshしたら真っさらなサーバーになってしまうバグ

原因 virtualbox のマシンとvagrant の紐付けが解除されてしまってる なんで解除されるかは不明

【Rails】Form Object を作って Fat Model 解消に近づく

題名の通り、Form Object ですが、こんな感じで実装してるよってのを紹介したいと思います。

【Rails】 scope は 常に ActiveRecord_Relation を返す素晴らしいやつ

Rails で様々な条件で複合検索ができる画面を実装していて、フォームから受け取った値をそのままモデルに渡してコントローラは条件分岐なしにスッキリ実装したかった。 何の気なしに以下のようなコードを書いた。

Capybara Poltergeist で TypeError: undefined is not a function (evaluating 'Object.assign〜 というエラーが発生した

今まで poltergeist のオプションに js_errors: false を設定していたんだけど、 とある所で詰まって色々調べるために、true にしたら全く動かなくなった。

iptables についてのメモ

INPUT, OUTPUT ポリシーについて (httpの場合)

Flask で MVCライクな実装

github.com 中身の実装については後で書きたいと思います。

AWS S3で静的ファイルを独自ドメインで配信するまで 【CloudFlare】

前提 ドメイン名は sample.com と仮定する。 S3に画像ファイルを置いて、image.sample.com というドメインでアクセスできるようにする。 S3はそれだけだと遅いので、CDNを利用する(CloudFlare)

Effective Ruby 読書メモ

セッターメソッド インスタンスメソッド内でセッターメソッドを使う場合はselfをつけないと 単なるローカル変数の定義になってしまう。 ただし、selfを使うのはその場合のみにしよう。 つまり、インスタンスメソッドを使用する際に self を付ける必要はない。

メールサーバー迷惑メール対策

SPF 下記をTXTレコードに追加する。 v=spf1 +ip4:[ip_address] include:hoge.com ~all ※include をかかないと PASS しなかった

logrotate メモ

いつローテートさせたかを記録しているファイル /var/lib/logrotate/status

fluentd メモ

インストール & 設定 $ sudo su $ curl -L https://td-toolbelt.herokuapp.com/sh/install-ubuntu-trusty-td-agent2.sh | sh $ sudo /opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-s3 $ sudo vi /etc/td-agent/td-agent.conf

PHP のバージョンをphpenv で管理する

初めに ソースからビルド・コンパイルする形がめちゃくちゃ不便だったので、phpenvを試してみる 構成は Ubuntu14.04 + php-fpm + nginx rbenv のようにプロジェクトごとにphp のバージョンを切り替えられる。最初からこれをつかえばよかった。 ここでは 7.1.…