misc.log

日常茶飯事とお仕事と

プログラミング

PowerShellでテキストファイルの改行コードLFをCRLFに変更する

仕事で、改行コードにLFが使われたShift-JISテキストファイルの改行コードを、全てCR+LFに置き換える処理をササッと作る必要が出てきました。それも処理を記述するのは「バッチファイルの中」ww。やり方はいろいろあるとおもいますが、なるべく変更作業を大…

作成した動画ファイルの名称を一括変更する(改良版 / VBScript利用)

ここ2年ぐらいやっている、原神などのプレイ動画のYoutube公開にあたり、作成した動画を長期保存する際に少し画質を落として一括エンコードしています。その作業にはペガシスの TMPGEnc Video Masatering Works 5を使っているのですが、まとめてエンコードす…

作成した動画ファイルの名称を一括変更する(VBScript利用)

現在、原神の細切れなプレイ動画を作成してちまちまとYoutubeに挙げているのですが、カット編集したものをTMPGEnc Video Mastering Works 5で一括エンコードすると、本来のファイル名の前後に余計な文字が入って出力されます。それをこれまたちまちまと直す…

Windows10に32bit OCXファイルを登録する

まさか2022年にこんな作業をするとは……。仕事でちょっとした自動化処理を行う必要があり、取引先から提示された自動処理ツールが「HiMacroEx」というものでした。www.vector.co.jp制作者のサイトもあるのですが、更新されているのかされていないのかよく分か…

バッチファイルで、下位処理が作るファイルの生成を待ちたい

まさか2022年にもなってこんな感じでバッチファイルとかが大活躍してるとは20年前には思いませんでしたね。 事の経緯 Windows 10で動かすバッチファイルで、とある処理をいくつか順次実行させます。しかし、そのうちの1処理が「バッチ側には終わったという返…

PythonでExcelファイルの特定セル内容をコピーする

事の背景 2018年だったかのデブサミに出店していた店で、この本を買いました。退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング作者:Al SweigartオライリージャパンAmazon2022年7月に第二版が出るらしいですが、私が買…

バッチファイルからOracle DBのexpdp.exeを実行する

バッチファイルから、Oracle DBのデータエクスポートコマンド「expdp.exe」を、非管理者ユーザーが管理者権限で動かせるようにする必要があったので、少し模索してみた際のメモを残しておきます。 処理の概要 単にコマンドを発行するだけであれば簡単だった…

NPOIで.NET Framework/C#からエクセルファイルの中身をテキストに吐き出す

