MySQL v8.0 ClientからProxySQLを使用する際の注意

公式でも言及されていることですが、ProxySQLはそのコントロール配下にMySQL v8.0を置くことは可能なものの、MySQL 8.0.4からのデフォルト認証方式であるcaching_sha2_passwordには対応しておりません。MySQL 8.0 · sysown/proxysql Wiki · GitHubそのため、…

“Chef Infra Client cannot execute without accepting the license”が発生した時の対処

Vagrantでchef-soloをprovisionerとしたupコマンド実行時に以下のようなエラーが発生するようになった。 ==> host01: Chef Infra Client cannot execute without accepting the license Chef never successfully completed! Any errors should be visible in…

UI/UXの重要性をソフトウェアの本質から読み解く

UI/UXの重要性が叫ばれて久しい今日。日本国内においてもようやくその重要性が認識され始めたと言えるでしょう。ではなぜUI/UXがソフトウェアにおいて重要なのでしょうか。この問いをソフトウェアの本質から読み解いていきたいと思います。 情報を出し入れす…

RSpecでブラウザのダイアログを操作する方法

ブラウザのダイアログ Railsエンジニアにはおなじみではありますが(*)、リスクのある操作を行う際に、以下のようなブラウザのダイアログを表示することで確認を促す処理はケースとして良くあることと思います。(画像はGoogle Chromeの例。) 今回はそのよう…

macOS純正メモアプリ”メモ”(英名:Notes)で特定のメモを別ウインドウで開く方法

あまり注目してる人は少ないかもしれないmacOS純正メモアプリ”メモ”(英名:Notes)。軽快な動作でありながら、手書きや画像の添付、リッチテキスト対応など機能性も高いメモアプリでもあります。特定のメモを別ウインドウで開きたい場合は、画像のように、赤枠…

MySQLv4.0(!)で、DISK容量の空きは十分なのにThe table is fullエラーが出た時の話

あるMyISAMテーブル(ここではtest1とします)を、スキーマ変更のため一時テーブル(test2)へコピーしようとした時、 mysql> create table test2 select * from test1; ERROR 1114 (HY000): The table 'test2' is fullのようなエラーが発生した。test1はそ…

ActiveResourceでauth_token的なトークンで認証する方法

Rails4からは正式にプリインストール対象から外れたActiveResourceではありますが、アクセス先が絵に描いたようなRESTfulAPI、とりわけ開発者が内情を知ってるRailsアプリ間の連携等では今なお大いに力を発揮するもの。しかし、 http://example.com/posts.js…

MySQLのv4.0からv5.6へダンプファイルをインポートする際にTIMESTAMPがずれる場合の対処

MySQLをバージョン4.0からバージョン5.6へ移行するため、mysqldumpを使ってダンプファイルをv4.0から取得し、v5.6に投入した際、timestamp型のカラムの時間がズレる事象が発生した。タイムゾーンの設定はどちらもJSTである。v4.0 mysql> show variables like…

mysqldumpでオプション"--master-data"を実行する際に必要な権限

GRANT SELECT, RELOAD, SUPER, REPLICATION CLIENT ON *.* TO 'dump'@'%' IDENTIFIED BY 'PASSWORD';だ!

pagerdutyで復旧通知メールによってインシデントを発生しないようにしたり自動的にインシデントをResolved(リゾルブ)に変えたりする方法

pagerdutyとは? 言わずと知れたシステムアラートの通知管理サービスです。メールやAPI、サードパーティの監視システムからの信号をきっかけに、担当者に電話やSMS、メール等で優しく、時に厳しく連絡を送ってくれるものです。連絡する担当者をローテーショ…

activerecordの関連するモデルをまとめて取得するメソッドのincludesが多段の関連モデルでも使えた

例えば、以下のような3層にまたがる関連モデルがあるとすると、 class Team has_many :members end class Member belongs_to :team has_many :tasks end class Task belongs_to :member end この場合、Taskのインスタンスオブジェクトから、 関連するTeamオ…

MariaDB v10.0.3とMroonga v4.0.5インストール時にmakeでERRORになった話

MariaDBって MySQLから派生したRDBMSのひとつ。MySQLのオリジナルコードの作成者であるモンティーさんがオラクル管理の現在のMySQLコードをフォークして始めた。MySQLに比べて各処理のアーキテクチャがより高速に変更されていたり、Thread_poolや並列レプリ…

csshxでtelnetが使えた!

Mac

macのターミナルから複数のサーバにsshするソフトウェアとして有名なcsshxでtelnetが選択できた! csshX --ssh telnet server01 server02わほー

RDSの"リードレプリカのマスター昇格機能"を使ってDDLオペレーションを実行する方法

AWSのRDSに、 ついにリードレプリカをマスターに昇格する機能が追加されました。【AWS発表】Amazon RDS for MySQL - リードレプリカのマスター昇格機能を追加!さて何故(なにゆえ)にこのような機能があるのかというと、 以下3つのケースが同記事にて紹介さ…

AWSのRDSは外部のMySQLとレプリケーションできない -マスターユーザの権限を見て分かったこと-

※ 2013/09/08 added ついにレプリケーションの機能が付いたようです! hereAmazon Web Services ブログ: 【AWS発表】 オンプレミスのMySQLデータをAmazon RDSへ移行する(その逆も) RDSのインスタンスを新規に作成する際に 合わせて作成するマスターユーザの…

