プログラミング

pit でパスワードやトークンを隠す(Ruby)

パスワードやトークンを隠す パスワードやトークンを含んだ設定ファイルを push してしまったことは皆さんあると思います*1。そういう「やらかし」をしないために、pit を用いてパスワードやトークンを隠す方法です。なお、Ruby で実装します。 *1:あります…

「LODGE」で「ひとりもくもく会」をした

「LODGE」 ここです。

「ほのか」で「ひとりもくもく会」をした

「ほのか」 ここです。JR蘇我駅からやや離れたところにあります。 https://yudokoro-honoka.jp/soga/

CentOS 7.4 で rbenv を使って Ruby をインストールする手順

結論 最小限の手順だけを書きますので、細かい部分は他の記事などを参考にしてみてください。なお、シェルは bash を用いるものとします。

git reset における --soft と --mixed と --hard の違いのまとめ

前提 git reset コマンドは、次の3つの要素をリセットするためにある。 HEAD の位置 インデックス(ステージ) の状態*1 ワーキングツリー の状態*2 また、書式は以下のとおりである。HEAD~1 の部分はコミットのハッシュでもよい。つまり git reset が取る引…

Git で fast-forward merge と non fast-forward merge の違いを体感する方法

結論 non fast-forward のマージ*1を延々と繰り返すとよい。 *1:git merge --no-ff ブランチ名

Git における「ブランチ」「HEAD」の意味と「checkout」することの意味

結論 ブランチ は特定の「一つのコミット」を指す HEAD は特定の「一つのコミット」を指す git checkout は HEAD を移動させるコマンド 移動先は指定された「一つのコミット」になる git checkout の引数に「ブランチ名」を指定するということは、結局は「一…

Git を Web で勉強する場合には「Learn Git Branching」がいい

Learn Git Branching ここです。 Learn Git Branching 良いところ コミットやブランチの様子がアニメーションするところがとても良いです(下掲画像を参照)。これだけのためにこのサイトを利用して勉強する価値があります。

プログラミングの学習サービスをまとめた

自分が見返すためというのがもともとの動機ですが、ウェブでプログラミングが学べるサイトをまとめてみました*1。感想なども含めて後から追記していくつもりです。 *1:全部は網羅していないと思います

カプセルホテルでひとりもくもく会をやった(ノーブル)

「ひとりもくもく会」 一人で集中できる時間がほしいということで、最近「ひとりもくもく会」を行っています。先日も記事を書きました。 いろいろな環境で行ってみて比較をしたいので*1、今回は千葉駅そばにある「ノーブル」というカプセルホテルでひとりも…

Vim でタブキーおよびタブキーの逆の操作を行う方法

結論 以下、インサートモードです。 タブキーの操作は ctrl+t *1 タブキーの逆の操作は ctrl+d 「逆タブキー(?)」*2 以下、ノーマルモードです タブキーの操作は >> タブキーの逆の操作は << 「逆タブキー(?)」*3 備考 ググっても「複数タブで編集する…

「安心お宿(新橋駅前店)」で「ひとりもくもく会」をした

「安心お宿(新橋駅前店)」 ここです。 ごく最近、すぐ側に「新橋汐留店」ができましたが(下記)、そちらではないです*1。 *1:「新橋汐留店」はすごい豪華そうなので行ってみたい

「Amazon Web Services 基礎からのネットワーク&サーバー構築」を読んだ

「Amazon Web Services 基礎からのネットワーク&サーバー構築」 現在は「改訂版」が発売されていますが(下記)、私が購入したのは初版です*1。 Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版作者:玉川憲,片山暁雄,今井雄太,大澤文孝日経…

Pixabay の API で画像をかき集める

はじめに おそらくこれが一番知りたいことだと思いますので最初に書きます。 取得上限枚数は 500枚 です。

GitLab へのプッシュをトリガにして、Jenkins の Multibranch Pipeline を発動させる方法

前提 Jenkins のジョブのタイプは「Multibranch Pipeline」 Git のWebアプリは「GitLab」 やりたいことは「リポジトリのどのブランチへのプッシュでも*1、Jenkinsを発動させる」こと *1:プッシュ以外も設定可能

