コード日進月歩

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

Tips

クエリストリングで配列を表現をするケースをざっと調べる

これどこだと通用するの?と思ったので軽く調べる TL;DR PHPが言語デフォルトで相互変換でき、Railsだとそれに親しいことができる機能がある。 対象とする表記 下記のようなクエリストリング http://example.com/home?values%5B0%5D=zero&values%5B1%5D=one&…

Faradayで普通のフォームのようなPOSTする

すげー当たり前だけど、Faradayがらみは application/json の事例しかないので改めて書いてみる 環境 faraday (0.15.4) 考え方 POST リクエストは、ふつう HTML フォームを介して送信され、サーバーに変化をもたらします。この場合、 <form> 要素の enctype 属性も</form>…

郵便番号は必ず1つの住所文字列が導き出せるわけではない

知っておくと実装時に困らないトリビア 調べ元 郵便番号検索 - 日本郵便 例 1つだけの例 普通のケース、たとえば 263-0013 は 千葉県千葉市中央区中央 のみ 複数の例 321-0951 の場合 栃木県宇都宮市越戸 栃木県宇都宮市越戸町 という2つのケースがある 他に…

Railsにおける数値のto_sバリエーションをざっとまとめる

いろいろあるけど項目ごとにざっと見れるやつってあまりないので書いてみる 環境 $ bin/rails -v Rails 5.2.2.1 種類 電話番号 1234567890.to_s(:phone) #=> "123-456-7890" (当たり前だけど)0始まりは数値だと許容しないからできない 0123456789.to_s(:phon…

bashで乱数を使いたいときは$RANDOMという変数が用意されていいる

表題ですべてを言い切るシリーズ 環境 $ bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18) Copyright (C) 2007 Free Software Foundation, Inc. 使い方 $ echo $RANDOM 10931 他のシェル zsh 同じ名前で存在する % zsh --versio…

RailsでCrossOriginの設定をする場合は rack-cors のgemを入れればすぐ終わる

APIモードで作らなかったので、異なるドメインからアクセスされるAPIをやるために Access-Control-Allow-Origin とか設定せねば…とか思ったらすんなりできたのでメモ 環境 $ bin/rails --version Rails 5.2.2.1 使うgem cyu/rack-cors: Rack Middleware for …

UTF-8の令和に関して経済産業省からの周知情報がある

年号変わって一発目なのでトリビア 元ネタ 新元号名で使用する文字コードについて(周知)(平成31年4月5日経済産業省事務連絡) 合字は「U+32FF」 ㍻とは連番ではない。(㍻はU+337B) 令の字は2種類存在するが「U+4EE4」 何故2つあるのか 理由に関して…

Rubyにおける%記法と%iと%wの挙動

よくRubocopに直された状態になり、あれ、これ何と同じなんだっけ?ってなるのでメモ %(パーセント)記法 %を使う記法はリファレンスにも%記法として紹介されている。 リテラル (Ruby 2.6.0) - %記法 %wと%W 小文字のダブリューで始まるとシンボルとして生成…

Excelやスプレッドシートで稼働日を出すのはWORKDAY関数が便利

ガントチャート職人になりかけているのでそのメモ 関数 =WORKDAY( 開始日 , 稼働させたい日数 , 祝日リストの範囲指定) 開始日から稼働日分後の日付を算出する。土日、および祝日リストで指定した日付はカウント対象としない 便利ポイント 土日と指定の日を…

AWSのEC2にて自身のインスタンスの情報を知りたい場合は169.254.169.254をcurlすると情報がとれる

便利だよということでメモ エンドポイント http://169.254.169.254/latest/meta-data/ 使えるもの ami-id ami-launch-index ami-manifest-path block-device-mapping/ events/ hostname iam/ instance-action instance-id instance-type local-hostname loca…

Githubで指定したタグの間のPullRequestの情報を抽出する

やり方どうだったっけかみたいな時のメモ やりたいこと タグとタグの間で何のPullRequestがMergeされたものを知りたい やりかた 対象のgitのディレクトリに移動して以下のコマンドを実施 $ git checkout master $ git pull --tags # 今回は tag20171001とtag…

GitHubのSecret GistはURLを知っていれば誰でも見れる

あ、そうなの!?系メモ。 SecretGistの挙動 当該ユーザのGistのTOPからは見れない URLが知っていると誰でも読める(GitHubログインしてなくてもOK) 注意しないといけないこと URLがわかれば誰でも見れるのでソーシャルブックマークの類で漏れると同仕様も…

faviconの仕様はHTML5から標準化されている

なんか仕様がブラウザによって違うけどどうなんでしたっけ、というメモ。 faviconの生い立ち faviconのはじまりは、ウェブブラウザであるMicrosoft Internet Explorer 5によってはじめて搭載された独自の(非HTML標準の)機能であった。ユーザーが任意のウェ…

多人数で電話会議/ビデオチャットをやるときに心がけていること

普段からやっていることを文章化してみる 心がけたいこと 報告の類を終えるときは「以上です。」と言う ネットワークの不調などで音声が飛ぶことがある、そのため言葉をいいかけて終わったのか言い切ったのが判断つかないときがある。 それを回避するために…

黒いひし形にはてなマークが出る文字(�)はUTF-8変換時のときに変換後の対象がない置き換え文字

