それマグで!

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

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

MacやLinuxでExcel用にUTF-8のCSVを作るための BOM

CSV なんてひさびさに使うわ ExcelでCSVを開くために、日本語を化けさせない方法は3つあって cp932(sjis)で保存する UTF-8で保存してBOMを付ける。 UTF-16で保存する。 さすがに、cp932 はないし、とっとと退場していただきたい。utf16は後で面倒なのでパス…

Laravel artisan serve で storageの画像が配信されない問題とか.user.iniでxdebugを有効にできない問題。

Laravelに移行中。 ローカル開発環境でデバッグしてると、Storageにツッコんだファイルが見れないので困ってた。 しょせん、PHPなので期待してはいけない。 よくある解決策 artisan storage:link これで、ストレージがリンクされるから見れるはずだよ。って…

raspi(ARM) と intel でbashスクリプトを共通化する

linux で使ってるシェルスクリプトを汎用化したい Raspberry Pi3 と Intel Core i7 で使ってるシェルスクリプトを使いまわそうとすると、たまにエラーになる。 判別できないので、「判別式」が必要 uname -m を使う解決策 intel CPU のとき takuya@:~$ uname…

python でSMTPの接続をチェック

メールというのは、老頭児なインフラのくせに、以外に今でも使われていてて困る。 SMTPでつながらないのでテスト。 で、SMTPでメールが送れないので接続テストしようと思った。 python で python は smtplib を使えばかんたんに認証できる。 from smtplib im…

php7で拡張機能のAPIが変わって動かなくなってる pamをなんとかした

php

php 7 で pamモジュールが動かなかった。 install してもPHPのPAMが動かなかったんですね。 PHPのC言語APIが変わってた コンパイルエラーなので、調べていくと型宣言辺で落ちてた。 調べていくと、拡張機能のAPIが更新されてたことがわかったなど この方法で…

htop の更新頻度(インターバル)を指定する

htop コマンドで更新の時間を指定する。 htop -d X X には in tenths of second つまり 10分のX秒で更新される 何もしないとデフォルトは2秒(X=20)だった 1秒おきに更新させるには htop -d 10 0.5 秒間隔の更新は htop -d 5 こんな感じ。 わかりにくいよね…

WEBユーザのログイン認証をssh経由でやる、割と強引な方法

認証面倒くさい。 LDAPで連携くんだり、PAMで認証したり、OAuthしたり、ユーザ認証をする方法は山ほどある。 でも、それぞれ一長一短があってそれらを解決するいい方法がほしいと思っていた。 WEBのユーザのログイン認証をSSHでやる ひょんなことから、sshpa…

gitignroeの除外まとめ2〜指定ディレクトリのみ有効化 - 除外の無視で特定フォルダを管理下に

git

指定したフォルダだけをgit対象にしたいことありませんか? 10個あるファイルのうち1ファイルだけをgit対象にし、残り9ファイルを無視したい。 私であれば ln -s でシンボリックリンクを使うのですが、世の中にはシンボリックリンクを使えない不幸な人達…

SSHのパスワード認証をシェル経由で手軽に行えるコマンド

ssh のパスワード認証を使いたい。 ssh で鍵登録は場合によって面倒くさい。 パスワードは弱いってのはわかる。でもシェルを実行するユーザごとに鍵をつかったり鍵管理は煩雑になる。 sshpass コマンド ssh の認証をパスワードで、シェルコマンドでおこなえ…

nginx で特定の拡張子をphpで処理する(SetHandler代替)

特定の拡張子をphpなどで処理する css や js だけじゃなく 画像などをphpで処理したい。Apacheだと addhandler / sethandler で出来るアレ。nginx でもやろうかなと。 画像のリクエストログやリサイズをWebサーバーでやってるとかったるいので、phpで処理し…

php-fpm で php.iniの設定渡す/display_errorsなどをPHP_VALUEで設定する。

PHP_FLAGを使いたい。 apache の mod_php や apacheの fcgiなら簡単にできるんだけど、nginxだとfcgiでどうやって 初期設定を渡したら良いんだろうか。 こうすれば出来る。 fastcgi_param PHP_FLAG "display_errors=on \n display_startup_errors=on"; fastc…

phpで別アプリへのセッション受け渡し

php

php から別のアプリへセッションを受け渡したい 認証済みのセッションキーを、別のアプリへ受け渡ししたい。今回は mp4 と vlc でテストした。 渡す時

ls コマンドで結果を1行ごと1列にならべてループを楽にしたい

ls の結果からディレクトリ名を除きたい。 ls すると結果がズラッと並んでしまって、後処理をしにくい takuya@Desktop$ ls / '[' cat cp date df echo expr kill launchctl ln mkdir pax pwd rm sh stty tcsh unlink zsh bash chmod csh dd domainname ed ho…

NginxでContent-Typeを指定する。

nginx で Content-Typeを指定する。 すぐに皆が思いつきそうな設定例はこれ。わりと何処にでも書いてある。だけど、、、本当にコレがベターなの? location ~ \.mkv$ { default_type video/mp4; } types がある。 マニュアル読んでると types がった。 types…

find コマンドでgit フォルダを無視したい(ただし.gitフォルダは表示したい

find コマンドで gitがズラッと並ぶの不便 ああ、、、、要らないよこんなの。。。 takuya@pages$ find takuya@pages-sample$ $(which find ) -type f ./.git/COMMIT_EDITMSG ./.git/config ./.git/description ./.git/FETCH_HEAD ./.git/HEAD ./.git/index .…

vimでphp.iniの設定ファイルを開くときのハイライトさせるファイルタイプ設定

php

vim で iniファイルのハイライト ini ファイルは dosini という名前でデフォルト登録されている。 :set ft=dosini モードラインを書いておく。 ファイルの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を整形したり、フォーマットを整えて閲覧しようとして、ついついプラグインを探していてなぜかソレを使っていたんだけど、落ち着いて考えたら、コードフォーマッターに掛ければいいんだと気付いた。 そう…