White Box技術部

WEB開発のあれこれ(と何か)

【まとめ】Java SE 9/EE 8リリースイベント 兼 JavaOne 2017 報告会

Javaな仕事に戻ったのもあり、JJUGのイベントに行ってきました。 当日の発表内容や様子は、以下にまとめてくださった方がいるようです。 ちなみにこのイベントの内容は、動画で公開されています。 参加できなかった方もこちらを見ていただけると、Javaの今が…

GitHub Enterprise上のRubyコードのカバレッジをCircleCI Enterpriseで集計し、結果をSlack通知する

カバレッジのSlack通知 こちらの内容を参考に、CircleCI Enterpriseでビルド時に集計したカバレッジを、Slack通知できるようにしました。 参考元のスクリプトではcoberturaとjacocoに対応していましたが、simplecovにも対応してあります。 あと、取得元をGit…

「テストを書く文化がないからテストがないんです」

それは怠慢だろうが!いい加減にしろ!! じゃあテストコードはこのプロジェクトなくていいのか?と問えば、ある方がいいと思うと答えてくるが、 じゃあなぜ書かないのかと問えば、文化が・・・と答えてくる。 中には、画面で実際にオペレーションをしてテス…

Circle Checker作りで学んだこと(GroovyとかSpockでのモックの書き方とか)

技術的なこと 前回はCircle Checkerの紹介だったので、今回は作って学んだことを書こうと思います。 ※Circle Checkerの紹介記事はこちらです。 技術的なこと 実装の話 リモートのGitリポジトリとローカルをマージ 便利なDTOの定義方法 Twitter APIのカーソリ…

【自作ツール紹介】 Twitterのユーザ名からイベント参加情報を抽出するツール「Circle Checker」

なぜ余裕を持って行わないのか・・・ 原稿に追われていようといまいと、不精な性格が災いして、 イベント直前にならないとサークルチェックをしない私のような人に「余裕を持って行え」とか言っても無駄なので、 プログラマらしくプログラムで解決を図ってみ…

GradleプロジェクトのSpockのテストをCircleCIで実行してJaCoCoでカバレッジを取りつつCoverallsで表示する

ちょっと思い立ってJavaでコードを書いていて、 さらに思い立ってカバレッジのバッジをREADMEに付けようとしたら、 思いの外ハマったので「GradleプロジェクトのSpockのテストをCircleCIで実行してJaCoCoでカバレッジを取りつつCoverallsで表示する」ための…

新年の挨拶と、reviewetのバージョンアップ連絡

新年あけましておめでとうございます 2日に、幼少の頃以来の初詣に行ってきました。 それもずっと行きたかった神田明神へ参拝することができたので、今年は幸先がいい感じがします。 IT情報安全祈願のお守りも購入できたので、後は頑張ってシステム作りに励…

Twitter画像取得ツール「reins」の0.3版をリリースしました

seri.hatenablog.com 前回の紹介からほぼ2年ぶりですが、Twitterからいい感じに画像を取得するツールのreinsの最新版をリリースしました! reins 0.3 今回、以下の機能追加・バグ修正を行っています。 リツイートの取得に関する動作変更の選択機能の追加 rei…

【Shansible】VagrantとAnsibleでのShangriLa開発環境構築

Shansible Shansibleは、秋葉原IT戦略研究所のProject ShangriLaでAnime APIが動作するサーバ群を構築するためのプロジェクトです。 Shansibleを利用することにより、VagrantとAnsibleを使って簡単にローカルでAnime APIの動作を確認する環境を作ることがで…

【Reviewet】アプリレビュー通知ツールのその後

Reviewet 以前も紹介したアプリレビュー通知ツールのReviewetですが、その後も少しずつ変更を加え、 一部の挙動や起動方法も変わりましたので、今日はその紹介です。 変更内容 ざっくり書くと変更点は以下になります。 メールの件名に、どちらのOSのレビュー…

【Ansible Meetup】うちのチームの話をしてきました:共通言語「Ansible」

Ansible Meetup in Tokyo 2016.06で発表者枠が頂けたので、自チームでのAnsible運用の様子を発表してきました。 共通言語「Ansible」 Ansibleは仕組みがシンプルなので、コード全体が正確にはわからなくても、なんとなく動作を推測できる構成管理ツールだと…

【自作ツール紹介】iOS/AndroidアプリのレビューをSlack/Email通知するNode.jsアプリ「reviewet」

追記(2016/05/29):メール通知機能、実装しました タイトルの通りですが、Node.js上で動作するiOSとAndroidのストアレビューをSlackに通知しつつメール通知もできるプログラムを書きました。 作った理由 iOSとAndroidアプリレビューをSlack通知してくれる…

第3回 ShangriLa MeetUpの振り返り

ShangriLa MeetUp 第3回目となる、ShangriLaのMeetUpを先日の4/9(土)に秋葉原で実施しました。 (ShangriLaは、OSSコミュニティの秋葉原IT戦略研究所が作成している、アニメ情報のIT化プロジェクトになります。) 3回目ですが、コミュニティのメンバー以外…

【logrotate】CentOSでログローテする

ログローテはたまにやろうとすると、あれどうだっけ?となるので logrotateを使ったログのローテーション方法をまとめました。 前提 環境(OS):CentOS 6.6 利用機能:logrotate、cron 今回は、ローテーションしたいログ、例えばアプリケーションログを /va…

php-fpmはgraceful restartしません(回避策あり)

