プログラミング

GitLab の特定のブランチだけの push を契機に Jenkins を発動させる方法(が分からなかった)

前提 GitLab を使う Jenkins を使う ポーリングはしない

MySQL で OUTFILE したら「Errcode: 2 - No such file or directory」と怒られた

結論 ファイルが書き出される先は MySQL が動いているマシンである。したがって、出力先の場所が MySQL が動いているマシン上にない場合は(パーミッションがない場合も)エラーになる。

Git の改行コードでハマった話

Git の改行コード Windows の環境が混ざると誰もが引っかかると言われている*1、Git の改行コードの話です。 *1:と思う

Ubuntu 16.04 LTS で MySQL のデータを初期化する

MySQL のデータを初期化 MySQL のデータを全てリセットする、いわゆる工場出荷時の状態に戻す(ファクトリーリセット)的なことを行う方法です。

Linux 版の Visual Studio Code における設定ファイルの保存場所

結論 二点あります。 ~/.vscode ~/.config/Code/ 共有 他のマシンや他のOSとの設定共有のためには、上記の2つのディレクトリを共有すればよいでしょう。

Shipyard をインストールし MySQL のコンテナを作る

Shipyard Dockerの管理をウェブブラウザから行えるShipyardをインストールしていきます。MySQLのコンテナも作ってみます。

Rails (というか Active Record) のマイグレーションで複合外部キーを設定する方法

結論 生SQLを書くしかなさそう。

Rails のマイグレーション時に references メソッドの対象テーブルがない場合は失敗する

Rails のマイグレーションで失敗する 標題でほぼ言い尽くされているし、何をお前は当たり前のことを言っているんだ状態だとは思いますが記録として残しておきます。

MySQL のユーザ一覧を表示するコマンド

結論 mysql> SELECT Host, User FROM mysql.user; 備考 カラム名であるHostおよびUserは最初が大文字です(小文字でも表示はされるが)。

Vagrant で初期ログインを外部クライアントで行う方法

外部クライアントでログイン vagrant sshではなく、Tera TermやPoderosaを使って初期ログインする場合です。

Ruby で UTC の日時を取得する方法(Rails 不要、gem 不要)

動機 検索するとRailsしか引っかからなくて1時間くらいハマったため、書き残します。追加で何かを入れる必要はありません(Rubyのバージョンは2.4.1)。 結論 Time.now.gmtime 実例 puts Time.now.gmtime #=> 2017-07-07 07:45:38 UTC

Rails の production モード起動時に app/ 配下に余計なコード(ファイル)を入れているとハマる

production モード起動時 標題のとおりですが、productionモード起動時にapp/配下(サブディレクトリも)のファイルが根こそぎ*1読まれてしまうので、書き捨てのコードが残っていたりすると*2うまく起動しないか、起動したように見えても問題があります。dev…

OpenCV (ruby-opencv) を用いて「ある画像が画像のどこに埋め込まれているか」を調べる(「坊ちゃんを探せ!」)

動機 「坊ちゃんを探せ!」と、あとまさんがツイートをしたので探してみようと思いました。 坊ちゃんを探せ!#坊ちゃんの日 pic.twitter.com/2yHVQmDDuR— あとま (@1atoma) 2016年11月10日

Twitter の gem において RT の Favorite 数は取得できない(が、何とかして取得する方法)

