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

えらちおごはん

汚ねえメシ画像と学んだことのメモ

『たのしいRuby』を読んだ

エンジニアとしてJavaしかできないのってどうなの、という気持ちがあったのと、仕事でRubyを読む機会が出てきそうだったのもあって、勢いで購入しました。

たのしいRuby 第5版

たのしいRuby 第5版

帯に「初心者の気持ちを裏切らない出来になっています」とある通り、プログラミング初心者でもつまずかないよう、丁寧に書かれてる印象で、とにかく分かりやすい。
他の言語の経験者としては、『初めてのRuby』とか『プログラミング言語 Ruby』をあたりを買うべきなんだろうけど、日和ってこっちにしといて良かったです。

初めてのRuby

初めてのRuby

プログラミング言語 Ruby

プログラミング言語 Ruby

あとは、Ruby初心者のJavaおじさんとしては、

  • 標準ライブラリが強力
    • Javaでやるとしんどそうことがさらっと書ける
  • 型システムがない
    • Javaならコンパイルエラーになるようなことも書けてしまう
    • 実行するまで型のエラーを検知できないのは不安

という感想を持ちました。型安全じゃないとすげー不安な気持ちになるんだけど、みんなそんなことないんだろうか。

以下は自分用の読書メモです。
gist.github.com

Struts2×SpringFramework×MyBatisでWebアプリ書いた

前の職場のコード資産に頼らずにWebアプリをどこまで書けるのかがどうしようもなく不安になってしまったので、気持ちをなだめるためにTODOリストを実装した。

github.com

大したことは書いてないし、技術的な挑戦もないんだけど、丸2日かければとりあえずこれくらいのことはできるんだな、という結果が得られたので、精神の安定には繋がったと思う。文系卒でも、五年くらい働いていればこれくらいのことは出来るし、レジ打ちしかできなかったあの頃を思えば圧倒的成長。
記憶が風化してしまわない内に、技術メモ的なものを残しておく。

Struts2

言わずとしれたWebアプリケーションフレームワーク
今回の実装では、

  • ZeroConfigurationを使った画面遷移&パラメータ受け渡し
  • Struts標準タグを使った画面の実装
  • SpringFrameworkとの連携(struts2-spring-plugin)

あたりの技術を使っています。 スキルの棚卸的な観点としては、

あたりも押さえておくべきなんだけど、今回は見送り。
ZeroConfigutation周りとか結構忘れていて、最初の画面遷移でかなり時間を使ってしまった……。どのサイトもスペルミスやら誤字やら多いので参考URLはなし。

SpringFramework

こちらも有名なWebアプリケーションフレームワーク
フレームワークとしてカバーしてる範囲が非常に広くて、SpringMVCとか、SpringBootとか、そもそも使ったことないものも多いんだけど、今回は以下を使用。

  • DI(Dependency Injection)
  • SpringSecurityを使ったログイン認証

ちょっと見ない内にメジャーバージョンが変わっていて(2.x系を使ってたんだけど今回は4.x系を使用)、SpringSecurityの記法がガラッと変わってしまったためかなり手こずった。

javatechnology.net

棚卸的にはSpringBatchを使ったバッチアプリケーションの実装をやるべきなんだけど、作るべき部品が多すぎるので断念。

MyBatis

バリバリ使ってたORM。バリバリ使ってたのであんまり困らなかった。

  • Mapperファイルを活用して生SQLをベタ書き
  • SqlSession使ってJavaから呼び出し
  • SpringFrameworkとの連携

あと、こちらもちょっと見ない内にmybatis-springなるプラグインが登場していてびっくりした。少し試してみたんだけど、MyBatisとSpringFrameworkの連携が簡単に書けてしまって、オレオレWrapperが横行していた頃を思うと隔世の感があるなと思う。

mybatis-spring – MyBatis-Spring | イントロダクション argius.hatenablog.jp

動的SQLとかのトピックはスルーしたけど、一通りCRUD書いたので割と満足。

MySQL

DB周りはOracleが本業なんだけど、ちょっとした実装のためにわざわざ用意するのはだるかったので、MySQLに挑戦。Oracleしかやってこなかった身からすると「DBの構築ってこんなに簡単で良いの?!」という気持ち。Mac上でも難なく構築できました。

qiita.com

Bootstrap

気持ちをなだめるための実装とはいえ、ある程度画面が綺麗じゃないと気分が乗らないので、Bootstrapも導入。CSSやデザインが苦手でもカッコいいページが作れて良い。

getbootstrap.com

サンプルも充実しているので、今回の実装ではBootstrap themeとSign-in pageの大部分を参考にさせてもらった。

Eclipse

少し調べてみると、MacEclipsePleiadesを導入するのは超ハイパーメディア難しいようです。重くなるのは嫌だけど、おとなしくPleiades All in Oneを利用することにします。

qiita.com

完成

そうこうしている内に完成したので画面イメージを載せておきます。
ログイン画面
f:id:gushernobindsme:20170408233935p:plain

一覧表示画面
f:id:gushernobindsme:20170408233942p:plain

余力があれば、AWS上に構築して触れるようにしたりしたい。

