バーチャルも、リアルも、充実に。

職業はWEB系エンジニア。趣味でボカロ文化を楽しんだり、プログラミングをしたりしています。

Maven環境で、ビルド時にOutofMemoryエラーが発生する時の対処法

Maven環境で、Java VMのヒープサイズが足りず、ビルド時にOutofMemoryエラーが発生する場合があります。
この場合、MacのターミナルとIntelliJで解決する方法をそれぞれ紹介します。

まず、Macターミナルの場合は、下記のコマンドで一時的にヒープサイズを増やし、解決することができます。

export MAVEN_OPTS=-Xmx3072m

自分の場合は3072m(3GB)を割り当てましたが、プロジェクト次第で、必要なメモリが違うので、増やしても失敗する時は、もう少し大きく割り当てて再ビルドしてみましょう。

また、IntelliJ上で解決する場合は、ググってみるとidea.vmoptionsファイル上の-Xmxの値を増やせば解決できるという回答もありましたが、ここで値を修正するのではなく、下のところの値を修正することで解決できました。

 (IntelliJ)Settings -> Build, Execution, Deployment -> Compiler -> Build process heap size (MBytes)

idea.vmoptions上でメモリを増やしても解決できない理由は、ビルド時のコンパイラーは別のJVMで起動するため、idea.vmoptionsで設定した基本オプションは効かないので、上の手順で別途設定が必要だそうです。

また、自分の場合は、こうしてメモリを増やしてビルドが成功する時は、ビルド完了まで5分もかからず、メモリ不足でビルドが失敗する時は、エラーでビルドが失敗するまで30分以上もかかったりしていました。 ビルドに時間がかかりすぎる場合なども、一旦キャンセルし、メモリを増やした後リトライすることも良いかもしれません。

<参考>
https://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryError
https://stackoverflow.com/questions/8581501/how-can-i-give-the-intellij-compiler-more-heap-space

ただの雑談

昨日、久々に秋葉原に行ってきた。
ボカロのグッズや、電子製品などを見て回るためだったが、たまたまボカロのコミュニティーの方が秋葉原にいたので、挨拶して少しお話することもできた。
オフラインでボカロコミュニティーで活動されている方に会うのは初めてだったので、新鮮な経験だった。
また、個人用のMacが欲しかったので、駅近くのほぼ全部の店を見てみて、探していたスペックに近いのがあったので、買ってきた。
今月はちょっと生活が厳しそうだが、個人用のMacができて嬉しい。今までは会社のMacを持ち出しで触っていたので、完全に自分の好き勝手にはできなかったので...

やはりこんな内容を投稿するにはツイッターが向いていると思うし、ツイッターを中心にボカロやエンジニアのオンオフコミュニティーができているようなので、本格的にツイッターも始めてみようかと思う。

令和初の雑談

平成も終わって、今日は令和という新年号のスタート日でもあって、久々にブログに投稿してみる。
3ヶ月ぶりの投稿なので、この3ヶ月間感じたこと、学んだことを全部書いておこう。

1. 会社

3月から新しい会社で働き始めて、色々なことを感じた。
技術スタックがレガシーなものから最新のものに変わったことと、周りの同僚は良い人ばかりだったこと、スタートアップの割には残業も少なくて助かったことなど...
初めての転職で、正直不安も感じたが、僕が求めていたことの殆どが転職することで叶ったと思う。
もちろん、前の会社と比べて色々長所短所があるが、ここに関しては、働き始めて半年になる9月頃に、別途まとめてみたいと思う。

2. ブログ

このブログは開発の話や、個人の趣味の話、雑談など、色々投稿していきたいと思って始めたが、最近はやってなかったので、改めて頑張っていきたいと思う。
特に開発系の投稿については、自分のtodoとか、溜まっている本をただ消化しましたという無駄なアピールをしているのが多かったので、もう少し役立つ内容になるように書いていきたい。

3. ボカロ

マジミラのSSチケットを確保した。
SSチケットを抽選で入れたのは落ちて、他のコミュニティーを参考すると競争率が高く、なかなか当たらないらしい。
なので、宿泊プランを申請して手に入れることができた。こちらもかなり競争が激しく、向こうのサーバー構成もあまり良くなかったかみたいで、 申し込みスタート時間から最後の決済完了までたどり着けず、何度も途中でページが落ちたりして、50分くらいかけてやっと予約ができた。
コンサートを見れるのは確定したので、後は良い場所が取れることだけを祈っている。