OmniAuth(OAuth2.0)でproxyを使う方法

YammerのOAuthで認証するアプリが作りたいんだけど、proxyが必要なネットワーク内でかつ、 環境変数の”http_proxy”が使えないときのメモ。※そんなマニアックスな人が世の中にどれだけいるか甚だ疑問ですが、、結果的に、 Rails.application.config.middlewar…

Macbook Air 2012(mid) にvim-rubyを入れた

Macbook Air 2012(mid) が手に入ったので、いつものごとくvim-rubyを入れました。以前のポスト例のごとく、vimがrubyに対応してるか確認すると、 mba:~ kazuki.yunoue$ vi --version | grep ruby -python3 +quickfix +reltime -rightleft +ruby/dyn +scrollb…

ActiveRecordモデルの独自で作成したメソッドもjson(もしくはxml)で出力したい

シチュエーション的には、 class Book < ActiveRecord::Base attr_accessible :title, :author, :price def price_with_tax return self.price*1.05 end end こんな感じでモデルに独自のメソッド(price_with_tax)がある場合、 # GET /books/1 # GET /books…

CoffeeScriptでsetTimeoutを書く

超ピンポイントトピックですが、迷ったので、、 setTimeout -> console.log("ok") , 1000 改行+インデント揃えてからのカンマ+ミリ秒だそうですー。ありがとうございます!参考にしたページ

bundle installでproduction環境のgemはいれないようにする

bundle install --without production だ!

newgemで新しくgemを作ろうとしたら、`to_specs': Could not find rubyforgeで怒られた

`to_specs': Could not find rubyforge (>= 0) amongst [RedCloth-4.2.9, activesupport-2.3.14, hoe-3.4.0, newgem-1.5.3, rake-10.0.3, rubigen-1.5.8, syntax-1.0.0] (Gem::LoadError)こんな感じで怒られてしまうので、 gem install rubyforge rubyforge…

cloudfoundryで削除リンクを押してもshowアクションに行ってしまう(GETになってしまう)

発生。 gem 'cloudfoundry-jquery-rails' をとりあえず外すと大丈夫になりましたが、 副次的に使えなくなった機能が出たかはまだ不明。原因は調査します。※いずれ暇なとき

2012年8月1日現在のHerokuのアドオンにあるデータストア(データベース)一覧

the data stores in heroku add-ons Amazon RDS (MySQL, Oracle, SQL Server) Cassandra.io (Cassandra) ClearDB MySQL Database (MySQL) database.com Heroku Postgres (postgreSQL) JustOneDB - NewSQL Cloud Database (postgreSQL compatible) MongoHQ (M…

rvmそのものをupdateする方法

rvmで1.9.3-p125を入れようとしたのに、 rvm list known | grep 1.9.3 で出てこなくてなんでーって思ってて、rvmそのもののupdate的なものがあるのかなーと思ったら、ありました。 rvm get {stable|latest|x.y.z|head|master|branch|help} [--auto] でてきた…

Railsでadminとかのnamespaceでくくわれたリソースへアクセスするときのform_forがなんかめんどかったときの対処

どゆことかというと、config/routes.rb的に、 namespace :admin do resources :users end ときとかの、newアクションやeditアクションで用いられる、scaffold的にいうと、_form.html.erb内のform_forメソッドは、普段は、 form_for(@user) do |f| とかって感…

Railsのviewのインラインの中に複数のメソッドが書けた

書けた。 <%= link_to("product1", URI1)+" | "+link_to("product2", URI2) %> これが、 <a href="URI1">product1</a> | <a href="URI2">product2</a> って。既存のヘルパーメソッドとテキスト部分とが織り交ざった独自のヘルパーを作るときに、力づくでやった方法。※上でいうRubyインラインタグ内…

Railsで別タブ(別ウインドウ)で開かれるリンクを作る方法

<%= link_to "go on to the next page", URL_PATH, :target=>["_blank"] %> これでおっけー!こうするとhtml的に、 <a href="xxx.html" target="_blank">go on to the next page</a> となって、別タブ(別ウインドウ)で開かれます。

Rails 3からHTMLエスケープがデフォルトになったよやったー!でも無効にしたいときもある

コレ。 <%= @user.name.html_safe %> で、自動のHTMLエスケープを無効化できるって話だったのだけど、 <%= raw @user.name %> というのもあるらしい。エスケープの観点でいうと前者のが良いのかしら。。どっちがいいんだっていう英語のQ&Aサイトはあった。コ…

Mac(Lion)にrails.vimを入れる

簡単だった。ここより最新のrails.zipをダウンロードしてきて、※おそらくデフォルトの~/Downloads/にできたよね。 cd ~/Downloads/ unzip rails.zip 展開されたファイル、 doc/rails.txt plugin/rails.vim autoload/rails.vimこれらをvimのRuntime Pathに置…

Mac(Lion)にvim-rubyを入れる

まず、MacのvimがRubyに対応しているか確認する。(たいていしてない。) vi --version | grep ruby これで"-ruby"となっていたら対応していない。そこでまずvimの入れ替えってことで、macportsを利用します。 ※もともとmacportsでvimを入れてないとココでな…