gitbucket-windows-backup-pluginの0.5をリリースしたお話

はじめに 最近この手の話題しか書いてない気がしますが、実際これしかやってないので仕方がない。どうも弊社です github.com gitbucket-windows-backup-pluginの0.5をリリースしました。 今回のリリースで以下の機能の追加を行いました。 バックアップの最終…

ScalaでもAWS S3互換にファイルをアップロードしたい

はじめに S3にファイルをアップロードするコードを追加するのに、いきなりAWSを契約するのは勇気が要る*1のでとりあえずS3のコンパチ品でテストしてみることにしました。 github.com Minio こちらのMinioさん、単一のファイルをダウンロードして実行するだけ…

gitbucket-windows-backup-pluginの0.4をリリースしたお話

はじめに 悪いプログラミング言語なんてものはない、あるのは悪いプログラマだけだってね。連日のデスマーチの責任を取るってことでPM達が一斉に辞職したよ。 という訳でgitbucket-windows-backup-pluginの0.4をリリースしました。 github.com 新機能 バック…

GitBucketのバックアッププラグインを作ったお話

はじめに 弊社の環境ではWindowsでGitBucketを動作させていますが、GitBucketのバックアップを気合と根性とJenkinsと自作プログラムとpsql*1とPowerShellで行っていたのが割とつらみポイントが高めだったので、オールインワンでバックアップを行ってくれるプ…

焦るんじゃない、俺はScalaでもディレクトリをそのままZIPで固めたいだけなんだ

ScalaでディレクトリをそのままZIPで固めたくて、『java directory zip』みたいなキーワードでググると大抵ZipOutputStreamとかZipEntryとかが出てきて面倒くさいなぁと思っていました。 github.com zt-zipを使うとディレクトリをZIPに一撃で固められて非常…

gitbucket-plugin-template のGiter8テンプレートを勝手に作ったお話

はじめに 好きな電子戦機はEF-111A 地形追従モードで敵機を撃墜できるすごいやつです GitBucketはプラグインシステムを導入しており、プラグインのテンプレートも用意されていますがGiter8テンプレート化されておらず*1、sbt newを当たり前のものとしてしま…

AkkaでもActorの再起動を遅延したい

はじめに 好きなモノクロレーザープリンタはCanon LBP6230 どうも弊社です。 Actorはエラー発生時に再起動させることが出来ますが、デフォルトの挙動では可能な限りすぐに再起動をさせようとするためDBやWebサービス等の障害が原因ですぐに復旧しない場合はA…

VB.NETでもリアクティブしたい(Akka.NET)

はじめに 2018年は殺伐としたVB.NET界隈にAkka.NETの波が到来します。(しません) という訳であまり需要がなさげなエントリですが*1、ライブラリ自体は結構成熟しているっぽいので実運用に突っ込んでもまぁ行けるんじゃないかなと思います。 Akkaとは Akka…

Akkaでもテストを実施したい

はじめに あけましておめでとうございます。どうも弊社です。 今年の目標も前年と同様に「生き抜く」を主軸としてなんかいい感じに頑張ります。 今回はAkkaのテストについてです。 今回の内容はほとんどAkka実践バイブル(翔泳社 2017年)からパクった参考にさ…

Scalaでも値が範囲に入っているか確認したい

はじめにとおわりに 好きなWatchDogs2のOSTはDual Core - All The Things どうも弊社です。 Scalaで整数が特定の範囲に入っているかを宣言的に書けないかなと思ったのですが、やっぱり書けました。 val range = 0 to 255 println(range contains -1) println…

Akkaのエラーハンドリングストラテジを確認したい

はじめに 好きなストックはMFT BATTLELINK Minimalist Stock どうも弊社です Akkaを実運用に突っ込もうと考えたときに一番最初に気になるのはActorがくたばった時の挙動ですよね。 知らない間にActorがくたばっていてメッセージだけが虚空の彼方に消えていっ…

Scalaでも演算子のオーバーロードをしたい

はじめに どうせみんなモナドになる。どうも弊社です Scalaの演算子オーバーロードについてサクッと確認してみます。 オーバーロード まぁ、とりあえず言語仕様を見ておけば安心だよねといった感じです。困ったら公式ドキュメントを読む。日本書紀にもそう書…

implicitパラメータとは何ぞや

はじめに ぜんぜんわからない 俺たちは雰囲気でScalaを使っている どうも弊社です。 PlayでコントローラからビューからFuture[T].mapからお前らimplicitパラメータ好きすぎだろってくらい多用されています。これはゆるふわっと使っていると後でヤバい目に遭…

ScalaでもリフレクションでtoStringしたい

はじめに 好きなプリンタメーカーはCanon どうも弊社です 特に需要は無いのですが、とりあえずScalaを始めたのでリフレクションでtoStringしてみました。 弊社にとってリフレクションでtoStringするのはもはや挨拶のようなものです。 環境 Scalaのバージョン…

VB.NETでもパーサコンビネータを実装したい(その2)

はじめに 得意なことはC#ライブラリをVBに移植する事と、.NET4.5ライブラリを.NET4.0に移植する事。どうも弊社です Dictionary(Of TKey, TValue)がIReadOnlyDictionary(Of TKey, TValue)を実装するようになった系のコレクションのインターフェース実装の追加…

プロトタイピングとしてのF#

F#

