状況 タイトルの通りだが、MacのJIS配列に慣れた状況からWindowsのUS配列PCを使わなければいけなくなった。 US配列になったことで記号の配置など一部便利になったところはあるものの、日本語/英語の入力切替や、commandキーによる便利なショートカットが使え…
タイトルの通り、gemのコードリーディングを初めてやってみたので手順などメモ。 なぜやるのか 最近gemのコードを読む機会が多くて、大体はREADMEでは分からない情報を取ってきたい時にGitHubリポジトリ内で検索かけつつ読むくらいだったのだけど、 他人のコ…
サーバーのバックアップ作成を定期実行してくれるAWSのサービスがないかな〜と思って調べたところ、AWS Backupというのがあり、早速仕事にて導入してみたのでメモ。 AWS Backupとは ざっくり特徴だけ掻い摘んでおくと AWSリソースのバックアップ作成をスケジ…
MySQLで重複データを除外してSELECTしたいときにDISTINCTを使うけど、反対に重複のあるレコードだけを抽出したり、重複のあるレコードの中身を知りたいな〜って時にどうすれ良いのかなって疑問に思いメモ。 テストデータ Server version: 5.7.34 こんなデー…
Rubyにはsortメソッドがあって、その名の通りソートしてくれるんだけど a = (1..9).to_a.shuffle => [1, 2, 8, 7, 4, 3, 9, 5, 6] a.sort => [1, 2, 3, 4, 5, 6, 7, 8, 9] これをsortを使わずに実現したい。 バブルソートで実装してみる。 バブルソートとは …
VARCHAR型のカラムについて、WHERE句での一致検索で大文字と小文字を区別してくれないことに気づいた。 mysql> SELECT id, name FROM clients; +----+------+ | id | name | +----+------+ | 1 | tesT | | 2 | TEST | | 3 | test | +----+------+ 3 rows in …
タイトル通り。 これまであまりファイルの扱いをするような実装をしてこなかったのでメモ。 Ruby...2.4.3 CSV...2.4.8 File.open ファイルアクセスのためのクラス。openに引数を渡すことでファイルオブジェクトを生成する。 File.openとFile.newで何が違うん…
NginxのCORS周りの設定においてリバースプロキシとして使用する場合の情報が少なかったのでメモ。 前提 サーバーの構成はこんな感じ アプリケーションへのリクエストを捌くために、webサーバーとしてNginxを、アプリケーションサーバーとしてPumaを使ってい…
Dockerイメージを--no-cacheでbuildすることがよくあるのだけど、その度に新しいイメージが溜まっていき、未使用のイメージが結構溜まってしまっていたためメモ。 $ docker -v Docker version 19.03.12, build 48a66213fe 未使用のコンテナを削除 まずはイメ…
Docker for Mac が遅くて遅くてもう仕事にならないレベルになってきたのでどうにかならないかなと思い調べた。 Docker version 19.03.12 Docker Desktop 2.3.4.0 メモリを引き上げる これまでの対策としてはDockerに割り当てるメモリの上限をデフォルトの2GB…
TwitterのAPIを使ってみました。 v2がリリースされたようでせっかくなのでこちらを。 What's New with Twitter API v2 | Docs | Twitter Developer Platform 手順 今回はとりあえずcurlでツイートを取得できるところまでやりたい。 developerアカウントの作…
「privateメソッドって外から呼び出せないやつでしょ?」「レシーバを指定して呼び出せないんでしょ?」から抜け出すべく色々試してみた。 ※2.7以降はレシーバにselfをとれるようになったようなのでバージョンを変えて検証してみた。 試してみる $ rbenv loc…
業務でCSVをごにょごにょする必要があったのでawkコマンドを学習してみた。 awkコマンドとは AWKはパターンとアクションを組み合わせるプログラミング言語です。 引用元:「シェル芸」に効く!AWK処方箋 「パターンにマッチした場合はアクションを実行する」…
デプロイが急にコケるようになり、色々試行錯誤して解決したのでメモ。 結論から言うとdelayed_jobのpidが悪さをしていて、うまくworkerを再起動できないのが原因だった。 Ruby 2.4.3 Bundler 1.16.1 Rails 5.1.5 Capistrano 3.9.0 delayed_job 4.1.5 発生し…
MySQLでダンプするときに全てのレコードをdumpすると重いので、特定のテーブルの特定のレコードのみdumpしたいなーと思って調べたときのメモ。 基本のmysqldumpコマンド $ mysqldump [options] db_name [tbl_name ...] データベース全体をダンプするには、db…
最近bashで色々試してみるのにハマっている。 $ date 2021年 4月 4日 日曜日 16時43分52秒 JST dateコマンドは現在時刻を表示する。 フォーマットを指定したいときは $ date +'%Y%m%d%H%M%S' 20210404191221 $ date +'%Y/%m/%d %T' 2021/04/04 19:14:18 引数…
Rubyのバージョンを2.7.0にあげてrake taskを実行したら見たことないエラーが出たので対処法をメモ。 Ruby...2.7.0 Rails...5.1.5 発生したエラー NoMethodError: undefined method `new' for BigDecimal:Class 下記の記事によると、decimal型のカラムがある…
RailsEngineでRubyのバージョンを変えて使えないのかな〜と思って色々と調べた結果をメモ。 RailsEngineとは エンジン (engine) は、ホストとなるRailsアプリケーションに機能を提供するミニチュア版Railsアプリケーションとみなせます。 ** すなわち、エン…
rubyのバージョンを変えた後に新しいbundlerがインストールできずに困ったのでメモ。 Ruby2.4.3(→2.5.0) Rails5.1.5 Amazon Linux AMI release 2018.03 Rubyのバージョンを特定のディレクトリのみ変更 今回、以下のような状況だった。 元々Ruby2.4.3が入っ…
Railsのプロジェクトでbundle installしたところ、mysql2のインストールでエラーになってしまったのでメモ。 Ruby...2.4.3 Rails...5.1.5 mysql2 発生したエラー Fetching mysql2 0.4.10 Installing mysql2 0.4.10 with native extensions Gem::Ext::BuildEr…
ffiが突然インストールできなくなったためメモ。 発生したエラー Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/hako/Project/sample_app/vendor/bundle/ruby/2.4.0/gems/ffi-1.9.23/ext/ffi_c /Users/hak…
最近curlのPOSTリクエストでAPIの検証をすることが多いのだけど、最初数あるオプションの使い分けがいまいちよくわかっていなかったのでまとめる。 -d オプション --dataを短く表記したもの。 フォーマット curl -d 'name=admin&shoesize=12' http://example…
業務でGoogle Ads APIを使うことになったのだけど、クライアントライブラリが訳あって使えずRESTでAPIを叩く羽目ことになったのでメモ。 Google Ads API とは Google広告のAPI。 クライアントライブラリが用意されており、実運用ではこちらの使用が強く推奨…
Google Ads API を使おうと思って色々調べたものの、そもそもGoogle広告のサービス自体を全然理解していなくて実装までに相当時間がかかってしまったのでまとめる。 Google Ads APIとは Googleのサービスのうちの一つである「Google広告」を外部から操作する…
前回の記事でaws-cliを使えるようになったのは良いものの、もう少し便利に使えないかなと思って色々ドキュメントを読みあさっていたら便利そうな使い方を見つけたのでメモ。 そもそものAWS CLIについての概要やインストール手順に関しては前回の記事をご覧く…
業務で色々とAWSを触らせてもらい、コンソールからの操作にだいぶ慣れたのでCLIに挑戦してみようかなと思い立ちインストールしてみた。 AWS CLIとは AWS Command Line Interface (AWS CLI) は、コマンドラインシェルでコマンドを使用して AWS サービスとやり…
Google APIsの使用にあたりOAuth2.0を使って認証を通すまでの過程をメモ。 前提知識がなさすぎて全体像を把握するまでに相当時間がかかってしまったのと、あちこちに散らばっているドキュメントをつなぎ合わせつつ理解するのがめちゃくちゃしんどかったので…
MySQLでSELECT文の結果をCSVファイルにエクスポートしようとした時に少しハマったのでメモ。 発生したエラー いつものようにMySQLにログインして、こちらの記事を参考にSELECT文の結果をCSVファイルにエクスポートしようとしたところ mysql>SELECT name FROM…
Dockerイメージを元にコンテナを立ち上げようと思ったら権限がないよーと怒られたのでメモ。 $ docker -v Docker version 19.03.12 実現したいこと 用意したDockerfileを元にイメージをbuildして、それを元にコンテナを立ち上げたい。 myimage ├── Dockerfil…
Redisでデータベースを指定して接続する手順についてまとめていきます。 Redisとは Redisは、オープンソース(BSDライセンス)のメモリ内データ構造ストアであり、データベース、キャッシュ、およびメッセージブローカーとして使用されます。 引用元:Redis…