2021年行ってよかったところまとめ

 2021年ももう終わりですね。
 割とみんな買ってよかったものとかまとめると思うんですが、今年はこういった状況下の割に、というかだからこそなのか色々な場所に行った年でした。
 平時であれば混雑するような場所に今だからこそ行くチャンスというのもありました。そのぶん世間の大勢以上に感染対策には気を遣っていた結果かどうか、幸いにもこれまで健康で過ごすことができました、よかった。とはいえまだ油断はできないので引き続き気をつけつつ楽しんでいきたいですね。

2021行ったところ

  • 北海道
    • オホーツク地方(北見・斜里・知床半島・津別等)
      • 夏のオホーツクへ。道の駅や湖巡りをしながら美味しいものを色々食べました。ウトロ漁港のうに、自炊ちゃんちゃん焼き・ジンギスカン。チミケップ湖。知床の地の果て。番屋。
        →次は船に乗って知床半島の先のクマを見に行きたい。
    • 日高地方(鵡川・苫小牧・新ひだか等)
      • 本物のししゃも。サラブレッド。
  • 東北地方
    • 青森県 下北半島〜八戸
      • 本州の果て。最高の大間まぐろ。八食センター。
    • 宮城県〜岩手 三陸沿岸
      • 久慈うに弁当最高。(10年来の悲願)
    • 山形〜秋田〜宮城
      • ストイック駅メモ潰し一人ドライブ。水没林。象潟。
    • 福島県 いわき
      • あじさい。四倉港
  • 関東地方
    • 栃木 塩原
      • スッカン沢。天気のいいときにリベンジ
    • 栃木 古河
      • マシマシ。町並み。
    • 埼玉三県境〜栃木古河〜茨城境町
      • 隈研吾。
    • 千葉 水郷佐原
      • 古い町並み。
    • 千葉 成田山
      • 最高のうなぎ(川豊本店)
    • 埼玉 秩父 長瀞
      • 幼少期ぶりの宝登山。廃墟。
    • 埼玉 熊谷
      • 妻沼聖天山。熊谷唯一の観光地といっても過言でない
    • 神奈川 湘南方面数回
      • 海。ギャラリー。
    • 神奈川 箱根方面数回…ほか関東地方たくさん
      • 温泉旅館。湯治の大切さ。彫刻の森。自然薯。
  • 中部・北陸地方
    • 静岡県 熱海方面数回
      • ニューアカオ。磯丸。
    • 静岡県 東部(沼津・伊豆方面)数回
      • いつもの。
    • 静岡県 御殿場〜山梨 富士山周辺・身延方面
      • いつもの。
    • 山梨県清里〜長野県野辺山方面
      • 廃墟。ヤツレン。
    • 長野県 小諸・佐久方面
      • 浅間国際フォトフェスティバル。ゆうきと寿司。
    • 長野県 駒ヶ根〜伊那方面
      • 千畳敷カール。紅葉。カモシカ。
    • 岐阜県 飛騨高山〜馬籠宿
      • 白川郷で遭難しかけて断念。街道にハマる。
    • 岐阜県 白川郷〜富山県 高岡・氷見〜石川県 七尾
      • 白川郷リベンジ。寒ブリ。ぶりしゃぶ。ベティ。
    • 富山県 氷見〜石川県 能登半島〜金沢〜福井県
      • 寒ブリふたたび。奥能登。補助金のイカ。水ようかん。
  • 近畿地方
    • 京都
      • チーフさんのおすすめ(志津屋のカルネ、もっさんのベタ焼き)。さんぽしまくる。川床カフェ。人がいなくていい。
  • 中国・四国地方
    • 香川県〜岡山県一周(倉敷・吹屋・津山など)
      • ベンガラ街。うどん。黄ニラ。
    • 香川県〜徳島県一周・高知県境付近
      • うどんに目覚める。徳島阿波踊りしかない。根性で渡った祖谷かずら橋
  • 沖縄県
    • 沖縄本島一周
      • 完全に南の島にハマり始める。沖縄道の駅一周。
    • 那覇
      • Now
    • 宮古島・伊良部島・下地島
      • 宮古ブルー。まもるくん。最高の海。
        →宮古牛もっと食べたい。ダグズ行きたい。他の離島も行きたい。

来年もどうぞよろしくおねがいします。旅行くぞー!

スタフェスメンバーの名言を紹介します

この記事は、スターフェスティバル Advent Calendar 2021の21日目です。 We're hiring!

こんにちは、soriです。

タイトル通り、社内Slackなどで交わされた会話の中で特に印象に残った名言を少しご紹介します。こういうの割と内輪ネタになりやすいので、できるだけコンテキストなしでも楽しめるようにしたいと思います。

ちなみに、弊社SlackではReacji Channelerを使って、名言といったReactionがついた発言を名言channelに流す仕組みを使っています。

「みんな二宮金次郎」 – ytake

 ある忙しいメンバーのひとりにタスクをお願いしたときに、負担をかけてしまうのは忍びないけれども他のメンバーもそれぞれ忙しく大変なんだよね、という話のタイミングで出た一言。みんな背負うものはたいへん。

「ワクチンの副反応で頭が悪い」 – yoshifujiT

 メンバーがつぎつぎと初めてのCOVID-19ワクチンを体験するなか、副反応にどきどきしてなんとなく不調かもしれない?と思ったときの一言。そういう気持ちになるときもあるよね。

「凄いことを発表して称賛されるだけの会じゃなくて失敗から学んだことでもなんでもいい。なぜなら、この会は称賛されることが確定しているのです。」 – yui_tang

昨年の記事でも軽く紹介したWin Sessionについて。Win Sessionは毎回持ち回りで信仰をやってもらうのですが、これがあまりに良い発言だったので、オープニングで毎回引用される句になっています。そのおかげか、現在のスタフェスエンジニア内では褒める言葉が毎日のように聞かれるようになり良い雰囲気になっています。

「5日働いて生き残ってる時点で優勝」 – yoshifujiT

ちょっと仕事でやらかしても、平日ちゃんと勤労してる時点でWin!

「なる早先生」 – Nさん

@情シス
1)何が: 社内システム
2)だれが: <Nさんの名前>のiPhone
ihのねぬにねぬに゛のねぬに
3)何に困っているか: 今日の朝からSlackから社内システムが見られなくなってしまいました🥲
VPN:nvuしいしっとてつちくいます。。すしいきみ゛enonnihkkcblksrqのねぬにき<システムの名前>に繋いでいつちにeonksrqrqen
4)解決希望日: なる早先生でお願いします!!?。すししねぬにおえうい゛てつちんをせすしるりに

Slackから情シスに寄せられたある日のトラブルシューティングの依頼。
それでなくても不調なのにiPhoneからの文字入力が盛大にバグってしまい、すごいtypoの嵐に。それ以降「なる早先生」のreactionが作られ、定期的に話題になっては笑いを誘っています。

いかがだったでしょうか。社内の話をネタにするのって結構難しいですね。

