記事一覧
田舎人、停電に負けない。
停電でラズパイのcronが止まる:毎日の通知スクリプトをGitHub Actionsの定期実行へ移す自宅のRaspberry Piのcronで動かしていた毎日の通知スクリプトは、雷で停電するたびに止まっていた。GitHub Actionsのscheduleで動かすように移した手順と、設定ファイルと環境変数を両立させる書き方、cronの時刻がUTCになる注意点。
田舎人、インクを選ぶ。
Parker 51に合わせるインク:ストーングレーからカーボンブラックへぱっと見では万年筆に見えないParker 51(F・スチールペン先)に入れるインクを探し、グラフ・フォン・ファーバーカステルのストーングレーからカーボンブラックに落ち着いた記録。神戸のPen and message.でのペン先調整や、同じインクをローラーボールで使った話も。
田舎人、機器の返事を待つ。
VISAのLAN(ソケット)通信で応答が返らないとき:区切り文字とENDの仕組み(C#・IVI-VISA)LANでつないだバーコードリーダーや画像判定機にVISAでコマンドを送っても応答が来ない。原因は区切り文字(終端文字)だった。VISAが受信の終わりを判断する仕組みと、区切りを切り替えられる自作の端末アプリを紹介。
田舎人、Rustに再挑戦する。
Rust再入門の一冊:『高効率言語 Rust 書きかた・作りかた』所有権や参照でつまずき、一度はRustを投げ出した。2022年に出た入門書『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』で理解できるようになった経緯。
- CSVのヘッダーをキーにしてDictionaryへ読み込む(C#・VB.NET)
CSVの1行目をキー、2行目以降をそのキーの値のリストとして Dictionary<string, List<string>> に読み込む方法。行と列を入れ替えてLINQで簡潔に書く。
- iTextSharpでPDFに「印刷したときだけ表示される」透かしを入れる(C#)
C#とiTextSharpで、画面では見えず印刷時だけ表示される透かしをPDFに入れる方法。PdfLayerの印刷・表示の設定がポイント。
田舎人、手帳を育てる。
トラベラーズノート:革が育つ、長く付き合える手帳ミドリのトラベラーズノート(パスポートサイズ)を愛用している理由。革の経年変化、ゴムで挟むだけのリフィル、ぺたっと開く書き心地、使い方とおすすめのリフィル。
- プログラミングの基礎を学んだあと、次に何をするか:雑誌で写経のすすめ
基礎学習を終えて行き詰まった人へ。いきなり自作に挑むより、プログラミング雑誌のサンプルを書き写して、きれいな実装を身につけるのがおすすめという話。
田舎人、友人のためにOCRを作る。
ショートカットキーで呼び出すOCRアプリ「楽々サクサクOCR」友人の頼みで作った、画面の一部やPDF・画像から文字を読み取るOCRアプリ。Windows標準のOCRを使いオフラインで動く。Vectorで無料公開。
- WPFで画面の選択範囲だけをキャプチャする:Snipping Tool風の実装
WPF(C#)で、ユーザーがドラッグで選んだ任意の範囲だけをキャプチャする方法。マルチモニターにも対応したサンプルをGitHubに置いている。
田舎人、後輩の困りごとをOCRで解く。
大量のPDFを一括でテキスト化するOCRアプリの製作記同僚の困りごとから、Windows標準のOCRを使って大量のPDFを一括でテキスト化するアプリを作り、Vectorで無料公開した記録。
- WinFormsでダッシュボード風の画面を作る:自分用テンプレートの記録
手早く作れるWinFormsで、見た目の整ったダッシュボード風の画面を作り、自分用のテンプレートにした記録。WPFではなくWinFormsを選ぶ理由も。
田舎人、PDFの手間を片づける。
PDFの結合・分割・抽出・ページ入れ替えをひとつにまとめたアプリ「Dashboard of PDF」PDFのページ入れ替えが面倒で、結合・分割・抽出・入れ替えをひとつにまとめたWindowsアプリ「Dashboard of PDF」を作り、Vectorで無料公開した記録。
田舎人、Electronでグラフを描く。
Go+Electronによるグラフ作成アプリの製作記GoでDLLを作り、Electronから読み込む構成でグラフ作成のGUIアプリを完成させた記録。LorcaからElectronに乗り換えた理由と、Webの技術で画面を作って感じたこと。
田舎人、GoのGUIに道を見つける。
Go+Lorca+VuetifyでマテリアルデザインのGUIを作るGoのGUIづくりで1か月試行錯誤した末、LorcaとVuetifyを組み合わせ、フロントエンドとGoの間でデータをやり取りするサンプルを作った記録。
田舎人、真っ白な画面に途方に暮れる。
Wailsのビルドで画面が真っ白に:Lorcaへ切り替えた経緯GoのGUIでWailsを選んだものの、Windowsでビルドしたアプリの画面が真っ白に。Twitterで教わったLorcaに切り替え、気がかりだった点も解決できた経緯。
田舎人、GoでGUIの道具を探す。
GoのGUIフレームワーク比較:Fyne・gotron・Wailsを試した記録GoでクロスプラットフォームのGUIアプリを作るため、Fyne、gotron、Wailsを試した記録。デザインの自由度を重視して選んだ経緯。
田舎人、キーボードを探す。
Vim使いのためのキーボード選び:ARCHISS ProgresTouchに落ち着いた理由65%サイズでInsとDelが独立したキーボードを探し、ARCHISSのProgresTouch(AS-KBPD70)に決めた。最後まで迷ったKeychron K2との比較も。
田舎人、GUIの見た目にこだわる。
見た目の整ったGUIアプリにはWPFを:良い点と気になる点GUIアプリは見た目で選ばれる。WPFとマテリアルデザインでモダンな画面を作った経験から、WPFの良い点と気になる点をまとめる。
田舎人、はじめてソフトを公開する。
PDFの結合・分割ソフトの製作記:Vectorでの初公開まで職場の若手がフリーソフトの使いにくさに困っていたことから、PDFの結合・分割ができるWPFアプリを作り、初めてVectorで公開したときの記録。
田舎人、1円でブログを始める。
GatsbyとNetlifyで独自ドメインのブログを立ち上げる:初年度1円の記録レンタルサーバー代のかかるWordPressをやめ、GatsbyJSとNetlifyで独自ドメインのブログを立ち上げたときの記録。初年度のドメイン代1円で始められた。