リーディンガソンに参加したので「SINGLE TASK」と「1440分の使い方」を読んだ

リーディンガソンに参加した。 connpass.com 参加条件に "本の紹介を書くこと" とあったので、書く。 今回読んだのは「SINGLE TASK」と「1440分の使い方」の2冊。 SINGLE TASK 一点集中術――「シングルタスクの原則」ですべての成果が最大になる作者: デボラ…

【MySQL】データベースの安全なデータ更新のためにおさえておきたい手順

自分のために。横着しないように、油断しないように。 MySQLでなくても、基本的な手順は同じなはず。 ざっくりな手順 実行予定のSQLを自分の開発環境で実行したあとレビューしてもらう 更新前データのバックアップを取る SELECT文を実行して更新前データを抽…

【PHP】トレイト

PHP

title = $title; $this->dump("Created '{$this->title}'"); // Dumperトレ…

【PHP】配列の全要素が一意かどうかをチェックする

PHP

めも。

【WordPress】テーマ ディレクトリのURIを取得する

基本は get_template_directory_uri() を使う。 <img src="<?php echo get_template_directory_uri(); ?>/images/foo.png"> ただし、これは親テーマのディレクトリのURIを返すことに注意。 もし、子テーマのディレクトリのURIを取得したいのなら get_stylesheet_directory_uri() を使う。 <img src="<?php echo get_stylesheet_directory_uri(); ?>/images/foo.png"> 親テーマのディレクトリのURIを取得したい…

【Docker】ADDとCOPYについて

Dockerfile を書くベスト・プラクティス — Docker-docs-ja 17.06.Beta ドキュメント 要約 一般的には COPY が望ましい。 COPY はローカルファイルをコンテナの中にコピーするという、基本的な機能しかサポートされていない。 一方で ADD はローカル上でのtar…

ElasticMQのDockerコンテナ起動時にキューを自動作成する

以前ElasticMQ用のDockerfileを作り、Dockerコンテナで動くようにした。 www.tomcky.net ElasticMQは設定ファイルを準備することで、起動時にキューを自動作成できる。 github.com ドキュメントのとおりに custom.conf を作成して Dockerfile と同じディレク…

口内炎が痛すぎて残りライフゼロです

口内炎。 なんなんですかね、アレ。 あの辛さはどうしようもないですよね。 昨日の夜と今日の昼はハヤシライスだったのですが、美味しいのに辛い、辛いのに美味しい、けどやっぱり辛い。 ただ辛い。 からいじゃない。 つらい。 つらたん。 ミーティング中も…

引っ越しました

引越ししました。 ここ10年で7回目の引越しです。 「うわっ...私の引越し回数、多すぎ...? 」 というわけで、もうこれで最後にしたいです。引越し辛い。 前回こうだったからこうしようと思ってても、毎回何かしら困ったことが起こるんだよな。。 引越しは終…

【Symfony】バリデーション制約 UniqueEntity の基本的な使い方とエラーメッセージについて

symfony.com UniqueEntity の fields オプションを使うと指定したフィールドにユニーク制約をつけることができる。 App\Entity\Author: constraints: - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: fields: email fields オプションは省略…

PHPのprintfとsprintfの違い

PHP

【Symfony】DoctrineのQueryBuilderでWHERE句のAND・OR組み合わせ

select('p') ->from('AppBundle:Product', 'p') ->join('p.category', 'c') ->where('c.name like :categoryName') ->andW…

scpコマンドでローカル・リモート間のファイルコピー

使うとき、たまに忘れる。 ローカルファイルをリモートへコピー カレントディレクトリの foo.txt をリモートへコピーする。 -P オプションでポートを指定。 リモートの指定は ユーザー名@ホスト名(もしくはIPアドレス):コピー先ディレクトリ 。 $ scp -P 2…

明日から技術Tipsの投稿再開します

体調も回復してきたので、明日からまた投稿再開しようかと。 と、言っても大した記事はあげてないし、これからも滅多にあげることはないのですが。。 小さい積み重ねだと思うので、無理なく、日常の範囲で投稿していけると良いなと思います。 あ。昨日の記事…

本日はお休み

体調優れず。 プライベートも忙しく。 おしごと以外は極力睡眠に充てたい今日このごろ。 なので投稿お休みします。 という投稿。 なんか連続投稿が途切れると、途端に書かなくなってしまいそうなので。 ストックを清書する気力もない( ゚∀゚)アハハ

SymfonyアプリケーションからElasticMQに接続する

前回の続き。 www.tomcky.net 設定を書き換える app/config/config.yml の設定はダミーで良いので書き換えておく。 aws: version: 'latest' region: 'region-dummy' credentials: key: 'key-dummy' secret: 'secret-dummy' QueueUrlを書き換える 前回 aws-cl…

Amazon SQS互換のインターフェースを提供するElasticMQを使ってみる(とりあえずAWS CLIで接続確認するまで)

