tubone

tubone

Boyaki makes a new world


 Recent posts  6 / 53

SepOctNovDecJanオムロン HV-F312で腰の痛みをなくすGithub Actionを使って、簡単CIを作ってみるChromeDriverがGoogleChrome v76 に対応していないらしい。Googleデータポータルを触ってみるHyper-vにMetasploitableの仮想マシンを立ててみるNightwatch.jsでE2Eテストを回したときにうまく動かないたった一つの理由particles.jsをVue.jsで使ってかっこいいページを作るGitPitchを使ってMarkdownからプレゼンテーションを作ってBadgeをレポジトリに貼るSentryを使ってフロントエンドのエラーを確認するJSON Resume + API With GitHubを使って、さくっと職務経歴書チックなもののAPIなど作ってみるGitHubに30日間草を生やし続けた感想Netlify Formを使って、簡易Contact Formを作ってみる10/1は天下一品の日Ansible + Serverspecを使ってMacの環境構築を自動でする (Ansible編)Ansible + Serverspecを使ってMacの環境構築を自動でする (Serverspec編)今日のラーメン台風の時の我が家のセンサー(netatmo)の値をZabbixで見る究極の謝罪はSlackのスタンプを活用しよう! ~明日から使えるSlackスタンプスニペット集~ハロウィーンはえちえちでチンパンジーなイベントじゃない。GitHubと向き合うイベントだ昔ながらのラーメンたべたい珠玉の一杯。たくさん残業した日はこのラーメンを食べろ!docoptはNimでも使えたのお話GitHubに草を生やし続け90日が経ったので感想を書くGoでAWS Lambdaを動かして、GitHubAPIv4(GraphQL)を叩いてみた感想Hadoopゾウさんについて本気出して考えてみたNuxt.jsでparticles-bg-vueを使うNuxt.jsのmodulesをCompositionAPIで使ってみる(@nuxtjs/toast編)くろおびらーめん with チャーシュー飯Nuxt.jsのmodulesをCompositionAPIで使ってみる(@nuxtjs/toast Global Option編)Nuxt.js + Composition APIでVuexのStateをReactiveに使う方法【初学者】Juliaを使って円周率を求める初めてプログラミングをした時のゴミソース見つけた面倒なことはPythonにやらせよう@GitHub API v4を使ったリリース実績取得Gatsby.jsで作ったブログに読み終わるまで○○分を追加した話Google広告設定でみる属性情報であなたをもっと知ろう!Blog用に新しいLogo作った話今年1年を振り返ってGoのEchoでJaegerを使ってボトルネックを調査するGatsby.jsで作ったBlogの投稿をGitHubの草にして表示させるWeb Developer Roadmap 2020を眺めながら今年の目標(Frontend)をだらだら考えるの会AWS X-RayでLambdaのトレースをしつつ、Datadog APMに連携するElixirでパラレルな負荷試験ツールを作るMonWedFri
Elixirでパラレルな負荷試験ツールを作るAWS X-RayでLambdaのトレースをしつつ、Datadog APMに連携するWeb Developer Roadmap 2020を眺めながら今年の目標(Frontend)をだらだら考えるの会Gatsby.jsで作ったBlogの投稿をGitHubの草にして表示させるGoのEchoでJaegerを使ってボトルネックを調査する今年1年を振り返って


 SearchBox

Search your interesting by Algolia in this blog.


 All 145 Tags

