misc.log

日常茶飯事とお仕事と

プログラミング

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に指定している場合、コンボボックス右端の逆三角をクリックしてもすぐにドロップダウンリストは表示…

DataGridViewのComboBoxCellで背景色をいい感じに変える

C#にて、DataGridViewのセルをコンボボックスに設定した際に、背景色を変更するとドロップダウンリスト(クリックなどで出てくる選択肢一覧)の背景もどぎつい色に変わってしまうという問題がおきます。これを回避するのに良い方法は無いのかと思ったのです…

DataGridViewのコンボボックスセル背景色を変えたい

自分用メモです。C#で、DataGridViewの列をコンボボックス列にした場合、セルの背景色を変えても無操作時の背景色は変わらず、ドロップダウン部分(下方などに展開される選択肢表示部分)だけに色が付いてしまう問題が発生。そういうものか……とおもいつつ調…

既に列定義されているDataGridViewへのデータバインド

個人用メモ。C#などで使うデータ表示用一覧表部品「DataGridView」で、列の見出しやセルタイプが既に定義されている状態に、DataGridView.DataSourceで表示用データをデータバインド設定する時の設定について触れているサイトがあったのでメモっておきます。…

えっ?SQLをプログラミング言語として最初に教えるの!?

かつての研修プログラムについて書きかけたメモが出てきたので記録しておきます。 たしか、プログラミング研修の第1弾として「SQL」を長らく採用して研修を推進してきた人たちに対して疑問を呈して説明しようとした……のですが、おそらく受け入れられないと思…

64bit環境での整数型の選択

忘れないようにメモ。以下、研修で出した話。.NET Frameworkで登場する整数型は、 int …… 32bit 符号付き整数 long …… 64bit 符号付き整数 です。CPUとWindowsなどが64bitなら、64bit整数を使った方がいいのかな?と思いそうなところですが、実際の世の中の…

C#の逐語的リテラル(Verbatim String Literals)

自分用メモ。英語名などがわからなかったので調べました。その記録。 逐語的リテラルを表す「@」 C#で、文字列の冒頭、ダブルクォーテーションの前に"@"(アットマーク)をつけると、その文字列は「記載されたまま」取り扱われます。たとえば文字列中に特殊…

teratailの順位とスコアが同点になった(笑)

技術系質問掲示版、teratail(テラテイル)に昨年夏くらいから登録して適当に回答したりしていたのですが、スコアと順位が同点になるという面白い現象になったので記録。teratail、スコアと順位が同点に回答したり高評価を得たりするとスコアが入り順位など…

ファイル指定とフォルダ指定の指針

業務アプリだと、データファイルを読み込んでデータベースに記録したり、画面に表示しているデータをファイルとして保存したりというような処理がちょくちょく登場します。そのような処理の設計や実装方針で非常にぶれているような場面があったので、その際…

C#でスコープの宣言を省略するとprivateになる(涙)

新人研修用の課題として、C#で継承クラスを作りカスタマイズ、DLLにして配布してみるというのをやろうとしたのですが……下記のソースでやってみたところ、クラスライブラリーのプロジェクトではフォームデザイナーのツールボックスにアイコンが出てくるのに、…

UTF-8かどうかの判定(C#)

別システムからのデータファイル取り込み処理で、文字コードが不明であった場合にどうするか、という話から、UTF-8かどうかのチェックができるのか?という話題になりました。 UTF-8の種類 UTF-8という文字コードには、BOM(Byte Order Mark)という情報があ…

Excel VBAでペーストを検出する

※結論に到達していません。未解決。 teratailで、Excelでペーストを禁止したい、それも特定セルや列だけという質問が出ていました。 teratail.com 興味あったので少し調べてみたところ、Google検索「excell イベント paste」でstackoverflowの下記質問が出て…