- 0.0.1. AWS EC2の「No space left on device」エラーの解決方法
- 0.0.2. Ruby on Railsの人気のあるデザインパターン
- 0.0.3. CloudWatchLogsでRailsアプリのログを表示してみた
- 0.0.4. ActiveRecordにおける楽観的ロックと悲観的ロックの使い方
- 0.0.5. ソフト開発未経験チームがオンボーディングでWebアプリ作ってみた
- 0.0.6. 食べログの内製Pub/Subメッセージング基盤をApache Kafkaにリプレイスした話
- 0.0.7. CircleCI × docker-compose をRailsアプリに導入してみた
- 0.0.8. 環境変数の設定方法【Rails】
- 0.0.9. RubyMineを使い続けている理由
- 0.0.10. turbolinksとは
- 0.0.11. Rubyでnull文字を正規表現でひっかけたいとき
- 0.0.12. 【Rails】フラッシュメッセージの設定(bootstrap)
- 0.0.13. 【Rails】マイグレーションのGeneratorから学ぶ命名規則
- 0.0.14. migrationのrollbackの注意点(dafault値の取り扱い)
- 0.0.15. 【Rails】GETでリクエストボディを利用しない方がよい理由
- 0.0.16. 【個人開発】居酒屋で「すいませーん」という声が通るかを、文字起こしAPIで判定する
- 0.0.17. RubyMineをさらに便利にするプラグインたち:2021年版
- 0.0.18. 環境構築の素人がRailsの環境をWIndows11PCに作ってみた
- 0.0.19. Windows11とWSL2で始めるWebシステム開発
- 0.0.20. Rails 6.1 の Renderable objects で薄い View をお手軽に脱 ERB する
- 1. Header
AWS EC2の「No space left on device」エラーの解決方法
## はじめに
株式会社じげんのrkinseiです。
:airplane: 留学エージェント比較サービス 留学くらベーるの開発を担当しています。今回はAWS EC2の「No space left on device」エラーの解決方法を紹介します!
苦戦しながら修正したものの、完璧な対応はまだできていないと思いますが、今回実際に試してみた対処法をまとめてみました。
これから同じエラーを解決したい方の参考になれば幸いです。:relaxed:## エラーの概要
RailsアプリケーションをAWSのEC2インスタンスにデプロイした際に、「no space left on device」とエラーメッセージが表示されます:triumph:“`
error An unexpected error occurred: “ENOSPC: no space left on device, copyfile ‘/home/ec2-user/.cache/yarn/XXXXXXXXX'”.
rake aborted!
“`インスタンスにログインすると、以下のようにエラーメッセージが表示さ
Ruby on Railsの人気のあるデザインパターン
## はじめに
デザインパターンは、ソフトウェア開発の一般的な問題を解決するため、様々なプログラムで再利用できるソリューションのことです。RailsはすでにModel-View-Controller(MVC)というデザインパターンを実装しており、コードをより適切に整理しています。この記事にデザインパターンの定義、メリットとデメリットについて少し説明したいです。それにRailsによく使われているデザインパターンを紹介し、それぞれの例を検討します。
## デザインパターンとは
デザインパターンは、アプリケーションを開発する際に使用した方がいいベストプラクティスの一部であり、読みやすさを向上させ、将来的にそれをより適切に維持できるようにします。デザインパターンに慣れていない場合は、レシピのようなものです。デザインパターンもよくある間違いを減らすのにも役立ちます。
デザインパターンは具体的なコードではなく、使用すべき概念とプラクティスにすぎないことを理解することが重要です。 この記事、または他のデザインパターンに関するガイドでは、アプリケーションにすぐにプラグインできるコードはありま
CloudWatchLogsでRailsアプリのログを表示してみた
## はじめに
Railsアプリケーションを運用しているEC2上のログを、CloudWatchで表示するまでの手順をまとめました。
公式ドキュメントをベースに細かい部分も説明していきます。## CloudWatchLogsのメリット
* 複数のサーバーがあってもログを一箇所に集約して管理できる。一々複数のサーバーにssh接続する必要がない。
* EventBridgeなど他のAWSリソースとの連携が簡単。エラー発生したらSlackに通知することもできる。
* Logs Insightsを使って高度な検索ができる![スクリーンショット 2021-12-20 15.48.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603209/88f761bd-a0eb-f909-fe76-60314f3f7b8a.png)
## 前提
* AWSアカウント作成済み
* EC2インスタンス作成済み
* OS: CentOS 7.6.1810## 手順の概要
1. ポリシーとロールを作成
1. EC2に
ActiveRecordにおける楽観的ロックと悲観的ロックの使い方
# 環境
– Rails 7.0.0
– Ruby 2.7.5
– MySQL 5.7# 楽観的ロック
`lock_version` というカラムを用意するだけで利用できます。
“`
$ rails g model user name:string lock_version:integer
$ bundle e rails b:migrate
$ bundle e rails c
“`“`ruby
irb(main):001:0> User.create!(name: ‘Taro’)
(0.9ms) SELECT sqlite_version(*)
TRANSACTION (0.1ms) begin transaction
User Create (0.5ms) INSERT INTO “users” (“name”, “lock_version”, “created_at”, “updated_at”) VALUES (?, ?, ?, ?) [[“name”, “Taro”], [“lock_version”, 0], [“created
ソフト開発未経験チームがオンボーディングでWebアプリ作ってみた
この記事は [DENSO アドベントカレンダー 2021](https://qiita.com/advent-calendar/2021/denso) の21日目の記事です。
# はじめに
社内の [リカレント制度](https://www.denso.com/jp/ja/news/newsroom/2021/20210527-01/#:~:text=%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E4%BA%BA%E6%9D%90%E3%81%B8%E3%81%AE%E3%83%AA%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%88%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E7%AF%89%E3%80%81%E9%81%8B%E7%94%A8) (ニュースメディアだと [キャリア転身制度](https://newswitch.jp/p/26996)という表現) でソフト未経験からキャリアチェンジを図り、2021年6月より開発チームにアサインされました
食べログの内製Pub/Subメッセージング基盤をApache Kafkaにリプレイスした話
この記事は食べログアドベントカレンダー2021の21日目の記事です???
## はじめに
こんにちは。技術部マイクロサービス化チームの @SinceK13 です。マイクロサービス化チームは、「巨大なモノリシックサービスにおける開発の辛さを解消し、少人数のチームが自律的に意思決定しながら開発するためのシステム基盤を作る」というミッションのもと活動しています。
本エントリではマイクロサービス化チームで取り組んだ、食べログの内製 Pub/Sub メッセージング基盤を Apache Kafka(以下 Kafka)を利用した Pub/Sub メッセージング基盤にリプレイスした話について紹介します。
また、12/14 に同チームの @weakboson が「[食べログのレストラン検索を支える Debezium と Apache Kafka](https://qiita.com/weakboson/items/534e243552731f1cd2f4)」というタイトルで、本エントリとは異なる Kafka の活用事例を紹介していますのでご興味ある方はぜひご覧ください^^
## Pub/Su
CircleCI × docker-compose をRailsアプリに導入してみた
Railsアプリに`CircleCI`と`docker-compose`を導入してみました。
以下記録も兼ねて残しておきます。“`.circleci/config.yml
version: 2
jobs:
build:
docker:
– image: circleci/ruby:2.6.8-node-browsers
environment:
– BUNDLER_VERSION: 2.2.33
– RAILS_ENV: test
– POSTGRES_USER: <%= ENV['POSTGRES_USER'] %>
– image: circleci/postgres
environment:
– POSTGRES_USER: <%= ENV['POSTGRES_USER'] %>
– POSTGRES_PASSWORD: <%= ENV['POSTGRES_PASSWORD'] %>
–
環境変数の設定方法【Rails】
# dotenv-railsをbundle install
“`:Gemfile
gem ‘dotenv-rails’
“`# .envファイルを作成し、環境変数を定義する
ルートディレクトリに自分で`.env`ファイルを作成し、環境変数を定義する。
以下の例ではPostgreSQLのパスワードとユーザー名を定義しています。“`:.env
POSTGRES_PASSWORD = [任意の文字列]
POSTGRES_USER = [任意の文字列]
“`# .gitgnoreに.envを追加
.gitgnoreに.envファイルを追加してすることによってGitHubに.envファイルをあげないように設定できます。
“`:.gitgnore
…(コード省略)
/.env
“`# 環境変数が正しく定義されているか確認
`rails c`でコンソールを起動させて環境変数を確認することができます。
“`:コンソール
[1] pry(main)> ENV[‘POSTGRES_PASSWORD’]
=> “任意の文字列”
“`# 参考
[【Rai
RubyMineを使い続けている理由
## はじめに
[この記事はiCARE Dev Advent Calendar 2021(レーン2)の20日目の記事です。](https://qiita.com/advent-calendar/2021/icaredev)
弊社のサービス(Carely)ではサーバサイドの開発言語でRuby On Railsを使っています。
そこで私自身がRubyMineというIDEを使用しているのでRubyMineを使っている理由を記載したいと思います。## 使い始めた理由
そもそも使い始めた理由ですが前前職で周りのエンジニアが使っておりオススメされたからです。
その時は会社でライセンスを購入してくれたというのも使うきっかけになりました。## 使い続けている理由
前前職で使い始めて現在も使い続けている理由は以下の点で優秀だからです。### 1. コードジャンプが強力
これは社内でRubyMineを使っている方に聞いた結果、まず最初に返ってきた理由です。自分もそうです、むしろこれだけにお金出しても良いレベルです。コードジャンプが強力な点は**gemのソースまで追っていける(rubyの
turbolinksとは
# 記事の対象者
・右も左もわからない初学者で、progateはやってますよくらいの方
# turbolinksとは
JSのライブラリ。なのでJavaScriptの話です。
rubyではgemになっている。rails4以降はデフォルトでついてくる。
aタグをクリックした時の画面遷移を高速化するためのもの。
リンクをクリックするときにターボして高速移動する、みたいなイメージ。
# どうやって処理を速くしているのか?
参考
[https://techtechmedia.com/turbolinks-rails/](https://techtechmedia.com/turbolinks-rails/)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1766018/e753bd8e-18ea-6e8f-95dc-f319e19069a4.png)
headとbodyを見てほしい。
headタグは変更なしで、bodyだけ、遷移の前後で違う。
turbolinksを
Rubyでnull文字を正規表現でひっかけたいとき
個人的に結構ハマってしまったのでメモ
“`
# null文字の定義
null_string = “\0”
=> “\u0000”# null文字を引っ掛ける
null_string.match(/\0/)
=> #
“`
【Rails】フラッシュメッセージの設定(bootstrap)
##設定内容
・共通のファイルを作成し、application.html.erbで読み込みが出来るようにする
・コントローラーにflash内容を記載##共通ファイル作成
views/shared配下に、_flash_message.html.erbを作成し、flash用の部分テンプレートを作る。“`
<% flash.each do |message_type, message| %>
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた