コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

2018-10-01から1ヶ月間の記事一覧

月末でまったく時間がなかったので1回休み

あまり使いたくなかったけど月末の送迎的な催しで一回休み。 おまけ 渋谷で催し物が開催されることになったので件のイベントの余波を知りたくてググったら、渋谷はライブカメラが設置されているのでいつでもようすを覗くことができる 【LIVE CAMERA】渋谷ス…

『Microservices Meetup vol.9 (FiNC App & Frontend)』に行ってきたよメモ

Railsでマイクロサービス的なことをやり始めざるを得ない状況になりつつあるので、知見収集として Microservices Meetup vol.9 (FiNC App & Frontend) - connpass に行ってきたメモ 各発表の感想 マイクロサービスとクライアント:理想と現実の狭間で https:…

色の定数は役割で名前をつけてあげるほうがいい

SASSにした時に色の名前を横断管理するときどうするかとか、iOSやAndroidでも共通の色定数を持って使う時になんて名付けるかとかそういうときに発生するときの気持ちを述べた雑記 割とデザイナー的なトピックスなんですが、今回はプログラマ的でもあるトピッ…

Rubyを馴染ませる知見が詰まったスライド『新卒を一人前のRailsプログラマーにするための『階段』の作り方』

先日、銀座Railsにいったときに「あ、見たかったこの発表。Youtubeに動画あったんだ!」と思って探したら見つけたのでスライド紹介と感想交えたメモ @koic さんに承諾が得られたので秘蔵セッション動画を公開。『新卒を一人前のRailsプログラマーにするため…

Rubyでクラス名のはじめに::(コロンを2つ)をつけるとそのクラスの絶対的な位置表現をすることができる

RailsのActiveRecordのクラス名と同名のModule作ったときに誤動作するけど、どういう原理なのかというメモ 環境 $ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16] 要約 :: から始まる場合は一番上位のレベルを指すため、module内な…

マイクロサービスにおけるサーキットブレーカーとは(簡易まとめ)

サーキットブレイカーって何それって言うときに説明するときのメモ 要約 複数のサービスから利用されるものの場合、使われる側のサービスは一定異常な稼働をし始めたら、使われないように切り離されるためのしくみ 例を交えて サービスAにAPIリクエストを送…

音読系読書会をやってみたのでそれのYWT

willnetさんが紹介していた音読読書会を、昔同じ職場だったエンジニア同士(3人)でやってみた ネタの出典元 blog.willnet.in 題材 今回はデータのとりあつかいみたいなところで以下の本をチョイス 達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあな…

RSpecのdescribeにメソッド名を記述する場合、クラスメソッドは .か:: 、インスタンスメソッドは # で始めるのが一般的

そういやこれの出典どこやみたいな気持ちで探してみたメモ 出典元 Better Specsに書いてあった。 原文:Better Specs { rspec guidelines with ruby } 日本語版:Better Specs { rspec guidelines with ruby } use the Ruby documentation convention of . (…

『ボトムアップドメイン駆動設計』に行ってきたよメモ

『アーキテクチャ ディスカッション Vol.1のときにめっちゃ事例を話されていたnrsさん独演会的な勉強会であるボトムアップドメイン駆動設計 - connpass に行ってきたのでメモというか感想 発表 しりょうです。ごさっしゅうください。https://t.co/1bqJ8e2MH7…

レビューコメントの意味通りを良くするためのヘッダTips

よくコードレビュー事例で『そのコメントの最初に [MUST] [MAY] とかをつけることにより対応の度合いを説明できる』 みたいな事例を見るけど、どういうのがあるのかの事例集。 英語パターン MUST 必ず直して欲しい部分に関して使う。RailsでいうところのN+1…

チャットコミュニケーション全盛だからこそのリリース作業の報連相を考えてみた。

自分の中のノウハウ的なものをアウトプットしよう的な雑記です。 この記事で言うリリース作業 Webアプリケーションには往々にして『環境』が分けられており、実際に利用ユーザが触れる『本番環境』、それに準じた内部関係者が利用する『ステージング環境』な…

デフォルトのRailsログで突き合わせ用のIDとして使われているのはリクエストヘッダのX-Request-ID

Railsログの先頭に一意のIDが出てるなー、きっとよしなに何か振ってくれているんだろうなーとか思ったら違った。という話。 環境 rails (5.2.0) やっている設定 enviromentsのこの記述 # Prepend all log lines with the following tags. config.log_tags = …

bashで環境変数をexportせずにシェルスクリプトを実行したい場合はコマンドの前に記述することで代替できる

実は最近まで知らなかったのでメモ。 環境 $ bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17) Copyright (C) 2007 Free Software Foundation, Inc. やり方と例 こんな感じでシェルスクリプトを用意する $ cat test.sh echo hog…

『銀座Rails#2』に行ってきたよメモ

JokerさんのActiveRecordの話が聞きたくて銀座Rails#2に行ってきたよメモ 各発表の感想 ※資料スライドは見つけたら貼ります。 カンファレンス型 技術イベントの作り方 〜Rails Developers Meetup の辿った道〜 はい、成果物だよhttps://t.co/t4gNY4aUjR#ginz…

