中堅プログラマーの備忘録

忘れっぽくなってきたので備忘録として・・・

【C#.net】Jsonファイルから任意の文字列でkeyを指定しvalueを取得する

1.概要 2.Jsonファイルを扱う 3.やりたいこと 4.スクリプト 1.概要 無料でありWeb APIから情報が取得できるサービスが非常にたくさん存在しています。 非常に便利でお世話になることも多いのではないでしょうか? 但し、無料であるが故、いつサービスが終了…

【C#.net】PictureBox、AxWindowsMediaPlayerのメモリ解放について

1.概要 2.PictureBoxの挙動について 3.AxWindowsMediaPlayerの挙動について アプリケーション概要 不具合内容 対策 4.スクリプト 5.まとめ 1.概要 画像、動画のViewerを作成していた時に メモリが徐々に増加していることの気づきました。 自分ではしっかりと…

【Visual Studio】プロジェクトの初期設定でやるべきこと

1.概要 2.プラットフォームターゲットを【x64】に設定する 解説 方法 3.Visual Studioホスティングプロセスを無効にする 解説 方法 4.PDBファイルを作成しないようにする 解説 方法 1.概要 新規でプロジェクトを作成した場合に、やるべき設定をまとめました…

【C#.net】USBメモリの挿入を検知して、取り外しまで行う。

1.概要 2.実現方法 挿入の検知 ドライブレターの取得 取り外し 3スクリプト 4.まとめ 1.概要 最近は情報漏洩の問題でセキュリティ機能付きUSBメモリの使用が推奨されています。 私の会社でも普通のUSBメモリは使えないという状況です。 なかなか厳しい世の中…

【windows10】SetForegroundWindowでアクティブにならない対策を考える

1.概要 2.現象 3.原因と対策 1.概要 SetForegroundWindowとは?Win32 APIであり、指定されたウィンドウを最前面に表示させる関数になります。 この関数はたまに使用しており、動作的にも問題なかったのですが 最近急にこの関数の動作が不安定になるといった…

【C#.net】関数からの戻り値を複数取得したい・・・Tuple型を使う

