Tatehito's Blog

アプリ開発、ゲーム、子育て、etc・・・

開発

O/Rマッパーの採用・不採用で意見が割れている

リードエンジニアの方と別のメンバーの間でO/Rマッパーを採用するか否かで意見が割れている。正確にいうと、議論しているわけではなく各々のやり方で進めちゃってる感じ。 別のメンバーの方が採用しているO/Rマッパーは、ツールを導入しておらず独自にそれ専…

Railsでチームメンバー管理システムをつくった(DB設計学習第一弾)

実務でゼロからDB設計をしたことがないので、「DB設計筋」をつけるためのトレーニングをしている。具体的に言うと、映画館の発券システムやラーメン屋の注文システムなど、世の中の業務をネタにDB設計を行い、Railsで実装して正しく設計できているかを検証す…

【Rails】『omniauth-twitter』でログイン機能を実装する手順

いちいち思い出すのが面倒なので手順を記録しておく。なお『devise』と連携して実装する場合はこの通りでは無い。 確認環境 1.TwitterAPIの登録 2.Gemのインストール 3.APIキーの登録 4.Userモデル作成 5.Sessionコントローラー作成 6.ヘルパー…

JavaScript実行環境『Node.js』について調べてみた

使ったことのない技術について調べてみたシリーズ、今回は『Node.js』について。 Node.jsとは? 一般的にJavaScriptというのはWebブラウザ上(フロントエンド)で動作する言語である。 フロントの実装をする上ではなくてはならない存在なわけだけど、「JavaS…

『ゲームソフト管理サービス』の開発振り返り。開発期間を短縮するにはどうしたら良かったか

2019年の振り返り記事でも少し紹介した、遊んだゲームを記録できる『ゲームソフト管理サービス』というアプリケーションを、細々とつくっていました(正式サービスとして公開する予定は今のところありません)。 このアプリの規模は画面数が4、テーブル数が2…

仮想化OSS『Docker』について調べてみた

知らない技術やキーワードと出会ったら、概要だけでも調べておくべきである。 ......と技術者として至極当たり前のことをふと思ったので、箇条書きレベルですが、調べた内容をブログに残しておきます。 今回の調査対象は『Docker』です。 Dockerとは? 『Doc…

【Rails】開発環境をSQLite、本番環境をPostgreSQLで構築すると後々面倒なことになるかも?

RailsのデフォルトDBはSQLiteです。一方、アプリケーションを簡単にデプロイできることで人気のPaaSであるHerokuのデフォルトDBはPostgreSQLです。 Railsでは環境ごとに異なるDBを利用している場合でも、基本的に問題なく動作します。かの有名なRailsチュー…

migrationファイルの生成・記述方法のまとめ【随時更新】

Railsにおけるmigrationを使ったテーブル定義の変更方法は、Qiitaを筆頭に、ちょっとググればすぐ出てきます。大変ありがたいのですが、一向にmigrationファイルの書き方を覚えられないし、毎回ググるのも面倒になってきたので、「自分のブログを見れば全部…

「Rails6でSemanticUIのJavaScriptを読み込む方法(ドロップダウン・アコーディオン等を使いたい!)」という記事をQiitaに投稿しました

Semantic UIはシンプルで洗練されたデザインが魅力的なCSSフレームワークです。以前はBootstrapを利用していましたが、個人的にデザインが好みなのと、部品の種類が多いので、いま開発しているアプリではSemantic UIを利用しています。 さて、Railsではseman…

【RubyGems】エラー画面が見やすくなるgem『better_errors』を試してみた

Railsのエラー画面をリッチにするgem『better_errors』を使ってみたので、導入方法を紹介します。 こんな感じでリッチになる。 使用バージョン Ruby 2.6.3 Rails 6.0.0 better_errors 2.5.1(現行の最新版) binding_of_caller 0.8.0(現行の最新版) インス…

【RubyGems】簡単に認証機能がつくれるgem『devise』を試してみた

