パパエンジニアのアウトプット帳

30歳に突入した1児のパパエンジニアのブログ

2017年の抱負というか意気込みというか

これまで目標や抱負などというものをあまり公言してこなかったので、動機付けというか自分を鼓舞するために書いておこうと思う。


ざっくりと今年の抱負は下記のような感じ。

  1. アウトプット
  2. 個人開発
  3. 自分を知る
  4. 英語
  5. プログラミング言語

アウトプット

主にはブログ。去年の下書き状態のまま記事がたくさんあるので、今年はあまり溜めずに。

まずは月2くらいの更新頻度を目指す。


もう1つは勉強会などで発表する機会を増やすこと。

人前での発表を今まで超苦手にしてきたので、まずは社内勉強会とかからやっていく。

個人開発

自分は0→1でものを作るのがとても楽しくワクワクするというのと、あまり仕事でサービスの運用を経験できないので自分でサービスを作って運用もしてみたい。 あと自分のポートフォリオのようなものとして。


とりあえず、今作ってるアプリの超最低限の機能が年末あたりでできたので今、環境やデプロイ自動化を準備しているところ。

既存サービスやデザインをどうこう考え出すと途中で挫折するので、とりあえず作って公開をする。

デザインとか最悪お金で解決すればいいし。

と言いつつも、お小遣いパパエンジニアなので資金は全然潤沢ではないので、費用を抑えた運用やサーバ代くらいは賄えるマネタイズは考えておきたい。

自分を知る

世の30歳になるエンジニアは、これからの自分の生存戦略に迷うようで自分も例外ではなかった。

現在SI系で働いているが、Web系にもすごく憧れがありチャレンジしてみたい思いもある。

しかし、転職準備するときに自分の強みやこれからのキャリアパスなどが具体的に出てこなかったので、転職するしないはともかくとしてこれからの自分の方向性をしっかり考えておかないとなと思った。

月1でこのあたりは考えて、ブログにもまとめておきたい。

英語

これはここ2,3年ほど思っているがなかなかものにならない、というか続かないので今年はより具体的に。

目的

まず、なんで英語ができるようになりたいかというと、エンジニアによくある海外のIT系情報を原文のまま読めるようになりたい!と言ったもの。

自分の欲しい情報とかはある程度英語サイトも見るようにしているが、なんとなくの雰囲気やgoogle翻訳に頼っているので。

やること

  • Doulingo
    • 通勤時の隙間時間に基礎系を
  • Rails CastなどのIT系の英語動画を見る
    • 技術系ならとっつきやすいと思っている
      • 以前ニュースやスポーツ系のpodcastとか手を出したが全然続かなかった・・・
    • 気になった言い回しやわからない単語をメモっておく
  • TOEIC受ける
    • 今まで英検すら受けたことないので今年は受けて見る
    • 高校英語は落ちこぼれの部類だったので、とりあえず500点を目指す
      • おそらく、今すぐ受けても300点いくかどうかのレベルかな?
    • 5月あたりに1度受ける

しばらくはまとまった時間はサービス開発に充てたいので、通勤時間や昼休みなどの隙間時間を使ってやる。

プログラミング言語

去年はSwiftを少しやっていた。(先の個人開発でWebViewなアプリを作っているのもあって)

今年は下記の言語に興味あるのでどれか手を出したい。

【Swift初心者】TableViewで無限スクロール

TableViewを無限スクロールしたかった。


本当はライブラリないか探していたんだけど、有名どころはない感じかな?

実装方法がそんなに難しくなさそうなので、自分で実装してみた。


実装は下記のサイトたちを参考にしてscrollViewDidScrollでやった。

qiita.com

github.com


実装してみると初期表示時にも呼ばれてるっぽかった・・・ なので、下記のサイトのようにtableView.draggingで判定した。

qiita.com


でも、これだと一度に複数回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インストールしないと・・・

と、思って調べていたら同じようなことを考えている人がいたようで。

qiita.com

https://hub.docker.com/r/bungoume/mecab-web-api/


せっかくなので利用させてもらおう。


ユーザ辞書の追加をしてる。

日本酒に特化したものが下記にあったので試しに入れてみた。

※後からmecab-ipadic-neologd入れたので、おそらくこれなくてもいいと思う

x1.inkenkun.com

Dockerfile

MecabをWeb API利用できるDockerコンテナ


docker build -t mecab-web-api .でビルドして

docker run -d -p 8000:80 -t mecab-web-api webmecabで起動すれば使える。


何かエラー出たりして詰まったら、とりあえず下記の方法でコンテナに入って調べればいいと思う。

qiita.com

ユーザ辞書とシステム辞書の作成・追加

必要になった場合は下記を参考にすればよさそう。

blog.apar.jp

Sorceryでアレやりたい場合メモ

Railsでユーザ認証にDeviseではなくSorcery使ってる場合にアレ(招待機能とか)どうやるの?の参考サイトメモ。

招待機能

qiita.com

ユーザ名でログイン

dev.classmethod.jp

OAuth

qiita.com

APIサーバー認証

nirasan.hatenablog.com

番外編(2016/08/19 追加)

qiita.com

dev.classmethod.jp