コード日進月歩

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

2019-07-01から1ヶ月間の記事一覧

『【Roppongi.rb特別編】Rails 6リリースするかも?Party at Speee』に行ってきたよメモ

【Roppongi.rb特別編】Rails 6リリースするかも?Party at Speeeに行ってきたのでメモ 各発表の感想 ※資料スライドは見つけたら貼ります。 Rails6にいつ上げるか? #roppongirb 昨日の資料を公開しました / Rails6にいつ上げるか? https://t.co/lrOLf03m2D—…

『SekkeiKaigi』に行ってきたよメモ

すごいざっくりですがSekkeiKaigiに行ってきたよメモ 各発表の感想 ※資料スライドは見つけたら貼ります。 設計忘れからやってはいけない対処対症療法 #sekkeikaigi 世界に恥を公開しました。見ないでください。https://t.co/q5koKJB75l— 柚口ましろう (@yu_m…

crontabは従来のログインシェルと違ってPATHが通ってないことがあるので気をつける

結構環境によって対処法が変わるので雑な感じのメモ 遭遇した状況 ログインしているshでは上手く行くのに、cronで実行すると失敗する 実行していたのは bin/rails から始まる rake タスク 原因 gemや実行したいコマンドの実行パスが通っていないのが原因 解…

メールのパスワード別送信は無意味なのかざっくりまとめてみる

よく言われることだけど、しっかり説明できないなと思ったのでまとめてみる。 よく言われる「パスワード付き添付ファイルとパスワードを別に分ける」とはどういうシチュエーションか メインのメールでパスワードを入れないと開けない添付ファイルを渡す メイ…

AWSのCLIにはコマンドリファレンスのページが存在する

AWS

ググってもヘルプページが優先されて出てこないのでメモ 場所 https://docs.aws.amazon.com/cli/latest/index.html 補足 一応あるのだが、機能によってはめちゃくちゃ説明が不親切なので、読み解くときはそれぞれのヘルプページの説明を読むのが順当 関連リ…

ローカルで開発下内容をmasterにコミットしちゃったときのお手軽手順書

事故が起きたときの対応法メモ 環境 $ git --version git version 2.17.2 (Apple Git-113) 対応順番 いままでやった更新を別のブランチとして新規作成 originのmasterにmasterを強制リセットする 例 master にコミットした内容を sugoi_feature に動かしたい…

システム開発におけるEnd Of Lifeの意味とその類義語

人によって略語のバリエーションがバラバラ、とりあえず似た言葉をまとめてみる。 システム開発におけるEnd Of Lifeとは 製品としての終了を示し、主に製品サポートの終了を意味する用語として使われる。そこから転じて、ソフトウェアのサポート終了や、重大…

Gitで取り込みMergeをする

リベースが怖い状況のときによくやるやつをメモ 環境 $ git --version git version 2.17.2 (Apple Git-113) やり方 取り込みたいブランチを最新にする 取り込ませたいブランチに切り替える merge 実例 今回は feature_dodekai 開発中に色々なものが master …

Dockerにて TAGが none なイメージを削除する

Macの容量がないな…と思って調べたら便利なやり方があったのでメモ 環境 $ docker -v Docker version 18.09.2, build 6247962 やり方 公式ドキュメントに例として書いてある images — Docker-docs-ja 17.06.Beta ドキュメント docker rmi $(docker images -f…

RubyのRangeオブジェクトで次の内容を差配しているのはsucc(next)メソッドの結果

次をどうやって判定しているんだろう、と思ったらこんなメソッドあるんだ的なメモ 環境 $ ruby -v ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18] ドキュメント Range#each は各要素の succ メソッドを使用してイテレーションする…

Rubyでカウントアップ/ダウンをするメソッドあれこれ

逆引き的にお送りします。 環境 $ ruby -v ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18] メソッド 一定回数やる場合の times x回繰り返すというときにつかえるもの、indexに入るのは0から 5.times { |n| p n } # 0 # 1 # 2 # 3 # 4 指定し…

『Unity++ 〜ショートセッション勉強会 presented by Unity部〜』に行ってきたよメモ

Unity++ 〜ショートセッション勉強会 presented by Unity部〜 - Unity Meetup に言ってきたのでそれのメモ 各発表の感想 ※資料スライドは見つけたら貼ります。 Democratized Unity Package Manager 本日の「Unity++ 〜ショートセッション勉強会 presented by…

Rubyでeach.with_indexを使うと n+1みたいなことをしなくてもいい感じに1からはじまる値が取得ができる

配列の長さが個数を兼ねているときによく考えるネタ。 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] 実例 要件 配列に画像のファイル名が入っているので No.1:添字0の画像名、No2:添字1の画像名 というように表示したい 対象…

Excel/スプレッドシートで日付に対して月数で加減算するときはEDATEを使うと楽

突然のスプレッドシート小ネタ 利用ケース スプレッドシートで日付を加減算するのは 整数値 を足せば勝手に解釈してくれる 日付フォーマットに対して整数値分、日付の加減算をしてくれる ただし、月を計算する場合は日での加減算だとブレが出てしまうので そ…

CircleCIでrubyのイメージを使っている際にmysql-clientがなくてエラーになってしまう場合はdefault-mysql-clientを入れてあげると解決できる

時事ネタ、かつ暫定的なトラブルシュート 環境 CiecleCI (version2) でCIを動かしている Railsアプリ bundle installなどを.circleci/config.ymlでやってる DBはMySQL JSのコードも有るので使っていたイメージは circleci/ruby:2.6.3-node-browsers 発端 と…

