履歴書の管理はJSON-Resumeでいいんじゃないかな？

履歴書ってなんで紙やPDFなんでしょうね？

少し前にYAMLで履歴書を管理する方法がありましたが、JSONで管理するgithubにあがっていたので、そちらを紹介します。

# JSON-Resume

## JSON-Resumeとは

名前の通り、履歴書をjsonで定義したものになります。

定義はこちらです。
[GitHub - jsonresume/resume-schema](https://github.com/jsonresume/resume-schema)

書き方の例は最後に記載します。

## 利点

- jsonなので、gitなど履歴管理できる
- コミュニティ(github issue)で話し合われて定義が策定されている
  - グローバルスタンダード(？)
- プロフィール系のいくつかのサービスが対応している
  - [Jaresume - The platform for professionals to network](https://jaresume.com/)
  - [Represent - A better way to résumé](https://represent.io/)
  - [DoYouBuzz](https://www.doyoubuzz.com/us/)
  - [veloCV - Curriculum and résumé builder with open standards](https://velocv.com/)
- サードパーティのテンプレートが転がってる
- 見せ方を変えたい場合は書き換えなくても、テンプレートを変えるだけで対応可能
- jsonデータなので、加工などが楽。実は受け取る側もjson型式のほうが楽なのでは？

## 欠点

- 更新が停滞気味
- 公式のCDNがなんかおかしなことになってて一部ページが見れない

# 実運用を踏まえて考える

|  | 対応 |
|--------|-----|
| 管理形式 | JSON |
| 管理方法 | github |
| 提出方法 | HTML・PDF(※) |

(※) PDFは動かないようだけどHTMLで出力してブラウザのプリントでPDF出力したらできる

# 公式がなんかうまく動かなかったんで、作った

本家のJSON-Resume様ですが、例のとおりやったのになんかうまく動かなかったりしたので、とりあえずGoで動くものを作ってみました。

[GitHub - usk81/go-resume: command line tool for JSON Resume for gopher](https://github.com/usk81/go-resume)

## インストール

バイナリファイルまだ作ってません。
`go get`でお願いします。
Windowsは... 未検証です（-人-）ｽﾐﾏｾﾝ

```bash
GO111MODULE=on go get -u github.com/usk81/resume
```

## 使い方

とりあえず試してみたいだけの方は、リポジトリの`tests`ディレクトリに`resume.json`を用意してるので使ってください

### バリデーション

```bash:使い方
resume validate [your resume file path]
```

```bash:例
resume validate $GOPATH/github.com/usk81/tests/resume.json
```

### 

```bash:使い方
resume export [your template directory path] [output directory path] [your resume file path]
```

```bash:例
resume export $GOPATH/github.com/usk81/themes/html ~/ $GOPATH/github.com/usk81/tests/resume.json
```

## まだ作ってないところ（実装予定）

- PDF出力。
  - なんか求められそうなんで。
- Excel出力。
  - なんか求められそうなんで。
- スタンドアロンサーバ。
  - HTML出力は出来てるから優先度低

# あとがき

紙やPDFの管理なんかやめて、履歴書が履歴管理できるようになりますように。
履歴管理できないのに`履歴`書なんてｗ


# JSON-Resumeの例

```json
{
    "basics": {
        "name": "John Doe",
        "label": "Programmer",
        "image": "https://i2-prod.mirror.co.uk/incoming/article10883656.ece/ALTERNATES/s615b/PROD-Lost-In-Space-Anniversary-party.jpg",
        "email": "john@gmail.com",
        "phone": "(912) 555-4321",
        "website": "http://johndoe.com",
        "summary": "A summary of John Doe...",
        "location": {
            "address": "2712 Broadway St",
            "postalCode": "CA 94115",
            "city": "San Francisco",
            "countryCode": "US",
            "region": "California"
        },
        "profiles": [
            {
                "network": "Twitter",
                "username": "john",
                "url": "http://twitter.com/john"
            }
        ]
    },
    "work": [
        {
            "name": "Company",
            "position": "President",
            "website": "http://company.com",
            "startDate": "2013-01-01",
            "endDate": "2014-01-01",
            "summary": "Description...",
            "highlights": [
                "Started the company"
            ]
        },
        {
            "name": "Company",
            "position": "President",
            "website": "http://company.com",
            "startDate": "2013-01-01",
            "endDate": "2014-01-01",
            "summary": "Description...",
            "highlights": [
                "Started the company"
            ]
        }
    ],
    "volunteer": [
        {
            "organization": "Organization",
            "position": "Volunteer",
            "website": "http://organization.com/",
            "startDate": "2012-01-01",
            "endDate": "2013-01-01",
            "summary": "Description...",
            "highlights": [
                "Awarded 'Volunteer of the Month'"
            ]
        }
    ],
    "education": [
        {
            "institution": "University",
            "area": "Software Development",
            "studyType": "Bachelor",
            "startDate": "2011-01-01",
            "endDate": "2013-01-01",
            "gpa": "4.0",
            "courses": [
                "DB1101 - Basic SQL"
            ]
        }
    ],
    "awards": [
        {
            "title": "Award",
            "date": "2014-11-01",
            "awarder": "Company",
            "summary": "There is no spoon."
        }
    ],
    "publications": [
        {
            "name": "Publication",
            "publisher": "Company",
            "releaseDate": "2014-10-01",
            "website": "http://publication.com",
            "summary": "Description..."
        }
    ],
    "skills": [
        {
            "name": "Web Development",
            "level": "Master",
            "keywords": [
                "HTML",
                "CSS",
                "Javascript"
            ]
        }
    ],
    "languages": [
        {
            "language": "English",
            "fluency": "Native speaker"
        }
    ],
    "interests": [
        {
            "name": "Wildlife",
            "keywords": [
                "Ferrets",
                "Unicorns"
            ]
        }
    ],
    "references": [
        {
            "name": "Jane Doe",
            "reference": "Reference..."
        }
    ],
    "meta": {
        "version": "1.0.0"
    }
}
```

# 類似ネタ

- [YAMLで履歴書を作る - Qiita](https://qiita.com/kaityo256/items/e3884d0109223c324baf)
- [「YAMLで履歴書を作る」をCodeBuildで実行する。 - Qiita](https://qiita.com/TAC_yacht/items/84d76f51049a3e5702d8)
- [ワードやエクセルに頼らず履歴書・職務経歴書を自作する - Qiita](https://qiita.com/ikngtty/items/654c76f299ac24e69388)
- [【退職】履歴書をGit管理したかってん【しました】 - Qiita](https://qiita.com/PruneMazui/items/4549319eef0e15e3aec4)