ぼやき 19JavaScript 12GitHub 7Vue.js 6TypeScript 6ラーメン 6デブ活 5Nuxt.js 4React 3Gatsby.js 3Auto Provisioning 3Serverspec 3Mac 3AWS 3自動テスト 3Python 3Ansible 3GitHub Action 2Go 2Lambda 2ChromeDriver 2GraphQL 2Netlify 2toast 2Chainer 2Write Code Every Day 2CompositionAPI 2Nim 1particle.js 1JSON Resume 1GitHub Pages 1Resume 1CV 1GitHubAction 1Sentry 1監視 1 1weed 1CI 1GitPitch 1GitHub Badges 1Azusa Colors 1Travis 1天下一品 1E2E Test 1Netlify Form 1Selenium 1Contact Form 1GoogleChrome 1Gatsby 1Googleデータポータル 1BI 1Azure Devops Build Pipeline 1netatmo 1台風 1IoT 1センシング 1Google Apps Script 1API FLASH 1SlackAPI 1Clasp 1Google Analytics 1Jest 1Unit Test 1Slack 1Stamp 1ハロウィーン 1昆布 1健康 1Headless CMS 1腰痛 1仮想化 1Hyper-v 1docopt 1CLI 1Hadoop 1ゾウ 1metasploitable 1powerShell 1RNN 1LSTM 1Chat BOT 1アイマス 1デレマス 1ひなこのーと 1Deep Learing 1OpenCV 1機械学習 1CNN 1分類学習 1顔認識 1AWS認定ソリューションアーキテクトプロフェッショナル 1資格 1勉強法 1E2Eテスト 1particles-bg-vue 1particle 1Proton 1particles.js 1Nightwatch.js 1test 1チャーシュー飯 1modules 1Composition API 1Vuex 1ストアパターン 1Julia 1円周率 1初心者 1The Gauss–Legendre algorithm 1Leibniz formula for π 1ギター 1DTM 1エフェクター 1ATELIERZ 1Caparison 1VOCALOID 1かわいい 1恐竜時代 1ことり隊 1早稲田 1GitHub API v4 1リリース実績 1Estimated Reading Time 1あと何分 1Logo 1SVG 1Server 1Seti@Home 1Google広告設定 1Google 1属性情報 1Persolal Data 1振り返り 1Echo 1Jaeger 1ボトルネック調査 1React Calendar Heatmap 1Frontend 1Web Developer Roadmap 2020 1Elixir 1Load Test 1X-Ray 1Datadog 1APM 1
この記事は686文字3.4で読めます

JSON Resumeを使ってさくさくっとそれっぽい職務経歴書を作ってみます

JSON resumeというものがあるようです。

今回はこちらを使って職務経歴を返すAPIをAPI with GitHubで作りつつ、Resumeを作りたいと思います。

Table of Contents

JSON Resumeとは?

JSON Resumeとは、JSON形式で職務経歴を記載するオープンソースのスキーマー定義です。

OSSプロジェクトですので、こちらからIssueやPRを出すことができます。足りないスキーマがあれば積極的にコントリビュートしてみては?

今回はAPIs With GitHubとJSON-Resumeでサクッとプロフィールを返すAPIをつくるを参考にまずJSON ResumeのAPIを作ろうと思います。

API With GitHubの設定

API With GitHubはGitHubのJSONファイルの編集画面と、rawgithubusercontent.comを使ってJSONファイルをHTTPで返却するLINKを作成するお手軽Webサービスです。

固定値のJSONを返すだけならこいつでサクサク作っちゃえばええやん。さっそく使っていきます。

API With GitHubにアクセスするとGitHubアカウントとの連携を求められるので同意してしまいます。

そうすると、Repositoryを作る画面に進みますので迷わず新しいレポジトリを作ります。

Img

あとは普通にレポジトリを新規作成する手順で作っていきます。

Img

Make APIボタンを押すと・・・。

Img

新規JSONファイルを作る画面に進みます。

Img

JSON ResumeのJSONは resume.jsonがデフォルトなので resume.jsonで作ります。

Img

resume.jsonを作ったばかりだと空のオブジェクトしかないのでJSONを作っていきます。

項目追加はAppend, Insertがあり、ObjectとArrayと値(String, Number, Bool)を直感的に入力できます。さてこれでJSON Resumeを作る準備はできました。

JSON Resumeでがつがつ書いていく

JSON Resumeの公式Docにもスキーマが載っていますが、完全なスキーマはGitHubにあるExamplesを見たほうがよいです。

こんな感じのお手本

