コード日進月歩

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

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

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を買ったり、いろいろ休息にあてたのでおやすみ

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

LTとかしてみたいけどできないアレ

昨日の投稿がパワーを使いまくったのと連休中日ということもあり、今日は雑記です。 どっかでLTとか発表とかしたいなーと思いつつもできてないのが私の身の上でして、自己分析すると主に3つぐらいありまして… 基本的に便利屋稼業が多くて、一つの技術どっぷ…

『Rails Developers Meetup 2018 Day 3 Extreme』に行ってきたよメモ

Rails Developers Meetup 2018 Day 3 Extreme]に行ってきたので見たセッションに関してのメモ。メッチャ多いのでひとつひとつの感想に雑味があるのは許してほしい…。 各発表の感想 ※資料スライドは見つけたら貼ります。 曖昧さを受け入れて開発をしていく方…

時刻を文字列からParseするときはTime.zone.parseが一番オススメ

ローカルマシンでは露見せず、アップすると露見する系なので、思わぬ事故を防ぐために。 環境 rails (5.2.0) 何故オススメなのか 原理としては Time.zone.now と同じなのですが、 Time.parse を使うとRailsに設定されているタイムゾーンは配慮されないので、…

負荷試験をやりたいけどやれてないという思い

実はソフトウェアエンジニア歴約8年ですが、まっとうな負荷試験というのを経験したことがない。 というのも、サーバーサイドエンジニアマンやってた時間よりもネイティブアプリとかフロントアプリとか書いていた時間が長かったりするのと… 自社サービスばか…

MySQL5.7のTEXT型とBLOB型にはデフォルト値を設定できない

基本的にはdefaultを設定したい衝動に駆られるができないというただのメモ 環境 $ mysql --version mysql Ver 14.14 Distrib 5.7.17, for osx10.12 (x86_64) using EditLine wrapper どういうことか 何故かぐらいは調べようと思ったのだが短い時間では特段そ…

Railsのrequest.domainはデフォルトの場合、セカンドレベルドメイン相当まで

domainって書かれているのでサブドメインもまるっとひっくるめてもってくるのかと思いきやそうではなかったのでメモ 環境 rails (5.2.0) actionpack (= 5.2.0) 実装 request.domainを深掘りすると以下のコードに突き当たる # /actionpack-5.2.0/lib/action_d…

シンプルにするということ

こんなツイートがあった A high goal of software engineering is to remove the need for features. It's a vital part of designing for simplicity, even invisibility. Evan Martin talks about it here: https://t.co/TqIrFHRqve— Rob Pike (@rob_pike)…

フルスタックと枯れた知識の水平思考

ただの日記です。 忙殺されていた仕事も落ち着きの様相を見せ、そろそろRuby以外のカテゴリのこともちゃんと取り組んで行きたいなと思いながら身体を通常生活に戻すことにパワーを割いてしまっている日々です。(なのでちょっと更新時間の次元が歪んでいます…

リダイレクト時のHTTPステータスコードの使い分けの昨今

ただしく使うべきコードとは何が良いのかという話 結論 「恒久的なリダイレクト」は301 「一時的なリダイレクト」は302 というのがベターの様子 それぞれのリダイレクトの選択の意味 特段、どれがいいとか悪いとかはあまりない。一番懸念されるのは各種検索…

Rails で has_one の関係を作るとレコードの状態も has_oneを維持しようとする

has_oneにするとちゃんと維持しようとするんだと関心したのでメモ 環境 rails (5.1.6) 例 以下のようなモデルがあるとする # == Schema Information # # Table name: users # # id :bigint(8) not null, primary key # name :string(255) default(""), not n…

Modelを使った実装でカラム名を探すのに困ることが減るgem、annotate

表現モデルによってはどうしても長いカラム名を付けてしまったり、普段使い慣れないtypoしやすい英単語名をつけることがあると思います。 その際に手助けになるのがgem annotate です。 環境 rails (5.1.6) annotate (2.7.4) どういうものか Modelのクラスに…

Rubyのデバッグは p よりも pp のほうが見やすい

最近PHP触ってて、そういやvar_dumpみたいなものって何に当たるんだろう… とかググっていたら、存在そのものを最近まで知らなかったのでお茶濁し系メモ 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] 例 hash = { "key1" => "…

タイムオーバーにつき今後書きたいネタリスト雑記

寝るまでに記事が書ける気がしないので今後書くかもしれないネタシリーズ 実録AmazonSNSによるPush通知の罠 広告系の略語のひみつ ぴーぶい?ゆーゆー?計測ってどうやるの!? リーダブルビーコード 割と一番上はなう実装中かつそのせいで寝れない夜になり…