Gemのアップデート方法

エンジニアとして働き始めると、学生時代には意識しない問題に取り組むことが多くなります。 ライブラリのアップデートもその中の一つでしょう。RubyのライブラリであるGemをアップデートする方法を学んだので忘れないうちにアウトプットしようと思います。 …

OSS Gateに参加したらOSSにコントリビュートできた

OSSにいつかコントリビュートしたいという想いから、OSS Gate東京ワークショップ2019-09-14に参加しました。 OSS Gateは、OSS開発未経験者の方とOSSの門をくぐった先輩メンターがペアになってOSS開発を体験するイベントです。メンターのサポーターがいるなど…

Railsでクラスインスタンス変数とクラス変数を利用する前に、設計を見直そう

下記のようなクラスインスタンス変数を定義した後に、値を確認する方法としてAPI::APIBase.class_eval { puts @remote_host }があります。class_evalは、Moduleクラスのインスタンスメソッドでブロック内でレシーバ定義式の中であるように振舞います。 ENV['…

コピペでSSH設定をすると危険だということを「OpenSSH実践入門」から学んだ

OpenSSHを基礎から学ぶことができる「OpenSSH実践入門」を読みました。ローカルで編集したコードをGitHubにpushするためにSSHのKeyを登録する必要があるなど、身近なところで頻繁に利用されている技術ですが、毎回コピーアンドペースト(以下、コピペ)で何も…

docker-composeでUbuntuのイメージのみを管理しようとしてハマったので、ruby-jpで質問した

環境 $ docker --version Docker version 19.03.1 本題 Ubuntu18.04をベースイメージとしたDockerfileを作成し、docker-composeでコンテナの管理をしようとすると、イメージからコンテナを作成されていることが標準出力から確認できるのですが、attachをする…

ラックサーバーでRAID0構成を組んだ

創意ラボさんが主催する、「サーバーにメモリ刺してもらっていいですかね」に参加しました。 connpass.com 参加者は6人いたので、ペアで作業をすることになりました。 内容は、以下のようにとても濃いものでした。 ラックサーバーにメモリを刺す RAID0構成を…

manを実行すると「No manual entry for ...」と表示されるコマンドの利用方法をどうしても知りたい時の対処法

動作環境 macOS Mojave # echo $0 /bin/bash 利用可能なコマンド一覧を取得するには、compgen -A commandまたはcompgen -acを実行すればよいことを知りました。 そこで、man compgenで詳しい利用法を確認しようとするとNo manual entry for compgenというメ…

git rev-parseの説明にあるPick out and massage parametersのmassageとは何か

Git

Gitのバージョン $ git --version git version 2.21.0 git rev-parse --show-toplevelを実行すると、Gitで管理しているrootのpathを知ることができます。 rails new check_rev-parse-dirでRailsプロジェクト作成してgit rev-parse --show-toplevelの動作確認…

manの結果をgrepできるようにするLinuxコマンドについて

特定のLinuxコマンドのコマンドやオプション名を忘れたが、一部のみ覚えている時にmanコマンドの結果からgrepしたいことがあります。 manコマンドで特定のLinuxコマンドのドキュメント読もうとすると、Manual pageが起動しますが標準出力されないためgrepコ…

サービスの管理を行うsystemctlコマンドについて調べてた

ISUCON9の練習をするため、Vagrant ISUCONを利用しました。チームはGoで参加するので、初期実装はPythonでした。言語を切り替える方法がわからず、悪戦苦闘していたのですがsystemctlコマンドを用いることで実現できることがわかりました。 解決する過程で、…

git remote rmがgit help remoteした時に表示されてなくて困った

Git

とあるプロジェクトをForkした後に、ローカルでCloneをして遊んでいると予期せず間違ってPRを元プロジェクトに投げてしまいました。そこで、Forkをしたリポジトリを削除し自分で新しくリポジトリを作成しました。変更に伴い、リモートリポジトリのリンク先を…

SendGridでメール配信を実装した後に開発者セミナーに参加したら理解が深まった

先日、SendGridにてメール送信の実装をしました。 個人でも学習のためSendGridに登録していると開発者向けセミナーへの参加案内のメールを受け取り、Doorkeeperに登録して参加しました。 予想以上に学びになったセミナーだったので、実装とセミナー通じて得…

CircleCIを2.0から2.1にバージョンアップした

CircleCIのver2.1から新機能が追加されました。 新機能が追加されたことによって今までの同じような記述を何度も繰り返さればならなかった箇所をスッキリさせることで、CircleCIを触ったことない人でもざっくりと何をやっているのかわかりやすい設定ファイル…

僕は,HTMLタグを知らない

ReactでProgressコンポネートを開発した際,レビューにてチームのフロントエンジニアにprogressタグなるものがあることを教えてもらった.複雑なUIを作成しない時,HTMLタグで代替できるものは開発コストを下げるために知っておいた方が良いと考えた.いい機…

新規・更新を条件分岐できるpersisted?のソースコードを読んでみた

環境やバージョン $rails -v Rails 5.2.3 $ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] ソースコードリーディング Returns true if the record is persisted, i.e. it's not a new record and it was not destroyed, otherwise ret…

