ブログ移転のお知らせ

ブログを移転しました。 www.jyuch.dev

Rustでもメタプログラミングでto_stringしたい

はじめに Rustでは#[derive(Debug)]すれば勝手にDebugトレイトが生えますが、まぁ一回くらいは自分で実装してみてもいいんでね?という事で実装します。 C#やScalaでは実行時に型情報が手に入るので、その型情報を使用してインスタンスに対してリフレクショ…

Entity Frameworkを使ったプログラマの末路・・・

C#

はじめに 最近取り組んでいたEntity Framework Coreを使っているプロジェクトがひと段落したので、今後EFを使おうか検討している人向けに1つの事例として残しておこうと思います。 結論としてはキャッチーなタイトルとは裏腹に、今回のプロジェクトではメリ…

新任Git管理者のための歴史改変入門

この講義について 役割としてGit管理者をしていたり、もしくは特段評価に反映されないのに他に詳しい人がいないからという理由からGit管理者みたいなことをする羽目になった人向けの履歴改変入門です。 前提 ここでの歴史改変とは、Gitリポジトリの各コミッ…

Postgresでも複数のインデックスが使用可能な状況ならカーディナリティが高いカラムのが優先的に使われるんだよね その2

はじめに 前回に引き続き、Postgresのオプティマイザの挙動を確認しようの会です。 tablename attname avg_width n_distinct table1 c1 11 -1 table1 c2 8 -0.55219007 table1 c3 7 8332669 table1 c4 6 930908 table1 c5 5 98600 table1 c6 4 9990 table1 c…

Postgresでも複数のインデックスが使用可能な状況ならカーディナリティが高いカラムのが優先的に使われるんだよね

はじめに タイトル通りです。 挙動ベースのお話でソースを追ったわけではないのです。 環境 select version(); PostgreSQL 14.5, compiled by Visual C++ build 1914, 64-bit 環境構築 こんな感じにクラスタを作成して initdb --encoding=UTF8 --no-locale -…

できる Fedexを使用した海外への返品

はじめに 前にFS.comで買ったWifiのアクセスポイントなんですけど、初期不良を引いちゃいましてね。 jyuch.hatenablog.com 不良の切り分け作業とか返品手続きとかはかなりスムーズにいったのですが、Fedexの使い方がわかりずらかったのでそれについてです。 …

逸般の誤家庭でも10GbpsのLANを構築したい(配線・動作確認編)

はじめに 前回買った機材が関税の請求書を伴ってやってきたので、配線と動作テストを行います。 jyuch.hatenablog.com 配線 最終的に以下のような感じになるように配線を行います。 NICのインストール 今回買ったNICはIntel 82599EN(互換?)チップを積んで…

逸般の誤家庭でも10GbpsのLANを構築したい(機材選定・購入編)

はじめに 弊宅には一時秋葉原で激安で販売されていたアライドテレシスのAT-x510-28GTXが鎮座しており、日々爆音をまき散らしながらトラフィックを捌いています。 x510にはSFP+が4ポート備わっており、やろうと思えば10Gbpsを扱えます。 しかしまぁ、あまりや…

C#でも構文を最大限悪用してDSLを定義したい

C#

はじめに ディレクトリのような階層構造をC#で簡潔に表現できないかと構文を最大限悪用して試行錯誤した結果です。 作例 var result = await "C:\\aaa" with { _ = new _ { await "bbb" with { _ = new _ { "ddd" } }, await "ccc" with { _ = new _ { "eee"…

XigmaNASで運用しているZFSのディスクを交換したお話

はじめに 弊社*1ではXigmaNASとZFSを使用してファイルサーバを運用しているのですが、初期導入時に金をケチっていわゆるデスクトップ用HDD*2を使用していました。 今まで特にトラブルなく運用できていましたが、急に逝かれても困るので重い腰を上げてNAS用の…

WindowsでもOpenJDK 17をコンパイルしたい

はじめに ついに11に続くLTSである17がGAしましたね。 というわけで、OpenJDKをWindows環境でビルドする方法を確認してみました。 環境 公式のドキュメントを参照する。万葉集にも書かれています。 openjdk.java.net Visual Studio or Build Tools for Visua…

gitbucket-backup-pluginの1.3.0をリリースしました

最初のバージョンをリリースしてから3年経って、ようやくオブジェクトストレージ内の古いアーカイブを切り捨てる機能を実装しました。 当初の目論見ではS3ではファイルの有効期限を設定出来るので、それでいい感じに古いアーカイブを消すことを想定していま…

PostgreSQL12でもストリーミングレプリケーションを試したい