Railsにおける未保存状態のリレーションモデルのつくりかた

リレーションするモデルも一気に保存したい、という場合の逆引きマニュアル的なもの 環境 $ bin/rails -v Rails 5.2.2 やり方 has_many の場合と has_one で書き方が違う has_manyの場合 {{has_manyをつけたモデルのインスタンス}}.{{belongs_toのモデル名の…

Rubyの and と && は使い方によって優先度の影響で振る舞いが変わるので気をつける

DoubleRenderError避けに使う書き方で render :hoge and return みたいになぜandを使うのかという話。 実例 たとえばこんな感じで test.rb を作る def normal(val) p val and return p "end of normal" end def shortcut(val) p val && return p "end of sho…

FactoryBotでbelongs_toの相手がいる場合はidではなくモデルを代入しましょう

日曜日ということもあり なるほど、こういう見解もあるのか。 という天然の間違いに関しての発見メモ。 環境 $ bin/rails -v Rails 5.2.2 事例 例えばこんなModelがあるとする(Modelの値はannotateのgemで表現) # == Schema Information # # Table name: m…

CircleCI2では明示的にcacheを明示的に消す方法は用意されていない

タイトル通り、無い、のでどうするかという話 参考元 プロジェクトキャッシュのクリア – CircleCI Japanese Support Center CircleCI 2.0 では、キャッシュをより柔軟に管理できます。 キャッシュをクリアまたは再ビルドする際、キーの先頭にバージョン管理…

p12ファイルことPKCS #12の証明書ファイルに関してざっくりまとめる

p12ってiOSのAPNs証明書とかでも見かけるけどコレ自体は一体なんなのかという話をざっくりまとめる PKCS12とは p12はPublic-Key Cryptography Standards(略称PKCS)の12番目の仕様であり、パスワードに基づく鍵(暗号)により保護された秘密鍵と、それに関連…

curlでクライアント証明書を使ってJSONをPOSTする

複合事例をあえて書いて利用するオプションを説明する。 環境 $ curl --version curl 7.54.0 (x86_64-apple-darwin18.0) libcurl/7.54.0 LibreSSL/2.6.5 zlib/1.2.11 nghttp2/1.24.1 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps…

OGタグとOpen Graph Protocolについてまとめる

og:title とかあるんだけどコレの起源はなんなのかという話。 概要 Facebook社が提唱したプロトコル。リンクを貼ったときにそのリンクからタイトルやサムネイルを適切に生成するためのタグを定めたもの。 もともとは「あらゆるWebページがFacebook上の他のオ…

Rubyで環境変数を取るときはENVオブジェクトを使えばとれる

当たり前の話だけどそれにちょっとトリビアをつける 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] $ bin/rails -v Rails 5.2.2 使い方 ENV[{{キー名}}] で値が取れる $ HOGE=huge irb と起動すれば ENV["HOGE"] #=> "huge" …

iOSのsafariでは電話番号がハイパーリンクになるので、それを無効化するメタタグがある

独自メタタグシリーズ。 起きる現象 09012345678 のような文字列があると自動的にハイパーリンクになり、押すと電話が起動するというもの。 ただし電話番号とは関係ない文字列の場合もあり、できれば無効化したいことが多い。 書き方 以下のようにメタタグに…

サーバサイド開発におけるリリース後の重点監視に関してざっと書く

あんまり明文化されないけどみんなやってるよね系シリーズ サーバサイド開発におけるリリース作業とリリース後重点監視 開発を重ねてきた機能をリリースを迎えるとき、リリース前までにある程度のテスト工程を行ってくるものの、本番で実際にやってみたとき…

nginxを通して1MB以上のファイルをPOSTしたい場合はちゃんと最大サイズをclient_max_body_sizeに設定する

そんなデフォルト値あるんかいなという 環境 $ nginx -v nginx version: nginx/1.15.12 記述例 serverのところに追加したいサイズを記述する、以下は100MBまで許可したい場合。 server { client_max_body_size 100m; } デフォルト値などの情報 ドキュメント…

BOM付きのCSVをRubyのCSVクラスでreadする

header:true しようとしたらできなかったのでそのメモ 環境 $ ruby -v ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18] どういうことか BOM付きのファイルを CSV クラスで読み込むと、先頭行にBOMの情報がついてしまう。そのため、headerのオ…

MySQLのコマンドライン実行( -e , --execute)はファイルに出力するとタブ区切りのTSV形式になる

原理を知らんかったんで調べてみたメモ 環境 $ mysql --version mysql Ver 14.14 Distrib 5.7.24, for osx10.14 (x86_64) using EditLine wrapper やり方 --execute もしくは -e を使うとコマンドラインでMYSQLのクエリを実行できる。 その結果をパイプして…

GitHubのコードレビューにてファイルをもう見たことをチェックできる機能が実装された

「大きいプルリクエストと戦うあなたへ…」みたいな機能 出典 Mark files as viewed - The GitHub Blog どんな機能か 詳しいビジュアルは上のブログに書いてあるので割愛するが、要約すると… ファイルに見たことを示す「Viwed」のチェックボックスが付き、チ…

Railsでいずれかの値が入っていたらその値を代入する、などの処理をするときはpresenceが便利

先日の代入記事の発展編 環境 rails (5.2.2) activesupport (= 5.2.2) presenceとは presenceメソッドは、present?がtrueの場合は自身のレシーバを返し、falseの場合はnilを返します。 - Active Support コア拡張機能 - Rails ガイド - presence 使い方 valu…