カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

PowerShellのバージョン確認方法

$PSVersionTableコマンドで確認することができます。

PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.5848
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.5848
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
5 views

文字列”false”をbool型にキャストするとtrueになる問題

文字列”false”をbool型として扱いたい場合、単純にキャストしてしまうとfalseの動作を期待しているのに意図とは反対にtrueの動作となってしまうことがあるので注意が必要です。

例えば以下のように文字列”false”をbool型にキャストしてみます。

$bool = (bool)"false";
var_dump($bool);

するとどうでしょう。以下のような結果が返ってきます。

bool(true)

“false”をキャストしたのにtrueとなってしまいます。
この原因はキャストだとfalseとは認識されず、”false”というただの文字列という認識となり空文字ではないという判断になるためです。

公式のマニュアルを見てみてください。
booleanへの変換

  • boolean の false
  • integer の 0 (ゼロ)
  • float の 0.0 および -0.0 (ゼロ)
  • 空の文字列 “”、 および文字列の “0”
  • 要素の数がゼロである 配列
  • unit 型 NULL (値がセットされていない変数を含む)
  • bool 型へキャストするように動作がオーバーロードされた内部オブジェクト。 例: 属性がない空要素から作成された SimpleXML オブジェクト。

上記以外は全てtrueとみなされます。

ではどうすれば良いでしょうか。
続きを読む…»

11 views

ドラッグ&ドロップでリストやテーブル行を簡単並べ替え

リストやテーブルの行をドラッグ&ドロップで並べ替えられるようにするにはjQuery UISortableJSを使えば実現できます。
しかし、他のライブラリと相性が悪く他の方法を探していたらHTMLとJavaScriptだけで実現する方法がありましたのでご紹介します。

まずはHTMLで適当なテーブルを用意します。

<table id="data_table">
    <tr>
        <th>columnA</th>
        <th>columnB</th>
        <th>columnC</th>
    </tr>
    <tr id="1" draggable="true">
        <td>row1 value1</td>
        <td>row1 value2</td>
        <td>row1 value3</td>
    </tr>
    <tr id="2" draggable="true">
        <td>row2 value1</td>
        <td>row2 value2</td>
        <td>row2 value3</td>
    </tr>
    <tr id="3" draggable="true">
        <td>row3 value1</td>
        <td>row3 value2</td>
        <td>row3 value3</td>
    </tr>
    <tr id="4" draggable="true">
        <td>row4 value1</td>
        <td>row4 value2</td>
        <td>row4 value3</td>
    </tr>
</table>

表示例

ここでのポイントはtr要素に設定したiddraggable="true"です。
draggable="true"は要素をドラッグ可能にします。
idは要素を一意なものとして認識するために必要なIDです。
tableに設定したidは対象を特定するために必要なものですので、任意でクラス等にしても問題ありません。

続きを読む…»

44 views

ファイルやディレクトリをGit管理対象から除外する

ファイルを指定してGit管理対象から除外したいとき

git rm --cached [ファイル名]

--chachedオプションを付けているのはファイルを残したいためです。
このオプションを付けないとファイルごと削除されてしまうので注意してください。

ディレクトリとそれ以下を一括で処理したいときは-rオプションを付ける

git rm --cached -r [ディレクトリ名]
44 views

Gitで削除したブランチを復活させる方法

Gitでソース管理しているプロジェクトを開発する中で、間違って必要なブランチを削除してしまったら、もう取り戻せないのでしょうか?
そんなことはありません!ご安心ください。
間違って削除してしまったブランチを復活させる方法がありましたのでご紹介します。

検証環境:git version 2.39.2.windows.1

まずは履歴から該当ブランチの最後のコミットを探します。
Gitの変更履歴を表示するには以下のようなコマンドを実行します。

git reflog

コマンドを実行すると次のように履歴が表示されます。

66ee5fa HEAD@{0}: checkout: moving from mybranch to master
4bba15a HEAD@{1}: commit: commit message
fc11042 HEAD@{2}: checkout: moving from master to mybranch
...

表示された履歴から該当ブランチの最後のコミットを見ると2行目のHEAD@{1}がそれにあたります。
{}の中の数字はログ番号です。

続きを読む…»

58 views