前回の続きです これまでの目次 その1 … 基本編 その2 … waitやwindow_handle 要素が出現するのを待つ 通常でも、手続き的に連続して書いておけばページロードがある程度完了するまでは待ってくれる。 しかし、xhrでの読み込みやスクリプトによるDOMの改変、展開などである要素が出現するのを明示的に待つ必要がある場合もある。 そんなときは Selenium::WebDriver::Wait を使う wait = Selenium::WebDriver::Wait.new(:timeout => TIMEOUT) wait.until do driver.find_element(….).displayed? …
Read MoreSelenium WebDriverで遊ぼう Selenium WebDriverがあれば、httpを直接喋ったり、mechanizeやnokogiriで遊ぶより以下のことが出来て嬉しい。 javascriptを使ったレンダリングなどに対応できる javascriptをコールできる chromeなどブラウザの挙動そっくりそのままを再現できる Selenium WebDriver on Ruby で、いろいろ遊んだり、今流行の(多分嘘)RPAしたりやっていくぞ! これまでの目次 その1 … 基本編 その2 … waitやwindow_handle 準備 これはごく普通に gem install selenium-webdriver で …
Read MoreAWS Mobile SDK for Unity が Unity2019でエラー AWS Mobile SDK for Unity は Unity2019では名前衝突したりなんたりでうまく動かない件 このGitHub issue を見ると AWSSDK for Unity はすでに “no longer supported.” とのことで、「そんなぁ」ってなるなど。 ARM64の件もあるが、InvalidDataExceptionがかぶるという問題も。 Addressable使ってるプロジェクトなんかだと、 ‘Ambiguous Reference …
Read MoreRails.cacheにmodelをキャッシュする Rails.cache などを使い、ActiveRecordのモデルのインスタンスをキャッシュ(==シリアライズして保管)する、ということがある。主にパフォーマンスチューニングのために、DBクエリを減らそう、というような場合。 そのモデルが、has_many などの関連(association)を持っている場合、単純にキャッシュにwriteすると、これらの関連のキャッシュが書き込まれてしまう。一件問題なさそうに見えるが、たとえば、関連先のモデルに対して直接アクセスしたりして内容が書き換わる可能性があったりして不都合なこともある。 そういった場合には、モデルをシリアライズ(Ruby的 …
Read More(Qiita repost) なにこれ (tl;dr) mysql5.7にて、VARCHAR(10)とVARCHAR(30000)ではINSERTなどで差が出る、という話を聞いたのと、よく言われている TEXT型は遅い、という話をベンチマークしてみたら少なくともINSERTは全然差がないことがわかった、という話 ただしTEXT型は検索する場合は当然差が出て来るが、割愛。 測定用スクリプト con = ActiveRecord::Base.connection # utf8mb4が検証環境のため 65535/4=16383 length_set = [255, 4096, 16383, :text] string_set = …
Read MoreRedisでどんなコマンドが発行されているかを見たい monitor コマンドを使います $ redis-cli 127.0.0.1:6379> monitor OK 1590568977.855454 [0 172.18.0.1:36648] "get" "hoge" 1590568977.856992 [0 172.18.0.1:36648] "get" "hoge2" ログレベルを変更したい コマンドの発行についてまでは出ませんが Redisのloglevelも変更できます $ redis-cli > config get loglevel …
Read Morediv要素のアスペクト比を固定したい(例えば正方形) デザイン上、div要素のアスペクト比を1:1(正方形)などに固定したい、ということがある。 当たり前だが、以下のコードは動作しない。 <div style="width:100%; height:100%">hoge</div> 親要素が正方形でない限り当然、高さと幅はバラバラに評価されるため。 どうするの? padding-topや-bottomの評価は、widthを基準に行われることを使う。ちょっとトリッキーだが… <div class="parent"> <div …
Read More