valid,invalid

関心を持てる事柄について

2018-01-01から1年間の記事一覧

技術的負債を抱えながら突っ走る -日々15分の改善活動-

開発しているシステムが大規模かつ老朽化しかけていることもあり、最近は負債の返却を念頭に置いて普段の開発をしている。 前提として、個人的には負債を返す頻度は多いほど良い*1と考えている。 この立場に立つときに生まれる問い、「では、日々の開発のス…

package.json の dependencies を JavaScript のコード内で参照する

package.json に書かれた、依存しているライブラリの名前 (dependencies) を JavaScript のコード内で参照するやり方。 import pkg from './package.json'; const dependencies = Object.keys(pkg.dependencies) const devDependencies = Object.keys(pkg.de…

brew cleanup でディスクの空き容量を増やす

brew は古くなった formula を自動的に消してくれないので、使い続けるほどにインストールしたパッケージが積もってディスクを圧迫する。 FAQ — Homebrew Documentation に書いてある brew cleanup を試したら 4GB ほどの空き領域を得られた。 How to use br…

スプレッド構文と Object.assign の違い

JavaScript の Object の spread operator (スプレッド構文) と Object.assign の違いを調べてわかった気になるが何度も忘れるので整理 結論 実質ほぼ同じことが実現できるが互換性の問題があるので Babel や TypeScript でトランスパイルするなら spread op…

React で SVG を描画するための use タグでは xlinkHref を使う

React で use tag 使うときの躓き 結論 sprite - SVG use tag and ReactJS - Stack Overflow にある通り xlinkHref を使うとよい。 <svg> <use xlinkHref="#my-logo" /> </svg> 古いバージョンでは dangerouslySetInnerHTML を使うしか回避策が無かったようだが、今ではこの方法は避けたほうが良い。…

JavaScript が動作する Capybara の feature spec でブラウザのコンソールを確認する

結論 page.driver.browser.manage.logs.get(:browser) 調べた経緯 フォームの text input に対する fill が働かないのでどうしたかと思い、Selenium で操作中のブラウザをのぞいてみると React の component が一切 render されていなかった。 どこかで Java…

休日の成果を手放しに称賛しない

土日祝日などの勤務時間外にがんばって出した成果を「やっていき」「圧倒的当事者意識」などと手放しに称賛しない方が良いと思っている。 「いやー土日にがんばるなんてスゴイっすね〜〜〜」と褒められて気分良くなったりするんだけど往々にしてそもそも実現…

PhantomJS + Poltergeist を Selenium + Headless Chrome で置き換える (2) Teaspoon による JavaScript test 編

PhantomJS + Poltergeist を Selenium + Headless Chrome で置き換える (1) Rails + Capybara による feature spec 編 - valid,invalid の続き。 teaspoon.env の変更内容について Capybara + Selenium + headless Chrome の設定例はググると結構出てくるも…

PhantomJS + Poltergeist を Selenium + Headless Chrome で置き換える (1) Rails + Capybara による feature spec 編

レガシーに半身浴しているような、ふだんなかなか触らないけれど現役のレポジトリに潜んでいた亡霊を退治!!! Poltergeist + PhantomJS を消し去り、 Selenium + Headless Chromium に置き換えた。 このレポジトリは Rails による API バックエンドと SPA フ…

Chrome Music Lab の Song Maker で遊ぶ

Chrome Music Lab 触るだけでめちゃ面白いし、成果物をかんたんにシェアできる仕組みも web って感じで最高 ゲーム音楽っぽいの作ってみた 森 https://goo.gl/EE7HFH 村 https://goo.gl/R4NHHL 洞窟 https://goo.gl/CpWJNk

Bootstrap3 要素の順番をレスポンシブに入れ替える

Bootstrap3 のグリッドシステムでは pull / push という要素を押し込む/引っ張るためのクラスが使える。これを使うことでレスポンシブに要素の順番を入れ替えることができる。 押し込む/引っ張ると言ってもわかりづらいので実例を見たい。 要素を入れ替える…

TreasureData (Presto) で複数行をまとめて1行に集約

Oracle の LISTAGG, MySQL の GROUP_CONCAT みたいなことを TreasureData (Presto) でやりたい。 答え array_join と array_agg を組み合わせることで実現できる。 6.15. Array Functions and Operators — Presto 0.195 Documentation 例 employee : departm…

YAMLのAnchorとAliasを使ってconfigをDRYに書く

あらすじ ふだん無意識に読み飛ばしているが使おうと思ったときに出てこなかった YAML の anchor と alias を使うと色々 DRY に書ける DRYに書いた Anchor/Alias YAML では &name (Anchor) で名前をつけて *name (Alias) で参照することができる*1。 Example…

社員は「会社のために」「いつまでも」働くという欺瞞を葬る本『ALLIANCE 人と企業が信頼で結ばれる新しい雇用』

同僚から「"退職"に関する本ですよ…(暗黒微笑)」とスッと渡された本、『ALLIANCE 人と企業が信頼で結ばれる新しい雇用』を読んだ。 ALLIANCE アライアンス作者: リード・ホフマン,ベン・カスノーカ,クリス・イェ出版社/メーカー: ダイヤモンド社発…

Bower は deprecated なので Yarn へ移行した

一度もまともに使ったことなかったけど bower って死んでたんだね…。正確にいうと "maintained, but deprecated" か。 github.com snyk.io 自分には関係ない話かと思っていた…が、普段まったく触らないがひっそりと稼働を続けるレポジトリに2014年来の bower…

OSSに貢献してお金を得る

OSSに貢献して¥6,000ぐらい貰えたのでその話をする。OSSがお金になった話 · Dとはちょっと違う。 contribution に対する tip として 0.00357757 BTC (≒ ¥6,000) 貰った— 広島の粗大ゴミ (@ohbarye) 2018年1月14日 tip4commit Tip4Commit — Kontribusi ke O…

『高い城の男』

高い城の男作者: フィリップ・K・ディック出版社/メーカー: 早川書房発売日: 2012/11/30メディア: Kindle版この商品を含むブログ (13件) を見る もしドイツと日本が戦争に勝っていたら世界はこうなっていただろうか…という思考実験、平行世界もの。序盤を読…

『僕がアップルで学んだこと 環境を整えれば人が変わる、組織が変わる』

僕がアップルで学んだこと 環境を整えれば人が変わる、組織が変わる (アスキー新書)作者: 松井博出版社/メーカー: KADOKAWA / アスキー・メディアワークス発売日: 2012/10/24メディア: Kindle版購入: 1人 クリック: 3回この商品を含むブログ (3件) を見る 一…

2017年の振り返り -意志とエゴ-

2016年の振り返り -罪と罰- - valid,invalid 2017年の目標 -1年の目標を立てるのをやめる- - valid,invalidに書いたように、2017年は通年の目標を持つのを止めてみた。代わりに各月に何かしらに注力するという制約を付け、以下の活動に取り組んだ。月数が合…