Jenkins でブランチごとに Jenkinsfile を用いて挙動を変える

前提条件 Jenkins でブランチごとに挙動を変えるためには、以下の条件が必要です。 ジョブのタイプが「Multibranch Pipeline」であること

Jenkinsfile を使う(発動させる)方法(ジョブの種類が「パイプライン」の場合)

結論 「パイプライン」の項目で、「定義」として「Pipeline script from SCM」を選ぶ。 具体例 Git を用いる場合は「SCM」に「Git」を選び、リポジトリの情報などを埋めればいいです。「Jenkinsfile」というファイル名とその置き場所を変更したい場合は「Scr…

GitLab でプッシュがされたら Jenkins でビルドが始まるようにする方法

結論 Jenkins の「ビルドトリガ」で Build when a change is pushed to GitLab.... にチェックを入れる 「1.」により提示された URL を GitLab 側で Webhook として登録する ※Jenkins に GitLab のプラグインはインストールされているものとします 具体的な…

PHP で MySQL からデータをどうしても持ってこられなかった(空っぽで返ってきた)話

結論 PHP 7に適したコードではなかった*1。 *1:PHP 5 時代に書いたコードだったため

MySQL で誰にも GRANT がなくなってしまった場合の対処方法(Ubuntu 16.04 LTS)

結論(概略) mysqld_safeで起動してrootでログインし、権限を付与する。

公開した gem を取り下げたいときに実行するコマンド

結論 gem yankコマンドを使う。以下はその例です。これでyour_gane_nameという gem の、バージョン1.2.3が取り下げられます。 $ gem yank your_gem_name -v 1.2.3 補足 上記コマンドにより全てのバージョンが取り下げられても、取り下げられたという事実は残…

Ruby でメール送信する際に使う mail gem では BCC を指定できない

結論 標題のままですが、bccを書いても無視されます(エラーにはならない)。 無視される例 以下の例ですとhiroshi@bar.comにメールは届きません。が、エラーにはなりません(BCCを無視してちゃんと送信される)。 require 'mail' mail = Mail.new do from '…

Ruby でファイル名やパス名を扱う場合は Pathname クラス を使うと楽

Fileクラス(File.dirnameメソッド)などを使うよりも直感的で楽です。特に、相対パスと絶対パスを考慮しなければいけない場合に絶大な威力を発揮します。

rbenv の global と local の違い

rbenv rbenvはRubyのバージョンを行き来するのにとても便利ですが、globalやlocalや、はたまたrbenvが使わないユーザの場合でどのように挙動が違うのかを記します。

Active Record で JOIN (joins) した際のプチハマり案件

(本質的な)結論 単数形と複数形を意識する。

PhantomJS 2.1.1 を Ubuntu 16.04 LTS にインストールする(2017年11月版)

結論 BitBucketから直接持ってきて入れましょう。 $ wget -O /tmp/phantomjs-2.1.1-linux-x86_64.tar.bz2 https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 $ cd /tmp $ bzip2 -dc /tmp/phantomjs-2.1.1-linux-x86_64…

Twitter のタイムラインから画像を根こそぎ取得する collect_twitter_media という gem をリリースしました

collect_twitter_media の概要 Twitter の自分のタイムラインにある添付画像を根こそぎ取得してしまうという gem です。

Amazon.co.jp の価格情報を取得する amazomania という gem をリリースしました

概要 Amazon.co.jpの商品の価格一覧を取得できるgemです。

RSpec でモックを使う方法を簡潔に

結論(流れ) doubleメソッドを使ってモックを作る allowメソッドを使って「真似をする」メソッドを割り当てる テストする ※「1.」と「2.」の操作は互いに独立しています(互いに依存していない)

プライベートメソッドを RSpec でテストする方法

結論 sendメソッドを使ってプライベートメソッドを呼び出す。 具体例 メソッドの呼び出し 例えばfoobarメソッドがプライベートメソッドであるとする。その際は次のようにfoobarメソッドが呼び出せる。 obj.send(:foobar) テストを書く あとはこれを用いて例…

Powered by はてなブログ