Ruby on Rails 6にTailwindCSSを導入(Gemを使わず)

Yarnで必要なものをインストールする yarn add tailwindcss@npm:@tailwindcss/postcss7-compat @tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9 tailwind.config.jsファイルを生成する yarn tailwindcss init app/javascript/packs/tailwind.config.js javascript:app/javascript/packs/tailwind.config.js module.exports = { purge: [ './app/**/*.html.erb', './app/**/*.html.slim', './app/helpers/**/*.rb', './app/javascript/packs/**/*.js', ], //...
Updated by Yuto at 2022-01-20 23:55
DockerでMailcatcherを使ってRuby on Rails開発環境のメールを受信する

DockerでMailcatcherを使ってRuby on Rails開発環境のメールを受信する

Mailcatcherの概要は公式サイトで色々記載されています:https://mailcatcher.me letter_opener も Ruby on Rails 開発環境のメールがテストできるが、個人的には Mailcatcher の方が便利で使いやすいので、よく使います。 docker-compose設定 yaml:docker-compose.yml mailcatcher: image: schickling/mailcatcher container_name: mailcatcher ports: - '1080:1080' - '1025:1025' Dockerを起動したら「localhost:1080」で管理画面にアクセスできます。 スクリーンショット 0003-10-30 22.10.33.png...
Updated by Yuto at 2022-01-20 23:55

Rubyで #frozen_string_literal: true というマジックコメントを付ける意味

Rubyで開発する時、rubocopを使ったらよく Missing frozen string literal comment と警告され、ファイルの一番上に「#frozenstringliteral: true」を入れることが推進されます。 簡単に説明すると、Ruby 2.3以降では、#frozenstringliteral: trueというマジックコメントを記述した場合、文字列リテラルで生成される文字列は値が変更できないようにfreezeされ、同じ内容の文字列リテラルは同一の文字列オプジェクトを返すようになります。 #frozenstringliteral: true がない場合 ```ruby text1 = 'Hello world' text2 = 'Hello world' puts text1.objectid == text2.objectid ``` 文字列の内容が同じでもオブジェクトが別の為、falseを返します。 #frozenstringliteral: true がある場合 ```ruby #frozenstringliteral:...
Updated by Yuto at 2022-01-20 23:55

【Ruby on Rails】active_model_serializersのキーをキャメルケースにする方法

activemodelserializersはデフォルトRuby風のスネークケースでレスポンスを返しますが、キャメルケースにするのは簡単で、イニシャライザフォルダの中で定義すればいいです。 ruby:config/initializers/active_model_serializers.rb ActiveModelSerializers.config.key_transform = :camel_lower サーバーの再起動が必要です
Updated by Yuto at 2022-01-20 23:55

Ruby on RailsでWebpackerのエイリアスを設定する方法

```javascript:config/webpack/environment.js const { resolve } = require('path') environment.config.merge({ resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('app/javascript/packs'), '&': resolve('app/javascript/packs/components'), }, }, }) ``` サーバーの再起動が必要です。
Updated by Yuto at 2022-01-20 23:55

Ubuntuでタイムゾーンを変える方法

現在のタイムゾーン確認 date タイムゾーン変更 sudo dpkg-reconfigure tzdata そしてAsia/Tokyoを選択 スクリーンショット 0003-01-21 1.12.05.png https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35605/3c1d1e41-5ed4-a877-bcdd-fb689e80a644.png 最後はターミナルでdateを実行して、JSTになったら良いです。 Thu Jan 21 01:12:17 JST 2021
Updated by Yuto at 2022-01-20 23:55

【Ruby on Rails】EC2でwheneverを使ってcrontabを設定する時のハマったことの解決

wheneverというのはRuby on Railsのgemであり、crontabを設定する時によく使われています。 使い方 使い方はGithubホームページ (https://github.com/javan/whenever)に詳しく記載されていますが、主に使うのは下記になります。 Gemfileに追加 ruby:Gemfile gem 'whenever', require: false インストール bundle exec wheneverize . schedule.rbファイルの内容を確認する whenever 開発環境でcrontabを更新する whenever --update-crontab --set environment='development' Capistranoに入れる ruby:config/deploy.rb set :whenever_roles, -> { :app } ruby:Capfile require...
Updated by Yuto at 2022-01-20 23:55
Gitのmasterブランチ意外、全てのブランチを一括削除する

Gitのmasterブランチ意外、全てのブランチを一括削除する

タイトルの通りに、master ブランチ意外全て削除するのは以下のコマンドです。 'master'の代わりに他のブランチ名を変えることもできます。 :ターミナル git branch | grep -v 'master' | xargs git branch -D 長くて覚えづらいので、aliasを作成しました。 bash:~/.zshrc alias gbr="git branch | grep -v 'master' | xargs git branch -D"
Updated by Yuto at 2022-01-20 23:55

Ruby on Rails 6にforeman導入メモ

gem導入 ruby:Gemfile gem 'foreman', group: :development Procfile.devを実行するbin/server作成 bin/server #!/bin/bash -i bundle install bundle exec foreman start -f Procfile.dev コマンドを実行するProcfile.dev作成 Procfile.dev web: /bin/sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" webpacker: ./bin/webpack-dev-server bin/serverの権限変更 chmod 777 bin/server サーバースタート bin/server
Updated by Yuto at 2022-01-20 23:55

PG::UniqueViolation: ERROR: duplicate key value violates unique constraintエラーの解決

PGデータベースにデータをインポートの後など、このエラーが発生する場合があります。 PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "<sample_tables>_pkey" 原因 データインポートなどの場合、PostgreSQLが指定したカラムの最大値を取ってくれず、別に保存してある最大値になってしまいます。 解決 Railsコンソールで以下のコードを実行すれば治ります。 ruby ActiveRecord::Base.connection.tables.each do |t| ActiveRecord::Base.connection.reset_pk_sequence!(t) end
Updated by Yuto at 2022-01-20 23:55

【Ruby on Rails】WebpackerでBootstrap、jQueryを導入方法

Webpackerのインストール ruby:Gemfile gem "webpacker" bundle install rails webpacker:install Bootstrapの導入 yarn add bootstrap@4.3.1 jquery popper.js ```javascript:webpacker/environment.js const { environment } = require('@rails/webpacker') // ↓↓↓ const webpack = require('webpack') environment.plugins.append( 'Provide', new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery', Popper: ['popper.js', 'default'] }) ) // ↑↑↑ module.exports =...
Updated by Yuto at 2022-01-20 23:55

【Ruby on Rails】WebpackerでFontAwesomeを導入方法

Gemのインストール 必須ではないですが、Viewでiconメソッドを使うならば、Gemをインストールする必要です。 ruby:Gemfile gem "font-awesome-sass" FontAwesomeの導入 yarn add @fortawesome/fontawesome-free javascript:app/javascript/packs/application.js import "@fortawesome/fontawesome-free/js/all" css:app/javascripts/src/application.scss @import "@fortawesome/fontawesome-free/scss/fontawesome"; >>> FontAwesome free icons (https://fontawesome.com/icons?d=gallery&m=free)
Updated by Yuto at 2022-01-20 23:55

【Ruby on Rails】Webpackerでcocoonを導入方法

cocoonを使うなら、jQueryが必要なので、WebpackerでjQueryを導入方法はこちらです: 【Ruby on Rails】WebpackerでBootstrap、jQueryを導入方法 (https://qiita.com/YutoYasunaga/items/9a7eaa0a4ca898535912) ruby:Gemfile gem "cocoon" 以下のファイルをダウンロードして、app/javascript/src/に保存する。 https://github.com/nathanvda/cocoon/blob/master/app/assets/javascripts/cocoon.js javascript:app/javascript/packs/application.js require("../src/cocoon");
Updated by Yuto at 2022-01-20 23:55
【Ruby on Rails】sidekiqの導入手順(ローカル、Heroku、AWS EC2、Docker、Capistrano)

【Ruby on Rails】sidekiqの導入手順(ローカル、Heroku、AWS EC2、Docker、Capistrano)

redisを準備する sidekiqを使う為にredisが必要です。 redisインストール(Mac OS) brew install redis redis起動 brew services start redis docker-composeを使う場合 yaml:docker-compose.yml redis: image: redis:latest volumes: - redis:/data ports: - 6379:6379 アプリケーションにsidekiqを導入する ruby:Gemfile gem 'sidekiq' ruby:config/application.rb config.active_job.queue_adapter = :sidekiq sidekiqを起動する sidekiq -q default -q mailers もしくは yml:config/sidekiq.yml :concurrency: 25 :pidfile:...
Updated by Yuto at 2022-01-20 23:55

【Ruby on Rails】RSpecとFactoryBotとShoulda MatchersとCapybaraを導入メモ

RSpec設定 ruby:Gemfile group :development, :test do gem 'rspec-rails' end rails g rspec:install :.rspec --require spec_helper --format documentation ruby:config/application.rb config.generators do |g| g.test_framework :rspec, fixtures: false, controller_specs: false, view_specs: false, helper_specs: false, decorator_specs: false, routing_specs:...
Updated by Yuto at 2022-01-20 23:55
Những từ ngữ độc lạ chỉ những người Việt sống ở Nhật mới hiểu

Những từ ngữ độc lạ chỉ những người Việt sống ở Nhật mới hiểu

Đây là một số từ lóng, cách gọi tắt của một số từ ngữ mà những ai đã và đang sống ở Nhật sẽ thường xuyên nghe đến. LáMột số bạn hay gọi tờ 10000 yên Nhật là "lá". Ví dụ như: "Tháng này tôi làm được 10 lá" ý nói là tháng này làm được 10 man yên. ChồNhiều người gọi tắt chữ 店長 (tencho) là "chồ", ý là đang nói đến người chủ quán. Bộ độiĐây là cách gọi những người lao động bất hợp pháp, những bạn trốn ra ngoài vì lý do nào đó. Nhập ngũTừ này để chỉ việc gia nhập...
Updated by Yuto at 2022-01-08 11:47
Shupatto - Túi đựng đồ nhỏ gọn tiện dụng cho việc đi mua sắm

Shupatto - Túi đựng đồ nhỏ gọn tiện dụng cho việc đi mua sắm

Từ tháng 7/2020 các cửa hàng tiện lợi ở Nhật Bản sẽ bắt đầu tính phí túi nilon. Giá của 1 chiếc túi nilon cỡ lớn là 5 yên và cỡ nhỏ là 3 yên. Giá tiền 3 yên 5 yên nghe có vẻ rất là nhỏ bé và chẳng đáng là bao, nhưng nếu như chúng ta mua hàng ở combini thường xuyên thì số tiền trên dần dần cũng sẽ trở nên lãng phí, không những thế số lượng rác thải nilon cũng tăng lên.Chính vì thế mình bắt đầu tìm hiểu về túi thay thế cho túi nilon mỗi khi mua hàng ở combini. Có rất nhiều loại túi tiện...
Updated by Yuto at 2022-01-08 11:41
Install Oh my Zsh on Ubuntu

Install Oh my Zsh on Ubuntu

Install Zsh sudo apt update sudo apt install zsh powerline fonts-powerline Make default zsh chsh -s $(which zsh) Install oh-my-zsh git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc source .zshrc Use "agnoster" theme :~/.zshrc ZSH_THEME="agnoster" Plugins zsh-syntax-highlighting Install: git clone https://github.com/zsh-users/zsh-syntax-highlighting.git...
Updated by Yuto at 2021-06-19 20:01
【Ruby on Rails】Hướng dẫn làm chức năng sort với jquery-ui sortable

【Ruby on Rails】Hướng dẫn làm chức năng sort với jquery-ui sortable

Cài đặt jQuery và jQuery-ui yarn add popper.js jquery jquery-ui ```javascript:config/webpack/environment.js const { environment } = require('@rails/webpacker') // Add const webpack = require('webpack') environment.plugins.append( 'Provide', new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery', Popper: ['popper.js', 'default'] }) ) // Add module.exports =...
Updated by Yuto at 2021-06-18 17:19
Phạm vi của biến và hằng trong Ruby

Phạm vi của biến và hằng trong Ruby

Bảng dưới đây mô tả về quy tắc đặt tên và phạm vi sử dụng của biến (variable) và hằng (constant) trong ngôn ngữ lập trình Ruby. Trong Ruby có những loại biến số: - Local variable - Global variable - Class variable - Instance variable Loại biến số được xác định dựa vào cách đặt tên. Tùy thuộc vào từng loại biến mà phạm vi sử dụng và kết quả trả về khi tham chiếu biến chưa được khai báo sẽ khác nhau. Quy tắc đặt tên biến và hằng | Loại biến và hằng | Quy tắc đặt tên | Phạm vi sử dụng | Kết...
Updated by Yuto at 2021-06-04 09:59