an odd fellow

仕事のメモ

Prettierとstandardを併用する

背景 今のプロダクトにlinterを入れたかった。今までは雑にググってヒットしたPrettierのみ使っていた。 Linterも入れたほうがいいらしい PrettierはFormatterであってLinterではない。だからPrettierはコードの「この部分が良くないよ!」とは教えてくれず…

関数の引数にスプレッド構文を使った場合

背景 React書いていると以下のような...propsのような記述がたまに見られるが、どういう振る舞いになるのか少し混乱したから整理する。 const DeleteButton = ({className, ...props}) => ( <span className={[style.root, className].join(' ')} {...props}> <TrashCanIcon /> <Baloon>削除する</Baloon> </span> ); スプレッド構文 ドットを3つつなげたこれはスプレ…

storybookに階層構造を追加する

背景 デフォルトでは1階層しかパスが切れない。 例えばAtomsのButton、MoleculesのFormがあったとして、理想的には以下のように整理したい。 Atoms Button with text with some emoji Molecules Form ContactForm MailAddressForm しかしデフォルトでは以下…

formikを使ってみる

前提 $ node --version v.9.11.1 React, ReduxでSPAを作っている。 背景 connectで渡されたpropsをComponentで加工してFormを作っている場合、Formを触って変更された値をStoreまで持っていっても、その値はあくまでもFormのみで有効な値であるから、Storeに…

prettierがいい感じ

背景 WebStormのフォーマッターがいけてない。例えば import React from 'react' としたら import React from 'react'; とセミコロン付けて欲しいが付けてくれない。 ほかにもダブルクオーテーションとクォーテーションを統一してくれない、とか、細かい不満…

JavascriptのExportについて

前提 $ node --version v.9.11.1 背景 import React from 'react'; import {render} from 'react-dom'; 前者のように{}無しで書く場合と後者のように{}有りで書く場合があって、よくわからなかったから調べる。 名前付きエクスポートとデフォルトエクスポー…

dockerの-vオプション

なんかいつも忘れるからメモ 書き方 docker -v ホストのディレクトリ:コンテナのディレクトリ image名 ホストのディレクトリは絶対パスで記述する。 カレントディレクトリをマウントしたいとき docker -v $(pwd):/path/to/directory image 覚え方 前と後ろの…

TAMRON 28-75mm F/2.8 Di III RXD

おれのα7にはオートフォーカスするレンズが着いたことが一度もない。初代α7が発売されてすぐに買ったから、もう4年間も使っていることになるが、全てフルマニュアルで撮ってきた。カメラマンだったらしい祖父の遺した古いNikkorとCanon FDレンズだけがレンズ…

信州大学工学部生に行って欲しい飲食店リスト(千石劇場周辺編)

