コード日進月歩

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

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

ドメイン駆動設計にふれる前に読みたいスライド『How to Apply DDD to Android Application Development』

スライド回顧録です。 y-anz-m.blogspot.com あんざいゆきさんがDroidKaigi2017で話した、DDDのエッセンスをAndroid開発に持ってくるための話。 割と勘違いされやすいDDDの用語に対しての話や、Androidのコードを交えた話を実際に話すときのカンペ付きで公開…

jq を使って平文のJSONをシェルコマンドだけでいい感じにエスケープする

vegeta の Readme 見てたらこんな使い方あるんだ的なメモ 環境 $ jq --version jq-1.5 ※jqの説明は参考リンク参照のこと 使い方 例 特定のJSONの値をちゃんとエスケープを書けたURIにしたいときがあったとする。 例えば { "url": "https://example.com/searc…

シェルでただ使いたい人のためのgo言語での外部ライブラリの入れ方

GoLangをちゃんとやろうと思い始めたんだけど、俺はパッケージだけ使いたいねん…というときにどれもイマイチしっくりこなかったのでメモ 環境 $ go version go version go1.8 darwin/amd64 入れ方例 A Tour of Go で上げられている gotour を例に説明する GO…

jquery で 要素の確認に length を使うのであればちゃんと比較演算子を使って欲しいという気持ち

コードレビューしてるとときたま見かけて、すごくなんとも言えない気持ちになったのでそれに対する叫び的な雑記 よくあるコード <div id="xxx"> <div class="sample"> サンプル </div> </div> $(function(){ if($('#xxx').children('.sample').length) { console.log("class sample has"); } }); みたいな形…

Railsでprimary key がid ではない場合 find_each はできない

Model名.all.each は Model名.find_each にしろというのはRubocopでも怒られるド定番な修正対象ですが、できない場合があるのを知らなかったのでメモ 環境 Rails 5.2.1 できないパターン これができない場合はそもそもRailsのfind系機能が使えないので気づく…

良かったスライドをメモがてら貼って感想を書いていくのもいいのでは

日曜日なのでゆるやか日記です。 以下の記事を読んだ。 razokulover.hateblo.jp 割とすがる上司も先輩もいなく自分で切り開くほかない時代を長く過ごしてきたので、人のスライドやブログによる知見には非常に助けられてきた。 ただ、久しぶりに見返そうとす…

なぜ、UTCにおける1970年1月1日0時0分0秒がUNIXTIMEの始点なのかをざっと調べてみた

気になったのを調べてみた系雑記です。 『UNIXTIMEの0って1970年の元旦0時でしょ?』という知ってる人は知っている、知らない人は覚えてね的なネタ。なんでその日なのか…と思ってしっかりとした出典調べたんですが、ざっと見た限りだと何故かを説明したもの…

RSpecでテストをpendingしたい場合はxから始まるメソッドにリネームするといい

こんな機能があるんだという気持ちになったのでメモ 環境 rspec (3.7.0) 使いかた example_spec.rb として以下のスペックを書いてみる 実行すれば以下の結果 require "rspec" describe "DummyTest" do describe "Target" do context "Case1" do it "SuccessA…

Railsで簡潔になったメソッド呼び出しの仕組みを説明するための記事を書いた

Qiitaにはコラム的に書きましたが、その書いた経緯系雑記です。 最近ずっとPHPをやってきた人にRailsの使い方を教えることがあったんですが、Mailerの話になり def welcome_email @user = params[:user] @url = 'http://example.com/login' mail to: @user.e…

BigQueryがNewUIになった

本来書こうとしてたことが全然かけなかったので雑記的小ネタ。 こないな感じで日本語なUIになりました。 嬉しいポイントとしては デフォルトでStandardSQL クエリの実行時間とバイト数が見やすくなったのでお金計算がしやすくなった あらゆる履歴が見やすく…

SQLで『COUNT(条件式 OR NULL)』の原理を忘れるので備忘録として書いた

QiitaのほうがMarkdownが綺麗にかけるので、実例込み版はそっちに書いた qiita.com 要約 COUNT(カラム) でカラムがNULLでないものをカウントする カラム には id == 1 のような条件式が指定できる、が条件式は1か0のどちらかが返却されるので全てがカウント…

Railsでよしなに40x系のレスポンスを返すExceptionの確認の仕方

ActiveRecord::RecordNotFound とかだと勝手に404ページけどほかは何があるんだろうとか思ったのでメモ 環境 rails (5.2.0) 確認の仕方 ActionDispatch::ExceptionWrapper.rescue_responses # => {"ActionController::RoutingError"=>:not_found, # "Abstrac…

『Web制作者のためのCSS設計の教科書』を読み終わったよメモ

積本だったのを読み終わったので感想的なメモです。 Web制作者のためのCSS設計の教科書 モダンWeb開発に欠かせない「修正しやすいCSS」の設計手法作者:谷 拓樹インプレスAmazon 買った経緯 CSSの知識が中途半端だったので地ならしとしてなにか読みたいなと思…

ふんわり弊ブログの動向

最近仕様やら運用ばっかりやっているので目覚ましいネタがないので日記です。 せっかく毎日つけるようにしているので、アクセス解析をちゃんとしようと思い Google Analytics Search Console この2つは仕込んでいます。 ここから需要予測とかして、なんか自…

RubyでURL用のクエリパラメータとして別のURLを値指定したいときはCGI.escapeを使う

タイトルで本文の90%を説明してしまっているシリーズ。 環境 $ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16] 挙動 require 'cgi' #=> true # 元のURL base_url = "https://example.net/example" #=> "https://example.net/example…