Confluenceのエディタは { でマクロのショートカット入力ができるし、{ code } でコードスニペット領域が作れる

コードスニペットを書くためのコードブロック領域に関して、意外とみんな知らなかったのでメモ。 コードブロックマクロとは マークダウンでやるところの ``` で囲む表現あたるものとして「コードブロック」のマクロがある。 ↑のような感じで表示できる。 作…

GoogleタグマネージャーでURLが一致するときのみに実行されるトリガーを仕込む方法

その日に学んだことがこれぐらいしかなかったという感じでメモ、別途ゼロから始めるタグマネージャーのまとめは作りたい気持ち。 やりたいこと URLにnextが含まれる場合のみタグが実行されるようなトリガーを設定したい やり方 スクリーンショットを乗せたほ…

リモートワークのビデオコミュニケーション事例をざっくり調べてみた

リモートワークにおけるビデオでつなぎ続けるのはどのようなものがベターなのか、我々はその謎を解明すべくネットの海を漁った… 事例紹介 事例1 ソニックガーデン kuranuki.sonicgarden.jp ソニックガーデンのブログはリモートワークのノウハウの宝庫。 記事…

AWS SDK for Ruby を使っている際に、Aws.config[:stub_responses] を設定すれば雑にスタブは作れる

一番簡単なやつは本当に雑なんですよ、という意識を込めたメモ 環境 aws-sdk (3.0.1) やり方 Aws.config[:stub_responses] = true とすればAWS系のメソッドは全てモック返答が返ってくる。 雑ポイント AWS SDKすべての返答がモック化し、特定のものだけ差し…

GooglePlayは公開のあとに審査される、ということの出典を調べてみた

雑記です。 経緯と調査結果 iOSアプリと事前審査 スマートフォン向けアプリを作る方はご存知「Appleのアプリ審査」 iOS向けのアプリケーションを配布する方法としてはAppleが用意するマーケットである AppStore に公開することが一般的な方法なのですが、 そ…

Railsで時間において小数点以下の差分時間を取る手法

ログから処理時間が欲しいときに小数点以下で欲しいな、とか思ったときにやる方法メモ 環境 やり方 一番簡単なのは Time の型同士で引くこと。 t0 = "2018-10-10 10:00:51.14".in_time_zone # => Wed, 10 Oct 2018 10:00:51 JST +09:00 t1 = "2018-10-10 10:…

RubyのRange生成である .. は終端を含め、 … は終端を含めない

忘れて痛い目をあったので備忘録的メモ 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] 参考元 範囲オブジェクトはRangeクラス のインスタンスです。 ... で生成された範囲オブジェクトは 終端を含みません。 - 演算子式 (Ruby…

Markdownでものを書くときにだいぶ役に立つChrome拡張『Create Link』

技術的なことを何もできなかったし、腰を据えて記事を書く時間もなかったので日頃使ってるもの紹介です。 chrome.google.com 今開いているページのMarkdownリンクをサクッと作ることができます。 Create Link - Chrome ウェブストア 選択をしないと、そのペ…

ディレクトリに含まれるファイルを拡張子別にカウントするRubyのコードを書いてみた

ググったらWindowsでの知見しか出てこないので、Rubyでサクッと作ってみた。Macならこれを書き換えればカウントできます。 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] コード require 'find' # @param [String] target_pat…

技術書典5で偶然出会ったセイチョウジャーニーを読んで、仕切り直しをしようと思った話

雑記というか日記と感想といまの思いがごちゃまぜになったものです。 本との出会い 技術書典5に行ってきました。 techbookfest.org (コミティアでもそんな買い方をするんですが)直感的に「いいな!」と思った本やパラパラ立ち読みして「いまの生活にもちょ…

AWSコマンドにおいてAWSのアカウント設定情報を複数持ち、切り替える方法

やり方を忘れるのでメモがてら 環境 $ aws --version aws-cli/1.11.129 Python/2.7.10 Darwin/17.7.0 botocore/1.5.92 設定情報を複数用意する 作り方 $ aws configure --profile {{作りたいプロファイル名}} 例 sandbox という profile を作りたい場合 $ aw…

Time.zone.nowを大量のくりかえしで使うときは一時保存しましょう

ゲームとかやってると割と当たり前なんだけど、そういうコードを見かけたので一応メモがてら。 環境 rails (5.2.0) 例 たとえばこんなコード # 10日前のものを選出したい(whereしろというツッコミは忘れる) User.all.each do |user| next if user.created_a…

Rails5のActiveRecrodにてOR条件で検索したければorを使えばいい

あまり浸透していないのと忘れるのでメモ 環境 rails (5.2.0) 使い方 文法 条件1もしくは条件2に合致する場合 Model.where({{条件1}}).or(Model.where({{条件2}}) 例 Userのidが1かcreated_atが今現在のレコードを調べる User.where(id:1).or(User.where(cre…

常設ディスプレイに計測系ダッシュボードを表示するときに便利なChromeプラグイン『Revolver - Tabs』

よくGoogleAnalytics等のダッシュボード表示系コンテンツをディスプレイとかで表示することがあると思うんですが、そういうときに役立つプラグインをご紹介 DL先 Revolver - Tabs 使い方 このツール自体は「GoogleChromeで複数タブを開いているときに一定秒…

ActiveRecordにはそれまでのorderを無視して上書きするreorderというメソッドがある

一体どういう意図でつくったのかわからないが見つけたのでメモがてら。打ち消しの記述なんて危険しか孕んでないから、おそらくコレは見かけたら駆除したほうがいい系のメソッドだとは思っている。 環境 rails (5.2.0) 例 例えば普通にorderすると以下のよう…

画像をアップロードできる機能におけるImageMagickの危険性を考えてみる

画像変換系SaaSを使うか否か、を考えたときのただの雑記です。 今回考える機能 ざっくりとした要件 『ユーザーが任意でアップロードした画像を保存したい』 という要件があるとする。 考えなければいけないこと 仕様面 画像ファイルの形式は何を許可するか …