自社サービス「ごちクルNow」のアーキテクチャについて紹介

この記事は、スターフェスティバル Advent Calendar 2021の14日目です。 We're hiring!

こんにちは、soriです。

今日はAdvent Calendar14日目ということで、私がエンジニアリングを担当している自社サービス、「ごちクルNow」の概要とアーキテクチャについてかんたんにご紹介したいと思います。

「ごちクルNow」って何?「ごちクル」と違うの?

 「ごちクルNow」は、「オフィスワーカー向けの毎日選べる日替わりメニュー」というキャッチコピーのとおり、毎日オフィスに日替わりで選べるランチをお届けするサービスです。ランチタイムに、混雑や社内事情などでなかなか周辺に出ていくのが難しかったり、時間を有効活用したい、また社員への福利厚生としてオフィスワーカーや企業の皆様にご好評いただいています。

 先行サービスとして自社に「ごちクル」というサービスがありますが、こちらはあらかじめお弁当を予約していただき、不定期なお届けや大量お届けにも対応している形ですが、「ごちクルNow」では、日々たくさんの選択肢の中からランチを選ぶ手間を省き、よりすぐりのランチの中から、お届け当日10時(ご契約により異なります)までご注文いただけるサービスとなっています。両サービスでは名前が似ているので、たまに間違えられます(笑)

 私のおすすめは素材Lab。のお弁当です。ごちクルNowをもし使っていただいたさいは是非食べてみてください!

ごちクルNowのシステム

 ごちクルNowは、上記リンクにあるサービス紹介ページを除き、サービスを提供するシステムは大きく分けて下記のように分かれています。項目ごとにアーキテクチャ等をご紹介します。

  • ごちクルNowの基幹システム(API、定時処理を行うバッチなど)
  • webフロントエンド(ブラウザによるご注文を受ける箇所、各種管理画面など)
  • Slack bot(Slack channelにランチをお知らせし、購入を受け付ける)
  • ごちクルNow アプリ

ごちクルNowの基幹システム(API、定時処理を行うバッチなど)

Node.js / Typescript – Express server
 ESLint / prettier
 jest / codecov
 Firebase Admin (主にアプリ向けバックエンド)
OpenAPI Generator
Cybozu Kintone
PHP – Laravel (バッチ処理に一部残存)

 あらためて言うまでもないかも知れませんが、Node.js環境の開発当初からjest、GitHub Actionsによる継続的インテグレーション、またlinterやprerttierなどの導入により一貫したスタイルでの開発を行うことができており、サービスの安定稼働に寄与しています。
 またNode.jsを採用しているので、npmのエコシステムを活用して各外部サービスとの連携なども積極的に行いやすい環境となっています。

 基幹システムからフロントエンドまで、一貫した開発を提供するためにOpenAPI Generatorが導入されています。OpenAPIで記述したAPI定義をもとにwebフロントエンド、ネイティブアプリ等各種サービスに適用することにより、TypeScriptの型も適用され、チームでの開発においても齟齬やミスが少ないコーディングスタイルを維持することができています。

 サービス稼働当初は過去経緯もありレガシースタイルなPHPへの依存度が高く、機能追加や改修の障害となっていましたが、Node.js環境への改修が進み日々システムの洗練が進んでいます。(PHPが良くないというわけではありませんが、当初の基盤設計の負債を解消する必要があったほうか、各システムとNode.jsの親和性がよく、現状の開発しやすいスタイルへの布石となっています)
 また、運用チームや各パートナー様とのやりとりのため、Kintoneのデータベースと連携を行っていますが、こちらについても内製への置き換えを進めています。

webフロントエンド(ブラウザによるご注文を受ける箇所、各種管理画面など)

Node.js / TypeScript – Next.js (React)
 Material UI / styled-components / 独自UI Components
 ESLint / prettier / stylelint
 jest / storybook / snapshot test

 フロントエンド系ではNext.jsを採用しています。ReactのComponentやhooksを使うことにより、デザインとの親和性を保ちながら効率的な開発を行うことができます。Next.jsの開発は日進月歩で、マイグレーションも大変ですがユーザーにより快適な体験を提供するのに役に立つと感じています。
 共通のUIについてはUI Components Repositoryを各小システム内で共有し、統一感がありなおかつ、似たような見た目でありながら微妙に違うコンポーネントの再生産を避けることができています。

 CSS FrameworkについてはMaterial UIも活用しつつ、styled-componentsで各Component内のパーツを構成しています。近頃はtailwindなどclassを活用したものも人気がありますが、styled-componentsは柔軟性の面で有利だと感じています。

Slack bot(Slack channelにランチをお知らせし、購入を受け付ける)

Node.js / TypeScript
bolt.js

 ごちクルNowのサービスにおいて、他であまり見ない特徴的な機能の一つはこのSlack botです。毎営業日、注文受付開始時間と当日朝に、お届けするランチをSlack Apps経由でchannelにお知らせします。

 上記がとある日のランチお知らせです。基本はSlackが公式で提供しているbolt frameworkを使っています。また、jsx-slackを併用して、Block Kitを活用したSlack上で画像やその場での注文を可能にしたインターフェースを提供しています。

ごちクルNowアプリ

React Native / TypeScript
 Firebase
 React navigation
 Fastlane

 ごちクルNowのサービスを便利にフル活用していただくのに、ネイティブアプリは不可欠です。現在、iOS / Androidでアプリを提供しています。
 と、このネイティブアプリについては、チームメンバーのyoshifujiT氏のAdvent Calendarエントリに詳しいのでぜひこちらをご覧になってください。

最後に

ユーザーのみなさまに喜んでいただけるよう日々改善や新機能開発に取り組んでいますが、現状のように開発しやすいスタイルを続けられているのは開発当初から基盤の設計・開発に取り組んでいただけた協力メンバー・チームメンバーのおかげです。そしてもちろんサービスを使っていただいている企業・ワーカーのみなさま。この場を借りてお礼申し上げます。

ごちクルNowもこれからもやることはたくさんあり、そのためにはさらなる仲間が必要です。興味がありましたら是非! 記事に関しての質問もお待ちしています。

WeWorkたのしいの話

この記事は、スターフェスティバル Advent Calendar 2021の7日目です。 We're hiring!

こんにちは、soriです。
思い出したようになにかかくブログですが、気がつけば前回の記事が昨年のアドベントカレンダーでした。やばい。

前回のAdvent Calendarは1日空いてYAhiruことあひる氏の姿勢の話がなぜかPureScriptに展開するいい話でした。

