bash:空白を含むファイル名

次のように、全てのファイルに対してなにかの処理を行いたいとします: for i in `find . -type f` do ls ${i} done この場合、hello world.txtといったようにファイル名に空白が入っているとうまく動きません。 デフォルトのIFS(区切り文字)が空白を含む…

vim:viminfoが生成されない

CentOS7で.viminfoが書き出されない、変だなーと思ったら、デフォルトのvimには入ってないのでした。 yum -y install vim-enhanced と実行して.viminfoが有効になっているvimをインストールし vi .bash_profile として alias vi='vim' と設定。最後に source…

CakePHP3:既存のソースにローカリゼーションを導入する

諸々の事情で、既存のソースを多言語対応することになりました。 いろんな箇所に echo "こんにちは" といった具合に辞書を参照しない形でテキストが埋め込まれています。 これを echo __('こんにちは'); に変更したいのだけど、手で書いていたら日が暮れてし…

CakePHP3:Swagger-codegenでコードを生成し、CakePHP3に組み込む

Macにswagger-codegenをインストールする 注意:brew install swagger-codegenだと、3系のswagger-codegenがインストールされますが、 そいつが生成するPHPコードは壊れてます。よって、2系をお使いください。 brew cask install homebrew/cask-versions/jav…

CakePHP3:マイグレーションファイルの名前を変更する

cake bake migration_diffでマイグレーションファイルを作ってから「名前変えたい」ということってありませんか? 僕は次の方法で変えました: マイグレーションを適用前の状態にする cake migrations rollback マイグレーションファイルをリネームする cd c…

Git:git pull dry run的なことを行いたい

git

git pullする前に、どのような変更がマージされるか確認したい、ということはありませんか? 僕は以下のようにしてチェックしています: git fetch origin master git diff HEAD..origin/master そして問題がなければ git merge origin master としています。

Swift:variables currently must have an initial value when entered at the top level of the REPL

