転職先を見つける前に退職した時のメモ

お久しぶりです。

icchyです。

 

とは言っても読んでる人はいないみたいですがw

記事を増やしていけば自然と検索ワードが引っかかって流入が増えると思っています。

 

さて、少し前に退職関連の記事を書きましたが、

icchy.hatenadiary.jp

 

今も離職中です。

10月に2社受けたのですが、縁が無かったようで..仕方ありませんね。

 

ちょっと退職してからは駆け足で転職活動したり、身辺整理したり、サイト作ったり、いろんな人に送別会(お疲れ会)してもらったりでバタバタしてたので、選考が落ち着いた後に丸っと10日位休みました。

 

その間に一人で旅行に行ったり、欲しかった自転車を買ったり、スプラトゥーンをやりまくったり、ギターの練習をしたりしていました。

 

そのあとはマイナビのエージェントサービスに登録して、手厚い支援を受けながら転職活動を進めています。

 

ここら辺の話はまた次回にでも書きますね。

 

さて、本題ですが、

貯金はあるものの、結構出費していたことに気付きました。

 

10月〜11月の間で主に以下です。(戒めのためにも列挙する)

・彼女との旅行(5万)

・自転車(2万)

・スーツ+周辺セット(7万)

・参考書等(1万)

・友達との交際費(1〜2万)

 

計 16〜17万円ナリ

 

これの他に食費、光熱費等 + 家賃ですからね。

10月はギリギリ前職の収入が多少あったものの..ご利用は計画的にですね..。

 

 

。。。しかし

 

これだけならまだ良かったんですよ。

自分で何を使ったか覚えてますからね。

でも。。ある日届いた3通の手紙が..

 

国民健康保険納付書(11/30までに2万納めてね)

・市民税・県民税納付書(11/30までに4万納めてね)

国民健康保険納付書(11/30までに1.6万納めてね)

 

 \デデーン/

 

これは参りました。

こんなのを毎月払うことになったら、いかに失業手当が入るとはいえ、即ゲームオーバーです。

 

かと言って転職先が決まるまでアルバイトをするか、と言われたら、できればしたくありません。

 

そこで離職中の先輩に聞きました。

 