1年間、過ぎるのは早いものでなんだかんだ色々環境が変わりますね。
弊社スターフェスティバルでは、今年は7月に本社移転がありました
移転先は「WeWork the ARGYLE aoyama」。
WeWorkとは、ご存じの方も多いかも知れませんがワークスペースを提供している企業・サービスで、都内や日本・世界の各地に拠点がありフレキシブルな働き方ができるようになっています。
社内では引き続きWFH、リモートワークでの働き方を継続しつつ、多様な働き方のひとつとして COVID-19の状況も踏まえながらオフィスに出社することもできます。

 社内ではWeWorkを二種類のアカウントタイプから割り振られるようになっており、本社での勤務がマストな(いわゆるコーポレート業務などです)メンバーは、青山の本社オフィス拠点をメインに使用できるアカウント。またその他のエンジニアを含む多数のメンバーは各地にある拠点の共有スペースのデスクを自由に予約して使用することができます。

 この働き方の自由さにより、たまに自宅を離れて集中して作業することができたり、場所を決めてチーム等で顔を合わせてミーティングや業務をすることで、オンラインのみのやりとりだけでは足りないコミュニケーションを得ることができています。

 ちなみに現在所属しているチームでは、メンバーの同意のもと、週に一度本社オフィスで集まって定例ミーティングや1on1、その他業務をしています。私個人的には、頻度も週イチで無理がなく、空白のコンテキストを埋めるいい機会になっています。
 それでも、強制ではないのであまりオフィスに集まらない選択をしている別チームもありますし、個人的に業務や体調の状況に合わせて今週は休む、という選択も無理なく行える雰囲気で仕事できています。

WeWork行ったことある拠点

 まず、いろいろな場所に拠点がありおしゃれオフィスなのでテンションが上ります。
私がWeWork勤務を開始して言ったことのある拠点は本社青山オフィスのほか、OceanGateみなとみらい、Hareza池袋、日比谷パークフロント、Iceberg(神宮前)です。

 本社のあるthe ARGYLE 青山は、外苑前駅から近く、昔ベルコモンズがあった場所に新築されたビルの上階にあります。

 本社移転前はスターフェスティバル本社は恵比寿にありましたが、実は私がスターフェスティバルに入社した8年少し前には外苑前のすぐ近くのオフィスに通っていました。当時の通勤を懐かしく思い出しながら、変わったところと変わらないところと楽しみながら過ごしています。
 オフィスの向かいにはクリスプサラダワークスがあったり、UberEatsなどの宅配サービスのラインナップも豊富な場所で良さです。…あっ、弊社(というか私のチーム)では、ランチを気軽に注文できるごちクルNowっていうサービスもやっているので、今のところ、本社にいればそれも注文できます!(このサービスについては後日またお話しますね)
 また、WeWorkにはコミュニティマネージャというオフィスの管理などを行ってくれるメンバーが居るのですが、フレンドリーに接してくれ、オフィスの困ったことややりたいことなど気軽に相談できるので楽しく過ごすことができます。

 次に行ったことのある拠点、OceanGateみなとみらいは、横浜はみなとみらいの駅近く、マークイズやクイーンズスクエアなどがあるエリアの一角にあります。以前ガーデンプレイスで同じビルにいたcookpadもこちらに移転したことで話題になりましたね。

 みなとみらいの高層階なので海みえます、景色とにかくいいです。
最近できたみなとみらいのロープウェイが動いてるのも窓から見えてちょっとテンション上がりました。
 ココのいいところは他にもあって、他の拠点にもたまにあるのですが窓際に掘りごたつライクな席があって、作業していて気持ちいいです。うちからは遠いのでたまにしか行けないですが、たまに気分転換にいくのにめっちゃいいです。

 次はHareza池袋。池袋東口に割と最近できたTOHOシネマズなどがあるエリアのオフィスビルの上階にあります。

 ココも綺麗で、景色いいです。トイレから北側の景色が見えて気分転換になっていい。池袋なので埼玉在住の私には一番近くて通いやすいので良いです。エンタメ系のお店や施設もたくさんあるのでそういう興味の人たちにもいいですね。

 日比谷パークフロント。ここは日比谷公園の裏手、内幸町のエリアですね。山の手線の東側なので、ビジネス・スーツの雰囲気がふんわりしています。

 ここは屋上が自由に立ち入りできて、ランチや休憩・気分転換を楽しめるのがいいです。日比谷公園が一望できます。
 また、オフィスの地下が、地下鉄駅と近隣ビル一帯が繋がっていて、飲食店がいっぱいあってお昼の楽しみが多いです。しかし一つ面倒な点として、オフィスに入るときにエントランスで手続きがいるところがあります。

 最後にご紹介するのがIceberg。氷山の名前を冠するこの拠点は明治神宮前に近く、渋谷からもちょっと歩けば着く明治通り沿いにあります。ビルの外観もかっこよくて目立ちます。移動にはLUUPが便利っていうお話もしたいですがこれは次の機会に。

 ここもだいぶおしゃれ拠点で、外観がかっこよければ室内もかっこいいです。めちゃくちゃでかい窓の前で仕事できるので、とにかく天気の良い日は明るくて元気になります。
 1階にはカフェがあってWeWork利用者は割引で買えるとかなんとか(まだ使ってない)。あと個人的にうれしい点として、WeWorkではお茶やコーヒーなどのドリンクサービスがあるんですが、ココの拠点では冷蔵庫にタカナシ牛乳があって自由に飲めます。タカナシ牛乳はポイント高い。

まとめ

 いかがだったでしょうか。今後も他の拠点も行って活用してみたいと思っています。
WeWorkたのしいですが、もっと拠点増えてほしい!埼玉県にもできてほしいし、旅行大好きなので各地方ももっと増えてほしいなー
 そんなエンジョイオフィスワークスタイル気になった方はぜひスタフェスに来てください。エンジニアメンバー、まじめっちゃ募集中です。お気軽にご連絡くださいー。

明日のAdvent Calendarは同じチーム内でもめちゃめちゃバリュー出して活躍してくれているエンジニアのyoshifujiT氏です。どうやらReact Native周りの話をしてくれるらしい。お楽しみに!

2020年、スタフェスに文化が来た

この記事は、スターフェスティバル Advent Calendar 2020の9日目です。
スターフェスティバルではエンジニアを募集しています。

こんにちは、soriです。おもに法人・団体向けのお弁当の宅配サービス「ごちクル」でご存じの方もいらっしゃるかもしれない、スターフェスティバル株式会社(=略してスタフェス)でエンジニアをしています。
現在はオフィスワーカー向けのランチ予約・お届けをするサービスの開発を主に担当していて、Node.js/TypeScript/Next.jsまわりのコーディングを日々やっています。
(前回のほぼコピペ)

さて、今日はスタフェスのエンジニア部署の環境についてお話させていただきます。
特に、スタフェスのエンジニアに興味がある人だけでなく、過去のスタフェスを知っている方、過去にスタフェスを受けたり調べたりしたもののマッチしなかった方にも、現在の状況を知っていただけたらと思います。

2020/2 @sotarokがjoin

以前元メルカリ社にてCTOとして活躍していた、@sotarok 氏が2020年2月にスタフェスのCTOとしてJOINしました。
このことは、エンジニア部署だけでなく会社全体を巻き込んでの大きな変革のきっかけになりました。

社内コミュニケーションツールがSlackへ全社移行

