2017-01-01から1年間の記事一覧

Mac:カーソルの移動速度をあげる

mac

Macでのお悩みの一つに「カーソルの移動速度が遅い」というのがありました。 iterm2+vimで作業をしている際、検索やコマンドで移動できる場合はよいのですが、 どうしても、i j k lで移動する場面がでてきます。これが、Windowsより遅くてイライラしていまし…

CentOS7:Chronyで時刻を同期する

時刻がずれているからntpを、と思っていたらCentOS7ではChronyが標準のようですね。 以下のように設定しました: 設定ファイルの変更 # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/jo…

CakePHP3:Cannot describe テーブル名. It has 0 columns.

こちらのエラーですが、発生するケースを2つ見つけました。 belongsToの記述が間違っている $this->belongsTo('Owners', [ 'class' => 'Users', // 正しくはclassName 'foreignKey' => 'owners_id', 'joinType' => 'INNER' ]); データベースやテーブルにアク…

Git:src refspec master does not match any

git

githubに新しいレポジトリを作成し、次を実行したら発生しました: $ git init $ git remote add origin git@github.com:アカウント名/レポジトリ名.git $ git add . $ git push origin master error: src refspec master does not match any. error: failed…

CakePHP3:テンプレートから現在のページを取得する

「今表示しているページは何ページ目か?」といった情報を取得したい場合は、こちらを使います: $this->Paginator->param('パラメータ名'); パラメータ名に指定できるのは以下の通り: パラメータ名 意味 count 件数の合計 current 現在のページに表示して…

CakePHP3:現在のパスワードを確認する方法

パスワードの変更画面において「現在のパスワードを入力させ、正しいか確認する」ケースがあります。 実施するのに注意点が2つあります: hashの同一を確認するにはDefaultPasswordHasherのhashではなくcheckを用いる こんな感じでモデルに記述します: $val…

お給料を上げてもらうための作戦

私は過去に、技術部門の管理職をやっていて誰のお給料をいくら上げるかを決める立場にありました。 お給料が増える人には色々なパターンがあります。以下にまとめました: 1) 査定の前からお金が欲しいことをリマインドしておく 人事査定の時点では誰が昇給…

Chromeでdevドメインのサイトに接続できない(ERR_ICANN_NAME_COLLISION)

Googleさんが非常に困ることをやってくれました。 Chromeのバージョン63以降(2017年12月リリース)でdevドメインのサイトに アクセスすると強制的にHTTPSになります。サーバがちゃんとした証明書を搭載した HTTPSで動いてない場合は…接続できません。 対策…

DotfileをGitで管理する

git

.bashrcやら.vimrcやらを同期するのが面倒なのでgitに入れることにしました。 リポジトリの作成 ここではdotfilesというリポジトリを作成したとします ファイルの登録 リポジトリに登録したいdotfileを置いてあるサーバにて、 cd git init git remote add or…

ソフトウェア・ライセンスについて

どこかわかりやすいページないかな、と思って探していたらありました: http://jpn.nec.com/oss/osslc/doc/OSC20080913ShimaneBassui.pdf LGPLって、静的リンクしている場合はリバースエンジニアリングを許可しなければならないんですね…

Git:ブランチ名をコマンドプロンプトに表示する

git

以下、CentOS7/Amazon Linuxでの例です。 git-completion.bash と git-prompt.bashの入手 cd /tmp git clone https://github.com/git/git.git ファイルを設置 sudo mkdir -p /usr/local/git/contrib/completion cd /tmp/git/contrib/completion sudo mv * /u…

PHP:有効期限付きのURLを作る

php

【注意】 おそらく、こちらの実装のほうがセキュアです: blog.ohgaki.net とあるプロジェクトで、有効期限付きのURLを作る必要がでてきました。 これまではURLにパラメータを入れて、 そのパラメータと有効期限をデータベースに保存する方法を取っていまし…

CakePHP3:アップロードのプログレスバー

PHP5.4からは、ファイルアップロード時の進捗を知ることができるようになりました。 CakePHP3でハマったポイントがありましたのでここに列挙します: セッション管理の方法 app.phpでは、セッション管理の方法を以下の様に指定できます: 'Session' => [ 'de…

CakePHP3:saveもしくはpatchEntityの際のエラーを見る

いつも忘れてしまうので… if ($this->Articles->save($article)) { }else{ $this->log(print_r($article->errors(),true),LOG_DEBUG); }

Macにmd5sumが無い

ファイルをアップロードしたりgitにいれたときに、壊れてないかの確認に使いたかったのでいれました。 brew install md5sha1sum これでmd5sumを使えるようになりました。

gitで管理しているソースをsvnに入れる

自分の開発はgitで行っているけど、お客様のレポジトリがsvnというケースが少なからずあります(私の場合) gitからcloneしてsvnにimportするまでの手順は、実行頻度が少なくていつもてこずるのでここにメモします。 以下の例はCakePHP3での例ですが、ignore…

CakePHP3:composer install時にディレクトリを作成する

Composerを使ってCakePHPをインストールすると、logとかtmpディレクトリを適宜作って、かつ、パーミッションを設定してくれます。 これまでは、アプリケーション独自のディレクトリを作る場合に手動でスクリプトを叩いていたのですが、面倒かつ、抜けがでる…

ステップイン、ステップオーバー、そしてステップアウトについて

実は恥ずかしながら、これまでjsをデバッグする際にconsole.logに出力したりalertで表示したりしていました。 本日購入した「Javascript本格入門」ではChromeのデベロッパーツールを使って のデバッグ方法が書いてあったので試してみました。 Stackoverflow…

吉乃川 厳選辛口

某漫画で紹介されていたので探していたところ西友でカップサイズを発見。 熱燗でいただいた。確かに美味しい。 雑味というか嫌な味がしないのがいい。

CakePHP3:カラム追加が反映されない

CakePHP3.5で、カラム追加したにも関わらずそのカラムのデータがINSERT/UPDATEされない現象に出くわしました。 tmp以下をクリアしても解消しない… 対策ですが、Entityの編集が必要でした: protected $_accessible = [ 'id' => false, <中略> '新しいカラ…

CentOS7上のpostfixからgmailを使ってメールを送信

面倒な割には手順が一箇所にまとまってないので、ここに記載します。 rpmのインストール テストと認証に必要なrpmを入れます: sudo yum install -y mailx cyrus-sasl-plain gmailの2段階認証の有効可 Sign in - Google Accounts gmailのアプリパスワードの…

CakePHP3:テーブルとかフォームでログを使いたい(Call to undefined method ::log() )

コントローラ、コンポーネント、ビュー、ヘルパーでは、次の記述でログを書き出せます: $this->log("ほげほげ",LOG_DEBUG); では、テーブルやフォームで同様のことを行うにはどうすればいいでしょうか? 選択肢は2つあります: 一回だけ使いたい場合: \Cak…

CakePHP3:3.5で増えた正規表現のバリデータ

CakePHP3.5から、バリデータが増えて正規表現を使いやすくなりました: protected function _buildValidator(Validator $validator) { return $validator->add('name', 'length', [ 'rule' => ['minLength', 10], 'message' => '10文字以上で入力してくださ…

CakePHP3:条件付きでallowEmptyにしたい場合

パスワードの入力欄と確認欄は「パスワードを変更しない場合は空欄でよい」というケースがあると思います。 これはallowEmptyにコールバック関数を指定することで実現可能です: $validator ->allowEmpty('confirm_password', function ($context) { return …

中国のEV事情にびっくり

ソースは本日の読売新聞から。 中国って、EVの販売台数がすでに日本・米国・ドイツより多いのね: EVだけでなく、普通の乗用車の販売台数も桁違いに多い: 火力発電に頼っているので、同じEVを走らせても日本よりCO2の排出が多い、と: 今後は、ベンツ・BMW…

CakePHP3:認証失敗のエラーメッセージを動的に変更する

Authコンポーネントを設定するときに、認証失敗時のエラーを次のように定義します: $this->loadComponent('Auth', [ 'authorize' => [ 'Controller'], 'authenticate' => [ 'Form' => [ 'fields' => ['username' => 'email', 'password' => 'password' ] ] …

法人税率を下げると、法人税の税収はどうなるのか?

法人税率を下げると、法人税税収は下がるみたいですね: ただ法人税+所得税+消費税のセットでみると、税収の下落はなんとか食い止めることができているみたいです: どちらのグラフも景気がどうであったかの補正を加えるといいかもしれません。 ソース: w…

MacにVirtualBoxを入れて、CentOS7をインストールしSSHでログインする

これまでAWSやさくらVPSに開発環境を作っていたのですが、コストが結構かさみます。 macに移行したのを機会にVirtualBoxを利用することにしました。 こちらのHPを大変参考にさせていただきました、ありがとうございます: MacでVirtualBoxにCentOS7をインス…

git statusするとYour branch is ahead of ‘origin/master’ by x commits

git

なぜ、この現象が発生するのかよく理解できていませんが、対処法だけ: git status # On branch master # Your branch is ahead of 'origin/master' by 3 commits. # (use "git push" to publish your local commits) # nothing to commit, working director…

CakePHP3:コンポーネントでFlashメッセージを設定する

このようにします: class HogeComponent extends Component { public $components = ['Flash']; public function getHoge() { $this->Flash->success(__('Succeeded getting hoge!')); }