「SE業務」カテゴリーアーカイブ

Linuxでハイフンから始まるディレクトリ、ファイルを削除する

LinuxやUnixで削除コマンド rm を実行するときに、ファイル名やディレクトリ名の先頭にハイフン(-)がついていると、普通に実行するとコマンドエラーになってしまいます。

ファイル名の先頭にあるハイフンがコマンドのオプションとして認識されてしまい、「illegal option」(不正なオプション)のエラーとなってしまいます。

こういったファイルを削除するときに、GUI操作やWinSCPなどのツールで削除するのもよいのですが、環境によってはランレベルのOS設定が変えられなかったりします。

対策:削除対象のファイル名、ディレクトリ名の先頭に「./」を付与する

考えてみれば、大したことないことなのですが、疲れていたり、プレッシャーのかかる環境下で作業していると、こんな簡単なことも気が付かない ( ;´_ゝ`) 。まだまだ修行が足りないな。。。


Teratermのウィンドウサイズを変更しても表示をクリアしない設定

Teratermで作業をしていて、Teratermのウィンドウサイズを大きくしたりすると、表示内容を消えてしまい、ログにも空白が入ってしまいます。

これを直すことには以下の設定をすればOKです。

①「設定」 > 「その他の設定」をクリック

②「ウィンドウサイズ変更時に表示内容をクリアする」のチェックを外してOKをクリックする。

たったこれだけです。

デフォルトでオフにしておいてくれよ。。。(;´д`)=3


[JavaScript] ブラウザの戻るボタンを無効化する

ブラウザの戻るボタンを無効化する方法を調査したので、そのときのメモ。

クライアントサーバシステムだった社内システムをWEBシステムにリプレースする案件でこういった要件を見かける。顧客は、クラサバのときの使い心地をそのままにWEBシステムにしようとするので、こんな要件がでてしまう。

少し前まで完璧にはできなかったようだが、最近になってHTML5+jQueryの組みあわせでできるようになったみたい。

〇サンプルソースはこちら

https://jsfiddle.net/saimjcf/5atzrp26/

「RUN」を押下すると、JavaScriptがロードされるので、ブラウザの戻るボタンを押してみてください。無効になっていて、画面遷移が発生しないはず。

この中でブラウザの戻るボタンを無効化しているのは以下の部分です。

〇仕組みの話

まず、上記サンプルソースが画面上にロードされると、history.pushState(null, null, null)メソッドでブラウザの履歴の先頭に新しい履歴を一つ追加します。このとき第3引数がnullなので、追加された履歴は自分自身を指していることになります。

そして、戻るボタンが押下されたら”popstate”イベントが発生しますので、その”popstate”イベントが発生したときの処理として、再度history.pushState(null, null, null)を実行して、ブラウザの履歴の先頭に新しい履歴を一つ追加します。要は、ブラウザの履歴を操作しています。

hisotry APIの詳細はこちら
https://developer.mozilla.org/ja/docs/Web/Guide/DOM/Manipulating_the_browser_history

※サンプルソースは、Firefox、Google Chrome、IEのみで動作確認しました。