2017年の抱負というか意気込みというか
これまで目標や抱負などというものをあまり公言してこなかったので、動機付けというか自分を鼓舞するために書いておこうと思う。
ざっくりと今年の抱負は下記のような感じ。
- アウトプット
- 個人開発
- 自分を知る
- 英語
- プログラミング言語
アウトプット
主にはブログ。去年の下書き状態のまま記事がたくさんあるので、今年はあまり溜めずに。
まずは月2くらいの更新頻度を目指す。
もう1つは勉強会などで発表する機会を増やすこと。
人前での発表を今まで超苦手にしてきたので、まずは社内勉強会とかからやっていく。
個人開発
自分は0→1でものを作るのがとても楽しくワクワクするというのと、あまり仕事でサービスの運用を経験できないので自分でサービスを作って運用もしてみたい。 あと自分のポートフォリオのようなものとして。
とりあえず、今作ってるアプリの超最低限の機能が年末あたりでできたので今、環境やデプロイ自動化を準備しているところ。
既存サービスやデザインをどうこう考え出すと途中で挫折するので、とりあえず作って公開をする。
デザインとか最悪お金で解決すればいいし。
と言いつつも、お小遣いパパエンジニアなので資金は全然潤沢ではないので、費用を抑えた運用やサーバ代くらいは賄えるマネタイズは考えておきたい。
自分を知る
世の30歳になるエンジニアは、これからの自分の生存戦略に迷うようで自分も例外ではなかった。
現在SI系で働いているが、Web系にもすごく憧れがありチャレンジしてみたい思いもある。
しかし、転職準備するときに自分の強みやこれからのキャリアパスなどが具体的に出てこなかったので、転職するしないはともかくとしてこれからの自分の方向性をしっかり考えておかないとなと思った。
月1でこのあたりは考えて、ブログにもまとめておきたい。
英語
これはここ2,3年ほど思っているがなかなかものにならない、というか続かないので今年はより具体的に。
目的
まず、なんで英語ができるようになりたいかというと、エンジニアによくある海外のIT系情報を原文のまま読めるようになりたい!と言ったもの。
自分の欲しい情報とかはある程度英語サイトも見るようにしているが、なんとなくの雰囲気やgoogle翻訳に頼っているので。
やること
- Doulingo
- 通勤時の隙間時間に基礎系を
- Rails CastなどのIT系の英語動画を見る
- 技術系ならとっつきやすいと思っている
- 以前ニュースやスポーツ系のpodcastとか手を出したが全然続かなかった・・・
- 気になった言い回しやわからない単語をメモっておく
- 技術系ならとっつきやすいと思っている
- TOEIC受ける
- 今まで英検すら受けたことないので今年は受けて見る
- 高校英語は落ちこぼれの部類だったので、とりあえず500点を目指す
- おそらく、今すぐ受けても300点いくかどうかのレベルかな?
- 5月あたりに1度受ける
しばらくはまとまった時間はサービス開発に充てたいので、通勤時間や昼休みなどの隙間時間を使ってやる。
プログラミング言語
去年はSwiftを少しやっていた。(先の個人開発でWebViewなアプリを作っているのもあって)
今年は下記の言語に興味あるのでどれか手を出したい。
- Elixir
- Rust
- Golang
【メモ】Railsでassetsパスやautoload_pathsの確認方法
毎回調べて同じサイトを見ている気がしたので、メモとしてまとめておく。
rails c # assetsパスの確認 > Rails.application.config.assets.paths # autoload_pathsの確認 > ActiveSupport::Dependencies.autoload_paths
to_s(:delimited)
数値を3桁区切りにするのをnumber_with_delimiter以外にto_s(:delimited)でできるの初めて知った。良い。
【Swift初心者】TableViewで無限スクロール
TableViewを無限スクロールしたかった。
本当はライブラリないか探していたんだけど、有名どころはない感じかな?
実装方法がそんなに難しくなさそうなので、自分で実装してみた。
実装は下記のサイトたちを参考にしてscrollViewDidScrollでやった。
実装してみると初期表示時にも呼ばれてるっぽかった・・・ なので、下記のサイトのようにtableView.draggingで判定した。
でも、これだと一度に複数回APIが呼ばれていたので、読み込み中フラグ持たせて読み込み中に二重でAPIが呼ばれないようにしてみた。
func scrollViewDidScroll(scrollView: UIScrollView) { if (nowLoading) { return } if (tableView.dragging) { let currentOffset = scrollView.contentOffset.y let maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height if (maximumOffset - currentOffset) <= 40 { let next_page = (items.count / pageSize) + 1 loadList(next_page) } } }
MecabのDocker包み ~Web APIを添えて~
カッコつけただけです。すいません。
Mecabをちょっと使いたいなと思ったけど、ローカルにインストールするの面倒なのでDockerで作ろうと考えた。
でも、Rubyから使ったりしたいとローカルにMecabインストールしないと・・・
と、思って調べていたら同じようなことを考えている人がいたようで。
https://hub.docker.com/r/bungoume/mecab-web-api/
せっかくなので利用させてもらおう。
ユーザ辞書の追加をしてる。
日本酒に特化したものが下記にあったので試しに入れてみた。
※後からmecab-ipadic-neologd入れたので、おそらくこれなくてもいいと思う
Dockerfile
docker build -t mecab-web-api .
でビルドして
docker run -d -p 8000:80 -t mecab-web-api webmecab
で起動すれば使える。
何かエラー出たりして詰まったら、とりあえず下記の方法でコンテナに入って調べればいいと思う。
ユーザ辞書とシステム辞書の作成・追加
必要になった場合は下記を参考にすればよさそう。
Sorceryでアレやりたい場合メモ
Arelの拡張
ここまでするか?と思わなくもない。