コード日進月歩

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

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

ndenvだとバージョンを追加するたびにyarnを毎度インストールしないといけないのでhookでやる

便利なプラグインがあるので紹介メモ 環境 $ ndenv -v ndenv 0.4.0-4-ga339097 やり方 ndenv-yarn-installという便利なものがあるので、それを使う。 まずはcloneして、ndenvの管理下のディレクトリに格納する $ git clone https://github.com/pine/ndenv-ya…

PlantUMLでER図を書く

Web開発からスタートするとあまり触ることのないUML。それを使ってER図を書く 今回の記事の端末環境 macOS Mojave ver 10.14.1 homebrew導入済み $ brew --version Homebrew 1.8.4 Homebrew/homebrew-core (git revision c1ab; last commit 2018-11-30) 準備…

ActvieSupportのend_of_**はミリ秒まで設定される

普段は to_i してエポック秒比較しているのに、Time同士でもまぁいっかーとか思ったら降り掛かった厄災系メモ 環境 rails (5.2.0) 事象 end_of_** (end_of_dayやend_of_month)を使うと、対象の切り替わる手前の時刻を引き出してくれるが、その内容は小数点以…

読み違いを減らす名付け

久しぶりにきのこの当該部分を読んだので雑記です。(そしてたまにはC#で例示を書いてみる) 名付けは重要である リーダブルコードで以下のようなことが語られている 汎用的な名前は避ける、aとかizとか一見して用途のわからない名前はつけない 抽象的な名前…

FLOCSSのレイヤを表に簡単にまとめる

CSS

一覧でドーンみたいのがほしかったので 分類表 レイヤーの分類 大きく「Foundation」「Layout」「Object」のレイヤーに別れ Objectは3つの種類がある。 分類 粒度感 主な例/パーツ 接頭辞 Foundation ブラウザ全体にかかる打ち消し用や修正の部分 reset.css …

コンテキスト不足による意思の疎通失敗問題とテキストコミュニケーション

昔から「夫婦の阿吽の呼吸問題」と個人的には捉えてたのですが、いい題材が見つかったので、趣を変えた感じでお送りします。 コンテキスト不足の例 例:夫婦の会話 例として以下のような内容をあげてみます 将来のことを考えて2LDKの部屋に住むことをきめた…

InteliJ IDEにファイルの部分コミットの機能が追加されていた

昨日の記事を書いているときに、SourceTreeみたいな部分的にステージに上げてコミットの機能がついたので紹介メモ 環境 RubyMine 2018.3 ※機能自体は2018.1 からあるみたい スクショ 変更箇所にチェックがつけられるので… チェックを外すと更新対象から外せ…

InteliJ系IDEの2018.3版にはGithubに直接PullRequestを作る機能がある

Githubに繋げなくともPRができる便利機能ができたので紹介 環境 今回試したのはRubyMine2018.3 やり方 変更したいブランチをつくる IDEだけでやりたい場合は右下にGitのメニューがあるのでそれを操作して作る コミットする Version Controlのタブを押して、…

exec $SHELL -l でシェルが再読込されるしくみ

よくシェルの再読込で exec $SHELL -l と紹介されるものの原理を把握できてなかったので調べたメモ 環境 $ help GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17) 原理 exec : 「現行のジョブに置き換えてコマンドを続行する」 $SHELL : 起動中…

今行ったコミットを打ち消すのは git reset --soft HEAD^

ただただよくやり方を忘れるのでメモ 適用できるケース 間違ってコミットしてしまった 変更はそのまま戻ってきてほしい 戻したことをログに残したくない まだpushはしておらずローカルでのcommitしかしてない コマンド git reset --soft HEAD^ 意味 git rese…

『Everyone Outputer#1 「ぼくのわたしのセイチョウ・ジャーニー」』に行ってきたよメモ

自ら登壇したけどEveryone Outputer#1 「ぼくのわたしのセイチョウ・ジャーニー」 に行ってきたのでメモ このイベント、「セイチョウジャーニー」というのが元ネタなのですが、ココらへんの解説は下記のブログがわかりやすくされているのでそちらにバトンを…

『セイチョウのための一歩 ブログ習慣化のあゆみ』という内容で登壇してきました。

Everyone Outputer#1 「ぼくのわたしのセイチョウ・ジャーニー」 で話してきたのでメモです。 発表したスライド speakerdeck.com まさにこのブログのことを喋ってきました。 スライド中のワード補遺編 スライドで引用風に説明していたワードたちをこちらでご…

資料書いたりするので1回休み

なれないスライド資料を書くので一回休み おまけ Googleスライドのデザインほしいなーと思ったらおすすめのサイト SlidesCarnival - PowerPointとGoogleスライドプレゼンテーションの無料テンプレートをお試しください

Google日本語入力で :bow: を出したいときは「ごめんなさい」で変換すると出る

「えもじ」から連打するの無理ゲーだと思っていたので、備忘録としてのメモ 環境 Google日本語入力のバージョンは以下 2.24.3250.1 変換ワード ビールとかケーキとかわかりやすいのを除き、使いそうでわからないやつを 絵文字 Slack上などでの表現 変換ワー…

都道府県のenumを保つ場合はJIS X 0401:1973 都道府県コードを使うと良い

そういや正式名称なんなんだろうっていうところでメモ 規格名 JIS X 0401:1973 都道府県コード 実データ 01:北海道 02:青森県 03:岩手県 04:宮城県 05:秋田県 06:山形県 07:福島県 08:茨城県 09:栃木県 10:群馬県 11:埼玉県 12:千葉県 13:東京…

