コード日進月歩

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

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

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

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

Rubyの呼び方がいろいろある演算子たち

=> をハッシュロケットと呼ばれることを知り調べてみた系トリビア。 ここで紹介する記号達の名称はオフィシャル系では見かけたことがないのであくまでもネットを漂う情報のひとつ。 元ネタ JuanitoFatas/what-do-you-call-this-in-ruby: Solving the second …

PV、Session、UUの考え方を整理してみる

PV、Session、UU。どれもサイトに訪れた数を表す指標であり、大概のツールは実装されている。しかしながらいざ自分で作ると考えたときにどういう違いがあるのかがあまりまとまってないのでまとめてみた系雑記です。 PV,Session,UUとは どれも期間に対してど…

『Rejectcon 2018』に行ってきたよメモ

Rejectcon 2018(builderscon tokyo 2018 番外編)]に行ってきたのでメモ 各発表の感想 ※資料スライドは見つけたら貼ります。 その「s」を付けるために ─ はてなブログHTTPS化の軌跡 資料公開しました!!! https://t.co/v7tXL449nL #rejectcon2018— パピックス…

GooglePlayへの遷移を実現したいときのURIの書き方2種

普段遣いしているとわかるけど、そうではないとわからない系のメモ やりたいこと リンクを押すとGooglePlayに遷移する!みたいな奴 書き方例 普通のURL https://play.google.com/store/apps/details?id={{アプリのパッケージ名}} で指定できる、ダンジョンメ…

RSpec内にてRails.envによって振る舞いの変わるものをテストしたい場合の書き方

