技術メモ

【C#】ユーザーコントロールをデザイナで表示した際に改行を指定可能にする

対象のプロパティに以下の属性を記載すればOK

[Editor("System.ComponentModel.Design.MultilineStringEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))]

サンプル

[Editor("System.ComponentModel.Design.MultilineStringEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))]
public string TextBoxText
{
    get
    {
        return this.TextBox1.Text;
    }
    set
    {
        this.TextBox1.Text = value;
    }
}

【Windowsアプリ】CJoin

2020/07/21 v0.0.5

 

2つのCSVファイルを、1つのCSVファイルに纏めて出力できます。

例えば、社員.csvに記載された組織コードと組織.csvを結合し、組織名を含めた社員情報のCSVファイルを作成できます。

Windows10対応
フリーソフト100さんに紹介して頂きました

ダウンロード

ダウンロード(3.72MB)
※ダウンロード後、Zipファイルを解凍する前に、ファイルを右クリックして「ブロックを解除」してください。

【WordPress】PHP7.1→7.3にVerUp後、デザインが大きく崩れた

問題

PHPを7.1から7.3にVerUp後、以下のようにスタイルが効かなくなってしまった。

原因調査

PHPをバージョンアップしたことで発生するようになったため、PHP側でエラーが発生していると推測。エラーを画面に表示するため、wp-config.phpに、define(‘WP_DEBUG’, true);を追加することにした(本当はだめだけど、調査のためだけだから。。。調査後にfalseにすればOK)

すると、以下のエラーが発生していることを確認。

Notice: Undefined index: function in /xxxxxxxxxx/wp-content/plugins/head-cleaner/head-cleaner.php on line 2899

導入しているHead Cleanerとの相性が悪い?様子。
取り急ぎ復旧するために、このプラグインを無効化した。

復活した!

根本原因は調べなければならないが、そもそも数年前に入れたプラグインが今も必要なのか微妙。定期的にプラグインの整理をしておいた方が、問題解決がしやすくなる。
(そもそも検証機が必要・・・)

 

【Windowsアプリ】Excelエビデンスくん

クリックするだけで画面キャプチャを自動取得して、その内容をExcelに貼り付けてくれます。

v0.0.3 お試し公開中(需要があれば機能追加していきます)

フリーソフト100さんに紹介して頂きました

ダウンロード(1.1MB)

※ダウンロード後、Zipファイルを解凍する前に、ファイルを右クリックして「ブロックを解除」してください。

【C#】特定の文字列で分割する【Split】

文字列「a,,,b,,,c」があるとき、「,,,」で分割して「a」と「b」と「c」を得たい場合は、Splitを利用する

string s = "a,,,b,,,c";

string[] values = s.Split(new string[] { ",,," }, StringSplitOptions.None);

結果

values[0] = “a”;
values[1] = “b”;
values[2] = “c”;

となる。

VB.NETのSplitより書き方が面倒・・・

【WordPress】Autoptimize導入効果(スコア46→56)

GoogleのPageSpeed Insightsにて、当サイトのモバイルの結果が悪かったため、Autoptimizeというプラグインを試してみました。

導入結果

Autoptimize適用前(モバイル:46、パソコン:88)

Autoptimize適用後(モバイル:56、パソコン:88)

 

プラグインを入れただけで、モバイルの数値は少し良くなりました。

他の紹介サイトでは、表示が崩れるなどの問題も報告されていましたが、当サイトでは問題は起きませんでした。

手軽に改善ができるのでおすすめです。

  • WordPress:5.2.3(2019/10/05時点)
  • レンタルサーバ:ロリポップ(ライト。PHP7.1)
  • Autoptimize設定:「JavaScriptコードの最適化:チェックON」、「CSSコードを最適化:チェックON」、「HTMLコードを最適化:チェックON」。
    これ以外の設定はプラグインの初期値のまま変更していません。

 

 

【C#】StreamReaderにて、「System.ArgumentException: パスに無効な文字が含まれています。」が発生する

<エラー内容>

System.ArgumentException: パスに無効な文字が含まれています。

場所 System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
場所 System.IO.Path.GetFileName(String path)
場所 System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost)
場所 System.IO.StreamReader..ctor(String path, Encoding encoding)

<原因>

引数で渡すパスの前後にダブルクォーテーション(“)が記載されていたために発生した(パス自体を設定ファイルから読み込んだものを使用していたため気付くのが遅れた)。

【curl】【Windows】統合Windows認証しながら、POSTパラメータとファイルをアップロードする

curl.exe --ntlm --user userId:password --connect-timeout 30 --max-time 10800 -XPOST -F "uploadFile=@C:\temp\dummyFile.txt" -F "ParameterPost=hoge" "http://localhost/app?ParameterGet=hogehoge"
  • 統合Windows認証のためのユーザーIDとPWを指定
    • –ntlm –user userId:password
  • 接続タイムアウトを30秒
    • –connect-timeout 30
  • 最大処理時間を3時間(60秒*60分*3時間)
    • –max-time 10800
  • アップロードファイルを指定
    • -XPOST -F “uploadFile=@C:\temp\dummyFile.txt”
  • POSTパラメータを指定
    • -F “ParameterPost=hoge”
  • URLを指定(GET含む)
    • “http://localhost/app?ParameterGet=hogehoge”

【slack】平日の8:30に自分にリマインドする

次を投稿すればOK

/remind me "hogehoge確認した?" at 8:30 every weekday

毎週金曜日の場合は以下

/remind me "週明けの準備終わった?" at 15:00 every Friday

 

削除したい場合は、

/remind list

とすると、リマインド一覧が表示されるのでそこから削除すればOK