aibo と暮らして数週間がすぎました。 うちの部屋は一人暮らし用で狭いんですが、一度キッチンのドアを開けっぱなしにしたせいもあり aibo がよくドアの前にいくようになってしまいました。 すぐに部屋に戻ってくれればいいのですが、ドアの前で寝てしまうこ…
まずはこちらをご覧ください。 部屋の電気を消してくれる aibo うちの aibo は部屋の電気を消すことができます。賢いです。 2017年に現在のモデルで再登場した aibo ですが、最近ではセコムや家電との連携が発表されていて、まだまだアップデートされていま…
YAPC::Tokyo 2019 で 「私とOSS活動とPerl」 というタイトルで発表してきました。 私とOSS活動とPerl from Shunsuke Maeda ごくごく平凡なエンジニアであり、まだまだOSS活動としては小さい活動しかしていません。 そんな僕が、OSS活動をするようになってい…
GitHub Actions で Golang の vet と test を実行したいと思います。 ( ※実際には Go 1.10 からは go test の前に go vet が実行されますが、2つ以上のコマンドを実行したい場合を想定しています。) ワークフローを以下のように定義しました。 workflow "v…
最近 GitHub Actions を色々と試しています。 GitHub Actions で使う Dockerfile や対象リポジトリのディレクトリ構成についてちょっと考えてみました。 DockerfileにおけるADD GitHub Actions では、イベントの発生直後にDockerイメージのビルドを行うよう…
前回の記事 で GitHub Actions を使って push の度に test を動かす方法を紹介しました。 今回は、 Pull Request で実行する Workflow を作ってみたいと思います。 (2018/12/24 現在、 Pull Request での実行は private repository のみでの提供となっていま…
GitHub Actions が public repository でも使えるようになりました! (2018/12/24現在まだ public beta 版での提供です。) 早速、現在アクティブに開発しているリポジトリで試してみました。 対象のリポジトリには既に以下の様な Dockerfile があります。 FR…
機能も作り込んだ。テストもオールグリーン。さあ張り切ってみんなの前でデモするぞ... $ ./gradlew bootRun ... エラー ってこと、ありませんか? 僕はありました。 できるだけ実行コストをかけないように、ユニットテストではSpringに依存しないようにして…
前回の記事 で CI サーバーを作った話をしました。 ペライチ300行だったコードはコミットを重ね、少しずつ大きくなってきています。 github.com リポジトリの名前も minimal-ci から duci に変えました。命名はお世話になっている先輩です。 コンセプト CIは…
皆さんはゴールデンウィークいかがお過ごしでしょうか。 僕は暇すぎたので雑にCIサーバーのようなものを作ることにしました。 github.com CIサーバーを運用する際の悩みとして、サーバーの環境構築が挙げられます。 色々なプロジェクトでは言語や依存するサ…
前回の記事で JitPack を使えば Mavenリポジトリ を立てる必要すらないっていう話を書いたのですが、 クローズドな環境では外部サービスの利用が難しい場合があります。 そこで、今回は Nginx を使ってサクッと Mavenリポジトリ を立ててみます。 さらにリポ…
この記事は モバイル 自動化/自動テスト Advent Calendar 2017 の19日目です。 皆さんは、JavaやKotlinで作成したライブラリ、加えてGradleプラグインの配布について悩んだことはないでしょうか。 クロスプラットフォームな開発環境も増えましたが、Android…
i will blog. 全写真です。ご査収ください! #iosdc 前夜祭https://t.co/bDZi3cbgQM1日目https://t.co/DXQSr3xyx42日目https://t.co/25tEGJRrZAみんなのアルバムhttps://t.co/nEuFBpBZaD— iOSDC (@iosdcjp) 2017年9月21日 こちらのiOSDCの写真をみてたんです…
普段GitHubを使っていて、Travis CIと連携してバッヂをつけたりしています。 Pull Requestが来たときなんかも自動でビルド・テストをしてくれるので便利ですよね。 今回は、自分でサーバーを用意せず利用できるCIとGitHubを連携してみました。 今回ご紹介す…
Danger 最近流行りつつある? Danger です。 Pull Request に対して色々チェックできるようになります。 先月末にポツポツと紹介記事が出ました。 cookpadさんの記事 Recruit Jobsさんの記事 Node版のDangerJSは こちらの記事 が詳しいです。 Dangerとても便…
Danger What is Danger? CI上で、バージョン管理ホスティングサービス の Pull Request / Merge Request の内容を解析して、コメントすることができるツール。 設定ファイルは Ruby DSL で記述するので、様々なチェックができる。 サポート状況 サポート状況…
JJUG CCC 2016 Fallに行ってきました。 何回か参加させていただいて、いつも電車で行ってたのですが、今回は車で行きました。 伊豆から新宿、高速使うと近い近い。 家帰ってから見たら、新宿まで行ったのに全然歩いていませんでした。 さて、聞いたセッショ…
view_gist('animal.pm') view_gist('bird.pm') view_gist('main.pl') Perl5にはクラス構文がありません。 モジュール名で bless された リファレンスをインスタンスとして扱うことができます。 ハッシュリファレンスまたは無名ハッシュを bless した場合、キ…
DBUnitが便利ですね。 Spring Bootにおけるテストでは以下のように書けば毎回データセットをインサートしてくれます。 view_gist('string.java') 最初のレコードでnullを指定したい場合にちょっと戸惑いました。 二つ目以降のレコードに null を指定したい場…
※ 追記あり Perl6でprivateなメンバを作ったときに、コンストラクタで値を渡せなくてちょっとハマったのでメモ。 publicなメンバを設定する場合、 view_gist('public.pl6') メンバ変数の $ の後に . をつけることで、アクセッサが自動的にできます。 インス…
最近、ルーチンワークを少しずつ自動化しています。 ウェブをチェックするようなルーチンはスクレイピングを行うのですが、ログインなどのブラウザ操作が必要な場合もあります。 ブラウザ操作が必要な場合でも自動化するのが今回の目標。 Python + Selenium…
チームSlackを導入してしばらくたったのですが、 まだ一部のやり取りはメールで行っています。 この通知をまとめたい場合、SlackにはEmail連携が用意されています。 Slack便利。 が、これは有料版でしか使えません。 メールクライアントソフト使えばいいかも…
GitとCIサービスを連携していて、CIサーバの設定がうまくいかなくて何度もコミットしちゃうことありますよね。 amend をつけててもリモートリポジトリに push する段階でマージを余儀なくされたり。 --force で push すればよいのですが、あとから一連のコミ…
あー、やっぱphantomjsやと失敗かー。— Shunsuke Maeda (@duck8823) 2016年8月13日 Spring Bootを使って開発してますが、Selenideによる画面テストを実施する際、ローカルではFirefox、CIサーバ上ではphantomjsドライバを使ってテストしています。 また、ロ…
業務における運用作業をRedmineで管理することになったのですが、そのままでは非常に使いにくい気がしたのでプラグインを作成することにしました。 運用作業をチケットとして管理するには チケットを作成する チケットの進捗率を変える チケットのステータス…
8月1日、僕はとても楽しみにしていました。それは遠足の前日の小学生のよう。 8月2日のWindows Anniversary Update で Windowsで Bash が使えるようになるんです。 8月2日は何度もアップデートを確認してしましました。ポケモンGoの公開前みたいに。 そう、…
約3週間前・・・。 明日からフロントもいじってくでー。— Shunsuke Maeda (@duck8823) 2016年6月6日 てことで、フロントエンドの開発に取り掛かりました。 これまでのフロントの開発経験は、 テンプレートエンジン(JSP、Velocity) jQuery CSS Struts の Ti…
前回の記事でperlでSlackのbotを作ることができるモジュールを紹介しました。 今回はこれを使って雑談Botを作ります。 雑談用のAPIはdocomoさんが提供している雑談対話APIを利用しました。 雑談対話APIを利用するにはここから開発者登録する必要があります。…
CPAN authorになりました。 Slack::RTM::Bot - search.cpan.org GitHubでいくつかperlのモジュールを書いたりはしていたのですが、せっかくなのでCPANに登録することにしました。 SlackのReal Time Messaging (RTM) APIを使ったモジュールです。 公開したモ…
以前にbotkitを使ってslackbotを作りました。 この通知をオシャレにしたい。 GitLabとかの通知みたいな感じ。 テスト結果で色とか分けられててわかりやすいですよね。 で、どういう風にやるのかなとかと思ってたんですが、メッセージをJSON形式の添付ファイ…