それマグで!

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

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

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

WEBフォーム項目の連動項目でのバリデーションの一般的な解決法(laravelでの実装例)

Selectやラジオボタンのチェック項目よって、バリデーションが異なる場合。 根本問題としてそういうフォームを作るなと思うのですが。 直前の選択項目によって次の入力項目のバリデーションが異なることがある。 例 電話番号 固定電話と携帯電話で番号をバリ…

ファイル名の最大長の限界を、ストレージのフォーマットタイプごとに調べる

ファイル名の限界を調べる。 windows の人からもらった zip ファイルが 展開できなくて、ファイル名の長さの問題だったので、限界値(最大のファイル名の長さ)をぱぱぱっと調べた。 ファイルシステムごとに、ファイルの文字長(ファイルの文字サイズ)が違…

laravelの設定(config) のキャッシュと実行環境(テスト環境testing/local ) の関係

laravel の env / config の関係について。 env と configキャッシュで testing のデータベースが使われずにパニクった。 TL;DR .env.testing を使ってる場合、テスト実行する前には、cache:clearする。 laravel の実行環境と設定について 実行環境と設定は…

awk がちゃんと動かない→gnu awk を入れる。

WEBのawk サンプルが動かないときの対応 一般的に使われているawk には色々あります。ネットに書かれている「テクニック」は gnu awk が多いです。 あれれ動かんぞ、とおもったら gawk を入れましょう。 sudo apt install gawk awk のサンプルが動かない例 …

debian に p7z-rar を入れる。

debian に p7z-rar を入れる。 rar ファイルを扱いたいなと思ってんけど。 rar ファイルは zip と違って、日本語が化けないし、使ってもそんなに困るアーカイブ形式じゃない。 $ sudo apt install p7zip-rar Reading package lists... Done Building depende…

7-zipコマンドの一覧オプション ba を使って再利用しやすくる

7z にはドキュメント化されてないオプションがあるんだ・・ 罠でしょ。 7z でアーカイブファイルをパイプで渡しやすい形式にする。 takuya$ 7z l -ba sample.zip 2021-08-23 15:59:54 ..... 2 2 a.txt 7z でアーカイブファイルの中身を見る 通常であれば、 7…

phpに於ける StringIO

php

phpに於ける StringIO php にはStringIOが無いと存じます。無いのではなく、必要がないのです。 stringio を実現する $string_io = new \SplFileObject('php://memory','w+'); これだけです。SplFileObjectが最強です。 もしくは、fopen $fp = fopen('php://…

sudo時の$HOME/$USER の環境変数の継承について

はじめに -E で環境変数を引き継げるのだけれど、WSLでsudo したときに、Windowsアプリにroot を使ってほしくなく、単にファイルを書き換えたいだけという欲求が出てきたので調べた。結論としてはむやみにやるんじゃない。ってことですけどね。 Home環境変数…

rubyのpopenでエラー出力や終了コードを取得する話。

ruby の popen に関して。 ruby からIO.popenでプロセスを呼び出すときに、「〇〇」が取れない。というブログがいっぱい見つかって、そうじゃないだろ。という気分になったなったのでメモを残すことにする。 そして、Qiitaなどの記事を丸コピした「いかがで…

改行を維持して 変数をechoする。

改行を維持して echoする。 改行を保持したまま、変数を出力したい ダブルクォーテーションすることで改行が出る 変数定義 STR=" aaa " 出力例 echo $STR ## 改行が出ない echo "$STR" # 改行がでる 変数をダブルクォーテーションでクォートすると、変数内に…

join コマンドでLEFT OUTER JOIN のNULL 付きで出して、会議ごとの出席者一覧データを作る。

join コマンドでLEFT OUTER JOIN のNULL 付き的なことをやる 会議の出席の記録や、商品の売上のようなデータを横展開して表にしたい時がある。 このようなとき、join コマンドをぱぱっと実行すれば、データのOUTER JOIN的な事ができる。 出席と欠席を join …

IPアドレスが、サブネットに含まれるか判定する( python )

python で ip address がネットワークに含まれるか計算したい このIP 209.85.220.73 この、ネットワーク 209.85.128.0/17 に入るんだっけ。 計算してみる python の netaddr パッケージを用いて計算する pip install netaddr ##または pipenv 経由で pipenv …

journald で今日のログ だけを見たい

今日のログだけを見る 日付を指定して、ログが見れる。 journalctl --since 2021-07-12 もっとかんたんに date コマンドと組み合わせれば、ぱぱっと実行できますね。 journalctl --since $(date -I) journalctl --since $(date -I --date 'yesterday' ) jour…

Ubuntuでmysql(/var/lib/mysql)を初期化して初期パスワード生成

mysql をリセットする apt でインストールしたmysql のデータを全消しして、初期化し直す。 mysql を消したくなるとき。 何らかの作業をしていて、いったんmysql をサクッと削除して作り直したい時がある。 しかし、apt はしたくない。 sudo apt purge mysql…

ssh の .ssh/config 場所を変える。

ssh

ssh の鍵の場所を変える。ために.ssh の場所を変えたい。 ログインを許可していないユーザー (www-data, backup,gitlab-wwwなど)のssh の設定場所にいつも苦労する。 ~/.ssh を変えたいと思った。→できない ssh のデフォルトディレクトリの.ssh は、設定で…

Laravel の通知でカスタムチャネルとカスタム通知を作ってみる

Laravel の通知でカスタムチャネルとカスタム通知を作ってみる 作ったもの 最初に知っておくこと laravel の通知の概要 通知するもの、通知されるもの、通知チャンネル(ドライバ) ユーザーに通知する箇所の概念的構造。 通知を送る例 通知するクラスは自分で…

sshのサーバーのホスト鍵を取得する・調べる。

ssh サーバーのホスト鍵を取得する。 SSHのホストキーを調べる ssh-keyscan -t rsa 192.168.2.1 ホストのキーを取得すれば、circleCIやgitlabCI などCI/CDのSSHの自動化のときホスト鍵を無視する設定をせずに済む。 ホスト鍵をサーバー内の設定から調べる。 …

debianのphpでapcuを有効にする。

APCuが有効にならない。 sudo -u www-data php occ An unhandled exception has been thrown: OC\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?) 清く正しくdebian提…

