こんにちは〜。どうもわてぃるです
今回は未経験エンジニアがポートフォリオを作るにあたってこんな機能を取り入れたらどうかなって思うものを一つ紹介したいと思います。
Youtubeに同じ内容の動画を載せているので是非観てください
未経験エンジニアはこんなポートフォリオを作ってみてはどうか① 〜バッチ処理〜
あと、
【実体験をもとに】30歳未経験から独学4ヶ月でバックエンドエンジニアとしてWeb系自社開発企業へ転職するまでのロードマップ
という記事も書いてますので是非
内容はこんな感じ。
・趣旨
・機能の紹介〜バッチ処理〜
◾️趣旨
僕が以前に公開した動画では「ツイッターの簡単なクローンアプリではポートフォリオとして不十分」といったお話をしました。
単純に「ユーザー登録・ログイン・投稿機能をバリデーションなど駆使して不備なく動かす」程度のアプリではなく、どんどん追加機能を増やして開発への関心と自走力をアピールしないとダメよね。ってお話ですね。
ただそこで「じゃあ具体的に"簡単なクローン"から抜け出すにはどうすればいいの?」って思われる方も多いかと思います。
僕の場合はDockerなどを利用してインフラ面で肉付けしましたが、やはりパッと目につきやすく分かりやすいのは「アプリで出来ることを増やす」だと思います。
あれやこれやといろんな機能がついているアプリの方が非エンジニアが見たときのインパクトも強い
「どんどん新しい機能を取り入れていくぜー!」という姿勢が見える点からもベンチャー企業みたいなガンガン前に進んでいく企業からのウケも良いんじゃないかなーって感じです。
なので少しでも肉付けアイデアの提供になるように
・出来るだけ未経験の方でも独力で実装できる機能
・僕が少しの実務経験を経て有効だなーと感じたもの
を紹介していこうと思います。
◾️機能の紹介〜バッチ処理〜
今回のお題はバッチ処理です。
これは何かと言うと、自分の定めたメソッドを定期的に実行してもらう機能ですね。
以前Twitter APIの使用をお勧めしたのでそれに関わる例を挙げますと
まずは「毎日朝9時に"おはよう"と自動でツイートする機能」からスタート
後々「定期的に自分のツイートのアナリティクスを取得・表示する機能」
なんかを実装すればそれでもうTwitter運用ツールとして成り立つアプリになります。
バッチ処理はどんなアプリでも活用できる汎用性の高い機能なので、開発スキルを身につけておいて損はないでしょう。
そもそもプログラミングはあらゆる行動をシステムによって自動化することにより皆さんの工数を減らすというのが本質の一つ
「毎日xx時にこの処理をする」というシステムを開発しポートフォリオに取り込んで
面接では「定期的に処理を実行する工数の削減をしました」なんて言えれば良いアピールになるのではないでしょうか。
どのように導入するのか詳しい解説はしませんが、Railsアプリであればwheneverというgemを使えば簡単に導入できます。
インストールしたうえで専用ファイルに記入
アプリを設置したサーバー上で設定を反映するコマンドを実行する
それだけで簡単にバッチ処理が実装できる代物なので、かなりオススメです。
「whenever gem」と検索すればすぐに導入方法がヒットするので参考にしつつ実践してみてください。
記事の短さから、いかに導入が簡単なのかわかっていただけると思います。
whenever自体は本当はcronというもののファイルを書きやすくするためのgemでしかないので、導入した後はcronについても調べて背景を知っておくと良いと思います。
はいこんな感じでProgateなどの学習ツールが終わりポートフォリオ作りに取り掛かっている方に向けて追加機能やコンセプトなどの提案をしていこうと思いますので気になるものがあったなら調べて実装してみてください。