みずラテ

牛乳と水を2対1で。

技術

【Rails】ActiveRecord_Relationのインスタンスはなぜmapが使えるのか

やってみたこと ActiveRecord_Relationのインスタンスを生成してみました。 User.all.class #=> User::ActiveRecord_Relation .allだったり、.whereで取得したレコードはActiveRecord_Relationクラスのインスタンスとなります。 そして、mapメソッドを使うと…

【Ruby】メタプログラミングで動的にクラスとメソッドを定義する

やりたいこと メタプロで、動的にクラスとそのメソッドを定義したい。 Api関係の部分使いたいので、Moduleの配下に定義したい。 動的に定義したクラスは他のクラスを継承した形にしたい。 方法 const_setを使っていく define_methodを使っていく 結果 これで…

【Ruby】なぜ動的にclassを生成する際にObject.const_setとなるのか

ふとした疑問のメモです。 やっていたこと rubyのメタプログラミングで動的にクラスの生成を行いたくて調べていたところ、Object.const_setで生成出来ることがわかった。 疑問 まず以下を試してみてください。 Object.respond_to?(:const_set) #-> true Obje…

rbenvでRubyの最新バージョンがインストールできない

分かれば簡単な話でしたが、解決策をメモしておきます。 事象 rbenvでRubyの最新バージョン2.7.1をインストールしようとしたところ、rbenv install -lしても最新バージョンがリストに表示されなかった。 解決策 まずは、インストールしたい最新版を指定して…

【Rails】JSONデータをhashにしてdry-structでオブジェクト化する

Rails初心者なので他にいい方法がある気がするのですが、最新知ったやり方をまとめてみます。 やりたいこと APIなどで取得したJSONデータをそのままRubyのオブジェクトに落とし込んで処理に使いたい。 やり方 今回はDry-rbシリーズというGemの中のdry-struct…

AWS SAA-C01に滑り込みで合格しました

会社でAWSサービスを触り始めて2ヶ月くらい経ち、そろそろ受けてみようかなと思い立ったのが2月中旬。試験の内容を調べてみると、なんと現在のソリューションアーキテクトの試験は3月22日で終わり、新しいバージョンのSAA-C02に切り替わるということが判明。…

AWS SAMでAPI GatewayからSQSにメッセージを溜める

今回はAWS SAMを使って初めてのサーバーレスを体験してみようと思います。具体的にはAPI GatewayにPOSTされたメッセージをそのままSQSに送信して溜め込むというのをSAMのテンプレートを作ってコマンドでデプロイしてみるところまでをやってみます。 前提 前…

WSLでUbuntuにrubyをインストールしようとしたらno acceptable C compiler foundエラー

WSLの設定をしているときにつまづいたエラーについてメモしておきます。 事象 WSLで Ubuntuの開発環境構築をしようとして、rbenvでrubyをインストールしようとしたところ、以下のようなエラーが発生。 checking for ruby... false checking build system typ…

【AWS CLI】An error occurred (InvalidAccessKeyId) when calling the PutObject operation:エラーの解消

事象 EC2のインスタンス上からAWS SAMのデプロイをしようとしたところ、以下のようなエラーが発生。 An error occurred (InvalidAccessKeyId) when calling the PutObject operation:いつもはEC2にIAM roleをアタッチしていてそれを使ってデプロイしていたの…

AWS SAMのための開発環境をDockerで構築する

最近AWS SAMを使い始めたので開発環境構築について書いてみたいと思います。今回作成する環境はこんな感じです。 lambda実行環境であるamazonlinux環境をDockerで作る docker-composeしてVSCodeのRemote Containerでアクセスする 実際のサーバーレスアプリは…

【Docker】"exec: \"tar\": executable file not found in $PATH": unknownエラーが出た

docker-composeしようとしたらハマったのでメモ。 事象 macを使用。 VSCodeからRemote Containerを使ってDockerにアクセスしようとしたら以下の文言が出てエラーとなった。 starting container process caused "exec: \"tar\": executable file not found in…

金融系SIerからWeb系エンジニアに転職して2ヶ月が経った

12月に金融系のSIerからWeb系企業に転職して2ヶ月ほど経ったのでブログを書いてみようと思います。 SIerからの転職エントリはたくさんあれど、そこから生き残っているという話が少ないというのを耳にして、自分は運よく生き延びてますという話です。このまま…

ABCのA問題全埋め

AtCorderを細々と始めました。 何度かABCのコンテストに参加してみたものの、灰色から抜け出せません。1時間半かけてたまにC問題が解けるくらいの雑魚です。B問題ではほとんど躓かない。 C問題を解くには簡単なifの条件分岐を脱して、基礎的なアルゴリズムの…

【Cloudformation】RefやFn::GetAttが何を返すのか

Cloudformation初心者の私が最初に躓いたRefとかGetattの話です。 リソースによってRefで返す値が異なる。 Ref関数を使うと、テンプレート内のリソースIDを引数にしてARNだったり、リソース固有のIDだったりを返してくれるのですが、最初にハマったのは「じ…

【AWS】Lambda was unable to decrypt the environment variables because KMS access was denied.の解決

状況 AWS SAMにてlambda関数を使ったAPIを作成中、lambdaのテストを実行したところ以下の文言が出てエラーとなった。 API アクションの呼び出しに失敗しました。エラーメッセージ: Lambda was unable to decrypt the environment variables because KMS acce…

