技術系ブログ

とにかく小ネタで

【SQL】攻略(初心者)

私が利用した教材&順序 プロゲートSQL編 ↓↓ udemy はじめての SQL ・データ分析入門 -データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向コース この2つです。 攻略方法 まずはselect * from テーブル名;で全ての列を取得してから少…

【ruby】アルゴリズム

データかここから 最大値を探すアルゴリズム array = [1,2,3,4,5] max = array[0] # puts max array.length.times{|i| if max < array[i] max = array[i] puts max end } puts "maxは#{max}" 暫定的に最大値を変数(max)に格納して、他の配列データ一つ一つ…

【ruby】csv読み込み操作

wiki 【Ruby】CSVをデータベースのように扱う Ruby 2.7.0 リファレンスマニュアル 【Ruby入門】CSVファイルの読み込み・書き込み CSVとは? Comma Separated Valueの略です。 データがカンマ(,)で区切られていて拡張子が.csv ヘッダ行 ファイルの先頭には、…

【rails】フォロー機能。 非同期編

前回まで 技術系ブログ【rails】フォロー機能。 - 技術系ブログ 非同期詳細 【rails】いいね機能 非同期編 - 技術系ブログ remote:tureを追加 そしてjqueryで拾えるようにidを追加 #app/views/relationships/_form.html.slim #follow =button_to current_use…

CI/CDとは

CI/CDとは 初心者向け説明CI/CID CI(Continuous Integration) 継続的インティグレーションとはコードの変更を常に自動でテストすること CD(Continuous Delivery) 継続的デリバリーとは、テストをパスした変更を いつでも本番環境へリリース可能な状態にして…

【rails】本番環境でもエラー文を表示させる

#config/environments/produciton.rb config.consider_all_requests_local = true config関連のファイルを変更したときは,サーバを再起動する必要があることをお忘れなく. sudo nginx -s reload おしまい

【エラー解決】Uglifier::Error:To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).

awsへデプロイしたら、productionのlogにタイトルのようなエラーが出たので残しておきます。 解決方法 #config/environments/production.rb - config.assets.js_compressor = :uglifier + config.assets.js_compressor = Uglifier.new(harmony: true) です。…

【rails】Docker開発環境でのrails credentials:edit使用方法

参考:【Rails 5.2.2】Rails on Dockerでcredentialsをeditしたい - Qiita 【Rails 5.2.2】Rails on Dockerでcredentialsをeditしたい - Qiita docker内にvimを導入 #Dockerfile RUN apt-get install -y vim そしてdocker-compose build 実際に使用する ↓コマ…

【rails】いいね機能 非同期編

やっとできたので書いていきます。 ↓前回まで 【rails】いいね機能実装 (追記あり) - 技術系ブログ 導入手順 そもそも非同期通信とは、 Ajaxとは 準備 view側 remote: trueとは .js.erbファイルを作成 コントローラー側 参考: 第14章 ユーザーをフォローす…

rails db:seed バリデーションエラー

seedファイルを書いて、rails db:seedしたらタイトル通りのエラーになった。 rails db:resetのみでも解決しなかった。 以下解決手順 $ rails db:drop $ rails db:create $ rails db:schema:load $ rails db:seed bin/rails db:resetコマンドは、データベース…

【rails】Docker環境でSystemSpecの導入の仕方。

解決したのでまとめておきます。 導入前に docker,rspec導入済みですすめます。 つまり単体テストはできるということです。 system導入するには dockerコンテナの中へ新たにchromedriverを準備なければなりません。 実際に進めていきます。 gem gem 'rails',…

【rails】フォロー機能。追記あり

整理していなかったのでまとめておきます。 参考:第14章 ユーザーをフォローする - Railsチュートリアル ※devise導入済みですすめます。 この機能を導入したら ①view側にフォロー中とフォロワーの数の表示 ②フォローボタンの作成 ③実際にフォロー中の人、フ…

【rails】任意のviewのみで特定のjsを読み込む。

とっても簡単です。 参考: Rails 必要なJavaScriptのみを読み込む | | KeruuWeb RailsがJavaScriptやスタイルシートを読み込む仕組み - りょうたくの技術ブログ Asset Pipelineとは そもそも、任意のveiwのみでjsが読み込んでくれないとは、Asset Pipelineが…

HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.

参考:config.i18n.fallbacksのメッセージについて - Qiita HEADS UP! i18n 1.1 changed fallbacks to exclude default locale. But that may break your application. - Qiita HEADS UP! i18n 1.1 changed fallbacks to exclude default locale. But that ma…

【rails】dockerでのDB(postgersql)操作

dockerでの開発環境を構築し、DBにpostgresqlを使いました。今回はDBにアクセスしてテーブル内容の確認をメモしておきます。 まずは立ち上げる docker-compose up -d 終了は docker-compose down 参考: docker-compose コマンド — Docker-docs-ja 1.10.0b ド…

【rails】モデルの関連付け

ポートフォリオを改修中に記憶が曖昧になったのでまとめておきます。 前置き モデルがuserとpostの場合、かつuser:post = 1:多の関係の場合 主キーと外部キーとは 今回の場合、userテーブルに元々あるidが主キーで、 あとに作る、 追加したpost テーブルに…