Amazon SQSを使うときに悩むのがローカルでの開発環境をどうするか。 ElasticMQはAmazon SQSと同様のインターフェースを提供してくれる、スタンドアロンなメッセージキューイングシステム。 github.com これを使ってローカルに閉じた環境でAmazon SQSの利用…

SymfonyでAmazon SQSを使う(新規プロジェクト作成からメッセージ送信まで)

Symfony 3.3系プロジェクトを作成 $ composer create-project symfony/framework-standard-edition my_project "3.3.*" AWS SDKインストール $ cd my_project/ $ composer req aws/aws-sdk-php aws/aws-sdk-php-symfony app/AppKernel.php に追記

【Vue.js】子コンポーネントから親コンポーネントのメソッドを叩く

以前、親コンポーネントから子コンポーネントのメソッドを叩く方法を書いた。 www.tomcky.net で、つい最近、「あれ、逆に子コンポーネントから親コンポーネントのメソッドを叩くにはどうしたらいいんだっけ?」ってなったんだけど、よくよく思い出すと、こ…

【Symfony】Requestオブジェクトからリクエストパラメータを取得する

Requestオブジェクトに触れる機会は多く、様々な情報を取得することができる。 ここではリクエストパラメータに関する扱いをまとめる。 (導入)Requestオブジェクトを扱う Symfonyのコントローラではアクションの引数とすることで、簡単に Request オブジェ…

コスパ抜群なドンキの4Kテレビ(第3弾)を買ったのでレビュー書いておく

2018/5/30追記 2018/5/30現在、すでに第4弾が出ていて、こちらはHDR対応・新たに55V型と60V型が追加されていてかなり良さそう。 絶対買いだろコレ。。くそー、もう少し待っておけば良かった!!笑 ドン・キホーテの50V型4K液晶テレビ。 本体価格54,800円で、…

br要素を使わずにCSSだけで改行する方法

CSS

::befor や ::after といった疑似要素の content に \a を入れることで改行できる。 コード例 .foo::after { content: '\a'; white-space: pre; } サンプル codepen.io 解説 content: '\a' について \a というのは改行を表している。 改行(厳密に言うとLF)…

【Symfony】動的にバリデーションを追加する方法

addEventListener を使うことで動的にバリデーションを追加することができる。 createFormBuilder や createForm にエンティティを渡していない、もしくはエンティティにないプロパティに対してバリデーションをかけたい場合や、特定の条件を満たす場合にの…

ExpressアプリケーションをHerokuにデプロイする

前回からの続き。 www.tomcky.net Herokuで動かすにあたって、 index.js のポート指定箇所を修正する。 const express = require('express') const basicAuth = require('basic-auth-connect'); const app = express() app.use(basicAuth('username', 'passw…

Expressで構築したWebアプリケーションでBasic認証する

前回作ったやつにBasic認証をかける。 tomcky.hatenadiary.jp basic-auth-connect をインストールする。 $ npm install basic-auth-connect --save index.js を以下のように修正する。 const express = require('express') const basicAuth = require('basic…

Node.jsのフレームワークExpressで「Hello world」

プロジェクト用のディレクトリ作成。 $ mkdir my-app $ cd my-app npm init で package.json を生成。 $ npm init expressのインストール。 $ npm install express --save index.js の作成。 const express = require('express') const app = express() app.…

【Ethereum】Go Ethereumのインストール

Gethをインストールする · Ethereum入門 Ethereumはブロックチェーンをベースに、特別な管理者のいないP2Pシステム上で、様々な分散アプリケーション(Dapp : Decentralized Application)を開発するための基盤を提供するプラットフォーム。 そのEthereum上…

【Vue.js】親コンポーネントから子コンポーネントのメソッドを叩く

ref を使って子コンポーネントに対して参照IDを割り当てる。 jp.vuejs.org <template> <div id="app"> <FooComponent ref="foo"/> </div> </template> <script> // ... methods: { // 子コンポーネントであるFooComponentのメソッドfugaを叩く this.$refs.foo.fuga(); } </script>

【JavaScript】jQueryを使わずに属性操作系の処理を書く

HTML <div id="main" class="foo"> <a href="#piyo" class="piyo">PIYO</a> <input type="text" name="name" size="40" class="hoge"> </div> JavaScript // 指定要素について特定の名前の属性値を取得 document.querySelector('#main').getAttribute('class'); // foo document.querySelector('.piyo').getAttribute('href'); // #piyo // 属性追加…

【JavaScript】jQueryを使わずにclass属性を操作する処理を書く

例えば、 <div id="main" class="foo bar"> </div> こんな感じのHTMLに対して処理を書くとき。 // クラスを追加 document.getElementById('main').classList.add('piyo'); // document.querySelector('.foo').classList.add('piyo'); でも同じ処理になる // 以下同様 // クラスを削除 document.get…