patorashのブログ

方向性はまだない

2019-01-01から1年間の記事一覧

RailsにPR送ったらマージされた

Railsに含まれているgem web-consoleに自分のPRが取り込まれた github.com 感動を残しておくためにブログに書いとく。 事の始まり 先日、Rails 6.0.0 rc1でrails newして、ごにょごにょと進めていたら、ログに以下のメッセージが出ていた。 Cannot render co…

トレイボーを貰った

誕生日だったので、妻に最近気になっていたトレイボーをプレゼントに買ってもらいました トレイボーはヨギボーのトレイ付きクッションです。膝にPCを置いて作業をするとPCが熱くなったり、肩が凝ったりしていたので、楽な姿勢で安定して作業したかったのです…

RubyでUTF-8のCSVをExcelに変換するコマンドを作った

お客様や社内の他の部署のメンバーとファイルのやりとりをすることってあると思うのですが、いつも大変なのが、CSVファイル。HerokuのDataclipsがバージョンアップされてExcel形式でダウンロードできなくなったので、仕方なくCSVでダウンロードして、Excel起…

WindowsでChromeが遅かったのはWindows Update(1803)が原因だった

Windows10のChromeで、はてなブログがとてつもなく重くなって大体見られない件で私は数か月ほど疲弊していました。そのため、WindowsではEdgeを使っていました。別にEdgeも悪くはないのですが、Chromeのほうが拡張機能を色々入れていて使いやすいのでやっぱ…

VSCodeのRemote Developmentプラグイン登場

このGWで最高のWindowsでの開発環境を作るんだ!と息巻いておりましたが、MicrosoftさんがVSCodeのRemote Developmentプラグインを発表しました。正直なところ、以下のブログを読んでいただければもう話は終わりです。 crieit.net 連休最後なのでとりあえず…

Vagrant + Hyper-V + Ubuntu18.04でRailsを動かせた

ずっとWindowsでの開発環境構築を試しているのですが、とりあえずベストではないにしてもベターまで来たかなと思うのでメモを残します。過去のトラブルはこちら。 patorash.hatenablog.com patorash.hatenablog.com なお、Hyper-Vを使わずにVirtualBoxを使う…

RubyKaigi2019に参加してきた

元号が令和になりました。GW楽しんでいますでしょうか? さて、10日以上過ぎてしまいましたが、4月18日~20日に福岡で開催されたRubyKaigi2019に参加してきましたのでそのことについて書こうと思います。 弊社からは私を含む3名が参加しまして、岡山から車で…

続・WindowsのVagrantでフォルダ共有でハマったのでメモ

先日、WindowsのVagrantのフォルダ共有でハマったのでメモ、という記事を書きました。 patorash.hatenablog.com この時に、SMBでフォルダ共有をする際にipconfigで取得したIPをsmb_hostに設定すると書いていたのですが、PCを再起動したらこのIPが変わってし…

WindowsのVagrantでフォルダ共有でハマったのでメモ

Windowsで開発環境構築をしようとしていていろいろ模索中。 VagrantでUbuntuを入れてフォルダ共有で作業しやすくしようと思って色々試したのだけれど、かなり四苦八苦したのでメモを残す。 なお、VagrantのプロバイダはHyper-Vで入れてる。 NFSでファイル共…

ActiveRecordのmodel名が〜Typeで終わるものをgraphql-rubyで扱う

なかなか情報がなかったので、書いときます。 model名が◯◯Typeで終わることって、ままあるのかなと思います。CompanyモデルとCompanyTypeモデルのような感じで。これをGraphQLでTypeを定義しようとすると、Types::CompanyTypeとTypes::CompanyTypeTypeになっ…

GraphQLのスキーマ情報からドキュメントを生成する

漠然と考えていたことが既に書かれていたので、非常に参考になったし面白かった。 developer.kaizenplatform.com GraphQL APIの設計を中心にフロントエンド、バックエンドをそれぞれ作っていくと、それぞれの実装待ちが発生しなくてよい。しかもAPI仕様のド…

プロジェクト配下のnodeのコマンドを実行する

Rubyでいうところのbundle exec 〜に該当するNodeのコマンドってなんだろう?と思って雑に呟いたら、色々と教えてもらえました。 npx とか npm install --global とかあります— りんごガチアサリをXにした (@mstssk) 2019年4月2日 npxがいやだったらyarn run…

GraphQLでWebAPIを作っている

自分が担当のプロダクトのWebAPIを整理していかんとほんまヤバいなぁ〜と思いつつ、数年過ごしていましたが、ここ最近で急激にGraphQL熱が湧き上がり、今お試しで実装していってる最中です。 ビビッときたのは、@gfxさんの書かれたGraphQL徹底入門の記事から…

CircleCIでエラーコードを無視して処理する

CI

昨日書いてたやつで、rake releaseが実行されないパターンにあうとどうもエラーで落ちることがわかった。 grepの条件に該当しなかったのでエラーコードが1になっているんだが、それがダメらしい。 しゃーないから最後の行でexit 0を返すようにしてみたんだけ…

CircleCIのテストが通ったらrake releaseする

CI

前回の記事で、TravisCIからCircleCIに移行したことを書いた。 patorash.hatenablog.com 今回は、テストが通ったら自動的にrake releaseする仕組みを作ったので、それについて書く。 ただし、今回のやつは結構面倒であった。 gemをリリースするorbsは既にあ…