よくサーバにファイルを送る時に固める方法を書いた

Qiitaに以下の記事を書いた。 qiita.com インフラをメイン稼業にしてないので、seed的な用途のファイルとかの転送方法は利用頻度的に脳内のメモリからすぐ消えるので、すぐにパッと見れる物が欲しかった。 そして使う時は大体が 圧縮 転送(scp) 解凍 ファ…

プログラミング言語やフレームワークによって意味合いが変わる言葉、empty

empty って名がつくもの、いろいろな言語やフレームワークにあるんですが、言語によってあらわすものがまちまちなので気をつけたほうがいいよねっていう小話 いろいろなempty Ruby empty? (String) - Rubyリファレンス empty?メソッドは、文字列が空文字列(…

Railsが利用するテーブルでなるべく避けるべきカラム名

created_at や updated_at はRailsといえば!ぐらいの代表的なカラム名だけど、 type とかは感覚的な理解だったので、そういえばActiveRecord的につけてはいけないカラム名とはどういうものがあるのかと思って調べてみたメモ 環境 rails (5.2.0) 避けるべき…

pdfをExcelやWordに書き出したいときはAcrobatがあれば書き出せる。

今日技術的な仕事あんまりできてないので雑記。 すごい便利、ただし有料。月1,580円なのでそれなりにする。(自分は全部入りプランを買っている) バージョン どんなものが選べるか Word,Excel,PowerPoint なども行けるしHTMLも行けたりする(ただし綺麗に出…

ROCK IN JAPAN 2018 の 少額支払いは電子決済でほぼできる状態にあったのがすごい、というだけの話

雑記です。 ROCK IN JAPAN FES 2018 に行ってきました。 rijfes.jp 野外フェスなのにすごいなと感心したのが、ほぼすべての場所で電子マネー決済が使えたこと。 会場内で電子マネーをご利用いただけます - ROCK IN JAPAN FESTIVAL 2018 オフィシャルグッズ販…

Railsのpublic/404.htmlはどうやって使われているのか

Rails使ってると、ActiveRecordNotFound とかがraiseで上がった時に勝手にpublic/404.html がでたりしますが、あれが出るのはどういう仕組みなのかっていう部分的メモ(内容がまとまったらもうちょいちゃんと書きたい) 環境 rails (5.2.0) やっているところ…

Googleのアルゴリズムアップデート、パンダとペンギンの今

雑記です。 Googleのアルゴリズム変更を種類に応じて「パンダアップデート」「ペンギンアップデート」と呼んでいる時期があったが、今は呼んでいないという話。 Googleのアルゴリズム変更の種類、パンダ・ペンギン 過去Googleの検索アルゴリズムの変更は2種…

iOSアプリを開発する人はもっとRubyとgemの管理に慎重になって、かつ有効に使って欲しいという気持ちの記事を書いた。

雑記です。 Qiitaにこんな記事を書きました。 qiita.com この記事に至る前に似たような記事を2つ書いてたりします。 qiita.com qiita.com 実はどれも基本的な目的は同じで 『gemを安易にグローバルインストールせずにちゃんとbundlerを使って欲しい』 という…

チームメンバーで利用するrubyのバージョンを共通化するときは.ruby-versionファイルを置くと便利

バージョンを複数入れられる系のやつを使っているときに あ、俺のところバージョンちゃうやんけ! みたいのを防ぐための手段 環境 $ rbenv -v rbenv 1.1.1-30-gc8ba27f やり方 .ruby-version といファイルにバージョン番号を入れると勝手にそれを使うように…

Request spec において、リクエストされたURLのホスト名をテストの内容に含めたい場合

アクセスしてきたURLのホスト名がexample.co.jpのときとexample.comのときで振る舞いが変わる みたいなControllerへのRSepcをかくときのかき分け方 環境 rails (5.2.0) rspec (3.7.0) やり方 普通にheadersで指定するハッシュに { "Host" => "example.co.jp"…

bundlerをgemのインストールが必要な状況かを判断するシェルスクリプトを書く

bundlerセットアップしてくれ記事とかに bundle install --path vendor/bundle って書くんですけど、shとかでインストールされてなかったら実行みたいのを書きたかったのでメモ 環境 $ bundler -v Bundler version 1.16.3 やり方 $ bundle check --path vend…

Railsで使えるTimeクラスのいろいろシリーズ

お前、そんなパターンもあるのかって気持ちになるので一覧 環境 rails (5.2.0) 四則演算用の時間 まずは基本として、Integerのインスタンスは、時間の単語にまつわるメソッドを持っていて、それらが時間を表現してくれる。 # 1秒 1.second # 2分 2.minute # …

FaradayのリクエストタイムアウトをWebMockで実現する

FaradayでAPI通信を行っているとき、APIのタイムアウトを意図的に起こしたい時にどうするかというメモ 環境 rails (5.2.0) faraday (0.12.2) webmock (3.4.2) 考え方 Fardayはタイムアウトが発生すると Faraday::Error::TimeoutError を raiseしてくれるので…

JSONでエスケープする必要のある特殊な文字

JSONで改行を表現するときは \\n つまり \n を \ でエスケープせよということなのだが、他にもエスケープする文字は何があるのかのメモ 出典 RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format 対象の文字 『"(ダブルコーテーショ…

ターミナルから安全にInfo.plistのBundleIDの中身を書き換える

シェルスクリプトでInfo.plist内の特定の中身を書き換えたかったのでメモ 環境 macOS Sierra バージョン 10.12.6 やり方 plutil を使う $ plutil -replace {{書き換えたいKey名}} -{{書き換えたい型}} {{書き換えたいvalue}} {{ファイルパス}} という使い方…