ただのモックの書き方だが具体例を添えて。 環境 rails (5.2.0) rspec (3.7.0) やり方 allowとand_returnを使う allow(Rails).to receive(:env).and_return(ActiveSupport::StringInquirer.new("production")) 原理 allow({{クラス名}}).to receive({{メソッ…

先祖返りのことを英語で表す場合はデグレよりもリグレッションのほうがニュアンスは近そう

そういや先祖返りって言うけど、正しくはなんなんだろう、みたいなトリビア的メモ。 ソフトウェア開発における先祖返りとは 本来の意味 直接の両親でなく,それより遠い祖先の形質が子孫に突然に現れること。 - 先祖返り(せんぞがえり)とは - コトバンク こ…

sshの鍵を毎回指定するのをショートカットするsshのconfig設定

普通にググりゃでてくるんですが、毎回忘れるのでメモがてら 従来 sshに使う鍵は ~/.ssh/nanka_pem ログインするユーザは dareka_user ログインするサーバは 253.254.255.255 ssh -i ~/.ssh/nanka_pem dareka_user@253.254.255.255 configに追記 ▼ .ssh/conf…

RailsのViewPartialにて引数確認にdefine?を使うようなケースは本当にそこまでやるか立ち止まって考えて欲しい

人それぞれやり方はあると思うけど、自分はこう思うよ系雑記 環境 rails (5.2.0) 事例 前提の話 レイアウトとレンダリング | Rails ガイド の 「3.4.4 ローカル変数を渡す」にも紹介されているように部分Layoutには変数を渡すことができる。 ▼contents/index…

bin/setup と bin/update の経緯をざっくり見てみる

ふつうのRailsアプリケーションのスライドを見たときにそういえば…と思ったので雑記的なアレ。 このスライド この2つの意図とは この仕組みが入ったのはだいぶ前で以下のプルリク `bin/setup` script to bootstrap applications. by senny · Pull Request #1…

Railsアプリ開発の基礎を抑えたあとに読みたいスライド「ふつうのRailsアプリケーション開発」

スライド回顧録です ふつうのRailsアプリケーション開発 from Takafumi ONAKA www.slideshare.net Rails2系を触って、Rails5で再び戻ってきた自分としてはRailsの根本概念であるMVCの部分やDRYの原則の部分はわかっていても、いまのRailsの基本やデファクト…

AppStoreへのリンクをただ作りたいときはLinkMakerを使う

小ネタです。 やりたいこと AppStoreへのリンクを作りたいので、ストアアプリが立ち上がるURLが知りたい やり方 iTunes Link Maker に行って ストア国を「日本」 メディアタイプを「App」 にしてリンクを貼りたいアプリの名前を検索する ※上記の場合は「ダン…

Railsのloggerで出力されるかを検証するときは、モックを使って確認するのがよい

小ネタ備忘録です。 環境 rails (5.2.0) 例 下記のクラスをテストしたい場合 class Example def logging Rails.logger.info("hoge") end end 下記のように書く # 実行前にloggerのinfoに設定される引数を見るようにする expect(Rails.logger).to receive(:in…

『アーキテクチャ ディスカッション Vol.1』に行ってきたよメモ

アーキテクチャ ディスカッション Vol.1に傍聴席サイドで行ってきましたのでそのメモ。 トークの話題別まとめ ディスカッション形式だったので、話題ごとにまとめてみました。 今回のねらいとしてはクリーンアーキテクチャの導入事例、成功した話、表に出に…

歩くシステム仕様書になってる人に読んで欲しいスライド『バス因子が自分で バス因子を脱するための方法』

温故知新的に振り返る、スライド回顧録のコーナーです。 speakerdeck.com 自走できるかつ頑張る人ほどバス因子になりやすいんですけど、人が少ない間はそれが常だし仕方がないんだけど、人が増えてきたときにそこで積み重ねてきたものを丁寧に分配していった…

風邪で寝込んでいる(現在進行系)のため1回休み

風邪で寝込んでたため一回休みです。 【第2類医薬品】カコナール2 45mL×4出版社/メーカー: 第一三共ヘルスケア発売日: 2007/07/02メディア: ヘルスケア&ケア用品この商品を含むブログを見る

式年遷宮とディスポーザブル長屋

体調悪めなので雑記 + 用語備忘録的な話です。 個人的に昔からインフラ構築とは遠い場所で仕事することが多くて、抱くイメージとして プロの長年の経験と勘により編み出される設計 失敗や空気感から編み出されるミドルウェアのセットアップ法 数多の死線をか…

Rubyの関数の引数では可変長引数と可変長キーワード引数で便利な使い方ができる

両方使うことで、面白い使い方ができるんだなというメモ 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] 実例 前提のおさらい *引数名 で引数を好きな個数指定でき、配列に格納できる def optional_args(*args) p args end 上…

RSpecのsubjectは同一ブロック内で2回指定しても再実行されるわけではない

2回実行した時…みたいので subjectを2回実行すればいいやん! みたいに思うがそうは問屋が…的な。原理までは調べてないが挙動としてはこうなんだよメモ 環境 $ bundle exec rspec --version RSpec 3.7 - rspec-core 3.7.1 - rspec-expectations 3.7.0 - rspe…

Rubyでバージョン番号を比較するするときはGem::Versionでできる

いつもパッと出てこないので備忘録メモ 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] やり方 old_version = "1.0.0" new_version = "1.2.1" Gem::Version.create(old_version) < Gem::Version.create(new_version) # => true…

『MedBeer -Rails開発での技術的負債との付き合い方-』に行ってきたよメモ

MedBeer -Rails開発での技術的負債との付き合い方-に行ってきたのでメモ 各発表の感想 Rails Good Parts, Bad Parts 今日の発表資料ですー(\( ⁰⊖⁰)/)スクリーン見づらい人はこれ見て発表聞いてください https://t.co/qnJfErDkmK #medbeer— willnet (@netwill…

Googleの広告系サービス名称と機能をざっくり理解する

Googleの広告系各種サービスって日に日に名前変わるなかで、DoubleClick系の名前が刷新されたので、2018年9月現在の話としてざっくりとまとめてみる Google Ads(日本語名: Google広告) もともとGoogle AdWordsと呼ばれていた、広告を出したい人向けのプラッ…

RailsでUTF-8じゃない文字列が入ったハッシュをto_jsonしようとしてもできない

なんかRubyでない世界観で作られた日本語戻り値を受け取って加工してたら変なところでエラーになったのでメモ 環境 rails (5.2.0) 事象 以下のような test.txt を用意する 悪霊退散 これを意図的に Shift-JIS で読み込む text = File.read("test.txt").force…

『builderscon tokyo 2018』に行ってきたよメモ

builderscon tokyo 2018に行ってきたのでいつもの感じでメモです。 各発表の感想(Day1) Envoy internals deep dive www.youtube.com 上記ビデオの再演の様子 感想 マイクロサービスでは超ホットなenvoyの話。 Enovyが生まれた背景とどういう技術を使っている…

時空ねじれを調整するために1回休み

金、土にあった勉強会の内容を記事に書くんだと土曜日に意気込んだものの…爆睡したため1回やすみ。痛恨の極み

勉強会のことをメモっていると実況Tweetができないジレンマ

雑記です(builderscon2018に参加してるのですが、参加したセッションのメモはまた明日まとめて) 自己でまた振り返ってみたいようにに見たスライドと一言感想はブログにしたためているんですが、いかんせんハッシュタグで実況してください!系と相性が悪い…

汎用化処理に対して良いアプローチを考えたい

雑記です。 Railsをやっていると『DRYじゃない』とか『DRYにしよう』みたいのでいろいろ処理をまとめることが多いと思います。その結果、親しいカテゴリの処理が一つにまとまることが多いです。 ただ割と起こりがちな現象として 似たような処理だが細部が違…

やるべきことが進まないので1回休み

日記です。 割とスケジュールに余裕が見えたので、ちゃんとブログを書こうとか、チーム内のレビューをしっかりやろうとか、みんながぼんやりと抱えている課題や決めたほうがいいことを考えていかなきゃなと思ってたらまた実務時間がなくなってスケジュールが…

本当に10分でアーキテクチャの歴史がざらっと学べるスライド『10分で振り返るソフトウェアアーキテクチャの歴史2017』

最近記事になるような学びがないので、スライド回顧録です。 speakerdeck.com 過去にMVC,MVP,MVVMの比較記事書いてるんですが、その数カ月後に出てきたスライド。凄まじい。 注意書きにiOSエンジニア向けと書いてあるが、iOSのエンジニア以外にも全然説明が…

RubyのBase64.encode64はエンコード後文字列が60文字以上になると改行コードが入る

なんだそのRFC仕様…と思ったのでメモ 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] 概要 与えられたデータを Base64 エンコードした文字列を返します。 このメソッドは [RFC2045] に対応しています。 エンコード後の文字で 6…