読者です 読者をやめる 読者になる 読者になる

冥冥乃志

ソフトウェア開発会社でチームマネージャをしているエンジニアの雑記。アウトプットは少なめです。

follow us in feedly

Programming

【縛りプレイ中】Codenvy(Eclipse Che)でGradleのプロジェクトをまともに使えるようにしたい(その1)

まだまだ諦めておりませんよ?むしろコード書くより楽しくなってきています。 Codenvy(Eclipse Che)でGradleプロジェクトを扱う場合の問題点 そもそもGradleは公式で対応していないから修羅の道な訳です。大きくは以下2点。 Stackも公式から出てない(docker…

【縛りプレイ中】Eclipse CheをDockerで使えるかどうか検証してみて挫折した

縛りプレイの一環です。 Eclipse Cheとは? Eclipseが作っているクラウドIDEとワークスペース管理を統合した環境です。コードエディターはOrionを使っている模様。 CodenvyがEclipse Cheを利用するサービスを提供しています。 Dockerイメージが公開されてい…

rocker/rstudioイメージでplotを使うときに文字化けしないようにする

今読んでる本の写経で、Rを使っています。 アクセンチュアのプロフェッショナルが教える データ・アナリティクス実践講座作者: アクセンチュアアナリティクス,工藤卓哉,保科学世出版社/メーカー: 翔泳社発売日: 2016/05/31メディア: 単行本(ソフトカバー)…

Docker for Macのホストについて誤解を修正したのでメモ

rocker/rstudioを動かしていた時に、DockerfileのVOLUME指定がどこにマウントされてるのかなあ、と疑問になって誤解していたのに気付きました。 普通に立ち上げたrstudioのコンテナに対して docker inspect 叩くとマウントはこんな感じになります(抜粋)。 "M…

Embulkで検証中に引っかかったことメモ

前回、こんな感じでRe:dashよりも先にやることがあるだろう、と気づいたわけです。 mao-instantlife.hatenablog.com というわけでEmbulkで各種データソースの読み込みから始めています。 Embulkとは? バルクデータローダーです。inputとoutputの形式が各種…

Neo4Jの検証メモ

SpringBoot 1.4が対応したみたいなので、これから先に予定している機能のこともあり、用途の検討も含めて少し使ってみました。なお、SpringBootからの利用ではなく、Neo4Jそのものの検証です。 そもそもNeo4Jとは? 大体以下から大まかに抜粋。 neo4j.com Ne…

受入テストを整理したいと思ってやってること

まだまだ途中なんですが、とりあえず今こういう方向性でツールを触ってますよ、といったあたり。この用途だったらこっち使うべきだろう、というのがあったら知りたかったり。 なお、今回はツールの切り出しをしていないのでリポジトリの納品はございません。…

Rustの勉強(その12)

この辺は概要覚えててもハマって泣きながら体で覚えた方がわかりやすそうな気がしてます。というわけで前回の続き。 mao-instantlife.hatenablog.com Borrowingによる問題を防ぐ イテレータの無効化 こんなことをするとエラーになります。 let mut v = vec![…

フロントエンド周りについて少し検証してみた

とりあえずリポジトリをご査収ください。 github.com なんで今更? デザイナさんとの協業自体はすげー楽しいんですけど、作ってもらったデザインをどうやって円滑にアプリケーションに組み入れるかという必要に迫られております。。。 大体考えている課題は…

Rustの勉強(その11)

結局前回の部分は完全に理解できておりませんので、続き。 mao-instantlife.hatenablog.com Move Semanticsの詳細 子ブロックであろうと、関数のコールであろうとバインディングのオーナーシップが移動します。オーナーシップの移動はブロックを抜けても有効…

Rustの勉強(その10)

何かを作ることをあまり目的とせず、英語のドキュメントを読書する的なアプローチで勉強を進めております。Feedlyの未読をキュレーションしてBitBarに、とかは考えてるんですが。というかその前にBitBarちゃんと使えよ、とか。 mao-instantlife.hatenablog.c…

gradleのマルチプロジェクト環境でマイグレーション専用のプロジェクトを作った話

タイトルだけで何をやったか想像がついた方はお疲れ様でした。とりあえずなんだかんだはまりながらたどり着いたので、もっとできる人からもっと効率の良いやり方のまさかりが飛んでくることを期待しつつ。 背景 Webアプリケーションとバッチで構成されるサー…

Rustの勉強(その9)

ちょっと間が空いてしまいました。妻が入院していて勉強どころではなかったので^^; mao-instantlife.hatenablog.com というわけで前回の続きです。 関数の続き Diverging Function(発散関数?) 返ってこない関数のための特殊なシンタックスを言うらしいです…

Rustの勉強(その8)

チュートリアル終わったので、syntax and semanticsで深く行きます。 mao-instantlife.hatenablog.com 変数のバインド 大体のパターンはチュートリアルに出ていますね。 let x = 5; // 型が推測できる場合は省略可能(xの型はi32) let (x, y) = (1,2); // let…

Rustの勉強(その7)

チュートリアルはこれで最後であります。 mao-instantlife.hatenablog.com 前回の続き。 チュートリアルのソース全体像 やってる間にドキュメントの構成が変わったようで、食事する哲学者の問題とかRust Inside Other Languageとかがなくなってます。という…

Rustの勉強(その6)

前回の続きです。ところでタブ固定してたんで気付かなかったんですが、この食事する哲学者の問題のチュートリアル、公式のドキュメントにリンクが見当たらないようになってるんですけど、どういうことでしょうね? mao-instantlife.hatenablog.com expressio…

Rustの勉強(その5)

英語がね、体調によって読める精度がかなり変わるんですよ。。。 というわけで前回の続き。 mao-instantlife.hatenablog.com 処理のループ 前回までの状態だと一回の試行でプログラムが終わってしまうので、正解するまで帰れま10にします。 とりあえず無限ル…

Rustの勉強(その4)

前回の続き。すこーしRust書いてる感が出てまいりましたよ。 mao-instantlife.hatenablog.com 比較とパターンマッチ use std::cmp::Ordering; 〜中略〜 match guess.cmp(&secret_number) { Ordering::Less => println!("Too smal!"), Ordering::Greater => p…

Rustの勉強(その3)

というわけで前回の続き。チュートリアルがエコシステムのざっくり説明になってるので、RustというよりもCargoの勉強中。 mao-instantlife.hatenablog.com Cargoの依存ライブラリバージョン管理 前回、以下のように指定しています。 rand="0.3.0" rand=“=0.3…

Rustの勉強(その2)

前回の続きです。 mao-instantlife.hatenablog.com associated function と method 前回イメージだけで、associated functionはJavaで言うところの静的メソッドと言ってたんですが、公式の説明の仕方も同じだったのであっていたようです。インスタンスメソッ…

Rustの勉強(その1)

とりあえず、VSCodeで開発環境作り直しましたのでね、ようやく公式チュートリアルに沿ってRustの勉強を始めてみます。 www.rust-lang.org 最初はThe Rust Programming Languageを読めと書いてあるので素直に従いましょう。それによるとRustは3つのゴールにフ…

Rustの開発環境を作る(その2:Cargoを使う)

はいそこ、VimとかEmacsとか使ったほうがいいんじゃない?とか言わない。私、どっちのエディタも使いこなせない情弱なんですから。ただ、これを見てからVSCodeでよかったんじゃないの?と思ったのは内緒です。 もじゃった人がVSCodeでの環境構築をブログにし…

Rustの開発環境を作る(その1:IntelliJのプラグインを入れるまで)

先日、気になる技術をピックアップしてみましたが、その中からRustをやってみることにしました。 まずは、Hello World的な簡単なプログラムを書いて、コンパイルして動かす環境を作ってみます。VimやらEmacsやら特定の宗教に帰依していないので、できればInt…

つまみ食い候補の技術の概要を整理した

公式やググった結果をまとめてみたレベルで何が一番面白そうで、心のハードルが低いか確認します。 Apache Drill Apache Drill - Schema-free SQL for Hadoop, NoSQL and Cloud Storage スキーマフリーなデータを扱うためのSQLクエリエンジンで、1/10時点で…

gradle-dockerプラグインでDockerfileをビルド時に生成する

前回の続き。要改善点を退治していきます。 mao-instantlife.hatenablog.com 【おさらい】要改善なところ プラグインのGlobal configurationに registry を指定するための項目があるが、リポジトリ名生成で反映されている感じがしないので確認してみる Docke…

Tutumのプライベートレジストリにプッシュしてみる

ちょっと前ですがこんなことをやったので続きです。 mao-instantlife.hatenablog.com Tutumのプライベートレジストリ Dockerのライフライクル管理に関する機能については前回触れましたが、各ユーザに対してアカウントごとに10個 *1 のプライベートレジスト…

Docker運用サービスのTutumをお試ししてみた

先日からdockerとdockerホストをハンドリングして保守部門を巻き込んで運用体制できないかなあ、と考えて作り始めたツールがあるんですが、それを完全にいらない子化してくれそうなサービスを見つけたので、期待を込めてお試ししてみることにしました。 なお…

ScalaプロジェクトをCircleCIで特定のブランチのみビルドしてDockerHubにプッシュしてみた

本当なら前回で片つけるつもりだったんですが、踏み抜いてしまいましたので別エントリに。ってか今回はほぼ公式をなぞっただけ。 CircleCIでDockerイメージをビルドしてDockerHubにpushする circleci.com 公式にそのまんまサンプルがあるので参考にしましょ…

ScalaプロジェクトをCircleCIでビルドしてカバレッジをとってみた

カバレッジ100%とか馬鹿なことは言いませんが、テスト書いてなさすぎるとかないよね、という指標にカバレッジを使う価値は十分にあります。テスト自体は流せているので、せっかくなのでカバレッジも取得しましょうか。自分のプロダクトで取るの慣れておきた…

ScalaのプロジェクトをCircleCIでビルドしようとしたけど依存するツールで心折れかけた話

ScalaもCircleCIも悪くないんです。外部のツールを使うアプリケーションのビルドが面倒だというだけの話。。。 DockerイメージをビルドしてDockerHubにpushするところまではできたので、次の段階としてGithubにpushしたらテスト流してイメージビルドしてDock…

ScalaプロジェクトのDockerイメージを作ってDockerHubにpushする

今作ってるアプリケーションはコマンドラインツールとして使う予定なのですが、graphvizとpandocがインストールされている環境に依存しています。 github.com インストールしてから使ってね、でもいいのですが、どうせなのでgraphvizとpandocがインストール…

Ammonite-Opsがかなり理想的な使い勝手だった件

最近、会社で使うツール類のコードを書いていて「シェルでやれよ」的な処理に出くわすことが多いんですよ。ファイル操作やら外部コマンドの実行やら。で、シェル書いて、というのも考えるんですけど、永続化とか処理そのものの構造化とか考えるとプログラミ…

SpringBootプロジェクトをScala + sbtで構築する

なんでわざわざScalaでやる必要が、というツッコミがありそうですが、今作ってるものが外部コマンドを結構使いそうなアプリケーションで scala.sys.process 使えると良さそうだなあ、と思っただけ。PlayとかよりSpringBootの方が楽そうなんですもの。 ちょう…

【追記あり】CircleCIを使ってJavaリポジトリの静的解析などのレポートを見る

我が社の(元)jenkinsおじさんがCircleCI推しなので、ちょっと調べてみることにしました。今更かよm9 という突っ込みは甘んじて。 なお、今回はプロジェクトの構成側に問題があって、まだCircleCIには移行していません。検証内容のまとめです。 何のために 私…

Docker Swarmを使ってみた

Dockerおじさん業はまだまだ続きます。理想のかっこいいデプロイ環境を作りたいんですよ、こんてぃにゅーあすでぷろいですよ。 Docker Composeを使うとコンテナのスケールは簡単にできる訳ですが、負荷分散の面でいうとホスト自体も分けてスケーリングしたい…

Docker Toolboxについて調べてみた

こんなことをしてる間にDocker Toolboxがリリースされていました。 社内サーバにDocker Registryを作ってイメージをやり取りしてみた - 冥冥乃志mao-instantlife.hatenablog.com 公式のドキュメント上でも、Dockerやそれにまつわるツール類(Docker Machineな…

社内サーバにDocker Registryを作ってイメージをやり取りしてみた

こんにちは、Dockerおじさんです。前回こんなことをやりました。 【追記】docker-composeを使って環境ごとにprofileの異なるSpringBootプロジェクトのサーバ立ち上げを少しでも安心できるようにする - 冥冥乃志mao-instantlife.hatenablog.com 今回はこれの…

【追記】docker-composeを使って環境ごとにprofileの異なるSpringBootプロジェクトのサーバ立ち上げを少しでも安心できるようにする

こないだこういうことをやりました。 Spring Bootでローカル環境と本番環境で異なるDBMSを使う - 冥冥乃志mao-instantlife.hatenablog.com 結論として、環境変数SPRING_PROFILES_ACTIVEをセットすれば良いんじゃないかという所までは行きましたが、まだまだ…

【追記修正】Spring Boot JPAでTableアノテーションを使ってテーブル名を指定する時の注意事項

既存のデータベース使う場合はNamingStrategyのデフォルトに注意、というお話。 こないだの続きで、別のSpring Bootを使って既存のデータベースのテーブルからデータを引っ張りだすAPIを作っていたら、ちょっとトラップにはまってしまったのでまとめます。 …

中国DB勉強会のDDDハンズオンお題を2イテレーションやってみた

こないだのハンズオンのお題「有料無人駐車場」をDBじゃなくて、アプリケーションの方からやってみました。 中国DB勉強会でDDDの話をしてきた - 冥冥乃志mao-instantlife.hatenablog.com 1stイテレーション まずは、駐車場でビジネスが成り立つ最小単位のモ…

Spring Bootでローカル環境と本番環境で異なるDBMSを使う

Spring Bootでプロファイルごとに異なるDBMSを使うように接続情報を分ける、プロファイルごとのhibernateの初期設定を変更する、ということをやったので、備忘録的にメモ。 背景 既存にある別のプロダクトのデータを取得するREST APIを作り始めたのですが、…

SpringBootCampの予習がてらSpring Bootを味見してみた

Spring Boot Camp@岡山に参加キメた割にはSpring Bootそもそもよくしらないので、予習を兼ねて少し触ってみました。フレームワーク味見の第2弾です。今回も闇を見ずに終わりたいと思います。 Spring Boot Camp@岡山okajug.doorkeeper.jp なお、そもそもSpri…

Intel Galileoで遊んでみる(Lチカ編)

買っちゃいました。だって安かったんだもん(2,000円也)。 買っちゃった♪ pic.twitter.com/gqevSPRR5M— あべさん@一人アレグザンダー祭 (@mao_instantlife) 2015, 5月 16 「何に使うの?」なんて聴いちゃいけません。それは買ってから考えるんです。 ちなみに…

Grailsを味見してみた

気まぐれに技術系のエントリ。Grailsを触って感じたメリットやデメリットのメモです。 ちなみに「味見」とは「フレームワークの闇を見ない」ことを意味しております。ちょいちょい仕事でフレームワークやアーキテクチャの選定結果なんぞをレビューするように…

Dropbox4S 0.2.0をリリースしました

今回は技術的には(自分の中で)ほとんど新しいことをしていないので、リリースノートレベルですね。Shinsuke-Abe/dropbox4s · GitHub dropbox4s リリースノート 大まかには0.1.0で未対応だったDatastore APIとCore APIへの対応とScalaの2.11への対応です。 共…

Scalaで書いたWeb APIのライブラリとWerckerを連携させてみた(一時的に)

Werckerについては werckerでrspecとcucumberのCI環境を作る - zephiransasのチラシの裏 を参考にどんなものか掴んでもらうと良いかと思います。GithubやBitBucketのリポジトリと連携してCI環境を提供してくれるサービスです。 今回は、私が作っている Shins…

ここ数週間の雑多なメモ

あまり大きなネタになることはしていませんが、勉強会参加してインスパイアされて諸々してみたり、前に挫折したことに対して調査して再チャレンジしてみたりしていたので、メモとして残しておきます。 AutomatorでScalaを動かしてみる 7/26にあった岡山Ruby,…

Dropbox4Sをリリースしました

このご時世にWebサービスやアプリも作らず、大きなネームバリューをもたらすライブラリのコミッタでもなく、まだ誰も手をつけてない革新的なライブラリというわけでもなく、小さ目のWeb APIライブラリばっかり作ってるのもなかなか乙なものです。そこはかと…

RegexParsersでパーサコンビネータ書くときの注意点

まあ、仕様とかソースをよく読めという話に帰着はするんですが、軽くサンプルを読んだのみで突き進んだ結果、思いっきりハマってしまったので、他の人が私と同じ轍を踏まなくて良いように残しておきます。パーサコンビネータの利用法というよりは、こういう…

ScalaFXのgiter8テンプレートを作った

目的 Scala発火村 in 天領倉敷 - 天領倉敷Scala | Doorkeeper に向けて、何か新しい物を作ってみたいので、そのためのgiter8テンプレートを作っておこうと思いました。 作ろうと思っているアプリは以下です。 デスクトップアプリ 写真とイメージをタグ付け …