マイペースなRailsおじさん

Ruby、Ruby on Rails、オブジェクト指向設計を主なテーマとして扱います。だんだん大きくなっていくRuby on Rails製プロダクトのメンテナンス性を損なわない方法を考えたり考えなかったりしている人のブログです。

RubyXLを使ってExcelを編集してクライアントに返す

railsでエクセルを編集してクライアントに返そうとしたときのやり方を残しておきます。 作るもの クライアントがエクセルファイルをアップロードする サーバが受け取ったエクセルに何かしらの変更を加える クライアントが変更されたファイルをダウンロードす…

Rails6.0リリースまでの予定

weblog.rubyonrails.org の非公式な日本語訳です。 Timeline for the release of Rails 6.0 Posted by dhh, December 20, 2018 @ 12:00 am in News Rails6.0に向けて、我々がリリースまでの「楽観的な」予定を公開するのに十分な進捗がありました。リリース…

Ruby on Rails 6.0 beta2がリリースされました

リリースされました weblog.rubyonrails.org このベータ第2版のリリースで、Rails6の最終リリースに向けて、また一歩近づきました。我々は、多くの問題を修正し、いくつかのマイナーな機能の追加を行いましたが、大きな変更としては、オートロードの処理をXa…

Masonry Layoutを使いたい

masonry layout pinterestみたいなレイアウトを、Masonry(石積み) Layoutと言うらしい。 pin.it デモ www.erikjo.com こんな特性のものをmasonryと呼んでる気がします。 サイズの違う要素を並べられる 表示領域のサイズが変わると並べ直す(これがおしゃれ)…

MX ERGO(トラックボール)買いました

買いました。 Logicool MXTB1s MX ERGO です。 裏は金属板と磁石でくっついていて、角度を20度駆られる。かっこいい。 感想 まだ慣れない。親指疲れる。 机の上めっちゃ片付いた。それだけで結構嬉しい。 開封時からところどころ汚れてた。だれのせい。 logi…

SPAを作った

github.com 構成 API Java SpringBoot Spring REST Data UI JavaScript(ECMAScript2015--2018) react.js next.js materialUI DB mongodb 所感 API側はできるだけ楽ができそうなものを使った。 SpringBootはずっと使ってたので特に困らず。 Spring REST Data…

DDDの浅いまとめ

ドメイン駆動設計(DDD)が何なのかわかるまで時間がかかったので、あまり踏み込まずにまとめます。 DDDはわかりにくいか little-hands.hatenablog.com エリック・エヴァンスのDDD本が示しているのは、一つの大きなパターン・ランゲージである。パターン・ラ…

設計について勉強し始めました

私は毎月イテレーションしながら開発しているプロジェクトに参加しています。 メンバーはSIerでSEとして経験を積んできた人が大半を占めています。 明確に設計を行う期間は設けておらず、設計書も作りません。 しかし、コードレビューを受けると、設計が悪い…

日記 久々にプロコン系のプログラムをした

HackerRankでプログラミングをしました。 Dashboard | HackerRank HackerRankの問題では、入出力系の部分はすでに実装されていて、問題になっている部分の関数やメソッドだけを実装すればいいようになっていました。 PaizaやCodeIQでは入出力系も書かなけれ…

日記

