一人情シスのつぶやき

名古屋の中小企業で一人情シスをしている作者が、日々の業務で思うことをつぶやきます。

Ubuntuのオンラインアカウント

Ubuntu 20.04で確認 設定に「オンラインアカウント」という設定がある。これにGoogleアカウントの設定もあり、設定したところGoogle Driveを参照できた! ローカルストレージをみると増えていっている様子はなく、閲覧、編集時に都度撮ってくる方式と思われる…

Ubuntu 電源ボタンでシャットダウン

家族が出入りする場所にパソコンがあり、誤って電源ボタンを押してONになってしまった場合に、ログオンせずに電源ボタンでシャットダウンできないかと考えた。 逆に誤ってシャットダウンする危険性はあるが、それは自分が気をつければ良いと判断。 Ask Ubunt…

IODATAのクラウドストレージ連携(S3)でエラー

IODATAのNASで利用しているクラウドストレージ連携でS3にバックアップしているのだが、今日、急に以下のようなエラーが出るようになった。 <Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; the region 'us-east-1' is wrong; expectin</message></error>…

WindowsFormでイベントを駆使して入力チェック等を行う場合のポイント

すべてのイベントハンドラを一括で登録、削除する関数を作成する すべてのイベントハンドラの最初で削除し、最後に再登録する イベントの多重起動(Leaveイベント内で別ControlのFocusを実行して再度Leaveが実行される、等)を防ぐにはこれが確実 関数のreturn…

DataRow.Field<int> とConvert.ToInt32 の違い

C#

DataRow.Field とConvert.ToInt32 の違いについて、 int がstringになった場合でも同様。 DataRowの値がDBNullかどうかで分ける場合に var val = (dr["name"] == DBNull.Value) ? "" : Convert.ToString(dr["name"]) とやっていたのだが、 var val = dr.Field<int?></int?>…

WindowsのMariaDBメジャーバージョンアップ後の運用の注意

WindowsのMariaDBを10.2 -> 10.4のようにメジャーバージョンアップする場合について。 バージョンアップ自体は公式サイトの手順に従って行えば良い。インストーラにより、上記の場合はバイナリはC:\Program Files\MariaDB 10.4、データはC:\Program Files\Ma…

Accessのレポート機能の活用

内製のシステムを、Accessベースから.Netに移行している。 その際に最大のネックになるのはレポート機能。 Accessのレポート機能は正直相当優秀だと思う。.Netの有償アプリで同等の機能を持つものを選定すると、開発者向けライセンスが100万レベルのものにな…

NuGetライブラリ整理直後に謎のエラー

NuGetで使用するライブラリをVisualStuidoの管理画面より変更(削除->追加)し、合わせて削除したライブラリに依存するライブラリを削除したところ、dllが存在しない旨を表すエラーが発生。 そのdllを見ると、削除したはずのdll。 App.configを見ると、その削…

Visual Studio 2017でReport Viewerの表示、編集ができない

Visual Studioで久しぶりにReport Viewerを編集しようとしたのだが、右クリックしても何も表示されない。 右上に右向きの矢印が表示されるはずなのだが、それもない... 新しいフォームを作ってReportViewerをドロップしたところ、何も表示されない。 stackov…

MySqlBulkLoaderでの取込結果が合わない

C#でMariaDBに接続する際にMySqlConnectorを利用している。 大量のデータを取り込む必要があったため、MySqlBulkLoaderで取り込んだところ、なんかゴミデータみたいのが入るうえに数字も合わない。 よくよく調べたところ、前段のCSV出力個所と、取込時の設定…

IEnumerableで受けてIReadOnlyListで返すなら

C#

tack41tu.hatenablog.com で記載した方針を受けて、最近はCollectionに関してはIEnumerableで受けて、IReadOnlyListで返す基本方針としている。 一方で、プロパティの変更による予期せぬ誤動作を防ぐために、POCOについてはコンストラクタで初期とを設定し、…

