それマグで!

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

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

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

phpで改行が反映されない件(終了タグと改行コードの関係)

php

php で改行コードが反映されないことがあります。 LFでもCRLFでも関係なく、文字コードも関係ありません。php では終了タグで「改行」すると、出力には改行が反映されません。 著者: 書題: 実行結果 $ php sample.php 著者:コーチングのプロが教える 「ほめ…

mac で sendmail コマンドを動かす。

sendmail で gmail のSMTPを使う。 mac には 最初から postfix が入っているので、 postfix を使うのが手っ取り早い postfix を使ってSMTPリレーをし、GmailのSMTPサーバーに接続する。 sasl password ファイルを用意する takuya@mail$ sudo -e /etc/postfix…

lscpu コマンドが便利。 cat /proc/cpuinfo がメニーコアだと使いにくい

CPU マルチコア・マルチスレッド化 して情報を見にくい。 cat /proc/cpuinfo の出力が多すぎて見にくい。 表示は4コア2スレッドの合計8スレッドのCPUなんだけど、この数がどんどん増えていくんですよね。Ryzenとか買った日には、最大64個とかになるんで…

Intel のAESサポートが有効になっているか調べる

intel のAES処理が有効になっているか調べる カーネルの暗号化モジュールから、一覧を拾ってきて aesni が入ってれば大丈夫っぽい takuya@:~$ sort -u /proc/crypto | grep module 66:module : aes_x86_64 67:module : aesni_intel 68:module : crc32_pclmul…

CPUのAES暗号化速度をCPU組込のaesサポートのありなしで測定する。

Intel CPU に搭載されたAESサポートがどれくらい強烈か比較してみたかった。 x86 の intel CPU にはAESのサポート ( AES-NI )が組み込まれていて 処理速度が速いということは、知られた事実だと思う。 暗号化アクセラレータとして動作しているのですが、どれ…

Google Chrome に保存されたパスワードを全消去しパソコンから削除する方法

Google Chrome に保存されたパスワードの削除方法 Google Chromeに保存されたパスワードを削除し、パスワードが自動入力されるのを防止したり、パソコンに保存されたパスワードが読み取られないようにする。 履歴から消すと早いです。 一つずつ削除してもい…

mac で ⌘コマンドやオプション⌥を入力する方法。

Macのキーボードに印字された記号を入力する コマンド⌘やオプション⌥など、Macのキーボードにはには記号がいっぱいある。 これを入力する方法を紹介します。 方法1:変換する 変換するのが手っ取り早い 入力したいときは、変換するのが手っ取り早いです。 …

JSでHTTP GET クエリ文字列を JS オブジェクトから作成する-

js で http query をオブジェクトからビルドする JavascriptのオブジェクトをURLのGET引数に変換したいときには、npm 探しますか? ライブラリ探しますか? URLSearchParams ができています。 GETパラメタを扱うときは、これがあれば、だいたい解決する http…

