こたつとみかんとプログラミング

33才実務未経験ですがウェブエンジニアにジョブチェンジするために勉強したことをアップするためのブログです。

プログラミング

ruby で配列の最大値・最小値を取得する

配列から最大値、最小値を取得する際は、max, min が使える。 array = [110,21,13,24,15] # 要素の最大値を取得 p array.max # => 110 p array.max(3) # => [110, 24, 21] # 要素の最小値を取得 p array.min # => 13 p array.min(3) # => [13, 15, 21] # 文…

ruby の標準入力と出力

久々に paiza で ruby の問題を解いたのだが、結構忘れていたので振り返られるようにメモ。 ruby 1行に1要素だけ存在する場合 # 標準入力 Tokyoline = gets p line # 出力結果 "Tokyo" 1行に複数要素が存在する場合 # 標準入力 Tokyo Nagoya Osakaline = get…

haml記法まとめ

今週からお試しで働く会社が haml で書いているということで、erbファイルを haml に書き換えた。 Rails での使い方 Gemfile に haml-rails を追加して、bundle install ファイル拡張子の部分を erb から haml に変更。または 同名で拡張子が haml のファイ…

Docker の image を軽くする

Docker に無事既存の web アプリを載せることはできたものの、めちゃ重い。web アプリのイメージだけで 5GB もあった。 イメージを軽くするには、ベースのイメージを alpine Linux なるものに変えると軽くなるということだったので、変えてみた。 # Node.js …

未来日・過去日の判定(カスタムvalidation)

class Record < ApplicationRecord ... validate :cannot_be_in_the_future ... # 日付に未来日は設定不可 def cannot_be_in_the_future if date.present? && date > Date.today errors.add(:date, :cannot_be_future_date) end end # 日付に過去日は設定不…

migration ファイルの null: false について

コードレビューにて、migration ファイルに null: false をつけたほうが良いという指摘を受けたので、メモ。 結論としては、null: false も presence: true も両方設定したほうが良い。 null: false 指定したカラムがデータベースにカラの状態で保存されるこ…

rubocop-airbnb 導入方法まとめ

rubocop 本体は設定項目が多いので、ライトな rubocop-airbnb を導入することにした。 以下、導入方法のまとめと、無視したいエラーの書き方についてまとめ。 導入方法 1. gemのインストール gemfile の開発環境とテスト環境に rubocop-airbnb を追加し、bun…

Docker 環境に Entrykit と ChromeDriver を導入する

課題の Docker 環境に導入されていた Entykit と、system spec を利用するための ChromeDriver を自分の環境にも導入したのでメモ。 FROM ruby:2.6.5 ENV ENTRYKIT_VERSION 0.4.0 # Entrykitのインストール RUN wget https://github.com/progrium/entrykit/r…

Docker compose で rails6 の環境構築

docker の公式と Qiita などの参考を参考に、一からアプリを docker 上で立ち上げてみた。 なお、環境は rails6, DB は postgresql で設定。 1. 必要ファイルの作成 まず最初に、アプリを作成するディレクトリを作成し、そのディレクトリに移動する。 $ mkdi…

いつも rails server を止める方法を忘れる

rails server を立ち上げて、そのまま terminal 上で control + c で止めることができるけれど、私はたびたびこの作業を忘れて開発を終了してしまい、別の環境にアクセスするときにあああ前のサーバーが立ち上がったままだ! control + c が使えない!どうし…

devise で使えるメソッドとカスタマイズについて

devise を使って今アプリを作っているけれど、devise は重い gem のひとつであり導入は慎重に、、みたいな記事を見つけた。サンプルで作るにはいいけど、いざ実務で作るとなった時は一から自分で作ったほうがいいのかも。 devise で使えるヘルパーメソッドに…

git に保存された履歴をなかったことにする

1人で開発していると、レビューしてくれる人がいないわけで、railstutorial にあるように自分でブランチをマスターに merge してmaster を push しているのだが、git のリポジトリには容量があることが判明。push 失敗。原因は、サンプルアプリの機能の一つ…

devise を使用した facebook と twitter 認証について

devise を使用した facebook と twitter 認証について手順とはまった点をまとめる。 やりたいこと facebook または twitter でログインできるようにする。 次に利用する際、立ち戻れるようにまとめる。 環境 ruby (2.6.5) rails (6.0.2) devise (4.7.1) 必要…

Rails deviseの認証カスタマイズまとめ

ログイン機能に多く使われるgem devise のカスタマイズ方法をまとめる。 やりたいこと ユーザー名とパスワードで認証できるようにする アカウント登録・ログイン後の飛び先を変更する 環境 ruby (2.6.5) rails (6.0.2) devise (4.7.1) ユーザー名とパスワー…

RSpec導入方法まとめ

Railsチュートリアル、POTEPANサブ課題終わり、本課題に突入しているが、RSpecは一から学んでいる状態なので、導入方法を備忘録としてまとめておく。※ Everyday Rails- RSpecによるRailsテスト入門 から抜粋 1. gemのインストール gemfileの開発環境とテスト…

Railsチュートリアル3章個人的まとめ

Railsチュートリアル2周目突入しています。個人的な備忘録として覚えておきたいことをまとめ。 間違えてコントローラやモデルを作成してしまったとき Railsチュートリアルをやっているときは、命令文の文字列をそのままコピペしてしまって作ってしまったから…

git の基本コマンドまとめ

git の基本的なコマンド、覚えるべきコマンドをまとめました。

Webエンジニアにジョブチェンジするために勉強をはじめます

今日から4ヶ月間、Railsチュートリアルを中心にプログラミングを勉強して、GW明けから正社員として働けるように頑張ります。