ノンカフェインであなたにやさしい

Ruby,Rails,HTML,CSS,Reactなど

Redash全体が重い遅いときは自動更新頻度が原因かも

タイトルママなんですが Redashクエリではなくサイト自体の読み込みが遅く困っていました。 Refresh Schedule に Every 5 minutes が増えていることに気づき、 更新頻度を減らしたところ軽くなりRedashに平和が訪れました。 自動更新は計画的に。 また、古い…

スプレッドシートでEOMONTHを使い月初、月末を取得する

EOMONTH 関数を使う たぶん end of month だろう 関数リストから月末で検索しても出なかったけど「最終日」って言うのか… 起算日から指定した月数だけ前または後ろの月の最終日の日付を返します。 EOMONTH(開始日, 月数) support.google.com 月末 月数に0を…

GitHubで付けたタグ(Release)を削除する

一度付けてしまうとGitHub上からは消せないタグ CLIからなら消せる git push --delete origin タグ名 Web上から消させてほしい🥺

IEでflex-basisにbox-sizing: border-boxが効かない

Flex便利ですよね。 固定幅の横並びを実装したところIE11で崩れたので解決策です。 ul { display: flex; flex-wrap: wrap; outline: 1px solid #00f; margin: 10px auto; width: 200px; } li { box-sizing: border-box; flex-basis: 100px; outline: 1px sol…

Windows WSLのUbuntuにGoogleChromeをインストールする

Railsで開発をしていてChromeDriverでのテストを利用しているためChromeが必要だった sudo apt-get update # 必要なライブラリのインストール sudo apt-get install libappindicator1 libappindicator3-1 fonts-liberation # 最新安定版のDL、インストール c…

Rails migrationでdefaultに作成時の現在時刻を入れる

default: -> { "now()" } という指定ができる。 create_table "hoge" do |t| t.datetime "hoge_created_at", default: -> { "now()" }, null: false end hoge = Hoge.create hoge.hoge_created_at => nil # DBで時間を入れるため作成直後はnilになってしまう…

Ruby eachの引数で配列を展開する

# idと名前の2次元配列、CSVの配列などを使う時に便利 arr =[ [1, 'hoge'], [2, 'moge'], ] arr.each do |id, name| puts id, name end # 出力 # 1 # hoge # 2 # moge 以下と同等のことが出来ます arr.each do |values| id, name = values puts id, name end…

iOS UIWebViewでjQueryのclickイベントが重複して発火する

※UIWebViewは2020/12移行更新できなくなりますのでWKWebViewへのアップデートが必要です https://developer.apple.com/news/?id=12232019b UIWebViewで以下のjQueryのページを動かすとクリックイベントが2回発火してしまう場合がありました。 ※1回しか発火し…

iOS Safariでz-indexの親に -webkit-overflow-scrolling: touch; overflow: auto; が設定されているとz-indexが正しく効かないバグ

CSS

モーダルやチュートリアルなどを実装していてiOS Safariだけ z-index が正しく効いていない状況があった。 簡単なサンプル codepen.io z-index の大きい要素の親に以下が設定されていると z-index が前面に来てくれないよう。 -webkit-overflow-scrolling: t…

Railsで文字列のバージョンを比較する

StringのVersion情報 "2.1.1" を "2.2.0" などと比較したい Gem::Version を使うことで比較できる p "1.9" < "1.10" # => false p Gem::Version.new("1.9") < Gem::Version.new("1.10") # => true 文字列にも対応。便利。 "1.1.beta9" と "1.1.beta10" では…

Windows WSLで時刻を同期させる

date をすると過去日付が返ってきてしまい、AWSでも RequestTimeTooSkewed エラーが返ってきてしまったので対応メモ # 2020/7/8実行 $ date 2020年 7月 4日 土曜日 15:02:22 JST ~/work/rails/tsukulink (master) $ ntpdate 4 Jul 15:02:44 ntpdate[4968]: n…

Windows WSLのUbuntuでpbcopyを使う

MacからWindowsに開発環境を移行したのでメモ クリップボードへのコピーは clip.exe が同じ機能を担っているらしい Macと同じコマンドで使いたいのでaliasを設定して完了 # ~/.profile alias pbcopy='clip.exe' 参考 blog.tmyt.jp

Windows WSLのUbuntuにRedisをインストールする

開発環境をWindowsにしたので環境構築のメモ # redis-serverのインストール sudo apt install redis-server # redis の再起動 sudo service redis-server restart # 自動起動設定 systemctl enable redis-server

Windows WSLのUbuntuにPostgreSQLをインストールする

開発環境をWindowsにしたので環境構築のメモ # PGのインストール sudo apt install postgresql # 起動 sudo service postgresql start # 自動起動設定 systemctl enable postgresql # PG用ユーザーの作成 sudo -u postgres -i createuser -d -U postgres -P …

Windows WSLのUbuntuにElasticsearchをインストールする

開発環境をWindowsにしたので環境構築のメモ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic…

googleads.g.doubleclick.net, tpc.googlesyndication.com とは?

GoogleAdSense, アドマネージャーから発行されるJS 広告を使用している限り削除不可 support.google.com 背景 GoogleのLighthouseでサイトの表示速度等の改善を行っている中でタグへの警告が見つかったため調べた。

https://www.googleadservices.com/pagead/conversion_async.js とは?

Google AdWordsのコンバージョンタグだった。 developers.google.com 背景 GoogleのLighthouseでサイトの表示速度等の改善を行っている中でタグへの警告が見つかったため調べた。 タグが何をしているか タグが何をしているのかはこちらが参考になりました。 …

Jiraの履歴を簡単に復元できるよう記法をMarkdownに変換するwebツールを作った

jira2md.web.app 背景 Jiraの説明を複数人が編集して気づかないうちにコンフリクト、苦労して書いた説明が消えていたのが辛かったので簡単に戻せるようJira記法からMarkdownに変換するwebツールを作りました。 Jira絶対に許さないぞ…!! 使い方 変更履歴を…

Rails 複数カラムのユニーク制約のバリデーションを設定する

よく忘れる複数カラムの一意のバリデーション 2カラムの場合 validates :column1, presence: true, uniqueness: { scope: :column2 } 3カラム以上の場合 validates :column1, presence: true, uniqueness: { scope: [:column2, :column3] } Active Record バ…

Heroku SeachBox ElasticsearchがRails Searchkickのデフォルト設定で動かない

実運用しているアプリが2020/2/13あたりからインデックスの新規作成が上手くいかず調査しました。 エラー class Post < ApplicationRecord searchkick end 動かない状態のサンプル(GitHub) reindexでエラーが出ます。 irb(main):001:0> Post.reindex Traceba…

Railsでモーダルの出し分けを管理する

Railsでモーダルの表示処理をまとめて衝突しないように管理する方法を紹介します。 背景 ツクリンクを運営する中でモーダルが少しづつ増え、衝突することがあったためモーダルの優先順位を付け、衝突しないよう実装をしました。 実装 前提 以下の3つのモー…

FirebaseFunctionsで素のJSを返す

実現したいこと FirebaseFunctionsを使ってリクエスト元やパラメータに合わせたJSファイルを作り返したい こんな風に使いたい <script src="https://asia-northeast1-fir-functions-return-js.cloudfunctions.net/hello"></script> Functionsの実装 functions/index.js exports.hello = functions .region('asia-northeast1') .https.onRequest((request, respo…

RSpec 1つのexpectで複数のchangeを検証する

表題通り1つのexpectに対して複数のchangeを検証したい it '複数のchangeを見るぞ' do expect { subject }.to change { x }.by(1). and change { y }.by(2) end 見づらいのであまり使いたくない… 参考 stackoverflow.com RSpec3.1からの機能らしい rspec.info

LastPassエクステンションで共有フォルダの内容が更新されない時の対応

別アカウントで共有フォルダの内容を変更したのにChromeエクステンションのLastPassでは内容が見れなかった時の対応 その他のオプション -> 高度な設定 -> サイトを更新 で無事更新されました。

can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)

rails s や bundle exec ... などで怒られた can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException) 原因 bundler のバージョンがGemfile.lockと違うことが問題だった ~~~~ BUNDLED WITH 2.0.1 $ bundler -v => Bundler vers…

AndroidStudioで『エラー: パッケージorg.apache.httpは存在しません』を解消する

古いアプリのSDKが21だったためバージョンを上げたら次のようなエラーが エラー: パッケージorg.apache.httpは存在しません Android 6.0(API レベル 23)以降 org.apacheパッケージ削除 org.apacheパッケージが削除されたようです。 詳細はこちら https://d…

AppStoreConnectにアップロードしたのにビルドから消えた時の対応

Xcodeでアプリをアップロードし「Upload Successful」と表示され AppStoreConnect側でも処理中なのを確認したのに少し時間が経ったら消えていました。 ↓これが消えていた 解決法 契約が更新されていて同意が必要でした。 https://appstoreconnect.apple.com/…

インスタグラムのブログパーツを作った📷

作ったもの Insta Window Tool こんな感じでインスタの写真をサイトに貼り付けられます。 作った背景 インスタグラムの写真をサイトに貼る必要があったので調べたところ、ブログパーツは既にあったのですがブログパーツのサイトにリンクしてしまう残念仕様だ…

Railsのmigrationで後からNULL制約を設定する

Railsのmigrationで後からNULL制約を設定する - Qiita からの転載です。 NULL制約の追加には change_column_null を使います。 引数にはテーブル名、カラム名、null falseかtrueか、変更後のデフォルト値 class ChangePointColumnOnPost < ActiveRecord::Mig…

git 管理にサヨナラバイバイ

rm -rf .git/ すべてをバージョン管理から外したい場合は git 管理ディレクトリを削除する。 .git/ に情報が蓄積されているだけのため、これを削除すれば全て無かったことになる。