Pages

2022年4月21日木曜日

[Windows] Tera Term などを使わずにクリックしたらトンネル接続開始にする方法

 今回参考にしたサイト


トンネル接続する

まずは Windows の PowerShell だけを使ってトンネル接続をします。

> ssh [username]@[from_host] -i [secret_file_path] -L [from_port]:[to_host]:[to_port]

例:
ポート:2022 の場合は fhost.com サーバー経由で thost.com サーバーに ポート:22 で接続したいという場合。

fhost.com の 接続アカウントは
host: fhost.com
username: user
key_file: C:\Users\user\.ssh\id_rda.pem

> ssh user@fhost.com -i C:\Users\user\.ssh\id_rda.pem
 -L 2022:thost.com:22

鍵ファイルがユーザーディレクトリ以下(もしくはユーザーを限定的に設定)でなければ警告が出てうまく接続できないので、それについて困ったらこちらを参考にしてください。

PowerShell で sshすると UNPROTECTED PRIVATE KEY FILE

ショートカットを作成

好きなところでショートカットを新規作成する


"項目の場所を入力してください(T)" に以下を入力する。


%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command "ssh user@fhost.com -i C:\Users\user\.ssh\id_rda.pem -L 2022:thost.com:22"

"次へ" をクリックするとショートカットの名前を確認されるので好きな名前を入力する。


"完了" をクリックして完了。

2022年3月15日火曜日

[Laravel] Windowsにはcronが無いので、タスク スケジューラにscheduleを設定する

Windowsにはcronが無いので、タスク スケジューラに設定するんですが、単純に設定するとコマンドプロンプトのウィンドウが一分毎に立ち上がって文字入力の邪魔をする。。

なので、もうVBSファイルからコマンドプロンプトを実行するようにしてこれを回避。

ついでにPHPのバージョン変更もするように。


手順

  1. VBSファイルを作成
  2. タスク スケジューラに設定

VBSファイルを作成

VPSファイルはどこに置いても大丈夫です。
ただのテキストファイルなのでメモ帳で作成可能です。
拡張子は .vbs

記載内容はこちら

Set ws = CreateObject("Wscript.Shell") 
ws.run "cmd /k set PATH=D:\app\php-8.0.14-nts-Win32-vs16-x64;%PATH% & cd D:\prjects\sample & php artisan schedule:run", 0, false

記載内容の説明
ws.run で 3つのパラメータを指定しています。

1つ目 実行するコマンド
2つ目 ウィンドウオプション 0=表示しない
3つ目 同期指定 false=非同期

つまり 1つ目のコマンドは非表示で勝手に実行しといてくださいって感じです。

run メソッドについて詳しくはこちら

コマンドは & 区切りで複数実行できますので、今回は
  1. PATH の更新
  2. ディレクトリの移動
  3. scheduleの実行
をやっています。


2021年10月28日木曜日

CakePHP4 Validation:: add() rule で利用できる値一覧

notBlank

alphaNumeric

notAlphaNumeric

asciiAlphaNumeric

notAsciiAlphaNumeric

lengthBetween

creditCard

numElements

comparison

compareWith

compareFields

containsNonAlphaNumeric

custom

date

datetime

iso8601

time

localizedTime

boolean

truthy

falsey

decimal

email

equalTo

extension

ip

minLength

maxLength

minLengthBytes

maxLengthBytes

money

multiple

numeric

naturalNumber

range

url

inList

uuid

luhn

mimeType

getFilename

fileSize

uploadError

uploadedFile

imageSize

imageWidth

imageHeight

geoCoordinate

latitude

longitude

ascii

utf8

isInteger

isArray

isScalar

hexColor

iban

2021年7月5日月曜日

FriendsOfCake / search の使い方メモ

FriendsOfCake/search

https://github.com/FriendsOfCake/search

インストール

composerをインストールした環境で

$ php composer.phar require friendsofcake/search

プラグインを追加したらソースから利用できるように

$ bin/cake plugin load Search

利用方法

https://github.com/FriendsOfCake/search/tree/master/docs

Tableの initialize() でビヘイベアを追加


同じく Table の initialize() に検索条件のテンプレートのようなもので コレクション を記載する。


解りにくいけど useCollection() から次の useCollection() までが1つのコレクションとなるみたい。

add() で追加できる1検索条件は色々なタイプが用意されている。

add() の第2パラメーターで、指定する他、メソッドからも検索タイプを指定可能。
この方が phpstorm とかなら候補で出てくるので解りやすい。

フィルター

  1. value()
    完全一致で検索をする。
  2. like()
    LIKE検索をする。
  3. boolean()
    結果を true または false で検索をする。
    ※true にはデフォルトで 1、true、 '1'、 'true'、 'yes'、 'on' を含む。
  4. exists()
    対象カラムがNOT NULLかを検索する。
  5. finder()
    finder****() という関数を使用して検索する。
    https://book.cakephp.org/3/ja/orm/retrieving-data-and-resultsets.html#custom-find-methods
  6. compare()
    比較演算子(>, <= など)を使って検索する。
  7. callback()
    コールバック関数を使って検索する。



対応オプジョン

共通で利用できるオプジョン

  1.  fields (array)
    検索に使用するフィールドの名前を指定する。
  2. name (string、デフォルトでは、add filterメソッドの最初の引数に渡された名前になります)
    フィルターの名前をフィールドとは別にしたい場合に利用する。
  3. alwaysRun (bool、デフォルトはfalse)
    存在するかどうかに関係なく、フィルタを常に実行するかどうかを定義する。
  4. filterEmpty (bool、デフォルトはfalse)
    空の場合に、フィルターを実行しないかどうかを定義する。
  5. flatten (bool、デフォルトはtrue)
    入力フォームから配列として渡される値をフラット化するかどうかを定義する。
  6. beforeProcess (callable、デフォルトはnull)
    $queryと$argsを引数として受け取ります。たとえば、クエリに結合または包含を設定するためにコールバックを使用。
  7. aliasField (bool、デフォルトはtrue)
    フィールド名にエイリアスを設定する場合に利用する。
  8. defaultValue (mixed、デフォルトはnull)
    デフォルト値を指定する。