RT の Favorite 数 gem を用いた場合に限った話ではなく API そのものの制限だとは思うのですが、念のためこのような標題にします。 結論 API でリツイートを取得した場合は、元のツイートの Fav 数は取得できない ということです(正確には 0 が返ってくる…

Active Record でそれぞれのレコード(行)から特定のカラムの値を取得する方法

結論 attributesメソッドを用いる。

Twitter の gem を用いて、あるツイートをリツイートした人の一覧と、リツイート自体のツイートオブジェクトを取得する方法

前提 retweeters_idsメソッド、あるいはretweeters_ofメソッドを用いる場合は自分のツイートでなければ取得できません。 なのでこれらのメソッドは用いないで、最後に書くようにretweetsメソッドを用いるべきです。すなわち、この記事の途中の大半はスルーし…

mysql2 の gem で INSERT しようとしたらドハマリした

Ruby で MySQL への INSERT 原因の根幹はRuby限定ではないでしょうが、Rubyの書き方に起因するものとしてこのようなタイトルにしました。要はMySQLにINSERTできないというただそれだけのハマりです。2017年にこんなレガシーな方法で、とは思いますが、一つの…

Rails 製の ECサイト フレームワークである Solidus のインストール方法

Solidus これです。Spreeの後継ですね。 インストール方法 できるだけ最小限に、できるだけ全ての環境に当てはまるようにインストール方法を書いていきます。基本的には公式の説明のとおりですので、そちらを一緒に見ながら進めるとよいと思います。

Twitter の gem で 140 文字制限の拡張により正しくツイート情報が取得できない場合(末尾が切れる)

2022/01/03追記 2022年01月03日現在、この記事の内容は杞憂(=無視して良い)のようです ↑は勘違いで、やはり常に指定していたほうがいいです 2020/03/15追記 本文中の「tweet_mode: "extended"を与えた場合は、textメソッドとfull_textメソッドだと空っぽ…

CSV.table では日本語のヘッダは表示されない

Ruby の CSV.table メソッド Ruby で CSV を扱う際に、CSV.table メソッドは便利です。 しかし…… しかしながら、一つだけ*1注意点があります。それは、「日本語のヘッダは表示されない*2」ということです*3。 *1:じゃないかもしれませんが *2:文字列を取得で…

Twitter の gem を利用して ユーザID でユーザを指定する方法

Twitter の gem を使う 標題のとおりなのですが、ドハマリです。 スクリーンネームを使って でユーザオブジェクトを得る方法 スクリーンネーム(@foobar でいう foobar の部分)を用いてユーザオブジェクトを用いるためには、ベタ書きで以下のようになります…

Twitter の gem を利用して ツイートID でツイートを指定する方法

Twitter の gem を使う 標題のとおりなのですが、またもやドハマリしました。 ツイートID でツイートオブジェクトを得る方法 いわゆるツイートIDでツイートオブジェクトを得るのは簡単です。https://twitter.com/foobarfoobar/status/123456789012345678の U…

GitLab と Jenkins を組み合わせてオートデプロイしようと思ったらドハマりした(解決済み)

前提条件 以下の中でいくつかは特定条件の下での事象になります。今回の私の場合は「Jenkins とデプロイ先が同じサーバ」という条件でのことになります。

Ruby で UTC(文字列)を JST にとにかくさっさと変換する方法

結論 Active Support を導入した上で、in_time_zone('Tokyo')メソッド(引数)を用いる。 具体例 utc_datetime = '2017-06-16 05:20:35 UTC' jst_datetime = utc_datetime.in_time_zone('Tokyo') puts jst_datetime #=> '2017-06-16 14:20:35 +0900'

twitter gem を用いて鍵アカを判別する方法

結論(概略) 以下のページに全て書いてありますのでぜひご覧ください(大感謝)。

bundle で vendor/bundle に gem を入れたときの require の方法

vendor/bundle 以下のように、システムパスではなく任意のパスに gem 一式をインストールしたとします。 $ bundle install --path vendor/bundle これで例えばfoobarという gem を入れた際のrequireの方法です。 結論 require 'bundler/setup' require 'foob…

RSpec をインストールして初めてのテストを実行する

RSpec 当然ではあるんですが、RSpecについての記事はRails上での実行を前提とした記事が多いので、ただただ単体でRSpecを使うだけの方法を書いてみます。

Test::Unit でデータを投入してテストをする

Test::Unit Ruby の Test::Unit で具体的なデータを入れてテストをする方法です。いわゆるデータドリブンなテストってやつです。 解説ページ とはいえ、すでに素晴らしい記事があります。以下のページを読むとだいたい分かってしまいます。 Ruby用単体テスト…

Test::Unit で「正規表現に一致」するかどうかのアサート

Test::Unit RubyのテストフレームワークであるTest::Unitについてです*1。 *1:2.1.1 です

Ubuntu 16.04 LTS で pg の gem がインストールできない場合

結論 libpq-devを入れる。 $ sudo apt-get install libpq-dev インストールできないときの怒られ方 こんな風に赤い文字で怒られるかと思います。 An error occurred while installing pg ... 参考(というか答え)

Powered by はてなブログ