array_column便利

PHP

多次元配列から一部の要素だけ抜き出したいという時にどうすればいいのか? ループで取り出すというのが古い言語的な発想だけど、俺たちのPHPならそういう便利道具が元々あるのでは?と調べてみたらあった。 $hoge = [ ['id' => 1, 'name' => 'stratocaster'…

IntelliJ系IDEでJavaScriptのコーディングスタイルを変更する

例えば自分の場合はPhpStormをメインで使っているのだけど、その場合はデフォルトだとJavaScriptもPHP的なコーディングスタイルになってしまう。 そういう場合にJavaScriptのコーディングスタイルを変更したい場合の設定。 Preferences -> Editor -> Code St…

apacheのログが標準出力になっているDockerイメージがあった

環境構築で外部のイメージを使ったところ、apacheのログが標準出力になっていた。 こういう場合、docker-composeコマンドでコンテナ内に入らなくてもログが確認出来る。 例えばwebという名前のコンテナにしていた場合は以下のような感じで確認できる。 docke…

Macで特定のポートを使用しているプロセスを確認

Mac

ローカルでの開発用の80番ポートが開かれていたので確認した。 lsof -i:80 これをすると情報が出てくる。PIDも出力されるので、そのPIDをkillすればよし。 今回は前回こけてたdockerが使っていた。

MacのFinderで隠しファイル(ドットから始まるやつとか)を表示

Mac

defaults write com.apple.finder AppleShowAllFiles TRUE これをターミナルで打つことで対応できるみたい。 正直、これくらいGUIでサクッと設定させてくれると嬉しいんだけど。。。

AWSコマンドでEC2インスタンス一覧を作成

AWS

--queryで欲しい情報を指定する。今回はインスタンスID、インスタンスタイプ、名前が付いていたら名前を取得。 --outputで出力したい形式を指定する。デフォルトはJSON。textかtableが人間には読みやすい。 aws ec2 describe-instances --query "Reservation…

AWS EC2のインスタンスからアクティブモードしか受け付けていないFTPサーバーと通信する。

今時FTPなんて使うのかって話ありますが、まだあるようです。 という訳でこの時の問題がEC2インスタンスというのは直接グローバルIPが割り当てられている訳ではないこと。 FTPの通信をtcpdumpでキャプチャしてみたところ、相手に自分のポートを伝えるPORTコ…

truffleでデプロイ先のネットワークを指定

truffle migrate --network <ネットワーク名> という感じ。 例えば truffle migrate --network hoge ただしこのネットワークは事前にコンフィグで設定しないといけない。

rbenvでglobalが効かなかった場合(fish使用)

~/.config/fish/config.fish に以下を追加することでちゃんと動く。 eval (rbenv init -|source) 細かくは以下のページとfishに関しての理解を深めた方が良さそう zariganitosh.hatenablog.jp

docker-compose up -d したらno basic auth credentialsと出てイメージをpullできなくなった

AWS ECRにイメージをpushしておいて、それを使う時。 久しぶりに使おうと思って docker-compose up -d したらタイトルのような現象 もちろん eval (aws ecr get-login --no-include-email --region ap-northeast-1) は実行しているのだけど(fishなので eval)…

ただの今日のメモ

Ganache ローカルで動作するEthereumプライベートブロックチェーン。 公式サイトからインストーラーがダウンロード出来る Truffle なんかEthereum開発で便利なフレームワーク 初期化(必要なファイルとか作ってくれる) truffle init コンパイル truffle compi…

ターミナルでセッションマネージャーを使ってインスタンスに接続する

AWS

セッションマネージャー、sshの鍵など考えなくていいので楽ですね。 ターミナルから使うことで使い勝手も良くなるのでかなり好み。 aws ssm start-session --target <インスタンスID> これで普段使っているiTerm2などから接続出来ます。 プロファイル指定も…

PHPで開発する時の開発環境作成に良さそう?

PHP

phpdocker.io PHPDocker.ioなるジェネレーター docker-compose.ymlとそれに必要なDockerfileとかを作ってくれる。 Webブラウザからポチポチと入れてGenerateするとzipが落ちてくる。 まだファイル生成しただけなので、実際に生成されたもので試してみる。

yumであれがインストールしたい

killall yum install psmisc ip系コマンド yum install iproute ping yum install iputils

PHPのビルトインサーバーでリモートからのアクセスを受ける

そういえば今までPHPのビルトインサーバーを使ったことなかった… フレームワークの調査の為にまずはビルトインサーバーで確認したいと思って、EC2上でチュートリアルそのままコピペしても自分のマシンから繋がらず。 起動する時のIPの指定の仕方が127.0.0.1…

SSH秘密鍵から公開鍵を生成

こんな感じでできる。 ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub なぜ必要になったかというと、PHPでSFTPで鍵認証の時には鍵ファイルが両方必要だから。

AWSで複数アカウント使う状況でaws-cliを使う時

AWS

profileを設定することによって複数アカウントを使い分けられます。 複数アカウント最初から使うならデフォルト設定は無しでprofile必須の方が良さそう。 aws configure --profile hoge これでhogeというプロファイルの設定が出来る コマンドを使う時は --pr…

Ethereum入門のSolidityのコードをver. 0.5.7でコンパイルする

book.ethereum-jp.net 入門としてよくまとまってるこれ、SolidityのコードがMacに普通にインストールしたコンパイラで動かなかったのでメモ 最初にコンパイルしようとしたところ Error: Source file requires different compiler version (current compiler …

CSVを使う時はVSCodeにRainbow CSVを入れるのが楽

Excelさんは文字コードとかでいまいち使いにくいので、テキストエディタでやってみようと思いました。 そこで普段よく使っているVSCodeにRainbow CSVという拡張機能を入れたら楽になりました。 データの抽出とかにはSQLライクなRBQLというものが使えるのがい…

カレントディレクトリ以下で指定した日時より更新日時が新しいファイルのフルパス一覧を取得

拡張子がtxtで2019年3月1日以降のファイルのフルパス一覧が取得したい場合 find `pwd` -type f -name "*.txt" -newermt "2019-03-01"

curlで自分のグローバルIPを取得

自分がアクセスしに行く時のグローバルIPを知りたい時 curl httpbin.org/ip でグローバルIPが分かる。

Linuxで自作のプログラムなどをデーモン化して/var/logにログ出力する

デーモン化 使いたいスクリプトなどを準備する。 次に /etc/systemd/system/ にファイルを作成。 ファイル名は hoge.survice とする。 [Unit] Description = hoge daemon After = local-fs.target network-online.target ConditionPathExists = /usr/local/b…

ブロックチェーンアプリケーション開発の教科書を読んでいて少し戸惑ったところ 1

ブロックチェーンアプリケーション開発の教科書作者: 加嵜長門,篠原航,丸山弘詩出版社/メーカー: マイナビ出版発売日: 2018/02/01メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 最初の取っ掛かりとして分かりやすい本ぽいが、Ethereum…

ImageMagickでOrientationを操作して画像の向きを自分の望み通りにする

自分の思ったような向きにならないことがあったのでメモ。 まずはImageMagickを使って -strip でExif削除するケースの場合。 削除後に見ると表示して欲しい方向とは違う感じで表示されてしまった。 $ $ identify -verbose hoge.jpg | grep Orientation Orien…

PHPでSFTPを使う

PHP

個人的にあまりやりたくないですが、こういうファイルサーバーにアクセスして何かするみたいなのが必要な時もあるということで。 まずSFTPはSSHが必要です。 https://ja.wikipedia.org/wiki/SSH_File_Transfer_Protocol PHPの場合、拡張モジュールが必要なの…

fishでbashの$(command)をやる

最近になってfishを使い始めた。 そんな中aws-cliとか使っていてAWSに言われたまま動かなかったコマンドがこちら $(aws ecr get-login --no-include-email --region ap-northeast-1) bashやzshではこれという事で、何も考えずにコピペしたのだが動かず。 fis…

Gmailのサーバーを使ってメールを送る為にSMTP Relayで設定したが送れない時

具体的に言うと、/var/log/maillog に以下のような警告とエラーが出てる時 warning: SASL authentication failure: No worthy mechs found SASL authentication failed; cannot authenticate to server smtp.gmail.com[108.177.125.109]: no mechanism avail…

HerokuでClearDBを使ってMySQLを使っている時、MySQLのデータを見たりする

最近「ちょっとしたものはHerokuが一番楽でお金もかからなくて良くないか?」と思い、Herokuを使っています。 本当に楽なのがいいですね。 で、PHPの時はPostgreSQLが普通らしいのですが、今までMySQLだったのでMySQLを使ってみた。 その後、「はて、バック…

PyCharm(IntelliJ)でMarkdownの時だけ保存時の自動空白削除を無効にする

地味なのだけど、README.mdとか書いていてMarkdownを保存した時に勝手に空白が削除され、改行が反映されない…… というのが面倒だった。 解決策 PluginでEditorConfigが有効にされている状態で、プロジェクトルートに .editorconfig というファイルを作成 そ…

AWS DynamoDBのTTLは意外とアバウトみたい

AWS

TTL = Time To Live pingとかのTTLと同じで、いきている時間。 これを設定したところにUTCで数値を入れると、その時刻になった時に自動的に消える。 なので一時的なデータに最適…なのだが、正確にTTLの設定時刻に消えるものではないみたいだ…… 試してみたと…