先輩「年金は免除申請できるで(ドヤッ」

 

一番低い額ですが、天にも昇るような気分になりました。

確かハロワでそんなこと言ってた気がします。真面目に聞いておくべきでした。

翌日役所に行き、ものの5分で申請が完了しました。

 

その後少し転職活動で忙しくなってしまい、今日改めて残りの支払い額を確認したり、今月カードの引き落とし額を確認していたら、変わらずやばいことを思い出しました。

 

私「もしかして、他の納付も免除制度があるのでは..?」

 

ありました。

まず市税・県税ですが、都道府県市区町村によりますが、自己都合退職の場合、基本的には前年度の所得が基準以下だと軽減されるようです。免除は会社都合とか、もっと辛いことがあった場合のようです。

 

おそらく私は軽減の対象になるので、明日役所に行って申請してこようと思っています。

 

次に国保ですが、こちらは額が低いこともあり、対象となる人はかなり限られるようです。

ただ、せっかく役所に行くのでこちらも一応対象になるかどうかだけ確認してこようと思います。

 

是非、国の制度を最大限活用してみてください。

今という若くいられる時間に使えるお金は宝だと思っていますので、幸せに生きましょう(宗教臭い)。

 

それでは、また次回

 

PHPUnitでUT書いたりなどした

こんばんは。

 

少し風邪気味でして、喉が痛いながらも開発をしこしこやっておりました。

メモ程度に書いていきます。

github.com

 

ずっとこのリポジトリで作業しているのですが、UTを書いていなかったので追加しました。

 

前職でゴリゴリ書いてはいたのですが、少し時間が空いてしまったため書き方を忘れ、もう一度調べなおすところからでしたw

 

とは言ってもfunctionは大して多くないのでアウトプットもアリンコですw

(時間は結構かかったけど)

 

f:id:kenshlro:20181024203808p:plain

 

なので今のところはカバレッジ100%です。

リポジトリパターンを使っているのですが、リポジトリに定義されているfunctionを利用しているcontroller等のテストはモック化しやすくてめちゃくちゃ楽です。

 

ただ、リポジトリ自体の単体テストって一般的にはどうやるんだろうと悩みまくっていました。

リポジトリパターンって、DBの操作とビジネスロジックを切り離すのが目的なので、

リポジトリ内のfunctionは必然的にDBの操作を行う記述が(正確にはSQLを発行する記述?)が書いてあります。

 

●●Repository.php

 public function create($input)
{
 return $this->model->create($input);
}

実態はインジェクションしたmodelが操作を行なっているのですが、そのmodelをモック化して、ただ値をreturnするだけにしたかったのですがうまく行かず..。

 

とは言えそのままテストで実行するとSQLを走らせることになるので困りました。

結局テスト用のDBを作成してしまう、というやり方になりましたが、これだとリポジトリ自体のテストというより、リポジトリ+modelの結合テストみたいになっちゃってます。

 

過剰なテストってことにして足りないよりはマシですが、もう少しここ調べてみようと思います。

 

続いて、jsのテストを書こうと思って調べまくってはいたものの..

純粋なjsのテストなら書けるが、vueになると構造がよくわからなくなって先に進めていない状態です。

 

webpackとかmochaとか色々ライブラリの情報が出てきて、一つ一つが何のために必要なのかを把握しないことには前に進めないことに1日かかって気付いたので(遅)、

まずはこちらの記事を参考にしながら勉強していこうと思っています。

 

qiita.com

 

webって奥が深くて難しいですね..。

 

それではまた。

UIをアップデートしました。

こんばんは。icchyです。

 

前回の記事で、自分のサイトのUIを変えると言いましたが、

やっとこさ出来ました。

 

icchy-profile.site

 

もともとHTML, CSSの知識がそんなになかったので、

1〜2日こちらの本で勉強しつつ、自分なりのアレンジを加えてやっとこさ見易いUIになりました。

 

もともとフリー素材を使っていたんですが、見た目は悪くないもののソースコードが汚くなっちゃってて

最初はそのまま直していこうかなと思ったんですが、大して必要ないjsファイルとか色々入ってたり、変更が煩雑になるようなjQueryが記述されていて発狂しそうでした。

 

これはもう最初から作るしかないと思ってコーディングしました。

 

一番やりたかったのが、モバイルのサイズでも見易いUIにすること。

どうやってやるかすらわかっていなかったのですが、

 

headに以下を追記して

<meta name="viewport" content="width=device-width">

 

cssで以下のようなタグで囲むことで

@media (max-width: 599px) {

 

 このwidthの条件の時にcssが上書きされるんですね。

 

バイスによってwidthが異なるので、各デバイスに適した大きさにするなら、3~4パターンにもなるようです。

 

前職でそこまでちゃんとやってたっけな.. と思ったりw

 

今回はPCサイズでコーディングしてからブラウザを縮めておかしいところを直して行ったのですが、

widthによって画像のカラム数とか変えたりする必要があるので、今後はそれを見越してコーディング出来るようになりたいと思いました。

 

次はUnit Testを書いていこうかなと思っています。

 

それでは

近況 退職してから

こんばんは。icchyです。

 

さて、前回から2週間ほど空いてしまいました。

何をやっていたか書いていきます。

 

  1. 前職を退職した。(10/2付)
  2. 役所、ハロワ、IT健保等での手続き
  3. 少しずつ転職活動を進める
  4. 友達と遊んだり飲んだり
  5. マークアップのお勉強

1. 前職を退職した。

10/2付で前職を退職しました。

理由は簡潔に言うと

 ・楽しい仕事をしたいから

 ・楽しく仕事してる人と働きたいから

ですね。

 

楽しい仕事というと、色々捉え方があると思いますが

僕にとっては、自分が仕事で関わったサービスが面白いものであること、になります。

例えば、自分が仕事で関わったサービスをプライベートでも自分が使っているとか、友達や家族が使っているとかだとすごくモチベが上がるタイプなんです。

 

利用者数が数百万人とか、PVが数億とか、そういうのはぶっちゃけ特に気にしていません。

技術的な挑戦という意味では魅力的ですけど。

 

もう一つ、楽しく仕事をしてる人と働きたい、というのは

前職でエンジニアをやっていたときに、営業とか運用の社員とやりとりしながら開発を進めたりしていたわけですが、

自社のプロダクトを好きで売ったり運用している人がすごく少ない。

 

単に自分の社内評価をあげたり、売上実績を作(ってさっさと転職する)るためのツールとしてしか見ていない人が多すぎる。

 

例えば何かトラブルが起きた時には、いろんな理由を付けてたらい回しにされたりしますからね。

で、人的なミスなのに、それが起きないようにシステム化して対策しようとなって、頑張って開発して告知しても誰もそれを見てないからまた同じミスが起きる。

 

 

そんな中でエンジニアリングするのは疲れてしまうので、ちゃんと自社プロダクト愛を持って仕事してる人たちの中に入ろう、と思った次第です。

 

色々面倒を見てくださった先輩方や仲良くしてくれた同期には申し訳ないとは思いましたが、自己を犠牲にするわけにもいきませんので、次の転職先を決める前に辞めました。

 

2. 役所、ハロワ、IT健保での手続き

退職すると色々社会的な手続きが必要になります。

保険や年金を切り替えたり、雇用保険の受給申請に行ったり。

 

自己都合での退職なので雇用保険の支給は4ヵ月後なのですが

多分総額で45〜50万くらいはもらえます。

 

それまでに就職が決まっても、再就職手当が30万ほど入るので、ハロワありがとうでした。

貯金もそこそこあるので飢えることはないはずです。

 

3. 少しずつ転職活動を進める

余裕があるとはいえ、転職活動は少なからずしておかないと。お金がなくなってしまってからでは遅いですからね。

 

在職中から登録していたGreen、doda

新しく登録したマイナビ転職

 

ここら辺にプロフィールを登録しました。

そうするとヘッドハンター(笑)とか、採用担当者(テンプレ)からひっきりなしにオファーが来ます。

 

基本的には読んでいなくて、知ってる会社の時は一応読みに行ってテンプレメッセージかどうかだけ確認してます。

 

Greenで3社面談。1社は書類選考中。

dodaは書類で1社落ちて、マイナビ転職はあんまり見てません。

 

つまらない会社には行きたくないので、応募数も必然的に少なくなってしまいます。

自社プロダクト作ってるところか、1次請け100%で見てます。

 

会社のHPを読んで、シンプルな事業内容じゃないとブラウザバックします。

仕事してる時に思い出せないような事業内容は嫌です。

 

..と結構わがままに探していますが、全部落ちた時は悲惨ですねw

 

あとはエージェントサービスを使ってないのですが、おすすめのエージェントあったら教えてください。

前職で採用の話を聞いていた時にエージェントの無能加減に上司が辟易していたので、少し億劫になってますw

 

転職サイト以外の準備だと、昨日スーツを買いに行きました。

大学入学式に着たやつしか持っていなくて、ハロワの手続きに必要な証明写真を撮った時に着たらズボンがパツパツだったので買うしかなくなりました。

 

3万円ぐらいだと聞いていたんですが、実際に店に行って選んでたら3万8千円のやつ買ってました。

店員さんが色々教えてくれていいやつ選んでくれたので、まぁ良いかな。

他に靴とかワイシャツとかネクタイとか用意したら合計で7万もかかってました。ひえー

 

就活以外でも使えますからね。

 

4. 友達と遊んだり飲んだり

嬉しいことに毎週誰かしらに遊びに誘われたりして、予定が入っています。

彼女、同居人、地元の友達、大学時代の友達、前職の先輩、後輩、同期、同僚。

 

あとは今、中学時代の同級生と一緒に住んでいるのですが、

お互いの彼女がたまたまバンドやってたりして楽器ができるので

僕たち彼氏側も感化されて一応楽器を用意し、4人でバンド組もう、という話になってたりします。

ただ、あまり練習できてなくて、痺れを切らした同居人の彼女が

今度スタジオ取ってがっつり練習しようと言ってくれたのもあって、やっとこさ動き始められそうです。

プログラミングとかもそうですが、ある程度できるようになるまでは苦痛ですよね。こういうのってやるしかない状況に持って行かれた方が早いので、楽しみにしています。

 

ちなみに僕はギターです。中学の時にYUIが好きで、LIFEという曲が弾きたいな〜という願望が10年来であって、それを早く弾けるようになろうと思っています。

 

5. マークアップのお勉強

この本を使って、マークアップの勉強をしてます。

ずっとサーバーサイドエンジニアをやってきたので、フロント領域についてはあまり触れてきませんでした。

 

もちろんちょっとした修正とかは出来ますけど、体系的にちゃんと学んでおきたいと思ったのと、コーダーから渡されたコーディングデータを埋め込む時の認識の違いとかで苦しんできたので、最初からデザイナーのデザイン通りに自分でコーディングできるようになれたらなと思った次第です。

 

まずは最近作った自分のサイトを全部自分でコーディングできるようになろうかなと思ってます。

フリー素材じゃかっこ悪いですしね。

 

またサイトが出来上がったらブログ更新すると思います。

 

それでは。

 

エンジニアなのでLaravel, AWS, Vueあたりでポートフォリオ作った。(2/2)

こんばんは。

前回の続きです。

 

エンジニアなのでLaravel, AWS, Vueあたりでポートフォリオ作った。(1/2)

エンジニアなのでLaravel, AWS, Vueあたりでポートフォリオ作った。(2/2)←当記事

 

細かく説明はしないのですが、詰まったところはここら辺を見て解決したよ、的なことを書いていきます。

 

目次

  - AWSの設定(1/2)

  - AWSの設定(2/2)

  - nginx、php-fpmの設定

 

AWSの設定(1/2)

純粋に本番サーバーで動かして、ネットに公開したいと思っただけだったので

昔からあるさくらでもよかったのですが、

去年あたりに先輩がAWSへの移管作業しているのを隣で見てて興味があったので、AWSを使ってみました。

 

ちなみに、本当に時間が無くてローカル環境の状態をそのまま誰かに見せたい!って時にはlocaltunnelっていうサービスを使うといいですよ!

IPとport合わせるだけでURLが発行されて誰でも見れるようになります。

 

特に僕が新規で説明することも無いので、リンクを貼るだけにはなってしまうのですが、

順序だけ補足しますね。

基本的には以下のページで事足ります。

qiita.com

 

対象はRailsなのですが、下準備の部分やsshログインする部分までは一緒なので、そこまでは見ながらやれば問題ありません。

 

ただし、セキュリティ的に事前にやって置いた方が良いことが以下のページに載っています。

qiita.com

第1回と第2回だけ先に済ませておくのをオススメします。

世界一丁寧な〜の記事と被っている部分はあるものの、1つずつ確実に進めていけば問題なく進めることができるはずです。

 

AWSの設定(2/2)

さて、無事に

$ ssh ●●●

で本番サーバーにログイン出来るようになったら、ローカル環境のdockerの中と同じものを作ります。

 

具体的には

  - nginx

  - php

  - mysql

をインストールします。

それが終わったら任意のフォルダの下にgit cloneします。

僕は /var/www/html/laravel/ の下に作りました。

 

おそらく .envファイルがgit ignoreされているはずなので存在しなくてエラーになるはずです。

 

なので、下記コマンドで作成して下さい。

$ cp .env.example .env

 

そうしたら.envの中の、DBの設定部分を変更します。 

あとは config/database.php の中にあるDBの設定部分も同じように変更し

下記コマンドを打って設定を反映

$ php artisan config:clear

 

これでmigration出来るようになったと思うので、

下記コマンドでテーブルを作成して下さい。

$ php artisan migrate

 

先にDBを作成していないといけないので、mysqlをインストールした時についでに作っちゃってください。

 

access deniedとかで拒否される場合は、基本的に以下の理由です。

  - パスワードが間違っている

  - mysqlユーザーの権限が無い

    - 参考:一発でMySQLのrootユーザーにすべてのホストからすべてのデータベースにすべての権限を与えるコマンド

  - 然るべきログファイル・フォルダが無い

    - http://blog.infosuite.jp/laravel-deploy/

 

nginx、php-fpmの設定

設定、というほどでも無いですが

少しハマったので一応書きます。

 

nginxの設定ファイルは /etc/nginx/nginx.conf にあります。

以下のコードを書き加えました。

 

server {
    root /var/www/html/laravel/portfolio/public;

    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_s
        cript_name;
        include fastcgi_params;
    }
}

rootの指定を、プロジェクト配下にあるpublicというフォルダを見に行くように設定しなくてはなりません。

あとは、fastcgi_passで、php-fpm.sockを指定していますが

初期状態ではこのファイルは存在しなかったため作成する必要があります。

とは行ってもphp-fpm を起動するだけで、無い場合は作成されます。

$ sudo service php-fpm start

 

意外とここにたどり着くまでに時間がかかったので、この記事を読まれている方はラッキーだと思います。

nginxの記述を読んで理解できれば別ですが..w

 

以上になりますが、

他にもハマるところがあるかと思いますので、その時は /var/log に入ってるログファイルとかを見てググってみてください。

 

無事に本番公開出来ることを祈っております。

 

コメント等で質問やご指摘などwelcomeですので、よろしくお願いいたします。

 

それでは。

エンジニアなのでLaravel, AWS, Vueあたりでポートフォリオ作った。(1/2)

こんばんは。icchyです。

 

この記事では、僕がこの間1週間ぐらいでパパっと作った自分のサイトをどう作ったかの概要と、詰まったところを書いて行こうかなと思います。

 

この記事だけを見ても1から作ることはできませんが、参考にしたサイトを載せていますので、ぜひ開発のきっかけにしてもらえればと思います。

 

また、同じような技術で作ろうとしている方でわからないことがあれば、コメントしていただければ答えられる範囲でお答えします。

プルリクも受け付けています( ^ω^ )

 

gitのリポジトリはこちらです。

github.com

 

少し長くなりますので、本題だけ読みたい方は適宜飛ばしてお読みください。

 

2部構成で、当記事はどういう機能を作ったかという、アプリケーション寄りの話を書いてます。

次の記事では主にミドルウェア周辺で詰まったところ(nginx, AWSの設定)を書こうと思っています。

 

目次

  - 作成した背景

  - 使った技術

  - 未着手項目

  - Laradockでローカル環境を構築

  - Vue Routerで画面遷移のストレスを減らす

  - Instagram APIで最新20件の情報を取得

  - 基本的なPOST処理

 

エンジニアなのでLaravel, AWS, Vueあたりでポートフォリオ作った。(1/2)←当記事

エンジニアなのでLaravel, AWS, Vueあたりでポートフォリオ作った。(2/2)

 

作成した背景

  - 転職をする時に、ある程度の技術力の証明がその場でできるようにしたい。

  - 今までの経歴を整理したい。(これを見ながら履歴書書きたい)

 

使った技術(バージョン)

  - Laravel(5.7.3)

  - PHP(7.2.8)

  - Vue.js(2.9.6)

  - Docker for mac(18.03.0-ce-mac60)

  - AWS(EC2)

  - mysql(Ver 14.14 Distrib 5.7.23)

  - nginx(1.12.1)

 

未着手項目

  - https化

  - スマホのコーディング対応(css, HTMLはフリー素材を使ってます)

  - cron設定

 

Laradockでローカル環境を構築

Laradockというdocker上でLaravelを動かしたい場合に、とても簡単に構築を済ませられるパッケージになります。

 

以前はVagrantを使って開発をしていたのですが、今年に入ってからDockerに移行することになり、手始めに体験するためにこのLaradockはとても便利でした。

英語が読める方は公式で十分ですが、私のように困難な方はQiitaと比較しながら読み進めるといいと思います。

laradock.io

qiita.com

 

ベトナム人と仕事をしていたので、簡単なやりとり程度なら英語でできるのですが、文章チックになるとまだちょっと抵抗があって、脳みそも使うので日本語見に行ってしまいます..。

 

さて、Laradockで開発環境を構築できたらあとは ローカルでがしがし開発をしましょう。

 

Vue Routerで画面遷移のストレスを減らす

Vue Routerという公式のライブラリを使うと、通常はnavigation等のタブ移動はアクセスを伴う画面遷移になってしまうところを、jsによる再描画で済ませることが可能になります。

router.vuejs.org

 

言葉ではちょっと分かりづらいと思うので、実際に私のサイトで触ってみるとわかると思います。

icchy-profile.site

 

About, Work, Private, Contactというタブ移動がアクセスを伴わなくても可能になっています。

スマホ対応はまだ出来ていません><

 

仕事で似たような部分があったのですが、諸々事情があって実装出来ず、早く試したいと思っていたライブラリでした。

 

Instagram APIで最新20件の情報を取得

サイトを作るにあたって、何かビジュアル要素が欲しかったのですが、

デザインの素養があるわけでもなかったので、少しこだわって投稿しているInstagramの写真たちをAPIで収集して表示してやろう、と思いつきました。

 

開発者アカウントを取得して、必要な情報を入力した後にアクセストークンが取得できるので、それを頼りにAPIを叩いてDBに保存。

あとは1時間に1回バッチとして叩き、最新の投稿に更新できるようにしたら、cronに登録して完了。

 

バッチの作成もLaravelの公式コマンドで1発作成できます。最高。

  - Artisanコンソール 5.7 Laravel

  - Laravelでコマンドラインアプリケーションを作成する

 

ちょっとまだ本番環境で自動で叩かれるように設定できていないのですが、そんなに難しくないはずです。

 

基本的なPOST処理

新卒研修とかでやりがち(僕はやってない)ですが、お問い合わせフォームを作りました。

laravelの標準でPOST処理が簡単に書けるのですが、POST後に再描画が走ってしまうのがイケてないので、

 

vueで入力を受け取り

→axiosを使ってPHPにPOST

→Laravel標準のvalidationを通して

→返ってきたsuccess or error で描画を分ける。

 

というやり方をしています。

こちらも言葉で書くと分かりづらいので、axiosについてチョチョっと調べたのちにgitのソースコードを見てもらえると理解しやすいと思います。

ファイル的には Contact.vue です。

(理想はソースコード見ろって言わなくても分かりやすい説明できるといいんですけどね..w)

 

 

以上でアプリケーション周りの紹介終わりです。

次の記事に続きます〜

自己紹介

はじめまして。icchyと言います。

 

この間初めて自分のサイトを作ったので、ついでにブログも作ろうと思いHatenaでブログを書くことにしました。

 

色々僕の情報は下記の作ったサイトに書いてあるのですが、改めてここにも書きますね。

icchy-profile.site

 

生年月日:'93 2月

性別:男

出身:千葉県

在住:神奈川県

職種:サーバーサイドエンジニア

言語:PHP, javascript, Google Apps Script, ruby

フレームワーク:Laravel, jQuery, Vue, Rails

趣味:アニメ, カードゲーム, hiphop

 

このブログでは、エンジニアなので一応テックなことを書きます。

ただ、それだけではつまらないので日常のことも織り交ぜて行こうと思っています。

 

僕がブログを読み漁る時、できるだけ自分に近い人を探しては参考にしたり、ホッとしたりするので

それと同じように、世の中にはこんな人間もいるんだな、とホッとしてもらえるようなブログを目指しています。

 

最初の記事はサイトを作った時に詰まったところとかを備忘録的に書いて行こうかなと思います。

 

それでは、よろしくお願いします。