沖縄県獣医師会のホームページが良くなった
で利用していた 公益社団法人 沖縄県獣医師会 が更新されました。
この変更に追いつかずに
のスクレイピングが壊れてしまっていたので修正しました。
公益社団法人 沖縄県獣医師会 がすごくわかりやすくなっていて良いです。
JSONで出力できるようにしたので、なにかアプリケーションとして一つ作れないかなぁ。
2018年の振り返り
今年の仕事を納めました。
— 妬み、嫉み、僻み。 (@kimihito_) 2018年11月29日
11月30日で今年の仕事を納めたので今年一年を振り返ります。
去年の記事はこれ。
健康
- 去年発症したアナフィラキシーは出ず過ごせた。食後の運動を控えたり、睡眠不足をなるべく回避するようにしたのが良かったと思う。
- 目が人工レンズになった。視力は1.5になったが、近くの文字が見えづらくなった。
- 歯がボロボロだった。虫歯がいくつも見つかったり、強く磨きすぎて神経を刺激している状態になった。詰め物で食い止めている感じ。歯茎も汚いとのことだった。歯磨きとフロスの使い方を教えてもらい改善を心がけている。4月ごろに診てもらうつもり。
- 日が昇る前に起きて徘徊(という名の犬の散歩)をしている。顔なじみの先輩方が増える。
仕事
- 去年から引き続き、コードタクト さんにお世話になっている。目の手術で1ヶ月休んだり、後述の理由で今月から仕事を休ませてもらったりとだいぶ融通を利かせてくれてありがたい。
- 一緒のプロジェクトメンバーは自分よりもすごい人たちばかりで、学びがある。プロダクションでDockerが使われていたり、今どきな感じ。
- スクラム開発っぽい開発の進め方を経験できたのは良かった。
- 自分がやったと記憶しているのはこんな感じ。基本的にRailsアプリケーション開発に付随する作業が主。
- Railsのアップデート
- 5.2.1.1までやった
- 合わせてActiveStorageに移行
- Webpacker + Vue.jsを導入
- bundle-auditをCIで回したり
- Firebase Cloud Messagingも導入したかな?
- Railsのアップデート
- 過去にテストがなかったときに自分が書いたテストコードが開発スピードの足かせになっている気がする。
- 開発外のところだと、事業の理解を努める作業が不足していた。
- Rails以外の業務経験が弱い。フロントエンド力がほしい。
- 個人開発では小さなプロダクトをいくつか作っては公開まで持って行けずに挫折することが多数。
- 個人開発のモチベーションが続かない、作り終わらない。原因と対策を考えてみた。 - フロントエンドの地獄 にあるとおり、技術の習得とプロダクトの開発をごっちゃにしているのが問題。
コミュニティ / OSS活動
- 仕事関連でRailsのバグを踏んだ。そのうち一つは同僚のおかげでコントリビュートするところまでできた。(デバッグまではやれたけど、プルリクエストを作るのは眺めていただけ)
- Ha4goをHerokuで動かして https://okinawa.ha4go.net にするところまではやった。 Ha4go自体へのコントリビュートはできていない。
- コミュニティへの参加はOkinawarbに参加にたまに顔を出すぐらい。しばらくオフラインでのイベント参加はできなさそう。
スポンサードはいくつかした。ただ協賛するだけで自身は参加しないということが多かった。去年の反省を含めてそういう行為をしていたんだけども、技術系カンファレンスのスポンサーシップへの考え方 | F's Garageの下記の引用部分を見て、「イベントに共感したので協賛する」という意識をもっと伝えないとと思った。
せっかく準備いただいてるわけですから、その機会は十分に活かさせてもらいたいですし、それを望んでイベント設計をされているわけで、しっかり話に乗って賑わいを出すのに貢献するという考え方でしょうかね。テンション低く、お金だけ出して終わるのも気分のよくない印象を与えてしまいます
技術コミュニティではなくて、ママさんコミュニティや沖縄の教育関係のコミュニティには足を運んだり良くしていたかも。
- ただどれも現時点ではフェードアウトしている。
生活
- 子供が生まれた。今年の残り一ヶ月は、疑似育児休業(たかが一ヶ月 && 別に育児休業給付があるわけでもないので「疑似」)と称して育児に奮闘してみるつもり。
- 子供が予定より早く産まれたりで10月、11月はずっと病院通いや手続きで市役所に行ったりだった。こども医療助成はすごい。
- 家庭の振り返りは去年から引き続き継続中。
- カレンダー振り分け術 を実践している。ゲームしてるみたいで楽しい。
- スプラトゥーンがSになった。
2017年時点の抱負の振り返り
去年書いたもの が今年どうだったかという話
謙虚に仕事をする
- 謙虚というか、静観という感じの仕事ぶりだったかも。
一発当てる
- あたっていない
読む / 書く
- 去年よりはマシになったかも
2019年の抱負
- 使える武器を増やしたい
- 一発当てる
- 意志はきちんと伝える
沖縄にある動物病院の夜間診療情報をJSONとして提供しています。 #CHNO
TL; DR
https://kimihito.github.io/veterinary-list/emergency_hospitals/2018_7.json
のURLで
公益社団法人 沖縄県獣医師会 に所属する動物病院の夜間診療情報をJSON形式で提供しています。
にあります。
きっかけ
に書いたとおり、柴犬を飼いはじめ、もうすぐ一年になります。
その中で夜間に具合が悪くなったときにどの病院が夜間診療をしているか知るのがスマホでは大変だったという経験がありました。
(夜間診療の電話は共通ですが、当日どの病院が当番なのか知るのが面倒だった)
ちょうどそのときに、GitHubでトルコの動物病院リストを取得した
を見つけて、沖縄獣医師会のサイトを見たところ、定期的に夜間診療の情報を更新していたのでスクレイピングして GitHub Pagesにホスティングしています。
実装
- Puppeteerを利用
- GitHub Pagesにホスティングする処理は、 GitHub - horesase/horesase-boys: 惚れさせ男子データベース で使っているWerckerの設定ファイルを参考にした
- Circle CIのNightly build で定期実行
Civic Tech Night Okinawa vol.3 に参加した
civic-hack-night-okinawa.connpass.com
Civic Hack Night というイベントは Code for Kanazawa の @PharaohKJ さんがよく connpassで募集している のを知っていました(情報のオープンさを心がけているのは本当にすごいです)、沖縄で開催されているのは知りませんでした。
今回の動物病院の夜間診療の内容はシビックテック向きかな?と思い参加して話してみたんですが、どうも主催の方には社会問題の解決とは遠いものだと感じられた(と僕は受け取りました)ようです。
グループディスカッションは他の方からの意見やアイデアなどはとても実りあるものだったと思います。それだけに早めに切り上げてしまったのはちょっと残念でした。
イベントの内容が非常に満足だったとは言えませんが、こうした場が継続的にあるのは素晴らしいと思いますし、より実りある場にするための貢献は参加者として取り組まければいけないと反省しました。
その他
動物病院情報も上記のGitHub PagesからたどればJSONが取得できるんですが、セレクタの指定が甘く、いくつか綺麗に情報を取得できていない部分があるので修正出来次第ブログに書こうと思います。
国会会議録検索システム検索用APIのRuby gemを作りました
TL;DR
のRubyクライアントを作ってみました
国会での発言が検索できる
国会での発言を検索できるAPIがあるということを このIssueで知りました。
最近は自分の一票がどう使われているかをラクに知りたいなというところに関心があるので、使いやすくしたいなぁという気持ちがふんわりありました。
ちょうど一ヶ月ほど休むことになったので、gemにしてみました。
作っている中でAPI側の不具合のようなものも見つけて報告していますが、まだ直っていません。。。
参考にしたGem
GitHub - esaio/esa-ruby: esa API v1 client library, written in Ruby
GitHub - sferik/twitter: A Ruby interface to the Twitter API.
特に esa.io のRubyクライアントは、ソースコードを読んだときに「きれいでかっこいい...!!!!」と思ったのでめちゃくちゃ参考にしています。
Twitter gem については、アプリケーションエラーハンドリングをどうしてるんだろうというので twitter/error.rb at 844818cad07ce490ccb9d8542ebb6b4fc7a61cb4 · sferik/twitter · GitHub あたりを参考にしました。
ハマったところ
パラメータのエンコードを =
や &
も含めて行わなければならない
この辺の対応については
を参考にしました。ありがとうございます 🙏
TravisCI上で ruby-head
だとテストが落ちる
ビルド履歴にあるように、 String#split
が ruby-head で落ちてしまっていました。
非力な僕は特に対処せずに放置しちゃいましたが、最近あったOkinawa.rbで相談してみたところ、TRICKで入選した @tompng さんから以下のリンクを教えてもらいました。
splitに意味ないブロックを渡していて2.6からsplitに渡したブロックが呼ばれるようになってruby-headでテストが落ちていた話をきいた #okinawarb
— Ⓜ️ (@hanachin_) 2018年7月18日
thats_it gem を作った @hanachin_ さんも含めていろいろ教えてもらったり、フィードバックをもらったりしました。
こういうコミュニティが近くにあってすぐフィードバックをもらえるのはとても有り難いです。また来月もあるので参加しようかなぁ(宣伝)
作ったGemについては、まだ不具合もあるかと思うのでフィードバックなどお待ちしております 🙇
#雑Perl でNode.jsのスクリプトを書きました。
に参加しました。
ということで、Perlはまったくわかりませんが参加しました。
やったこと
https://github.com/GoogleChrome/puppeteer を使って銀行口座(ゆうちょダイレクト)の残高を通知するスクリプトを書きました。
puppeteerでゆうちょダイレクトから残高情報をスクレイピングする
普段はRuby on Railsで、特にサーバ側を書くことが多いのでJavaScriptの勉強が出来てよかったです。
async/await
, Promise
はまだイマイチ理解できていないですが...
本当は定期実行の部分をFirebaseとかそこらで出来るんじゃないかと思ったんですが、結局 Manual Job Approval and Scheduled Workflow Runs - CircleCI を使って定期実行を雑にしています。
感想
#雑Perl もくもくと作業してしまったけど、楽しかったのでまた参加したい
— 妬み、嫉み、僻み。 (@kimihito_) 2018年7月13日
@sk07368158 さんの「クラスとインスタンスがよく分からず、連想配列で十分でないかと思ってしまう」という発言から、Perl5のクラスについての説明が始まったときは面白いなぁと感じました。
勉強会などに行くとどうしても駄弁って相手の時間を奪ってしまうことが多い性分なので、こうしたイベントでしっかりコードを書くことが出来たのは本当に良かったと思います。
運営も低コストを心がけているので,隔週しないかもしれません.
とのことだったので次回がいつになるかわかりませんが、また開催されるときは足を運びたいと思います。
運営の id:anatofuz( @AnaTofuZ )さんありがとうございました!
両目が人工レンズになって一ヶ月が経った。
6月5日、19日に先天性白内障の手術をし、両目が水晶体から人工レンズになりました。
それからおよそ一ヶ月経って、経過も順調です。
あまり経験した人もいないかな?と思ったので経緯も含めて書き記しておこうと思います。
きっかけ
年明けから急に目が悪くなったと感じ、近く自動車免許の更新もあったことから、4月にメガネを新調しようと眼科に行ったことがきっかけでした。
その場で「あなたは先天的の白内障で、メガネをしても視力は回復しない。治療法は手術のみ」というような主旨の説明をされ、そのまま手術に向けての準備が始まりました。
自分が生まれたときから白内障で、「今見える景色が他の人と違う」というのは驚きでした。
先天性白内障であると診断された理由としては
- 自分が20代であること
- 水晶体の濁り方(水晶体中心から外に向けて濁っていた。老化だと外側から濁るらしい)
ということです。
白内障のサイン
- 光がやけに眩しく見える
- 極端に見えづらくなる
ということを感じると白内障の疑いがあるようです。
僕自身、
- 運転中、対向車のライトで目が開けられないほど眩しく感じる
- エディタのフォントサイズを大きくしないと見えづらい
という心当たりがありました。
手術まで
4月に白内障ということがわかりましたが手術予約が取れず、結果的に2ヶ月後の6月になりました。
まず片目を手術してから経過を見て、合併症のリスクがないのであればもう片方もやるという流れになりました。
手術内容
目に部分麻酔をして汚れている水晶体を削り、削った部分に人工レンズを入れます。
だいたい手術は30分ほどですが、手術前の準備を含めると4時間ほどかかりました。
術後
扁桃腺を取る手術をしたときも思いましたが、術後が一番しんどかったです。
- 眼帯は術後すぐで翌朝には取れる
- ただし洗顔、洗髪は3日ダメ。
- 術後3日は通院
- 眼底検査のために瞳孔を開く薬を点眼するが、その影響で目が開けられない(運転も禁止)。
費用
360,000円/ 目 でした。
なので僕の場合は720,000円でした。
ただし人工レンズによって費用が変わり、今回ボクは保険適用の単焦点レンズではなく、多焦点レンズを選択しました。
単焦点レンズと多焦点レンズ
水晶体は遠近と見る場所に合わせてピント調整をしますが、人工レンズを入れるとその機能がなくなります。
なので、人工レンズでどこにピントを合わせるかというのを事前に決めます。そのピントが一箇所しか合わせられないのが単焦点レンズです。
単焦点レンズは保険適用で費用も安い(僕が聞いたときは7万円/目だったと思います)ですが、日常生活ではメガネが必須となります。
多焦点レンズは人工レンズを入れてもメガネがなしで生活できるようにするものです。 先進医療の対象となっています。(先進医療特約の生命保険により実費はありませんでした)
人工レンズになってよかったこと
見え方がぜんぜん違います。こんなに鮮やかだったのか…と感じました。
片目だけ手術が終わったときは、手術してない方の目にずっとゴミがあるように感じていました。
人工レンズになってちょっと面倒なこと
手元のピントが以前より合わなくなりました。ある距離まで近づくと全部がぼやけてしまいます。
- 本を読む距離が20センチぐらい遠くになってしまいました。
- 見えないと近づくクセが取れず、余計に見えなくなってしまう。
車のライトや光の見え方が変になる
http://www.tsukazaki-hp.jp/care/ophthalmology/iol の画像がわかりやすかったので引用しました。 (引用元には手術の様子があります)
つらつらと書いてきましたが、先述の通り経過は順調で見た目では手術したことがわからないようにもなりました。
見え方も術前よりも格段に良くなっていて、目の疲れも軽くなったような気がしています。
同じような境遇の人の参考になるといいなぁ。