それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

2018-02-01から1ヶ月間の記事一覧

ln -s で相対シンボリック作成のやりかたと解説。

ln -s で失敗した経験ありますよね? /var/www/log/index.php から /var/www/html/index.php へリンクする場合。こういうときに、相対パスをぱぱっと作れたら嬉しいでしょ? でも、ぱぱっと作れなかったり、相対パスを作ったつもりがリンク切れてたり。。そ…

Systemd 時代のresolv.conf

/etc/resolv.confがない。 驚いた、Resove.conf がなくなってるんですよ systemd 管理下に置かれた /etc/systemd/resolved.conf 代わりに、次のファイルがが出来た 昔からある resolv.conf は systemd が管理してしまう。 もしかしてリンク? takuya@ubuntu0…

ruby のDateTimeを30分(1800)すすめる

ruby のDateTimeの時刻をすすめる datetime + 1800/(24*60*60).to_f ただ時間をすすめるだけだと、単純にInt秒数を足すことが最短経路だった。 いちいち AcrtiveSupport 的なものに頼るのも面倒な話だ。だけどもう少し楽にならないのかな。 ad プログラミン…

MouseEvent Path が便利

とりあえずマウスイベントをデバッグしたり調べたいとき document.body.addEventListener('click',function(e){ debugger ; }) e.path クリックした要素から、body での各パスが入ってる。 バブリングを順番に辿れるので便利。 path を見れば途中の経路にな…

複数Gmailを手軽に管理する方法。スマホ設定も通知も迷惑メール対策がぐっと楽になるテクニック

Gmailのアカウントが増えすぎて困る Gmailのアカウントが増えすぎ。 常時に大量にメールチェックするのがもう無理。っていうかメールは通知以外で殆ど使わないと思うんだ。 そうだフォワードしよう メールは転送してフォワードしてしまえば良いのではないか…

bashの補完のcompgenでハイフン(ダッシュ/-)の引数を補完する

問題点 -list から -listDevice のようなcompletion が出来なくて、invalid option なっちゃう。 $ networksetup -list<TAB> compgen 無効な引数です キーワードの補完ができない。 ハイフンを付けた引数を補完するときは compgen にハイフンをハイフン( -- )で渡</tab>…

mysqldumpがなんかメッセージ吐くので、アップグレード

mysql の自動バックアップがWarnings なんかエラー吐くので、しらべたら、MySQL → MariaDB でしかもバージョンアップが終わってるのにテーブルが古いってことらしい mysqldump: Couldn't execute 'show events': Cannot proceed because system tables used …

今使ってるのMariaDBなのかMySQL(GPL)なのか、バージョンアップする前に調べたい。

apt で入れるのか、なにで入れてるのかわからなくなる。 docker のイメージだとか、mysql を含んだdeb とかあるから、ちゃんと確認した方がいいよね。 mysql takuya@localhost:(none)> select VERSION(); +--------------------------+ | VERSION() | |-----…

bashでファイルを空にする。コマンド3種類

ファイルを空にしたい フォルダやファイルの構造をそのままに、ファイルの中身を空っぽにしたい。 ファイルを消してtouch すれば良いんだろうけど、パーミッション設定しなおしたり面倒くさいよね。ファイルのinodeも変わってしまうので tail してたら tail …

bashでファイルパスの相対パスを得る(絶対パスの取得やパスの正規化も)/realpath利用

realpath で解決 bashスクリプトで2つのファイルパス間の相対パスを取ろうとすると、計算が大変です。 LinuxもMacもrealpath は入ってないので、 apt/brew でいれる必要があります。 realpath のインストール macOS の場合はhomebrew で GNU Linux coreutils…

curl で api に画像をアップロードするのに、base64をする。