ハイ、ドーモー!バーチャル長野県民のろにゃです!今日は信州大学工学部に在学する後輩たちに!長野市街地で行って欲しい飲食店を紹介します! というわけで、僭越ながら何店舗か紹介をしたい。 おれの長野市街地うまい店リスト文章にして公開しとくか— ろにゃ (@…

「Ruby on Rails 5アプリケーションプログラミング」の環境をdocker-composeで作る。

背景 仕事でrailsを使うことになったがきちんと触ったことが無かったのでGWに試してみることにした。 railsの入門書はこれが良いらしいので買った。書籍ではローカルに環境を構築しているが、dockerを使ったほうが良いだろう。 Ruby on Rails 5アプリケーシ…

リズと青い鳥

liz-bluebird.com 日曜日に見てきたところたいへんな出来栄えだったのでぜひ見ていただきたい。そう思ったので見どころを言語化したい。 「ずっとずっと、一緒だと思っていた」と公式ページにあるように「ずっと一緒には居られないよね」をこの2人が知る話で…

きのこ先生

今年の新卒の研修に参加できることになり、twadaさんのエンジニア心構えの講演を聞けた。感想とメモを置いておく。 感想 twada先生の話で何度も強調されたのは「可処分時間が減るから効率的に学びなさい」ということだった。認めなければならないと思った。…

oracleで今日の日付を取得したり、関数をちょっと試したりする

背景 最近oracleを叩いている。今日の日付を取得する関数が知りたかったので調べた。 結論 select to_char(sysdate, 'yyyy/mm/dd') from dual で今日の日付が取得できる。to_charの第二引数にフォーマット文字列を渡す。 from dual のdualはダミーテーブルら…

locustのNUM_CLIENTSとHATCH_RATEについて

背景 GAEで作ったAPIサーバーを本番反映するに当たり必要なリクエスト数さばけるのかを確認する必要があった。先輩社員がlocustを使っていたので自分もlocustを使ったが、NUM_CLIENTSとHATCH_RATEの挙動が分からな過ぎた。NUM_CLIENTSとHATCH_RATEの関係が分…

docker multi stage buildを試す

背景 reviewdogのDockerfileについて先輩社員にレビューもらうと、dockerのmulti stage build使うと幸せになれるよと教えてもらった。 レビューをもらったDockerfileは以下。pythonのdockerイメージにgoをインストールしてからgo getでreviewdogを入れている…

IntelliJでproject painとかをショートカットでリサイズする

背景 IntelliJと書いたがPyCharmもRubyMineでも同様。 Command+1でプロジェクトペインが開けるが、windowをガチャガチャリサイズしたあとだとプロジェクトペインのサイズが以上にデカかったり小さかったりする。マウスでサイズ調整してたが、キーバインド割…

docker runでローカルのgoファイルを実行する

背景 RealWorldHTTPを読み始めた。goでサンプルのHTTPサーバを立ててcurlで色々オプションを付けてリクエストを試しながら挙動を確認していくようだった。 それで、サンプルのHTTPサーバーを書いたんだけど、dockerで実行したくて以下のようにした。 $ docke…

drone.ioでdocker run -vしてハマった

背景 drone.ioでreviewdogを使いたくてこんな感じで書いた。 Dockerfile.reviewdog FROM python:3.6 USER root ENV HOME /root ARG WORK_DIR WORKDIR ${WORK_DIR} ENV APP_ROOT ${WORK_DIR} # install Golang ARG GO_VERSION=1.8.3 RUN mkdir /tmp/go && \ c…

GCPでprojectをまたいだ権限の設定方法

背景 読み飛ばしてOK。自分用メモ。 AppEngineからBigTableを読み込みたかったが、BigTableはprdにあり、AppEngineはdev,stg,prdに立ち上げる予定で、devのAppEngineからprdのBigTableを読み込むとい うprojectを跨いでアクセスする必要があったが、やり方が…

今年読んだ本

2014年 →2014年消費したおはなしたちまとめ - an odd fellow 2015年 → 今年読んだ本 - an odd fellow 2016年 → 今年読んだ本 - an odd fellow 毎年書いてるので今年も書く。 ろにゃさんの読んだ本 - 読書メーター 今年読書メーターに登録した冊数は20冊ぴっ…

サムライズムの IntelliJ ハンズオンに行きました #jbugj

普段は Spacemacs を使っているんですが、学生のときからバイト先では PyCharm や PHPStorm を使ってはいました。いましたが、Shift を 2 回叩くと出て来る何でも検索機能程度しか使っていませんでした。 4月から就職したんですが、就職先が All Products Pa…

terraform init が s3 の認証情報が違うと言ってコケるとき

備忘録 問題 terraform init で -backend-config を指定すると以下のように怒られた。 $ terraform init -backend-config="key=prd/gcp-terraform.tfstate" Initializing the backend... Error configuring the backend "s3": No valid credential sources f…

おまえのすべてが燃え上がる

おまえのすべてが燃え上がる (新潮文庫nex) 作者: 竹宮ゆゆこ 出版社/メーカー: 新潮社 発売日: 2017/05/27 メディア: 文庫 この商品を含むブログ (2件) を見る 竹宮ゆゆこ先生の新刊、良かった。 取り返しの付かなさが良い。最初から取り返しの付かないとこ…

男の着エロ画像をランダムで表示する slack bot を Python で作る

https://github.com/roronya/skinybotgithub.com 大学に六年も通って出来るようになったことが此のようなくだらんことでは、君のお母さんは泣いているぞ。 以下を見たら1時間で作れた。 PythonでSlackbotを作る(1) – ビットログ このライブラリが強かった。s…

今年読んだ本

今年読んだ本 - an odd fellow 2014年消費したおはなしたちまとめ - an odd fellow 三年前から一月一冊をノルマに読書している。今年は達成した。ラノベも含むけど 19 冊読みました。 ろにゃさんの読んだ本 - 読書メーター 今年は旅行前の予習としてその土地…

jupyter に themes を適用する

最近眼精疲労がヤバイのは jupyter notebook の背景が白いせいだと思ったので themes を設定した— ろにゃ (@roronya) 2016年12月3日 jupyter に themes を簡単に設定することができる jupyter-themes を紹介する。また、jupyter-vim-binding と併用する際の…

【逐次更新】SQL でよくやる処理を pandas でやるときのメモ

github にまとめた github.com

【Symfony2】DoctrineFixturesBundle で作ったフィクスチャを phpunit から呼びたいとき

機能テストをするときにテストデータを DoctrineFixturesBunle で作った LoadHogeData クラスを使いたいとき LoadHogeDataクラスが ContainerAwareInterface を実装しているときどうするか LoadHogeData が外部キー制約で怒られるときはどうするか について…

doctrine:fixtures:load で外部キー制約で怒られるとき

[Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException] このエラーが出る。 結構調べたんだけど、結局データベースごと作りなおすしか無さそうでした。 というわけで、僕は以下のコマンドを叩いています。 php app/console doctrine:database:d…

星を撮る

飯綱 pic.twitter.com/HvKscRrUjZ— ろにゃ (@roronya) 2016年10月27日 友達が買った車は大きな車体に静かなモーター音で田舎道を走って、僕たちを秋のスキー場へ運んだ。暗闇だった。きっと紅葉が始まっていて山は綺麗に色づいていたのだと思うが、今日の興…