【Ruby】Gem作成時にbin/consoleしたらpermission deniedとなったので解決する

事象 Gemを自作しているときに、./bin/consoleでirbを開こうとした際に 以下のようなエラーが出ました。 -bash: ./bin/console: Permission deniedさて、なんででしょう? こんな時はpermissionと言われているので、まずbin/consoleの権限を確認してみましょ…

【Ruby】初めてGemを作って公開してみた

初めてRuby Gemを作って公開してみましたのでそのことについてまとめてみます。

【Rails】BulmaでWebフォントを使ってみる

今回は、RailsにBulmaを適用した上で、Webフォントを使ってフォントを変えてみました。 導入手順 まず、Bulmaをすでにインストールしている人は、custom.scssあたりに以下のインポート文がすでに書かれていると思います。 @import "bulma";フォントを変える…

【Rails】Herokuデプロイ時にNoMethodError

事象 Herokuにデプロイ時、DBをリセットしてデータを全て消し、migrateした後に再度画面上で挙動を確認しようとしたところ、NoMethodErrorのエラーが吐かれてしまう。 解決 heroku restart上記コマンドを一発打つ。 どうやらmigrateがちゃんと反映されていな…

【Rails】TwitterのOAuth認証でスマホで見たときだけOAuth::Unauthorized (403 Forbidden)と出る問題を解決

TwitterのOAuth認証を試してみたところ、PC画面上からはうまく認証を通るのに、 なぜかスマホから確認すると認証が通らず、HTTPリクエストのステータス500で返ってきてしまいました。そしてheroku logs -tでログを見てみると、 OAuth::Unauthorized (403 For…

【Rails】ファイルに書いたjQueryが読み込まれないときの対処法

初歩的なところで毎度ハマっています。 今回の事象 test.jsをapp/assets/javascripts配下に配置して以下の簡単なalertを出すだけのメソッドでテスト。 gemのインストールは終わっている前提です。 $(document).ready(function() { $('#aaa').on('click', fun…

【Rails】Semantic UIがスマホレイアウトにならない問題を解決する

Semantic UIをRailsに導入しようとして、ハマったところを記録しておきます。 事象 スマホレイアウトにしたいのに、PCレイアウトのままスマホと認識してくれない。 環境 rails 5.2.1 semantic-ui-sass 2.3.3.0 jquery-rails 4.3.3 手順 まずは、gemをインス…

【Rails】Could not find a JavaScript runtimeとなった時にやったこと

Railsアプリを初めて作成してRails sコマンドを満を辞して打ち込んでみたらしょっぱなからエラーが出て萎えました。 解決したので、以下に記載します。 事象 Rails sコマンドを打つと以下のエラーが出る。Gem Load Error is: Could not find a JavaScript ru…

【Django】staticタグをblockに入れるとTemplateSyntaxErrorが出るのを解決する

base.htmlを使って、共通部分をまとめようとした矢先、個別ページでだけ読み込みたいjsファイルを読み込もうとしたらエラー・・・その解決策です。 事象 個別ページにてjsファイルを読み込む {% block extra_js %} <script type="text/javascript" src="{% static 'app/js/test.js' %}"></script> {% endblock extra_js %}すると・・・シン…

Django2.0でsocial-auth-app-djangoを使用してTwitter認証してみる

Djangoで作成中のアプリで、Twitterからユーザーログインをさせたいと思っており、調べてやってみました。 超参考にさせていただいた記事 いろんな記事を漁りましたが、こちらの記事をほとんどコピペでいけました。 qiita.com 環境 レンタルサーバーを借りて…

【Django】Apatchを使ったらadmin画面のcssが読み込まれないを解決

Djangoの勉強用にレンタルサーバーを借りてデプロイしてみたものの、cssが読まれなかった時にやったこと。 環境 CentOS Linux release 7.4.1708 Python 3.6.4 Django 2.0.2 Apache 2.4.6 やったこと 静的ファイル(cssとかjsとか画像)の格納フォルダをsetting…

【Django】Apatchのhttpd.confの設定をしてみる

レンタルサーバーやクラウドサーバーにデプロイする際、wsgiを使ってDjangoとApatchを繋げる必要がある。 環境 CentOS Linux release 7.4.1708 Python 3.6.4 Django 2.0.2 Apache 2.4.6 wsgi_moduleの格納場所を把握しておく 私の場合は、virtualenv (今回は…

Conoha VPSを借りてみた。

ConohaのVPSを借りたので、こちらの記事を参考にDjango等のインストールを進めました。qiita.comtech.high5.science

JavaScriptでチェックボックスのチェックされた順番を取得してみる

CheckBoxのチェックされた順番を使用してやりたいことがあったので、JavaScriptを勉強してみました。ちなみに今回初めてJavaScriptに触れた超初心者なので、悪戦苦闘でした。しかも全然情報が出てこないので、困りました。 参考にさせて頂いたサイト様 check…

PyQ始めました

Pythonをしっかり学ぶためにPyQを始めてみました。pyq.jp Pythonの基本文法を勉強中です。 DjangoからPythonを触り始めたので、文法もあんまりよくわかっていないまま見よう見まねでコーディングしていますので、実務レベルで使用できるようになるためにも一…