CTOの主導により、まず社内のコミュニケーションツールの見直しが始まりました。
それまで、スタフェスではSlackはFree Planにてエンジニア部署のみが使用しており、主にアプリケーション連携によるアラートや更新系などのフィード通知にしかか殆ど使っていませんでした。

全社的にはChatWorkが使われており、エンジニア間のコミュニケーションついても当初はChatWorkがメインとなっていました。
ChatWorkはたしかに国産プロダクトであるため、非開発メンバーにとっても一見とっつきやすいと感じる部分もありますが、弊社ではChatworkにおいてコミュニケーションがそれぞれのチャットルームで閉じており、他の部署において何が起きているのかわからない、また情報を拾いに行くことができないという課題がありました。また、そういった状態により健全なコミュニケーションがとりづらいという問題もあります。
もちろんエンジニア部署として、数々のIntegrationを使いたい立場としても、全社的にSlackを使用して諸々できたほうがモチベーションが上がるというのもありました。

2月初頭にSlack移行プロジェクトチームが発足し、その後各部署ごとに色々対応スべき事項はありましたが、6月末には移行プロジェクトがミッションを完了し、全社的にSlackでオープンなコミュニケーションをするための土台が完成しました。

現在でも、部分的にprivateDM問題などもあり継続して対処していかないといけない箇所はありますが、全体的に情報へのアクセス性が良くなり、いい雰囲気へ向かっていると感じます。

そしてコロナ禍がはじまる 〜リモートワークへ〜

Slack移行と時期を近く、日本国内でCOVID-19ウイルスの感染者が増加し、オフィスへの出社が見直される時期となりました。

スタフェスでも、緊急事態宣言頃からリモートワークや時差通勤体制が始まり、働き方がメンバーにより大きく変わりました。
その状況においても、Slack移行ができたのは状況下でも情報共有が大事となっていく中で良かったと思います。
現在では、社内の多くの部署が在宅での勤務が可能となっており、リモートワーク対象者には手当も支給されるようになりました。

また、エンジニア部署においてはいわゆるスーパーフレックスタイム制度での勤務となり、在宅勤務においても勤務時間において融通がきくようになり、効率的に業務を最善のコンディションにて行える環境が整っており、個人的にだいぶ助かっています。
(余談ですが私は埼玉から通勤していましたが、通勤がなくなった影響で仕事の効率が上がったのはもちろん、体を壊さなくなったり、自分の時間を取れるようになり新しい趣味ができたりと良い事ずくめで最of高でした)

プロダクト開発制の採用

また大きく変わった点として、それまでエンジニア部署はおおまかにチーム内で職種別(フロントエンド、バックエンド、インフラなど)に分かれており、各事業部署から上がってくる案件をこなしていくのみの、いわゆる社内にいながらにして社内受託のような状況になっていました。

こちらについてもCTOの主導により、プロジェクトチームを軸とした体制となり、プロダクトマネージャ、マーケティング、運用、デザイナー、エンジニア等それぞれのポジションのメンバーが一体となってサービスの質を高めていける良い循環が発生し始めています。

…しかし、まだ今後のプロダクト開発を進めていくにあたってどうしてもメンバーが足りません!!今年に入ってから勢いのあるメンバーがたくさんJOINしてくれていますが、まだまだスタフェスのプロダクトを動かしてくれるメンバーを必要としています。興味のある方は是非

社内の技術スタックの向上

これまでスタフェスでは、開発環境として主にPHP、CakePHP、Laravel、js、Vuejs(2)を中心とした技術を用いてきました。

PHPやLaravel自体に罪はないのですが、サービス全体として設計や過去の負債を多く抱えている状態の中大きな改善をすすめることができずにいた状況でしたが、今年に入ってからCTOや他の勢いのあるメンバーのJOINによりスタフェス開発をとりまく環境についても大きく変わってきています。技術的な雑談レベルの話も、以前に比べて格段にしやすい環境になっています。(前はしにくかったのかという話ですが、割とそういう部分がありました…)
そのあたりの話についてはスタフェスのnote(この記事とかこの記事)も是非読んでみてください。

GitHubの採用

これまで社内ではStash(Atlassian社のコード管理、いまではBitbucket Serverとなっている)を使っていましたが、GitHubへ多くのプロジェクトを移行しています。

GitHubの強力なインテグレーション、Actionsなどを使うことができるようになったのはもちろんのこと、Contribution(草)に成果を反映することができるようになったのでエンジニアのモチベーションも高くなったと思います。

nodejs/TypeScript/Reactなどのjs系技術の採用

はじめに新規事業のプロダクト「ごちクルNow」にてこれらのjs系の技術を採用し、その後新規で始めていく大きなプロジェクトについても徐々にこれらの技術の採用が始まっており、型レベルでの開発の保証や、テスト駆動開発などの健全で堅牢な開発が多く進められるようになっています。また、新規事業にてスピード感のある開発を進めていく中で、得られたノウハウを他プロジェクトにフィードバックすることもできています。

既存アプリケーションについての改善

新しい技術の採用があるとはいえ、ビジネスを継続していくためには既存のアプリケーションのお世話もしなくてはなりません。先程のnoteの記事にて紹介のあった @ytake氏がJOINし、既存のPHPプロダクトなどの大規模な改善が始まりました。
過去の技術負債についても次々と改善が進んでおり、PHP,js系に限らずインフラを含めた最適な技術選択により、既存メンバーを巻き込んで全体的なブラッシュアップが始まっています。

毎月のWin Session Partyの開催

プロジェクト制での開発を行っていく中で、どうしても他チームでやっていることが普段のやり取りだけではわかりにくいこともあるかもしれませんが、その点についてはスタフェスのエンジニアは月に1度Win Session Partyを開催して、プロジェクトチーム内でのやっていることの共有や、成果を各自褒め合うポジティブな会を設けています。
現状都内を中心に感染症の状況が悪化しているためオンライン開催が中心ですが、状況が良くなったときには定期的にメンバーのリアルでの顔合わせができる機会になると良いと思っています。
各プロジェクトチーム内でもふりかえり会などを実施してチーム内での良いサイクルが回るよう日々努力しています。

最後に

他にもご紹介できることがあったかもしれませんが、一旦思いついたこの辺にて。
まだまだ課題もたくさんあり、楽な仕事と言うことはできませんが、チームでの開発は楽しく、やりがいがあり、確実に良いやりかたに向かっていると感じています。ぜひ、興味を持った方はスタフェスに来てくださいね!

せっかくWFHだしワーケーションしてみた

この記事は、スターフェスティバル Advent Calendar 2020の5日目です。
スターフェスティバルではエンジニアを募集しています。

こんにちは、soriです。そういえば前回のAdvent Calendarの記事は自己紹介をしてませんでした…。おもに法人・団体向けのお弁当の宅配サービス「ごちクル」でご存じの方もいらっしゃるかもしれない、スターフェスティバル株式会社でエンジニアをしています。
現在はオフィスワーカー向けのランチ予約・お届けをするサービスの開発を主に担当していて、Node.js/TypeScript/Next.jsまわりのコーディングを日々やっています。(これ前回のときに説明するべき内容かもしれない…)