php-fpmはgraceful restart. そう思っていた頃が私にもありました 以下の公式ドキュメントに「緩やかな (graceful) 停止/起動 機能を含む高度なプロセス管理」と記載があるので、 何の疑いもなくservice php-fpm reloadを叩いたらプロセスが落ちました。。 P…

【duolingo】最近の英語学習方法

duolingoを使って英語の勉強をしています。 www.duolingo.com どういうものか? ざっくり言うと、文法、用途でジャンル分けされた内容の小テストをひたすら消化していくものになります。 出題される問題は、英文を音読するだけのもあれば、翻訳(日英、英日…

【Linux】メモリがカツカツなサーバのメモリを復活させる

メモリ枯渇の背景 仕事で、PHPのPhalcon FWで作ったAPIアプリケーションが乗ったphp-fpmサーバを運用しているのですが、 こやつで大量のリクエストをさばけるよう、負荷試験を行ってチューニングした結果、 現在php-fpmプロセスは、staticでリクエストを待つ…

MacPortsでMySQL5.7をインストールする

homebrewが猛威を振っていますが、MacPortsおじさんの私は元気です。 MySQL 5.7をインストールする 仮想環境にはMySQL 5.7を入れたりしていましたが、そういえばMacには入れてなかったのでインストール作業をしてみました。 環境情報 OS X Yosemite (10.10.5…

Phoenix Framework Documentの翻訳:Overview

www.phoenixframework.org 概要 Phoenixは、サーバサイドMVCパターンを実装するためにElixirで書かれたWebフレームワークです。 その構成要素と概念の多くは、Ruby on RailsやPythonのDjangoのような、他のWebフレームワークの経験を持つ私たちに馴染みのあ…

勉強会おじさんになって思うこと

チーム内交流のために勉強会を開催していたら、なんか勉強会おじさんっぽくなってしまったので 今後の実施方法も考えて、少し現状を振り返ってみました。 なぜ勉強会を始めたのか? そもそも勉強会を始めるきっかけだったのは、もちろん単純にやりたかっただ…

【Groovy/ShangriLa】JsonSlurperとHTTPBuilderの使い方サンプル

引き続きShangriLaを例にしていますが、今度はGroovyでGETリクエストの実行と返却されたJSON文字列を処理してみました。 おや、Gradleサイトの様子が・・・! README書くためにGradleのサイトに行ったところ、サイトがリニューアルしていました。 Gradle l M…

2015年の振り返り

2015年を振り返って 去年に引き続き、今年も本年を振り返ります。 ブログ関連 まずはブログ関連の話から。 ブログへのアクセス数 今月のアクセス数が今のところ12,003で、現在のトータルアクセス数が123,140です。 去年の同月時点では、月が5,432、トータル…

【Scala/ShangriLa】秋アニメ情報のJSONをGETリクエストで取得する

秋アニメは何観てますか? こんなグラフを見たことある方はいないでしょうか? 実はこれ、友達が作成して公開しているものだったようです(知ったときは驚きました)。 グラフ作成のためのデータを取得するAPIも公開していて、これが今scalaベースで動いてい…

【au & DMM】携帯料金9100円から2350円への道

買い換えないと損(?) iPhone 6sが発売されましたね。販売状況を見てみましたが、都内だと新色以外なら待ちなく買えるようでした。 今回はどこもこんな感じなんでしょうか。 さて、5sを使っている自分は、来月で使用期間が2年になり、キャリアに依存した買…

2つのHHKB

会社で使っていたキーボードを持ち帰ってきたので、家のキーボードと並べてみました。 上が家の(Type-S)で、下が会社の(無印)です。会社のはだいぶ黄ばんでしまっていますね。 買ったタイミングとしては家の方のがちょうど1年くらい遅いので、無印が5年…

テストでハマるInvocationTargetExceptionとIE80リケーブルの話

privateメソッドの例外発生テスト メソッド単位にテストを書いていると、privateメソッド単体の試験をしたくなるときがありますが、 リフレクションを使ってテストした場合は、例外の扱いに気をつける必要があります。 というのも、リフレクション中に例外が…

【Java 8】突然のfor文禁止に泣かないためのlambda練習(文字列長の比較)

for文禁止かlambda禁止か Java 8を利用することになると、恐らくこの話が出てくるのではないかと思います。 というのもfor文で書くコードは、基本lambdaでも書けるわけで、 そうなるとコーディング規約としてはどちらかに寄せないといけない、みたいなところ…

Kickstarterの楽しみ方

最近、Kickstarterの動画を観るのにハマっています。 www.kickstarter.com Kickstarterは、クラウドファンディングの場を提供しているWebサイトで、 ユーザはプロジェクトの出資を求める側と、出資する側、どちらにもなることが可能です。 出資を求める側は…

(改訂)ちょっとカウントしたい文字数を変更したいときのHTML

覚えていらっしゃいますか? 以下のブログの記事に私が書いた1文を。 ちょっと文字数をカウントしたいときのHTML - White Box技術部seri.hatenablog.com JavaScriptの方がメインなので、そちらの解説をした方が良い気がしますが、それほど難しいことでもない…

JUnitとMockito+PowerMockでテストケースを書いてみよう

最近テストばっかり書いていたので、 いい機会ですし、学んだり、考えたりしたことを、 私がテストを書くときに気にしていることと合わせて、まとめてみます。 あと、今回初めてMockitoとPowerMockを使ったので、 テストはそれらを使う場合にフォーカスして…