1.概要 2.参照渡しを使う方法 3.Tuple型を使う方法 4.使ってみた感想 1.概要 例えば下記のようなファイルを削除する関数があります。 private bool FileDelete(string filePass) { try { System.IO.File.Delete(filePass); return true; } catch (Exception …

【FlashDevelop】AdobeAIRアプリケーションの開発環境を構築する

1.AdobeAirとは 2.FlashDevelopとは 3.インストールする 4.日本語化する 5.プロジェクトを作成する 6.Apache Flex SDKをインストールする 7.プロジェクトにSDKを設定する 1.AdobeAirとは Adobe AIRは異種OS上で共通に動作するランタイム環境です・・・【Flas…

【CentOS8】SSPI への呼び出しに失敗しました・・・エラーへの対応について

1.エラー内容 2.エラー発生環境 サーバー クライアント 3.解決方法 4.原因はCentOS8の仕様にあった 1.エラー内容 C#.netでFTPSクライアントアプリケーションをデバッグ中に下記のエラーが発生しました。SSPI への呼び出しに失敗しました。内部例外を参照して…

【C#.net】ZipArchiveクラスを使ってzipファイルの解凍処理を行う

1.概要 2.準備をする 3.スクリプト 4.解凍処理の流れ 5.実行結果 1.概要 アプリケーションでZipファイルの解凍処理を行う場合 サードパーティ製のものを使うという選択肢が一般的だったかと思います。 フリーのライブラリである【SharpZipLib】を使ったこと…

【Unity】UnityWebRequestを使って画像ファイルをダウンロードし保存する

1.概要 2.スクリプト 3.使い方 4.結果 1.概要 Unity5.4から正式にリリースされた【UnityWebRequest】を使って web上にある画像ファイルをダウンロードして ローカルに保存してみます。動作確認を行ったUnityのバージョンは【2019.2.13f1】になります。 2.ス…

【c#.net】asyn/awaitについてTcpClientクラスを使って非同期処理を検証する

1.概要 2.基本的な使い方 3.TcpClientクラスを非同期にする 4.まとめ 1.概要 C#5.0から追加になった非同期処理【async/await】について 使いにくい【TcpClient】クラスをあえて使って検証してみます。様々な機能を持ったアプリケーションでは非同期処理はマ…

【C#.net】フォーム間でのデータの受け渡し方法のサンプル

1.概要 2.親Formから子Formにデータを渡す 実行結果 3.子フォームの操作結果を取得する 実行結果 4.親子間でデータをやり取りする 実行結果 1.概要 Formアプリケーションを作成する際に 複数のFormを扱う場面があるかと思います。 そんな時に使えるForm間の…

【522 SSL connection failed; session reuse required:】の原因と解決策を考える

1.概要 2.原因 3.サーバー側でなおす 4.クライアント側でなおす 5.KeepAliveについて 1.概要 FTPSでファイル転送のシステムを構築している時に クライアントアプリ側【FtpWebRequest】で下記のエラーが発生しました。リモート サーバーがエラーを返しました:…

【Unity】ScrollViewの使い方、スクリプトからテキスト一覧表示の設定をする

1.概要 2.プロジェクトに追加する 3.ScrollViewの設定をする ①表示範囲 ②スクロール範囲の指定 ③横スクロールバーを無効にする ④コンテンツの配置について考える 【Content Size Fitter】 【Vertical Layout Group】 4.スクリプト 5.結果 1.概要 UI設計にお…

【Postfix】OP25B対策でGmailサーバーを経由してメールを送信する

1.概要 2.図解 3.postfixをインストールする 4.Postfixを設定する smtp_sasl_password_mapsの作成 5.SASLをインストールする 7.設定を反映させる 8.Gmail側で必要な設定 9.メールを送信する 10.結果 1.概要 Outbound Port 25 Blocking(OP25B)が一般的になっ…

【Visula Studio】管理者権限を持ったアプリケーションを作成する

1.概要 2.特に意識せず作成した場合 3.アプリケーションに管理者権限を与える 4.実行する 1.概要 Visual Studioで作成したアプリケーションで システムファイルやレジストリの操作を行う場合 アプリケーションを管理者権限で起動する必要があります。管理者…

【C#.net】FtpWebRequestがあまりにも使えないのでFluentFTPを使う

1.概要 2.対策 3.FluentFTPを使う 4.スクリプト 5.使ってみた感想 1.概要 FTPSクライアント機能を持ったアプリケーションを作成していた時に 下記の不具合に遭遇しました。不具合が確認できた条件としては サーバはHTTPサーバとしての機能はあるが、FTPサー…

【vsftpd】FTPサーバーでchroot設定するとログイン出来なくなってしまう原因と対策

1.概要 2.まず設定した内容 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 3.解決方法 4.結果 1.概要 【vsftpd】でユーザーのホームディレクトリより 上層のディレクトリにアクセスできないように 【chroot】設定…

【Adobe Air】ランタイムの自動アップデートを無効にする

1.概要 2.Adobe AIR 設定マネージャ 3.レジストリで無効にする方法 4.結論 1.概要 windows上でAdobe Airアプリを動作させる場合 ランタイムが必要になります。 このランタイムですが自動でアップデートを促すウィンドウが表示され 正直うっとうしいです。※AI…

VirtualBoxにインストールしたCentOSのネットワーク(NAT)を設定する

1.概要 2.CentOS側の確認 3.VirtualBoxの設定 4.SSH接続する 1.概要 前回、VirtualBoxにCentOS7のインストールを行いました。www.chuken-engineer.com 次にやることといえばネットワーク設定になると思います。 ですので今回はこのネットワーク設定を行って…

Windows Server 2016でVirtualBoxにCentOS7をインストールする

1.VirtualBoxをインストールする 2.VirtualBoxで仮想マシンを作成をする 名前とオペレーティングシステム メモリーサイズ ハードディスク 仮想ハードディスクの作成 物理ハードディスクにあるストレージ ファイルの場所とサイズ 3.CentOSをダウンロードする …

【C#.net】RS232Cで【制御文字(STX、ETX)】を送るにはどうしたらいいのか?

1.概要 2.16進コードをbyte型配列にする 3.byte型配列を送る 4.スクリプト 5.結果 1.概要 RS232C通信を行う時、文字列であれば【serialPort1.Write】または【serialPort1.WriteLine】に 送信したい文字列を突っ込めば、送信することは出来ますが 送信したい…

【windows10】-テキスト、アプリ、その他の項目のサイズを変更する-を100%固定にしたい

1.概要 2.テキスト、アプリ、その他の項目のサイズを変更するとは? 3.100%固定にするためには? ①【Win8DpiScaling】 ②【LogPixels】 4.ディスプレイの接続がない時の解像度は? 1.概要 ディスプレイのサイズ(32型など)や解像度(FHD:1920×1080など)によっ…

【C#.net】アクティブウィンドウの状態を切り替え、監視制御を行う。

1.概要 運用上、常にアクティブ状態である必要があるアプリケーションウィンドウがあります。 これが何かしらの原因で、フォーカスが失われアクティブ状態から抜けてしまうことがあります。 例えば、エラーポップアップなどがこれにあたるのではないでしょう…

【C#.net】FtpWebRequestクラスを使ってFTPS接続でファイルをダウンロードする

1.条件 2.証明書の確認を無視する 3.スクリプト 4.動作確認 1.条件 下記の条件で検証を行いました。 ①サーバーはLinux ②パッシブモードでの接続 ③制御コネクションのポート番号は【61234】 ④自己署名証明書のため証明書の内容確認は行わないとにかく暗号化通…

【visual studio】Setup ProjectでProgramDataにファイルを配置する方法

1.概要 2.インストーラーの作成 3.ProgramDataにデータを配置する設定をする 4.結果 1.概要 visual studioで作成したアプリケーションを配布する際に 【InstallSield】や【InnoSetup】など様々なものがありますが 今回はvisual studio 2012まで標準であった…

【C#.net】文字列で指定したクラスのインスタンスを作成し、値を設定する

1.概要 2.文字列からTypeの取得 3.Typeからインスタンスを作成する。 4.値を設定する 5.やりたかったこと 1.概要 同じような機能を持った関数が乱立するようなコードは コードが長くなる原因となるため可読性が悪くなってしまい バグの温床になりかねません…

パケットキャプチャしてFTPS通信が暗号化されているか調べる

FTP

1.概要 2.【Wireshark】について 3.使い方について 4.FTP通信の中身を見る ①クライアントからサーバーへ接続 ②データを転送する 5.FTPS通信の中身を見る 1.概要 【HTTPS】や【FTPS】等、セキュアな通信といわれていますが 実際にどうなっているのか気になっ…

【CentOS】vsftpdでFTPSを構築しSSL暗号化通信の設定をする(証明書作成)

1.FTPSとは? 2.OpenSSLをインストール 3.【秘密鍵】と【サーバ証明書(CRT)】を作成する 4.【vsftpd】の設定(FTP) 5.【FTPS】の設定をする ①SSL機能の有効 ②SSLプロトコルの設定 ③SSL接続を強制的に行う(SSL接続以外の接続は出来ない) ④サーバー証明書の指定…

【CentOS7】vsftpdでパッシブモードのFTPサーバーを設定する

1.概要 2.インストール 3.基本的な設定 ①匿名ユーザーのFTPログインを許可しない ②【/etc/vsftpd.user_list】に記載されているユーザーのみに接続を許可する ③ローカルタイムの使用 ④アップロード、ダウンロード時のASCIIモードでのデータ転送を許可 4.パッ…