弊社ではCOVID-19情勢を受けて、2020年3月から段階的にWFH(Work From Home、いわゆる在宅勤務、リモートワーク、テレワーク)を導入しています。当初は緊急事態宣言の発令など、急遽対応せざるを得なくなったこともあり制度が整っていない点もありましたが、状況の長期化や、WFHによる利点の多さなどもあり徐々に全社的に制度も整ってきています。(なお、感染対策をした上で希望によりオフィスでの勤務しているメンバーも居ます。人によりWFHは合う合わないはあると思いますので、いずれにしても押し付けのない働きやすい環境です)

WFHの具体的な事例についてはまた機会があったらお話するとして、今日はWFHの状況を利用してワーケーションをした話をします。
WFHを初めて、感染者の状況も落ち着きつつあった11月の頭、私は長崎へ5日間のワーケーションを楽しんできました。といっても、日曜・祝日・移動日の休日を利用したので、実質仕事をしたのは2日間です。

宿泊について

朝食のサバサンド
ホテル近くの朝食で食べたサバサンド。

仕事をする場所について、一般的なwebエンジニアがワーケーションするには最低限インターネット及び電源環境が安定している場所が必要かと思います。
基本的には長崎のコワーキングスペースや、電源のあるカフェを当てにしていましたが、それなしにも最低限宿泊地でも仕事ができる場所を探し、結果長崎市内大浦にあるレジデンスタイプのホテル(マンションをリノベーションしたようです)を4泊5日で押さえることにしました。

ホテルは小綺麗なワンルームのような間取りで、小さいキッチン(ガスやIHはなかった)、バストイレ別、洗濯機が備え付けで、まるまる5日間の暮らしには問題ないものでした。簡易なデスクと椅子もあり、短時間のエンジニアリング作業には問題ない感じでした。

ちょっとしたよかった点として、周辺に感じの良いカフェがあり、4回の朝のうち3回はそこで朝食をとりました。長崎ではサバサンドをご当地グルメとして推しているらしく、朝にさっぱりして美味しかったです。

ワーケーション1日目

ワーケーション1日目は旅行自体の2日目です。
移動の初日や最終日は、移動疲れなどもあると思うので休みにしておくのがいいと思います。

旅行先での仕事をしたのは月曜日で、その日は長崎県内で海鮮を食べたいという野望があったので、まず午前中にホテルにて仕事、お昼に移動と朝食、その後カフェで仕事という計画にしました。

午前中については先程書いたとおりで、ホテルの回線状況も問題なく普通に仕事できました。強いて言えばホテルの椅子がIKEA製の固いもので、長時間の作業には向かなそうでしたが、今回は長い時間作業しなかったので問題なかったです。

お昼前ぐらいにレンタカーを借りて移動を開始し、長崎の北部の松浦の道の駅でブリの丼をいただき、海鮮欲を満たせました。その道の駅のご飯のようすは道の駅メモの記事に書いてあるので良かったら見てください。

その後佐世保に移動し、五番街という港湾沿いの商業施設にあるスターバックスの電源席で午後の作業をしました。弊社のエンジニアは勤務時間に自由が効くため、このような移動のときも融通が効いて便利です。

インターネット回線についてはスターバックスのフリーWifiも使えなくもないのですが、セキュリティに安全を期すため、同行者と折半してこの旅行のためにモバイルルーターを借りています。

お昼過ぎから夜19時頃にかけてそこで作業したのですが、景色もよく夜に向かって段々と景色が変わっていく港の景色を見ながらの仕事はとても快適でした。

夕方ぐらいにZoomでのミーティングに参加したのですが、旅行先で仕事をしていると現在の状況をミーティング先に共有したくなるという気付きがありました。なんとなくテンションが上がるもんです。

佐世保での仕事風景。

仕事の後は佐世保のローカルグルメ、佐世保バーガー…ではなくレモンステーキを食べに佐世保のLemond Raymondという有名店に。とにかく普段では食べれない美味しい食べ物を仕事の日でも堪能できるのがワーケーションの醍醐味ですね。

レモンライスというセットを注文。混ぜるとチーズのとろけ具合がやばい。

ワーケーション2日目

また日を改めてワーケーション2日目。この日の前日は祝日だったので、ペンギン水族館を見たり島原半島を巡ったりして楽しみました。ワーケーション2日目は旅行の4日目です。

この日はあまり移動はせず、前もってスペースマーケットで予約していた、コワーキングスペースのHafH Nagasaki Gardenへ。

この施設はHafHという働きながら宿泊ができるサブスクリプションサービスの施設で、この施設についてはドロップイン利用(つまり、コワーキングスペースの日中利用)のみもできるとのことでそれを利用させていただきました。

こちらの施設がとにかく良さみが高く、旅行先の仕事場として最高でした!

ロケーションは長崎の路面電車の諏訪神社前からバスで10分程度、高台にありあちこち移動するには至便とは言えないのですが、高台にあるだけあってとにかく景色がよく、古民家のリノベーションされているスペースで快適、ワーキングスペースには掘りごたつ式にコンセントのある作業スペースと、あと人をダメにするソファ完備で完璧、もちろんインターネット回線スピードについても問題ありませんでした。

コワーキングスペースの部屋内の写真は撮り忘れてしまったので、さきほどのスペースのサイトを見てもらえればと思います。

とにかく外の景色が開けていて良いので、普段パソコンに向かってばかりで目が疲れてしまったときには遠くの景色を見て気分転換なんてこともできます。

ランチなどご飯を食べる場所は近くにないんですが、お昼はまたバスに乗って少し移動して、諏訪神社近くの「カレーの店カルカッタ」というお店でトルコライスをいただきました。

トルコライス。カレーがけができる。カレーがピンク色で面白い

施設の直ぐ側にはファミリーマートもあるので、そこで大体のものは済ませられるでしょう。

先程もちらっと触れましたがこちらの施設は宿泊もでき、聞いたところによると移住して長期滞在している人もいるとのこと。

HafHのサービス施設はわりと全国にあるようなので、次回また機会があれば他の場所でも宿泊も含めてワーケーションに使ってみたいですね。(余談ですが、別の機会で普通に旅行で宿泊した施設も偶然HafHの施設でした、びっくり)

ワーケーションに行って帰ってきて

結論から言うとワーケーション、こういった状況の中自宅にこもってばかりで普段の閉塞感のある環境からがらっと居場所を変えることで、最高のリフレッシュになりました。
今回は5日間の間2日だけ仕事という限られた期間でしたが、次回はまるまる一週間ぐらいどこかでワーケーションしてみたいという気持ちになっています。

遠くに行ってワーケーションしてみるのもいいですが、ちょっと足を伸ばした場所の河原とかで、キャンプ椅子持ち込んで仕事するとかもいいかな、とも思っています(その場合電源が問題になりますが、、)