Google Apps Scriptで、セルのK3の参照を出す。カラムの番号( col ) をアルファベットの参照に変える

ColumnとAddressの相互変換 K3 をはそのまま取得できるが 逆が難しい。 getRange( 'K3' ) getRange でアルファベットを使った、相対(絶対)参照をつかってスプレッドシートの領域を取れるのだが、逆に、セルを参照形式に変換するのが、頭を悩ませた。 K3 セル…

Gitのリモートブランチをcloneする。

git

git の リモートブランチをclone したい 直接 clone できるわけじゃないけど、新規でclone する場合は結構楽に行える。 いつも流れ作業でやってるし過去にも書いてるんだけど。誰かに伝えるために改めてメモ。 作業の流れ 最初に、メインなブランチ(master)…

lxc でCentOSのコンテナを起動する

centos をぱぱっと作る LXCでCentOSのコンテナを起動して動作させる。 docker と違い ちゃんとinit.d / systemd が起動した centos なので実験・テスト環境にはとても楽。 LXD はほんと、ちょっとしたコツを覚えれば快適に実験環境を作れる。 centos を lxc …

Goole App Script ( GAS ) を始める。記事一覧

Google Apps Script をはじめました。 GoogleAppScriptを始めたときに、思い通りのコードが書けるまで、四苦八苦しながら調べたことをまとめて記事にしています。 おもに、ハローワールドを実行し、実行方法を調べています。 また、その次にGASをファイルに…

Goole App Script ( GAS ) の基本的な操作方法。18. clasp run でコンソールから実行

clasp run で ローカルからGAS実行 clasp run をつかえば、コマンドからGASを実行できます。 clasp コマンドをうまく使えば便利かもしれないので、使い方を見ておく。 全体の流れ 結構手順が多いのです。 clasp コマンドをインストール GASプロジェクトを設…

Goole App Script ( GAS ) の基本的な操作方法。17. claspで GASをローカルからVisualStudioCode編集して補完し、git管理する。

インストール clasp clasp コマンドは @google/clasp で提供されています。 @google/clasp をグローバルにインストールしてclasp コマンドを使えるようにします。 npm install -g @google/clasp npm なのでインストールは時間が必要です。 インストール確認 …

Goole App Script ( GAS ) の基本的な操作方法。 16. 専用サイトでGASプロジェクトを管理する。

GAS は Google drive GASの一覧と管理は、Google Driveで行うのが基本になるみたいですね。 Google Driveのフォルダに、プロジェクトが作成される。 プロジェクトは固有IDを持ち、好きなフォルダに設置することができる。スプレッドシートからスクリプトエデ…

Goole App Script ( GAS ) の基本的な操作方法。15. GAS をスケジュールで実行する

GAS の実行方法の種類 GASを実行するには、いくつか方法があって、ボタンを押して実行、メニューから実行、実行ボタンを押す、HTMLで実行、スケジュールで実行、APIで実行がある。 分類すると次のようになる。 ドキュメント内イベントハンドラで実行 ボタン…

Goole App Script ( GAS ) の基本的な操作方法。14.スプレッドシートに追記する。

スプレッドシートに追記したい。 スプレッドシートのデータの範囲に、次の行を書くにはどうするのか。同じデータを連続して書き込むにはどうするのか。少し考えてみた。 セルに続けて書きたい。 セルの最終行に次行のレコードを書き込んでログのように記録を…

Goole App Script ( GAS ) の基本的な操作方法。13.スプレッドシートのセルの基本操作

前回の続き 前回までで、GASでコードを書いて実行する方法がわかった。 今回はセル操作 今回は、Spreadsheetの基本的な使い方を見ておく。 セルの取得=範囲の取得 EXCELでも同じ。知っていると思うけど知らないと混乱するので注意。 セルを取得するとは、範…

Goole App Script ( GAS ) の基本的な操作方法。12. キーボード・ショートカット

スクリプト・エディタのキーボードショートカット 実行 / Ctrl-R 実行 / Ctrl -R / ⌘ -R ログ切り替え / Ctrl - Enter / ⌘ - Enter 実行は、選択中の関数が実行される。 選択中の関数とはこれ 選択中の関数とは、このメニューで選択している関数である。 カ…

Goole App Script ( GAS ) の基本的な操作方法。11. ボタンに登録して実行

前回まで 前回までで、コードをスッキリさせて、好きなタイミング実行できるようにした。 今回は、ボタンで実行 今回は、さらにわかりやすくするために、ボタンに登録して実行することにする。 ボタンで実行を作る。 ボタンそのものは存在しないので、図形オ…