はじめ 特にPostgresを使う予定は無かったのですが、『PostgresのSRでHA構成を組んだこと?ありますよ(ドヤァ』と言えるようになりたいのでとりあえずストリーミングレプリケーションをやってみることにします。 構成 今回の構成は以下のような感じです。 OS …

一般のご家庭でもプライベート認証局を運用したい

はじめに 特に深い意味はないのですが、宅内で運用しているサービスのURL欄に鍵マークを付けたかったのでopensslコマンドでプライベート認証局を構築する方法を確認してみました。 構築する認証局の概要 真面目に運用しようとすると結構めんどくさいのでゆる…

FreeBSDでZFSを使用するときに気を付けたいこと

はじめに 弊社ではFreeBSD(をベースとしたアプライアンスであるXigmaNAS)とZFSを使用してどの逸般の誤家庭にもあるようなファイルサーバを運用しています。 構築する際に参考になるようなページがもっと増えればいいかなと思いまとめておこうと思います。 …

Chronium野良ビルドRTA(Windows編)

はじめに 好きな高速のサービスエリアは友部SA どうも弊社です。 特に需要なんてものはないのですが、Chroniumを野良ビルドする手順を確認してみました。 ちなみにWindows編とありますが、Linux等他のOSでやるつもりはないです。 レギュレーション レギュレ…

Akka StreamsでもMyBatisを使いたい

はじめに 正直かなりニッチな需要だと思うのですが、Akka StreamsのMyBatis用コネクタを実装したのでそのお話です。 github.com JavaでAkka Streamsを使ったときにデータベースへのアクセスを楽にしたかったのが動機ですが、JavaからAkka Streamsを使うこと…

僕らが本当に欲しかったのはStream APIだったのか?

TL;DR 要素シーケンスとしてjava.lang.Iterable<T>がすでにあったのに、さらにjava.util.stream.Stream<T>を導入してまでシーケンスに対しての順次及び並列処理を等価的に扱えるようにする*1必要があったの? 実務レベルで考えても順次に処理するのがほとんどで、</t></t>…

Spark ShellをScalaで使うときのメモ

はじめに 最近データの整形等にSpark Shellを使っているのですが、使い方を忘れるので備忘録的なアレです。 Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 2.4.4 /_/ Using Scala version 2.11.12 (Op…

gitbucket-backup-pluginを4.32に対応させたお話

GitBucketが2.13系でビルドされるようになり、バイナリ互換性が無くなったらしいのでバージョンを上げてビルドしなおしました。 と書くとさも自分でやりましたと言わんばかりですが、PRを頂いたのでマージして4.32対応版をリリースしました。 ありがとうござ…

.NET 5とは?今後のリリース予定は?既存のアプリケーション対応は?!

はじめに 皆さんこんにちは! 闇落ちVBプログラマーの弊社(@jyuch)と申します! 最近マイクロソフトから発表された.NET 5について自分なりに調べてみました。 一般的に知られていない.NET 5のリリース予定や.NET Frameworkとの互換性、今後のリリーススケ…

Angularでもいい感じに多言語化したい

はじめに 4月からVBおじさん改めナウでヤングなWebエンジニアになりました弊社です。 MS信者の弊社としましては、Blazorをぶっこんでヒャッハーしたいのですが、GAしていないものをプロダクションに投入するのはまぁ・・・ねぇ・・・*1 github.com じゃけんAngula…

VB.NETでReDim Preserveを使うくらいなら配列を使うのをやめたら?

はじめに 弊社のブログで現在一番アクセス数が多いのは(個人的には意外ですが)ReDimの記事です。 jyuch.hatenablog.com この記事でもReDim Preserveには否定的な感じで書いていますが、現在でもこの意見は変わりません。 今北産業 添え字操作がバグの温床…

Windowsの記憶域に他から引っ張ってきたSSDを追加したい

はじめに 弊社ではVMware Workstationで検証環境を構築しており、その仮想マシンの格納用にSSDをシンプル構成(いわゆるRAID0)の記憶域(Windowsでのストレージプール)を構成しています。 記憶域用に新品を買ってくるのではなく、他で余ったSSDが出たら都…

WSUSで設定する分類ってなんじゃらほい

はじめに Windows Serverは投げ捨てるもの 完全に自分用のメモです。 検証環境の構築でWindows Serverのセットアップを何度もやっているのですが、管理とかアップデートの適用がいい加減面倒になってきたのでAD + WSUSの環境を構築しました。 WSUSは更新の対…

2019年こそAkka.NET + F#の最強(当社比)の組み合わせがどうにか流行ってほしい

F#

はじめに あけましておめでとうございました 1月・2月は弊社にとっては2018年の13月と14月みたいなものだったので、実質3月から2019年がスタートした感じです。 2019年も相変わらず不遇な扱いのF#と日本での知名度はもやはゼロに等しいAkka.NETですが、個人…

Shift_JISと死の文字化け

はじめに この授業は闇の魔術に対する防衛術の21時限目です。 昨日の授業は@aimof先生でした。 Windowsが覇権を握る現代社会では、たとえLinuxやmacOSユーザでもShift_JISに関わらずに生きることは非常に困難です。*1 さらに他の文字コードと異なりWindowsで…

VB.NETでもナウいCIサーバでテストをギュイーンしたい

はじめに この記事はVisual Basic Advent Calendar 2018の15日目の記事です。 どうも、闇落ちJenkinsおじさんです。 オンプレのCIサーバといえばJenkinsが筆頭に上がりますが、Jenkinsのビルド環境が秘伝のタレ化してスレーブを追加する際に死ぬほどコンパイ…

Linux版SQL ServerをDockerで動かしたときにサーバの照合順序を変更したい

はじめに 他のデータベースにもれず、SQL ServerもDockerで動かすことが出来ます。 ただ、単純にDocker Hubのページのように > docker run \ --name=mssql \ --hostname=my-docker-mssql \ -d \ -e 'ACCEPT_EULA=Y' \ -e 'SA_PASSWORD=mssqllinux@1' \ -p 14…