次回に活かしたい点としては、割とでかけたい場所がいっぱいあるとほぼ観光に時間を割きたくなるので、仕事をするなら環境はきれいで良い場所だけどそこまで魅力的なスポットがないところでもいいのかなと少し思っています。

もちろん、こういった現況ですからわたしたちも、人の混み合った場所に行かない、食事のときはあまり喋らず、喋りたいときは食べ終わってからマスクして話すなど、色々気を使っていました。感染対策には気をつけて、できる状況にある方は楽しんでみるといいかもしれません。

prismic.ioではじめるGraphQLの第1歩

この記事は、スターフェスティバル Advent Calendar 2020の2日目です。
スターフェスティバルではエンジニアを募集しています。

近頃、仕事で扱う技術スタックがPHPからNext.jsやexpress等node.js系へ移行したため、趣味に個人的な学習を兼ねて新たに個人サイトを作ることにしました。
それが以前のブログ記事でも紹介した道の駅メモです。
(こちらは技術的試行を兼ねているのととりあえず要素が強かったためデザインと呼べるレベルの内容をしていないのはご容赦ください…)
技術スタックの移行について詳細はまた後日のAdvent Calenderにて書く予定です。

Next.jsを使うことは決めていましたが、これまで運用していた(このブログが動いている)Wordpressのサーバで共存して動かすのではなく、運用負担などを考え新たにheadless CMSやFaaSを採用することにしました。
こちらで採用しているメインのアプリケーションは以下のようなものです。

  • Headless CMS(記事や画像の管理などを行う)
  • フロントサイド(Headless CMSで取得した内容の表示等を担う)
    • Next.js (React Framework)/TypeScript
    • Vercel (Faas、静的サイトホスティング等)

