- VisualC#
- 2016-05-30
Visual Studio C#で作成したコンソールアプリケーションを実行すると、
通常はコマンドプロンプトの画面が表示されます。
簡単な動作を行ってすぐに終了するアプリケーションだったとしても、
一瞬だけ表示されてしまいます。
これを全く表示されないようにするには、プロジェクトのプロパティを開き、
[アプリケーション]-[アプリケーションの種類]をWindowsフォームアプリケーションに変更することで表示されなくなります。
Visual Studio C#で作成したコンソールアプリケーションを実行すると、
通常はコマンドプロンプトの画面が表示されます。
簡単な動作を行ってすぐに終了するアプリケーションだったとしても、
一瞬だけ表示されてしまいます。
これを全く表示されないようにするには、プロジェクトのプロパティを開き、
[アプリケーション]-[アプリケーションの種類]をWindowsフォームアプリケーションに変更することで表示されなくなります。
2014年9月24日にBashの脆弱性が公表されました。
これはかなり危険度の高い脆弱性ですので、対処していない場合は早急に対処する必要があります。
原因は環境変数に関数が定義されてしまい、シェルを起動するだけで有効になってしまうことです。
脆弱性があるかどうかチェックするには以下のコマンドを実行してみてください。
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
以下のように出力されたらアウトです。
vulnerable this is a test
「echo vulnerable
」の部分に任意のコマンドを入れることができます。
早急にbashをアップデートすることをお勧めします。
bashのバージョンを確認するには
rpm -qa | grep bash
qmailを運用していく上で非常に便利なツール「qmHandle」についてご紹介します。
スパムの被害に遭ったり、メールキューが溜まりすぎてサーバーで処理してしまいたい時などに重宝します。
初めは「queue-fast.pl」というツールを使っていました。
ただ、このツールには指定したアドレス宛のメールキューを削除という機能はあるのですが、
送信元のアドレスを指定して削除することはできません。
そのため、このツールでキューの一覧を出力しテキストファイルに保存し、その中から不要なキューのメール番号リストを作成。
リストを利用し、qmHandleで削除していくシェルスクリプトを作成し削除する、という方法をとっていました。
ですが、この方法だと少々時間がかかり、キューの数が多いとかなりかかります。
なんとかできないかとqmHandleのヘルプを見ると、送信元アドレスを指定して削除するオプションがありました!
前述のような面倒なことをしなくてもqmHandle一つで出来たとは…。
ちなみにそれが出来るようになったのはバージョン1.3.0からのようです。
qmHandleのオプションについて全てを紹介しているサイトは少なかったので、ここで紹介させていただきたいと思います。
qmHandleのダウンロードは以下のURLから。
https://sourceforge.net/projects/qmhandle/
続きを読む…»
Dictionaryクラスはハッシュテーブルのように使えるクラスです。
Collectionクラスも同じように使えるのですが、Dictionaryクラスはキーが存在するかどうかをチェックするメソッドがあることがポイントです。
Dim dict As Object Set dict = CreateObject("Scripting.Dictionary")
キーが存在しないことを確かめてからデータを追加します。
If dict.Exists("いちご") <> True Then dict.Add "いちご", "いちご" End If
ループして全ての値を取り出します。
For Each vntItem In dict.Items MsgBox vntItem Next vntItem