はじめに いきなりですが、皆さんはプログラムを書くときにどのように書いていますか? 弊社は定型的なコードはともかく、まずは簡単なプロトタイプを書いて考えをまとめてからプロダクトコードを書いています。 いままでは適当なコンソールアプリケーション…

VB.NETでもコマンドライン引数を楽にパースしたい(またの名をVB.NETとF#で連携したい)

はじめに 好きなイヤホンはBOSEのQuietComfort 20 どうも弊社です。 前になんかいい感じのコマンドライン引数をパースするライブラリを見つけたいとか書いたのですが、DSL付きで見つけました。 なんとこちら、DSLなのに.NETの型システムと高い親和性を持って…

VB.NETでもクラスとモジュールの違いを知りたい

はじめに 好きな沿海域戦闘艦はフリーダム級沿海域戦闘艦 どうも弊社です。 計画倒れとか言われても、47ノットで洋上を爆走する姿はかっこいいと思います。 皆さんは新人くんの VBのクラスとモジュールの違いは何ですか? の質問にどのように答えているでしょ…

VB.NETとログについての伺か

はじめに 最近気になるカメラはPENTAX K-1 どうも弊社です。 弊社はロギングライブラリとかの扱いについて割と長い間悩んでいたのですが、自分の中のとりあえずの答えが出たので今回はそんな感じです。 ログライブラリへの強依存 さて、弊社はログライブラリ…

VB.NETでもAutofacで依存性を注入したい

はじめに OpenCoverのコードを読んでいたら、AutofacというDIライブラリが使用されており、気になったのでそれについてです。 チュートリアル Getting Started — Autofac 4.0 documentation 大体の手順をざっくりと列挙すると 脳内でいい感じに制御の反転を…

VB15の新機能の確認したい

はじめに 3月7日にVisual Studio 2017がリリースされました。 と言うことで今回も露骨なアクセス稼ぎVB15の新機能を確認していきましょう。 どうでもいいですが、VS2017のアイコンって梵字っぽいですよね。筆で書かれたっぽくして色を周りに合わせたら紛れて…

VB.NETでも遅延バインディングの呼び出し規則を確認したい

はじめに 遅延バインディングを使用したコードを眺めていた時にふと思ったのですが、遅延バインディングはどういう呼び出し規則でメソッドを呼び出しているのだろうと気になりました。 軽く調べてみたところ、言語仕様っぽいのは見つかりませんでした。 分か…

VB.NETでもパーサコンビネータを実装したい

はじめに 自宅でカンタン イルカセラピー どうも弊社です。 ヤフーでググったところ、今のところ誰もVBでパーサコンビネータを実装してないっぽかったので実装してみました。 実装にあたり、こちらのブログを参考にさせていただきました。感謝 blog.anatoo.j…

.NET FrameworkのRegexの文字クラスはバグっているのか?

はじめに 正規表現のお話ですが、『.は任意の一文字にマッチする』みたいな文法解説ではありません。 そんなの大手サイトが死ぬほど書いてますしね。 妙なバグを踏み抜くことに定評がある弊社ですが、今回は正規表現の文字クラス関係でわりと意味がわからな…

VB.NETでも文字列オブジェクトのサイズを計算したい

はじめに VBと言ったな。あれは嘘だ。 前の記事でオブジェクトのメモリ上のサイズを計算してみましたが、結局System.Stringのサイズがよく分かんないというなんでそれ書いたんだよって感じのアレになりました。 そのままだとなんか悔しいので、調べなおして…

VB.NETでもオブジェクトサイズの概算をしたい

はじめに 好きなトラックボールはKensingtonのSlimBlade どうも弊社です。 この記事はVisual Basic Advent Calendar 2016の11日目の記事となります。 10日目はamay077さんのVB.NET でパスワード付き共有フォルダにファイルをコピーするでした。 数十・数百万…

VB.NETでも割と楽に状態を扱いたい

はじめに 好きなポストイットは強粘着ノート75mm×75mm どうも弊社です。 .NETチームのブログを眺めていたところ、面白そうなライブラリを見つけました。 blogs.msdn.microsoft.com github.com オブジェクトの状態遷移を管理するためのライブラリで、状態遷移…

C#でもUbuntu+Docker+Jenkins+GitBucket+MonoでCIしたい(CI編)

C#

はじめに 好きなお寿司はイクラ どうも弊社です。 前回はJenkinsとGitBucketの環境を構築しました。 今回は実際にJenkinsでビルドとテストを実行させてみましょう。 プロジェクトの作成 まずはCIをブンブン回すプロジェクトを作成します。 テストの実装及びJ…

C#でもUbuntu+Docker+Jenkins+GitBucket+MonoでCIしたい(環境構築編)

C#

はじめに 好きなSF小説は『銀河ヒッチハイク・ガイド』シリーズ どうも弊社です。 皆さん、CIしてますか? ヘイシャハデキテマセン 今回はLinuxサーバ環境で半ば無理やりCI環境を構築して.NETプラットフォームのアプリケーションをCIするという誰が得をするのだろうと…

VB.NETでも制約ソルバーを用いて数独を解きたい その2

はじめに 好きな重原子力ミサイル巡洋艦はキーロフ級ミサイル巡洋艦 どうも弊社です。 前回は地獄のSMT-LIBコピペ祭りを経て、z3で数独を解くことに成功しました。 今回はVBから制約を発行してz3に数独を解かせてみましょう。 .NETバインディング z3には.NET…