→Ruby on Rails RubyによるWebアプリケーションフレームワーク RoR
Agile Web Development with Rails
10分で作るRailsアプリ for Windows http://masuidrive.jp/rails/
Ruby on Rails公式サイトの採用サイト紹介ページ http://wiki.rubyonrails.org/rails/pages/RealWorldUsage
配列で受け取ったデータをeachで検索(リニアサーチ)するより、key-value型のhashに変換してkey指定で取得した方が、コストもかからず効率がよい。 index_by メソッドを使うと、key-value型のハッシュに変換してくれる。 ただし、このメソッドは rails(active_support)でサポートされているので、通常のrubyでは使用できないので注意。 (active_support によって Enumerable に追加されたメソッド) なお、index_byメソッド では値を一つしか保持しないため、同じ key を持つデータが複数ある場合には後から来たデータに値が上…
Letter Opener github.com ローカルファイルが開かれる 例えば、tmp/letter_opener/1648090024_918493_6bde588/rich.html のようなファイルが開かれるとします。 その時、WebブラウザがリクエストするURLは file://home/USERNAME/.ghq/github.com/FOO/BAR/tmp/letter_opener/1648090024_918493_6bde588/rich.html のようになります。 Windows からはこのパスは存在しないので Not Found になります(当然)。
Rails(Ruby on rails)は有名なウェブアプリ・フレームワークです。 クックパッドが有名ですが、それ以外にもRails上のウェブサイトを持っている会社はたくさんあると思います。 今回は、Railsを知らない人が、どのように学んでいけば良いのかを解説します。 インストールとはじめに読むべきドキュメント 前提として、パソコンにRubyがインストールされていなければなりません。 その上で、Railsをインストールするには、 $ gem install rails とします。 インストールしたら、railsが動くか確認しましょう。 $ rails --version Rails 7.0.…
range を使ってできました。 (' '..'~').to_a.join # => " !\"\#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" 使用できる文字をASCIIの0x20から0x7Eまで(半角空白を含む半角英数記号)に制限したいことがありました。 ググっても目ぼしい情報を見つけられず手で直接書いていたのですが、 抜け漏れがないかどうかの検証も難しく、 なんとか機械的にできないものかと考えていたところ、この書き方を教えてもらってとても便利🥺と思…
Rails、Postgresqlの構成でdocker composeによる開発環境を構築していたところ、RailsからDBに接続する際に、以下のエラーが発生しました。 There is an issue connecting to your database with your username/password, username: app. Please check your database configuration to ensure the username/password are valid. Couldn't create 'app_development' database…
hash配列を指定keyで検索し、取得する。 mast = [{code: "101", name:"abc"}, {code: "201", name:"cde"}, {code: "101", name:"a"}, {code: "102", name:"efg"}, {code: "101", name:"abc"}, {code: "301", name:"b"}] select だと該当する全行を取得(Array)。 >> result = mast.select { |a| a[:name].include?('abc') } => [{:code=>"101", :name=>"…
はじめに どうも、ハガユウキです。2022 6/1に金融SEから、無事にスタートアップのソフトウェアエンジニアにキャリアチェンジしました。働く中で、自分がしたこと、考えたこと、感じたことを忘れないようにするために、日記を書きます。気軽に楽しんで読んでいただけると嬉しいです。 シンガポールチキンライス DAY1(2022 6/1) この日からソフトウェアエンジニアとしてのキャリアがスタートした。 MacBook proとモニターが支給される。あと自分が座るイスがめっちゃ座りやすい。値段を聞くと8万もするらしい。隣にCTOがいるので、いつでも気軽に聞くことができる。すごく最高な環境。 午前中は雇用…
CSVデータの操作サンプル。 parse すると、array になる。 >> require 'csv' => true >> require 'pp' => false >> s = <<EOS id,first name,last name,age 1,taro,tanaka,20 2,jiro,suzuki,18 EOS >> pp s "id,first name,last name,age\n" + "1,taro,tanaka,20\n" + "2,jiro,suzuki,18\n" => "id,first name,last name,age\n1,taro,tanaka,20…
Railsのパーシャル内で現在のインデックス数を取得する方法です。 パーシャル内で #{variable_name}_counter で取得可能です。 = render partial: 'users/user', collection: @users index : <%= user_counter %>
RSpecでテスト対象オブジェクトからの送信メッセージを検証したくて色々な記事を調べていたところ、モック検証のmatcherにはreceiveとhave_receivedの2つのパターンがあるらしい。 あまり情報は出てこなかったけどこの2つのmatcherの違いは文字通りで receive ・・・ これからメッセージが送信されるかの確認 have_received ・・・ 既にメッセージが送信されたかの確認 のようだ。 つまり subject expect(object).to receive(:method) は動かない。(subjectでテスト対象オブジェクトの振る舞いを実行している前提)…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥24,000 → ¥1,960 92%OFF!! ⭐ ⭐ ⭐ ⭐ ⭐ (17,769件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,000 → ¥1,84…
2022/06/26分のコミットです。 CHANGELOGへの追加はありませんでした。 Document concerns about storage and column size when using encryption rails guideのActive Record Encryptionの修正です。 encryptionは Base64 encodingを行う為、カラムのサイズが元のデータより多くなる旨説明したImportant: About storage and column sizeセクションを追加しています。 Remove trailing whitespaces of A…
root_user?みたいた権限チェックするメソッドを定義したいです。 権限チェックするメソッドはビューでもコントローラーでも使いたいことが多いです。 ビューでは権限によって項目を表示したりしなかったり切り替えたい コントローラーでは権限があるときだけアクションを実行し、ない時はアクションを実行したくない こういうときはApplicationControllerにメソッド定義してAbstractController::Helpers#helper_methodを使ってビューから呼べるようにします。 AbstractController::Helpers::ClassMethods にまさにそん…
タイトルは釣り。 ユースケースvsドメイン ユースケースは「こういう時に使うもの」と言えるもの、ドメインは「この業務知識」と言えるもの。 破綻する理由は、ユースケースとドメインがひとつのコンポーネントで混ざり合ってしまっているから。 まず、ユースケース別なコンポーネントと、ドメイン知識が含まれるコンポーネントは明確に分けるようにするだけでもかなりマシになるはず。 以下は、それをどう実現するかの雑記。 バケツリレーvs状態管理(またはcontext) propsのバケツリレーのネストの深さや親コンポーネントへのイベント通知のため、状態管理やcontextを使うのは、基本的に悪手になるケースが多い…
なぜこの記事を書いたか やると決めたこと・やらないと決めたことを書くことで、決めたことを忘れないようにするためです。1ヶ月弱働いたので、このタイミングで決めようと思います。色々生活する中で変化することはあるかもしれませんが、一旦は決めたことをやり抜こうと思います。 やると決めたこと 7時間絶対寝る(0時~7時)。 寝る前に次の日の着替えとハンカチを用意する。 起きたら腕立て、背筋、腹筋をして冷水シャワーを浴びる。 7時30分~8時まで30分勉強する。前日はできるだけ速く寝てこの勉強時間を増やす。8時には必ず家を出る。 朝の電車では本を読む。夜帰る時にはてなブログを書く。 20時には絶対帰る。 …
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥24,000 → ¥1,960 92%OFF!! ⭐ ⭐ ⭐ ⭐ ⭐ (17,750件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,000 → ¥1,84…
2022/06/25分のコミットです。 CHANGELOGへの追加はありませんでした。 Document concerns about storage and column size when using encryption rails guideのActive Record Encryptionの修正です。 encryptionは Base64 encodingを行う為、カラムのサイズが元のデータより多くなる旨説明したImportant: About storage and column sizeセクションを追加しています。 Fix code cache namespacing for p…
コンフリクト? チームで開発しているリポジトリにプルリクエストを投げたら、コンフリクトが出ているからMergeできないよ!という旨のメッセージが出ることがある。 コンフリクト(conflict)というと、日本語で「対立」とか「紛争」っていう意味があるみたい。 その意味の通り、これまでにmerge済みの最新バージョンのコードと今回プルリクエストを投げている部分のコードに対立が生じているという意味。 実際にコードを見たほうがわかりやすいかもしれない。 ↓ こちらがmainブランチのコード 6 import { Game } from "./components/Game"; 7 import { …
まぁこれが… こうですからね。
外部キーのインデックス rails を使用していると,referencesで外部キーに対して自動でインデックスが貼られる。しかし,そのインデックスの役割を正しく認識していなかった。 usersテーブルに対してpostsテーブルがuser_idを持っている時を考える。postsがuser_idに対して,インデックスを貼っていない状態で,where 句にuser_idを指定して検索すると,postsテーブル全件に対して検索が走る。しかし,user_idに対してインデックスを貼ることで,検索対象のレコード数が減少し,高速化が見込まれる。 参考 https://www.amazon.co.jp/%E9…
この記事は、競技プログラミングのヒューリスティックコンテスト*1で用いられるビジュアライザを C# と ASP.NET Core Blazor*2 で自作しよう! というものです。C# が分からない方でもできるよう、全手順を解説しています。また Visual Studio というエディタを使いますが、その使い方も全手順を解説していますので、安心して挑戦してみてください!今回の記事で制作できるビジュアライザ 対象読者 自作ビジュアライザに興味のある方 C# や .NET 開発をしていて Blazor にも興味のある方 React や Angular などのSPA*3 技術は知っているが、他の選択…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥24,000 → ¥1,960 92%OFF!! ⭐ ⭐ ⭐ ⭐ ⭐ (17,746件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,000 → ¥1,84…
2022/06/24分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activerecord/CHANGELOG.md Introduce strategy pattern for executing migrations. Require ruby-vips before downloading blob activestorage/lib/active_storage/analyzer/image_analyzer/vips.rbの修正です。 ruby-vipsを使用するメソッドの先頭で、ruby-vips gemがインストールされているかチェックするよう修正して…