Playgroundにおいて、変数を初期化しない場合にこのエラーがでます。 例えば、こんなコードです: let myName: String 初期値を与えればよいのですが、与えないケースも試してみたいですよね。 僕は関数に入れて回避しました: func main() -> Any { let myN…

Swift:配列の宣言、初期化と要素の追加

配列の初期化に苦労といいますが、バリエーションが多くてまいりましたw 宣言のみ 配列の場合、宣言のみはできないっぽい(普通の変数であればできるみたい) 例えば、このようにするとVariable 'myArray' passed by reference before being initializedと…

Mac OS:duコマンド

CentOSで、ディスク容量を食っているフォルダを探す際に du . -h --max-depth=1 とやっています。Macではこうするといけました: du -hd1

Javascript:Firefox/Safariでbeforeunloadが効かない

FirefoxとSafariでは、beforeunloadが呼ばれても何も処理をしてくれないことがありました。 (ポップアップを表示するのはできるんですが…) <html> <body> <script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.min.js"></script> <a href="https://www.google.com">Google</a> <script> window.addEventListener("beforeunload",function() { axios.get('/…</body></html>

Git:ワーキングコピーへの変更をすべて戻したい

git

まず、ドライランを行います: git clean -nd すると、何を削除するかの一覧が出力されます: Would remove src/Controller/ArticlesController.php Would remove src/Controller/AuthorsController.php Would remove src/Controller/PostsController.php 問…

CakePHP3:containとmatchingとinnerJoinWithの違い

メソッド 関連するデータを取得するか? 関連するデータに対して条件を設定し、元のテーブルを絞り込めるか? contain ○ ☓ matching ○ ○ innerJoinWith ☓ ○

CakePHP3:bakeの落とし穴

とても便利なbakeですが、hasOneのリレーションを設定してくれないという特徴があります。 テーブルの例 例えば、次のようなテーブルがあるとします: usersテーブル user_profilesテーブル bakeした結果 Users hasMany UserProfilesというモデルが生成され…

CakePHP3:アソシエーションされているデータをsaveの前に変更する

リクエストデータを変更する場合 $data = $this->request->getData(); $data['order_data']['name'] = "新しい名前"; $order = $this->Orders->patchEntity($order, $data); エンティティのプロパティを変更する場合 $order->order_data->name = "新しい名前…

CakePHP3:コントローラで発行されたクエリをログする

debugkitを入れていればSQLは確認できますが、リダイレクト等が入っていて確認できない場合があります。 その対策です。 bootstrap.phpの変更 bootstrap.phpにこれを追加します: Log::config('queries', [ 'className' => 'File', 'path' => LOGS, 'file' =…

.sshディレクトリを作る

install -d -m 700 ~/.ssh (umask 077; touch ~/.ssh/authorized_keys) これで正しいパーミッションで作成できます。

Git:ブランチを作ってそこに移動する

git

git checkout -b 新しいブランチ名

Git:ブランチを削除する

git

ローカルの場合 ローカルブランチ一覧を表示 git branch マージ済みのローカルブランチを削除 git branch -d ブランチ名 マージ済みか否かを問わないで、ローカルブランチを削除 git branch -D ブランチ名 リモートの場合 リモートブランチ一覧を表示 git br…

Vue:Invalid Host Header

vue-cliを使ってこちらのチャットプログラムを作ってみたのですが、ローカルホスト外からアクセスするとInvalid Host Headerというエラーがでる。対処方法ですが、ルートディレクトリに以下の内容のvue.config.jsを作ると解消します: module.exports = { de…

Vue.js:フォーカスの当たっている要素のIDを取得する

こんな感じでいけます: created: function() { // ブラウザ以外で実行の場合、documentが無いと怒られるための確認 if(typeof window !== 'undefined') { // フォーカスが変わったらfocusChanged関数を呼ぶ document.addEventListener('focusin', this.focu…

Vue.js:配列の中のオブジェクトの値をリアクティブに変更

こんな感じにVue.setを用います: <div id='app'> <ul> <li v-for="artist in artists">{{artists.firstname}} {{artists.lastname}} {{artists.age}}</li> </ul> <form> <input type="button" value="年齢を5際、若くする" v-on:click="reduceAge"/> </form> </div> var app = new Vue({ el: '#app', data: { artists: [ { lastname: 'セザンヌ', fi…

AWS:AMIで利用してないスナップショットを探して削除する

自分が所有するAMIの一覧を取得 aws ec2 describe-images --owners self | jq '.Images[] | {ImageId}' | jq '.[]'| sed 's/"//g' 自分が所有するAMIのスナップショットIDの取得 aws ec2 describe-images --owners self | jq '.Images[]["BlockDeviceMapping…

AWS:parse error: Invalid numeric literal at

jqを使って、describe-imagesの出力をパースしようとしてもエラーばかり・・ 理由は.aws/configにoutput=textと書いてあったためでした…削除したら直ったw

Vue.js:computedに引数を渡せない

速習vue.jsという本を読んでいて、以下のサンプルコードが出てきました: お題 <html lang="ja"> <body> <div id="app"> <form> <label for="name">メールアドレス:</label> <textarea v-bind:value="emails.join(';')" v-on:input="emails = $events.target.value.split(';')"></textarea> <ul> <li v-for:"email in emails">{{ email }}</li> </ul></form></div></body></html>

フリーランスじゃないけど孤独がつらい

6月から会社員になりました。が、100%自宅勤務です。 会社の人と会話するのは週に1回のSkype MTG。 奥さんが働き出したので昼間は、話す相手が待ったくいません。 よって寂しい。 今日、自転車やさんでタイヤ交換の話で盛り上がって心が満たされました。 こ…

SVN:特定のファイルだけをignoreする

svn

仮に、/var/www/htmlにhoge.txtというファイルがあり、svnで管理したくないとします。 現時点でsvn statusとすると、 ? hoge と表示されるとします。 この?を消すには次のようにします: cd /var/www/html svn propedit svn:ignore . もし svn: E205007: 環…

Git:リモートにのみあるブランチをローカルに持ってくる

git

ローカルに、masterだけがあるとします。 リモートにはhogeというブランチがあるとします。 単純にcheckoutを試みると次のエラーがでます: git checkout hoge error: pathspec 'stripe' did not match any file(s) known to git. hogeをローカルに持ってく…

SSL:FujiSSLをSSLストアで購入し、CentOS7のApache2.4に設定する

mod_sslのインストール yum -y install mod_ssl CSRの生成 秘密鍵作成に必要な疑似乱数の生成 sudo bash mkdir /etc/httpd/ssl cd /bin ./openssl md5 * > /etc/httpd/ssl/rand.dat 秘密鍵の作成 ここで入力するパスフレースはどこかにメモしておきます: ./…

CakePHP3/ImageMagic:画像のオリエンテーション(向き)を正しくする

EXIFにオリエンテーション(回転)が設定されている画像をアップロードすると、Chromeはそのオリエンテーションを尊重して表示します。 これを回避するためにこんなコンポーネントを作りました: class FixOrientationComponent extends Component { public …

ImageMagick:画像の周りにパディングをつけてセンタリングする

シェルを叩く場合 convert original.jpg -gravity center -background white -extent 1024x768 padded.jpg なお、-gravity centerの場所をこのようにするとうまくいきません: convert original.jpg -background white -extent 1024x768 -gravity center pad…