Boolean

  1. mode (string、デフォルトはOR)
    複数のフィールドと照合するときに使用する条件付きモード。
    有効な値は、ORとAND。

 Exists

  1. mode (string、デフォルトはOR)
    複数のフィールドと照合するときに使用する条件付きモード。
    有効な値は、ORとAND。
  2. nullValue (stringまたはnull、デフォルトはnull)
    null許容でない列に使用できます。
    =/の!=代わりにIS NULL/を介してチェックするには、空の文字列に設定しIS NOT NULLます。

Compare

  1. operator (string、デフォルトは>=)
    比較に使用する演算子。有効な値は>=、<=、>と<。
  2. mode (string、デフォルトはAND)
    複数のフィールドと照合するときに使用する条件付きモード。
    有効な値は、ORとAND。

Like

  1.  multiValue (bool、デフォルトはfalse)
    フィルターが複数の値を受け入れるかどうかを定義します。
    無効になっていて、複数の値が渡されている場合、フィルターは defaultValue オプションで定義されたデフォルト値の使用にフォールバックします。
  2. multiValueSeparator (string、デフォルトはnull)
     特定の区切り文字列を使用して、フィルターが複数の値を自動トークン化するかどうかを定義します。無効にした場合、データは配列の形式である必要があります。
  3. colType (array)
    連想配列。実際の型に関係なく、文字列列として扱う必要がある列のカスタム型を設定するために使用します。これは、整数フィールドが検索対象のフィールドの一部である場合など、整数フィールドにとって重要です。使用例: 'colType' => ['id' => 'string']
  4. before (bool、デフォルトはfalse)
    検索語の前にワイルドカードを自動的に追加するかどうか 。
  5. after (bool、デフォルトはfalse)
    検索語の後にワイルドカードを自動的に追加するかどうか 。
  6. fieldMode (string、デフォルトはOR)
    複数のフィールドと照合するときに使用する条件付きモード。有効な値は、ORとAND。
  7. valueMode (string、デフォルトはOR)
    複数の値を検索するときに使用する条件付きモード。有効な値は、ORとAND。
  8. comparison (string、デフォルトはLIKE)
    使用する比較演算子。
  9. wildcardAny (string、デフォルトは*)
    として扱われるべき文字列を定義する任意のそれは検索用語に遭遇している場合にワイルドカードを。この動作により、これは内部的に適切なSQL互換のワイルドカードに置き換えられます。これは、検索語内で実際のワイルドカード文字を使用して用語の一部として扱われるようにしながら、検索語内でワイルドカードを渡したい場合に役立ちます。たとえば、の検索語* has reached 100%はに変換され% has reached 100\%ます。さらに、オプションを参照してくださいescapeDriver。
  10. wildcardOne (string、デフォルトは?)
    検索語で検出された場合に1つのワイルドカードとして扱われる文字列を定義します。と同様に動作しwildcardAnyます_。つまり、検索語が使用された場合、実際のSQL互換ワイルドカード()はエスケープされます。
  11. escaper (stringへのデフォルトnull)
    エスケープする必要がありエスケー定義%とは_。エスケープ機能が設定されていない場合(escapeDriver => 'null')、エスケープ機能はデータベースドライバによって設定されます。ドライバがある場合 に使用される(エスケープするとします)。他のすべての場合に (エスケープに使用されるにし、に)。と設定にエスケープを追加することで、独自のエスケープを追加できます。SqlserverSqlserverEscaper%[%]_[_]DefaultEscaper%\%_\_App\Model\Filter\Escaper\OwnEscaper'escaper' => 'App.Own'

Value

  1. multiValue (bool、デフォルトはfalse)
    フィルターが複数の値を受け入れるかどうかを定義します。無効になっていて、複数の値が渡されている場合、フィルターはdefaultValueオプションで定義されたデフォルト値の使用にフォールバックします。
  2. multiValueSeparator (string、デフォルトはnull)
    特定の区切り文字列を使用して、フィルターが複数の値を自動トークン化するかどうかを定義します。無効にした場合、データは配列の形式である必要があります。
  3. mode (string、デフォルトはOR)
    複数のフィールドと照合するときに使用する条件付きモード。有効な値は、ORとAND。
  4. negationChar (string、デフォルトはnull)
    multiValue特に値が多い場合は、の代替。フィルタは任意の文字列を受け入れますが、理想的には、検索値のプレフィックスとして単一の一意の文字である必要があります。たとえば!、文字列値または-数値の場合。有効にすると、フィルターはこの値の式を無効にします。

Finder

  1. finder (string、デフォルトはフィルター名)
     使用する検索タイプ。
  2. map (array、デフォルトは[])
     フィールドをファインダーキー('to_field' => 'from_field')にマップする必要がある場合は、配列を構成します。
  3. options (array、デフォルトは[])
    ファインダーに渡す追加オプション。
 

2021年5月27日木曜日

[Flutter] flutter doctor で Android Studio が入っているのに認識してくれない時

Android Studio をインストールしてるのに

> flutter doctor

で確認すると

[!] Android Studio (not installed)

となる。。

そんな時は

 > flutter config --android-studio-dir="C:\Program Files\Android\Android Studio"

とインストール場所を教えてやると解決!!

[√] Android Studio



Followers