Tatehitoの技術メモ

ソフトウェアエンジニアです。いろいろ書きます。

2019-01-01から1年間の記事一覧

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

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

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

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

【Rails】migrationファイルの生成・記述方法のまとめ

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

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

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

感想『Ruby on Rails5 アプリケーションプログラミング』

Railsアプリを個人開発するにあたり、脇に置いておいてサッと参照できるリファレンス本があったらいいなあ、と思い『Ruby on Rails5 アプリケーションプログラミング』を購入しました。 Ruby on Rails 5アプリケーションプログラミング作者:山田 祥寛技術評…

感想『オブジェクト指向設計実践ガイド』

既存コードを修正するのと、ゼロからコードを組み上げるのは難易度が全然違います。既存コードの修正は、既存のアーキテクチャに則ってコーディングするのが基本です。つまり「既存コードを真似して書く」ことができます。 一方、ゼロから組むとなると、自分…

【Rails】エラー画面が見やすくなる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(現行の最新版) インス…

【Rails】簡単に認証機能がつくれるgem『devise』を試す

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

感想『なぜオブジェクト指向でつくるのか 第2版』

オブジェクト指向でなぜつくるのか 第2版作者:平澤 章日経BPAmazon どんな本か 初版2004年のオブジェクト指向の定番本 オブジェクト指向そのものについては、三大要素の紹介程度で、活用方法は深く掘り下げられていない そのかわり、オブジェクト指向が生ま…

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

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

習慣化アプリ『Habitify』の生涯プランを購入した

1か月ほど前から習慣化アプリ『Habitify』の無料プランを使ってきました。無料プランだと3つまでの習慣しか登録できないのですが、1か月使ってみて良いアプリだな、と思ったのでプレミアム版に課金(*1)しました。 『Habitify』はiPhoneやMac、Webで使える…

感想『Webを支える技術』

以前、『イラスト図解式 この一冊で全部わかるWeb技術の基本』という、WEB技術に関するトピックを幅広く取り上げた、図解本を読みました。見開き1ページに解説と図解がセットになっていて頭に入りやすく、Web技術についてザックリと把握したい、という目的を…

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

追記:最新作『アルセウス』までのポケモンで数え直してみました blog.tatehitolog.com 追記ここまで はじめに 開発・公開中の『ポケモンしりとり』は、ポケモンの名前を使ったしりとりです。ルールは通常のしりとりと同じなので、名前の語尾が「ン」で終わ…

感想『はじめて学ぶソフトウェアのテスト技法』

ソフトウェアのテストは事前に作成したテストケースに従って実施(またはテストコードを記述)するのが一般的です。(*1)つまり、「良いテスト(=ソフトウェアの品質向上に貢献するテスト)」が実施できるかはテストケースの品質に依存してきます。 これま…

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

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

感想『SCRUM BOOT CAMP』

今回はアジャイル開発手法のひとつである「スクラム開発」の入門書『SCRUM BOOT CAMP THE BOOK』を読んだので、その感想をまとめます。 SCRUM BOOT CAMP THE BOOK作者:西村直人,永瀬美穂,吉羽龍太郎翔泳社Amazon なぜ読もうと思ったか いま気になっている企…

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

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

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

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

感想『イラスト図解式 この一冊で全部わかるWeb技術の基本』

『イラスト図解式 この一冊で全部わかるWeb技術の基本』という本を読んだので感想を。 イラスト図解式 この一冊で全部わかるWeb技術の基本作者:NRIネットコム株式会社,小林 恭平,坂本 陽SBクリエイティブAmazon 本書はWeb技術に関するトピックを幅広く取り上…

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

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

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

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

『ポケモンしりとり』リリースしました 🎉

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

GitHubの「草」をプライベートリポジトリ含めてブログに生やす方法

GitHubの草を、ブログに生やしてみました。 当初はサイドバーに生やそうとしたのですが、スマホで表示したときに縦長に表示されてしまい見栄えが悪く感じたので記事下に生やしました。 こんな感じ。 画像が小さいですが草が茂っている様子は十分確認できるの…

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

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

ネーミング辞書ツール『codic』をVSCodeで使えるようにしてみた

『codic』はメソッド名や変数名を命名する際に、いい感じの名前を提案してくれる「ネーミング辞書ツール」です。 ブラウザから利用することができますが、僕がメインで使用しているエディタ『Visual Stadio Code』の拡張機能もあると聞いて、導入してみまし…

感想『Everyday Rails - RSpecによるRailsテスト入門』

『Everyday Rails - RSpecによるRailsテスト入門』を読みました。 販売形態は電子書籍のみですが、RubyやRailsのバージョンアップに伴って本書の内容も無料でアップデートされています。 RubyとRailsの知識はある程度必要 本書ではRubyやRailsに関する詳細な…

【Rails】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周…

感想『SOFT SKILLS』

SOFT SKILLS ソフトウェア開発者の人生マニュアル作者:ジョン・ソンメズ日経BPAmazon 全体として 納得できるトピックや意見ばかりで、頷きながら読み進めていきました。ただ裏を返せば、新たな知見が増えたようには感じることが少なかったです。以前から、自…

感想『[翻訳]あなたがプログラミングに向いていない10のサイン』

Qiitaのトレンドに入っていた『[翻訳]あなたがプログラミングに向いていない10のサイン』という記事を読みました。 qiita.com 向いていないからといって諦める必要はない 元記事に書かれている10のサインは、僕のこれまでの経験から「その通りだな」と感じる…