gemのCIをTravisCIからCircleCIに変更した

gem imyouのCIをTravisCIからCircleCIに変更した。 理由は単純で、普段からCircleCIを使っているので、CIの構築がやりやすいから。TravisCIは滅多に使わないのでわからなくなることが多く、それがストレスだった。他のgemもCircleCIに変更していこうと思うが…

WSL + Docker for WindowsでRailsアプリを動かしたが遅すぎた

これはノウハウとかじゃなくてただの日記。 この前久々にLenovoのPCを触れたので、Docker for Windowsの設定をして、WSLでdocker-compose upできて喜んでいたが、Railsアプリを起動するところまで時間が取れなかった。昨日ようやく少し時間が取れたのでやっ…

ルーターをIPv6対応のものに交換した

我が家ではルータにTimeCupsuleを使っていたのだが、これがフレッツのIPv6に対応していないせいで、NTT西日本のClub NTT-WESTのポイント交換がうまくいかないというここ数年の悩みがあった。 話はさかのぼること数年前。 Club NTT WESTはフレッツを使ってい…

CircleCIにreviewdogを飼うことにした。

Rubocopを一応入れているのに、滅多に動かしてなくてあんまり意味を成していなかった。issueにずっとあったCIにRubocopを取り入れるというやつに着手しようと思ってようやく取り組み始めた。 reviewdogを知る CircleCIのワークフローにRubocopのチェックを入…

Amazon Linux 1でImageMagick6系の最新版を入れる

gem rmagick 3.0.0を入れようとしたら、bundle installのときにImageMagickのバージョンが古いという理由で落ちました。というわけで、ImageMagickのアップデートやります! qiita.com ここに書かれてることをやれば概ね大丈夫かと思いますが、最初CentOS6系…

Amazon Linux 1にPostgreSQL 11をインストールする

まず、PostgreSQLのyumリポジトリを追加します。 参照先は以下。 yum.postgresql.org Amazon Linux 1はRedHat Enterprise Linux6互換(?)のため、そのURLをコピーして追加します。そのあと、/etc/yum.repos.d/pgdg-11-redhat.repoに記載されているURLをsedで…

database.ymlのschema_search_pathにpublicを書いたらあかん

PostgreSQL 11にアップデートしようとしていたときに起きました。 docker imageを11に変更して、CircleCIでテストを流そうとしたところ、bin/rake db:structure:loadで失敗しました。 psql:/home/circleci/workspace/db/structure.sql:15: ERROR: schema "pu…

CircleCI ユーザーコミュニティミートアップにリモート参加した

CI

3/5にあったCircleCIのミートアップにリモートで参加させてもらいました。 イベントのConnpassはこちら。 circleci.connpass.com ちょうどCircleCIをPerformancePlanに移行したりしていたので、CircleCI Japanの方からZoomで参加しませんか?とtwitterのDMで…

Ruby2.6の関数合成で遊んでみた

Ruby 2.6が出て2ヶ月が経過しているものの、まだ触ってなかったので新機能を調べていたら、関数合成ができるようになっていたのを知った。 techlife.cookpad.com これを使えば多少の加工だったらmapを2周したりしなくて済むんじゃないか?と思って実験してみ…

1つのspecファイルをparallel_testsで並列処理する方法

parallel_testsでテストの並列化していくのが好きなのですが、まだまだ課題に思っていたことがありました。それは、テスト対象ファイルがCPUコア数より少ない場合、フルに並列化できないこと…。 つまり、CPUコア数が4つで、テスト対象ファイルが1つの場合、1…

Capybara3にアップデートしたらハマったことをまとめる

長いことCapybara2系を使っていた。ようやくCapybara3系にアップデートする暇が取れたので作業に着手したら、めっちゃテスト落ちた…。ので、その原因と対策を書いていく。 whitespaceが含まれるようになった。 以下のブログ記事にも書かれていますが、半角ス…

CircleCIをPerformance Planに移行した

CI

会社で使っているCircleCIをPerformance Planに移行しました。 きっかけは以下のブログを読んだことでした。 moneyforward.com 弊社でのCIの課題 弊社ではMoney Forwardさんほどの並列数ではないんですが、16コンテナ契約していて、大きいプロジェクトでは8…

「はじめてのフロントエンド開発」を写経した(React Native以外)

React、Angular、Vue.js、React Nativeを使って学ぶ はじめてのフロントエンド開発作者: 原一浩,taisa,小松大輔,永井孝,池内孝啓,新井正貴,橋本安司,日野洋一郎出版社/メーカー: 技術評論社発売日: 2018/05/09メディア: 単行本(ソフトカバー)この商品を含…

コンポーネント内でreCAPTCHAを使う場合の注意点

昨日Qiitaに書いたのですが、knockout.jsでreCAPTCHAのURLを貼ってデフォルトの動作に任せると、うまく動きませんでした。 qiita.com 原因はコンポーネントの中で使っているから、コンポーネントの描画が終わる前にreCAPTCHAのデフォルトのonloadイベントが…

CircleCIで前に落ちたテストを先に検証するWorkflowを組んだ

昨日、CircleCIで失敗したテストのファイル一覧を取得するという記事を書きました。 patorash.hatenablog.com 今度はそれを使って、CircleCIで前に落ちたテストを先に検証するワークフローを組みました。 こんな感じです。 CircleCIで再テストを先に行うワー…