SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

【AWS lambda】chat botを使ってエラーをslackに通知させる方法

「AWS lambdaが実行中に失敗したら通知させたい!」 なんてことを思っているそこのエンジニアのあなた。 この記事を読めばあっという間に設定することができます。 ということで、今回は新しく追加された AWSchat botを利用して、slackに通知させてみたいと…

【Amazon Lightsail】wordpressを公開!最初にする設定【GoogleDmainsを利用】

Amazon Lightsailを利用して、wordpressをインストール。 サイトを立ち上げます。 Amazon LightsailはEC2の超簡易版って思ってもらったらOK。 Amazon Lightsailを利用する ちなみにメリットとしては、超簡単に始められる。 料金が安いプランが3.5$/月 AWSな…

【Ruby】Seleniumで要素を除外して取得する方法

Seleniumを利用していると取得したくない要素も取得してしまってうまく動作しないことがあると思います。 除外するメソッドは用意されていないみたいです。 Ruby on Railsを書いているひとであれば、 .notとかしたくなると思います。 jQueryでも.notでclass…

【Google SpreadSheet】WebAPIにしてGETした時のリダイレクトへの対応【Ruby】

GoogleSpreadsheet(スプレッドシート)をWeb APIにして公開、RubyでGETしようとするとリダイレクトさせないとエラーになってしまいます。 302 Moved Temporarily が返ってきてしまいます。 これに対応します。 GoogleSpreadsheetのAPIのredirectに対応する方…

【JavaScript】Promiseって何かを知らない。

自分なりの理解メモ JSでは、処理の順番が書いた順番に担保されない、という問題がある。 下記記事からコードをお借りしました。 https://qiita.com/YoshikiNakamura/items/732ded26c85a7f771a27 処理を待って欲しいが待ってくれない 個人的にすごく理解しや…

GASをCLIでdeploy して gitで管理する方法

最近chrome拡張とスプレッドシートを触ってます。 当然、GAS (Google App Script)も触れていてCLIでいつもの当たり前の環境を作る方法です。 deployをCLIから行う gitでコードの管理をする

【AWS lambda】環境変数を利用して実行環境によって処理を切り替える方法

AWS lambdaで開発をしていると、localと本番環境の時に処理だったりpathを切り替えたい時があると思います。 例) layerを利用していて本番の時は /opt配下をみたい 環境変数を利用する 結論から書くと、環境変数に ENVIRONMENT: production などを追加して処…

【AWS lambda】RubyでlayerにGemfile, chromedriverをアップロードして使用する方法

AWS lambdaのlayerにRubyのGemfileとchromedriverをアップして利用する方法のまとめです。

AWS lambdaを使って一定時間ごとにrubyを動かしたい

AWS Lambdaの奮闘記です。 初めて触るAWS Lambdaちゃんに苦戦した様子の備忘録。

【Ruby on Rails】SendGridのAPIを使ってメールを送信する

Ruby on Railsでメールを飛ばすのを利用するときに SendGridを検討することは多いと思います。 結構本番環境で飛ばしたり、API使ってやるにあたってハマったところが多かったので残します。 smtpの設定で飛ばす方法の記事は多いのですが、APIを利用する記事…

【Chrome拡張】DOMの表示を待ってからクリックさせたい

