Hard work by INTERNET

ベンチャーで働くひとりぼっちWEB開発者が頑張るブログ

プログラミング何もわからん

今まで何社か経験してきていて、数年もすれば大体は通るだろうPRを作れるようになる感覚が芽生えてきていんだけど、今の会社だとその感覚がいまだにない。僕はプログラミングがわからない。

継続してインターネットでアウトプットする勇気

インターネット歴の長い人が犯罪をしていないなら、アカウント変えずに発信をし続けても問題ない、みたいなスタンスで、思想を垂れ流ししている人がいるけど、あれどうなっているんだ。人からどう思われるとか、過去の発疹を調べられて、揚げ足を取られるこ…

常に高い負荷の状態で仕事をしていると死ぬ

僕が今いる会社では、勝手に強いプレッシャーを受けながら働いている。ボロを出すとすごい勢いで正論が返ってきて論破される環境だ。本当に辛い。隙を見せたら自尊心が全て吹っ飛ぶ。だから完璧なものをアウトプットしないといけない。そんな環境に僕は身を…

人生なんてものは存在しない

youtubeに、公園に設置している水飲み場から出る水で遊ぶ子供が写っている数秒の動画が上がっていて、「人生を楽しむ」と言うタイトルがつけられていた。この動画投稿者は、人生を豊かにするコミュニティを主宰している人で、人生は辛くないよ、と言うメッセ…

はーーーどうしてこうなった

2年前は東京のベンチャーに所属していた。当時は周りから吸収できることがなくなったと感じていて、ストレスのない弛んだ環境だったと判断して、今の会社に転職した。しかしだ。この会社にいる人はソフトウェアに精通しまくっていて、僕が全く役立たずになっ…

従業員から、当事者意識と自己肯定感を完全に消し去る方法

対象の従業員の成果物を全て書き直して、全て正論で論破していくのです。そうするとその人から当事者意識と肯定感は無くなります。僕がそうなりました。

360度評価を僕だけ体験した

訳あって、同僚から僕がどう思われているかを聞く機会を得た。評価内容的にはそうだろうな、という感想だったんだけど、同僚と会話するときに目を見て話すことがない気持ちになっている。例えるなら、よく行くラーメン屋で店員に認知されていることに気がつ…

ソフトウェアでの業務例外とシステム例外

「例外」という概念について調べていたので理解したことを書いてみる。 プログラミング言語には例外という仕組みがあって、コールスタックを無視して特定の場所にジャンプすることができる。いろんな場所で例外を使ってしまうとプログラムの流れを追うことが…

名前付け大全を読んだ

間違った名前のパターン (1) 名前と実装が一致していない 実装はdestroyしているのに名前はcreateしている (2) 名前の意味が狭すぎる 1のパターンが包括していますが saveという名前なのに、実装ではキャッシュの削除をしている、など (3) 名前の意味が広す…

ActiveSupport::Cacheの豆知識

はじめに ActiveSupport::Cache は、Rails.cache.read, Rails.cache.writeと書くことでフラグメントキャッシュを扱うクラスです。 さきほど、このクラスのソースコードを読んだので知見を紹介します。(rails4.2時点) Rails.cache.fetchにブロックを渡すとミ…

開発用に使うRailsのキャッシュストラテジーはどれを使ったほうがよいか

activesupportのcache.rbをサラッと読んでわかったことをまとめます。 本文 本番環境だとRedisとかmemcachedにキャッシュを載せていると思いますが、開発環境だと正直何でもいいわけです。 本番で使っているストアと揃えたほうが、地雷を踏まなくても済む可…

activeresourceで脆弱性が見つかった

activeresouceとは Railsアプリケーション間の通信をRESTで行うためのラッパーライブラリのようだ。 自分はactiveresouceを使うようなソフトウェアの開発は経験無し。 https://rubygems.org/gems/activeresource 本文 間違っているかもしれないんだけど、バ…

rubyweekly#483

rubyweekly.com Ruby 2.7 Commentary from Two Ruby Core Team Members クックパッドのフルタイムで働くrubyコミッター2人による解説記事を英訳した記事。英語の鍛錬のついで読みたい。 この英訳記事を投稿した人が CTO Cookpad Ltdらしい。CTOはパンダの人…

ActiveRecordのorderメソッドで is null を使いたい

github.com SQLのorder by句にActiveRecord経由で is null を使っていて、バージョンを6に上げたら警告が出てきた。よくわからん。 DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute a…

rubyweekly#482 Ruby2.7

rubyweekly.com 今回は先月リリースされたRuby 2.7.0特集です。 Ruby 2.7.0 Released 英語で書かれた公式サイトのリンク。 Digging Into Ruby 2.7's Changes 2.7の変更を深堀りするような記事名。公式サイトに書いていないような filter_map とかにも言及し…