rm /* やってしまった

やってしまいました。 rm ${HOGE}/* HOGEが未定義のため、ルートディレクトリのファイルが全削除。 幸い、rfオプションは付けていなかったので、消されたのはファイルのみ。 CentOS7において、ルートディレクトリに存在するファイルは以下のシンボリックリン…

PowershellのToStringの書式指定ではまった

PowerShellのToStringで数値を書式指定で出力する際にはまった2点。どちらもエラーメッセージが適切ではなく、原因特定に苦労した。 PSVersion 5.1.14393.2969, Windows Server 2016上のISEで開発。Set-StrictMode -Version latest 書式#,#はダメ $num.ToStr…

.netで利用可能な帳票ツール

内製開発している.net(C#)で利用可能な帳票ツールについて調査した。結論としては、高いお金を出さないとまともなツールは手に入らないということ。 価格はすべて税抜き。 使えるが、高い Create!Form: 1帳票設計ライセンス200,000円、1WindowsServerランタ…

Get-ChildItemからのLengthプロパティでのファイル容量取得ではまる

PowerShellで特定のフォルダ配下に存在する一定容量以上のファイルをリストアップするスクリプトを作成。 Get-ChildItem -Recurse . | Where-Object{$_.Length -ge 10*1024*1024 } よくあるお題であちこちにサンプルがあるのだが、なぜかLengthプロパティが…

ClosedXMLにて印刷範囲が設定され、「(」を含むシート名を保存するとファイルが壊れる

ClosedXML 0.93.1, 0.94.2で確認。 印刷範囲を設定したファイルを開いて、「(」を含むシートを作成して保存すると、ファイルが壊れてしまいExcelでは開けなくなる。 workbook.xmlを見る限り、シート名をシングルクォーテーションでエスケープできていないの…

Form Load時にRadioButtonのCheckedChangedイベント発生

C#

C# WinFormにてForm Load時にRadioButtonのCheckedChangedイベントが発生する事態に遭遇。 LoadイベントではCheckedをFalseにしているだけだし、他に怪しいイベントも見当たらない。 原因はTabStopが設定された、最小のTabIndexを持つフォームがRadioButton…

C#でのCollection系オブジェクトの受け渡し指針

C#

C#でCollection系オブジェクト(IEnumerable, ICollection, IList等)の受け渡しをどうすべきか悩んでいた。 ListよりIList, EnumerableよりIEnumerableといった実装を含まないInterfaceが好ましいのは当然として、 あらゆるオブジェクトを想定してより抽象的…

CentOS 7のRedmine 4.0でrmagick build error.

CentOS7のDockerコンテナにてRedmineを構築中にrmagick buildにてエラー発生。 先週は動作したのだが... ログを見ると、rmagickのバージョンは3.0.0で要求するImageMagickは6.8.9以上。インストールされているのは6.7.8Q16のためエラーとなっている。 このrm…

MS Unit TestにおけるDeploymentItem

MS Unit Testにてテストファイルを配布してテストに利用する方法がようやくわかった。 ファイルをソリューションエクスプローラー上に登録して「出力ディレクトリにコピー」を「常にコピー」あたりにすればファイル名で参照できるのだが、ディレクトリは指定…

Ubuntuでmac方式のIME切り替え

macを使い始めて、IMEの切り替え方式をmac方式に切り替えています。Windows10ではIMEの設定をいじっていますが、近い将来mac方式が標準になるようです。 www.itmedia.co.jp Ubuntu 18.04でも変更することができました。 garabakos.sakura.ne.jp

C#におけるIEnumerable,IEnumerator

C#

IEnumerable(IEnumerator)はIListに比べると制約が多く、同じことをやろうとしても面倒、その分汎用性が高い、くらいに思ってました。 実際には、IEnumerableには要素の編集が一切できないのが最も大きな違いだと思います。 stackoverflow.com System.Linqを…

Java(Android)のService, Application(Context)

AndroidにてActivityにまたがる処理を行う処理を記述するには、Bound Serviceを使う必要がある。bindeServiceの引数ServiceConnectionのコールバック関数onServiceConnectedにて渡されるIBinderでServiceオブジェクトを取得し、必要なメソッドを実行できる。…

AndroidStudioでEmulatorが起動するも接続できない。

Android Studio 3.2.1(Windows64)にて、Emulataorが起動するのにアプリが全然起動しない状態になりました。 最下部にandroid waiting for target device to come onlineと表示されたままで変化せず、LogcatのデバイスリストにはにはDisconnectedと表示される…

Chromeの自動更新

Chromeの自動更新をADのグループポリシーで行っている。 support.google.com を参考に設定したが、更新されない。 以下の設定を追加で変更したところ、うまく動作するようになった。 [Google Update]-[Application]-[Google Chrome] Allow installation: 未…

Excelでオプションボタン

利用者が使い慣れたExcelでアンケートシートを作ろうとした際のこと。 どれか1つを選択してほしい場合は、オプションボタンを使う。開発タブにあり、フォームコントロールとActiveXの2つがある。 フォームコントロール フォントの見た目がActiveXと比べれば…

NECのEXPRESSSCOREのJavaアプレットが動かない

当社ではNEC製サーバを導入しているのだが、NECサーバではサーバのステータス確認や設定変更にEXPRESSSCOREというWebコンソールが利用できる。 これが、一部機能がJavaアプレットで動く仕様になっている、今時... BIOS等の更新が出ているので適用しようと思…

MariaDBのON UPDATE CURRENT_TIMESTAMPに対するUPDATEの動作について

リンク先同様、しばらく悩んでしまったのでメモ。 MySQLでON UPDATE CURRENT_TIMESTAMP で更新時にタイムスタンプを自動更新するように設定している場合でも、UPDATE前後で値に変化がなければタイムスタンプは更新されない。 qiita.com

Bootstrapper().Run() 実行時にFileNotFoundException

WPFでPrsimを習得しようと日々格闘中です。 ふとしたタイミングで、Bootstrapper().Run()実行時に "ファイルまたはアセンブリ 'System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'、 またはその依存関係の 1 つが読み込め…

Visual Studio CodeでMarkdownのPreviewカスタマイズ

はまった。 Windows上のVisual Studio CodeでMarkdown Previewをcssでカスタマイズすることがどうしてもできない。指定した cssファイルがないと言われる。 cssを絶対パスでは指定できないことは認識しており、Markdownファイルと同じパスにcssを置き、setti…