【rails】slim導入と使い方。

slimについてまとめてなかったのでまとめておきます。 slimとは Slim は 不可解にならない程度に view の構文を本質的な部品まで減らすことを目指したテンプレート言語、 RailsのViewを出力するためのテンプレートエンジンとして、標準で利用されるのはERBで…

【GIt】一人でPull Request練習

現在、独学でポートフォリオを作成中です。一人のみでgitを触っているとPull Requestなんて全くしないので、良くないとも思い練習します。 ※事前に、githubのアカウント、ローカルの開発環境が整っている前提で進めます。 Pull Request Pull Requestをすると…

【rails】Dockerで開発環境の構築。

参考:入門 Docker 【図解】Dockerの全体像を理解する -前編- - Qiita いまさらDockerに入門したので分かりやすくまとめます - Qiita そもそもdockerとは。 コンテナ型の仮想化技術である。 仮想化とはざっくりいうと、パソコンの中に(仮想)パソコンを作る…

iTerm2に変更してみた。

現在、ポートフォリオを作成中ですがAWSなどでターミナルを使う機会が増え、より使いやすい?iTerm2に変えてみました。 参考:人気ターミナルアプリ「iTerm2」に7年間潜在の脆弱性、アップデートを | マイナビニュース 初心者向け iTerm2のインストールと設定…

Gemfile の ~> というが最近理解した

随分、更新に間あいてしまいました、ブロクを使ってしっかりアプトプットしなくてはいけません。 参考:Gemfile の ~> という記号はどういう意味なのか - yu8mada gem 'bootsnap', '>= 1.1.0', なら1.1.0以上 gem 'rails', '~> 5.2.4' なら5.24以上、5.3.0未…

【rails5.2】deviseを用いた、twitterログイン機能導入からherokuでの本番環境利用まで Rspec編

Rspecでテストするのも残しておきます。 参考:RSpecでOmniAuthのFacebookログイン/サインアップのFeatureテストを書く - Qiita これのtwitter版を書けばいいだけです。 モックを作成するときにspec/supportに書くのですが 参考:RSpec3でspec/support内のファ…

【rails5.2】deviseを用いた、twitterログイン機能導入からherokuでの本番環境利用まで

twitterログイン機能を追加したので、やり方を残しておきます。 deviseを導入済みで勧めていきます。 TwitterAPIの取得 Consumer API keysをrails側にsaveする gemの導入とmigration devise側の編集 devise側にapiキーを書き込む deviseメソッドの追加 User…

【rails】画像アップロード(shrine)導入からherokuでの本番環境利用(S3)まで パート4

Rails側 ここからコードを書いていきます。 gemの導入 gem "aws-sdk-s3", require: false 参考:shrine/s3.md at master · shrinerb/shrine · GitHub S3へのアクセスキーを入力 EDITOR=vim rails credentials:edit まずはi で書けるようになります。 aws: acc…

【rails】画像アップロード(shrine)導入からherokuでの本番環境利用(S3)まで パート3

今回はAWS S3へのダイレクトアップロードからherokuでの本番環境までをやります Simple Storage Service (S3) 参考:【Rails】Shrineの使い方【プログラミング学習156日目】 - Qiita AWS側 awsのアカウントを作ります。 AWS S3のバスケットを作ります CORSの…

【rails】画像アップロード(shrine)導入からherokuでの本番環境利用(S3)まで パート2

次に画像のリサイズとバリテーションをします。 参考:Shrineでアップロードする際に画像を加工する | RE:ENGINES 参考:image_processing/minimagick.md at master · janko/image_processing · GitHub 画像のリサイズ ImageMagickのインストール gemを追加 サ…

【rails】画像アップロード(shrine)導入からherokuでの本番環境利用(S3)まで パート1

現在ポートフォリを作成中で無事に動いたのでまとめたいと思います。 shrineを導入 shrineの初期設定 追加したいモデルにimage_data属性を追加 ImageUploaderモデルを作る。 画像を入れるモデル側に追記する controller側の記述 form側の記述 show側の記述 …

【Rspec】RSpec+CapybaraでBootstrap のドロップダウンをテスト

例 _header.html.slim li.nav-item.dropdown a.nav-link.dropdown-toggle herf="#" role="button"data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" i.fas.fa-smile.mr-2 | #{@user.name} 上記のようなドロップダウンがあった場合、 click…

【Rspec】Capybara::Ambiguous: Ambiguous match, found 2 elements matching visible link

Rspec中にタイトルのようなエラーが出た場合,match: :firstで解決する 実例 it "説明ページに遷移" do click_link "お絵かきBOXとは",match: :first expect(current_path).to eq pages_about_path end 一画面にお絵かきBOXとはというリンクボタンが2つある…

【rails】かんたんログイン機能導入方法

参考:【学習アウトプット2】離脱率を下げる!かんたんログイン機能の実装 - Qiita 現在railsでポートフォリを作成中ですが、よりスムーズに使ってほしいためにこの機能を導入したくなったので作りました。 若干手抜き感が否めないですが、一応使えます。 こ…