ニコニコ超会議も初めて行ってきた。今回のボーマスがニコニコ超会議内で開催されるので、超会議のチケットが要ることで、兼ねて楽しんできたことになる。(ボカロ以外で興味あるものは少なかったので、他のものはあまり楽しまずに帰ってきた)
ボーマス(ニコニコ超会議)は初めてで、凄い行列で待たされると思ったが、意外と時間がかかることなく、スムーズに入場できた。
中でやっている色々なものを楽しみつつ、ボーカロのイベントに参加したり、グッズなどを幾つか買ってきた。
また、今回のイベントで、同人文化で自分が好きなテーマで、好きなものを作って、皆に届ける(今回の場合は販売だが)という熱情や、能力があるっていうのは本当に凄いことだと思った。

4. 開発

前からやりかけの個人プロジェクトを進めたいが、転職して技術スタックが変わったので、こちらの技術の勉強で中々進んでいない。
個人プロジェクトは、あくまでも自己満足のためにやっているので、いったん優先度は下げて、会社で使っている技術の勉強が一通り終わったら、少しずつ再開してみよう。

プログラマのためのDocker教科書を読んだ

docker_textbook_for_programmer

dockerについても、本を一冊読んだので、軽く所感みたいなものを...

dockerは前の会社で少し使ってみたことはあったが、もともとインフラはあまり詳しくなくて、環境も用意してもらったまま使い続けたので、今までもあまり概念や使い方が分からなかった。
転職先ではdocker+GCP(GKE)を使って開発しているみたいで、個人的にもdockerをもう少し勉強しておきたかったため、一旦本を一冊買って勉強してみようの流れで買ってきたのがこの本だった。

この本は、ちょうどdocker使い方からGCP+GKEを連動してサービスを立ち上げていく流れになっていて、dockerの誕生の背景や、ハードウェア&ネットワーク&OSの基礎知識をスタートの部分で分かりやすく説明していたので、インフラにあまり詳しくなかった僕には本当に有益な内容だったと思う。
あと、前回買って読んだ他の本は内容を何回読んでも理解しにくく、くどい印象を受けたが、この本は説明する内容と絵が結構理解しやすかったので、スムーズに読了できた。
次からは、本の内容、チャプターがどれだけ僕が知りたいものにマッチしているか以外も、説明している内容が文章的に分かりやすいかも確認して本を買おうと思った。(前の本、この本両方翻訳版を買ったので、翻訳の質の問題かもしれない)

実習に必要なソースコードGithub上で公開されていて、dockerだけを使うチャプターまでは実習してみた。
AmazonAWSみたいに、GCPもアカウントの作成&初期設定の理解で色々時間がかかるかと思うが、次回復習する時にはGCP&GKEのところまで実習まで完了してみよう。
また、大体の使い方やコマンドはこの本で触れてくれていると思うが、触れていない内容に関しても、公式ドキュメントなど、一通り目を通しておこう。

Refactoringを読んだ

refactoring

リファクタリングについての本も一冊読んだので、軽く鑑賞を書いてみよう。
今回読んだ本は、リファクタリングについて、世界的に有名なプログラマー&著者である、マーティン・ファウラーが書いた本だ。

新卒入社する時に買った本で、本棚に入れておいたままだったが、転職先で大規模のリファクタリング作業を控えているのもあって、一旦時間を割いて一通り読んでみた。

本の内容は、リファクタリングの概念の説明から始め、現場の様々な状況(リソース状況やリファクタリングに対するリーダー&マネジャーの考え方など)を踏まえて、いつ、どうリファクタリングしていくかが書いてあった。
また、著者が今までの開発業務の中で行った、リファクタリング経験談やコツなども書いてあって、当たり前のような内容の中でも改めて意識しておくと良いものが多かった。
後はリファクタリング手法をリスト化した、マニュアルみたいものが本の内容の半分以上で、一回ざっと目を通しただけなので今後何回か追加で読んでおこうと思う。

本が出版された時からけっこう時間が経っているので、ソースコードJavaのバージョンが古いのと、今後マイクロサービスの開発になるので、こちらの概念を絡む必要はあるのだが、それでも有益なリファクタリング方法がたくさん書いてあったと思う。
後は実業務を通じて、覚えた概念を自分のリファクタリングスキルの向上に繋がるようにしたい。

Spring Microservices IN ACTIONを読んだ

spring_microservices_in_action

タイトル通り、Springベースのマイクロサービスについて、本を一冊読んだので、軽く振り返りをしたいと思う。

今回の転職先が、Java(Spring)ベースのマイクロサービス開発をやっているところで、入社前にそもそものマイクロサービスの概念や作り方などを勉強しておきたかったので、一旦この本を買ってみた。
内容については、そもそもマイクロサービスが何なのかから始め、従来のモノリシックサービスと比べて、マイクロサービスの長所や短所、開発する上で検討すべき事項について色々詳しく書いてあったので、大まかな概念は理解出来たと思う。

