2020年のやりたいこと

2019 年も終わり、2020 年が始まりました。 去年と今年の技術面、プライベートなどのアップデートを書きたいと思います。

コミット前にhusky, lint-stagedでサニタイズするススメ

ESLint, TypeScript を使っているけれど、エラー、ワーニングが出たままコミットする事がままあります。勿論、そのまま開発を続けることもできますが、衛生上よくない気がし、husky, lint-staged を導入してみました。 チームで開発を行っている場合に一貫性を保つ、Lint エラーを放置したくない時に威力を発揮します。

ブログリニューアルのお知らせ

ブログを気ままに再開することにしました。技術の事をメインに書こうかなと思いましたが、とりあえず、続けることが大事だと思うので、バンクーバーの日常や、備忘録として気の向くままにこのブログを運用する事にしました。

Arrayを特定の型で拡張 in Swift

Array を特定の型で拡張したのでメモ Array 自体を拡張したら、要素がどの型でもそのメソッドを使えてしまうので、 要素がある型の時だけつけるようにしたかった。 こんな感じで実装したかった。 extension Array<CustomClass> {}` すると Constrained extension must be declared on the unspecialized generic type ‘Array’ with constraints specified by a ‘where’ clause とでたので、 ちょいと調べてみた。

swift2 : @testable指定で幸せに

これまでSwift1.2ではXCTestCaseなどでテストをする際、 クラスとメソッドをpublic指定しないといけませんでした。 swift2からテストケースのimport文に@testableと書くだけで、 クラス対象がinternalでもテストできるようになりました! こんな感じで書く @testable import testingTarget class test: XCTestCase { } ちなみにこれだけだと ‘Module was not compiled for testing’ when using @testable とでるので、 プロジェクトTargetsのEnable Testability を Yes にしてやれば解決します。

UICollectionViewFlowLayout の指定

UICollectionViewを使用していて、アイテムのの個々の大きさとマージンをしている際に 2つほど方法があったので、メモしておきます。 delegateで指定するパターン UICollectionViewDelegateFlowLayoutというプロトコルが用意されているので、 collection viewが使われている部分で実装してやれば良いです。

ブログをHugoに乗り換えました。

Why? WordPressで運用していたのですが、メンテナンスが大変で、 億劫になって更新途絶えてしまっていました。 個人的な感情移入かもしれませんが、Wordpressだとさらっと書けず、 記事に結構時間がかかってしまうということも要因かもしれません。 シンプルにブログを運用したかったのでOctpressにしようと、 調べてたらHugoを見つけました。 Github Page + Hugo + CI が流行っているようだったので、せっかくなんで乗っかってみましたw 導入の仕方 Hugoの導入の仕方は下記を参考にしました。 公式 HUGOを使ってサイトを立ち上げる方法 ご参考までにマークダウン README.mdファイル。マークダウン記法まとめ トラブルシューティング WindowsでHugoを使う 現在利用中のテーマ vienna シンプルでいいですね ブログは2カラムや3カラムが主流ですが、使ってみた感じHugoは1カラムシンプルでいいです。 綺麗なポートフォリオサイトも作れるようなので、作ってみても面白いかもと思っている次第です。