{
  "basics": {
    "name": "Richard Hendriks",
    "label": "Programmer",
    "image": "",
    "email": "richard.hendriks@mail.com",
    "phone": "(912) 555-4321",
    "url": "http://richardhendricks.example.com",
    "summary": "Richard hails from Tulsa. He has earned degrees from the University of Oklahoma and Stanford. (Go Sooners and Cardinal!) Before starting Pied Piper, he worked for Hooli as a part time software developer. While his work focuses on applied information theory, mostly optimizing lossless compression schema of both the length-limited and adaptive variants, his non-work interests range widely, everything from quantum computing to chaos theory. He could tell you about it, but THAT would NOT be a “length-limited” conversation!",
    "location": {
      "address": "2712 Broadway St",
      "postalCode": "CA 94115",
      "city": "San Francisco",
      "countryCode": "US",
      "region": "California"
    },
    "profiles": [
      {
        "network": "Twitter",
        "username": "neutralthoughts",
        "url": ""
      },
      {
        "network": "SoundCloud",
        "username": "dandymusicnl",
        "url": "https://soundcloud.example.com/dandymusicnl"
      }
    ]
  },
  "work": [
    {
      "name": "Pied Piper",
      "location": "Palo Alto, CA",
      "description": "Awesome compression company",
      "position": "CEO/President",
      "url": "http://piedpiper.example.com",
      "startDate": "2013-12-01",
      "endDate": "2014-12-01",
      "summary": "Pied Piper is a multi-platform technology based on a proprietary universal compression algorithm that has consistently fielded high Weisman Scores™ that are not merely competitive, but approach the theoretical limit of lossless compression.",
      "highlights": [
        "Build an algorithm for artist to detect if their music was violating copy right infringement laws",
        "Successfully won Techcrunch Disrupt",
        "Optimized an algorithm that holds the current world record for Weisman Scores"
      ]
    }
  ],
  "volunteer": [
    {
      "organization": "CoderDojo",
      "position": "Teacher",
      "url": "http://coderdojo.example.com/",
      "startDate": "2012-01-01",
      "endDate": "2013-01-01",
      "summary": "Global movement of free coding clubs for young people.",
      "highlights": [
        "Awarded 'Teacher of the Month'"
      ]
    }
  ],
  "education": [
    {
      "institution": "University of Oklahoma",
      "area": "Information Technology",
      "studyType": "Bachelor",
      "startDate": "2011-06-01",
      "endDate": "2014-01-01",
      "gpa": "4.0",
      "courses": [
        "DB1101 - Basic SQL",
        "CS2011 - Java Introduction"
      ]
    }
  ],
  "awards": [
    {
      "title": "Digital Compression Pioneer Award",
      "date": "2014-11-01",
      "awarder": "Techcrunch",
      "summary": "There is no spoon."
    }
  ],
  "publications": [
    {
      "name": "Video compression for 3d media",
      "publisher": "Hooli",
      "releaseDate": "2014-10-01",
      "url": "http://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)",
      "summary": "Innovative middle-out compression algorithm that changes the way we store data."
    }
  ],
  "skills": [
    {
      "name": "Web Development",
      "level": "Master",
      "keywords": [
        "HTML",
        "CSS",
        "Javascript"
      ]
    },
    {
      "name": "Compression",
      "level": "Master",
      "keywords": [
        "Mpeg",
        "MP4",
        "GIF"
      ]
    }
  ],
  "languages": [
    {
      "language": "English",
      "fluency": "Native speaker"
    }
  ],
  "interests": [
    {
      "name": "Wildlife",
      "keywords": [
        "Ferrets",
        "Unicorns"
      ]
    }
  ],
  "references": [
    {
      "name": "Erlich Bachman",
      "reference": "It is my pleasure to recommend Richard, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company."
    }
  ],
  "projects": [
    {
      "name": "Miss Direction",
      "description": "A mapping engine that misguides you",
      "highlights": [ 
        "Won award at AIHacks 2016",
        "Built by all women team of newbie programmers",
        "Using modern technologies such as GoogleMaps, Chrome Extension and Javascript"
      ],
      "keywords": [
        "GoogleMaps", "Chrome Extension", "Javascript"
      ],
      "startDate": "2016-08-24",
      "endDate": "2016-08-24", 
      "url": "missdirection.example.com",
      "roles": [ 
        "Team lead", "Designer"
      ],
      "entity": "Smoogle",
      "type": "application"
    }
  ],
  "meta": {
    "canonical": "https://raw.githubusercontent.com/jsonresume/resume-schema/master/resume.json",
    "version": "v1.0.0",
    "lastModified": "2017-12-24T15:53:00"
  }
}

