webエンジニアが子育てするらしいですよ

RubyやPython, JSなど、IT関連の記事を書いています

十数年ぶりに公立高校入試の英語を解いみて思ったこと

こんにちは、さもです。

最近ちょくちょく英語を勉強しようと、ラダーシリーズを読み始めています。

www.uosansatox.biz

Level1の美女と野獣とアインシュタインストーリーを読んで、今はLevel2の星の王子様を呼んでいます。

だんだんと読めるようになったところで、今なら高校入試の英語の試験もすらすら解けるはず!と思ったので、ためしに最後の長文読解だけ解いてみました。

問題はこちらです

resemom.jp

続きを読む

RailsでCSVインポート機能を実装する

こんにちは、さもです。

CSVをアップロードしてデータの一括投入機能はよくあると思いますが、最も基本的な実装をメモしておきます。

イメージはこんな感じです。

f:id:s-uotani-zetakansu:20180214152424p:plain

インポートにはactiverecord-importを使ってバルクインサートしています。

続きを読む

React+Railsで簡単なCRUDを作ってみました

こんにちは、さもです。

先日ついにReactに入門してみました。

www.uosansatox.biz

もともとこの記事はRailsにReactを導入する前にReactのチュートリアルで基礎を覚えようと言うものでした。

めでたく基礎をクリアしたので、いよいよRailsへ導入して、簡単なCRUDを作ってみました。

完成形はこんな感じです。

ソースはこちらにあります。

続きを読む

SyntaxError: unknown: Adjacent JSX elements must be wrapped in an enclosing tag

こんにちは、さもです。

Reactで以下のエラー

SyntaxError: unknown: Adjacent JSX elements must be wrapped in an enclosing tag

の対処法メモです。

エラーメッセージにも書いてありますが、Reactのreturnは1つのタグしか返せないので、例えば、

class UserList extends React.Component
  ~~略~~
  render (
    <button>更新</button>
    <ul>{users}</ul>
  )
end

のようにすると、renderはbuttonタグとulタグを返そうとするのでエラーになります。

この場合は、

class UserList extends React.Component
  ~~略~~
  render (
    <div>
      <button>更新</button>
      <ul>{users}</ul>
    </div>
  )
end

としてあげるとOKです。

スポンサーリンク

Reactチュートリアル+追加課題やってみました

こんにちは、さもです。

ブログなど漁ってみて、RailsへReactを導入してみようと思ったのですが、理解が及ばず。

まずはちゃんと入門してからにしようと、Reactの公式チュートリアルとチュートリアルの最後に書かれている追加課題をやってみました。

難しかったですが、なんとなくReactについて分かったような気がしなくもないです。

こちらのレポジトリにプッシュしています。

github.com

続きを読む

レコード数が多いテーブルの一覧はselectしておこう

こんにちは、さもです

タイトルの通りですが、レコード数が多いテーブルを一覧表示するような場合、しかも一部のカラムしか使わないときは、allではなく、selectを使った方が速かったです。例外もありました。

今、名前、メールアドレス、id、登録日時、更新日時、削除日時を持つEmailモデルに16000件レコードが入っているとします。

このとき、Email.allEmail.select(:name, :email)のSQLの速度を計ってみたいと思います。

結果は以下のようになりました。

続きを読む