『これから学ぶmacOSターミナル』を読んだ

エンジニアのくせにmacOS全然わからないのがコンプレックスで、今うちに解消したかったので購入。

これから学ぶmacOSターミナル

これから学ぶmacOSターミナル

ターミナルコマンドの使い方の説明だけに終始せず、その周辺領域の知識(macOSファイルシステムがどうなってるのか、とか)についても解説してくれるため、非常に分かりやすかった。「そうそう!これが分かんなかったの!」と膝を打つ感じ。ターミナルしゅごい……。

以下はコマンドを忘れないためのメモです。
gist.github.com

『はじめてのAndroidアプリ開発』を読んだ

先日、エンジニアの友人と話してて、Android開発に興味を持ったので読んでみた。

「Rクラスって何?」みたいなレベルの疑問まで詳細に解説してくれるので、Android初学者にはありがたかったです。同時期に『基本からしっかり身につくAndroidアプリ開発入門』という本も読んだんだけど、こちらはAndroid初心者には難しくて、黙々と言われるがまま写経する感じになってしまった……。今であればもう少しちゃんと読めるのかも。

いずれにせよ、Javaの基礎知識が前提になる本なので、購入される方はその点踏まえて各自やっていくと良いと思います。

以下は自分用の読書メモです。
gist.github.com

炊飯器☆ツナとブロッコリーのキッシュ風☆

ツナ缶レシピを探し求めていたらここにたどり着きました。
cookpad.com

早速やっていきましょう。

まずは、卵、牛乳、コンソメを炊飯器に投入。よくかき混ぜたら、ツナ缶も投入。油を切って〜、とありますが、忘れてもなんとかなります。で、並行してブロッコリーを水洗いして茹でておきます。
https://www.instagram.com/p/BPR72BohlYx/

ブロッコリーが茹で上がったら、このよく分からないマテリアルに投入します。あとは炊飯器にセットして、炊飯ボタンを押すだけ。
https://www.instagram.com/p/BPR76tEh7ra/

できた
https://www.instagram.com/p/BPR8BX8BnOK/

皿に盛り付けて完成。
結婚式の引き出物でもらった、アマノフーズのお味噌汁と一緒にいただきます。
https://www.instagram.com/p/BPR8Q3xh65z/

卵がフワッフワでうまいうまい。卵をまとめて4個消費できるので汎用性高いし、何より簡単にできるのでオススメです。硬めに焼いたキッシュが好きな人には向かないかも。
で、本日のレシート。

食材 値段
コンソメ顆粒 ¥188
明治おいしい牛乳 ¥145
まろやかたまご ¥158
ブロッコリー ¥148
合計 ¥639

ウン年前に買ったコンソメを使えばもう少し節約できたと思うんですが、なんかしっとりしてきてるのでやめました。古のエンシェント調味料シーズニングとかアホなこと言ってないで、ちゃんとした調味料を買ったほうがよさそう。本日はこの辺で。

お肉3パック1000円定食

近所のマルエツがお肉3パック1000円セールをやってたので、豚ロース200g×2と豚コマ200gを買いました。久々に味噌汁も作りたかったので定食風にしてみます。

作り置き

さすがに食べきれなかったので、残りは作り置きにします。
https://www.instagram.com/p/BPCpTVWB1NZ/
作り置きの様子です。これであと三日は戦える

本日のレシートはこんな感じ。

食材 値段
肉3パック ¥1,000
野菜水煮 ¥98
煮豚のタレ ¥162
昔ながらのもめん ¥56
油揚げ ¥90
ピーマン ¥58
合計 ¥1,464

3日間戦ったと仮定すると1食500円で意外と安い。今回は理性をもって食べていきたい所存です。本日はこの辺で。

キャベツとツナのくったり煮

こないだのキャベツの残りがあったので煮ました。レシピはこれ↓
cookpad.com

https://www.instagram.com/p/BPCnCBVhSvI/
これは本日の食材。ツナ缶とプチトマトとめんつゆはなかったので追加購入。みりんと酒は買い置きのやつを使います。これは賞味期限3年くらい超過してる古のエンシェント調味料シーズニングなんだけど、意外と問題なく使えてます。友達からは早く捨てろって言われる……。

https://www.instagram.com/p/BPCnKqWBOiM/
キャベツを切って鍋に投入。

https://www.instagram.com/p/BPCnR9qhvE7/
めんつゆ、みりん、酒を投入し、ツナとトマトを入れて、くたっとするまで煮たら完成。

https://www.instagram.com/p/BPCnXrYBVme/
みりんの甘味が効いててうまいうまい。キャベツとトマト以外を入れてもうまそうだし、野菜が余った時にまたやりたい。
というところで本日のリザルトです。

食材 値段
ツナマグロ3缶 ¥258
めんつゆ ¥168
ミニトマト ¥298
合計 ¥724

今回は割と安く抑えられた気がするのでこの調子でやっていきたい。
ただ、これ作る前にラゾーナで1,200円もするオムライスを食べてるので節約生活的には失敗ですね。節約レシピ覚える前に、あふれ出る食欲をなんとかしたい。小石でも舐めとけばいいんでしょうか。現場からは以上です。