はじめに つぎにつくる予定のWebアプリでは、認証(ログイン)機能を実装しようと思っています。そこで認証機能を実装するためのgemで有名な『devise』の最低限の動作確認をしてみました。 環境は以下の通りです Ruby 2.6.3 Rails 6.0.0 devise 4.7.1 (現時…

選択値を維持したままセレクトボックスを複製する方法【JavaScript】

知っていればなんて事ないですが、知らないと躓くポイントになるのでメモしておきます。 cloneNodeでHTML要素(ノード)を複製できます。ですが、複製対象をセレクトボックスとした場合、考えなしに複製すると、セレクトボックスの選択値がリセットされて複…

名前が「ン」で終わるポケモンの数をRuby2.7の新機能「Enumerable#tally」を使って数えてみた

はじめに 開発・公開中の『ポケモンしりとり』は、ポケモンの名前を使ったしりとりです。ルールは通常のしりとりと同じなので、名前の語尾が「ン」で終わるポケモンを回答すると負けになってしまいます。 www.pokemon-shiritori.com 現在、ポケモンは809種類…

【Rubyで競プロ】よく使う、標準入力を扱う方法あれこれ

はじめに 最初はRubyの勉強のために始めた競技プログラミング(以下競プロ)ですが、最近はほぼ趣味として取り組んでいます。いずれは競プロに適しているとされる、コンパイル言語のC++で取り組んでみたいとは思っているものの、まだRuby学習中の身なのでし…

『ポケモンしりとり』を24時間稼働するようにした(Heroku無料プラン)

画面表示に30秒かかってしまう問題 『ポケモンしりとり』はHeroku上で動作しています。Herokuは無料プランであっても、クレジットカードを登録しておけば月1000時間まで利用することができます。30日間 = 720時間なので、アプリケーション1つであれば24時間…

『ポケモンしりとり』に回答時間ボーナス機能を追加しました!(機能と実装方法の紹介)

はじめに 初回リリース以降放置気味だった『ポケモンしりとり』ですが、このたび新機能を追加致しました! 「素早く次のポケモンを回答するとボーナス点が加算される機能」です。 これまではシンプルに「しりとりが続いた回数」がそのままスコアになっていた…

ペアワイズ法(オールペア法・ペア構成テスト)とは【テスト技法】

はじめに 調べてみると昔からある有名なテスト技法のようで、知らなかったのが恥ずかしいのですが「ペアワイズ法」を知ったので紹介。 ※ペアワイズ法は「オールペア法」と呼ばれることもあるようです。『はじめて学ぶソフトウェアのテスト技法』では、「ペア…

競技プログラミングサイト『AtCoder』の初心者向け問題を終えた感想 → 勉強になる、楽しい

はじめに 以前、プログラミング初学者向けに、プログラミング問題やってみると良いよ~という記事を書きました。 blog.tatehitolog.com 「効率的にプログラミングを学ぶには何かを作ること!」とよく言われますが、いきなりアプリやWebサービスを作り始める…

Qiitaに「Railsアプリケーションで初期データをセットアップする方法あれこれ」という記事を書きました

先日公開した「ポケモンしりとり」では、ポケモンの名前の情報をマスタデータとしてDBに保持させているのですが、現在ポケモンの数は809種類で、とても手作業でデータロードする気は起きません。 ということで、ポケモンの情報が記述されているJSONファイル…

Qiitaに『学習目的で「ポケモンの名前を使ったしりとり」ゲームをつくってみた』という記事を書きました

「ポケモンしりとり」公開しました 「ポケモンしりとり」公開しました!ぜひ遊んでみてください〜!! https://t.co/h7wyLFY3JQ pic.twitter.com/COmtNLRiQS— たてひと (@khattori89) 2019年7月5日 ポケモンしりとり - 無料で遊べる「ポケモンの名前を使った…

【個人開発】『ポケモンしりとり』をつくってます(もうすぐリリース)

『ポケモンしりとり』、つくってます。 Twitterでは何度か紹介したのですが『ポケモンしりとり』を個人開発しています。 Rails + Vue.jsでポケモンしりとりをつくってみました。デザイン整えたら公開する予定です。CPU強い。#ポケモン #Rails #vuejs pic.twi…

bundle install で「--path vendor/bundle」するかしないか問題

今日、こちらのQiita記事を読みました。 qiita.com --path vendor/bundle は、gem のインストール先をプロジェクト固有のローカルに指定するbundle installコマンドのオプションです。 読んだQiita記事は --path vendor/bundleのオプションは、付けたい人が…

SonicGarden伊藤さんのブログを読んで、Rubyのプログラミング問題に取り組んでみた

業務ではJavaを扱っていますが、プライベートではRuby(on Rails)の学習をしています。 『プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)』(チェリー本)を終え、Railsチュートリアルを1周…