また、Spring Bootをベースに、Spring ConfigやSpring Security、Netflixオープンソース、メッセージキュー&ロギングなどの使い方についても少し学べた。
本の中の技術が全部使われているわけではないが、マイクロサービスを支えるそれぞれのキーワードやパート(?)についての理解も兼ねてこの本を読んだとすれば、まったく役に立たなかったとは言えない(むしろ、半分以上は本で学んだ技術とマッチしているらしいし)

軽く一読しただけなので、社内で使っている技術のパートは、もう一回詳しく勉強しておこう。
働く環境が変わって、他にも勉強すべきものは多いが、一旦できる範囲で全体的に勉強しておきたいと思う。

巡音ルカ&SNOW MIKU 10th Anniversary cafeに行ってきた

こんばんは、Hanuです。
明日はルカさん(巡音ルカ)の10周年ですね。
今日は、巡音ルカ10周年のお祝いとして、nicocafeでコラボ企画をやってたので、ここに行ってきたレポートみたいなものを投稿したいと思います。
ボカロのネタで投稿するのは初めてですね...では、始めます!

nicocafe_main

今回コラボを行っている、池袋のnicocafeです。
初音ミク10周年記念コラボの時も、写真と同じ感じでやっていたのを行ってきたので、まったく新鮮な印象はなかったですね。
平日の午後だからか、席もだいぶ空いていました。壁の自由に絵を描けるところも、多分明日くらいには、ほとんど埋まっちゃうのじゃないかと思います。
また、雪ミクも10周年なので、合わせてコラボをやってました。
並んでいるディスプレイには歴代雪ミクのテーマ曲の映像が流れていました。2018のものまで流して、巡音ルカ10周年アルバムのサンプルや、ダブルラリアット、ルカルカ★ナイトフィーバー、どりーみんチュチュなど、人気のルカさんの曲も流してくれていました・ω・

drink_menu

コラボメニュー(飲み物)です。今回は、食べ物を1つ、飲み物を2つ頼んでみました。

toeto

ルカの曲、トエトをテーマにした飲み物です。
ストロベリーシロップ、牛乳、ホイップクリームなどが入っているようですが、柔らかくて、甘くて、いちごのミルクティーみたいな味で美味しかったです。
上に載せてあるルカさんは、最初軽く味わおうとしたタイミングで、吸い込まれて食べてしまいました... (;_;)

plate

10周年記念のプレートです。
バゲットの上にマグロを載せたもので、ルカさんのシンボルの素材が使われていましたね。
食べ方がよくわからなくて、ナイフとフォークを使って食べましたが、切りにくくて苦労しました。
味はそこそこ美味しかったです。最後のルカさんがプリントされているお菓子は食べるにはもったいなかったですね。

hello_worker hello_worker2

最後はルカの曲、ハローワーカーをテーマにした、コーヒーを頼んでみました。
飲み物はただのコーヒーに感じましたが、小さな履歴書が下においてあったので、転職したばかりだった僕には微妙に感じられました。(しかも、フォーマットがこの前使っていたものとそっくりでした)
飲んでいる間、ちょうどディスプレイからもハローワーカーの曲が流れてきたので、コーヒーを飲みながら学生時代の就活の思い出や、最近やってた転職活動について少し考える時間を持ちました。
就活する上で直面する困難や悩みなどを、感情的に訴えているような曲ですが、お金を稼ぐために、また競争社会である以上、就活が上手くいかなかったり、やりたいことがわからないまま、仕事を探し続けたりするのは、ある程度仕方ないと、個人的には思います。
それでもこの曲は、学生時代に就活をやっていた時に、僕を励ましてくれた曲なので、今でも大好きな曲の一つです。

etc1 etc2 etc3

その他の写真です。ルカさんのグッズが入っているクレーンゲームもありましたが、引けそうにないので、写真だけ撮ってきました。

ルカさんも10周年なんて、本当に時間ってあっという間に過ぎちゃいますね...
巡音ルカは音色はもちろん、二次創作でも落ち着いてしっとりしていているものが多いので、楽曲も歌詞の意味が深くて真面目なものが多い印象です。
個人的にはボカロ曲の中で、深く色々考えさせられたり、大変な時励ましてもらったのは、特に巡音ルカの曲が多かったですね。
また、このようなボカロ文化が今後も多くの人々から愛されて、楽しんでもらえるように続いてほしいと思います。

以上です。次回も何か参加してきたイベントや投稿できるものがあったら投稿しようと思います。