コードフィックス直前のラストスパートでした。 結構必死で思い出したけれど、あまり書くことがない。 いくら忙しくても自宅学習の時間はとりたいんじゃ~。 調べたこと npm package.jsonで実行するファイル名を指定できる SRE(サイトリライアビリティエン…

日記

会社の書類に追われていました。 調べたこと - redux - store、reducer、providerあたりの復習 - atomicデザイン - UIパーツを階層にわけて作る - 規模が大きいと、こういうのめちゃくちゃ効いてきますよね - SSR サーバーサイドレンダリング - SPAのJSのダ…

日記 土日は休みたくなってきた。

調べたこと MATERIAL-UI Googleのマテリアルデザインを実装したリアクトコンポーネントライブラリ たいていのUIパーツが用意してあるので、コンポーネントを組み合わせていくだけでそれっぽいページが作れてしまいそう 9 things every React.js beginner sho…

@Mockでモックを初期化する方法は3つある。

mockitoでは、モックにしたい変数に@Mockアノテーションを付けるだけでモックを作れます。この場合、アノテーションを有効にする記述をする必要があります。アノテーションの有効化は、initMocksを呼び出す、Runnerを使う、Ruleを使うの3つの方法で行えます…

飲み会あったので日記つけるのつらかった

調べたこと gitのコンフリクト checkout --theirs [ファイル名]とcheckout --oursを駆使する やったこと 社用PC壊れたので環境構築 - docker for windows - mysql workbench - intellij - windows subsystem for linux 考えたこと Windows 10 Enterprise Edi…

Mockitoメモ

呼び出し時の変数を使って値を返すスタブ doAnswer (かwhenのthenAnswer)を使うと、スタブの呼び出しの引数を使って返値を決めることができます。 doAnswer 例えば、スタブの返す値を引数によって変化させたいとき、引数と返値のマップを用意しておくとこの…

日記

調べたこと mockito verify() メソッドが呼び出された回数を検証する doAnswer() メソッドの引数を使って返値を設定できる eclipse local history 半日かけて書いたコードをEclipse上で消してしまった。 ゴミ箱にはいかずに消えていた。 Local Histryを使う…

日記(トピック: JavaのflatMapがちょっと気に食わない)

調べたこと systemdのsystemctl stopの挙動 書いたsystemctl stop serviceは何をしてくれるか guava GitHub - google/guava: Google core libraries for Java Javaのユーティリティ系ライブラリ 冗長な記述を短くできる。特にCollectionが使いやすくなる Imm…

書くことに慣れたいので目標を考えました

毎日いろいろ調べてはいるけど記事にしようと思うと手が止まります。 調べて発信する力は非常に役に立つ力だと思うので、目標を決めて取り組みます。 目標 3か月後、未知の技術を調べる~記事にするを2時間でできる。 1カ月後の目標 記事を書くのにかかる時…

Object.equals()とObject.hashCode()のデフォルト実装

java.lang.Objectのequals()とhashCode()の実装について調べました。 Object.equals() JDK 8 での実装は下記の通り、参照値を比較しているだけです。 public boolean equals(Object obj) { return (this == obj); } jdk8u/jdk8u/jdk: a71d26266469 src/share…

Spring BatchのReaderである程度複雑なことをする

やりたいこと Readerである程度複雑なことをしたい。 ある程度複雑なこととは、例えば 複数のテーブルからデータを読み込んでJavaで結合したい テーブルからすべてのレコードを読み込んだ DBのデータとRest APIのデータを結合したい などです。 Readerででき…

React + Reduxをさっくりと覚えた

こんなのつくりました ytnk531.hatenablog.com (さっくりと)覚えたこと SVG JavaScript React Redux 動機 フロントエンドのコードを読みたい 障害の原因調査が捗りそう 問題 読めない [...array1, ...array2] { key1 } = object {...object1, ...object2} …

reactのstateがごちゃつき始めるくらいまで使ってみた。

stateがごちゃついてなんかつらいなこれ…ってなり始めるくらいまでreact.jsを使ってみました。 初心者なりにつらかったところを記録しておきます。 react.jsの環境構築や使い方については、初心者向けの記事は良い記事がたくさんあるので、そちらにお任せし…

Docker ToolBoxのDocker環境をWindows 10 HomeのBash On Windowsから使う

結論 docker-machine.exe start default docker.exe $(docker-machine.exe config default) run hello-world はじめに Windows 10 HomeでDocker Toolboxで入れたDockerをBash On Windowsを使う方法を説明します。 Docker for Windows + Bash on Windowsだっ…

【メモ】DDD実践ドメイン駆動設計 第1章と第2章

実践ドメイン駆動設計の第1章と第2章を読んだメモ。 DDDへの誘い DDDとは何か ユビキタス言語を使って表現されたドメインのモデルをドメインエキスパート共に作り上げ、そのモデルを反映したソフトウェアを作る手法 ドメイン 組織が行う事業やそれを取り巻く…

Angularプロジェクトをコピーしたらビルドできなかった

Angular CLIで作ったプロジェクトをコピーしたらビルドがコケました。 隠しファイル(ドットファイル)をコピーし損ねてたただけでした(汗) > cp -r angular-app/* . > ng build Cannot read property 'config' of null TypeError: Cannot read property '…

Spring + JSP + JQueryでポチポチしてフォームを増やしたい。

ポチポチしたい フォームをネストして、サブフォームをいっぱい持つParentForm package myspring.web; import java.io.Serializable; import java.util.List; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; publ…