海外だとボランティアや学歴欄へのGPA記載とかがあるんですねー。

なんとなく生きているマンにはきついキツい。

軽く項目を解説すると

  • basics

    • 名前や連絡先など基本情報。
    • 電話番号や詳細な住所載せていない海外兄貴は多かった。記載しない項目は空文字""にしている海外兄貴が多い。(nullにしている兄貴はほとんどいなかった)
    • 海外兄貴のJSON Resumeを見るとSummeryには経験年数の他、大学の専攻や経験した言語、関わったプロジェクトなど様々書いている
  • profiles

    • いわゆるSNSのリンク
  • work

    • 言わずもがな、職務経歴
    • 現在も続けている職場の場合はendDateを空文字""にする
    • highlights欄に箇条書きでポイントを書いておく(初めてPythonでAPI作成、デザイナーとして従事など)
  • volunteer

    • 言わずもがな、ボランティア経験
    • 海外の就職支援サイトTheBaranceCareerを参考にするとボランティアは イベントの計画、資金集め、問題解決などの重要なスキルを紹介する優れた方法であり、他の有給の仕事の経験と確実に統合されるべきです。とのこと
    • 私はボランティアはほとんどしたことないです。たばこの吸い殻を拾う活動は1度参加したことありますが、それっきりです。
  • education

    • 学歴
    • 学士はBachelor、修士はMaster、博士はDoctor
    • 海外ではちゃんと勉強しているかどうかGPAも重要視するみたいです。またもやTheBaranceCarrerを参考にすると3.5以上あると就職に有利、3.0を下回る場合は書かないほうがいいらしいです。(大学サボりがここにきてつらくなってきた)
    • 副専攻とかってどう書けばいいんだろう・・
  • awards

    • 受賞歴
    • 海外兄貴のResumeを見ると会社の月間売上一位みたいなのも書いていた
    • 会社内で表彰された場合はawarderをCompanyにする
  • publications

    • 出版歴
    • 機械学習系海外兄貴のものをみると論文の寄稿が目立った(かっこいい)
  • skills

    • スキル
    • 配列になっているので好きなだけ書けるアピールしまくる
    • level欄は熟達度をMaster, Advanced, Intermediate, Beginnerで記載
  • languages

    • 使える言語
    • ネイティブの場合Native Speaker、それ以外のレベルはスキルと同じ
  • interests

    • いわゆる趣味欄
    • 重要性がいまいちわからん・・。
    • 生き物が好き的な話を書いている海外兄貴は多い。イメージ戦略か?
  • references

    • いわゆる推薦人
    • 海外だと第三者である推薦人(referee)に連絡をし過去の働きぶりなどを聞くらしい
    • だいたい過去の上司、それも2人は最低書くべきらしいですね
  • projects

    • プロジェクト欄
    • どれくらいの売り上げや貢献をしたか、数値で表しましょう!
    • ここの欄は結構重要らしい。うまく書くことで、自分のスキルセットと経験がどれくらい貴社にマッチしているか示せるチャンス!
  • meta

    • 一応JSON ResumeはAPIなので、URLや改版、更新日などメタ情報を記載しましょう

APIができたら実際アクセスしてみる

上記の項目を無事に記載出来たら

Img

LinkからAPIにアクセスしてみましょう

Img

ちゃんとJSON ResumeがAPIで返却されました!

おまけ

JSON ResumeにはHTMLのテンプレートで記載内容をきれいなResumeにするCLIが用意されています。

resume-cli

こちらを利用すれば・・

Img

かっこいい!!!感じでResumeがサクサク作れてしまいます。

結論

よく考えたら、海外向けのResumeを作るほど海外志向ないのでただの海外就活サイトの読み漁りになりました

˚