「マッチングプラットフォームを支えるフロントエンドからバックエンドまでのモダン開発について 」に参加した

海外におけるgraphql-rubyのチュートリアルや活用事例の紹介は,GitHub,Shopifyが利用していることもあり,徐々に増えつつある. また,先日はカンファレンスが開催されるなどオフラインでコミュニティも活発である. しかし,日本においては,まだまだ情報…

GitHubのPull Request時にCircleCIを回す方法

業務で,CircleCIをconfig.ymlを編集することはあったのですが,1から設定を行ったことがありませんでした.基礎なくして,応用なしということで初期設定の理解を深めた.本記事では,業務でよくみるGitHubでCircleCIのテストの様子が可視化できるまでの過…

Chrome Developer Tools 入門を読んだ

Amazonレビュー的な何か Chrome Developer Tools 入門 (技術の泉シリーズ(NextPublishing))作者: 渋田美里出版社/メーカー: インプレスR&D発売日: 2019/02/01メディア: Kindle版この商品を含むブログを見る 一言で言うと神本だった。 バックエンドの開発を…

GraphQLのNewRelicTracingがテスト時のみエラーになる。

TL;DR テストでのみ、NameError: uninitialized constant GraphQL::Tracing::NewRelicTracing::NewRelicとエラーが出た。 原因は、gem 'newrelic_rpm'をテスト環境で導入していなかった。 テスト環境で導入するか、Rails.env.test? でテスト時はuse(GraphQL:…

RSpec stub_constで定数をスタブするとClassがModuleになる

タイトルのままですね。 特定の条件下で、stub_constを利用するとClassがModuleになってしまいます。 解決策としては、stub_constでクラスを式展開で先に宣言することで動くようになります。 stub_const('Model::CONST', 2) # ダメ stub_const("#{Model}::CO…

社会人の入門書 Team Geekを読んだ

Amazonレビュー的な何か 入社した初日にScramについて何かいい本がないかと偉い人に聞いた際、Team Geekをオススメされました。 他の書籍を読んでいて存在を忘れていたのですが、チームメンバーも社会人入門書としてTeam Geekを推していたので読んでみました…

@kakakakakkuさんのブログメンティーへ応募した

希望する理由 好きな(これから好きになりたい)技術領域 ブログ URL(もしあれば) 熱意/モチベーション/アピール @kakakakakkuさんのブログメンティーに応募するためと、振り返るために文章を残しておく。 先着順ではなく,全応募の中から僕が選びます.…

MySQLで遊ぶためのDocker構築

MySQL :: MySQL 5.6 リファレンスマニュアルの読んでいく活動をしています。 ローカルでゴニョゴニョすると、エラーで時間を取られることになるのでDocker環境を作りました。 $ docker pull mysql:5.7 $ docker run -v mydb:/var/lib/mysql --name Doc-MySQL…

Active Record joinsについて

Active Recordのjoinsとmergeについて調査したレポートです。 準備 まずは、migrationファイルを設定 class CreateUserPlans < ActiveRecord::Migration[5.2] def change create_table :user_plans do |t| t.integer :user_id t.integer :plan_code end end …

sendメソッドについて

RSpecを用いたServiceクラスのテストにて、 __send__ メソッドが使われていました。 知らないメソッドだったので、調査してみました。 Ruby 2.5.0リファレンスマニュアルには、send と __send__ について下記のように記載されています。 オブジェクトのメソ…

git logオプションを調べてみた

Git

rebaseで困りログを確認しているとメンターに、 git log --decorate --all --graph というコマンドを教えてもらいました。 俺は、まだまだGitのことを知らない!ということで、 git log --help で今後使いそうなオプションを調べてみました。 -n 10 過去10件…

Learn Betterを読んだ

Learn Better――頭の使い方が変わり、学びが深まる6つのステップ作者: アーリック・ボーザー,月谷真紀出版社/メーカー: 英治出版発売日: 2018/07/19メディア: 単行本この商品を含むブログを見る 目次 イントロダクション 第一章 価値を見いだす 第二章 目標を…

大学の誕生から研究としての大学再生までの歴史

概要 本記事は、「高等教育の大衆化は可能か」という自らの問いに答えを出すべく、大学の歴史について調べてたちょっとしたまとめです。 30冊ほど、読んで約2000文字程度にしかなりませんでしたが、大まかな流れがわかる内容になっているのではないかと思い…

Effective Testing with RSpec 3を読んだ

Amazonレビュー的な何か RSpec3自体の効果的な使い方が網羅的に紹介されている書籍です。 RSpecのバージョンは、3.6.0です どのように、RSpecでテストを書いていくかという具体的なテスト方法に関する内容より、しっかり調べていないと使わないようなオプシ…

js-primerを読んだ

この書籍について · JavaScriptの入門書 #jsprimerという神サイトを読んで学んだことと疑問点 学んだこと - 変数は大文字、小文字を区別する - Automatic Semicolon Insertion => ; がないときに自動でついてくれる仕組み "use strict" => #include <stdio.c>的なもの</stdio.c>…