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

GraphQLBundleを使って初めてのGraphQLサーバーを実装してみる

Symfony Advent Calendar 2018 16日目の記事です。 GraphQLはFacebookが開発しているAPIへの問い合わせで使われるクエリ言語です。 ここでは GraphQLBundle を利用して簡単なGraphQLサーバーを実装する方法について書きます。 そもそもGraphQLって何?という…

Rustでcatコマンドを書く

catと言っても簡易的なもので、与えられた引数のファイルの中身を表示するだけで、オプションとかそんなものはありません。 Rustの勉強用に書いてみました。 というわけで早速コード。 use std::env; use std::fs::File; use std::io::{BufReader, BufRead};…

【めも】Browsersyncでサーバーを起動するまで

browsersync.io プロジェクト用ディレクトリで作業する。 $ npm init # 全てEnterでOK $ npm install -D browser-sync package.json の修正。 { ... "scripts": { ... "start": "browser-sync start --server --files='./*.html, ./*.css'" } } 以下のコマン…

MacのターミナルからFinder開いたりアプリケーション起動したり

Mac

open コマンド使いましょ。 $ open . これでカレントディレクトリをFinderで開ける。 ちなみに、URLを指定すればブラウザでページを開けるし、 $ open https://www.tomcky.net -a オプション使ってアプリケーション起動しつつ、ファイル指定するとそのファイ…

今更ながら "Index column size too large. The maximum column size is 767 bytes." に遭遇した

Symfony、というかDoctrineでmigrateしたら、うっかり以下のようなエラーに遭遇。 Index column size too large. The maximum column size is 767 bytes. utf8mb4だと、varchar(255)とかインデックス張ると767バイト超えてしまって失敗してしまうっていうや…

【PHP】nullと文字列結合演算子

PHP

ふと、こんな感じの記述を見つけて、これNGじゃないのかー、ってなった。

【CSS】Sticky Footer(スティッキーフッター)の実装

CSS

常にページ最下部に固定するようなフッターを実現したい。 このとき、ページ内の要素が画面の高さを越えるときは、フッターは画面外となり、スクロールしなければ表示されないようにしたい。 このようなフッターは「Sticky Footer(スティッキーフッター)」…

【PHP】ある文字列から指定した文字までの部分文字列を取得する

PHP

Amazon SQSを使って得た知見をまとめておく

AWS

Amazon SQS(Simple Query Service)を使う機会があったので、その過程で得た知見をざっとまとめておく。 キューURL キューを作成するとURLが発行される。 SQSのAPIを使用するときは、このURLをエンドポイントとして、操作対象のキューを指定できる。 なお、…

ドンキ4Kを少しでも活かしたかったのでAmazon Fire TV 4K/HDRを買ったよ

3月に買ったドンキ4Kテレビ。 www.tomcky.net せっかくの4Kテレビを少しでも活かしたい。 ということで、Amazon Fire TV 4K/HDR(以下「Fire TV」)を購入。 結論から言うと大満足で買ってよかったと思えるデバイスだった。 Fire TVでできること テレビに接…

【Docker】docker cpでホスト-コンテナ間でファイルをコピーする

コンテナのログをホストに持ってきて中身を見たい。 そんなときは docker cp でホスト-コンテナ間でファイルのコピーができる。 docker cp | Docker Documentation コンテナからホストへのコピー。 $ docker cp [container-id]:/path/to/file.log ./file.log…

homebrew-phpがdeprecatedになったのでphp71-*がインストールできない

PHP

おしごとでやってるPHPのプロジェクトでいつも通りの作業をこなしていたら、突然 pcntl がないぞ的なエラーが。 えー、この前の brew update とか brew upgrade とかが原因かー?と思いながら、 brew install php71-pcntl と見つからないと言われる。 ちょっ…

よく使う git diff メモ

Git

基本 git diff とだけやると、ステージ前の変更と最新のコミットとの差分が確認できる。 $ git diff 変更のあるファイル名だけを表示する --name-only を付けると、変更内容は表示せず、変更のあるファイル名だけを表示できる。 $ git diff --name-only 特定…

リーディンガソンに参加したので「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の利用…