【Chrome拡張】編です。 今回はタブが新しく開けたりした場合にDOMの表示を待ってからjsでクリックさせたい時のノウハウを書きます。 結論から書くと以下です。 const jsInitCheckTimer = setInterval(jsLoaded, 1000); function jsLoaded() { if (document.…

【Chrome拡張】新規タブの読み込み完了をフックさせる方法

【Chrome拡張】の開発についての記事です。 タブが作成された時に、読み込み完了をさせてから処理を書きたい時の方法を書きます。 結論のコードから先にのせておきます。 chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){ console.log(…

【Chrome拡張】background.jsの発火の確認方法

background.jsのconsole.log などが出力されているのか、発火しているのか気になった時は、 chrome://extensions/に接続して、ここのビューを検証をクリックして、そこのブラウザでのconsoleをチェックしましょう! ビューを検証バックグラウンド ページ こ…

docker + Rails + posgre の設定でハマった

docker上にposgreのDBサーバを立ててRailsするぞの知見。 出ていたエラーとか psql: FATAL: password authentication failed for user "posgre" $ docker exec -it 942a697dd914 bash $ su - postgres postgres=# ALTER USER postgres with encrypted passwo…

転職と副業のかけ算

話題の本だったので、さっと読んでみました。 その備忘録。 印象に残ったところをpick up! 転職のタイミング P 97 ただし、転職してはいけないタイピングは明確に存在します。今の仕事がツライ、嫌になった、というタイミングです。 これは転職が目的になっ…

LINEでお風呂を沸かす仕組みを導入して冬を迎えてみた

こんにちは、寒い季節になってきましたね。どうも、お風呂大好きな櫻井(@KotaSakurawi)です。 突然ですが、ワタシ、お風呂、好きです。 ※この記事は「くふうカンパニー Advent Calendar 2019」の21日目の記事です。

【Ruby on Rails】enumとは?enumを使って可読性をあげてみよう

ども、櫻井広大です。 enumについて書いてみようと思います。 enumは使ってみると僕は便利だと思っているのですが、初学者からすると、一体これはどうやって使うんだ?とか、ちょっと抵抗があるなじゃないかと思ってまして そのハードルのようなものが取っ払…

【Ruby on Rails】delegateの使い方【委譲は便利】

Ruby on Railsにおける便利なメソッドとして、 delegateがあります。 こちらを使うと、メソッドチェーンをたくさん書く必要なく実装することができます。 忘れずにrails guideのリンクも置いておきます。 Active Support コア拡張機能 - Rails ガイド delega…

【Ruby on Rails】Rspecで行数を指定してテストを実行する方法

Ruby on RailsのテスティングフレームワークであるRspecを利用する際の行数を指定して実行する方法があります。 bundle exec rspec app/spec/test/test.rb:5 上記のように、最後に :10などのオプションを付与することで、その行のテストを実行することができ…

【Ruby on Rails】Railsにおける inverse_ofについて

双方間の関連付けで、異なるオブジェクトを参照しないように指定するオプション。 同様のレコードを見る、のようなイメージ。 Rails 4.1 以降は自動的に付与されるらしいが、関連付けにオプションが増えたりすると自動的につかないケースがある模様。 has_ma…

アジャイル開発の書籍を読んで

SCRUM BOOT CAMPを読んだので感想and学びをまとめておきます。 本誌の内容を抜粋しながら書きます。 まとめ 可視化をすることで、問題を早期検知できるようにする。 熱意は大切。 成果を最大限にする責任をプロダクトオーナーがもつ。 ソフトウェアをつくる…

【Ruby on Rails】カスタムレスポンスHTTPヘッダを付与する方法【noindexを指定する】

response.set_header('HEADER NAME', 'HEADER VALUE') Rails5以前は以下の方法で書けるようです。 response.headers['HEADER NAME'] = 'HEADER VALUE' 実装例 class TestsController def index @books = Book.all response.headers['HEADER NAME'] = 'HEADER…

Chrome拡張が思ったよりも簡単に作れるのを知って触ってみた

ども、櫻井広大です。 最近社内で思ったよりも簡単にchrome拡張が触れることを知ったのでやってみました。 書いた github.com 実は2ファイルくらいで拡張機能って動かせるんですね。 manifest.jsonを用意して、動かすjsを置いてあげるだけ。 詰まった .forE…

【Ruby on Rails】be_falsyとbe_falseyとbe falseの違いについて【RSpec】

Ruby on RailsのテストをRSpecで書いているみなさん、どうも櫻井広大です。 be_falsy使っていますでしょうか。 タイトルにもある、 be_falsy be_falsey be false の違いについて書きます! RSpecでfalseやtrueの返り値のマッチャ be_falsy ということで、結…

【Ruby】false || nilの返り値は?何が返るのかをちゃんと考えてみた

どうも、櫻井広大です。 今日は、Rubyの言語の仕様についての記事になります。

2018年を振り返る

ということで、年の瀬も近くなってまいりましたので、今年の振り返りをしておこうと思います。 ざっくりこんなことできたよ、できなかったよ、これ楽しかったよを紹介します。 新卒2年目、櫻井広大の1年はこんな感じでございました。 一緒にいれてくれた人…

Railsにおける例外処理の考え方とテストでは何をテストするべきか?講座

こちらの記事は、くふうカンパニー Advent Calendar 2018の21日目の記事となります。 くふうカンパニー Advent Calendar 2018 - Qiita 例外処理、みなさんどうするべきなのかちゃんと把握しているでしょうか? 正直言います。 ワタクシ、ちゃんと理解してい…

【Hackday2018】17卒同期エンジニアで開発だ!

ども!くふうカンパニーアドベントカレンダー、15日目も担当の@KotaSakurawiです。 12月15日はYahoo!さんが主催するHackday2018の開催日です! 実はHacyday2017も参加していまして、2年連続の参加になります! さらに!2年連続メンバーも同じ構成で参加して…

Rails2年目のさく氏による, stimulus試した実践ガイド

どうも! くふうカンパニーアドベントカレンダー、7日目担当の@KotaSakurawiです。 くふうのアドカレはこちらから▶︎くふうカンパニー Advent Calendar 2018 - Qiita 今日の記事は! フロント寄りの内容になります。Stimulusについて触る機会がありましたので…

知名度ゼロでも「この会社で働きたい」と思われる社長の採用ルール48 を読んだ感想

知名度ゼロでも「この会社で働きたい」と思われる社長の採用ルール48を読みまして、その感想などをまとめておきます。 感想 大事なところ、面白いと思ったところ まとめ