Hello Worldを 2進数の0/1 にバイナリに変換してランダムパッド(使い捨て暗号

バイナリ変換してXORして遊びたい 暗号技術入門を呼んでいると、XORがバンバン出てくるので、ちょっとやってみようと思い立った 暗号技術入門 第3版作者:結城 浩出版社/メーカー: SBクリエイティブ発売日: 2015/08/26メディア: 単行本 ruby で計算するのが早…

安いLG Ultra HD モニタ(4k対応) はMacのRetinaモードに非対応(部分対応)だった件

mac

4k ディスプレイのすべてがRetinaモードに対応してるわけではない。 4kディスプレイを幾つか試していて気づいたんですが、LGのディスプレイの一部モデルは、Retina解像度で縦横の長さを任意に変更できない模様。 LG Ultra HD のもの Macのディスプレイ設定…

macOSでwinRAR の rar ファイルを「作成」する

macOS でも winRAR のファイルアーカイブを作成したい。 zip / tar.gz でいいだろと思われるんだろうけど、リカバリレコードを付与できるアーカイブ形式ってやっぱりrar しかないよね。 brew の formula 作った winrar からコマンドバイナリを取得してインス…

tcpdump でパケットのサイズが指定以上より大きいものを取り出す。

tcpdumpで パケット長でフィルタを掛けたい 小さいパケットは無視したり、一定以上のサイズのものだけを取り出したい。 tcpdump -i eth0 greater 500 greater の条件を使うことで、パケットの長さを元にフィルタをかけることができる。逆は less 組み合わせ…

tcpdump で UDP のパケットを表示する

tcpdump を使って UDP を指定する tcp は syn ack があってパケットがたくさん出てきますが、 UDP はそうでもない。 tcpdump -i eth0 udp UDP の IPアドレスを指定する tcpdump のコマンドは、フィルタ単体というより、いくつかのフィルタを組み合わせて使う…

Number と parseInt()の挙動の違い / 数字に変換するとひと言でいうが奥深い

js

parseInt と Number の挙動の違い。 parseInt と Number という2つがある。文字列 → 数値の型変換の関数を使おうとしてみんな一度くらいこの違いが気になるんじゃない? 違いをパパッと確認しよう parseInt と Number の差異が如実に顕出するのは、次の例で…

tcpdump コマンドで ping の応答 ( icmp echo reply ) だけに絞り込む

tcpdump で ping の 応答パケットだけを取り出す。 tcpdump をLinuxルーターのなかで実行しているときに、デバッグしてるときにパケットを見ます。 ネットワーク間の forward が正しく動いているか、iptables の設定が正しいかどうか、NATできてるかどうか。…

ssh のポート転送をipv6 / ip6 宛にする

ssh のポートフォワーディングのやり方IPv6アドレス編 ssh のポート転送は便利で手軽に使えるものです。 ipv6 でも同じです。 ssh -L 8080:[2001:a253:838xxxxxx]:80 root@192.168.100.1 sshでもIPv6の指定はcurlなど同じ [v6 addr]:port のように、ブラケ…

tcpdump で icmp (ping)のパケットを表示する

icmp で ping の受信を見たい tcpdump を使って届いてるパケットを見ることが出来る。 ping の応答が返ってこないしとしても、応答パケットのルーティング設定が間違っている可能性もある。 そのため、ping の宛先でパケットがちゃんと届いているかチェック…

initramfs の本体 init.rd を展開して、busybox をみたり、起動設定を見直してみる。

init.rd を展開してみる init.rd は initramfs を起動するためもの。/boot のパーティションに存在している。 update-initramfs で起動する。grub から起動される最小限のlinux。 展開してみる・・・? initrd ファイルはcpio なので 、cpio で展開しようと…

systemd.path で path(パス) を監視する。

systemd でパス監視機能を使う systemd.path を試していきます。 パスの監視というと理解しくいかもしれませんが、フォルダの監視です。フォルダを監視してなんかやります。もちろんファイルも監視できます。 inotify でアプリを書くより手軽です。 はじめに…

ubuntu を4kディスプレイで拡大率125%や150%などの任意解像度をwindowsやMacみたいに選ぶ

4K モニタを使っていると、しんどい。 ubuntu で 4k ディスプレイを使っていると、解像度が細かすぎてしんどい。 windows 10 からは拡大率150% などが選べるが、 ubuntu はデフォルト設定では 200%/100%しか選べなかった。 125%と150% を有効にする。 gsetti…

NetworkManagerがunmanaged(管理なし)になった問題を解決した

network-manager で管理できない。 network-manager で unmanaged になって、ubuntu desktop (gnome) からネットワークが管理できなかった。 依存関係が多くて、問題がわかりにくい。 ubuntu は 1年前から、 netplan が導入されているので、ubuntu server …

NetworkManager でDHCPで取得したDNSの設定を/etc/resolv.confに書き込む

ubuntu デスクトップのネットワーク設定は NetworkManagerから Ubuntu のネットワーク周りはカオス。というか、最近のLinuxのネットワーク周りはディストリ間でsystemdによる共通化を受容している段階なのでややこしい。 Ubuntuのデスクトップ版は主にNetwor…

gitでリモートブランチをローカルブランチにチェックアウトする。(githubプルリクを手元にコピー

リモートにあるブランチをローカルに持って来たい たとえば、github のプルリクなど、リモートのgit branch から自分の手元に、同じものを取り出したいときがあります。 git のリモートブランチを確認します。 git branch -a | \grep remote たとえば、次の…

systemd の タイマーは enable してもstart をしないと動かない

systemd でタイマーを作ってみたんですよ。タイマーが動かないので悩んでたんです。 systemd でタイマーを作って、enableして見たんだけど。動かないんですよ。 タイマーを作る手順 service 作って timer 作って service を起動する start してチェック enab…

laravel のmodel を 外部から使う

php

laravel の Eloquent のモデルを別のプロジェクトからぱぱっと使う。 Consoleとかあるし、API作れば実現はできる。でも既存のものと組み合わせるときは、DBを直接書き換えたほうが早い時がある。 本当はプロジェクトの外部から直接触るのは良くないと思うし…

シェルスクリプトで実行中の関数名を関数内部から知る(自分自身の関数名)

自分自身の関数の名前を知りたい。 関数名は、関数名を表す変数に入っている(BASHで確認) echo ${FUNCNAME[0]} これを使うと、自分自身の関数名を実行中に参照できる。 takuya@Desktop$ function sample() { echo ${FUNCNAME[0]} ; }; sample sample 便利…

nginx でSSHをプロキシして転送する 443 の再利用も可能

nginx でSSHの接続を転送することが出来ます。 nginx には ストリームをそのまま転送することが出来る機能があるので、TCP・IPのポートフォワードができて、ルーター的な動作が出来ます。 nginx.conf stream { upstream ssh { server 192.168.2.8:22; } serv…

lvm 関連のコマンドをsudo で使えるように sudoers を編集する

lvm 関連のコマンドは root のみ lvm コマンドを実行したいと思っても、root に制限されているので、使えないことがあり困ったので、一般ユーザーに開放することにした。 sudoers に許可したいコマンドのフルパスを列挙すればいい。 Cmnd_Alias LVM = /sbin/…

暗号化ディスクのcrypt-unlock をSSH経由でして、ロック解除する

ディスクの暗号化をする CPUにAES-NI の命令セットが載っているのに、ディスクを暗号化しないなんて、勿体無いとちょっと思ってるんです。 iPad / iPhone の iOS はもちろんのこと、Androidですらディスクは暗号化されているというのに、PCを使う我々は暗号…

lvmでディスクを追加拡張するときに詰まった

pvcreate でディスクを追加しようとしたらエラーになった。 pvcreate /dev/sdb ignoring or filtering なぜかエラーにメッセージが ignoring or filtering でディスクが追加できない 今回取った対策。 fdisk で適当なGPT/MBRのパーティションにして、その後 …