はじめに

LAPRASさんがTwitterで#LAPRAS伸びしろ選手権のハッシュタグで1ヶ月の技術力スコアの上がり幅を競うイベントを開催していて、1~3位には賞品があり、3位を目指して参加してみました。

しかし、結果は ~~8位~~ の惨敗だったので、悔しさを胸に1ヶ月のアウトプットをまとめます。 (12/17日発表の順位に誤りがあったようで、12/18に発表された順位では10位圏外でした…)

ちなみにこちらが私のLAPRASのプロフィールです。 https://lapras.com/public/BE7TXA7

GitHub

趣味で暇なときにやっているオレオレツールの開発と機能追加をメインにアウトプットをしました。

toyotter

Goで書いたCUIベースのTwitterクライアントです。今回行った機能追加・修正は、

  1. タイムライン表示の際、ツイートのURLも表示するように修正
  2. リスト機能の追加
  3. 引用ツイート機能の追加
  4. Goのバージョンアップ

gstats

Rustで書いたGitHub APIから取得できる統計情報を表示するCLIツールです。まだ絶賛開発中でreleaseのダウンロード数の表示しか実装できていません。

seahorse

元々はgstatsのコードに組み込まれていたCLIのインターフェース部分をライブラリとして切り離したもので、CLIツール開発で必要最小限の機能だけを提供するCLIフレームワークです。Rustはまだまだ勉強中でジェネリックスやトレイト境界など非常に勉強になりました。

以下のように割と簡単に使えます。

use std::env;
use seahorse::{App, Action, Command, color};

fn main() {
    let args: Vec<String> = env::args().collect();
    let action: Action = |v: Vec<String>| println!("Hello, {:?}", v);
    let display_name = color::magenta("
     ██████╗██╗     ██╗
    ██╔════╝██║     ██║
    ██║     ██║     ██║
    ██║     ██║     ██║
    ╚██████╗███████╗██║
    ╚═════╝╚══════╝╚═╝");
    let command = Command::new("hello", "cli_tool hello user", action);

    let app = App::new()
        .name("cli_tool")
        .display_name(display_name)
        .usage("cli_tool [command] [arg]")
        .version(env!("CARGO_PKG_VERSION"))
        .commands(vec![command]);

    app.run(args);
}

実行するといい感じにhelpを出力してくれます。

$ ./target/release/cli_tool
Name:

     ██████╗██╗     ██╗
    ██╔════╝██║     ██║
    ██║     ██║     ██║
    ██║     ██║     ██║
    ╚██████╗███████╗██║
    ╚═════╝╚══════╝╚═╝

Usage:
   cli_tool [command] [arg]

Version:
   0.1.0

Commands:
   cli_tool hello user

vim.wasm

人生で初めてのOSSへのコントリビュートをしました。 vim.wasmをREADMEを見ながら触っていたらREADME通りでは動かず、ハマっていたときにたまたまタイポを見つけたので修正してプルリクエストを出しました。 初のOSSのへプルリクエストということもあり内心ドキドキしながらマージされるのを待っていましたが、無事マージされて大変良い経験ができたと思います。

teratail

業務で使っているRuby on Railsをメインに1ヶ月で18個の質問に答えて、11個のベストアンサーを頂きました。 teratail自体はLAPRASを使い始めて初めて利用しました。正直誰かの質問に答えて役に立とうというよりも、LAPRASのスコアを上げたいとうことにモチベーションを持っていたので、質問者には少し申し訳ない気持ちがあったりします…

最後に

以上のようなアウトプットを行った結果、3.69から以下のようなスコアまで上げることができました。

スクリーンショット 2019-12-18 16.49.44.png
スクリーンショット 2019-12-18 16.53.23.png スクリーンショット 2019-12-18 16.53.35.png

~~3.69からなので0.1の上昇だと思っていたのですが、Twitter上では0.078の上昇ということになっているので、3.69スタートが記憶違いなのかもしれません。~~ 11/17 ~ 12/15の約1ヶ月で技術スコアを0.12上げることができました。

また、今回のイベントは飽くまで伸びしろなので元が2点台や3点台前半の方の伸びしろに勝つには少々分が悪かったかなと思います。