Prismic.ioでは、はじめにCustom Typesによりタイトル、本文、各種属性、画像フィールドなどを設定しておくと、APIサーバとして動作し各種アプリケーションに対して記事のコンテンツを各種形式にて出力する役割をしてくれます。
なお、現在Community Planで無料で使うことができます。(詳細

REST APIは各種言語にてライブラリが用意されており、簡易な手法でjs系各種フレームワークや、PHP、Ruby、Javaなど各種言語から容易に取得することが可能となっています。

ここで私が着目したのはAPIの出力形式としてGraphQLに対応している点です。
GraphQLはデータベースに対してスキーマを定義しクエリを呼ぶことで、使いたい各種ビジネス要件に対して個別にクエリを発行し、フロントエンドより必要なデータのみを取得することができます。

一般的にREST APIを使用した場合、当初は完璧と思ってAPI設計をしたものの、追加した各種ページで表示したい要件が増え、似たような要件を持つendpointが増えがちということがありますが、そのような場合にとりわけGraphQLはマッチしていると言えるでしょう。

またGraphQLを使った場合、SQLで言うSELECT文に相当するフィールド指定には*(すべてのカラム)のような指定ができないため、意図しないテーブルのデータが流出することをロジックレベルで回避することができるかもしれません。(例えば、APIのレスポンスからIPアドレスなどの情報を意図せず出力してしまうことなど)

具体的な文法などの情報については今回の記事では特に触れませんが(この点に関しては各種先行記事が参考になるでしょう)、GraphQLについて煩雑な構築等を避け手っ取り早く体験するため、このPrismicは大きな助けになると思います。

最初にご紹介したサイトでは、Next.jsからPrismic.ioのGraphQL endpointにクエリを発行し、条件に応じた記事一覧や記事情報を取得するということをしています。(なお、後から知ったことでPrismic.ioのGraphQLではグループフィールドにおいてフィールド指定の検索ができず、都道府県ごとの記事検索には別途REST APIを使っています。この場合はタグを使用したほうが良かったらしい…)

Prismic.ioではGraphQLを使う際に、GraphQL API Explorerを使用してコードに組み込む前にクエリのデバッグもできる点も評価できるでしょう。

node.js環境からGraphQLにアクセスするためのクライアントは apollo-client を使っています。
apollo-clientを導入した場合、強力なコードジェネレータを使うことがNext.js/Typescriptの環境において大きな助けになるでしょう。

まずprismicからAPIによりスキーマファイルを取得した上で、必要なクエリをgraphql-tagライブラリのgql文によりcomponentなどのソースコードに記述し、targetやクエリの場所、スキーマファイルを指定しコードジェネレータを使うと、ソースコードと同階層に__generated__ディレクトリが生成され、クエリのレスポンスに対するTypeScriptの型ファイルが自動生成されます。

特に複雑な定義をせずともクエリ文を書くだけで型定義が着くのはすごく便利と感じられる方が多いのではないでしょうか。

とはいえGraphQLにはパフォーマンスを考慮したりスキーマを正しく設計する点が難しかったり、課題は沢山ありそうで、場合によってはREST APIと並行して運用することが必要だったりするかもしれません。
しかし近頃DB migrationやORMなど、実装に難しさを感じる点などについて新たなパッケージが成熟しつつあるように思えます。

今現在すぐにGraphQLが活かせる状況になくても、近い将来手近に活用するシーンが見えて行きているように感じますので、今のうちにできる事から学んでみるのはいかがでしょうか。

(理解しきれていない箇所や間違いなどあるかもしれません、ぜひコメントなどでご指摘ください)

台湾に行きたい気持ちになったので台湾旅行記を書く – その2

前回はこちら https://lanieve.jp/archives/821

台湾に到着して、それから

台湾桃園国際空港は、台湾最大の国際空港で、中心地の台北から少しだけ離れた桃園市にある。市といっても、日本の市とはちょっと違って直轄市という、都道府県に近い存在だ(と思う)。台北の中心地にはもっと近い松山空港があるが、こちらの桃園空港のほうがだんぜん離着陸数は多く、日本でいう成田空港と羽田空港に近いかもしれない。(とはいえ最近は羽田の規模拡大によって少しイメージは遠くなりつつある。)乗ってきたPeachなどのLCCは、台北に行く場合必然とこの空港に着くことになる。

まだ誰も新型肺炎のことなど考えていない時期で、時間的にも旅客の多い時間だったらしく、入国審査には長蛇の列ができていた。インターネット依存の高い私は、待ち列で早速携帯電話のローミングをONにする。私の契約では、丸一日海外ローミングが無料で使用できるようだった。早速、アンテナマークの横に中華電信の文字が出て、日本ではないところにいるということに改めて実感を得ることになった。

入国審査では、機内で記入した入国カードとパスポートを提出して、指紋チェックが行われる。大した会話も行われず、本人確認をして通過。パスポートにはじめての入国スタンプを貰えた。Peachで到着した第1ターミナルは、第2ターミナルに比較してシンプルで地味なイメージがある。異国への入国感を味わいたいなら、エバーやチャイナエアに乗って、入境後にフォトスポットのある第2ターミナルでの到着をおすすめしたい。

荷物を受け取り、ゲート内の銀行で両替に並ぶ。ゲートを出た後に、さほど並んでいない銀行もあったのでそちらにすればよかったと小さな後悔。未経験の旅にはこういう細かい失敗はつきものである。ちなみに、台湾への旅行のときは日本で両替していくより現地で両替したほうがレートが良いとネットで知ったので、たぶんそうなんだと思う。

うろうろしつつ現地のSIMも購入。3日ネット利用し放題で1000円ほどで買える。
もう少し安いSIMもあるようだったが、エリアに不安があると嫌なのと、日本でいうソフバン程度のキャリアなんだろうという偏見で無難にメジャーどころの中華電信SIMを買った。
SIM利用料はめちゃくちゃ安く、日本国内もこれぐらいで使い放題なら良いのにと思ったが、きっと日本も海外利用者には優遇しているプランがあるんだろう。

さてこれから台北市街に向かうわけだが、桃園空港から台北へは「桃園機場捷運」という、MRTとも呼ぶ交通に乗って移動する。捷運(MRT)とは、日本で言うと地下鉄のような、とはいえ地下でないところも走るし新交通システムのような趣もあり、それなりに早い電車だ。ちなみに台湾では近頃各都市でこの捷運が流行っているらしく、次々と建設が進んでいる。
もちろんそれが唯一の手段ではなく、時間があれば路線バスやタクシー、マニアックなところでは新幹線に乗り継いで行く手もある。台湾の交通手段は比較的どこでも安く、何を選んでも値段はあまり変わらないだろう。

空港から捷運の駅は日本の都市空港がそうであるように直結している。駅の通路にさっそくCoco都可のタピオカスタンドがあり、台湾らしさを感じた。

券売機の前でうだうだしていると、ボランティアのおじちゃん様の、おそらく捷運の職員だと思うが、陽気でテンション高く購入の案内をしてくれた。台湾では、Suicaのようなチャージ型ICカードがいくつかあり、私はあらかじめ国内でメルカリで購入しておいたキャラクター柄の悠遊卡(EasyCard)を、同行者のM氏は券売機で購入し、チャージをして乗車をする。

捷運は台北に近づくまでは高架を走るため、しばらくは車窓の景色を楽しめる。着陸時からテンション上がりっぱなしの私は、車窓から見える建物や看板の文字などを見ながら「すごい、すごい」を連呼するバグ状態になっていた。ふと車内を見ると、捷運の案内モニターにもWindowsのエラーダイアログが表示されたままになっていた。おおらかな国である。しばらくすると、路線は地下に入り、終点の台北車站に到着した。

(続く)

台湾に行きたい気持ちになったので台湾旅行記を書く – その1

2020年4月、3度めの台湾旅行に行く準備をしていた。私にとっては3度目の海外旅行でもある。想像に難くないと思うが、その予定は流れてしまった。また次行きゃいいんすよ、そんなノリでひと月、そして半年が経過した。

相変わらずまだ海外に行けない日々は続いているし、早くても今年いっぱいは無理だろう。それどころか来年すらしばらく難しいかもしれない。来年には延期されたオリンピックも開催するらしいが、きっとそれも絵空事に終わってしまうと思う。

半年が経ってようやく国内の旅行へは様子を見つつ行けるようにはなってきたが、まだまだ閉塞感は強く、日に日に台湾への思いは募るばかりだ。また台湾へ行く日を夢見て続けている中国語学習も、台湾で活動するYouTuberの動画もその気持ばかりはやらせる。

ここいらでひとつなにか消化するものをと、2度だけ行った台湾旅行の体験を書いていこうと思う。

準備とか経緯とか

その1度目の旅行は2019年11月だが、その頃私は同人サークル内の友人とよくあちこち回り、半分撮影旅行のようなものを頻繁にするようになっていて、自然な流れで台湾に行きたいですね、という話になった。前述のとおり私にとって海外旅行は初めての経験だったので、半年ほど前から準備を進めていたと記憶している。

実はその8年前、台湾に行く計画はあった。諸々由あってその計画は流れてしまったのだが、そのときにパスポートは取得していて、果たしてそのまま使えると思ったのだが、若かったのもあり手数料をケチった5年パスポートは綺麗に期限が切れており、またパスポートを発行しに行く羽目になってしまった。前回パスポートを発行したときと時代は少しだけ違って、県内の中心地にあるパスポートセンターではなく最寄りの市役所で取得できるようになっており、どうでもいいところで進歩を感じた。

パスポートを入手した頃から計画は具体化し、まず自由度の関係からツアーではなく個人計画の旅行で行くこととし、同行者のM氏と往復の交通手段や宿泊地を決める段となった。結果としてその判断は良かったと思うが、M氏には初の海外なのにツアーじゃなくて普通に個人旅行選ぶのちょっとびっくりした、と言われた。自分達で決められない旅行とか面白くないじゃないですか。

基本的に台湾に行くときは飛行機一択だと思うが、当時ふるさと納税でPeach Aviationの航空クーポンが泉佐野市で馬鹿に安く手に入ることができたというのがあり、それで行くことにした。予約時にはなんとかなると思っていたのだが、LCCのPeachで片道4時間近くの度は厳しい。尻が割れる。帰国後、M氏とLCCはもうやめようということで固い一致を見た。

今回は台湾は台北と定番の観光地である九份に行くことにして、台北では小綺麗なシティホテルを、九份では1軒家タイプの民宿をそれぞれBooking.comとagodaで予約した。台北のホテルは完成して間もないようで、ストリートビューで検索したら建設中の様子が写っていた。九份へは台北から日帰りで行くこともできるのだけど、超人気観光地なだけあり日中の人混みは半端ないということを事前調査で知り、九份で民宿に宿泊すれば日帰り観光客が撤収したあとの静かな九份を楽しめる、とのことだったのでそのようにすることにした。宿の様子は当日の話で後述しようと思う。

台湾の基礎知識なども一応仕入れていった。
まだその時は台湾にハマっても居なかったので、ネットの旅行記や空港での手続きの流れなどを一通り調べた程度。ごはんもだいたい食べたいものだけ探しておいた程度だったと思う。

最低限言葉も覚えておかないととは思ったんだと思う、でもモチベーションがそこまでなかったので「洗手間在哪裡?(トイレはどこですか?)」「一路平安!(道中ご安全に!)」だけ覚えていった。今思えば声調もメチャクチャだし、トイレはどこですか?に至っては結局最後まで使わなかった。一路平安!はUberの運転手の兄ちゃんに降りしなに言ってみたらちょっと考えたのち、あぁ!と言われて笑顔でお別れすることができた。発音は大事です。

当日は確か羽田空港まで車で向かって、空港の駐車場に停めた。LCCなので、とにかく朝が早い。初めての海外で心配なのもあり、自宅は深夜1時半に出発した。朝早い便で移動すると現地で過ごす時間が長くなるというメリットは有るが、この歳になると朝が早すぎると確実に後の行程に響く。若くて体力が有り余っているならいいが、あまりおすすめはしない。

出国手続きは特にスムーズに進んだような、同行者のM氏が荷物かなにかで躓いていたような気もするが、最終的に問題なく飛行機に搭乗することができた。

はじめにも書いたがLCCの座席幅はつらい。Peachは機内インターネットもないので、なにかしら本を読んだりオフラインゲームをするなどして時間をつぶすか、もしくは寝るしかない。着陸する頃には体はぼろぼろになっている。

しばらく海の上を飛んでいたが、着陸のアナウンスが流れ、陸地が見えてくる。

疲れてはいたが、窓から見る景色に田畑のなかに沢山の池が見える。
地表に近づいてくると右側通行のバイクが見える。
見たことのない景色にだんだんテンションが上がってきた。

(続く)

なぜ道の駅のきっぷを集めるのか

先日、新たにsoriの道の駅レポートというサイトを個人的に作り、更新をはじめました。

ここ2年ほど、旅行や写真撮影であちこちの場所を回る際に見つけた道の駅に立ち寄ることが習慣になっており、結構行った場所が多くなってきたこともあり、誰かにおすすめしたりする際の記憶の助けになると思い、つけ始めることにしました。

道の駅レポートのコンテンツの一つであり、行った場所の記憶を呼び覚ます助けになっているものの一つが「道の駅のきっぷ」です。

「道の駅のきっぷ」とは

道の駅のきっぷは、株式会社アプトが販売元となって、全国の道の駅で販売している硬券切符型の訪問記念グッズです。

道の駅きっぷの見本。

このきっぷには、デザインとして表面に道の駅のロゴ、道の駅名称、所在地が配され、左側には日付を打印可能なスペースがあります。
裏面は各道の駅の観光案内、特産品、歴史などの端的な紹介が示され、このデザインは道の駅ごとにそれぞれ発注しているもので色々な個性があり、きっぷを集める楽しみの一つとなっています。

また、裏面にはきっぷの連番が示されており、連番が若い順から発行されているということになります。
オープンしたての道の駅や、あまり購入者、訪問者のいない道の駅だと番号が若いです。
若い番号やキリ番(!)だとちょっと嬉しくなりますね。

どこで売っている?

道の駅のきっぷの販売箇所は、道の駅の総合案内所、もしくは特産品販売のレジで販売していることが多いです。
販売箇所を探す場合は、まず総合案内所の有無を確認、たまにあっても無人の場合があり、その場合は特産品販売のレジでの販売であることが多いようです。
きっぷの販売がある箇所では、スタンプラリーブックのポスターが貼ってある事が多いので、探す一つの目安となるでしょう。
また、道の駅のきっぷは独特の販売什器があるので(写真なくてすいません)、一度外観覚えるとそれとなく見つけやすくなるでしょう。

販売箇所にてきっぷを希望すると、ほぼ100%の箇所で「日付を入れますか?」ときかれます。希望すると、日付スタンプで当日の日付を入れてくれます。
コレクション用途によっては、日付が入っていないほうが好まれるのかも知れませんが、私は旅の記録として必ず入れてもらうようにしています。
(一度、群馬県の道の駅で、朝一番だったのもあり日付がおかしなことになっていたことがありました、押し直してくれましたが、、)

日付スタンプは若干乾きが遅いようで、半数くらいの拠点では「インクが乾いていないので気をつけてください」と、一言申し添えてくれる気がします。細やかな気遣いありがたいですね。

一点注意を。道の駅は、トイレは24時間やっていますが、道の駅の販売窓口の営業時間は早く終わってしまうことが多いです。
概ね、9:00〜17:00を目安にするといいでしょう。
遅い場所では20時ぐらいまでやっていますが、夜に期待すると道の駅では痛い目を見ます。

すべての道の駅で販売しているわけではない

ここで水を刺すような情報ですが、道の駅のきっぷはすべての道の駅で取扱をしているわけではありません。
基本、道の駅で販売を希望し、アプト社に発注して在庫のある店舗しか販売していません。

様々な道の駅を回った感触としては、概ね古めの道の駅施設では販売していない可能性が高くなります。(もちろん全てではなく、古めでも販売してたり、その逆もあります)
公式サイトで販売駅として紹介している道の駅でも、在庫切れや存在を把握していない拠点もあります。
(紹介されているにも関わらず販売していない拠点は、お店の方の対応もあんまり、、な気がします、偏見ですが。道の駅が密集している場所に多い気がします)

なぜ、きっぷなのか

道の駅の訪問経験のある人なら、このような疑問が湧くかも知れません。
「道の駅にはスタンプラリーもあるのに、なぜすべての箇所で販売していないきっぷを集めるのか」

第一にして最大の理由は、「忘れっぽいから」
完全に個人的なうっかりポイントなのですが、単純にスタンプラリーブックだと家に忘れて押せない事が多いです。というか、直接は関係ないですが、過去に御朱印を集めていたときも御朱印帳を忘れて押せなかったことが多々ありました。。

その点道の駅のきっぷは、買って財布の中にでも入れておいて、家に帰ってからバインダーにでも集めればよいのです。便利!

スタンプラリーブックの場合、道の駅の増加があった場合買い足さないといけないなどの問題もありますね。

道の駅のきっぷの利点はほかにもあります。
前述の日付が入る点や、観光案内などが印刷されているので、行ったときの記憶を呼び覚ますことができるのです。

きっぷの集め方

道の駅のきっぷですが、どのように集めているかというと、バインダーを使用しています。

道の駅のきっぷは、一般的な硬券のD型サイズと言う規格となっているようです。

ひとつは、きっぷ販売元の販売している専用バインダーを購入するという手があります。
横に2列、1ページあたり10枚入り、3枚が標準で付属しています。リフィルとして追加もできるようです。
道の駅の中で充実している箇所では道の駅のバインダーを販売しています。道の駅探しがてら、見つけたら購入してみるのも良いかも知れません。

私は、クンペル社のチケットコレクションホルダーを使っています。リフィルDタイプを購入しましょう。1ページあたりに入る数は少ないですが、カラフルでスタイリッシュなので気に入っています。
ヨドバシ.comやAmazon.co.jpで購入することが多いです。

きっぷのレア要素

実は、道の駅のきっぷには特別仕様のものがあります。
道の駅オープン記念や、道の駅でイベントがあった際などに枚数限定で発行されるようです。

しかし、特別仕様きっぷについてわたしはあまり詳しくありません。
基本、ポリシーとして「道の駅のきっぷのための訪問はしない、あくまでも道の駅に用事があった場合についでに買いに行く」というものがあるので、なかなか記念きっぷに巡り会えないのです。。

その中で現在唯一入手できたのが道の駅富士吉田の記念きっぷです。

右上2番めが記念きっぷ。クンペルバインダーに挟んである状態です。裏側の観光案内も一部見れるかなと

ちなみに、特別仕様のきっぷは非売品であることが多いようです。

さいごに

どうでしたか、道の駅きっぷに興味はわきましたか?

私と同じ集め方をする必要はまったくありません、興味が湧いたら、道の駅に寄ったついでにでも少し探してみてください。