コード日進月歩

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

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で実現する

Fradayで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}} {{ファイルパス}} という使い方…

RailsにてJSONでPOSTリクエストされた場合に、ハッシュではなくJSONそのものを扱いたい時

受け取ったJSONをそのまま別のところに受け流す、みたいな処理の時に取る手法に関してググってもストレートヒットしなかったのでメモ。 環境 rails (5.2.0) 経緯 こんなJSONをPOSTで受け取るエンドポイントがあった場合 { "title": "タイトル", "body": "こ…

1日1記事宣言から3ヶ月経った

今日の分は書いたので本当に雑記 5月のはじめに 1日1記事書こうという宣言 - コード日進月歩 という記事を書いて、だいたいITやら開発に関する記事を約1日1記事のペースを保っている。 「約」ってなんで言っているかというと… たまに、どうでもいい感じの日…

rubyで乱数使うときはrand()よりもRandomを使った乱数生成のほうがわかりやすい

Rubyには古くから乱数生成に rand() があるが、Ruby1.9.3以降の場合は Random クラスのほうが自明な部分多いなと思ったのでメモがてら 環境情報 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] 書きやすさポイント 乱数値のSeed設定…

『Drecom Tech Espresso #6 "おなかソフトのDontDestroyOnLoad"』に行ってきたよメモ

Unity系の勉強会行きたいな、と思っていたら伊藤さんが面白そうなテーマで勉強会をやるとのことだったので、Drecom Tech Espresso #6 "おなかソフトのDontDestroyOnLoad" に行ってきました。 今回の勉強会はテーマごとにフリートークの形式だったのでトーク…

びっくりするぐらい寝違えたので1回休み

寝違えのような現象に苛まれ全然もの書ける状態じゃなかったので1回休み

AmazonSNSでGCM向けとAPNs向けのJSON作るときは格別要素を削ってあげる必要はない

スマホネイティブアプリ向けPush通知をAmazonSNSで送ることってあると思うんですが、AndroidとiOSで別々にJSON送らなくてもいいんだよというTips 解説 AmazonSNSでメッセージを送信する時にJSONの形式は以下の感じです ▼GCMへ送る場合 { "default": "送りた…

ActiveStorageでS3を使う場合、storage.ymlの認証情報は必須項目ではない

だいたいのチュートリアル読むと、アクセスキーとシークレットキーを設定しようと書かれているが、EC2の権限設定でカバーしたい場合は未指定でも問題ないんだよっていうメモ 環境 rails (5.2.0) 説明 S3などの設定をする config/storage.yml の雛形にはこん…

フルスタックは専門性を求め、専業エンジニアは広い知識を求める

雑記です。 たまに単純作業になると技術系ポッドキャストを聞きながら作業するんですが、以下のものを聞いてました。 podtail.com きりみんさんもこにふぁーさんも実はすごい昔から一方的にウォッチしているというか、いろいろな話ですごいなぁと思っている…

Railsと関係ないところでActiveStorageのURLを生成する

POROとか作ってると、Rails関係のクラスを継承していないとか往々に起きるんですが、そういうところで引数にホストとか指定せずにURL作りたいなーということがあったのでメモ。 環境 rails (5.2.0) やり方 全部を引数指定するpolymorphic_url Rails.applicat…

人のレビューしてたら自分の作業ができず、1回休み

表題の通り。 コードレビュー、設計レビューって難しくて 「良い」と思って実装しているので、レビュアーが良くない!って思った場合反発を受けるところから始まる 上にいる立場というのを使って圧力で収めることもできるが、往々にしてそれはレビュイーのた…

ActiveRecordのpluckはカラム絞り込みを行う

タイトルが全ての雑記レベルのメモですが、意外と知られていないっぽいので書いてみる。 環境 rails (5.2.0) 例 こんなモデルがあったときに # == Schema Information # # Table name: users # # id :bigint(8) not null, primary key # name :string(255) #…

積本が増えまくっているので読んでまとめるなどしたい

雑記です。 表題の通り、IT系含めて積本が増えている。 もともと読書が得意な方ではない(活字を読んでいると自動的に睡魔が襲ってくる体質)なので、読めてない具合に拍車をかけている。 そのため、このブログでちびちび読んだまとめを書いていこうかなと思…

Railsのenumの要素名で気をつけたいところ

他の言語のenumと違って、モデル名.enum要素名 という作りになってしまうが故のつらいポイントを書いてみた。 環境 rails (5.2.0) 要素名で気をつけたいところ 端的な名前 enumの要素名は 要素名? が作られてしまう。それが故に安易な名前付けは機能としてぼ…

テストコードwithボーイスカウトルール

ただの雑記です。 さまざまな人の手を渡ってきたRubyOnRailsのコードを回収するのが近々ありそうな業務でそこに対していろいろと思いを馳せる事が増えてきた。 現状で一番つらいのはテストコードがないため容易に変更ができないのと、正しい仕様がわからない…

Macを使いながら英単語の発音に疑問を覚えたらsayコマンドが便利

ググって英語辞典サイトに付属の音声再生機能を使ってましたが、それよりも簡単な方法を実践している人がいたのでメモ 使い方 chomp の 正しい発音を知りたい場合、以下をターミナルで打つ $ say -v Alex "chomp" 参考リンク Macのsayコマンドの使い方 - Qii…

定数を定義をする意味を考える

結構無意識に定数を利用しているが、どういう場面で使われるものなのかというのをちゃんと書き出してみる。 定数を用いるケース 1.マジックナンバーの置き換え マジックナンバー(意味や意図が記述した本人以外には自明ではないもの)が発生した場合、それを…

ActiveStorageでフォーム経由ではなくファイルシステム上のものをattachする

ググると出てくるのはフォームでの利用事例ばかりでふと実githubのReadmeを見たら書いてあったので、日本語情報がてらメモ 環境 rails (5.2.0) activestorage (5.2.0) やり方 大前提の内容はRailsガイドに書いてあるとおり、テーブルを作って、has_one_attac…

OculusGOを買ったり、いろいろ休息にあてたのでおやすみ

いろいろ検証とかしたかったんですが、暑さとゆったりしたい欲に負けたのでおやすみです。