application/json でファイルを送信する curl でファイルアップロードをしようとしたら、Content-Typeを text/json で、本文にJSONで画像を入れろって言われたの。 echo {\"image\": \"$( base64 -w0 path_to_file )\" } | \ curl -X POST -H "Content-Type:…

pyenv でインストールされたpipを含めてupgradeする方法

pyenv の python をバージョンアップしたい pyenv でインストールしたpython をバージョンアップして、pipをmigrate したい・ pyenv はバージョン毎にpip環境が作られるから、pyenv でglobal をアップグレードすると、使ってたpipのパッケージが移動されずに…

python の datetime をUNIX timestamp にする方法

python で int 秒をとる UNIX Epoch な時間が欲しいなーって思ったときにどうするか int秒のタイムスタンプがあったら嬉しいわけですよね。 #!/usr/bin/env python import datetime import time import pprint pp = pprint.pprint a = datetime.datetime.str…

IntelliJ IDEA(系)でJSONを美しくする

JSONが1行で記載されてて、めんどくさかった。 JSONを整形したり、フォーマットを整えて閲覧しようとして、ついついプラグインを探していてなぜかソレを使っていたんだけど、落ち着いて考えたら、コードフォーマッターに掛ければいいんだと気付いた。 そう…

gitで追加したけど要らないファイルを消す(clean Untracked files)

git

git で作業してて困るのが「追加」ファイルの取扱い git checkout でファイルの変更を取り消したり、ファイルの編集をなかったコトにすることは出来る だが、あれこれ試してやっぱり使わなかったファイルを消すことはcheckout ではきない。 touch aaaaaaaaaa…

umask の初期設定を全部のユーザーに適用する

umask を全部のユーザーに強制する umask と グループのsticky ビットを使って、ユーザー間でファイルを共有してファイルのパーミッションをグループで編集できるようにしておくと便利。 /etc/profile このファイルは必ず読み込まれるので、ここの最上位で設…

gitコマンドでbranch表示するとlessされるので 常にno-pagerしたい

git

git のpager 設定したらbranchまでpager 表示される それは望んでないんだわ。 特定のサブコマンドだけページャーしたい git のサブコマンドでも git diff はページャーしたいけど、 git branch はページャーしたくない。 ページャー設定してしまうと すべて…

nginx + php-fpm で display_startup_erros=on にしてシンタックスエラーを表示する。

nginx と php の連携をしてphp のシンタックスエラーを表示する php-fpm 側の設定をしてしまうと、サイトごとやファイルごとに設定できないので、困ってた。 location ~ \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; include snippets/fastcgi-php…

npm でインストール済み一覧を整理しアンインストール。

npm

インストール済み一覧を表示する。 インストールの結果を表示するには depth takuya@~$ npm list -g --depth=0 /usr/local/lib ├── hubot@2.19.0 ├── jshint@2.9.5 ├── jslint@0.11.0 ├── less@2.7.2 ├── npm@5.6.0 ├── uglify@0.1.5 ├── uglify-js@3.1.3 ├─…

git log --graph でマージ状況がよくわかる。

git

git のコミット履歴を線にして表示してくれる。 git log --pretty=format:'%h %s' --graph 出力結果はコレ このような形で、ブランチの履歴がよくわかる。。 * 9504829 say hello world * daa290b さぎょうちゅうー * 7a385a4 ハローワールド * 2bf15e1 サン…

gitで作業中の内容をブランチ(リモート)として扱う。

git

作業内容をぱぱっとブランチにまとめる。 最初から目的別のブランチ切って作業できるほど人は賢くない。 アレコレ触ってるうちに、ライブラリに欠陥を見つけたり、作業目的とは違うファイルもついでに編集したりとか。 そういう、細々としたコミットをコミッ…

git でローカルにブランチを作ってリモート(origin) にブランチをpush するまでの手順

git

ブランチをちょっとだけ使いこなす。 リモートに存在しないブランチを手元で作ってプッシュするまでの流れ。 レポジトリを持ってくる。 takuya@Desktop$ git clone git@example.com.:takuya/sample.git takuya@Desktop$ cd sample/ 現在のブランチを確認する…

シェルのalias されたコマンドの展開する - alias-expand-line

シェルのコマンドを展開したい。 composite 使おうとしたら、候補多すぎて面倒くさい。補完が補完にならないよね takuya@~$ com<tab> comm command compare compgen complete compopt composer composite compress comsat 最初の3文字くらいで、展開されてほしい</tab>…

dockerのexpose のポートをlocalhostに限定する。

docker のポートのIPアドレスを限定したい。 expose したポートを、bind するときに、よく見る例がコレ docker run -p 80:80 ... コレだと、0.0.0.0:80 にマッピングされる。グローバルアドレスにマッピングしてしまうのですよね。ちょっと先行き不安。 ロー…