Rubyの文字列は * をつかって掛け算のように書くことで繰り返し生成ができるが、注意が必要

あ、そんなこともできるんだというトリビア感と同時に普通にバグが滑り込みそうと思ったのでメモ 環境 $ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16] 出典 文字列の内容を times 回だけ繰り返した新しい文字列を作成して返します…

『Sansan Builders Box』に行ってきたよメモ

11/10にSansan Builders Box というイベントに行ってきたのでその時の行ってきたよメモです。 各発表の感想 3つにセッションが分かれていたので聞いてきたやつのみのメモです。 Keynote:Sharing Knowledge たぶんスライド的なものはなさそう 感想 今回のイベ…

Railsのcallbackは事前にメソッドを呼び出すだけなので、raiseしたExceptionはshowなどのメソッドのrescueでキャッチしてくれない

よくよく考えたら当たり前なんだけど、もしかしたらやってくれるのでは!?みたいな淡い期待を打ち砕いてくれたので、やってみたメモ 環境 rails (5.2.0) 処理例 仕様 /sample/1 を指定したときは {sample: true} のjsonが返却され、それ以外のときは {sampl…

踏み台サーバを経由する場合の ssh conigファイルの書き方

いつもやり方と文法を忘れるのでメモ やり方 Host {{踏み台のサーバのホスト名 / IPアドレス}} User {{SSHで入る際のユーザ名}} IdentityFile {{踏み台サーバの鍵}} Host {{踏み台から見た入りたいサーバのホスト名 / IPアドレス}} User {{入りたいサーバの…

ダミーやサンプル例示でつかうURLはexample.comを使うといい

いつも sampple.com とか test.com とかを間違って使っちゃうので備忘として 出典 The Internet Assigned Numbers Authority (IANA) also currently has the following second level domain names reserved which can be used as examples. example.comexamp…

変数には1度だけ書き込み、オブジェクトはできるだけ生成後に触れる部分を最小限にする。

スコープを狭くしよう、というコラムです。 変数には1度だけ書き込むほうがいい かのリーダブルコードに以下のような記述がある 本章では「生きている」変数が多いとコードが理解しにくくなることを説明した。でももっと理解し難いのは、変数が絶えず変更さ…

cssのfont-size 100%を最上段のhtmlタグに対してセットするとブラウザの種類や状態によって変わってくれる

あー、そうやって相対値をはじき出すほうほうもあるんだ。というメモ 情報の出元 パーセンテージ指定でフォントサイズを指定しておくと、ブラウザのデフォルトのフォントサイズ(通常は 16px = 12pt)や、ユーザが設定したフォントサイズが正しく反映されて…

OpenAPI3.0やswagger用のymlやjsonをInteliJ系IDEで編集するときはSenyaEditorを入れるとプレビューが楽

OpenAPIとかSwaggerをInteliJで書くにはコレが便利!!みたいに勉強会で見かけたものの具体的なプラグイン名がわからなかったので紹介とメモ 公式HP&入れ方 InteliJ用のプラグインだけど公式HPがある、しかもわかりやすいgif動画付き senya.io 例 入れるとTo…

Time.newは31日が存在しない月に31日を指定しても、勝手に繰り上がる

親切だけど、知らないとビビる感じなのでメモ 環境 $ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16] 事象 TIme.newで Time.new(2018,6,31) などをしてもエラーにならず勝手に 2018/7/1 相当の情報が返却される 例 Time.new(2019,1,…

ridgepoleでDBを操作するRSpecをするとコケるときに見直す設定

そんなこともあったねと新しくセットアップしてたらおきたので備忘 環境 rails (5.2.0) 原因 差分を見てmigrationをかけてくれる機構がridgepoleと噛み合わず起こる現象。 rails_spec.rbにデフォルトで以下の記述あるのでコメントアウトしてあげる ActiveRec…

BEMとMindBEMdingの命名規則の違い

BEMを元にした考え方がMindBEMdingなんですが、地味に命名規則(というかModifireの使い方)が違うのでメモ 比較元 BEM Quick start / Methodology / BEM MindBEMding MindBEMding – getting your head ’round BEM syntax – CSS Wizardry – CSS Architecture, …

バックグラウンドで動かしているdockerコンテナを確認して止める

手順を忘れるのでメモ 環境 $ docker -v Docker version 18.03.1-ce, build 9ee9f40 やり方 1.消したいもののIDを確認する $ docker ps そうすると動いているもの一覧が出てくる $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e0598e6…

anyenvのrbenvで最新のrubyを使えるようにする

rbenvって入れてから後のrubyのバージョンに関してはrbenvをアップデートしないといけないので、そのやり方 やり方 rbenvを最新にする $ cd ~/.anyenv/envs/rbenv $ git pull origin master ruby-buildもアップデートする $ cd ./plugins/ruby-build/ $ git …

Ruby以外の言語を学んで来た人が、初めてRailsでrspecを書く前におさえておくと幸せになれるかもしれない話。

『view以外はrspecでテスト書かないとマージさせません』となって初めてrspecをかかざるをえない状況(仮)の人がいたら教えてあげたいエッセンス的な雑記 抑えておいてほしい知識 文法 大まかなグループの使い分け 純然たるrspecの機能とそうでないものの見…

Rubyで二次元以上の配列もしくはハッシュの値を取るとき、要素数などが不明確な場合、digを使うとスムーズに取れる

知ってそうで知らないシリーズメモ 環境 $ ruby -v ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin17] 例 2次元以上のHashから値を取ろうとした場合、1つ目のキー指定時に対象のものがないと2つ目以降が取れない。 # サンプル配列 ha…