� という文字があるがクエスチョンマークだし、ググりにくいしはで、実際コレはなんなんだというメモ � とは ブラウザによっては見えない可能性があるので以下の画像のような文字 ※Specials (Unicode block) - Wikipedia) より引用 これは代替文字(REPLACEM…

Slackの /remind の文言は複数行で記述する方法がある

あんまり書かれていないのでメモ的な 基本文法 /remind {{対象}} {{文言}} {{時間設定}} /remind me 10秒後に教えて in 10 seconds 書き方 ダブルコーテーションすればいい そうするとこのように出力される 参考リンク リマインダーを設定する – Slack

Slackでランダムに返事するだけのBotだったら簡単に作れる

めっちゃ簡単だったのでお茶濁しメモ(令和ネタもエイプリルフールもない平常運用です。) やりかた ワークスペースのカスタマイズから選択ができる 改行するといずれかの行をしゃべる 謎の仕様 !や。など記号は無視される、ので反応してしまう 参考リンク …

MacOSのExcelは図形の範囲複数選択(オブジェクト選択)が無い、がフェンリルさんが似た機能のマクロを配布している

タイトル出落ちメモ記事 今回対象のExcel 無い機能 図形の複数選択、Windows版のアイコンは下記のようなやつ Excel200x系から奥まった位置に動いたりと何かと見失いがちな彼なのですが、シーケンス図とかをExcelで用意されたりすると改変するときに欲しくな…

記述箇所を愚直にgrepする方法

ただの使いたくなったとき用のメモです。 環境 $ echo $SHELL /bin/bash $ /bin/bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18) Copyright (C) 2007 Free Software Foundation, Inc. 記述されている数を探す $ grep -r {{探し…

ActiveRecordで保存前の値を取りたいときはカラム名_before_last_saveというものがある

ActiveRecordのDirty系小ネタ 環境 $ bin/rails -v Rails 5.2.2 使い方例 今回はUserにnameというカラムがあるという形の例で説明 ActiveRecordでオブジェクトを作る、この時点ではsaveされてないのでnil。 u = User.new(name:"Taro") #=> #<User id: nil, name: "Taro", created_at: nil, updated_at: nil> u.name # => "Ta</user>…

RubocopのBundler/OrderedGemsは空行やコメント行があると反応しなくなる

rubocopってgemの順番にイチイチつっこんできますよね…みたいな記憶だけがあって実際には言われないな…みたいな話で気づいたメモ、原理までは追えなかったのでとりあえず。 前提 Bundler/OrderedGems が default で enable なので反応する 当該コード:ruboc…

rubyでpng画像をBASE64化してHTMLに貼り付ける

話には聞いていたがやったことないのでやってみる。 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] やり方 png画像をBASE64に変換する こんな感じで対象画像をtarget.pngという名前で配置 $ tree . ├── convert.rb └── target…

SlackにGithubを設定するときのコマンド

だいたいいつもやり方を忘れるのでチートシート やり方 GitHubのプラグインを入れる 下部のAppから GitHubを選択して インストール 対象のリポジトリを選択する 仮に shinkufencer/moshi2police を対象にしたい場合は /github subscribe shinkufencer/moshi2…

Googleには重厚な「評価ガイドライン」がある

Googleの検索品質には綿密なガイドラインがある。という紹介だけ。 リンク元 https://twitter.com/searchliaison/status/1050447190320009219 どんな内容なのか 大きく3つのパートに別れ、さらにブレイクダウンしている Part 1: Page Quality Rating Guideli…

Railsの複数形、単数形のルールを知りたい場合はrails/activesupport/lib/active_support/inflections.rb を見ると良い

Modelは複数形に、みたいな情報のベース定義。 環境 $ bin/rails -v Rails 5.2.2 前提 Railsの単数形、複数形、例外は登録することができる。 inflect.pluralは複数形への変換を定義 inflect.singularは単数形への変換を定義 inflect.irregularは単数形と複…

GithubのIssueの編集は履歴に残るし、diffも見れる

めっちゃ便利やんということで一口メモ Issueに下記のようなに「edited」で履歴が展開される 履歴のうちのアイテムを1つタップするとdiffが表示される。すごい。 チェックボックス系のdiffも残るので、なんかチェックリストをIssueにしてチェックの履歴を見…

RubyのStringリテラルのfrozenはプラス演算子で解除できる

あ、こんな書き方あるんだっていうメモ 出典 instance method String#+@ (Ruby 2.6.0) 実例 freze_text = "hubuki" #=> "hubuki" # freezeで凍結 freze_text.freeze #=> "hubuki" # 代入しようとするとエラー freze_text << "a" RuntimeError: can't modify …

Rubyのbetween?は大なり小なりをしているだけなのでいろいろ比較できる

ActiveSupportの拡張かと思ったらRubyの実装で、原理を知らなかったのでメモ 環境 $ ruby -v ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18] 出典 比較演算子 <=> をもとに self が min と max の範囲内(min, max を含みます)にあるかを判断…

GithubProjectのMemoは簡単にIssue化できる

意外と知名度が低い機能だったの日曜的なTips やり方 こうやって作ったメモがあったときに、「Convert to Issue」という項目がある 押すと本文を入れることができるので入れる そうするとその内容でIssue化される 当たり前だがちゃんとProjectに紐付いた形で…

GithubProjectのAutomationは後付でもできる

プリセットでできあがってしまうので仕組みがわからなかったりすることが多いですが実はできるという話 設定方法 各レーンの設定に「manage automation」とあるのでそこから開く そうするとこんな感じで設定用のUIをプルダウンで選べる。 種類 それぞれ「Tod…