大量のエクセルファイルの中身について精査したり文字列調査する必要がありそうだったので、以前使った.NET Framework用のExcelオブジェクト操作ライブラリー「NPOI」を使って、エクセルファイルの中身をテキストにする処理を書いてました。XLSX形式(Office…

Oracle DBのバックアップ/リストア処理作成に関するメモ

ちょっとお仕事でOracleの運用管理系のお手伝いをすることになったので、調べ物をしたリンクなどをメモしておきます。 基本事項 データベース名的なもののOracle版について https://www.shift-the-oracle.com/config/oracle_sid-db_name-global_name.html ダ…

Visual Studio Codeでユーザー設定に書き込めない

現象 年明けにPCの再セットアップをして、4TBのSSDという豪華編成にしたものの……なぜかVisual Studio Codeで「今後表示しない」といった動作に関する指定を行った際に、下記のようなエラーが出るようになってしまいました。 ユーザー設定に書き込めません。…

ひとつの名称を複数の定数で呼ぶなよ……

久々にひどいコードに遭遇したので記録しておきます。 DBの列名を定数にしている データベースに格納された「製品名」の列を、C#のプログラム中では定数で定義しています。まぁこれ自体は理由があるならば良いと思うのですが、こんな感じです。 const string…

ASP.NETプロジェクトのApp_Codeフォルダー

自社内で誰もこのあたりきちんと新人とかに説明してないだろうから、ちょっとメモっておきます。ASP.NETの開発プロジェクトなどは近年結構変わってきているので、下記の情報はあくまで「ASP.NET Webサイト」タイプの古い開発プロジェクトの話です。最新のASP…

機能追加開発のASP.NETアプリソースが動かない

専門ではないし面倒くさいし環境も整ってないからやりたくないのですが、仕事なので。 現象 既存のASP.NET Webサイトの機能追加で、ソースは開発サーバーから持ってきた物をポイと渡された状態。使ってる.NET Frameworkや使うべきVisual Studioのバージョン…

C# モーダルとモードレスについて新人に伝えた話

今年はほんと、対面での講義や実習もほとんどない(6ヵ月で30日ちょい)という状況で、研修自体も遅れに遅れたのが9月で打ち切られたのでもう新人に何かを伝えることはありません……。ただ、Slackで指示したり伝えたことはメモしておけば誰かの役に立つでしょ…

C#での自作コントロールがツールボックスに出てこない場合の確認点

まぁ新人研修をやることももう当分ないでしょうが、自分でもまたハマったら嫌なので備忘録。自作のコントロールがVisual Studioのフォームデザイン画面左にあるツールボックスに出ないときの確認点。 コントロールクラスが「public Class」になってない場合…

C# StreamReaderでSJIS指定していてもUTF-8のファイルを自動判別することがある

新人研修で課題として作っていたサンプルでたまたま見つけた挙動、というか仕様。忘れないようにメモしておきます。 BOM付きUTF-8ファイルをSJIS指定のStreamReaderで開く 結論:開けます。下記のように、GetEncodingでShift-JISを指定したStreamReaderであ…

C#の設定ファイルが保存される場所はどうやってきまるか

備忘録。 C#で下記のように設定情報を保存した場合に保存される場所は、ユーザーフォルダの下です。が、そのフォルダ名にはハッシュ値のような英数字の羅列が入っています。そして、1つのアプリについて数個のフォルダができていることがあります。これ、な…

JavaScriptのsetMonthで指定する月はゼロ始まり……

話題のメモ。 会社の若手さんと不具合の件で話していて 翌月末の日付を取得するのに、翌々月末になる事がある。 JavaScriptの処理で、月末に「2ヵ月後」という指定をすると、3ヵ月後になるケースがあった。 という話から、JavaScriptのsetMonthという「日付…

DataSource設定をnullにしたコンボボックスに白枠が残る

Visual Studio 2017 + .NET Framework 4.6.1 + C#で、コンボボックスにDataSourceを設定して数件の選択肢が表示された状態からDataSourceをnullに設定すると、ドロップダウン部分に入っていた選択肢分の空欄だけが表示されてしまうという状況が発生しました…

Dispose()メソッドに関するメモ

そろそろ新人研修の質疑応答やレビュー指摘で「Disposeメソッド」が出てくるので……。説明材料などになるものを集めておきます。dobon.netwww.atmarkit.co.jpreferencesource.microsoft.com Effective C# 6.0/7.0作者:BillWagner発売日: 2018/09/05メディア: …

C#でビルド後のファイルを1つに統合する(ILMergeを使う)

先に書いておきますが詳しい使い方とかじゃないです。極力簡単なやりかた。数年前に、客先でちょっとしたアプリを作ったのですが、顧客があまりPCとかに詳しい人では無かったので、成果物を1ファイルにしたいと言うことでILMergeを利用しました。これは、複…

プログラミング教育の現場

大変だろうな……とおもいます。なにがって、教える側。note.com情報処理 2020年8月号発売日: 2020/07/31メディア: 雑誌プログラミングって何かが出来ればそれでOKではなく、いろんな知識や経験の蓄積の上に成り立っている手段の1つなので、最終的な、世間一般…

プログラムのお仕事はロジックのストックが結構ものを言う

新人さんに少し伝えたところ感動されたのでメモしておきます……。 プログラミングを行う仕事をやっていると、「これ、以前もつくったよな……」というものに遭遇することが多々あります。もちろん完全に一致というわけではないのですが、なんとなく似てる、ちょ…

文部科学省が公開した高校生の情報科「情報II」教材

文部科学省が高校生用の授業「情報II」の教師用教材を公開しました。www.mext.go.jpプログラミング言語としてはPython3を利用するようです。また、軽く見ただけですが第4章「情報システムとプログラミング」などは今新人向けにやっている、基本情報技術者を…

ポリモーフィズムを新人に説明するための自分用お勉強

全くIT系の勉強をしてきていない、文系の学部卒を抱えての新人研修で、6月以降も在宅でC#の本を読んでもらうことになりました。個人的には最初は横について、Visual Studio自体の使い方なども教えながら、きめこまかに教えて、ある程度のところで独習にする…

新人研修とVisual Studio

新人研修はどうやら6月いっぱいも在宅のまま進められることになりそうなので、残念ながら対面でのプログラミング研修はお預け。オンラインで、とも言われたのですが、全くの初心者相手、たとえばVisual Studioのような開発ツールの使い方も全く知らない人を…

正規表現メモ

仕事で使った正規表現メモ。いずれもサクラエディタで処理しています。もっと効率の良い方法などもあるかもしれませんが、とりあえず客先に提出する大量データの変換を期限内に行うことを優先しているので「動けばOK」というものになっています。参考にされ…

MySQLを後からWindowsサービスとして登録する

社内で少し話題に挙がったので同じ事やらないようにメモ。 背景: サービスとして登録せずにMySQLをインストール Windows用のMySQLを単体でインストールしたのですが、インストール時にWindows Serviceとして登録しないという選択をしてしまったので、あとか…

WebサービスをPOST、GETで呼び出せるようにしてみる

新人研修の一環で、ちょっと古いですがASP.NET Webサービス(拡張子 asmxのファイルが配置されるやつ)を作って、HTMLやPHPから呼んでみるというのをやってみたのですが、すこし上手くいかない部分があったので記録しておきます。どうせ来年またハマるだろう…

DataGridViewのコンボボックスセル、クリック一発でドロップダウンを表示させる

下記の内容に関連して、コンボボックスタイプのDataGridViewセルの挙動を改善する例です。 www.backyrd.net DataGridViewのセルをDataGridViewComboBoxDellに指定している場合、コンボボックス右端の逆三角をクリックしてもすぐにドロップダウンリストは表示…