railsのactivejobアダプターのAsyncAdapterって何?実装は?本番に使える?実用性は?調べてみました。

はじめに AsyncAdapterってのは、activejobアダプターの1つでオンメモリで完結するジョブキューワーカー。 config.active_job.queue_adapter = :async 「即時実行」と「指定した時間の経過後に実行」が選べる。 ミドルウェアなしで非同期ジョブを実現できて…

MySQL5.6をソースからインストールする

dockerの中で作業します。 docker run -it debian:sid bash 環境 root@c12674db7ecf:/mysql-server/bld_debug# cat /etc/debian_version 10.0 root@c12674db7ecf:/mysql-server/bld_debug# gcc --version |grep gcc gcc (Debian 9.2.1-21) 9.2.1 20191130 si…

rails6にしたらTransactionというクラスが見つからなくなったのだが。

github.com rails6にするまでは動いていたんだけど、Transactionクラスのメソッド呼び出しで undefined method がでるようになったんだけど、 Transactionクラスを持つことはrails6からは許可されていませんか?というissueというか完全なる質問。 これにつ…

etagに関するドキュメントの変更

github.com etagに関するドキュメントで誤りがあって、それを修正プルリクエスト。 fresh_when etag: @article # correct fresh_when @article # incorrect 最終的にはマージされたものの、マージした人いわく、このドキュメントを変更したところであまり変…

Rails6でadd_referenceすると `null: false` が追加されるのだが

github.com タイトルの通り、rails g migration AddColumnsToTable name user:references を実行すろと、null: falseオプションが追加される仕様に異議を唱えるissue。 この人が言っていることは2つあって null: falseつくけど、 belongs_toがオプショナルな…

パーシャルのコレクションレンダリングでnilを渡す

github.com パーシャルをレンダリングする時ってeachで回すと、N+1クエリ状態ですごく遅いんだよね。そういう時はパーシャルのレンダリングオプションにcollectionをつけることで、 レンダリングのオーバーヘッドを抑えることができる。 render 'books', as:…

number_to_currencyの出力に半角スペースではなくnbspを使ってくれ

github.com 半角スペースを含む€のような通貨だと意図しない改行が発生してしまう、という文脈みたい。 ちなみに、CSSにはスペースなどの単語の区切りで改行するようになっている。 今までは半角スペースを置換するパッチが活躍していたらしい。 HTMLEntitie…

link_toでXSS

github.com link_to の第2引数に javascript:...を渡すとそのまま発火するよ。というissue。 本文には対策のdiffも添えられている。 dofer to~ 〜に従う familiar with ~に精通

ActiveRecord#valid?はinteger型上限バリデーションを含めるべき rails/rails#37256

ActiveRecord valid? should includes ActiveModel validation for integer type column · Issue #37256 · rails/rails · GitHub validationを設定していないモデルのテーブルにint(11)型で定義したカラムにint(11)を超える値を設定すると、バリデーションエ…

Migrationが2回走る #37225

Migration running twice #37225 Migration running twice · Issue #37225 · rails/rails · GitHub 質問1 railsコマンドを実行すると2回実行してしまう。一体何が起きているんですか? (本文に再現コードあり) 回答1 This file does not have the migration …

Rails migration guide does not mention the removal of render :text #37145

github.com render :text が削除されたことがアップグレード移行ガイドにに書かれていない、という指摘のissueだ。 本文 render :text was removed in 5.1 but it is not mentioned in the upgrading guide for 5.1. render :textが5.1から削除されたが、ア…

ActiveRecord::Base#dup が動的属性を含めてくれない(does not include dynamic attributes) #34823

github.com 本文 rails4.2.xでは、 lib/active_record/core.rb#initialize_dup が正しく複製してくれるけれども、rails5.2ではpullするだけ MyModel._default_attributes によって、すでに複製したものを削除する。 Yes this still occurs on 5-2-stable. I'…

railsのアンダースコアに変換するメソッドの戻り値がおかしいんけど

github.com String inflection method underscore giving wrong output #37163 質問 アンダースコアライズする文字列変換文字列のアウトプットがおかしいんだが? Open up rails console and type - "ActLikeStar".underscore gives you 'act_like_star' whi…

検索条件が空を返す時にどうしてSQLを発行してんの?

Why do it need to execute SQL when ActiveRecord query conditions is empty array? · Issue #35307 · rails/rails · GitHub User.where(id: []) というコードを実行すると SELECT COUNT(*) FROM users WHERE 1=0という空を返却するSQLを発行している。必…

Remove unnecessary check.

github.com issue 本文 railsアプリケーションは、デフォルトでapplictionオブジェクトをセットしている。 だから不要なチェックは削除する。 def root - application && application.config.root + application.config.root end 返信 Not everything that h…