2018年のGoogle Local Guidesの結果が届きました


2018年の2-6月まで、集中的にGoogle Local Guideの投稿を行ったところ、一気にレベルがアップし、10月には本社でのイベントに御呼ばれしました。昨年末にまとめとして書いた通りです。

それがこうした形でレポートとして届けられましたのでアップいたします。今年はあまり活動できていませんが、もう少ししたら投稿を復活しようかな、と考えています。ライフログはSwarm + FourSquareで継続しますが。


2019年上半期弊社の抱負(実践版)


仕事

* まとめの書き方を変更
   今までは一年まとめて一気に膨大なまとめを書いていました。
   これを月ごとにまとめを書きます。
   また、まとめを書く際、個人としてのまとめと仕事上のまとめを分けます。
   これによってより細かく月々の状況を把握することが狙いです。
   水筆で月名を書き、その画像をアップします。

* 弊社サイトのAWS +kusanagi移行(SSL対応)
   現レンタルサーバーは引き続き最低限のプランで継続する予定です。
   ですがSSL化が今のプランではできません。
   また、他プランへの変更の際にサーバーの移管作業が必要です。
   なので、この機会にウェブサイトのみAWS + Kusanagiへの乗せ換えを行います。
   これは4月を予定しています。

* 技術者の雇用
   昨年末に面談を済ませた方と、どういう方式で契約を結ぶか。
   1月~2月中旬までに双方の条件をすり合わせ、
   4月から何らかの形で稼働していただきます。
   仮にその方が折り合い付かない場合も4月からの増員増に変わりはありません。

* 事務所の設置
   3月までに契約面のすり合わせを行い、4月中にレイアウト策定。
   5月の連休明けからの使用を考えています。ただし本拠地は現在と同じです。

* 英語の睡眠学習開始
   すでに機器は入手しましたが、その機器に修理が必要です。
   先日修理に出しましたので、その結果次第です。1月末から勉強を始めます。

* kintone Café 神奈川の実施
   1/19にkintone Café 埼玉に参加します。
   これを機に、kintone Café 神奈川も春と秋に一回ずつ始めます。
   人数は最低限でもよく、体裁は問いません。まずは実績を作ります。
   その他にも何かしらの勉強会を一回は開催します。内容は問いません。
   また、お呼ばれすれば他所のイベントでも登壇します。まず3月のkintone Café 広島。

* 元号、消費税率に合わせ棚卸し
   今までに弊社が手掛けたシステム開発案件で、
   元号計算や元号表示を行っているロジックを棚卸します。3月末までに行います。
   それに合わせ、秋に予定されている消費税率変更にも備え、
   消費税率の棚卸も行います。これも3月末とします。

* LinkedIn、Eightの活用
   仕事関係のSNSはFacebook、Twitterの二本を軸とします。
   Twitterについては、代表が書くこともあれば、中の人が書くこともあります。
   Facebookは今と同じ頻度にし、主に自社、他社の記事をシェアするのに使います。
   その他、LinkedInとEightにも弊社および代表の仕事上の活動報告をアップします。

* 売上額
   2018年度の1.25倍を目指します。そして粗利は今年並みの金額を。

* 事業計画
   自己流であってもよいので、3月までに今年と五年後の計画を。

* 新規のkintone案件
   8本の受注・検収を目指します。

* モバイルアプリ
   MONACAを使った案件を一本受注・検収します。

* 出身大学の東京での経済会加入
   ずいぶん前から検討していましたが、こちらは1月中に入会を行います。

* 自治会・町内会IT化への道筋を描く
   SNSでの発信はもちろんですが、きちんとした形で世に問います。
   そのため、コツコツと文章を書きためます。
   今年9月末までに草稿を書き終えたいと考えています。

* 当抱負のアラート表示
   この抱負が書きっぱなしにならぬようにします。
   毎月末に通知やアラートで自分にリマインドを投げます。
   なおかつ、毎月末に書くまとめでは、計画の進捗も含めて書きます。
   また、下半期に入る前に、下半期用の抱負(実践版)を書きます。

* そのほかのお客様案件
   ここには詳しくは書きませんが、納期を守るよう最大限の努力を払います。


2019年上半期個人の抱負(実践版)


個人

* ウイスキー検定二級の取得、唎酒師に向けて勉強開始
   二年前にとったきりのウイスキー検定三級から二級の取得を目指します。
   年二回の実施なので、初秋での合格を目指します。
   また、唎酒師についても取得に向けて情報収集を開始します。可能ならばビアテイスターも。

* トランクルームの棚設置
   4月末に棚を買い、トランクルームに入れている書籍の整理を行います。
   5月の連休中に行うつもりです。

* ラグビーワールドカップ(一試合は観戦)
   秋に予定されているラグビーワールドカップですが、最低一試合は生で観戦します。
   まだチケットが取れるかもわかりませんし、これから予定を立てる必要もありますが。

* 海外1国、国内12都道府県の旅行
   ここでいう旅行とは、その地を足で歩くことです。
   日本の滝百選の滝は8カ所を目指します。
   近畿/中部/関東/東北の駅百選は20カ所を目指します。
   日本の城百選、続日本の城百選の城は10カ所を目指します。
   酒蔵は3カ所、ウイスキー蒸留所は3カ所訪問します。

* 毎月一度の一人のみの実施
   酒の種類、場所は問いません。毎月一度は一人で反省する時間を作ります。

* 毎月一度の一人旅の実施
   12都道府県の旅行は、この一人旅で稼いでいきます。
   その中で三回は車中泊による遠距離の旅をしたいですね。

* 読書は100冊。読む読むブログも100冊。
   ジャンルは問いません。引き続き読書を続けます。

* SNS
   SNSは毎日のFacebookへの投稿は続けます。
   また、Twitterも同様に不定期で続けます。
   さらにInstagramも同様に不定期で続けます。
   要は昨年と同じような使い方です。
   ただ、Twitterはもう少し影響力を増やす方法を模索します。

* 音声入力の勉強
   これらの読書量とブログ執筆を両立するには、音声入力に頼るしかありません。
   引き続きより最適な方法を検討します。
   また、喋りすぎて充電が減ってしまうことが考えられるので、
   車内充電の手段を確保します。

* 娘たちのフォロー。
   二人とも進学するため、きちんとフォローを行います。

* 腰痛の治癒。
   これは、1月中には一度きちんと訪問します。

* 感謝
   これは、SNSではやりようがないので、
   なるべく今までお世話になったさまざまな人に会うようにします。
   会わないと感謝は届けられないので。


2019年の抱負


新年明けましておめでとうございます。

大晦日にアップした投稿にも書きましたが、昨年度は皆さま、いろいろと有難うございました。
今年も引き続き、よろしくお願いいたします。昨年の流れをさらに加速し、なおかつ、あらわになった課題を解決する努力を惜しまず進みたいと思っております。

今までは新年の抱負を胸の中で徐々に温め、個人的な抱負は家族のみに披露していました。ですが、昨年からこの場で具体的に書いてしまおうと思います。自分を追い込むためにも、自分という器の容積を広げるためにも、目標は高く持ちたいと考えております。

1.法人化5年目にあたって
 あ)総括・・
 4年目の決算は、前年度を上回ることができそうです。その中にはSES業務が含まれていますが、それを除いても平年と変わらぬ額を確保できそうです。

 い)SES業務はなるべく請けない・・
 SES業務に頼るのは経営上よろしくありません。SES業務がはらむ問題は昨年末にアップしたまとめにも書きました。自社の要員をSES業務の要員に派遣するならまだしも、弊社の場合は自社の要員がおりません。つまりSESで得た業務のノウハウが弊社にたまりません。それはSES業務が「人貸し業務」と揶揄されるゆえんでもあります。かといって弊社代表がSES業務の現場に入る訳にもいきません。代表は他の業務にも目を配らねばなりません。管理する時間も削られます。そもそも、代表自身の単価がSESの一般的な相場単価では賄えません。代表の技術についてはそうした評価もいただくようになりました。

 う) SES業務に頼らない・・
 SES業務に頼らない場合、業務の軸として考えられるのは業務請負か自社サービスの展開です。前者はお客様から業務を請け負い、弊社リソースで足りない部分は外注する形態です。その際、外注費はなるべく下げねばなりません。そして外注費比率を下げつつ、同時に外注パートナーの労力に見合った外注費を支払うことが肝要です。そうするには売上の単価を上げるしかありません。今まで弊社代表が個人事業主として独立してから犯しつづけていた過ち。それは、単価を低く設定しすぎたことです。ユーザー側からIT業界に入ったため、ユーザー側の立場での単価設定を心掛けていました。ですが、それは継続したサービスの提供を行う上で逆効果だったようです。

 え)kintoneを軸にする・・
 粗利率をあげるため、弊社代表が関わる作業はなるべくなじみのスキルで賄えるようにしました。今年もその路線を突き詰めていこうと思います。kintoneは大手会社でも開発基盤に採用されつつあります。そこからも多数の案件を請けられるようになってきました。弊社の今後の軸になり得るソリューションだと思います。そのためには弊社代表がkintoneエバンジェリストである点は活用するのが吉です。もちろん、引き続きエバンジェリストとしての発信が求められるでしょう。そしてkintone単体ではなく、kintoneと他の言語やソリューションの組み合わせで新たな価値をお客様に提供する。その心意気が大切です。新たな分野に飛び込むことを自重した昨年ですが、いくつかの開発言語の新たな習得にチャレンジしました。ソリューションについてもさらなる勉強が求められることはもちろんです。業務効率の追求と新たな勉強を両立する。そしてコーディングだけではなく設計からの上流工程にも絡めるような一年でありたいと思います。そうあり続けるには、ブログによる発信や登壇はもちろん、イベントの主宰などを通じた弊社および代表の認知の拡大が重要だと思っています。お呼ばれいただければ各地のセミナーにも顔を出したいと思います。

 お)体制の変革・・
 そのためには弊社にとっての弱点を克服しなければ。一つは個人事業主時代から続く財務の脆弱さ、もう一つは経営と作業を代表が兼任している現状です。それらを克服するため、今年は4月に二つの変革を行うつもりです。一つは出先の事務所を増やすこと。本拠は変えませんが、出先の事務所を設けます。出先の事務所には常駐しませんが、打ち合わせに活用します。これはすでに場所もほぼ確定しています。これによって家庭と事務所の分離を促進します。もう一つは人の雇用です。昨年末、お世話になっている会社様の忘年会に呼ばれました。弊社と同時期に法人化したのに、すでに5名の優秀な技術者を雇用し、売上を拡大しています。とても刺激を受けました。弊社も昨年末、とあるご縁から技術者の面談を行いました。その方とどういう形で仕事をしていくのかは年明けから決めていきますが、技術者さんの希望に寄り添いながら慎重に決めていこうと思います。

 か)外注パートナー・・
 外注パートナーは昨年に引き続き、限られた企業様と続けていくつもりです。おととし、むやみにパートナーを増やし、自由意思に任せた失敗は繰り返しません。お客様と弊社、弊社内、そして弊社とパートナー。その間で工数をかけず、なおかつ確実に仕様情報を伝達する。どうやればあちこち飛び回る代表の時間を割いてスキルが円滑に伝達できるのか。どうやればお客様の業務要件を開発に落とし込めるのか。そのためのドキュメントツールやコミュニケーションツールは引き続き模索していかなければ。この工夫に時間を掛けるつもりです。

 き)自治会との関わり・・
 弊社が関わる業務に制限は設けないつもりですが、自治会関係の案件は積極的に取っていこうと思っています。コーディングや設計にも携わりますが、主には登壇による認知度拡大を図っていくつもりです。「自治会 IT」で検索すると代表がトップに登場する。そんなアドバンテージは得ようにも得られません。今のうちに自治会の業務は形にしたいと考えています。その結果が各地の訪問につながれば良いと思います。代表の個人的なライフワークである地方訪問と地方創生への何らかの貢献へと。

 く)事業計画・・
 もう一つやるべきこと。それは経営の軸がぶれないような事業計画の策定です。その方法はこの二年でヒントをいただきました。2020年はすぐにやってきます。そして2020年が過ぎればシステム案件は減っていくでしょう。それを見据えた計画が求められます。具体的には今年の売上額は、2018年度の1.25倍を目指します。事業計画は3月までに今年分を、4月までには5年後の計画が書かれたものを作りたいと思います。あと、新規のkintone案件を8本受注することを目指します。そのためにはkintoneの案件で実績を作り、それをブログなどでアピールするしかないでしょう。実は一昨年、昨年とあちこちにまいた種が育っています。これらを実のある実績にすることが今年前半のミッションだと思っています。実績を作って行けば、自然と年末のkintone Advent Calendarや登壇の場でご披露できるネタはたまるはずなので。

 け)主催するイベント・・
 昨年の反省の一つとして、主催イベントが公私ともにゼロだったことが挙げられます。これは今年最低限解消しないと。最低でも三回は行うつもりです。多数の人を巻き込む発信力は代表に足りない課題なので身に着けていきたいです。

2.話す技術、書く技術、システムの技術
 あ)話す技術、書く技術・・
 昨年に引き続き、この2つは精進しなければと思っています。去年、書くほうは量的には目標を達成できました。しゃべる方も自信がつきました。今年は主宰イベントもからめ、しゃべる機会を増やしたいと思っています。代表の脳の回路の癖ですが、話さないとすぐにスキルが衰えてしまいます。ただ、書くほうもそろそろ目に見える成果として世に問いたいと思っています。今年も読読ブログは100本アップすることを目標とします。また、技術Blogは去年の二倍の量を目指します。弊社代表が独立して法人を立ち上げるまでを描く「アクアビット航海記」が案外読まれています。続きを望まれることさえもあります。発表媒体がないのは言い訳に過ぎません。まずは、今まで連載していたメディアの担当者に弊社内での転載の許可を得、続きを弊社内サイトで書いていくことも考えています。

 い)システムの技術・・
 システムの技術ですが、言語はGoを。さらに、AWSの中身についてさらに勉強を行うつもりです。AWS Loft Tokyoという格好の場ができたことですし。また、MONACAを活用したモバイルアプリを一本、形にしたいです。

 う)弊社サイトの刷新・・
 それにあたって弊社サイトのhttps化は必須です。松の内が明けてすぐ、弊社サイトを載せているレンタルサーバーの更改が迫っています。当面は今のレンタルサーバー上で動かしますが、それだとhttps化ができません。なのでなるべく早いタイミングでkusanagiを使い、AWS上に乗せ換える予定です。

 え)リモートワーク・・
 昨年知り合った弁護士の方は海外をあちこち訪問しながら仕事をこなし、成果を上げています。弁護士の業務と同じレベルを開発で行うのは難しい。それは分かっていますが、少しでも近づきたいと思っています。リモートワークしながら開発するスキルと設備を増強する予定です。

3.ブログ
 あ)全体・・
 昨年に続いてInstagram、Facebook(法人/個人)、Twitter(法人/個人)の使い分けを行います。それに関して昨年末にライフログについての考えをまとめました。今年も引き続きSNSは発信のみを中心に、あまりSNS巡回作業には時間を使わずに運用する予定です。また、ライフログでいうと、Google Mapへの投稿でGoogle本社のイベントに招待されました。昨年は英語動画がアップできず、Google本社には行けませんでしたが、今年は逃さぬようにしたいです。
 書評、劇評、映画評、時評や旅行紀、技術ブログは2018年並みの量を維持します。それと同時に、技術的な記事はもう少し増やしたいです。昨年に引き続いて、私にしか書けないブログにしていきたいと思っています。ブログのスタンスは昨年と変わりません。実名で責任から逃げないもの。また、押し付けにならぬよう私から友だち申請をしないことも同じです。これらを成し遂げつつ、質を落とさずに仕事でも成果を上げる。それはかなりの難関です。どこまで生産性を上げられるかにかかっています。

 い)音声入力・・
 すでに書くスピードをこれ以上上げるのは難しい。今の自分に無駄な時間はまだあります。どうやって無駄な時間をインプットの時間として活用するか。引き続きそのための情報収集をするつもりです。公共の場でスマホにしゃべりかけず、なおかつ正常にインプットできる方法を求めて。

5.体力と魅力増強
 あ)滝と山・・
 昨年の春に痛めた腰は、結局一年近く治らないままです。今年も山や滝めぐりはしたいと思っています。日本の滝百選に選ばれた滝は8カ所を目指します。具体的には、去年この抱負で挙げた滝はどこも行けなかったので引き続き。ニッカ宮城峡蒸留所に行きたいので、秋保大滝と三階の滝を。岡山蒸留所に行きたいので、神庭の滝を。維新151年の山口を旅したいので寂地峡五竜の滝を。阿波の土柱をみに行きたいので雨乞の滝と大釜の滝を。JR三江線が3/31で廃止になったので常清の滝を。それと娘たちから家族で長野のカムループスさんに伺いたいとのリクエストをもらっており、近くの惣滝を。他はどこか一カ所、九州の滝には行きたいですね。無理そうなら阿寺の七滝か養老の滝、または霧降の滝、常布の滝か早戸大滝のどれかを。それと、ここ二年、日本百名山に一峰も登れていません。どこか一峰は登りたいです。そのためにはまず腰を直さないと。

 い)訪問・・
 海外は一か所、国内は12都道府県の訪問を目指します。私の人生で日本の滝百選、近畿/関東/中部/東北の駅百選、名水百選、日本100名城、続日本100名城のコンプリートは最低限の目標です。それらが実現できるよう、引き続き旅に旅を重ねていきます。

私は、まとめについてはほとんど読み返しませんが、自分の目標は何度も読み返しています。これを黙読だけでなく、音読することで一層実現に近づけたいと思います。

引き続き本年度もよろしくお願いいたします。


2018年のまとめ


今年もevernoteで下書きをこしらえ、弊社ページにて一年のまとめを書きます。

総括すると、2018年は公私ともに充実していたと思います。ようやく自分の時間を自在に扱えるようになりつつある。そんな手応えを感じた一年でした。ですが、今の状況に安住する愚は犯してはなりません。そこには痛切な課題も潜んでいます。達成度6割。達成感7割。満足感8割というのが自己採点です。2018年の私および弊社とご縁をいただいたすべての方々に感謝します。ありがとうございました。

公私の「公」

●弊社の業績
§ 総括 目次 今年度は売上だけで考えれば、過去最高の実績を上げられそうです。今期はあと三ヶ月残っていますが、売上見込みも粗利見込みもたっています。何とか黒字も達成できそうです。が、一概に喜ぶわけにはいきません。その売上の中にはSES(システム・エンジニアリング・サービス)契約に属する業務も含んでいるからです。上半期に顧問税理士の先生のもとで今季の収支予測を立てたところ、このままの粗利率と売上では赤字が避けられない、との結果が出ました。そこでSESとは一線を画した営業チャネルを構築しました。その結果、ある程度の成果が得られつつあります。そして弊社リソースでも技術力で複数の案件をこなし、上流工程から関わることで粗利を確保する。今期はそのめどが立ったことが大きいです。ただ、弊社の財務状況が脆弱である事実には変わりありません。今の好況も後もって二年でしょう。そのためには弊社の利益体制も変革することが喫緊です。今、弊社では、来季に向けての体制を構築すべく動いています。

§ 業務パートナー 目次 実は昨年度、業務パートナーを増やし、ある程度の自由と自発に委ねました。それは見事に失敗しました。今年の初頭にもその余波が残っており、弊社に影響を与えました。その反省を痛烈に受け止めました。そして対策を打ちました。
それは、弊社内のリソースで売上を上げつつ、パートナー企業様もごく一部に絞る方策です。ただ、その売上の一部は、上に書いた通り、SES業務によるものです。SESに手を染めると売上は確保できますが粗利は下がります。それはつまり弊社の抱える労力ではなく、外部から調達した労働力を紹介し、仲介料を得る業務だからです。 また、SESは技術者派遣の一種ですからノウハウは技術者にこそたまれど会社のノウハウになりにくい欠点があります。また、SESは一度手に染めると売り上げがたつためそこに頼りがちになります。さらに会社の業務構造がSESに頼ってしまい、抜け出すのが難しくなります。言い方は悪いですがSESとは企業経営にとって麻薬のようなものだと思っています。エンドユーザーが支払う額と、末端の技術者が受け取る差額がどれだけなのか。その差異は暗黙の了解でうやむやになっています。ところが技術者本人の立場からするとそのギャップは大いなる矛盾として身をさいなみます。弊社代表も長らく末端で派遣される側であったため、その矛盾にもがきました。SES業務にそのような矛盾が内包されている以上、将来性も見込めないし、弊社としても粗利は見込めない。ですから弊社としてはSESは最低限に抑えるつもりです。
また、弊社自身が多数の会社から案件の発注先にお選びいただきました。ありがとうございます。その中で開発パートナーとして契約を結んでくださったイノベーション・プラス様とのご縁は来年大きく成果につなげたいと考えております。

§ 開発案件 目次 昨年の反省として、バラエティに富んだ開発案件を請け過ぎました。それを見直すため、携わる作業分野をかなり絞りました。そしてその分、提案にかなり力を注ぎました。それが功を奏し、新規kintone案件が複数受注できました。また、上にも書いたとおり、粗利を増やすため、弊社代表が関わる案件を増やしました。弊社代表の持ち時間は一日24時間しかありません。限られた時間を効率的に使えるような案件に絞る。その取り組みが功を奏した一年でした。
また、人脈作りにも力を入れた事が結果にも返ってきています。今年ご縁のあった方からの大型kintone案件も受けられるようになっています。来年以降の業務にもよいお話をいただけています。弊社代表は今年もkintoneエバンジェリストに継続して任命されており、DevRelJpで教わったTwitter活用で積極的な発信を行わせていただいております。年末にはkintone Advent Calendarに四年続けて参加し、ライフログをkintoneで活かす記事を書きました。
来年、さらにkintoneの案件のニーズは増えるでしょう。それはkintoneのサードパーティ製プラグインの充実を凌駕し、kintone専属エンジニアの仕事を絶やさないはず。引き続きそうした案件の新規受注を増やし、少しでも安定的な案件を増やす。これは必ず達成すべき課題だと思っています。
また、開発案件を絞ったとはいえ、開発に限れば新たな挑戦や勉強にも取り組んでいます。例えばIoT開発の案件。NFCリーダーを活用したプロトタイプアプリを作成してテクニカルショウヨコハマ2018に出展するネタを作りました。MONACA上でビルドし、モバイルアプリとして動かす案件にも二つほど携わりました。他にもnode.jsやPythonも勉強し、PythonフレームワークのDjangoとAWSのEC2やAURORAと組み合わせたソリューションとして結実させています。言語環境や開発環境については日進月歩の業界なので、勉強し続けなければなりません。停滞は許されませんので。

§ 業務基盤の堅牢化 目次 昨年度から取り組んでいるこの課題こそ弊社の一番の悩みです。昨年、個人事業主時代からずるずると続けていた家計と法人の財布の混在を完全に分け、資産表や収支表はきっちり顧問税理士の先生に管理していただいています。が、まだ改善すべき点が多いです。引き続き財務の正常化が弊社の今後を大きく左右すると認識しています。同時に、経営計画や事業計画書の策定にも取り掛かっています。来季は弊社の体制の変革も考えており、より家計と会社の分離を進めて行く予定です。今年はIT導入補助金導入支援事業者にも選定されました。そこで得た信用をより厚くしなければ。

§ 社内体制 目次 弊社の弱点は財務のほかに、私一人が実質的な経営者と作業者を兼ねていることです。ここをどう突破するかが個人事業主と企業経営者の壁でもあります。この壁を破るため、次なる体制構築を秋ごろから構想し始めています。年の瀬からは一部動き始めています。これが来年どう形になり、どう実るか。

§ 2018年度売上見込み 目次 上記の通り、SESの割合が高くなったとはいえ、SES以外の業務でも過去最高の売上のめどは立っています。今のペースを続けられれば、決算でも2017年度の実績より上回れる見込みがつきました。ただ、残り三カ月の努力が重要なのは言うまでもありません。

§ 人脈の構築 目次 今年は登壇も含めて露出および交流を増やそうとしていました。名刺コレクターに堕することなく、有効な人脈の構築に専念する。その結果、重要なステークホルダーの方とのご縁が多々作れました。Facebookを見る時間は一日に5分程度ですが、Twitterでの露出も増やし、焦点を定めた交流を心がけることで有効な営業チャネルがたくさん作れました。それが今年の充実した活動に繋がったと思っています。来年度も今年のノウハウを活かしつつ、引き続き新たなご縁をいただければと思っています。単なる仕事上のつながり、SNS上のみつながりだけでなく双方に良い関係を。ただ、代表個人の時間には限りがあり、お誘いしてもらったイベントの多くに参加できていません。この点は申し訳ないと思っています。

§ 対外活動 目次 2017年度は登壇の機会がほぼありませんでした。それを反省点として、今年は登壇の機会を増やしました。合計4回。まず5月のサイボウズ社にてチーム応援ライセンス開始記念セミナーに。「チーム応援ライセンス開始記念セミナー」「弊社ブログ」「「自治会こそITが必要!!」20種類を比較検討したIT顧問の選択
一番最後のサイボウズ社のブログに掲載のエントリーは、「自治会 IT」で検索すると一番に現れます。実はこのフィールドでも弊社は有利な位置におり、今後もこの有利さを活かした取り組みを考えています。
残り三つの登壇は、全てEBISU Tech Nightというイベントにおいてです。六月、九月、十二月と登壇して参りました。このイベントでは自分の中でも話し方や内容についてよい訓練の機会となりました。機会を与えて下さった運営の方々には感謝しかありません。
もう一つ今年の活動として代表が出身の関西大学の四回生向けに社会人の経験を語るイベント「東京知ル活」にもOBとして参加しました。少々、身もふたもないことを言い過ぎたかもしれませんが。
他にもさまざまなサービスのエバンジェリストの方が集まるDevRelJpに二回参加し、その両方で自己紹介のLTを披露させていただきました。また、cybozu Days 2018の前々日に行われたkintone evaCampでも他社サービスのエバンジェリストの方とご縁をもらい、とてもよい刺激を吸収しました。Cybozu Days 2018に初めて両日とも全て参加したのも今年です。
他にもイベントや勉強会、セミナーなどあれこれと参加させていただきました。「国際ファッションセンター新年会(1/11)」「荒川区ビジネスプランコンテスト(2/16)」「技術者交流会(3/30)」「ワイン&グルメ ジャパン2018(4/11)」「Zoholicsセミナー(4/18)」「IoT分科会(4/20)」「クラウドコンピューティング EXPO(5/10)」「東京知ル活(5/11)」「NPO応援ライセンス開始記念セミナー(5/16)」「AWS Summit Tokyo 2018(6/1)」「BNIバンブーチャプター代理出席(6/5)」「【ハンズオンセミナー】アプリにプッシュ通知を組み込もう!(6/6)」「Prezi Night Tokyo Ⅶ(7/13)」「kintone devCamp (8/2)」「Twilio ビジネスセミナー(8/23)」「kintone Café Tokyo(8/29)」「Smart Communication Award 2018(9/21)」「AWS Loft Tokyo オープニングパーティー(10/1)」「ハロー職1(10/7)」「DevRel Meetup in Tokyo #35 〜ソーシャル〜(10/10)」「墨田区地域クラウド交流会(10/19)」「Cybozu Days 2018(11/7-8)」「kintone Café Japan 2018(11/10)」「プロ向け勉強会 #1「AWSでWordpressを使うときのトラブル回避術<(11/15)」「技術者交流会(11/23)」「徳丸浩のセキュリティセミナー WordPressの運用時に注意するセキュリティについて学ぼう!(11/29)」「定着率・求人応募率アップ!紙芝居で学ぶユニーク会社制度セミナー on Zoom(12/1)」「DevRel Meetup in Tokyo #37 〜忘年自己紹介大会〜(12/5)」
こうした場に参加することは、自分の知見を高めるだけでなく、そこで得たご縁が次の仕事につながるため重要です。あらためて今年はそのことを感じました。ただし、今年の私ができなかったことがあります。それはイベント主催です。幹事すら一度もやっておらず、これはとてもよろしくない。kintone Café 神奈川は何度か開催のご要望ももらっていたのですがタイミングを逸してしまいました。来年は何か主催をせねばならないと思っています。

§ 執筆活動 目次 昨年からCarry Meさんの運用する本音採用でブログ「アクアビット 航海記」の連載がcarry meさんの編集方針と合わず、三月で連載が終わってしまいました。ところがこの連載、思った以上に各方面に読まれております。また、39回で中断した時点で、独立から起業に至る肝心な所は書けていません。これはどこかで発表の場を作りたいと思っています。
本のレビューは104本(相撲の歴史まで)、映画のレビューは8本、観劇のレビューは3本アップできました。また、12月には上に書いた通りkintone Advent Calendarに参加しています。その他の仕事に関したブログは23本。計138本のブログをアップしました。2018年も書くことへの情熱が尽きることなく可能な限り書けた一年となりました。ただし、書いた内容はまとまった形にできていません。来年、何らかの成果として世に問いたいと思っています。

§ 妻のココデンタルクリニック 目次 妻のココデンタルクリニックは、新患さんも増えてはいるようです。が、2018年度は妻自身が別のお仕事に忙殺されてしまい、傍から見ていてもとても診療室経営に専念できているとはいえませんでした。それは、昨年と同じく私の気分を大きく乱しています。残念ながら来年もその状態は続くでしょう。妻には妻の人生があるので、やりたいことはさせてやりたいとは思っているのですが・・・私が患者さんを紹介するなどして、診療所経営に専念させるようにしなければ、と思っています。

§ 年表 目次
 ・1月お仕事
  

自治会のIT化打ち合わせ、両国の国際ファッションセンター入居者の新年会、パートナー企業で作業と打ち合わせ

 ・2月お仕事
  

新宿でサイト作成打ち合わせ、横浜のサテライトオフィスで作業×2、テクニカルショウヨコハマ2018、虎ノ門で商談、半蔵門で打ち合わせ、Yahoo LODGEで仕事、ブロックチェーンの開発打ち合わせ、荒川区ビジネスプランコンテスト、となりのkintoneインタビュー、戸塚で司法書士の先生と打ち合わせ、Stockのサービス提供元へ訪問、SYNQAで作業、パートナー企業で作業と打ち合わせ

 ・3月お仕事
  

税務署訪問、堺筋本町で商談、三宮で飲み、半蔵門で税理士の先生と打ち合わせ、新宿御苑で打ち合わせ、Mass×Massで商談、妻のパソコン購入、横浜西口で商談、横浜で商談、渋谷で商談、成田空港で商談、横浜薬科大学で商談、戸塚で司法書士の先生と打ち合わせ、パートナー企業の皆さんと飲み、技術者交流会、パートナー企業様と飲み、パートナー企業で作業と打ち合わせ

 ・4月お仕事
  

技術者さんと経堂で飲み、太田ふ頭で商談、コワーキングスペース町田で作業×2、中川で商談、ワイン&グルメジャパン2018、旧常駐先で飲み、BitClubセミナー、Zoholicsセミナー、町田法務局訪問、川崎で商談、IoT分科会、四谷三丁目で商談、Yahoo LODGEで作業、日本橋で商談、丸の内で商談、IT導入補助金導入支援事業者採択、パートナー企業で作業と打ち合わせ

 ・5月お仕事
  

Mass×Massで商談、横浜のサテライトオフィスで作業、クラウドコンピューティングEXPO、半蔵門で税理士の先生と打ち合わせ、関西大学東京センターで知る活参加、渋谷で技術者さんたちと飲み、中川で商談、ココデンタルクリニック看板塗り、NPO応援ライセンス開始記念セミナー登壇(サイボウズ社)、西浦和で商談、パートナー企業の皆さんと暑気払い、両国で商談、渋谷で技術者さんと飲み、成田空港で商談、EBISU Tech Nightに参加、明治記念館で脳外科篠浦教授講演会、岩本町でデモ拝見、秋葉原でランチミーティング、SYNQAで作業、丸の内で商談、狛江で商談、パートナー企業で作業と打ち合わせ

 ・6月お仕事
  

月島で商談、月島で打ち合わせ、AWS Summit Tokyo 2018、Mass×Massで商談、大阪府立大学同窓会打ち合わせ、BNIバンブーチャプター代理出席、半蔵門で商談、月島で商談、MONACA×ncmbセミナー、鷺沼で商談、渋谷で商談、太田ふ頭で作業、IT導入補助金導入支援事業者向けセミナー、浜町で商談、EBISU Tech Night登壇、荏原で商談、荏原町で打ち合わせ、半蔵門で税理士の先生と打ち合わせ、町田市役所訪問、町田税務署訪問、町田市立図書館で作業、パートナー企業で作業と打ち合わせ

 ・7月お仕事
  

渋谷で商談、旧常駐先の方と呑み、両国で商談、Mass×Massで商談、お客様と飲み、Prezi Night Tokyo Ⅶ、町田市立中央図書館で作業×2、EBISU Tech Night参加、新羽で商談、両国で商談、和光大学ポプリホール鶴川で作業、センター南で商談、横浜のサテライトオフィスで作業、Mass×Massで商談、井土ヶ谷で訪問、パートナー企業で作業と打ち合わせ

 ・8月お仕事
  

kintone devCamp 2018、四谷三丁目で商談、Yahoo LODGEで作業、丸の内で作業、丸の内で商談、月島で商談、新羽で商談、青山一丁目で商談、鶴川駅前図書館で作業、丸の内で作業、技術者さんと飲み、丸の内で作業、飯田橋で商談、丸の内で作業、八重洲で商談、二子玉川で商談、丸の内で作業、新宿で商談、飯田橋で商談、Twilioビジネスセミナー Vol.53、外苑前で飲み、警視庁遺失物センター、飯田橋で商談、技術の先輩とサシ飲み、丸の内で作業、渋谷で商談、飯田橋で商談、kintone Café Tokyo vol.7、パートナー企業で作業と打ち合わせ

 ・9月お仕事
  

飯田橋で商談、鶴川駅前図書館で作業×2、ときわ台で商談×2、新宿で商談、Mass×Massで商談、東京ガーデンテラス紀尾井町で作業、パスポート申請、立川まんがぱーくで作業、両国で商談、SYNQAで作業×2、Smart Communication Award 2018、EBISU Tech Night、四谷三丁目で商談、丸の内で商談、四谷三丁目で商談、月島へ書類届けに、AWS にてスタートアップフォロー、目黒で商談、上野で商談、パートナー企業で作業と打ち合わせ

 ・10月お仕事
  

AWS Loft Tokyoオープニングセミナー&パーティー、浜町で商談、両国で商談、横須賀で商談、ハロー職1観覧、渋谷でDevRelJp、パスポート受け取り、パートナー企業の皆様で飲み、墨田区地域クラウド交流会、曳舟で飲み、渋谷で商談、AWS Loft Tokyoで作業と商談、旧常駐先の方と池袋で飲み、神田で商談、八丁堀で商談、SYNQAで作業、パートナー企業で作業と打ち合わせ

 ・11月お仕事
  

渋谷で商談、パートナー企業で呑み、飯田橋で商談、SYNQAで作業、八丁堀で商談、日本橋で商談、Cybozu Days 2018×2、お客様と幕張メッセで商談、渋谷で商談、kintone Café Japan 2018、青山一丁目で商談、Yahoo LODGEで作業、新宿で商談、両国で商談、AWS Loft Tokyoで作業、築地でプロ向け勉強会 #1「AWSでWordpressを使うときのトラブル回避術」、日本橋で商談×2、AWS Loft Tokyoで商談と作業、渋谷で商談、技術者交流会、パートナー企業様と飲み、半蔵門で商談、Yahoo LODGEで作業、PaaS研究会、徳丸浩のセキュリティセミナー WordPressの運用時に注意するセキュリティについて学ぼう!」、新宿で作業、パートナー企業で作業と打ち合わせ

 ・12月お仕事
  

定着率・求人応募率アップ!紙芝居で学ぶユニーク会社制度セミナー 、八丁堀で打ち合わせ、銀座で作業、有楽町で作業、田町でDevRelJp、日本橋でランチミーティング、四谷三丁目で商談、Yahoo LODGEで作業、半蔵門で税理士の先生と打ち合わせ、半蔵門で商談、日本橋で商談、町田市役所で商談、日本橋で商談、EBISU Tech Night、中華街でお客様の皆様と飲み、Mass×Massで商談、AWS Loft Tokyoで作業と打ち合わせ、鶴川で商談、日本橋で作業、目黒で作業と打ち合わせ、大宮で作業、上山で作業、パートナー企業で作業と打ち合わせ

公私の「私」

●家族との一年
§ 総括 目次 昨年にもまして、家族で行動する頻度は減りました。それぞれの生活があり、それぞれのタスクがある以上は仕方ありません。ただ、昨年よりはバトルの頻度が減りました。少しずつ大人になってゆく娘たちとの関係に悩みはつきませんが、今年は家族で二度泊りがけの旅行に行きました。それは家族にとってとても大切な時間でした。また、長女も次女も進路を定めなければならない年であり、ともに年内に推薦入学のめどがつきました。また、昨年亡くなった風花に変わり、三月から凛が我が家の家族の一員に加わりました。やんちゃ盛りで日々家族の神経をかき乱しています。

§ 娘たちに何ができたか 目次 今年は二人の娘がともに受験生でした。長女は首尾よくAO推薦をもらい、入試に合格しました。次女も年末に中学校から推薦状をもらうことができました。来年は二人とも専門学校に入学するはずです。娘たちが進路を決めるにあたり、私が意向を押し付けたことはありません。二人とも自分の意志です。具体的に手伝えたことは乏しいですが、新たな道を選ぶにあたっては障害ではなく、助言者としてありたいとの思いは貫けたと思います。これからも娘たちの進む道を示すガイドでありたいと思います。

§ 長女の一年 目次 長女は絵が好きで芸術系の学科に進学しましたが、人間関係など悩みも多く、高校生活に悔いはあるようです。ただ、それでもイラスト系の業界やその仕事への熱意は失いませんでした。イラスト系の専門学校に進むのも本人の意志です。私も新たな学校には見学について行き、娘の意志は確認しました。新たな学校に進学した後、悩み多き高校生活が実は無駄ではなかったことをいつか分かってくれると思います。中学の頃から個人事業主として活動している長女ですが、今も複数の仕事を請けているようです。私ももう少ししたら何かの仕事を振ってやりたいと思っています。長女とサシで出かけることは一、二回しかありませんでした。ただ、妻も含めてのお出かけは何度もしています。その中でも墨田区の職人さんを紹介するネット上の生放送番組「ハロー職1」に連れて行けたことで、メディアや自己表現の何たるかは感じてくれたのではないかと思います。年ごろのため不安定なところもありますが、引き続き長女には期待しています。

§ 次女の一年 目次 チアを諦めてまで中学の吹奏楽部を全うしたかったという次女の思いを尊重した私たち夫婦でしたが、次女は無事に吹奏楽を全うしてくれました。一方で今年は自由に生きたい次女とまだ手元におきたい妻がぶつかった一年でした。そのぶつかりが燃え広がり、何度かバトルに近いいさかいも家族の中に勃発しました。娘を持つことの難しさを感じた一年です。次女には彼氏ができましたが、私はそれを頭ごなしに否定せず、彼氏にも二回会いました。高校に行くには成績が足りない娘が調理師になりたいというので、その意志も尊重しました。そうした進路や生活態度についての話し合いも何度もしました。妥協もしたかもしれません。ただ、愛嬌もあり、人付き合いもうまい次女なので、必ずや道を踏み外さず、人生の旅路で成果を挙げてくれるはずと信じています。もう次女も子供ではないこと。大人になるため巣立とうとしていること。その二つをつくづく思わされた一年です。

§ 家族の一年 目次 そうした不安定な娘たちだった割には、危機感は感じませんでした。むしろ昨年のほうが不穏だった気がします。それは家族そろってお出かけしたことが功を奏したのだと思います。詳しくは書きませんが、それぞれの場所で良い想い出作りができました。特に3月の沖縄旅行と12月の山形旅行。去年は家族で泊まりの旅行に行けなかった分を取り戻すほどの充実した旅でした。今年の3月にわが家に凛が仲間に加わりました。五カ月近くペットショップの住人だったため、七色の癖を持ち、やんちゃでうちの家族を困らせています。可愛いのですが。あと4月の末に二回、私がグレて野宿で一夜を過ごしたことも忘れずに書いておきます。

§ 年表 目次
 ・1月帰省(泊まり)
  白山姫神社初詣神呪寺参拝、香櫨園駅、ホテルヒューイット甲子園ロイヤルホームセンター甲子園バッティングセンター西宮神社
 ・1月お出かけ
  

浅草雷門舟和屋浅草花月堂 馬道店浅草文化観光センター黒田屋本店遊食豚彩 いちにいさん 日比谷店TOHOシネマズ日劇(映画:DESTINY 鎌倉ものがたり)星野珈琲店コーチャンフォー稲城若葉台店、しゃぶ葉町田モディ店、いこいの湯、府中の森芸術劇場伊勢ヶ濱部屋ちゃんこ会伊勢ヶ濱部屋初場所打上式Stella Lounge

 ・2月お出かけ
  

東京宝塚劇場(舞台:ロベスピエール)東京都庁南展望室、籠屋(秋元酒店)、相鉄ムービル(映画:スターウォーズ 最後のジェダイ)、毘沙門天堂、Salad Stop表参道店根津美術館(展覧会:金と墨展)LINKS LondonTokyo Whisky LibraryThe Tokyo Dining 東京ライス、極鶏Bar下北沢、谷中銀座Orso、カポエイラ、八景の棚、相武台下駅、塩川滝、塩川神社、平山橋、とんかつはせ川、青山フラワーマーケット ティーハウス 赤坂Bizタワー店赤坂ACTシアター(舞台:ドクトル・ジバゴ)VILAMOURA 赤坂サカス店ペットフォレスト鶴川店

 ・3月お出かけ
  

はま寿司 町田野津田店、西宮市こうしえん観光案内所、手造り居酒屋 樽八、スーパージャンカラ生田ロード店、どん兵衛、桔梗堂、T先輩宅、汐見橋駅、芦原橋駅、木津川駅、浪速神社、大坂人権博物館(リバティおおさか)、太鼓屋又兵衛屋敷跡、昔勤めたブラック企業跡、個室居酒屋 宴丸 Enmaru 京橋駅前店、金の蔵 京橋北口店、辺川駅、海部駅、宍喰駅、甲浦駅、海の駅東洋町、白浜海水浴場 (白浜海岸)、宍喰海岸、道の駅 宍喰温泉、轟九十九滝、クリアウォーターOSAKA㈱、地鶏と鮮魚 一石二鳥 三宮店、らーめん 熊五郎 三宮西口店、甲子園球場、Bar Harbour Inn、イオンシネマ新百合ヶ丘(映画:グレーテスト・ショーマン)薬師池公園グリーンウォーク多摩シズラー府中店八景島シーパラダイスココリア多摩センター、公津の杜駅、相州春日神社、羽田空港那覇空港知念岬公園南城市地域物産館せーふぁキッチンアブチラガマひめゆりの塔波照間ボートレースアンテナショップ 沖縄・国際通り Double Deckerぱいかじ 国際通り店ホテルグレイスリー那覇中城PA崎本部緑地公園沖縄美ら海水族館エメラルドビーチcafeティーダVONGO & ANCHOR美浜アメリカンビレッジ、県庁前駅、海の駅 あやはし館アマミチューの墓シルミチュー大泊ビーチ伊計島灯台キングタコス与勝店勝連城跡市場本通り商店街海想 松尾店、古酒家本店、Splash Okinawa 2、Sky Rent a Car、那覇空港羽田空港凛お迎えららぽーと横浜

 ・4月お出かけ
  

相模原麻溝公園、八王子駅前ビルステーキのあさくま八王子打越店イオンシネマ多摩センター(映画:グレーテスト・ショーマン)、大森貝塚跡、うどん開都大地沢青少年センター草戸山境川源流町田あいす工房ラッテ小陽生煎饅頭屋 (生煎馒头屋)、アジアンフード バー バグース、井の頭恩賜公園、Bar 羽月、シズラー府中店柏屋LATTE GRAPHIC、BrewDog Roppongi、富士の国 やまなし館、玉川学園ゴスペルカフェ、稲毛神社、川崎堀之内ソープランド街、港町駅、六郷橋、川崎市観光案内所、薬師池公園、民権の森、野津田神社、小樽食堂町田広袴店、喰違見附、T.G.I.Friday’s 町田店、野宿、博多もつ鍋 やまや、野宿、レッドロブスター 多摩境店寄居PA駅前児童公園道の駅 くらぶち小栗の里、織田氏七代の墓、雄川堰、こんにゃくパークハイウェイオアシス ららん藤岡 (道の駅 ららん藤岡)寄居PA (上り・寄居 星の王子さまPA)みはらし広場クリスタルサウンドみつや水晶宝石博物館仙娥滝昇仙峡森カフェ山梨ワイン王国大滝仙娥滝初狩PA (上り)峠の茶屋

 ・5月お出かけ
  

玉ちゃん亭、BAR CROW、赤坂区民ホール天馬 カレー&カレーパン 青山店府中の森芸術劇場シズラー 府中店、等々力陸上競技場、生田緑地、枡形山、枡形城、戸隠不動跡、尾崎咢堂記念館、エビラ沢の滝、薄野 中村屋、江戸城大手門、薬師池公園 蓮園、ららぽーと横浜琴平神社本殿、Craft Beer Moon Light 本店、多摩川五本松、新橋演舞場(舞台:蘭 緒方洪庵 浪華の事件帳)やさいの王様、沼久保駅、富士山本宮浅間大社、湧玉池、神田川、富士高砂酒造、白糸の滝、音止の滝、富士宮やきそば 平石屋、朝霧高原、本栖湖、道の駅 しもべ、甲斐常葉駅、身延駅、横網町公園、第1ターミナル 展望デッキ、大佐倉駅、将門口ノ宮神社、東光寺ビョウ、本佐倉城跡、明治記念館、フレッシュネスバーガー 曙橋店、長女学校見学、新宿御苑、世界堂 新宿本店、富士フォトギャラリー銀座、三省堂書店 有楽町店、KITTE

 ・6月お出かけ
  

東京国際フォーラム(コンサート:The Show Stopper)、上毛高原駅、鳩待峠行バス連絡所、鳩待峠、尾瀬国立公園、つり橋、尾瀬山荘、尾瀬沼、三平峠、ヌル沢奥の滝、上毛高原駅、啓文堂書店 渋谷店、めし屋 奈良間、ブックファースト 新宿店、赤坂 紫月、MARUZEN & ジュンク堂書店 渋谷店、次女の中学校運動会町田東急ツインズ、沢谷戸自然公園、油そばの店 蜻蛉、ここ滋賀、日本橋 長崎館、沖縄物産店 銀座 わしたショップ、小樽食堂 町田広袴店、亜細亜食堂 リバーサイゴン (SAIGON)、成田山 新勝寺成田山 大本堂成田山 咤枳尼天堂 (出世稲荷)成田山 三重塔、二宮尊徳翁開眼の地、成田山 咤枳尼天堂 (出世稲荷)成田山 釈迦堂成田山 額堂成田山 光明堂成田山公園、雄飛の滝、成田山 総門、長命泉、成田参道 房の駅川豊酒々井PA (上り)、多摩川決壊の碑、麺屋 大申、甘酒横丁、薬師池公園、荏原町駅、旗岡八幡神社、shango、麺匠なべすけ 本店、地ビール厨房 COPA 町田店、BACKPACKER’S CAFE 旅人食堂 町田屋台店、まちの駅 ぽっぽ町田、薬師池公園

 ・7月お出かけ
  

イオンシネマ新百合ヶ丘(映画:ハン・ソロ ストーリー)、スエヒロ館 新百合ヶ丘店、薬師池公園、MARUZEN & ジュンク堂書店 渋谷店、とんかつはせ川、薬師池公園 蓮園、雑司ヶ谷 鬼子母神 (鬼子母神堂)、Pasar幕張 幕張PA (下り)、酒々井PA (下り)、大栄PA (下り)、佐原PA (下り)、鹿島神宮大鳥居、鹿島神宮 楼門、カシマサッカースタジアム、ちゃあしゅう屋 鹿嶋店、鹿島神宮駅、剣聖 塚原卜伝生誕之地 プレート、鉾田駅、新鉾田駅、北浦湖畔駅、鹿島灘駅、鹿島大野駅、長者ヶ浜潮騒はまなす公園前駅、大野潮騒はまなす公園、荒野台駅、塚原卜伝の墓、塚原卜伝像、鹿島神宮大鳥居、鹿島神宮 楼門、鹿島神宮 拝殿・本殿・御神木、鹿島神宮奥参道、鹿島神宮 境内鹿園、鹿島神宮 奥宮、鹿島神宮 要石、鎌足神社、根本寺、鹿島城山公園、鹿島アントラーズ クラブハウス、カシマサッカーミュージアム、カシマサッカースタジアム、鹿嶋サッカースタジアム駅、鹿嶋灯台、延方駅、ばんどう太郎 神栖店、大栄PA (上り)、帝国ホテル 東京、谷際屋製麺工場、玉川学園ゴスペルカフェ、まちの駅 ぽっぽ町田、イングリッシュパブ トラファルガー、本間橋、小林商店、鳥居原園地、早戸大滝アタック、東京ミッドタウン日比谷日比谷シャンテラ ブティック ゲラン銀座 三徳堂boulangerie Bonheur、町田市民文学館ことばらんど(展覧会:舘野鴻原画展)、町田市立陸上競技場 ホーム側ゴール裏、NTTドコモ歴史展示スクエア、両国 江戸NOREN、びっくりドンキー 光が丘店、矢まと、雲林坊 秋葉原店、明治記念館、山高神代ザクラ、北精進ヶ滝、一の滝、二の滝、道の駅 はくしゅうサントリー白州蒸溜所BAR白州八ヶ岳PA (上り)石川PA (上り)、北海道らーめん 楓 横浜西口店

 ・8月お出かけ
  

横濱家系ラーメン 大岡家、鯛塩そば 灯花、かのん、府中の森芸術劇場 どりーむホールシズラー府中店武蔵府中郵便局、阪神甲子園球場、甲子園歴史館、六人部PA (下り)、由良川PA、宮村駅、金引の滝、天橋立駅、松和物産、天橋立駅前郵便局、天橋立ビューランド リフト・モノレール、飛龍観回廊、KITTE、伊織 / シン・エヒメ、大阪百貨店、KITTE、豚骨らーめん ぼっけもん、幸楽苑 町田木曽店ゆめみ処 おふろの王様 町田店、古書 高原書店、町田市民ホール、ステーキ宮 町田木曽店、spice bistro、海旬処 魚華青銅の鳥居江の島瑞心門江の島エスカー 2区KUA`AINA 片瀬江ノ島店横浜・八景島シーパラダイスシーフードとカレー料理 パーマーストン Palmestonアメリアショッピングセンターららぽーと横浜TOHOシネマズららぽーと横浜(映画:ミッション・インポッシブル Fall Out)富士屋ホテルピコット ロビー店箱根ガラスの森美術館ラ・カンツォーネ、千条の滝、ららぽーと海老名、有隣堂、ハングリータイガー、鎮魂の碑、京橋エドグラン、麺屋 みちしるべ、EXPASA足柄 下り三島スカイウォークスカイウォークコーヒースカイウォークコーヒー山中城跡伊豆フルーツパーク御殿場プレミアム・アウトレットbodum (ボダム) 御殿場プレミアムアウトレット店、和田倉噴水公園、皇居前広場、二重橋、安具楽、東京ドーム、野球殿堂博物館、オークスブックセンター、スエヒロ館 新百合ヶ丘店、玉川学園ゴスペルカフェ、HUB 外苑前店、東部湯の丸SA (下り)、祢津小学校、袮津城山、草笛 上田店、砥石・米山城址櫓門口登山道、砥石城跡、桝形城跡、米山城跡、千古温泉、千古の滝、ハイウェイオアシス ららん藤岡 (道の駅 ららん藤岡)、高坂SA (上り) レストラン、道なか食堂 げんき、CINAGRO、俺流塩らーめん 神楽坂店、安全寺

 ・9月お出かけ
  

東京ステーションギャラリー東京ステーションホテルカメリアKITTE東京国際フォーラムShake Shack蕎麦 AKEBONOYA東京ミッドタウン日比谷boulangerie Bonheur、上等カレー 飯田橋店、筑土八幡神社、神楽坂、板橋天祖神社、ときわ台駅、ジュンク堂書店 池袋本店、小樽食堂 町田広袴店ヨドバシカメラ マルチメディア町田、中華ダイニング貫 (KAN)、町田パリオ(まさるや2018仲秋 日本酒呑んでる会 in 町田)、BOOKOFF SUPER BAZAAR 町田中央通り (本・ソフト館)、創作和食 あおき、福富町パラダイス、草月、syarumu、Hot Spoon 西新宿店、東京都旅券課 (新宿パスポートセンター)、イオンシネマ新百合ヶ丘(映画:ボルグ&マッケンロー)、らーめん 立川や、立川市子ども未来センター、立川まんがぱーく、東京都パスポートセンター 立川分室、オリオン書房、立川市中央図書館、丸善 多摩センター店、蕎肆 穂乃香、隅田川テラス、蔵前橋、駒形橋、株式会社バンダイ 本社、駒形堂、まるごと北海道 雷門物産本舗、雷門、小樽食堂 町田広袴店、片倉つどいの森公園、長女の高校文化祭、赤城高原SA (下り)、道の駅 白沢、十二坐神社、吹割渓谷遊歩道、吹割の滝 第三観瀑台、吹割の滝 第一観瀑台、浮島橋、浮島観世音、日本の滝百選 25『吹割の滝』、鱒飛の滝、滝の駅、沼田市観光案内所、沼田城天守跡、沼田城、利根英霊殿、真田信之.小松姫像、沼田公園 鐘楼、沼田公園の御殿桜、道の駅 みなかみ水紀行館、土合駅、赤城高原SA (上り)、駒寄PA (上り)、石川PA (上り)、四条富小路 麺屋虎杖、丘のまち美瑛、帝国ホテル 東京、珈琲茶館 集 有楽町アネックス店、東京大神宮、Hop-Scotch Craft Beer & Whiskey、ビッグボーイ 黒川店、Tokyo Rice Wine 新百合ヶ丘店、アリオ橋本、水の苑地(県立津久井湖城山公園)、津久井湖記念館、伏馬田城趾、花の苑地(県立津久井湖城山公園)、道の駅 どうし、三島由紀夫文学館、山中湖 文学の森公園、徳富蘇峰記念館、郷土料理 和十郎、忍野村観光案内所、菖蒲池、湧池、銚子池、お釜池、河口湖駅、金鳥居市民公園、道の駅 富士吉田、鐘山の滝、リカーズハセガワ 北口店、晴海郵便局、晴海埠頭、味噌一 三軒茶屋店、上野恩賜公園、西郷隆盛像、誹風柳多留発祥の地、不忍池、東京ディズニーランド

 ・10月お出かけ
  

ずんどう屋 目黒店、大横川親水公園、世界のビール博物館、KUA`AINA、薬師池、久里浜駅、桂寿味、次女の進路先の見学会The Tokyo Dining 東京ライスニッカ ブレンダーズ・バーラウンジ春秋館東京タワー国際ファッションセンターアゼリア 第一ホテル両国両国江戸NORENの土俵、上河内SA (下り)、道の駅 猪苗代、denen cafe、農業体験、富士の湯、空き家てらす 隠れ家、酒家 盃爛処、空山neo、太郎焼総本舗、鶴ヶ城、道の駅 ばんだい 徳一の里きらり、友部SA (上り)、表参道駅、シャングリ・ラ ホテル東京、昭島市役所、エピソードカフェ東京交通会館いしかわ百万石物語 江戸本店Yellow Korner Photography – Art – Limited editionQ CAFE by Royal Garden Cafe湘南平霧降りの滝アリオ橋本Honolulu Coffee、ACADEMIA くまざわ書店、Bull Pulu、世田谷文学館、蘆花恒春園 (蘆花公園)、祖師谷商店街 (ウルトラマン商店街)、駒寄PA (下り)、津久田駅、棚下不動滝、長井坂城跡、永井箱根神社、奥利根うどん本舗、名胡桃城址、ささ郭、後閑駅、道の駅 よしおか温泉、かもすや酒店、ジュンク堂書店 池袋本店、清龍 南池袋店、くさやバー、Craft Beer Market 神田店、広島ブランドショップ TAU、パルテノン多摩SUBWAY 多摩センター店丸善 多摩センター店、Coeur & Heart、コーチャンフォー 若葉台店、羽田空港国際線ターミナル成田空港 第2ターミナルバニラエア チェックインカウンター台湾桃園国際空港 (TPE) (臺灣桃園國際機場)Immigration (護照?驗)National Theater (國家戲劇院)、凱達大飯店 Caesar Metro Taipei、MRT 龍山寺駅 (捷運龍山寺站)、MRT Taipei Main Station (捷運台北車站)、TRA 台北駅 (臺鐵台北車站)、Keelung City (基隆市 Keelung City)、TRA Keelung Station (臺鐵基隆車站 TRA Keelung Station)、基隆西岸旅客碼頭、基隆海洋廣場 Keelung Maritime Plaza、TRA Keelung Station (臺鐵基隆車站 TRA Keelung Station)、台北市 (臺北市)、THSR 台北駅 (高鐵台北站)Q Square (京站時尚廣場)饗食天堂Eslite Bookstore (誠品書店 台北捷運店)MRT Taipei Main Station (捷運台北車站)MRT 龍山寺駅 (捷運龍山寺站)凱達大飯店 Caesar Metro Taipei龍山寺スターバックス (STARBUCKS)臺北市立大學校本部 University of Taipei Main CampusMRT 中正紀念堂駅 (捷運中正紀念堂站)Liberty Square (自由廣場)National Theater (國家戲劇院)中正紀念堂National Concert Hall (國家音樂廳)TRA Wanhua Station (臺鐵萬華車站)TRA 台北駅 (臺鐵台北車站)Taoyuan Metro Taipei Main Station (A1) (桃園機場捷運台北車站)Taoyuan Airport MRT (A12) Airport Terminal 1 Station (桃園機場捷運 A12 機場第一航廈站)Terminal 1 (臺灣桃園國際機場第一航廈)台湾桃園国際空港 (TPE) (臺灣桃園國際機場)Gate B2成田国際空港 (NRT)成田空港 第3ターミナルCafe&Dining N’s court

 ・11月お出かけ
  

麺の坊 砦、駒場公園、旧前田家本邸、籠屋(秋元酒店)、薬師池公園、リカーポート 蔵家、町田市 大賀藕絲館、町田リサイクル文化センター、小山田神社、舎鈴 飯田橋駅前店、ハタフラワー、梅の花 町田店、せんや、新宿みやざき館 KONNE、餃子会館 磐梯山 両国店、とり家 ゑび寿 両国店、駒八 目黒さんまセンター、六本木ヒルズアリーナ、TOHOシネマズ 六本木ヒルズ(映画:ボヘミアン・ラプソディ)、鎌倉パスタ、鶴ヶ峰駅 (SO09)、鎧橋跡、鎧の渡し緑道、首塚 (畠山重忠公)、畠山重忠古戦場跡、畠山重忠古戦場跡、六ツ塚、すずり石水跡、鶴ヶ峰神社、駕籠塚、得得 横浜鶴ヶ峰店、驚神社、和菓子紀文堂、四季芸術センター、麺屋 一寸星、你好 ニイハオ 渋谷店、オールドヒッコリー 町田境川、やきとり居酒屋 山家 本店、次女の進路先、ベルサール高田馬場、はつ花そば 本店、酒岳堂 井島商店、はこね 和菓子 菜の花酒岳堂 井島商店、箱根観光物産館、鈴廣のかまぼこみつき DELI&CAFé TERRACEベーカリー&デリカテッセン 箱根カフェ箱根の市、麺屋すみす、神宮外苑いちょう並木、多摩丘陵パノラマの丘、防人見返りの峠 展望台、コーチャンフォー 若葉台店、東京都庁 第一本庁舎、ブックファースト 新宿店、技術者友人宅

 ・12月お出かけ
  

自然食バイキング はーべすとヨドバシカメラ マルチメディア町田町田マルイ、薬師池、Cut Let Me、築地本願寺、マルイアネックス イベントスペース、讃岐うどん かいと、野津田神社、民権の森、七国山 鎌倉街道の碑、七国山、野津田薬師堂、よみうりランド、スエヒロ館 新百合ヶ丘店、極鶏Bar 下北沢店、エリックサウス、麺 TOKITA、警察博物館、香川・愛媛せとうち旬彩館、春水堂ラフォーレ原宿FURFUR東郷神社コロンバン原宿本店、麺屋三男坊、中澤酒造株式会社、麺屋 海神、慶華飯店、横浜赤レンガ倉庫、JICA横浜国際センター、信濃屋 目黒店、酒舗 まさるや、すし屋 銀蔵 鶴川店まちの駅 ぽっぽ町田ぐりーんうぉーく多摩、きさらぎ、Classy’s Bar、暖暮 川崎仲見世通店、麺や維新、自転車文化センター、JR 東北新幹線 大宮駅山形新幹線 かみのやま温泉駅かみのやま温泉観光案内所上山十日町郵便局上山城菓子司 十五屋本店上山市役所葉山館、わくわくコマレオ 上山店、春雨庵、葉山館かみのやま温泉観光案内所山形新幹線 かみのやま温泉駅楢下宿 丹野こんにゃく番所HATAKE CafeHATAKE Cafe トマト上山店ファーマーズマーケットトマト 上山店、愛染神社、齋藤茂吉記念館、上山旭町郵便局、ぐっと山形 (山形県観光物産会館)、上山城、菓子司 十五屋本店かみのやま温泉駅JR 東北新幹線 大宮駅、鴨川、六道珍皇寺、京都霊山護國神社、パール博士顕彰碑、桂小五郎・幾松墓所、坂本龍馬の墓、幕末維新ミュージアム霊山歴史館、御陵衛士屯所跡、八坂神社、知恩院 三門、青蓮院門跡、岡崎・市電コンシェルジュ、岡崎別院(親鸞聖人岡崎草庵跡)、光雲寺、哲学の道、法然院、慈照寺 (銀閣寺)、まつばや、哲学の道、京都大学

§ 家族のお出かけ 目次 家族で出かけたのは、上の年表で黄地に太字にしているイベントです。「浅草(1月)」や「沖縄(3月)」「相模原麻溝公園(4月)」「こんにゃくパーク(4月)」「赤坂(5月)」「八景島(8月)」「箱根(8月)」「三島(8月)」「東京ディズニーランド(9月)」「山形(12月)」。満足できる一年になったと思います。来年もどこかに出かけようと考えています。

§ 妻とのお出かけ 目次 妻と出かけたのは、上の年表で桃地に太字にしているイベントです。なんかかんだといって、結構節目節目には二人で過ごせているようです。今年は臺灣を一緒に訪れたのが思い出深いです。いくつかBarにも訪れたり、八景島シーパラダイスにも二人で行きました。あとは音楽と舞台と映画でしょうか。一緒にいくつも観て体験していますね。夫婦ともにこれだけ忙しくても、時間をやりくりしてこれだけ出来ていれば、来年もやれそうな気がします。

§ 娘たちとのお出かけ 目次 娘たちと3人で出かけたのは、上の年表で緑字に太字にしているイベントです。一緒にご飯を食いに行くぐらいしかいけませんでした。娘たちもそれぞれ友達と出かけたり家にこもったり。特に次女は明らかについてこなくなりました。彼氏や友達との時間を優先する年ごろになった。そういうことです。私としてはワンパターンなお出かけよりも、経験でめずらしい経験をさせてやりたい、と思うのですが、私の時間もなくなっており、近所であればもはやそういう経験はさせてあげられません。ですが、来年も断られることを覚悟で、誘ってみようと思います。

§ 妻とどちらか娘とのお出かけ 目次 妻とどちらかの娘の3人で出かけたのは、上の年表で水色地に太字にしているイベントです。長女は比較的よくついてきました。が、逆に次女だけが付いてくることはほとんどありませんでした。

§ 長女とのお出かけ 目次 僅かではありましたが、いくつか訪れています。そのうち一つは長女の高校の文化祭に私一人で出かけることになり、しばらく長女と行動を共にしました。年ごろのためか潔癖感が増していますが、私に対しての棘は峠を越した気がします。私がそう思っているだけかもしれませんが。

§ 次女とのお出かけ 目次 部活に忙しく、なかなか一緒にはいかれませんでしたが、それでもいくつかの場所を父娘二人で訪れています。そのうち一つは二人で回転すしを訪れて大いに語りました。次女は親あしらいがうまいので、時間さえあえば来年もついて来てくれそうです。

●私自身の一年(交友関係)
§ 関西の交流関係 目次 今年は、3月にまとまった日程をとって帰りました。四泊五日の日程でしたが、高校の友人たちと、大学の友人たちと飲み遊び、一昨年からご縁を結んだ方々とも飲み、打ち合わせも挟み。私が苦しんでいた時期に知り合った師匠と梅田のバーで呑み、今までFacebookだけのつながりだった方ともお会いし。かなり濃密な時間を過ごしました。ありがとうございました。
7月には中学の頃からの友人が上京し、共に呑みました。その場でイカ釣りに誘われ、8/6にはそのために帰りました。が、高波でイカ釣りが中止となり、再計画した日も友人が仕事で断念しました。これはぜひ来年やりたいと思っています。年末になって年賀状を書きながら、SNSをやっていない友人たちとのご縁をまた復活させたいと思いました。

§ YKGの交流 目次 今年もまた、鉄道や城巡りといった旅を愛する友人二人と、砥石城を中心に武田氏に関する城巡りを行いました。さらに畠山重忠に関する史跡めぐりも行いました。来年、またともに旅ができればうれしいです。

§ 一年の交流 目次 今年は、前半は3月の関西以外は低調でした。が、ゴールデンウィークのサッカー観戦から、関西大学での知ル活など、徐々に交流を活発にしました。一つ目のピークは6月に10数人のパーティーで訪れた一泊の尾瀬旅行です。仕事でもほうぼうに一人で飛び込んで行き、徐々に外交的な自分を取り戻していきました。下に書く酒関係のイベントでは様々な方と楽しい時間を過ごしました。パクチー三昧の時間を過ごしたこともうれしい。魂友とは三回会い、そのうち一度はご自宅でお母さまともお会いしました。どれもが今年の特筆すべきイベントです。また、会津への旅は今年の5本の指に入る素晴らしい旅でした。見ず知らずの方々と民泊で出会い、話に花を咲かせる。その素晴らしい経験は、人生万歳と言いたくなるほど。また、年末にはいのしし鍋のイベントにもお誘いをいただき、絶品の鍋を囲んで楽しい時間を過ごしました。他にも書いていませんが色々なイベントにお誘い頂きました。ありがとうございました。

§ 地元の交流 目次 一方、今住んでいる地元の友人との時間はほとんどとれませんでした。ですが、昨年末から参加しているゆるいランチの会には二度参加しています。仕事を抜きにした語らいの場としてとても重宝しています。下半期は私が忙しくて伺えなかったのですが、代わりに妻が何度も参加させてもらっています。私も来年は参加したい。あと、自治会には仕事でかなり携わりました。来年もそうしたご縁を活かしていきたいです。最後に、年の瀬になって娘たちが学童でお世話になっていた指導員の先生の訃報が入ってきました。まだ若いのに残念でなりません。いい人ほど早く世を去っていく。

●私自身の一年(文化活動)
§ 読書・観劇レビュー 目次 読んだ本のレビューを記す読ん読ブログの執筆は、主に2017年に読んだ104冊分となりました。レビュー執筆は、私の中では大切なライフワークとして位置付けています。ただ、仕事を優先する関係上、どうしてもアップは後回しになっています。それでも読んでからアップするまでの日数を10カ月に縮めました。この期間を質を落とさずにさらに早めるのが去年に引き続いての課題です。舞台観劇と映画鑑賞のレビューについては、遅れずに書けているのですが。書くという行為への熱意は衰えていませんので、引き続き続けていくつもりです。

§ 今年の読書 目次 読書については、今年は94冊読みました。また、ジャンルを問わずの乱読傾向は相変わらずです。94冊についてそれぞれに思い入れは深く、その中のベストを選ぶといったおこがましいことはしません。ですが、今年は年末になってようやく坂の上の雲全巻を読み通せました。また、今年は三人の文人の展示会を訪問しました。「三島由紀夫博物館」「徳富蘇峰記念館」「世田谷文学館(筒井康隆展)」どれもがとても刺激になりました。

§ 今年の映画 目次 映画鑑賞については、今年は8本観劇しました。
DESTINY 鎌倉ものがたり」「スター・ウォーズ/最後のジェダイ 」「The Greatest Showman」「The Greatest Showman」「ハン・ソロ スター・ウォーズ・ストーリー」「ミッション:インポッシブル フォールアウト」「ボルグ / マッケンロー 氷の男と炎の男」「ボヘミアン・ラプソディー」。
観たかったのに見れなかった映画もたくさんあります。ですが、私の持ち時間の少なさからみて、よく見たほうだと思います。今年は大河ドラマの「西郷どん」を妻が観たいというので一緒に観ていましたが、やはりというか、ほとんどの回を見逃してしまっています。

§ 今年の舞台 目次 舞台については、今年度は3本の鑑賞でした。詳細は当ページの「目下の舞台鑑賞」を観てもらえればと思います。3本いずれも素晴らしい内容でした。ただ、私の中で宝塚歌劇の運営方針に重大な不満があり、妻には「見たくない」と言ったことを実践。下半期は観劇していません。その一方で、劇団四季を創立した浅利慶太氏が亡くなられました。かつて劇団四季に勤めていた友人の山下さんにお誘いいただき、浅利慶太お別れの会に参列しました(9/18)。そこで配布された故人の演劇論や略歴が書かれたパンフレットを読み、改めて浅利慶太氏と劇団四季に興味を持ち、その後すぐに「劇団四季と浅利慶太」も読みました。そして四季と宝塚との運営方針の違いを感じました。私は四季の方を支持したい。とはいえ、来年は観劇や寄席も観たいと思っています。

§ 今年の音楽 目次 昨年は何回もコンサートに行きましたが、今年は6月に東京国際フォーラムで観た「The Show Stopper」だけ。次女が中学で吹奏楽部を全うし、三年間で賞は一度も取れなかったけれど、何かをまっとうしてくれたのは良い思い出です。次女の発表会や演奏会、合唱コンクールは何度か訪れたので音楽体験は得られたと思います。長女が入っている高校の吹奏楽部は全国屈指の実力を持っていることから、長女と次女を連れて府中の芸術の森に定期演奏会を聴きに行きました。カラオケは二回。3月に友人たちと三宮で、11月には秘密基地で大いに歌いました。また、初夏の一日だけ、ウクレレを引っ張り出して爪弾いたりもしました、が続かず。

§ 今年の美術 目次 美術については、昨年と同じく今年もさっぱりでした。でも、長女の学外展や文化祭などデザインや美術には触れる機会が多数ありました。また、娘の進学先が美術デザイン系の専門学校に決まり、その学校見学にも訪れました(5月)。またその学校の校長先生のスコットランドの写真展にも訪れ、旅の乾きを潤しました(10月)。また富士フォトギャラリー銀座での写真展にもお招きされ、山の写真に見ほれました(5月)。舘野鴻の原画展(7月)では昆虫の精密画にも惹かれました。また、2月に妻と訪れた根津美術館の「墨と金展」は良かった。最近書の世界に関心を持っており、新宿の世界堂で水で書道ができるセット一式を買い(5月)、弊社の毎月のまとめの画像を書いた暦で表していました。筆がダメになったので霜月、師走が書けませんでしたが。

§ 今年のスポーツ 目次 スポーツについては、正直なところ全く低調でした。スキーもソフトボールもテニスもマラソンもやらず。それは2月ごろから腰痛に悩まされていたからです。ただ、アウトドアが皆無だったかというとそうでもなく。特に六月に訪れた一泊二日の尾瀬の旅は今年のハイライトの一つです。十数人のパーティーの一員としてみた至仏山と燧ケ岳、尾瀬沼の朝から夜までの景色は素晴らしかった。アウトドアを満喫しました。ただ、見るだけで日本百名山登頂ができなかったのは無念です。妻子と町田市最高峰の草戸山は登頂しました。また、滝はたくさん巡りました。それらはスポーツといえそうです。早戸大滝に行こうとしてあわや遭難しかけたり。
ただ、今年はソチオリンピックがあり、ロシアW杯があり、卓球選手たちの活躍やテニスの大坂、錦織両選手の活躍など、観戦しているだけで満足の一年でした。大リーグの大谷選手の大活躍も忘れられません。イチロー選手がついに選手登録から外れたという残念な出来事もありました。スポーツ観戦は今年は三度。五月に等々力スタジアムで多摩川ダービー「川崎フロンターレ VS 東京FC」を数人で観戦し、八月に町田陸上競技場でFC町田ゼルビアvs京都パープルサンガの試合を観戦しました。三月には甲子園球場で阪神vsDeNaのオープン戦を父と。夏の甲子園も初日の第四試合を場外で聞きました。なお、弊社が町田FCゼルビアのサポーターになったのも今年です。あと、次女がたまに習いにいっているカポエイラのレッスンに一度ついていき、赤坂でのCapoeira Batieque Japaoの興奮を目撃。長女が立派にバレエの発表会を勤め上げたのも良い思い出です。最後に忘れてはならないのは伊勢ヶ濱部屋とのご縁です。後援会会長とご縁があり、ちゃんこ会や初場所打ち上げ式に御呼ばれしました。相撲観戦はしていませんが、これも立派な相撲文化の吸収でしょう。

§ 今年の滝 目次 今年は日本の滝百選の滝を8カ所訪れる目標を立てていました。結果、再訪を含めると7か所を訪れる事ができました。「轟九十九滝」「仙娥滝」「白糸の滝」「北精進ヶ滝」「金引の滝」「吹割の滝」「棚下不動滝」。どれもが百選にふさわしい名瀑です。もちろん、それ以外の滝でも印象に残る滝はたくさんありました。以下は今年訪れた滝です。「塩川滝(2/18)」「轟九十九滝(3/4)」「轟本滝(3/4)」「二重の滝(3/4)」「横見の滝(3/4)」「舟形滝(3/4)」「丸渕滝(3/4)」「鳥返しの滝(3/4)」「鍋割りの滝(3/4)」「仙娥滝(4/30)」「大滝(4/30)」「仙娥滝(4/30)」「エビラ沢の滝(5/6)」「白糸の滝(5/20)」「音止の滝(5/20)」「ヌル沢奥の滝(6/3)」「雄飛の滝(6/17)」「一の滝(魚止めの滝)(7/29)」「二の滝(初見の滝)(7/29)」「北精進ヶ滝(7/29)」「金引の滝(8/6)」「臥龍の滝(8/6)」「白滝(8/6)」「千条の滝(8/15)」「千古の滝(8/25)」「吹割の滝 第一観瀑台(9/16)」「鱒飛の滝(9/16)」「鐘山の滝(9/24)」「霧降りの滝(10/14)」「棚下不動滝(10/21)」。また、今年の滝巡りで忘れてはならないのが、早戸大滝にアタックした時の経験です。路肩の土盛りに車を乗り上げ、横に停まっていた車の方々に里まで送ってもらい、数時間JAFを待ち、JAFの方に復旧していただいた後、夕方近くになってから一人でアタックしたところ、滝を目前にして腰痛でダウンし、帰り道は夕立に遭い、増水した川で帰り路を見失いかけ、あわや遭難するところでした。

§ 今年の旅行 目次 今年は、今までの人生でも納得できる旅行ができました。家族で沖縄(3月)、山形上山(12月)に訪れ、海のきれいさと雪の美しさを味わいました。夫婦で臺灣(10月)に訪れたのは、私にとって十数年ぶりの海外、23年ぶりの臺灣ということがあって思い出も深いです。昨年一人で訪れた沖縄では16,7ぶりにお会いした方と、今回は双方の家族総出でお会いしました。奥様とは17,8年ぶりの再会。また、10数人のパーティーで訪れた尾瀬(6月)は景色が素晴らしく、朝昼夜で多彩な景色を見せてくれる自然のすばらしさに感動しました。あと四人で訪れた会津旅行も会津の方々にたくさん出会え、会津の方々の郷土愛に感動しました。無農薬栽培のお手伝いを通して、どれだけ無農薬が大変で、どれだけ産物が美味しいかについても知見をいただきました。この旅行では島根の方とも知り合えたのが、旅人同士の縁の嬉しさを感じた人時でした。一人でも鹿嶋に車中泊で向かい、鹿嶋神宮やアントラーズ、塚原卜伝関連の地を訪れ、旅を満喫しました。皆様ありがとうございました。

§ 今年の駅鉄 目次 趣味の駅巡りは36駅。昨年の倍以上に行きました。「香櫨園駅(1/1)」「相武台下駅(2/18)」「芦原町駅(3/3)」「木津川駅(3/3)」「辺川駅(3/4)」「海部駅(3/4)」「宍喰駅(3/4)」「甲浦駅(3/4)」「公津の杜駅(3/20)」「県庁前駅(3/28)」「中川駅(4/10)」「沼久保駅(5/20)」「甲斐常葉駅(5/20)」「身延駅(5/20)」「大佐倉駅(5/24)」「荏原町駅(6/27)」「鬼子母神前停留場(7/13)」「鉾田駅(7/15)」「北浦湖畔駅(7/15)」「鹿島灘駅(7/15)」「鹿島大野駅(7/15)」「長者ヶ浜潮騒はまなす公園前駅(7/15)」「荒野台駅(7/15)」「鹿嶋サッカースタジアム駅(7/15)」「延方駅(7/15)」「宮村駅(8/6)」「天橋立駅(8/6)」「ときわ台駅(9/6)」「土合駅(9/16)」「河口湖駅(9/24)」「久里浜駅(10/5)」「津久田駅(10/21)」「後閑駅(10/21)」「基隆駅(10/28)」「新松田駅(12/18)」「かみのやま温泉駅(12/27)」。それぞれに周囲の光景と共に興味深い駅たちでした。ただ、これらの駅で撮った写真をまとめてブログにアップするにはまだ時間がかかりそうです。

§ 今年の酒楽 目次 今年は私の酒履歴に欠かせない一年となりました。
まずは日本酒。今年は日本酒の魅力の深さを知った一年です。それは六月に尾瀬を一緒に旅した小宮さんとのご縁からつながりました。小宮さんのお陰で日本酒の奥深い世界を教えていただきました。「まさるや2018仲秋 日本酒呑んでる会in町田(9月)」「Tokyo Rice Wine 日本酒の会(9月)」「酒家 盃爛処(10月)」「かもすや酒店(10月)新政呑みくらべ」「中澤酒造株式会社(12月)」。感謝です。あとパートナー企業の社長様が日本酒に詳しく、今年は5回ほどご一緒に盃を傾けました。私がちょくちょく日本酒を買って帰るものだから、妻が年末の山形旅行でお酒を買ってくれました。なかなかの美酒のようで楽しみです。今年訪れた酒蔵は二カ所。「富士高砂酒造(5/20)」「中澤酒造(12/18)」。来年もほうぼうを訪れる予感がします。
続いてウイスキー。妻がウイスキー好きになってくれたので、今年は二人+αでいくつかお店を巡りました。「Tokyo Whisky Library(2月)」「ニッカ ブレンダーズ バー(10月)」「スコットランド写真展(10月)」。真ん中のは別のご夫婦とも一緒に伺い、交流を深めました。最後のは娘が来年からお世話になる学校の校長先生が開いた写真展。ここではHighland Parkが40年も含めた3種類、樽でご用意されており、ウイスキー好きには楽園。相当飲みました。また、今年はWhisky Festival in Tokyoに初参戦したことも書かせません。3人で訪れたのですが、何種類呑んだのか覚えていないくらい美酒を飲みまくりました。至福の時でした。Whiskyについては「Bar Harbour Inn(3月)」も欠かせません。ここで飲ませてもらった11年もののBowmoreの美味さ!私にとってこのお店はずっと通う店であり続けるでしょう。また何人かで訪れたお店として「Bar 羽月(4月)」で飲んだ燻酒の美味さはその前の花見でMiltonduffを相当呑んだ後ですが印象に残っています。「Corn Valley澁谷店(5月)」もそう。魂友とふらっと訪れた「草月(9月)」もまた訪れたいバーです。また、一人で訪れた六本木ヒルズアリーナのGlenMorangeイベント(11月)はオレンジに統一された色調や味と共に今でも思い出すとほろ酔いできます。「籠屋(秋元酒店)(2月)」で飲んだイチローズモルトの秩父のIPAカスクには衝撃を受けました。今年訪れた蒸留所は「白州蒸留所(7/29)」。来年こそはクラフトウイスキーや宮城峡を訪れたいものです。できればKAVALANも。
続いて焼酎。沖縄旅行の時に妻と訪れた「ぱいかじ 国際通り店(3月)」では、泡盛を心置きなく飲めました。泡盛はまだまだ深く、極めたいと思っています。魂友と訪れた「玉ちゃん亭(5月)」でも泡盛をたくさんいただきました。池袋の「くさやばー(10月)」で飲んだ情ヶ嶋は麦と芋ともに衝撃の味わいでした。青酎も。情ヶ島の麦はその後ボトルで購入したぐらい惚れ込みました。
続いてビール。今年も各地のクラフトビールを呑み歩きました。CarftBeerを扱うお店が増えてきたのでうれしい限りです。ビールについてはほとんどが一人のみ。私にとっては短時間でさっと飲むときに重宝する酒になりました。
続いてハイボール。これは「極鶏Bar下北沢(8月)(12月)」以外ありません。12月に訪れた際は絶品のイノシシ鍋をつつかせてもらいました。これがハイボールによく合っていて完璧でした。
続いてワイン。今年は「ワイン&グルメ ジャパン2018(4月)」につきます。四名で会場を巡りました。去年からワインのおいしさにも目覚めており、ここで飲んだワインが絶品でした。日本のワインもすごいのです。また、先にも書いた「 Tokyo Rice Wine 日本酒の会(9月) 」では日本酒酵母で醸したワインをいただきました。さらに一人のみですが「富士の国 やまなし館」でも山梨産のワインに喉を潤しました。
最後にカクテル。私がカクテルをBarで頼むことはほとんどないのですが、どれも妻と訪れたバーで飲みました。「Stella Lounge(1月)」「カメリア(9月)」。後者は東京駅内にあるバーで、旅情を思わせるカクテルが印象的です。あと、忘れてはいけないのが「アジアンフード バー バグース(4月)」で飲んだパクチーモヒートです。4名で訪れてパクチーを食べまくりましたが、モヒートも美味しかった。
今年もほうぼうに商談に赴いたこともあって、毎月の独りのみは出来たと思っています。「籠屋(秋元酒店)(2月・狛江)」「BrewDog Roppongi(4月・六本木)」「富士の国 やまなし館(4月・日本橋)」「Craft Beer Moon Light 本店(5月・川崎登戸)」「地ビール厨房 COPA 町田店(6月・町田)」「イングリッシュパブ トラファルガー(7月・町田)」「京橋エドグラン(8月・東京京橋)」「Hop-Scotch Craft Beer & Whiskey(9月・飯田橋)」「世界のビール博物館(10月・押上)」「六本木ヒルズアリーナ(11月・六本木)」「Classy’s Bar(12月・川崎)」。
結局呑みの回数は年間で70回でした。大体5日に1度。呑みは週一度に抑えたいと思っていたので結果的に実現できて良かったです。

§ 今年のその他活動 目次 人生も半分を過ぎ、まだ焦りが募っています。少しでも日々に変化をつけようとする気持ちに衰えは見えません。
・一昨年に二枚、昨年に五枚ゲットしたマンホールカードの収集。今年は九枚入手しました。兵庫県西宮市(3/2)、大阪府大阪市(3/5)、神奈川県川崎市(4/20)、群馬県藤岡市(4/29)、茨城県鹿嶋市(7/15)、東京都立川市(9/12)、群馬県沼田市(9/16)、東京都昭島市(10/11)、山形県上山市(12/27)。来年も折を見て各地でゲットしようと思っています。
・ダムカードも一枚いただきました。城山ダム(9/23)です。
・風景印も三つ。「天橋立駅前郵便局(8/6)」「上山十日町郵便局(12/27)」「上山旭町郵便局(12/28)」。
・灯台も二カ所回っています。「伊計島灯台(3/28)」「鹿嶋灯台(7/15)」。来年は灯台巡りもしたいと思っています。
・旅先で訪れた資料館・博物館・美術館では勉強しました。「根津美術館(2/11)」「大阪人権博物館(リバティおおさか)(3/3)」「尾崎咢堂記念館(5/6)」「NTTドコモ歴史展示スクエア(7/26)」「甲子園歴史館(8/5)」「野球殿堂博物館(8/21)」「三島由紀夫文学館(9/24)」「徳富蘇峰記念館(9/24)」「世田谷文学館(10/16)」「旧前田家本邸(11/2)」「幕末維新ミュージアム霊山歴史館(12/30)」。
・城もあちこち訪れました。「勝連城跡(3/28)」「枡形城(5/5)」「大手門(5/11)」「本佐倉城跡(5/24)」「鹿島城山公園(7/15)」「山中城跡(8/19)」「祢津城山(8/25)」「砥石城跡(8/25)」「桝形城跡(8/25)」「米山城跡(8/25)」「沼田城(9/16)」「伏馬田城趾(9/23)」「鶴ヶ城(10/9)」「長井坂城跡(10/21)」「名胡桃城址(10/21)」「上山城(12/27)」。こうしたデータは上にも書いたkintone Advent Calendarの中で再集計してみました。
・訪れた神社は以下の通り。「白山姫神社(1/1)」「西宮神社(1/2) 」「毘沙門天堂(2/10) 」「塩川神社(2/18) 」「浪速神社(3/3) 」「相州春日神社(3/22) 」「稲毛神社(4/20) 」「野津田神社(4/22) 」「琴平神社(5/14) 」「富士山本宮浅間大社(5/20) 」「将門口ノ宮神社(5/24) 」「成田山 咤枳尼天堂 (出世稲荷)(6/17) 」「旗岡八幡神社(6/27) 」「雑司ヶ谷 鬼子母神 (鬼子母神堂)(7/13) 」「鹿島神宮(7/14)(7/15) 」「鎌足神社(7/15) 」「江の島弁天(8/11) 」「筑土八幡神社(9/5) 」「板橋天祖神社(9/6) 」「十二坐神社(9/16) 」「東京大神宮(9/19) 」「永井箱根神社(10/21) 」「 鶴ヶ峰神社(11/18) 」「驚神社(11/18) 」「野津田神社(12/9) 」「東郷神社(12/16) 」「京都霊山護國神社(12/30) 」「八坂神社(12/30) 」。今年から神社でお参りする度、口で願いを述べ、「努力します」を三回繰り返しています。ただ漠然と願うだけでは自分の思い描く未来は送れないからです。
・訪れた寺は以下の通り。「神呪寺(1/1)」「成田山 新勝寺(6/17)」「根本寺(7/15)」「東陽寺(7/22)」「安全寺(8/31)」「龍山寺(10/29)」「野津田薬師堂(12/9)」「青蓮院門跡(12/30)」「岡崎別院(12/30)」「法然院(12/30)」。お寺も実は本堂の中に入ると面白い。地元の野津田薬師堂には初めて中に入らせてもらいました。臺灣で訪れた龍山寺も地元に密着した様子がたまりませんでした。また、年末に訪れた京都の諸寺では、深く学ばせてもらいました。
・登った山は四つ。「草戸山(4/8)」「桝形山(5/5)」「祢津城山(8/25)」「七国山(12/9)」どれもが低い山です。砥石城も山ですがそちらのほうが急でした。来年は腰を直して百名山に登りたい。
・名木は二カ所。「鬼子母神の公孫樹(7/13)」「山高神代ザクラ(7/29)」。さくらは日本各地に観に行きたいです。
・名水は二カ所。「神田川(5/20)」「益栄の水(12/28)」。前者は平成の名水百選に選ばれています。こうした場所にも訪れていきたい。
・ビーチは二カ所。「エメラルドビーチ(3/27)」「大泊ビーチ(3/28)」。ともに沖縄で訪れた美しすぎる場所。心が洗われるとはこのことです。
私がまだ訪れていない場所の多さにめまいがします。他の活動もまだまだやりたいことがいっぱいあったのですがとても時間がありませんでした。
それぞれの場所で俳句も読みました。数年前から興が乗るたびに読んでいましたが、振り返ってみると今年も結構な数を詠んでいます。そうした訪問記が私にとって何なのかの考察は、年末に「SNSとはライフログツール」として表しました。
ライフログについては上記ブログにも書きましたが、年初から6月ごろまで盛んにGoogle Mapでロケーション情報や口コミを投稿していました。それが評価されたのかランクが次々とあがり、10月にサンフランシスコで行われる世界規模のGoogle Mapイベントに招待されました。英語の動画PRができずに断念したのが心残りです。英語も勉強しなければ。

あらためて「公」「私」を振り返ってみました。今年は冒頭に書いた通り、満足度は高いです。良い一年だったと思います。あとはムラを生じさせる原因を来年どう防いでいくかですね。特にムラ、が重要になりそうです。後1日、今年を無事に締めくくり、来年へと繋げようと思います。


平成30年12月のまとめ


この5月から毎月のまとめを弊社ホームページ上でアップしています。今回は2018年12月のまとめです。2018年一年のまとめは明日大みそかにアップします。

12月の売上ですが、今年の好調な売り上げを反映し、今年度で二番目の売り上げとなりました。歴代でも二番目です。今月は粗利もかなりの額を確保しました。理由は弊社が自身で手掛ける案件を増やしたことです。

ただし、今月は苦い出来事もありました。協力会社の技術者さんが現場になじめず離脱したいと強く希望していたのです。それはSES業務の割合を増やしたくないとの代表の思いを裏付ける出来事でした。弊社代表にもSES契約の下で現場に派遣された経験が長く、人月計算の要員として算入される苦しみには覚えがあります。とはいえ、現場からの離脱を安易に認めるわけにはいきません。技術者さん当人が現場で得られる経験の大きさからして当人のためにならないことは明らか。結局、説得には失敗し、現場の方にはお詫びすることになりました。そして、来年早々に代替要員を提案することになりました。SESの営業が必ず直面する現場離脱のフォローですが、基本的には業務の本筋ではなく雑務です。これ以上こうした業務を増やさないようにしなければ。

一方で、自社で雇用する方向も考えねばなりません。来年四月には弊社の体制を見直す予定ですが、その中には雇用の検討も含んでいます。年末には候補となる有力な方と面談を行いました。また、別件で組んでいる技術者さんの優秀さを目の当たりにし、来年以降、より密な関係を築き上げていく予定でいます。

一方で今年一年の弊社に顕著だったkintone案件の規模拡大はまだ続きそうです。EBISU Tech Nightでも喋りましたが、そこでのご縁で来年は大きな案件がいただけそうです。来年早々、大き目のkintone案件が複数並行で動きそうです。さらに忙しくなりそうです。

今年を総括し、来期に生かすため、代表は年の瀬の京都を歩き巡りました。そして、歩きながら自分の想いを撹拌し、聖域で心を静め、今期の反省と来季の決意を固めました。今の方向性をブラさずに続けていこうと思っています。

慢心することなかれ、安住することなかれ、変化を恐れることなかれ、今に満足することなかれ。


EBISU Tech Night Vol.5にて登壇しました


昨日、EBISU Tech Night Vol.5 で登壇を求められ、喋ってきました。
お題は「kintone + MONACAでモバイルアプリ開発!」
まあ、タイトルはストレートです。

EBISU Tech NightはAWSやcybozu.comの凄腕技術者が集うイベントです。今まで私はVol.2でも、Vol.4でも登壇の機会をいただきました。今回が三度目です。

今回はモバイルアプリ開発というお題で挑んでみました。AWSやcybozu.comを主戦場とする技術者とはいえ、ほとんどの方が開発するシステムはPCで使用するシステムのはず。モバイルアプリはあまり経験されていないのでは。そんな予測で臨んだ今回でしたが、冒頭で「MONACAを知っているでしょうか」と三十名程の聴衆者に伺ってみたところ、ご存じなのはお一人だけでした。手を挙げなかった方を含めても一割ほどの認知でしょうか。この分野でメジャーなXamarinを例に挙げたとしても同じ程度だったかもしれません。

モバイルアプリ開発への認知度がその程度とはいえ、今後もモバイルアプリが求められる確度はかなり高い。これに異をとなえる方はそうはいないはず。モバイルの処理能力が飛躍的に向上した今、PCのアプリに対し優位に立てるのは画面の大きさと、複数アプリの同時表示という点ぐらい。

ところがモバイル開発は技術者にとって鬼門でした。少なくとも私には。かつてのフィーチャーフォンでどれぐらい苦労したか。それこそが環境差異。かつてのフィーチャーフォンが廃れてしまった一因には、キャリアごとに開発環境や言語が違ったため、アプリの開発工数がかかった事情も無視できないと思います。そして今もまた「iOS」と「Android」の間でシェアを巡る争いとバージョンアップによる無数の環境が生まれています。

わたしはこうした環境差異を吸収するために費やす時間は無駄だと考えています。もっと機能そのものをビジネスにフィットさせるべきだろうと。そのためにもMONACAのような簡単に環境の差を乗り越えてアプリをビルドするツールはもっと世に知られるべきだと。

今回はkintoneから取得したデータを元にアプリの画面を描画し、最後はkintoneにデータを書き込むところまでお見せしました。モバイルアプリのデータベースは、Local StorageやSession StorageやWeb SQLやIndexed DBやSQLiteが主流です。が、kintoneを使うことで、データベース周りが簡単に作りこめます。kintoneに加え、なおかつモバイルアプリも簡単に作れる。私が示したかったこととはそれです。

そうした意図で語った一部始終、どこまで皆さんに伝わったかはともかく、環境の差異を回避する策の一環として伝わったのであればひとまずは成功です。惜しむべきは、笑いを織り込むまでにスライドを練られずに壇上に上がったことでしょうか。

来年も引き続きEBISU Tech Nightは行われるとか。すでに司会の方から四回目の登壇のご依頼もいただきました。引き続き精進しつつ、皆さんを引き付けられるような登壇を目指します。

スライド


ライフログのkintone盛り alasql仕込みのGoogle Chart添え


1.読まなくてもいい献立の前書き

  目次へ↓

唐突ですが皆さん、ライフログって言葉覚えてますか? 何!忘れた? そんな言葉あったっけ?

それならば説明しましょう!システムが行った作業の結果がログ。ウェブ上にログを残すからウェブログ。略してブログ。そして、人生のイベントを記録するのがライフログ。今やこの言葉は、数多くの新語とともにハードディスクの肥やしと成り果てています。

ところが、まだ忘れるのは早い!という訳で、kintoneでライフログです。

このライフログという概念は2000年代の初め頃に産声をあげていたといいます。ITジャーナリストの佐々木俊尚氏は、2010年の秋に発表した『キュレーションの時代』の中でライフログの概念は2010年代の間にはまだ根付かないだろう、と的確に予言されています。なぜなら、日本にはプライバシーの公開に気持ち悪さを持つ人が大多数だから、と。つまり、ライフログとはまだこれからの概念なのです。佐々木氏はその本の中で、ライフログを集めるツールとしてFourSquare_logoをプッシュしています。このFourSquare_logoですが、ある時期に仕様が迷走したこともあって日本ではすっかり影を潜めてしまいました。ですが、海外では位置とモノを関連付けたデータをがっちり握った企業として存在感を保っているようです。FourSquare_logoとは、一言でいうと訪問場所でチェックインすることで自分がいつどこにいたかを後世の自分、またはどこかの物好きのために記録しておくツールです。それはまさにライフログ。なお『キュレーションの時代』はかつて弊社のブログでも取り上げています。

kintoneは言うまでもなく優れたプラットホームサービスですし、仕事の改善にはテキメンに効きます。それはもう間違いない。でも、プライベートな使い方だってできるのですよ。ワークライフバランスを充実させるにはプライベートでもkintoneを使い倒したほうがいいと思いませんかみなさん!?

私にとって幸いなことにkintoneFourSquare_logoの連携事例はウェブにほぼ皆無です。そこは青い大海原、ブルーオーシャン!というわけでささやかですが、連携事例を公開したいと思います。あわせて、これもkintoneとの連携事例が極めて少ないGoogle Chartと絡めて。題して「ライフログのkintone盛り alasql仕込みのGoogle Chart添え」

2.ご用意いただく材料

  目次へ↑

ちなみにこのレシピの内容を再現せんと志す奇特な方は、以下のものをご用意ください。

  • FourSquare_logoのアカウント(チェックイン用のアプリSwarm_logoも忘れずに)
  • kintoneのスタンダードプラン
  • phpが動き、cronが実行できるサーバー(レンタルサーバーでも可)
  • Google Maps Platform上で動くライブラリを呼び出すためのAPI KEYの入手。こちらをご参考に

このレシピは2018年12月時点の「さくらのレンタルサーバー スタンダード」(phpは7.2.10(CGI版))で動作することを確認しております。
また、Google Maps Platformで動くAPIについては、月あたり40000リクエストまでが無料枠内だそうです。このレシピはプライベート利用なので、そこまでいかないことを念頭においています。
ちなみに、みんな大好き「zapier」でも、Swarm_logoでチェックインする度にkintoneに新たなレコードを追加できます。が、それをいっちゃぁおしめえよ、ということでお付き合いいただければ幸いです。
このレシピは一日単位でkintoneにライフログを一括で登録することに意義を持たせています。そして激動の一日を振り返りつつ、自分をねぎらいたい、そして昨日を忘れ去りたい「あ・な・た」の味方になることも!

なお、いうまでもなく、ライフログはみだりに公開するものではありませんぞ。このレシピのせいであなたのデイリーライフに何か問題が起こっても責任は取れませんのであしからず〜

3.献立の出来上がりイメージとレシピ

  目次へ↑

FourSquare_logoはAPIがOAUTH付きで公開されています。なので私の策略はこうです。まず、午前0時を過ぎたあたりでFourSquare_logoの前日分のチェックインデータをkintoneにシュっと放り込んでやろう。そして溜まったデータをウヒャヒャと一覧で眺めてみよう。ついでに今年、どんぐらい国や県を訪れたんやろう、と地図に出して一人ニヤけて悦にいる。うーん、ダークロースト。

まずは着地点をお見せします。上が世界の長井。下が日本の長井です。

世界の中心で長井を晒す

日本の中心で長井を晒す

ともにkintoneのカスタマイズビューではなく通常の一覧を使って長井を晒しています。世界地図は日本と台湾に色がついており、日本地図は東京が最も濃く、次に神奈川。データはFourSquare_logoSwarm_logo)でチェックインしたデータをphpでkintoneに取り込みます。地図を書き込むのは一覧画面のヘッダスペースです。そのため、世界地図版と日本地図版で一覧を分けています。

kintoneのアプリの構造はこんなんです。

フィールド名 フィールドコード
場所 場所 文字列(1行)
文字列(1行)
都道府県 都道府県 文字列(1行)
コメント コメント 文字列(1行)
日時 日時 日時

あと、アプリの設定画面で下図の3つのファイルを登録してください。
https://www.gstatic.com/charts/loader.js
とhttps://cdnjs.cloudflare.com/ajax/libs/alasql/0.4.11/alasql.min.js
はCDNから使います。最後のjsファイルはこの後説明します。
kintone_app

ここであらためて全体の構成図をご覧いただきましょう。一目瞭然とはこのことですね。

構成図

4.FourSquareの下ごしらえ

  目次へ↑

日々のチェックイン履歴をFourSquare_logoに溜める方法は、簡単に書くとこんな感じです。

  • Swarm_logoのアプリを立ち上げ、チェックインしたい場所でチェックインボタンを押す。
  • Swarm_logoの候補の一覧にその場所が登場します。
  • 登場しなくても検索すれば場所が指定できます。
  • 指定した場所でチェックイン(構成図の①)を行えば時間とともに自動的に記録(構成図の②)されます。気が向けばコメントも入れられます。

どうです?モンスターボールを投げなくてもよいし、ポータルを三角形で囲わなくてもよいのです。簡単ですよねFourSquare_logo

さて、今回の記事ではAccessTokenをFourSquare_logoから取得する処理(構成図の③)から説明します。AccessTokenはこのレシピの中で一度取得するだけです。なぜ一度だけでよいかというと、AccessTokenはユーザーを特定するのに使われるからです。つまり、一度AccessTokenを取得しておけば、何度でも使いまわしができるのです。FourSquare_logoには他にもたくさんのAPIが用意されています。処理によってはその都度AccessTokenを取らねばならず、ソースも複雑な下ごしらえが求められることもあります。ですが、このレシピではユーザーのチェックイン情報だけをとるのが目的なので、一度きりでよいのです。

5.FourSquareのAPI KeyとAPI Secretを取り寄せる

  目次へ↑

まず、https://ja.foursquare.com/にアクセスしてください。

FourSquarePage

そして、右上の開発者をクリックします。

すると、https://developer.foursquare.com/にページが遷移します。

FourSquareDeveloperPage

がでたら、右上のCreate Accountからアカウントを作成してください。

多分、FourSquare_logoで作ったアカウントがそのまま開発者アカウントとして引き継がれるはずです。

そしたら下図のようにMy Appsを選びましょう。アプリの作成のリンクがあるはずです。

FourSquareMyApp

こんな風に入れてください。

FourSquareMyAppRegist

この中で重要なのは3点。

  • Client ID、Client Secretは次の作業で使うのでちゃんとメモっておきましょう。
  • Client ID、Client Secretは墓まで持っていきましょう。人に教えちゃダメ!
  • Redirect URI (s)もちゃんと考えておきましょう。これは次の作業でこさえるスクリプトのURIです。

Application Urlという項目もありますが、ここは適当でよいです。他の項目も商用で使わなければ空白でよいはず。

6.FourSquareのアクセストークンの取り寄せとソースの仕込み方

  目次へ↑

続いて、アクセストークンを取得するためのphpを示しましょう。98行。38ステップです。

コメントに内容は記載しているので、まずはソースを味わってみてください。

設定A ⇒ 条件分岐B ⇒ 条件分岐C ⇒ 処理D ⇒ 処理E ⇒ 処理F ⇒ 条件分岐G ⇒ 処理H ⇒ 条件分岐I ⇒ 処理Jの順に進みます。

  // 設定A //
  // マイアプリで表示されたClient ID
  $client_id = 'KOKONIHAHONMAYATTARARANDAMUNAMOJIRETSUGAHAITTORUNEN';
  // マイアプリで表示されたClient Secret
  $client_secret = 'SEYAKEDOKOKONISOREDASHITARAORENOKOUDOUGABARERUKARADASAHENNEN';
  // リダイレクトURL (このスクリプト自身のアドレスです)
  $redirect_uri = 'https://*****.*****.ne.jp/*****/****_*********.php';
  // アクセストークン取得URLのベース
  $access_token_baseurl = 'https://foursquare.com/oauth2/access_token';
  // 認証URLのベース
  $authenticate_baseurl = 'https://foursquare.com/oauth2/authenticate';

  // 結果表示HTML用
  $html = '';
  // 結果表示見出し
  $html .= '<h2>実行結果</h2>';

  // 条件分岐B //
  //初回は$_GET['code']がなく中の処理は実行されない。「許可」され、リダイレクトされた場合に実行
  if( isset( $_GET['code'] ) 
    && !empty( $_GET['code'] ) 
    && is_string( $_GET['code'] ) ) {
    // 処理E //
    // 認証画面でFourSquareの実行が許可されると$_GET['code']付きでこのスクリプトが呼び出される。
    // アクセストークンの取得に利用するコード
    $code = $_GET['code'];
    // 処理F //
    // アクセストークン取得のためのパラメータを設定したUrlを組み立てる。
    // リクエストURL
    $request_url = 
      $access_token_baseurl . 
        '?client_id=' . $client_id . 
        '&client_secret=' . $client_secret . 
        '&grant_type=authorization_code' . 
        '&redirect_uri=' . rawurlencode( $redirect_uri ) . 
        '&code=' . $_GET['code'] . 
        '&state=users/self';
    // curlを初期化する
    $curl = curl_init();
    curl_setopt( $curl , CURLOPT_URL , $request_url );
    curl_setopt( $curl , CURLOPT_HEADER, 1 );
    // 証明書の検証を行わない
    curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false );
    // curl_execの結果を文字列で返す
    curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true );
    // タイムアウトの秒数
    curl_setopt( $curl , CURLOPT_TIMEOUT , 5 );
    // 実行し、結果を$jsonに代入
    $res1 = curl_exec( $curl );
    $res2 = curl_getinfo( $curl );
    curl_close( $curl );
    // 取得したJSONデータ(ヘッダーサイズでTrimしないとFourSquareはエラーになる)
    $json = substr( $res1, $res2['header_size'] );

    // JSONをオブジェクト型に変換する
    $obj = json_decode( $json );

    // 条件分岐G //
    if( !isset( $obj->access_token ) ) {
      // アクセストークンを取得できなかった場合
      $error = 'アクセストークンを上手く取得することができませんでした。';
    } else {
      // 処理H //
      // アクセストークンを[$access_token]に代入する
      $access_token = $obj->access_token;
      // アクセストークンをブラウザーに出力する
      $html .= '<p>取得したアクセストークンは <b><mark>' . 
        $access_token . '</mark></b>です。</p>';
    }
  } elseif( isset( $_GET['error'] ) ) {
    // 「拒否」して返された場合怒る。
    $error = 'なんで「許可」してくれへんの!?';
  } else {
    // 条件分岐C //
    // 初回はこの処理が行われるはず。
    header( 'Location: ' . $authenticate_baseurl . 
      '?client_id=' . $client_id . 
      '&response_type=code' . 
      '&redirect_uri=' . rawurlencode( $redirect_uri ) );
    // 処理D //
    // headerの後はexit()
    exit;
  }

  // 条件分岐I //
  // エラー判定
  if( isset( $error ) && !empty( $error ) ) {
    $html .= '<p><mark>' . $error . '</mark>' . 
      'もう一度、認証をするには、' . 
      '<a href="' . explode( '?' , $_SERVER['REQUEST_URI'] )[0] . '">こちら</a>' . 
      'をクリックして下さい。</p>' ;
  } else {
    // 処理J //
    // ブラウザーに[$html]を出力 (結果としてアクセストークンの文字列が表示されます)
    echo $html;
  }

もう一度上の処理をおさらいします。
・最初にこのスクリプトが呼ばれた際、URLにcodeパラメーターはついていません。
・だからBの条件でEFGHの処理は行われず、条件分岐Cの処理が実行されます。
・その中ではLocationヘッダを送信しています。なので、その下の処理Dでただちに認証画面にリダイレクトされます(認証画面は割愛します)。
・そこで認証が終われば、再びこのスクリプトがcodeパラメーター付きで呼ばれるよう、処理DのLocationヘッダの中にredirect_uriパラメーターを指定しています。
・再びこのスクリプトが実行されると、今度は条件分岐Bで処理E、Fが実行されます。
・FではFourSquare_logoのアクセストークンを返すAPIが呼ばれます。
・なので、無事にアクセストークンが返ってくるという流れです。お判りでしょうか?

そしたらこのスクリプトファイルをどこかのウェブサーバーに送ってください。phpファイルの実行権限付きで。先ほどFourSquare_logoのマイアプリの設定でRedirect Url (s)に入力していただきましたが、その内容と合わせておいてください。

たとえばhttps://hanamogera.com/mokeke/foursqaure_tokun_yokose.phpに送るとします。そしたらブラウザーのアドレスバーに直接上のアドレスを指定し、実行します。

すると結果が以下のように表示されるはずです。このマーカー部分をコピーしておきましょう。

アクセストークン

おめでとうございます。アクセストークンはこれであなたのものです。ついに調理人として存分に腕を振るう時が来たのです!!

7.FourSquareからCheckinデータの取り寄せとソースの仕込み方

  目次へ↑

続いては、いよいよAccessTokenを使ってFourSquare_logoにデータくれ!とおねだり (構成図の④) してみましょう!もらったデータをkintoneにシュッと投げ込むまで(構成図の⑤)のphpも説明します。まずはphpを以下に示します。115行。64ステップです。

こちらもコメントに内容は記載しているので、まずはソースを味わってみてください。
先のスクリプトはソースに大分シェフの手を加えましたが、このスクリプトは素材の味を生かすような作りにしています。

設定A ⇒ 設定B ⇒ 設定C ⇒ 設定D ⇒ 設定E ⇒ 条件分岐F ⇒ 条件分岐G ⇒ 処理H ⇒ 処理I ⇒ 処理J ⇒ 処理Kの順に進みます。

  // 設定A //
  // アクセストークン (前の処理で取ってきた文字列です)
  $access_token = 'YATTAYOAKUSESUTOKUNTORETAYOKOREDESIAWASENINARERUNE';

  // 設定項目 (ここはアクセストークン以外はデフォルト)
  $params = array(
    'oauth_token' => $access_token ,// アクセストークン (これでユーザーが認識される)
    'locale' => 'ja' ,              // ローカライズ (jaは日本)
    'm' => 'swarm' ,                // モード (foursquare OR swarm)
    'v' => '20150801' ,             // バージョン (APIのバージョン。今のところ左の年月日)
    'limit' => '250'                // 取得件数 (250が上限)
  ) ;
  // 設定B //
  // GETメソッドで指定した場合 (設定項目のパラメーターを差し替える)
  foreach( array( 'locale' , 'm' , 'limit' , 'sort' , 'afterTimestamp' , 'beforeTimestamp' ) as $val ) {
    if( isset( $_GET[ $val ] ) && $_GET[ $val ] != '' ) {
      $params[ $val ] = $_GET[ $val ] ;
    }
  }

  // 設定C //
  // 設定項目 (日付や並び替えなどの条件を追加します。例えば2018/11/30の00:15時点で実行されたとします。
             するとstrtotime("today")は2018-11-30 00:00:00が返されます。
              strtotime("yesterday")は2018-11-29 00:00:00が返されます。
              それをもとにした$params["afterTimestamp"]は2018-11-29 00:00:00より後のチェックインデータを、
              それをもとにした$params["beforeTimestamp"]は2018-11-30 00:00:00より前のチェックインデータを取得します。
              $params["sort"]はoldestfirstを指定すると上記の日付範囲のチェックインデータのうち古いものを最初に取得します。
              ここ重要です。kintoneライフログ調理師試験に出ますので、要おさらい!!) //
  $today = strtotime("today");
  $yesterday = strtotime("yesterday");
  $params["afterTimestamp"]=$yesterday;
  $params["beforeTimestamp"]=$today;
  $params["sort"]="oldestfirst";

  // リクエストURL (usersの次のselfは固定文字)
  $request_url = 'https://api.foursquare.com/v2/users/self/checkins?' . http_build_query( $params );

  // 設定D //
  // cURLでリクエスト
  $curl = curl_init();
  curl_setopt( $curl , CURLOPT_URL , $request_url );
  curl_setopt( $curl , CURLOPT_HEADER, 1 );
  curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false );
  curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true );
  curl_setopt( $curl , CURLOPT_TIMEOUT , 5 );
  $res1 = curl_exec( $curl );
  $res2 = curl_getinfo( $curl );
  curl_close( $curl );

  // 設定E //
  // 取得したJSONデータをオブジェクト形式に変換する (ヘッダーサイズでTrimしないとFourSquareはエラーになる)
  $json = substr( $res1, $res2['header_size'] );
  $obj = json_decode( $json );

  // 条件分岐F //
  // エラー判定 (metaのcodeの値が200だと正常に取得されている)
  if( !$obj || !isset($obj->meta->code) || $obj->meta->code != 200 ) {
    //ログ出力して調査!
  } else {
    // 説明
    $data = array();
    $count = 0;
    // 条件分岐G //
    //取得したデータオブジェクトの -> response -> checkins -> itemsの中をループする //
    foreach( $obj->response->checkins->items as $item ) {
      // 処理H //
      //$itemの中にはチェックインの場所についての栄養が豊富に含まれています。緯度経度やコメントや市長など。詳しくはhttps://developer.foursquare.com/docs/api/users/checkins //
      // チェックインID
      $id = $item->id ;
      // ベニューのID
      $venue_id = $item->venue->id ;
      // ベニューの国 (国名は日本語で取得できる)
      $venue_country = $item->venue->location->country;
      // ベニューの都道府県 (取得した後、Google Chartの都合で末尾の「都」「府」「県」は除去する)
      $venue_prefecture = $item->venue->location->state;
      switch ($venue_prefecture){
        case '北海道':
          break;
        default:
          $venue_prefecture = mb_substr($venue_prefecture,0,-1, "UTF-8") ;
          break;
      }
      // ベニューの名前 (改行は除去しておく)
      $venue_name = str_replace(array("\r\n", "\r", "\n"), '', $item->venue->name);
      // チェックイン日時(オフセットと合わせる。要は日本の時間に合わせる)
      $createdAt = $item->createdAt + 54000 - 86400;
      // 日時の整形 (kintoneにあった日付データ形式に変更する)
      $createdAt = date( 'Y-m-d' , $createdAt )."T".date( 'H:i:s' , $createdAt ) ;
      // コメント (改行は除去しておく)
      $shout = ( isset($item->shout) ) ? str_replace(array("\r\n", "\r", "\n"), '', $item->shout) : '';
      // kintoneに投げるデータです。フィールドコードとデータ型を合わせることを忘れずに。
      // 処理I //
      //kintoneに投げるデータをここで指定します。文字列データは文字列型にキャストしておくとふっくら仕上がります //
      $data[$count] = array(
        "場所" => array("value" => (string)$venue_name),
        "コメント" => array("value" => (string)$shout),
        "国" => array("value" => (string)$venue_country),
        "都道府県" => array("value" => (string)$venue_prefecture),
        "日時" => array("value" => $createdAt)
      );
      $count++;
    }
  }

  // 処理J //
  // kintoneの対象のアプリIDを指定する。(1111というのはダミーです)。FourSquareからのデータもあわせて。
  $postdata = array("app" => 1111,records=>$data);
  // 処理K //
  // kintoneのアクセストークンを指定する。ベーシック認証がある場合はそちらもあわせて指定。
  $headers = array(
    "X-Cybozu-API-Token:" . "kintoneNOAPURISETTEIDESHUTOKUDEKIRUTOKUN",
    "Authorization:" . "Basic " . base64_encode("YUUZAAID:PASUWAADO"),
    "Content-Type:" . "application/json"
  );
  // 以下の******はお使いのkintoneのサブドメインを入れてください。
  $curl = curl_init('https://******.cybozu.com/k/v1/records.json');
  curl_setopt($curl, CURLOPT_POST, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
  curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($postdata,JSON_UNESCAPED_UNICODE));
  curl_setopt($curl, CURLOPT_HEADER, true);
  // curlで出たエラーを補足するためのものです。
  $fp = fopen('curl.log', 'a');
  // 詳細な情報を出力する
  curl_setopt($curl, CURLOPT_VERBOSE, true);
  // STDERR の代わりにエラーを出力するファイルポインタ
  curl_setopt($curl, CURLOPT_STDERR, $fp);
  if(curl_exec($curl) === false){
    //ログ出力して調査!
  } else {
    return true;
  }
  curl_close($curl);

このスクリプトもウェブサーバーに送ってください。ファイルの実行権限付きで。あと、ファイルのUrlはきちんとメモしておいてくださいね(^_^)

次にcronの設定を行います。cron実行のための構文はサーバーによって違います。ここに載せているcron設定はさくらインターネットの例ですが、phpファイルの実行パスと、スクリプトのファイル名はどのサーバーでも求められるはずです。このレシピは毎日00:15に自動で実行するように設定しています。

Cron設定1

cron2-1

8.kintone上でデータの盛り付け

  目次へ↑

さて、7までのレシピ(2018/12時点の)に忠実に行うとチェックインデータは毎日順調にkintoneに流れ込むはず。あとはデータを盛り付けるだけ。「ライフログのkintone盛り alasql仕込みのGoogle Chart添え」とうたっている以上、最後の仕上げにGoogle Chartを添えるのを忘れるなかれ。それぞれの一覧ごとに違うマップを表示するJavaScriptを以下に示します。この中でkintoneのデータをalasqlで集計し、その結果をGoogle Chartで地図に表示しています。

世界地図の場合、処理A ⇒ 条件分岐B ⇒ 処理C ⇒ 処理D ⇒ 処理E ⇒ 処理V ⇒ 処理F ⇒ 処理W ⇒ 処理G ⇒ 処理H ⇒ 処理I ⇒ 処理J ⇒ 処理Kの順に進みます。
日本地図の場合、処理A ⇒ 条件分岐L ⇒ 処理M ⇒ 処理N ⇒ 処理O ⇒ 処理V ⇒ 処理P ⇒ 処理W ⇒ 処理Q ⇒ 処理R ⇒ 処理S ⇒ 処理T ⇒ 処理Uの順に進みます。

(function () {
  "use strict";
  // 処理V //
  // 再帰処理による一回のリクエスト制限を超えた全レコードを取得 //
  function fetchRecords(appId, opt_query, opt_fields, opt_offset, opt_limit, opt_records) {
    var query = opt_query || '';
    var offset = opt_offset || 0;
    var limit = opt_limit || 500;
    var allRecords = opt_records || [];
    var params = {app: appId, query: query + ' limit ' + limit + ' offset ' + offset };
    if (opt_fields) params.fields = opt_fields;
    return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params).then(function(resp) {
      allRecords = allRecords.concat(resp.records);
      if (resp.records.length === limit) {
        return fetchRecords(appId, query, opt_fields, offset + limit, limit, allRecords);
      }
      return allRecords;
    });
  }

  // 処理W //
  // json形式で取得したkintoneのレコードをalasqlで扱えるようレコードセット形式に変換 //
  function convertToRows(records) {
    var rows = records.map(function(record){
      var keys = Object.keys(record);
      var row = {};
      keys.map(function(key){
        row[key] = record[key].type === 'NUMBER' ? Number(record[key].value) : record[key].value;
      });
      return row;
    });
    return rows;
  }

  // 一覧ページ
  kintone.events.on('app.record.index.show', function(event) {
    // 処理A //
    //Google Cloud Platformで発行したAPI KEYです。
    //API KEYがない場合、以下の処理Cでgoogle.charts.load('upcoming', {'packages':['geochart']});としても動きますが、世界地図の色塗りができません。また、コンソールでエラーが表示されます。
    //作成したプロジェクトの認証はリファラーを限定するとよいです。https://subdomain.cybozu.com/* のように指定すると、対象のサブドメインに対して動作します。https://akvabit.cybozu.com/だと動きませんので注意が必要です。
    //あと、許可するAPIですが、「Maps JavaScript API」「Geolocation API」「Geocoding API」の三つを有効にしています。
    const ApiKey = 'k54u6 jkrawyeie-wkjykethiudarwhyeiu_rekyjur';
    // 条件分岐B //
    //世界地図ビューの場合 //
    if (event.viewId === 5351051) {
      // 処理C //
      //google chartを読み込む。種類は地図 //
      google.charts.load('upcoming', {'packages':['geochart'],'mapsApiKey':ApiKey});
      // 処理D //
      //google chartの読み込みが完了したらコールバックでdrawWorldMapを呼び出す //
      google.charts.setOnLoadCallback(drawWorldMap);
      function drawWorldMap() {
        var obj = {};
        // 処理E //
        //このファイルの3-17行のfetchRecords関数を呼び出す。対象アプリは自分で、フィールドは[場所][国] //
        fetchRecords(event.appId, '', ['場所', '国']).then(function(records) {
          // 処理F //
          //取得したレコードをSqlで扱えるようなレコードセットの形式に変換するconvertToRows関数(このファイルの20-30行)をご参照 //
          obj.rs1 = convertToRows(records);
          // 処理G //
          //alasqlでsql文のソースを組み上げ、バインドパラメータに処理Fで得たレコードセットをセットする //
          var result = 
            alasql(
              "SELECT t.[国], COUNT(t.[場所]) as [回数] \
              FROM ? AS t \
              GROUP BY t.[国] \
              ORDER BY t.[国]", [obj.rs1]);
          // 処理H //
          //google chartのデータテーブルのインスタンスを新たに確保する //
          var data = new google.visualization.DataTable();
          // 処理I //
          //google chartのデータテーブルの列と行を追加します。alasqlでグループ集計された国ごとの訪問回数です。 //
          data.addColumn('string', '国');
          data.addColumn('number', '訪問場所数');
          result.forEach(value => {
            data.addRow([value["国"], value["回数"]]);
          });
          // 処理J //
          //google chartの世界地図の色塗りの書式を設定する //
          var options = {
            datalessRegionColor: '#ffffff',
            colorAxis:{
                maxValue:500,
                colors:['#D8F6CE','#21610B']
            }
          };
          // 処理K //
          //google chartの世界地図のデータに処理Iで格納した内容を代入し、kintoneのヘッダスペースに描画する //
          var chart = new google.visualization.GeoChart(kintone.app.getHeaderSpaceElement());
          chart.draw(data, options);
        });
      }
    // 条件分岐L //
    //日本地図ビューの場合 //
    } else if (event.viewId === 5351053) {
      // 処理M //
      //google chartを読み込む。種類は地図 //
      google.charts.load('upcoming', {'packages':['geochart'],'mapsApiKey':ApiKey});
      // 処理N //
      //google chartの読み込みが完了したらコールバックでdrawJapanMapを呼び出す //
      google.charts.setOnLoadCallback(drawJapanMap);
      function drawJapanMap() {
        var obj = {};
        // 処理O //
        //このファイルの3-17行のfetchRecords関数を呼び出す。対象アプリは自分で、フィールドは[場所][都道府県] //
        fetchRecords(event.appId, '', ['場所', '都道府県']).then(function(records) {
          // 処理P //
          //取得したレコードをSqlで扱えるようなレコードセットの形式に変換するconvertToRows関数(このファイルの20-30行)をご参照 //
          obj.rs1 = convertToRows(records);
          // 処理Q //
          //alasqlでsql文のソースを組み上げ、バインドパラメータに処理Pで得たレコードセットをセットする //
          var result = 
            alasql(
              "SELECT a.[都道府県], COUNT(a.[場所]) as [回数] \
              FROM ? AS a \
              GROUP BY a.[都道府県] \
              ORDER BY a.[都道府県]", [obj.rs1]);
          // 処理R //
          //google chartのデータテーブルのインスタンスを新たに確保する //
          var data = new google.visualization.DataTable();
          // 処理S //
          //google chartのデータテーブルの列と行を追加します。alasqlでグループ集計された都道府県ごとの訪問回数です。 //
          data.addColumn('string', '都道府県');
          data.addColumn('number', '訪問場所数');
          result.forEach(value => {
            data.addRow([value["都道府県"], value["回数"]]);
          });
          // 処理T //
          //google chartの地図を日本地図の都道府県とし、色塗りの書式を設定する //
          var options = {
            region: 'JP',
            resolution: 'provinces',
            datalessRegionColor: '#ffffff',
            colorAxis:{
                maxValue:600,
                colors:['#F2FBEF','#21610B']
            }
          };
          // 処理U //
          //google chartの世界地図のデータに処理Sで格納した内容を代入し、kintoneのヘッダスペースに描画する //
          var chart = new google.visualization.GeoChart(kintone.app.getHeaderSpaceElement());
          chart.draw(data, options);
        });
      }
    }
  });
})();

いかがでしょうか? ここはカスタマイズビューでリッチにデータを表現しても良いですし、条件に応じて絞り込めば、さらに面白いこともできます。チェックインデータにはカテゴリーもありますので、例えば訪れた酒場だけを抜き出し都道府県で図示したり、訪れたラーメン屋だけを都道府県で抜き出すことだってできます。例えば私の趣味ですが、今までに訪れた滝を色分けすればこうなります。城とすればこう。駅だとこう。他にも登った山や訪れた蒸留所や酒蔵、ブルワリー。各地の日本酒や世界の酒、料理などで色分けしても面白そうです。
残念なことにGoogle chartはまだ市町村には対応していません。もしそうなればもっと面白いライフログが作れそうです。もちろん、地図で塗り分けるほかにもGoogle chartはかなりのグラフの種類を用意しています。そこは皆様の自由です。
なお、ライフログとは、別に人様に見せて放浪癖を誇るものでも、旅行経験を自慢するものでもありません。あくまでもプライベートな利用がよろしいかと思います。ご自身の今までの人生とこれから残された人生に何を成すかを定める助けになればそれで十分です。そのあたり、ライフログについての私の考えは、このレシピ同時に書いたこちらで世に問うてみました。またご覧頂ければ幸いです。
このレシピをまとめるなら、要するにkintoneをプライベート用途に使おうよ、との主旨です。そういう使い方がもっと増えればkintoneはより身近なものになるのですから!

9.当レシピの参考にさせていただいたブログ

  目次へ↑

最後になりましたが、このレシピを作るのに、以下の5サイトを参考にさせていただきました。ありがとうございました。

 Foursquare(Swarm) APIの使い方まとめ (サンプルコード付き)
 Get Check-Ins for a User
 kintone でSQLを使う
 GoogleのGeochartを使ってみた
Google Maps Platform


Google ChartのGeocodingにも課金設定は必要


1.前書き

Google Maps PlatformのAPIに課金が必要となる。そのニュースはずいぶん前から言われていました。そして2018年の夏、「Google Cloud Platform上で課金設定したアカウントでないと、Mapの表示すら制限されるようになりました。ですが、それはGoogle Map側の話。他には影響がないものと思っていました。ところが今回、別の記事でGoogle Chartを取り上げた際にGeocoding(色塗りマップ)を使った場合にGoogle Mapの課金制限が適用されることに気づきました。

これがその証拠スクショ。
Geocoding_error

目次

1.前書き

2.Google Maps Platformの課金

3.API KEY取得までの試行錯誤

4.Google Cloud Platform上からプロジェクトを作成する

5.Google Cloud Platform上に作ったプロジェクトをGoogle Maps Platformから選ぶ

2.Google Maps Platformの課金

さて、これをどうやればよいか調べます。ここでエラーメッセージが主張しているのは
「Geocoding Serviceからのお達し:Google Maps Platform APIsへのリクエストごとにAPI KEYを使わねばならない」という断固たる姿勢。これはいかんとGoogle Maps Platformを調べてみました。APIの料金を調べたところ、月間40000リクエストまでなら無料枠に含まれるとのこと。価格表

3.API KEY取得までの試行錯誤

ならAPI KEYを取ろう、と思って調べたところ、こちらのサイトが見つかりました。ねんでぶろぐさんのエントリー「【2018年7月16日版】Google Maps の APIキー を取得する」です。ありがとうございます。

ところが書かれている通りにやってみたところ、2018/12/8の段階ではうまくいかないことがわかりました。以下に失敗したところまでを追っかけてみます。

まず、https://cloud.google.com/maps-platformにアクセスします。そして左下の「使ってみる」ボタンを押してみました。
google maps platform1

このようなポップアップが出るので、Mapsだけにチェックを入れ、右下の「CONTINUE」ボタンを押します。
google maps platform2

すると、このような画面が出るので、「Select or create project」の右側にある下向きの▼を押します。
google maps platform3

するとこのような画面が出ました。今回は新たなプロジェクトをこしらえるのがよいと思ったので、「+ Create a new project」のメニューをクリックしました。
google maps platform4

こういう名前のプロジェクトでよいか、と思ったのですよ。
google maps platform5

するとこのようなエラーメッセージが。はて? 「project_id」なんて項目はどこにもなかったぞよ?
google maps platform6

ひょっとすると、この画面でさっきはMapsだけにしかチェックを入れていなかったのがよくなかったのかな?と思って全部にチェックをいれ、「CONTINUE」ボタンを押したのですが・・・やはり同じエラーに阻まれます。これはねんでぶろぐさんのページには出てこなかった。
google maps platform7

4.Google Cloud Platform上からプロジェクトを作成する

そこで考えてみました。先ほどの画面で出てきたprojectの一覧は、以前に私が作成した別のprojectの名称。ということは、それらと同じ方法でprojectを作成し、そこからこの画面を通してMaps APIに登録すればよいのではないか? と。結論からいうと当たりでした。

まず、私のGoogle Cloud Platformのダッシュボードを表示させます。そして上部の違うprojectの横にある下の▼を押します。下図の一番上にある「slack-python-kintone」の右横の▼です。
google maps platform8

すると、下図のような画面が出たので、右上の「新しいプロジェクト」メニューをクリックします。
google maps platform9-1

すると下図のようなポップアップに切り替わります。プロジェクト名をこのように決めて打ち込んでみました。
google maps platform10-1

プロジェクトが出来上がったので、先ほどのプロジェクトの一覧にkintone-google-chartというプロジェクトができています。それをクリックしてください。
google maps platform11-1

するとプロジェクトのダッシュボードが開きます。左上のメニューボタンからメニューバーの「APIとサービス」を選ぶと、右側にサブメニューが出ます。ここで認証情報を選び、本来ならkintone-google-chartのプロジェクトが使用できるGoogle Cloud PlatformのAPIや、認証するための条件を選ぶ必要があります。ところが、ここでいくらMaps APIなどを対象APIに設定しても認証が通りません。全パケット許可にすることなどとても考えられません。なぜならここで認証のためのAPIの候補を適用させようにも、そもそもGeocodingが出てきません。
google maps platform12

5.Google Cloud Platform上に作ったプロジェクトをGoogle Maps Platformから選ぶ

そこでもう一度よく考えてみました。そう、迷ったら原点に戻れ、です。本稿の最初でまず、https://cloud.google.com/maps-platformにアクセスしたと思います。

そこでは、Create a new projectを選んでいました。
google maps platform4

今は違います。すでにあらたにkintone-google-chartを作っています。また、よく調べてみると、下図のように対象となるプロダクトの種類「Maps」「Routes」「Places」のうち、今回の記事ではGeocodingだけが必要のようですから、三つともチェックを入れる必要はありません。なので「Places」のみにチェックを入れます。
google maps platform22-5

続いての画面ではCreate a new projectではなく、すでに作っておいた「kintone-google-chart」を選択すればよいです。
google maps platform22-7

すると、今度は先ほどのようなproject_idがないというエラーに妨害されず、先に進みました。
余談ですが、おそらくここはGoogleのバグだと思いますので、ゆくゆくはねんでぶろぐさんの紹介された方法でもうまくいくはずだと思います。
google maps platform23

ここでようやく、API KEYが取得できます。先ほど「kintone-google-chart」の作成時にもダッシュボードの画面から認証情報のメニューに飛ぶこともできます。そこでも実はAPI KEYは取得できるのですが、そのAPI KEYでは認証が有効になっていない(Geocoding APIのほか8個のAPIが有効になっていない)ので、意図した動きをしてくれません。
google maps platform24-1

今度こそこのAPI KEYを使う時が来たのです。これでGeocodingを呼び出した時にもエラーなく動くことでしょう。

本稿はこれで終わりです。


平成30年11月のまとめ


この5月から毎月のまとめを弊社ホームページ上でアップしています。今回は2018年11月のまとめです。

10月のまとめで「10月を一言で言うなら、小休止といったところでしょうか」「10月の売上額はひと段落した」と書きました。ところがその後、お客様のご都合で10月の日付で請求書を起票する必要が生じたため、10月の最終的な売上実績はむしろ悪くない水準を達成しました。その分、11月の売り上げにはね返るかと思っていましたが、思ったよりよい売上実績が挙げられました。細かい案件を何件も納品に結びつけられたのがよかったと思います。

11月はいろいろと案件が始まっています。それらを含めても粗利率の向上を目指すことには変わりません。私自身が開発に携わる案件を増やしたことで、粗利率はそれほど悪化していないと思っています。ただ、受注と検収の資金サイクルが崩れたのが少し苦しい11月でした。それはプライベートな事情によるのですが。

一方で、11月はいろいろな案件が始まりました。昨年の弊社の反省として、たくさんの技術や言語やビジネスモデルに手を出しすぎたということがありました。その反省を踏まえつつ、いろいろな案件を手掛けながらも、習得に時間がかからないものを選んでいるつもりです。

11月はなんといっても上旬に集中したCybozu 関連のイベントです。毎年、この時期は刺激を受ける週間でもあります。evacampでは他サービスのエバンジェリストの方の発表を拝聴し、もう一度自分の中でこうした活動が、利他でありながら、最後は自分にも返ってくるとの思いを強くしました。Cybozu Days 2018でははじめて二日続けて参加し、働き方も含めて多くの気づきをもらえました。kintone Café Japan でも、勉強になる点が多かったです。

10月からTwitterを活発にさせましたが、上記のイベントでも受け止めたことをつぶやいたり、ツイートのまとめを作ったり、発信のあり方を実践したところ、手応えを得られました。

もう一つ。来年4月に向けて弊社の体制を大きく前進させようと思っています。詳しくはおってご報告させていただきますが、11月はそうした準備に着手した月でもあります。引き続き、今の方向性をブラさずに続けていければと思っています。

慢心することなかれ、安住することなかれ、変化を恐れることなかれ、今に満足することなかれ。


平成30年10月のまとめ


この5月から毎月のまとめを弊社ホームページ上でアップしています。

この10月を一言で言うなら、小休止といったところでしょうか。作業の体制を切り替えるにあたっての過渡期といいかえてもよいです。常駐先での作業が主だったころと変わらぬ額の売り上げは確保しましたが、大きなSES案件が一つ、9月で終わったこともあって10月は少し売上が落ちています。

ただ、唯一のSES案件が終わろうとも、粗利率の向上を目指す施策に変わりありません。私自身が携わり、開発に手を染める案件を増やす―粗利率を上げる―方向に変わりありません。 また、10月に手掛けた案件の多くはkintone案件を中心とした、集中した作業によって実を結べる類の案件でした。そのため、SES案件を除いた売上額では、従来の売上額からの落ち込みはありません。まずは一安心しています。

一方で、11月はいろいろな案件が始まります。今まで種々の集いに顔を出したことが実を結んだ案件もあります。また、既存のお客様のフォローに動いたことから別のお話をいただいた案件も数個あります。kintone案件の外にもいろいろと受注をいただいています。イノベーションプラス様とはパートナー契約を締結させていただきました。11月はさらに忙しくなりそうです。下半期の開始としては上々のスタートかもしれません。

あとはたくさんいただいた案件を粗利率を下げずにどうやってこなしていくかです。11月に始まる案件の一つにSES案件があります。これを完全に技術者さんに任せてしまうと、弊社の粗利率が減ってしまいます。5~9月に粗利率を悪化させた同じ轍を踏むことは避けなければ。なのでこの案件については週一、二ペースで私も携わろうと思っています。また、以前の反省点として色々な案件に手を出したことで、工数が想定を超えてしまった反省がありました。ですが、今回はその時に手を染めたことにより、ノウハウを得ている話が来ました。これでかつての苦労も投資として振り返れるかもしれません。

大きなお客様が増え、弊社にとって安定度が増してきました。ただ、今月は一つだけ弊社の歴史にとって記憶しておくべき出来事もあります。それは10年に渡ってホームぺージ製作や保守を担当していたお客様との契約が今月で終わってしまうことです。個人事業主になった私がSESを除いて請け負った二件目のお客様でした。それから10年。弊社の歴史とともに歩んで頂いたので、少し感傷的にもなります。ですが、弊社としては、ホームページ製作の割合を減らしていくつもりでした。無料で簡単に作れるホームぺージ製作ツールも多数ある中、今やホームページの製作で粗利をあげる難しさをつくづく感じていましたので。円満に新たな業者様に引き継いでいるので、これからもご縁は続くと信じています。

10月は、弊社の発信の仕方を、Twitterを中心にして少し変えてみました。DevRelJp Meetup in Tokyoというイベントにも参加し、有益な情報もいただきました。それをいかしつつ、引き続き試行錯誤してみたいと思います。あとニコニコ動画で伝統工芸の世界を発信するハロー職1にも参加し、新たな情報発信のあり方を学んだ月でもあります。また、会津では地元の魅力を伝える取り組みに触れることができました。臺灣では日本と変わらずに仕事や作業を行える方法を会得してきました。あと、今月はAWS Loft Tokyoのオープニングイベントにも参加し、AWS Loft TokyoやDeNAのShibuya Studioといった作業場も使わせていただけるようになりました。それらも含めて、10月はインプットという意味でも有益な月となったように思います。

慢心することなかれ、安住することなかれ、変化を恐れることなかれ、今に満足することなかれ。


平成30年9月のまとめ


この5月から毎月のまとめを弊社ホームページ上でアップしています。

粗利率の向上がここ二、三カ月のテーマでしたが、今月は改善ができたように思います。

それは、私自身が携わり、開発に手を染める案件を増やしたからです。また、それが売り上げとして結実したからです。
しかも、その多くはkintone案件を中心とした、作業を集中することで実を結ぶことができる案件でした。実はもう一つkintone案件がありましたが、それは9月中に売り上げを立てられるまでに至りませんでした。でも、ほぼめどがついたので来月に結果を出せそうです。

他にも今月は上半期のまとめとして、下半期につなげられるような動きに心を配りました。
それも結実しそうな予感がします。売上を確保しつつ、粗利率を挙げられるような方向で。

たとえばAWS社に訪問し、クラウド上に作成するデータベースの開発・保守についてお話を伺えたことも大きい話です。

あと、大きなお客様が増えてきたことで、弊社にとって安定度が増してきました。
もう一つ、書くことを中心にした発信の仕方を、Twitterを中心にして少し変えてみました。
その成果が今後どう出るか。引き続き試行錯誤してみたいと思います。

慢心することなかれ、安住することなかれ、変化を恐れることなかれ、今に満足することなかれ。


kintoneのPromiseを説明できるスキル


以前よりお付き合いさせていただいている株式会社アディエム様(https://adiem.jp/)より、
先日ご依頼を受けたたkintone開発案件は、何重にも入れ子になった多重Promise処理が必要でした。

弊社にてコーディングと単体テストを行い、無事納品にこぎつけられたのですが、
アディエム社の技術者様にもコードの説明を行う必要が生じました。

弊社の代表もPromiseの習得にはかなり手を焼いたのですが、そのスキルを習得できたかの判断基準は、その内容を人に説明できるかどうかです。つまり今回、うまく説明できたかどうかは、弊社代表がPromiseを理解できているかのベンチマークにもなりました。

説明を行った結果、アディエム社の技術者様にPromise処理をご理解していただけたようです。追加の処理を実装し、さらにテストまでも行えるまでになったとか。その結果を以下のようなメッセージでいただきましたのでご紹介します。

先日はコードのレクチャーをありがとうござました。
本日、検索部分のエラーハンドリングを追加し、本番環境にリリース致しました。
負荷テストとして4001件のデータを使用して、正常に更新されることも確認しました。

kintone APIのノーマル呼び出しパターン、kintone promise を使ったパターン、promiseでも thenにresolve, rejectを引き渡すパターン、thenとcatchを書くパターンと、かなりケースの整理が できました。また返値の扱いもデバックすることで理解が進みました。
まだうまく関数化して可読性の良いソースを書く自信はありませんが、長井さんソースを参考にさせて 頂きたいと思います。

以上、ご報告まで。

弊社代表は以前より、kintoneのエバンジェリストとしてサイボウズ社より任命されております。
最近はこうしたマンツーマンに近い形で、技術をお伝えする案件も増えつつあります。
その中でこうしたご評価を頂戴したことは、弊社代表にとっても自信になりました。もちろん、スキルの習得に終わりはありません。新たな技術も次々と世の中に生まれています。まだまだ切磋琢磨していかねば。精進します。

今後もアディエム社とはkintone案件のご提案からコーディング・テストまでを協業できる関係を築いていければと思います。
kintoneでのシステム開発のご相談、アディエム社、および弊社にお気軽にお寄せ下さいませ。

また、もし御社の技術者に対し、こうしたマンツーマン形式でのレクチャーをご要望の際は、
ご連絡をください! ご相談に乗らせていただきます。


box for kintoneでERR_CONNECTION_REFUSEDが出てしまった場合


kintoneをカスタマイズする際は、デバッグが欠かせません。
ブラウザーのコンソールに出るエラーメッセージはデバッグを行う上で重要なメッセージですよね。

とくに複数のカスタマイズやプラグインを入れたアプリでは、どのエラーがどのJavaScriptによって出力されるのか把握しておかねばなりません。そうしないと私のように脳のフラッシュメモリー容量が少ない人はすぐにCPU100%に達してしまうのです。

今回、弊社で別のプラグインを作るにあたり、box for kintoneで謎のエラーが出ていました。
エラーが出ているのにbox for kintoneのプラグイン自体はきちんと動作しているという。おやまあ。
謎です。全くの謎です。

と、そんな混乱は、以下にご紹介する方法で解消されました。
ウェブ上でもあまりこの件についての記事がなかったので、ニッチですが皆様のご参考になればとアップしました。

同様にファイアウォール系拡張機能とオンラインストレージの組み合わせだと出るかも。

0.box for kintoneとは

 オンラインストレージとkintoneを連動するプラグインです。こちらは「box for kintone」で検索していただければいくつも見つかると思います。使用上の注意をよく読み、用法 用量を守って正しくお使い下さい。
 こちらとか

1.謎のエラー

 ところが、一見すると想定通りに動いているように見えるbox for kintoneですが、コンソールには
 謎のエラーがうごめいています。

 な、なんやこれ?
 上図では見えませんが、エラーに「その心は?」と聞いてみると「ERR_CONNECTION_REFUSED!」と叫んでいます

 他のカスタマイズを進める都合上、こういうエラーは先につぶしておかないと。

 普通、ERR_CONNECTION_REFUSEDはウェブサイトにアクセスできないときに出るエラー。
 なのにkintoneの画面上にあるboxの窓には接続できていて、ドラッグするとファイルのアップロードもできる。謎です。

 何かが起これば、ファイアウォールを疑う。これは某氏(誰?)の金言です。

 と、そこで、ブラウザー(Google Chrome)に拡張機能として入れているマカフィーの存在に思い至ります。

2.拡張機能を探す。

 拡張機能については、下図のようにたどれば設定画面にたどりつけるはずです。
 

 ここでマカフィーウェブアドバイザーなる拡張機能が登場。これかな。
 

3.拡張機能の「ファイルのURLへのアクセスを許可する」機能をオフにする。

 詳細を押すと、こんな画面が。うむ。OFFになっている模様。これをOnにするといかがかな?
 


 
 こんな風にぽちっと。青くなりましたね。

4.念のためキャッシュやクッキーも消しておきましょうね。

 やってみたらうまくいかないので、ブラウザーがクッキーの消化不良を起こしているに違いない。ここは胃を空っぽにしてあげましょう。

 ここでは閲覧履歴データの消去を選びます。

 ここで閲覧履歴にチェックをいれて消去してしまうと、いろんなサイトで再アクセスが必要になるのでご用心ください。

 すると、謎のboxエラーはいなくなりました。めでたしめでたし。

5.終わりに

これは、2018/9/5時点の情報です。
もちろん、折角ファイアウォールさんがファイルへのURLを許可しないようにしてくれているのに、それを許可するということは、セキュリティ上リスクも増します。
そのあたりをご理解の上、参考にしていただければ。もちろん何かあっても弊社では責任はとれませんので。

なお、弊社はこれから、box for kintoneを拡張し、サブテーブルの行ごとにBOX上でサブフォルダーも作れるようにする予定です。


平成30年8月のまとめ


先々々月から毎月のまとめを弊社ホームページ上でアップしています。

粗利率の向上がテーマのここ二、三カ月のテーマです。粗利率をどうやって向上させるか。

先月、税理士の先生の下で財務計画を検討したときにいただいたアドバイスは二つ。売上を増やすか外注率を下げるかのどちらかです。実は売上については今年の上半期の状況が続けば、最終的には前年度をかなり上回れそうな見込みです。今月も水準は超えています。ところがそこには外注率の高い案件が含まれています。粗利率を向上させるには、外注率を下げるしかありません。ということは、外注率の低い案件を増やすしかありません。そして、外注率を下げれば、現時点の弊社の体制では自動的に私に負担がかかることを意味します。

今までの私の反省。それは、あれこれの技術に面白がって手を出してしまったことです。そのため、スキル取得のコストが生産性の足かせになっていました。生産性を上げれば、外注費を掛けずに私一人でこなせる案件も増やせます。では、私一人でいくつも案件をこなすためには何をすればよいか。私にとっての得意分野をやっていくしかありません。新規スキル習得を後回しにしても、既存のスキルで回せる案件を増やしていく。私にとって既存のスキルで回せる案件とは、デザインスキルがさほど要らず、基盤構築が不要なクラウド上での開発案件です。特にkintone。

7月のまとめでいくつかkintone案件で受注が採れたと書きました。実は今月も新たなkintone案件の受注をいただきました。しかも名の通った会社様からのkintone案件が増えています。おかげで営業をせずに次の案件を請けられるようになりつつあります。これはとても嬉しいことです。今まで、弊社が口コミ以外で新規に受注できた案件の多くは、マッチングサイトからのものでした。ところがマッチングサイト経由だとクラウド案件はあまりなかったのです。それどころか、新たたスキルを求められる案件が多く、それが新規スキルの習得コストに跳ね返っていたのです。それがkintoneだけを極めていけば、次々と案件が来るような兆しができたのは大きい。ようやく弊社にとって望ましい状況が見えてきたのが今月だといえます。

8月はkintoneの多重Promise処理が求められる案件もこなし、だいぶスキルがあがりました。でも、まだまだです。そのためにも勉強は欠かせません。そのため、kintone dev camp 2018にも参加しました。その時のご縁でTwilioビジネスセミナーにもお呼ばれし、kintone Café 東京にも参加しました。kintone連携のサービスの営業パートナーにもなり、今もお客様のもとでkintoneソリューションを組み合わせた案件の仕様策定に関わっています。ようやくkintoneエバンジェリストとしてお役が立てそうな気がしています。これを機にTwitterの弊社アカウント(@akvabit_llc)でもkintoneネタをつぶやいていきますので、フォローをお願いします。

ただ、まだまだ弊社の売上の中でkintone案件の割合は3割ぐらい。これをもっともっと上げていかねば。弊社も願わくはkintone専業をうたってみたいもの。そのためにもやるべきことはまだまだ多い。

九月は新たなkintone案件に注力しつつ、売上よりも粗利率を考慮しながら経営したいと思います。少しでもkintone率をあげられるように。もちろん、プライベートの生活も大切にしながら、体も大切にしつつ。読書ブログもたくさん書いて。

慢心することなかれ、安住することなかれ、変化を恐れることなかれ、今に満足することなかれ。


平成30年7月のまとめ


先々月から毎月のまとめを弊社ホームページ上でアップしています。

先月は売上だけなら弊社最高額は達成しました。ところが、外注費を増やしたため、粗利率から見るとあまりよくありません。

今月は目標の売上額は大台は超えたものの、粗利率はさらに良くない状態です。理由としては、外注費がない開発案件が今月
の売り上げに載らなかったからです。今月は外注率を下げるべく自らの開発する割合を増やしました。ところが1カ月で結果
が出せるほど小規模な案件ではないので売上は次月以降に計上されます。なので、今月は粗利率の改善には至りませんでした。

粗利率を改善するためとはいえ、自分ですべてを担う体制になってしまっては個人事業と変わりません。
売上も向上させつつ、外注費を一定水準に抑えなければ。売上の向上策については効果が上がっています。今月も新たな案件
をいくつか頂きました。しかもその多くはkintone案件。ここしばらくの目標がkintone案件を増やすことだったので、その
観点では達成できつつあります。

とはいえ、そのためには私自身がkintoneで円滑に開発できるよう精進が求められます。たとえば多重Promise処理がからむ
ような機能。これを、デバッグを行わずに机上だけで骨格が完成できるようにならないと、生産性の向上は見込めません。と
ころが私はまだデバッグのお世話になっています。これではだめです。私自身、Promise処理についてはより高度な習得を目
指しています。八月も入ってすぐにkintone Dev Campに参加しますので、そこで知識を深めたいと思います。

また、ハードウエアとの連携の取り組みも引き続き行っています。これについては面白い取り組みをされている方と知己をえ
ました。この方向でも私自身が何らかの関わりができるよう、引き続き取り組んでいきます。また、前月かなり取り組んだ
Drupalは、今月は手を動かしませんでした。が、引き続き取り組んで行く予定です。

また、前月の反省で書くことがおろそかになっている、と書きました。それを踏まえて今月はかなりの読読レビューのブログ
をアップしました。また、今月には記事の掲載が間に合いませんでしたが、とあるメディア向けへの記事はすでに入稿を済ま
せました。いずれ、掲載の際にはアップいたします。また、読書履歴のレビューについてもまだまだ私の読んだ本の記録から
一年少し遅れています。これは自らのライフワークとして引き続きアップする予定です。

自分をメディア化する、という点についても今月は複数の方から面白い活動事例を教えて頂きました。まだまだ私にも弊社に
もやれることはたくさんある。そのことを教えて頂きました。

八月は反省を生かし、売上よりも粗利率を考慮しながら経営したいと思います。もちろん、プライベートの生活も大切にしな
がら、体も大切にしつつ。プライベートではちょっとむちゃをしたり、暑さや虫に痛めつけられので。

慢心することなかれ、安住することなかれ、変化を恐れることなかれ、今に満足することなかれ。


【IT導入補助金】プラスIT研修の受講票が届きました


先日、弊社が経済産業省が運営する「平成29年度補正サービス等生産性向上IT導入支援事業」において、
【IT導入補助金】IT導入支援事業者に採択されたお知らせを記載しました。

それにともない、プラスIT研修を先日代表が受講してまいりました。その受講票が到着いたしましたので、
こちらに掲載いたします。

以下に採択通知を掲載いたします。

おかげさまで受注は活発に頂けるようになっております。が、IT導入支援事業者
としてはまだまだ活躍の余地はあると思っています。

引き続きご指導ならびにご支援を賜りたく、よろしくお願い申し上げます。


平成30年6月のまとめ


先月から毎月のまとめを弊社ホームページ上でアップしています。

前回、5月は歴代で二番目の売り上げを達成しました、と書きました。先月の時点で最大の売上を達成したのは平成29年1月でした。
そして今月。今月の売上高は平成29年1月のそれを上回りました。つまり売上高だけを取りあげれば、今月は今までで最高の売上を達成したわけです。

ところが、単純に喜ぶわけにはいきません。というのも粗利額だけを考えれば今までの月とそう変わっていないからです。今月は外注費も使いました。外注費を使えば当然粗利は下がります。そして、このままのペースで外注費を使うと、決算での経常利益も赤字になりかねないとのご指摘を税理士の先生より頂きました。売上だけで考えると今期は前年比でかなりの増加が見込めるにもかかわらずです。

このことはおそらく、弊社が売上の確保だけを考える段階から脱しつつあることを表わすのでしょう。四期目にしてようやく。常駐作業を脱し、どうやって売上を確保していくか。法人化から2期半、徐々に常駐比率を下げていった弊社の代表。ついに常駐作業を完全になくしたのが昨年9月。そこから下半期を迎えるにあたり、どう売上を確保するかが弊社の喫緊の課題でした。そして今、常駐に頼らなくても売上の確保についてはめどがついてきました。では次に考えるべきは利益をどう確保するかです。今、弊社はその段階まで来たと受け止めています。

昨年度のもっとも大きな反省として、さまざまな種類の案件を請けすぎたことがあります。その都度、技術習得が案件ごとに必要となり、弊社代表のリソースも分散されてしまいました。その反省を生かし、今年はもう一度kintoneを軸としてやっていこうと思いました。実際、5月の中旬にはサイボウズ社においてチーム応援ライセンス開始記念セミナーに登壇しました。また、今月も6/20にEBISU Tech Night Vol.2で話してきました。前者はkintoneをからめ、後者についてはkintoneそのものについてを題材にしています。話すだけでなく、今月はkintone案件の提案も複数行いました。いくつ4月から提案してきたうちのいくつかは案件着手にも至っています。その意味でkintoneを軸に据えなおす方向性は一定の成功を収めているのかもしれません。

いまやkintoneは広がりを見せています。様々な業種の様々な職種でkintoneを使った提案が可能になりつつあります。kintoneが基幹システムとして必要になれば、その周辺の業務を含めての提案が求められます。つまり、kintoneだけでなくその周囲の技術もセットで構築しなければなりません。たとえばMonacaやAWSなど。他にもハードウエアの知識もセットで求められつつあります。そういった技術の習得にもリソースは必要です。

また、2020年以降を考えると、kintone以外にも軸は必要だと考えています。その一環として、以前にも取り組んだDrupal案件を久々に請けることになりました。ただ今回は、弊社の代表が手掛けるだけではなく、技術伝達も含めたいと思いました。Drupalは日本ではあまり技術者がおらず、Drupalをスキルセットに加えておけば継続的な売上につながるとの思惑もあります。その技術伝達に今月はかなりのリソースを費やしてしまいました。リモートではなくFace To Faceで伝えてはいるものの、やはり短期では難しいと感じています。それが今月の外注費増の原因でもあります。

もう一つ、軸にしたい技術があります。それはIoTなどハードウェアとの連携です。IoTについてはすでに案件として請けていますが、それ以外のハードウェアとの連携について、有望なお話を今月いただきました。あと、基盤であるAWSやNifty Mobile Backendについては、中のご担当者様とパイプがつながりました。なので、今後はそれらとkintoneを統合していき、案件として提案していきたいと考えています。

今月はコーディングや構築、提案、そして人前で話をする事については自分の中で成長を感じました。ただ、書くことがおろそかになっています。本音採用様のCarry Meで連載していた「アクアビット航海記」が39回を最後に中座してしまっています。別の場での連載再開も持ちかけられていますがまだ未定です。以前読んだ本のレビューをアップすることも今月はなかなかできませんでした。定期的に書く作業を行わねば、メールや提案書の文章などの質が落ちてしまうというのに。書くアウトプットが少なかったことも今月の反省点です。

七月は反省を生かし、売上よりも粗利率を考慮しながら経営したいと思います。もちろん、プライベートの生活も大切にしながら。

慢心することなかれ、安住することなかれ、変化を恐れることなかれ、今に満足することなかれ。


EBISU Tech Night Vol.2で登壇してきました


先日、恵比寿ガーデンプレイスで開かれた「EBISU Tech Night Vol.2」で登壇してきました。Vol.1に参加したその場でVol.2への登壇依頼をいただいたのです。

ご依頼主は「EBISU Tech Night」を主催されているシステム・インテグレーター様。大規模案件も多く請け負われ、若手の優秀な技術者を多く擁しています。そのオープンな社風と技術社さん達の感度の高さは「EBISU Tech Night Vol.1」に参加してビシビシと感じました。

事前にお題を伺ったところ、複数頂きました。その中から二つを選び、題材にしました。
 ・kintoneエバンジェリストとして小規模のお客様にkintoneを円滑に導入する秘訣
 ・kintoneをIoT案件に導入する勘所

確かにエンタープライズ案件でのやり方と、私がkintoneを提案し導入するお客様に対するやり方では方法論が違います。
また、IoT案件での導入は、今年の2月にQiitaに投稿したブログの内容が今も有効です。これらについて私の経験を語ることでお客様のお役に立てそうです。

「EBISU Tech Night」はお酒も入りながらのフランクな場です。なので私も途中から少し話す内容をやわらかくし、笑いを取ることにも気を配りました。

結果として、今まで私が登壇した中では一番笑いをいただけたように思います。また、話している間、スライドの内容を写真で撮ってくださる技術者さんが何人もいらっしゃいました。話の途中でkintoneを使ったことがある人が何人いるかを聞いたところ、7-8割ほどの方に挙手して頂きました。それもあって、私のお話は好意的に受け止めて頂けたのではないかと思います。実際、アンケートの結果でも好意的な結果が多く、励みになりました。また、終わった後の懇談でもお誉めの言葉を何人かの方から頂き、翌日もその会社様の中で私のスライドを参加できなかった方に共有いただくシーンが見られたとのことです。これはとても嬉しいことです。

こちらがスライドのURLです。
https://slides.com/yoshikazunagai/ebisutechnightvol2

私としては、意識して笑いを取ることを試み、それが功を奏したのは評価したいと思います。とはいえ、まだ自分の話術には向上すべき点が多いと思っています。今回は50-60名ほどの方の前で話しましたが、ゆくゆくは千人以上の方の前でも話せるだけの度胸をつけたいと思っています。

また、「EBISU Tech Night」での登壇依頼を数名の方からメールで頂けました。次回も前向きに登壇を考え、引き続き話すスキルを上げていこうと思います。併せてkintone Caféも開催し、エバンジェリストとして草の根で活動していきたいと思いました。


平成30年5月のまとめ


今月から毎月のまとめも弊社ホームページ上でアップすることにします。

前月の売り上げは少し低調でした。それも準備のためと割り切っていましたが。

その分、今月は歴代二番目の売り上げを達成できました。今年度はリモートによる外注をやめ、自ら開発にたち、会社の基盤を強固にすると年度初めの方針に定めました。そして今月もその方針に沿って私自身が開発に携わっています。なので今月の粗利はかなり確保できました。

その方針で成果を出していくためには、私自身の時間の使い方を見直さなければなりません。それにあたり選択と集中をテーマとしました。それは時間ごとにタスクを限定することです。開発の時間、連絡の時間、打ち合わせの時間。そしてプライベートの時間はプライベートに徹して楽しむ。それによって仕事も成果を出せましたし、プライベートも充実できました。

また、飲み会や会合にも選択と集中を取り入れています。つまり技術者と、そしてなるべく新たな方と校友を得られるような場に集中し、積極的に出席することです。それが功を奏したのか、今年に入って直受け、または一次請け案件が増えています。しかも名の通った企業様と。それは成果として見えてきたのがうれしいです。今年に入ってから提案書も気合を入れて作っているからということもあるでしょうし。

とはいえ、今の好調は好景気だからこそ。今が好景気だからこそ余計に東京五輪後の落ち込みが怖い。それに備えなければ、と自らを戒めています。売り上げを一、二社に依存するのではなく分散させねばならないとの信念で経営してきましたが、引き続きこの調子でやって行きたいと思います。そして、景気落ち込み後にも生き残れるような体制を作りたいと思っています。

それには今のやり方が正しいわけではなく、私にもいつかはプログラミング能力の衰えを自覚する日がくるはず。その時までに技術継承は行っておかないと。今月と先月は新たな技術の勉強もあまりできていません。本もあまり読めませんでした。SNSもほとんどアクセスせず、情報収集はたぶん足りていないはず。まだまだやるべきことは多いのです。

慢心することなかれ、安住することなかれ、変化を恐れることなかれ、今に満足することなかれ。


チーム応援ライセンス開始記念セミナーに登壇しました


5月16日にサイボウズ社27階で開かれた
「チーム応援ライセンス開始記念セミナー」(https://npo.cybozu.co.jp/blog/post/53/)
に弊社代表が登壇者として参加させて頂きました。

今回は、どちらかといえば自治会の元総務部長としての肩書きが主です。

直前に開かれた自治会の役員会で自治会名の実名を出すことが否決されました。
なので、実際の活用事例を写真や具体例で示しませんでした。
そのかわり、サイボウズLiveをサイボウズOfficeに切り替えるにあたり、
どういういきさつで選考を行い、どういう基準で採用したかの観点でお話ししました。
また、予算の限られた任意団体において、どれだけチーム応援ライセンスが重要かということも。

もちろん、最後にはkintoneエバンジェリストとして、
kintoneが自治会や他の組織にこれだけ効きますよ、ということも交え。
スライドはこちら(http://slides.com/yoshikazunagai/for_residents_association)

私は話し終わった後には、隣に座っていた方からお褒めの言葉も頂き、
懇親会でも様々な方からご挨拶や好意的な反応も戴きました。
サイボウズOfficeとkintoneのどちらを採用すればよいか、
との質問も数名の方から頂きました。
また、参加されていた当の自治会の方からも好意的なコメントを頂きました。

逆に反省点もあります。

・スライドに一切具体例を出せず、聞き手の皆様に抽象的な印象を与えたかもしれないこと。
・話の途中で質問してみたところ、自治会の役員経験者が聞き手の1割もいらっしゃらず、
 自治会を経験していない方には、私の話の意図が伝わらなかった可能性があること。
・質問の時間を取れなかったこと。
・kintoneを勧めておきながら、アプリのデモの時間をとらなかったこと。

実際、サイボウズ社より聞き手の皆様から頂いたアンケート結果(個人情報は省いたもの)を見せて頂きましたが、
反応がわかれています。
他の講演者より私の講演に高評価をつけて下さったかたもいれば、逆の評価をした方もいました。
サイボウズLiveの代替をOfficeにする決意がついたと仰って下さった方もいましたし、
懇親会でもそのような評価も頂きました。

そこも含め、どうすればうまく伝えられるか、私の方でも自治会や町内会、任意団体の方々に提案を行う上で、
とてもよい勉強になりました。

最後になりますが、ご出席くださったかた、サイボウズ社のみなさま、ありがとうございました。


弁論の力


先日、一人で相模原の旧津久井町にある尾崎咢堂記念館に行ってきました。

尾崎咢堂翁は、またの名を尾崎行雄ともいい、明治から昭和にかけ政界で重きをなした方です。「憲政の神様」の異名も持ち、憲政記念館の中庭には銅像も立っています。憲政記念館自体、もともと尾崎咢堂を記念して建てられた建物。国家議事堂のそばに建つ憲政記念館を訪れるとすぐに翁の銅像に出会えます。私は昨年、二度ほどセミナーで憲政記念館を訪れました。そして中庭に立つ咢堂翁の銅像と対峙し、手前にある碑に刻まれた翁の言葉を心に刻みました。その言葉とは、
「人生の本舞台は常に将来にあり」
これは、私が常々思っていることです。



尾崎咢堂記念館は、私が結婚して町田に住みはじめてすぐの頃に一度行ったことがあります。自転車で寄り道しながら十数キロ走って記念館にたどり着いたのは夕方。すでに記念館は閉まっていました。以来、18年の月日が流れました。記念館の付近は橋本から相模湖や道志へ向かう交通の要です。18年の間には何度も通りかかる機会もありました。それなのに行く機会を逸し続けていました。しかし、憲政記念館で尾崎翁のまなざしに接したことがきっかけで、私の中で記念館を一度訪れなければとの思いが再燃。この度、良い機会があったので訪れました。

翁の生涯については近代史が好きな私はある程度知っていました。憲政記念館の展示でも振り返りましたし。少しの知識を持っていても、翁の生誕地でもある記念館に訪れて良かったです。なぜなら、生涯をたどったビデオと、展示室で館長さんから説明いただきながら振り返った翁の生涯は、私い新しい知識を教えてくれたからです。翁の生涯には幾度もの起伏があり、その度に翁はそれらを乗り越えました。その中で学んだことは、翁が憲政の神様と呼ばれるようになった理由です。その理由とは、弁論の力。

尾崎咢堂翁の生涯を追うと、幾度かのターニングポイントと呼べる時期があります。そこで翁の人生を変えたのは、文章の力です。若き日に慶應義塾で学んだ翁が福沢諭吉に認められたのも論文なら、福沢諭吉の紹介で入社した新潟新報でも論説の力で台頭します。

ただ、そこからが違う。翁が神様と呼ばれるまでになったゆえん。そこには弁論の力がありました。まず、翁が認められ、新潟から東京に官僚に取り立てられたきっかけは講演です。政治の世界に入ってからも、桂首相弾劾演説や、普通選挙法の決議を訴える翁の遊説は全国に尾崎行雄の名を轟かせました。国が右傾化する中、翁は議会の壇上で弁論によって軍に反抗し、議会制民主主義の良心を訴え続けます。


世界に類をみない63年もの議員生活。それを支えたのは文章力に加え、弁論の力だった。特に後者の力が翁を世界的な影響力を持たせた。その影響力は、戦争中に米軍が巻いたビラの中で翁は日本における自由人の代表として挙げられています。私は、記念館でそのことを教えられました。そしてその気づきを心にしっかりと刻みました。

ひるがえって今、です。

いまは誰もがライター、誰もがジャーナリスト、誰もがインフルエンサーの時代です。しかもほとんどが志望者。バズれば当たるが、ライバルは無数。いつでもどこでも誰もが世界に向けて文章を発信でき、匿名と実名を問わず意見を問えます。ですが、誰もが意見を発信するため、情報の奔流の中に埋もれてしまうのがオチ。あまりの情報量の多さに、私はSNSからの情報収集をやめてしまいました。最近は論壇メディア(左右を問わず)や書籍から情報を絞って取り込むようにしています。

そんな今、無数の発信者の中で一頭地を抜く方々がいます。それらの方々に共通するのは、弁論の力、です。

例えば、経営者がプレゼンの達人である会社。いわゆるトップ営業を得意とする企業には活気が漲っている印象を受けます。代表的な人物は米アップル社の故スティーヴ・ジョブズ氏でしょう。また、いわゆるインフルエンサーと呼ばれる方々は、ブログやツイートだけでなく、イベントでのトークがもてはやされます。また、文章での表現に秀でた方は、講演にも秀でている方が多い。そんな印象を受けます。

実際、彼らのトークを聞くと、何かしら心が高揚します。そして、高揚した気持ちとトーク内容が積極的に記憶されます。正直なところ、トーク自体に含まれる情報量は、文章よりも少ないことがほとんどです。しかし、記憶に残っているのは文章よりもトークの内容。そんな経験をされた方もいるのではないでしょうか。

なぜか。考えてみました。

多分、感情と理性がうまく脳内で混ざり合った時にこそ、情報は記憶されるから、というのが私の素人なりの考えです。文章を読む時、人の脳は理性が勝る。そこには感情の関わりが薄い。その一方、手練れの講演者は間に笑いを挟み、聴衆の注意を引きつける。笑うことは感情を刺激し、聞いた内容を脳内に刻む。そのため、講演内容が記憶され、肚に落ちる。私はそんな風に考えています。また、講演をじかに聞く時、私たちは視覚と聴覚を使います。文章を読むときは視覚だけ。その差もあると思います。

つまり、今や文章をアップするだけではだめなのです。もちろん発信することは大切です。ただそれだけでは無数のネット上の文章に埋もれます。文章に加え、人前で弁論をふるい、視覚と聴覚で訴えるスキルが求められると思うのです。それは私のように普段から商談に臨む者にとってみればスキルの延長です。もちろん、提案書だけで一度も会わずに受注いただくこともあります。でもそれはレアケース。一対一の商談に加え、一対多でも表現して、発信するスキル。人前でしゃべる機会を持ち、スキルを磨くことで受注ばかりか、引き合いの機会も増えてゆく。その取り組みが大切なのだと思います。それは私のように経営者だけに限りません。勤め人の方だって同じです。日々の業務とは自己発信のよい機会なのですから。

私は三年前に法人化しました。それからというもの、文章でアピールするだけでは今の時代、生き延びられないと考えていました。それでおととしはしゃべる機会を増やしました。人前でしゃべる技術。それは一朝一夕には得られません。とくに私のようにプログラミングをしていたらプログラマーに、システムの構成を考えていたらシステムエンジニアに、文章を書いていたらライターになってしまう要領の悪い脳を持っている人にとっては切実に欲しいスキルです。

ところが昨年の私は年末に総括した通り、開発やブログを書くことに集中してしまいました。人前で発信する機会は一、二度とほど。サッパリでした。失敗しました。売り上げこそかろうじて前年比増を達成したとはいえ、それでは今後、生き残れません。去年の失敗を挽回するため、今年は人前で話す機会を増やしています。ここ数日も人前で二、三度しゃべりました。その一度目の成果として、明日5/16にサイボウズ社本社で行われるセミナーに登壇します。リンク

明日に向けてリハーサルも何回か行い、内容は練りつつあります。が、まだまだ私のトークスキルには向上の余地があるはず。少なくとも尾崎咢堂翁のように人に影響を与えるには、さらなる研鑽が必要です。そのためにも今回に限らず、今年は積極的にお話しする機会に手を挙げるつもりです。私の知己にも、紙芝居形式のプレゼンを行う方や人前で話すことに長けた方がいます。そういった方の教えを請いつつ、少しでも尾崎翁に追いつきたいと決意を新たにしました。

弁論の力こそ、ポストA.I.時代を生きるすべではないか。そんな風に思った尾崎咢堂記念館でのひと時でした。


【IT導入補助金】IT導入支援事業者に採択されました。


この度弊社は、

経済産業省が運営する「平成29年度補正サービス等生産性向上IT導入支援事業」において、

【IT導入補助金】IT導入支援事業者に採択されました。

以下に採択通知を掲載いたします。

また、IT導入支援事業者一覧のページにも弊社の情報を掲載して頂けました。

これを励みに適正な企業活動・社会活動を行っていきます。
採択はあくまでも入り口。これからが大切なのですから。

引き続きご指導ならびにご支援を賜りたく、よろしくお願い申し上げます。


第三期を終えて


3月が終わり、4月になりました。その切り替えは、弊社にとって三期目の締めと四期目のスタートに重なります。

第三期の売り上げを仮で締めましたが、売上で対前年比100.09%になりそうです。まさにぎりぎり。
でも、第三期の下半期は一切の常駐業務に頼らず、全て営業努力で売上を立てました。それを考えると上々だと思っています。

第三期の反省の一つは「リモートワークマネジメントの欠如」です。第三期は返金が1件、請求放棄が1件、未収案件が2件も発生してしまいました。
未収案件の1件を除く残りの3件は、全てリモートワークのトラブルでした。あまり報告を求めず、作業方法を縛らずに任せた案件がことごとく失敗したのです。

結論としてリモートワークのマネジメントの手法として自由参画をベースとした放任マネジメントは時期尚早だったと思っています。
一方で私がきちんとFace to Faceで外注先と協業した案件は、ほとんどを検収まで持ち込めています。なのでなおさらリモートワークマネジメントの失敗が響きます。
それらがきちんと検収できればもう少し売上達成度に余裕があったものを。これは大いに反省すべき点だと思っています。第四期はリモートワークによる外注を止めます。

もう一つの第三期の反省は、提案する案件の幅を広げすぎたことです。今後の展開に結び付かないような枯れつつあるソフトウエア案件を受注したことで、作業コストが増大してしまいました。これも大いに反省しなければ。新規技術の習得は投資となりえますが、レガシーソフトウエアに今更取り組むことは長い目でみるとリスクになりかねません。

今の技術者不足、案件過多の景況は、2020年までだと思っています。そして今、技術者に求められるスキルの質は人工知能やハードウエアとソフトウエアの融合など大きく変わろうとしています。私も去年はマネジメントに軸を移さねばと自分の技術者のあり方に迷いが生じていました。しかし、今年は新規まき直しです。私自身が開発に携わる割合を増やそうと思っています。そして提案する案件の幅を少し狭めることで私自身のスキルをパートナー企業にきちんと伝えられる体制を築きます。今、確実な案件を増やして足場を固めなければ未来はありません。

それを踏まえて、今年の私はマネージャーではなく、プレーイングコーチでありたいと思います。海の向こうでは私と同学年のイチロー選手が現役で雄姿を見せてくれています。しかも4/1から2安打と超美技で米国を感動させたニュースまで飛び込んできました。私はかねがねイチロー選手が現役でいる間は自分も現役であろうと思っています。私もまだ、プログラミングの速さやロジック構築の勘所は衰えていないと思っているので。

プレーイングコーチでありながら、全試合出場を行うように日に夜をついでのモーレツ作業ではなく、コーチングできるだけのゆとりを持ちながら、着実に売り上げを立てていかなければ。

第四期は全期間、常駐なしで売上を立てていかねばならないのですから。


サイボウズのクラウドサービスが2018年6月10日より一部利用できなくなる件の対応


このような案内をサイボウズ社から頂きました。

さて、本稿はこのような案内をサイボウズ社からいただいたけれど、どうすればよいかお困りの方へ向けて書いています。

実は弊社にも数カ月前、同様の内容が書かれたメールがサイボウズ社から届いていました。
その時は私はまだ先のことと思い、後回しにしました。
ところが今回、このような内容の案内を郵送で受け取るに至り、さすがにまずいと思って調べてみました。

この案内の中で対処法として書かれている通り、ウェブブラウザーやOSが古い場合は簡単です。
サイボウズのサービスを、新しいパソコンでしか使わないようにすればよいのです。

ところが問題は、ウェブブラウザーやOSが最新版なのにこのような案内が来る場合です。
それはリンクに記載されているチェックツールで問題なしと出る場合です。
問題なしと表示されるのに、なぜこのような案内が来るのか不安になりませんか。
もしかしたら、どうすればよいのか分からない方がいらっしゃるのではないでしょうか。
本稿はそういう方のために書かせていただきます。

実は私は最初にメールを受け取った時点でほぼ見当はついていました。
それはウェブブラウザー以外の場所から、サイボウズのクラウドサービスに接続している場合です。
ウェブブラウザー以外の場所とは、たとえばExcel、Word、Access、PowerPointなどのソフトウエアのことです。

弊社の場合、Excelからkintoneへデータを参照しているプログラムが問題でした。

    Set objweb = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    If Err.Number = 0 Then
        Set CreateHttpObject = objweb
        Exit Function
    Else
        MsgBox "MSXML2.ServerXMLHTTP.6.0エラー"
    End If

    Err.Clear
        
    Set objweb = CreateObject("MSXML2.ServerXMLHTTP")
    If Err.Number = 0 Then
        Set CreateHttpObject = objweb
        Exit Function
    Else
        MsgBox "MSXML2.ServerXMLHTTPエラー"
    End If

上のプログラムは、Excelのマクロからkintoneに接続するライブラリの設定箇所を抜粋しています。
上で設定したライブラリを、以下のコードでkintoneに接続していました。

    Set objweb = CreateHttpObject()
    
    If objweb Is Nothing Then
        GetData = ""
        Exit Function
    End If
    
    Call objweb.Open("GET", "kintoneのURL", , "basic認証ID", "basic認証PW")

ここで最初に挙げた、

    Set objweb = CreateObject("MSXML2.ServerXMLHTTP.6.0")

または

    Set objweb = CreateObject("MSXML2.ServerXMLHTTP")

が問題です。

要するにこの二つのライブラリが古いのです。古いライブラリですがWindows 10でもサポートされているため、
エラーは特に起きません。

ところがこのライブラリは、kintoneへの接続の際にTLS 1.0という通信プロトコルを使うのです。
これがサイボウズ社のクラウド基盤側で検知されたため、メールや郵送でご案内を出されたのでしょう。
いつもながら、早め早めを見越したサイボウズ社の対応には感謝です。

弊社の場合、上記の処理を2社様にのみ使っていました。
とくに最初のお客様への導入が2012年の春でした。
それはkintoneがリリースされる前、つまりプレリリースの段階でした。
その時点でMSXML2.ServerXMLHTTP.6.0を採用したことが誤りでした。

それを受けて、

    Set objweb = CreateObject("WinHTTP.WinHTTPRequest.5.1")
    If Err.Number = 0 Then
        Set CreateHttpObject = objweb
        Exit Function
    Else
        MsgBox "WinHTTP.WinHTTPRequest.5.1エラー"
    End If

と改修しました。WinHTTP.WinHTTPRequest.5.1であればTLS1.0は使いません。
3月の初めに改修を行いましたが、今のところエラーもなく動いています。
(サイボウズ社側でまだTLS1.0として検知されていたら問題ですが)

なお、

    Set objweb = CreateObject("MSXML2.ServerXMLHTTP.6.0")

を使っている場合は、

    Call objweb.Open("GET", "kintoneのURL", , "basic認証ID", "basic認証PW")

でエラーなく通ります。
ですが、

    Set objweb = CreateObject("WinHTTP.WinHTTPRequest.5.1")

に変えた場合、

    Call objweb.Open("GET", "kintoneのURL", , "basic認証ID", "basic認証PW")

ではエラーが発生します。

    objweb.Open "GET", "kintoneのURL", False

と変えるとよいでしょう。
ちなみにベーシック認証の指定は、

    Call objweb.setrequestheader("Authorization", "Basic " & encode64("basic認証ID:basic認証PW"))

とopenの後のコードで行っているので、その変更はありません。

というわけで、同様の案内をサイボウズ社からいただいていて、ウェブブラウザーやOSのチェックでは問題ないと表示される方、
は本稿を参考にしてもらえれば幸いです。

もし必要であれば弊社宛にご連絡を頂戴できれば、ご相談にものらせていただきますよ。


本音採用にブログを連載しています


なんどかFacebookやTwitterでは告知していますが、
昨年八月よりCarry Meさんの運用されている「本音採用」というWebメディアにおいて、ブログを連載しています。

「アクアビット航海記「ある起業物語」」と題して。

連載も長期にわたると、そろそろ一覧で記事を管理したいと思います。

本日4/19、第三十七回をアップしました。

第三十九回 新しい会社で技術力が向上する
第三十八回 転職と新たな会社での洗礼
第三十七回 新たな会社からのお誘い
第三十六回 仕事のピークとその後の反動
第三十五回 正社員として得た経験
第三十四回 家の処分に本腰を入れ始める
第三十三回 途方に暮れる家の処分
第三十二回 家の重荷
第三十一回 はじめて作ったホームぺージ
第三十回 子を持つ責任の芽生え
第二十九回 流れにまかせ正社員へ
第二十八回 Excelマクロ使いから正社員へ
第二十七回 僕が僕であるために
第二十六回 機会を逃さず飛び込む
第二十五回 自立の願いに暗雲が
第二十四回 自立した自分を悟る
第二十三回 スーパーバイザーとして働く
第二十二回 上京してまもなく
第二十一回 前半生のまとめ
第二十回 単身上京に踏み切る
第十九回 ブラック企業でしごかれる
第十八回 社会に出るために足掛かりをつかもうとする
第十七回 社会に出て自らの無力さを感じる
第十六回 社会に出て、プログラミングに触れる
第十五回 大学を出た後
第十四回 大学での生活が私の起業に与えた影響(後編)
第十三回 大学での生活が私の起業に与えた影響(前編)
第十二回 航海記
第十一回 起業のデメリットを考える その5
第十回 起業のデメリットを考える その4
第九回 起業のデメリットを考える その3
第八回 起業のデメリットを考える その2
第七回 起業のデメリットを考える その1
第六回 起業のメリットを考える その5
第五回 起業のメリットを考える その4
第四回 起業のメリットを考える その3
第三回 起業のメリットを考える その2
第二回 起業のメリットを考える その1
第一回 まずはじめのご挨拶

これからも連載はつづく予定ですが、連載の度に追加していきます。


今年はエバンジェリスト活動を活発に


年始の抱負にも書きましたが、

今年はkintoneエバンジェリスト活動に力を入れます。

 

まずは、今年度もkintoneエバンジェリストとして無事に更新頂きました。

こちらはバレンタインデーに合わせてサイボウズさんよりいただいたプレゼントです。
ハッピーエバレンタイン♫ ありがとうございます!
ハッピーエバレンタイン

昨年はほとんどエバンジェリスト活動が出来ませんでした。今年はその反省を踏まえなければ。

サイボウズさんからも昨年の弊社代表のエバンジェリスト活動の低調さには、苦言をいただきました。

少なくとも一昨年並みの活動レベルに戻し、その上に行くことが求められます。

 

その反省から、今年はkintone案件を複数提案し、準備に動いています。その中にはkintoneを使った新規サービスも含んでいます。

先日は久し振りにプラグイン開発も行いました。お客様専用のプラグインなので、公開の予定はありませんが。

また、来週にはkintoneに関するインタビューも受ける予定です。

 

去年の反省を踏まえた上で、弊社代表が何を武器とするか。技術力がある程度あるのは前提で、そこに何を加えられるか。何を武器としてエバンジェリストとしての存在感を出して行くか。弊社代表が至った結論。それは書く力です。文章力。そこに活路を見出そうと思います。そして、去年に比べて一味違った活動を展開できればと思っています。


2018年の抱負


新年明けましておめでとうございます。

大晦日にアップした投稿にも書きましたが、昨年度は皆さま、いろいろと有難うございました。
今年も引き続き、よろしくお願いいたします。昨年の流れをさらに加速し、なおかつ、あらわになった課題を解決する努力を惜しまず進みたいと思っております。

今年の抱負としては、今までは胸の中で徐々に温めたり、個人的な抱負は家族の前のみに披露していました。ですが、今年はこの場で具体的に書いてしまおうと思います。自分を追い込むためにも、自分という器の容積を広げるためにも、目標は高く持ちたいと考えております。

1.法人化4年目にあたって
3年目の決算は、下半期に常駐収入がなくなったにも関わらず、前年度と同じぐらいの収入が実現できそう。しかし、常駐という安定収入のない中、売り上げ確保を成し遂げるには、私の余裕を犠牲としました。今年1年、常駐に戻る予定はありません。安定収入のない中、継続的に新規案件の受注と検収を繰り返していかねばなりません。今年1年は法人化した弊社にとって正念場だと思っています。

1年を乗り越えるには、昨年度の課題として挙がったパートナー企業や技術者との業務分担が鍵です。協業の基盤となる契約回りの整備は昨年めどをつけました。続いてはお客様の要件をどこまで定型化できるかです。今まではお客様からの多少の仕様変更も、私自身が作業に当たっていれば即座に対応できましたし、その柔軟性が弊社の売りでもありました。しかし今後の協業にあたってはそれだとうまくいかないでしょう。実際、昨年はスキルトランスファーの工数によって生産性が低下する壁にぶち当たっています。それをいかに防ぐか。また、お客様と弊社、弊社とパートナー。その間でどこまで工数をかけず、なおかつ確実に仕様情報を伝達するか。そして仕様変更の際にどうやって工数をかけずにお客様のご要望を実現するか。この工夫に時間を掛けるつもりです。

もう一つやるべきこと。それは経営の軸がぶれないような事業計画の策定です。こちらも昨年、ヒントをもらっています。しかも、2020年という壁が待っています。私が再三口にしているように、2020年が過ぎればシステム案件は減っていくはずです。それは人工知能の進展や大型開発案件の終了による技術者の余剰によって確実だと思います。それを見据えた体制作りが必要です。

具体的には売上額は、2017年度の1.25倍を目指します。事業計画は自己流であってもよいので、3月までに今年と5年後の計画が書かれたものを一本。あと、新規のkintone案件を8本受注することを目指します。そのためにはkintoneの案件で実績を作り、それをブログなどでアピールするしかないです。実は昨年、四つ五つほど、種を撒いています。これらを実のある実績にすることが前半のミッションだと思っています。これらのうち、どれかの成果を年末のkintone Advent Calendarの場でご披露できれば。

2.主催するイベントを作る
昨年は結局kintone Café 神奈川の主催、そしてたかなみ乗艦会の共催(?)しかイベントを企画していません。それらのイベントは今年もやりたいですね。それ以外になにか。カラオケイベントもやりたいところですが、読書会などよいのではないかと思っています。
全てあわせて3回は催したいですね。あと発起人としても、いくつか中断したままのイベントがあるので、それらの口火を切るのはいいかも。玉川上水歩きの残り半分と、飯田線秘境駅ツアーの残り下半分とか。

あと、昨年の後半は交流がさっぱりでした。さすがにあれもこれも参加というのは不可能なのですが、なるべくFacebookでの反応はしたいと思います。

3.話す技術、書く技術、システムの技術
昨年に引き続き、この3つは精進していきたいです。去年、書くほうは成果を挙げられたのですが、しゃべる方はさっぱりでした。今年は上記のイベントなどもからめて、しゃべる機会を増やしたいと思っています。私、どうもしゃべらないとしゃべるスキルが衰えてしまうのですよね。ただ、書くほうも、そろそろ目に見える成果として世に問わねば。ブログは読む読ブログだけで100本アップすることを目標とします。また、昨年は普通のBlogがほとんど書けませんでした。こちらも書いていかないと。

またシステムの技術ですが、去年は目標としていたpythonの勉強が全くできませんでした。それも含めて、今年はgoにもチャレンジしつつ、kintoneと他アプリの連携を複数行ってみようと思います。cybozu Liveとkintoneの連携にもめどがついたことですし、すでに案件としてcybozu Liveのデータを移行させるミッションがあるので。

4.ブログ
去年、実はInstagramを結構投稿していました。投稿によってはFacebookの何倍もの反応があったり。まだ私の中ではInstagramとFacebookの使い分けがうまくできません。今年はもう少し使い分けを続けようと思っています。またTwitterも140文字が撤廃されるという話もきいています。それらを使い分けつつ、個人的な日記に近い形の投稿を毎日欠かさず続けるつもりです。一年のまとめを書くにあたっては、Facebookで毎日書いたこと、Dropboxに格納する写真、FourSquareの投稿が役に立ちました。それらも含めて2018年の締めにあたり、書評、劇評、映画評、時評や旅行紀、そしてもう少しパブリックな内容のブログを増やしていきたいと思います。もちろん、かつてのプライベートの私を描く本音採用のブログも続けつつ。それと同時に、技術的な記事はもう少し増やしていかねば、と考えています。昨年に引き続いて、私にしか書けないブログにしていきたいと思っています。ブログのスタンスは昨年と変わりません。実名で責任から逃げないもの。また、押し付けにならぬよう私から友だち申請をしないことも同じです。
これらを成し遂げつつ、質を落とさずに仕事でも成果を上げる。かなりの難関です。どこまで生産性を上げられるかにかかっています。去年、実は音声入力にも何度もチャレンジしていました。これらを駆使してブログ執筆の生産性を上げていこうと思います。

5.体力と魅力増強
昨年は山や滝めぐり、自転車での遠距離旅などで体力維持に努めました。ただ、下半期はイベントに参加できなくなりました。でも、多分娘たちも受験を控え、家族で出かけるタイミングは減るはず。私だけで動けるタイミングは増えるはずです。まず、日本の滝百選に選ばれた滝は8カ所を目指します。具体的には、ニッカ宮城峡蒸留所に行きたいので、秋保大滝と三階の滝を。岡山蒸留所に行きたいので、神庭の滝を。維新150年の山口を旅したいので寂地峡五竜の滝を。阿波の土柱をみに行きたいので雨乞の滝と大釜の滝を。JR三江線が3/31で廃止になるので常清の滝を。それと娘たちから家族で長野のカムループスさんに伺いたいとのリクエストをもらっており、近くの惣滝を。他はどこか一カ所、九州の滝には行きたいですね。無理そうなら阿寺の七滝か養老の滝、または吹割の滝か霧降の滝、早戸大滝のどれかを。それと、去年は日本百名山に一峰も登れませんでした。どこか一峰は登りたいと思っています。まず2月の山登りですかね。

私は結構自分の目標は何度も読み返していますが、これを黙読だけでなく、音読することで一層実現に近づけたいと思います。

引き続き本年度もよろしくお願いいたします。


2017年のまとめ


一昨年、昨年に続き、今年もevernoteで下書きをこしらえ、弊社ページにて一年のまとめを書きます。

総括すると、2017年は仕事の面で成長を成し遂げました。ですが、それに伴う課題があらわになりました。プライベートな面でも充実と反省があります。公私ともにムラのある一年になったと反省しています。達成度3割。達成感6割。満足感6割というのが自己採点です。2017年の私とご縁をいただいたすべての方々に感謝します。ありがとうございました。

公私の「公」

●弊社の業績
§ 総括 2015年4月に法人化し、2016年4月からは常駐業務を月半分に減らしたのですが、今年の9月をもって5年半に渡るプロジェクトから離任しました。その意味では2006年2月に個人事業主となってから11年7カ月目にしてようやく自立できたと評価できます。ただ、常駐がなくなったため、全てを営業努力で稼がねばなりません。安定収入がなくなった分、かなりの余裕が喪われました。もちろん、常駐先からの離任を予感していた年明けから、いつ常駐先がなくなってもよいように精力的に動いていました。そのため、私が大きな軸としていた方策は二つ。一つは信頼して業務を任せられるパートナーを作ること。もう一つは業務基盤を堅めることです。

§ 業務パートナー 前者については、二つのパターンを試しました。一つは、パートナー各社にかなりの自由裁量で参画してもらい、私がそれを緩く取りまとめるパターン。もう一つは私がそのパートナー会社に入り込み、システム開発のスキル伝授から関与するパターンです。ところが、自由裁量のパターンはものの見事に失敗しました。自由裁量のパターンで取り組んだ案件は3つ。そのうち1つは着手金を頂いたにも関わらず返金、つまり失注という無念の事態に陥りました。もう1つの案件も、責任の所在をきめていなかったため、最後は私自身が10日ほどろくに寝られないほど実装にあたらざるを得なくなりました。3つ目の案件はお客様とのフロントエンドの役割が混乱しかけたため、プロジェクトを進めるためにも私自身がプロジェクトから離脱する決断を下しました。結局、自由意思でゆるいプロジェクト体を構築する手法は、契約を含めた最初から見直す必要があると見切りを付けました。もう一つ、私がパートナー会社に入り込むパターンは、複数の案件で無事検収をいただけました。ただ、スキル伝授への時間も含めて納品までの時間がかなりかかってしまいました。パートナー会社さんに完全常駐するには私自身のリソースも食われるので避けたい。ところがそうしないと生産性が悪くなる。そういった生産性を向上させるための工夫が求められています。結局、私個人が全て一人で切り回した案件が、利益率も生産性も最も高いという結果に終わってしまいました。これでは個人事業主とそう変わりません。しかし、私自身が実装に携わればその分余裕がなくなります。これは引き続き大きな2018年の課題です。結局この壁を超えるのは来年に持ち越しとなりました。

§ 業務基盤の堅牢化 後者については、個人事業主時代からずるずると続けていた家計と法人の財布の混在を完全に分けました。具体的には法人側の金銭管理は私一人が完全に担うことにしたのです。これによって法人側の財務管理はまだ課題が残っているとはいえ、だいぶまともになりました。今年は税理士の先生のご協力も頂き、経営計画や事業計画書の策定にも取り掛かっています。同様に 中小企業管理士兼弁護士の先生からセミナーとコンサルティングを受ける機会を頂き、同様に経営計画や事業計画の大切さを学んでいます。

§ 2017年度売上見込み 上記の通り、複数の課題が明らかになったにも関わらず、今のペースを続けられれば来年3月末が締めの2017年度の決算は、2016年と同じ、または上回れる見込みがつきました。下半期の売上をまるまる非常駐のみで立てねばならない割にはまずまずだと思います。ただ、残り三カ月の努力が重要なのは言うまでもありません。

§ 人脈の構築 今年はこういう状態だったので、人脈作りにはとてもムラがありました。交流会もポツポツと参加した程度。Facebookに至っては、下半期は一日に5分も見ていれば多いくらい。限られた時間の中でどの時間を削らなければならないかを考えたとき、私に残された選択肢はSNSをみる時間を削ることのみでした。そのため、この秋以降、他の人の投稿はほぼ見ていません。すみません。来年もSNSについては付き合い方も含めて見直そうと思っています。また、いくつか散発で参加した交流会では、ある程度人脈は広がりました。ただ、新規案件については2016年以前の人脈から頂くことがほとんど。来期は既存のお客様も大切にしつつ、新たなお客様とのご縁もどうつくるか。引き続き模索を続けます。そのためには、先に書いた通り業務上の生産性向上が求められるわけですが。

§ 対外活動 2016年度は各地にセミナー講師で呼ばれたりしたのですが、今年は逆です。上に書いたとおり自社の業務に集中せねばならず、講師を務める暇など取れません。不発でした。3月に主催したkintone Café 神奈川 Vol.5でしゃべったくらいです。他にも勉強会はいろいろと出席しましたが、私が壇上に上がることはついにありませんでした。kintone Café 埼玉や経済セミナー、gusuku Meetup、G Suiteユーザー会、IoT分科会やRESAS勉強会勉強会、事業計画書セミナー、JTBアクセラレータ、Eiffle MeetUp、kintone DevCamp、 eBay Connect Japan 2017 、Questetraセミナー、などなど様々な勉強会に顔を出していたにも関わらず。来年は売り上げと生産性を確保しつつ、壇上にも立てるようにしなければと思っています。また、今年は横須賀の海上自衛隊でたかなみを観る会で今までお仕事でお世話になった横浜周りの方にお声がけさせて頂きました。思ったより来てくださってありがとうございます。私が今年、kintone Café以外に何か幹事めいたことをしたとすればこれくらいでしょうか。

§ 開発案件 今年も色々とバラエティに富んだ開発案件を頂きました。新たにアイミツのサービスに加入し、そこからの案件が結構大きかったのです。一方、kintoneが絡む案件については完全にスランプの一年でした。正直、今年のkintoneがらみの案件の総失注額は、1千万を超えています。なぜなのか。かなり力をいれて見積もりを作ったのに、とかなり悩みました。kintoneエバンジェリストはまだ続けさせてもらっていますが、その自信を失わせるほどに。ですが、11月のcybozu Days 2017と続いて行われたkintone Café Japanに出たことで気を取り直しました。年末にはkintone Advent Calendarに三年続けて参加し、cybozu Liveからkintoneへのデータ移行の記事を書きました。来年、kintoneの新規受注を少しでも増やし、安定的な案件を増やすこと。これは必ず達成すべき課題だと思っています。

§ 執筆活動 しゃべる方はさっぱりだった今年ですが、書くほうではある程度の成果は挙げられたと思っています。特筆すべきはCarry Meさんの運用する本音採用でブログを連載したことです。8月から初めて年末までで21回。自らの起業への考えと、自らの起業までの経緯を書くことは、自分自身が何になりたいのか、どういうワークスタイルで仕事し、どういうライフスタイルで悔いなく生きたいのかを再確認するのに役立ちました。とくに、忘れかけていた20台前半の出来事を思い出せたこと。これは、これからの生き方にとって必ずやプラスになると思います。あと、本や観劇のレビューは110本アップできました。また、12月には上に書いた通りkintone Advent Calendarに参加しています。2017年は書くことへの情熱が尽きることなく可能な限り書けた一年となりました。こちらは来年、何らかの成果として世に問いたいと思っています。

§ 妻のココデンタルクリニック 妻のココデンタルクリニックは、新患さんも増えてはいるようです。が、2017年度は妻自身が別のお仕事に忙殺されてしまい、傍から見ていてもとても診療室経営に専念できているとはいえませんでした。それは、2017年度の私の気分を大きく乱しました。残念ながら2018年もその状態は続くでしょう。妻には妻の人生があるので、やりたいことはさせてやりたいとは思っているのですが・・・私が患者さんを紹介するなどして、診療所経営に専念させるようにしなければ、と思っています。

§ 年表

  ・1月お仕事
  パートナー企業で新年会、四谷図書館でお仕事、両国の国際ファッションセンター入居者の新年会、山王日枝神社に参拝
  Yahoo Lodgeで仕事、夜遅くまでお客様の家で打ち合わせ、gusuku Meetup Vol.1、kintone Café 埼玉 Vol.4
  新神戸オリエンタルホテルで打ち合わせ、明石海峡大橋でシステム実証実験
 ・2月お仕事
  半常駐先新年会、IoT分科会、両国のお客様へ、新宿の交流会で学生の起業家さんとご縁を結ぶ、月島で商談
 ・3月お仕事
  kintone DevCamp、kintone Café 神奈川 Vol.5、確定申告、平塚で商談、憲政記念館で経済セミナー参加
 ・4月お仕事
  鷺沼さくらパソコン教室へ3度訪問、都庁で仕事、バーチャル花見交流会、IoT分科会、下谷、与野、川崎、関内で商談
  アトリエMさんへ打ち合わせ
 ・5月お仕事
  大井ふ頭、渋谷、目黒、与野、浜松町で商談、パートナー企業同士を結び付ける、Twitter Japan活用セミナー参加
  gusuku Meetup Vol.2参加、IoT分科会、明大前で打ち合わせ、Yahoo Lodge、神保町で商談、SYNQAで仕事
  横浜で商談、デザイナーさんと数年ぶりに再会
 ・6月お仕事
  六本木で商談、半常駐先の皆さんで飲み、パートナー企業さんと下北沢で飲み、お客様と伊豆視察、渋谷商談
  渋谷打ち合わせ、学生起業家さんたちと飲み、新川で商談、渋谷で打ち合わせ、hanare ひばりが丘5周年に駆け付け
  両国で商談、ココデンタルクリニック5週年、お客様と伊豆視察2回目、湘南台で商談×2、渋谷で商談/打ち合わせ
  王子で商談、渋谷でパートナー企業さんたちと飲み会、半常駐先で送別会
 ・7月お仕事
  餃子投資の会、高知からのお客差を迎えて打ち合わせ&飲み会、大井ふ頭で商談、渋谷で商談、半蔵門で商談
  Yahoo Lodgeで仕事、下北沢でパートナー企業さんと打ち合わせ、パートナー技術者さんと新宿で打ち合わせ
  下北沢で打ち合わせ、東松原で打ち合わせ、IoT分科会、渋谷で商談、ホルモン投資の会
  渋谷でパートナー企業さんと打ち合わせ/飲み会、半常駐先送別会、株式投資セミナー参加、
 ・8月お仕事
  工学院大学で打ち合わせ、工学院大学で仕事、下北沢でパートナー企業と打ち合わせ/飲み会、経営事業計画セミナー
  RESAS勉強会、本音採用連載開始、
 ・9月お仕事
  明大前でパートナー企業と打ち合わせ、妻と一緒にコンサルティング受講、虎ノ門で商談、Yahoo Lodgeで仕事、関内で商談
  パートナーさんたちをお誘いして三笠/たかなみ見学、新宿で商談、四谷三丁目で商談
  G Siuteユーザー会/ユーザー同士飲み会、eBay Connect Japan 2017、四谷三丁目で商談、最後の技術者ランチ
  私の送別会、さしのみ
 ・10月お仕事
  東戸塚で打ち合わせ、岩本町で商談、両国で商談、CoBa墨田亀沢でEiffle Meetup、代々木商談、Questetraセミナー
  Co-ba隅田亀沢で商談、大森で商談
 ・11月お仕事
  関内で商談、cybozu Days 2017、新橋で商談、新横浜で商談、kintone Café Japan/二次会/三次会
  渋谷のお客様で作業、技術者交流会/二次会下北沢で
 ・12月お仕事
  新横浜で商談、関内で商談、弊社サテライトオフィス初利用、G Suiteユーザー会、ガラケーをスマホに切り替え
  プリンタ買い替え、JTBアクセラレーター説明会/交流会、半常駐先の忘年会、紀尾井町で商談、Yahoo Lodgeで仕事
  四谷三丁目で商談、PC液晶破壊、PC液晶修理、kintone Advent Calendar投稿、パートナー企業の忘年会

 

公私の「私」

●家族との一年
§ 総括 昨年にもまして、家族で行動する頻度は減りました。それぞれの生活があり、それぞれのタスクがある以上は仕方ありません。何度かバトルが勃発しては、その度に家族のきずなを見直した一年でした。今年は夫婦間だけでなく、父と娘、母と娘でもバトルが勃発しました。少しずつ大人になってゆく娘たちとの関係をどうするか。甘いだけでは親として失格なのはもちろんです。娘たちにとって親とは壁であるべきです。守る壁でもありつつ、乗り越えさせる壁にもならなければ。とはいえ、私もまだ娘たちとは幾度か外出しました。サシで外出できるだけ世間の同世代の娘を持つ親よりもましなのでしょう。そんな日々にあって、17歳の風花が老衰でなくなってしまいました。

§ 娘たちにしてやれたこと ここ2,3年、私が仕事でお世話になっている方のもとへ、娘を連れて行ってなにがしか体験させてもらっていました。今までもとても感謝しています。今年は4月、アトリエmさんに次女を連れて伺わせて頂きました。そこにあったギターに触らせてもらったこと。それは吹奏楽部で楽器演奏に興味を持つ娘には貴重な機会だったようです。室井さん本当にありがとうございました。

§ 長女の一年 長女は絵が好きで芸術系の学科に進学したのですが、周りの人々の絵の巧さに自信を失った時期もあったようです。4月にクラス替えがあったことで友達関係にも悩みが生じたようです。それもあって順風満帆なだけの高校生活ではなかったようです。ただ、私が幾度か見に行った展示会では、絵はかなり上達しているようです。高校生活は無駄にはなっていないと思っています。個人事業主としても複数の仕事を頂けていたようで、私も少しずつ仕事を振っていきたいと思っています。また、上にも書いたとおり長女とは何度もバトルが勃発しました。親としては甘やかすだけでは能がありません。緊張と緩和を切り替えしながら、これからの厳しい未来へむけ、どうやって自立に導いていくか。引き続き来年もケンカと仲直りを繰り返していきながらの日々が続くことでしょう。勝気なところは独立に向いているので、私は長女にはかなり期待しています。

§ 次女の一年 三年前と昨年、長女が獲ったチアコンペティションのグランプリ。次女にもチアを続けさせ、グランプリを獲らせたかった。ところが、中学の吹奏楽部との両立が次女にはかなりの負担になったようで、泣きながらチアを辞めてしまいました。そしたら次女がいたチームがチアコンペティションでグランプリを獲りまして。次女にとって絶好の機会だったのに残念でなりません。バレエの発表会については娘たち二人とも演技を頑張っていましたが、次女にとって達成感を何で得られるのか。これからの人生にとって悩み多い一年だったようです。年末になって学校での友人関係はようやく安定したようですが。引き続き娘たちの人生をどう切り開かせるか。スマホ以外にもある、人生の可能性をどう気付かせるか。少しずつ自立の意向を漏らしているので、親の操り人形ではなく、自分自身で生きるための意識を確立して欲しいとおもっています。この年末、私の実家への帰省には次女だけがついて来たのですが、色々と話すいい機会だと思っています。

§ 家族の一年 ケンカもあったり、浮き沈みの多い一年でしたが、家族とはなんだかんだと色んな場所に出かけています。詳しくは書きませんが、それぞれの場所で良い想い出作りができました。ただ、1月と8月の帰省を除けば、とうとう目標としていた家族との泊り旅行ができませんでした。これが残念です。私も妻も仕事で余裕のある時間が取れず、娘たちにも部活や学業の用事が続いたので。あと、2000年から家族の一員だった風花との忘れがたいお別れがありました。風花がなくなって少し後には、数年ぶりにツバメを保護しました。前回は無事巣立てさせたのですが、今回は数日のちに亡くしてしまいました。残念でしたが、実は風花にしてもツバメにしても、その死が我が家のケンカを収めてくれたのです。不思議というほかありません。

§ 年表

 ・1月帰省(泊まり)
  ノボテル甲子園えべっさん初詣大阪南港ATC嵐山渡月橋
 ・1月お出かけ
  明治記念館で新年会海賊と呼ばれた男観劇クランベリーモール、ラ・タベルナ、自転車で狛江へ
  山王日枝神社参拝、三宮のBar Alcohol
 ・2月お出かけ
  芹が谷公園、地元友人たちと飲み、みなとみらいへ町田駅前散歩憲政記念館、八景の棚、Bar Hermit
  乃木坂で倒れた妻を助けに江間いちご狩り
 ・3月お出かけ
  鶴見川源流の泉、尾崎豊歌碑、次女吹奏楽部定期演奏会Brass Festa多摩SING観劇、Bar Scotch Cat、玉川上水歩き
  観音崎/三崎港、バタープレッツェル、ちゃんこ霧島で飲み会
 ・4月お出かけ
  北翔海莉・宇崎竜童さんコンサートららぽーとお彼岸墓参り、東郷元帥記念公園、井之頭公園花見、みなとみらい
  モアナ観劇、蒙古ラーメン中本、高尾山ハイキング、Stardust Revueコンサート、ねぎし三平堂、鶯谷散策
  自転車で府中競馬場へ、アトリエMさんへ横浜へ
 ・5月お出かけ
  東京・埼玉西部を一人旅(瑞穂町散策、宿谷の滝、明覚駅)、高校定期演奏会
  箱根散策(富士屋ホテル、大涌谷、星の王子さまミュージアム)、府中、ディズニーランドへ買い物、明治記念館など東京周遊
  パートナーさん宅へプライベート訪問、自動車免許更新、方南町街歩き、クール&ハート、四谷荒木町
 ・6月お出かけ
  奥静岡を一人旅(藤代の滝、相渕橋、安倍の大滝)、Brewdog Pub 六本木、スカーレット・ピンパーネル観劇
  STINGコンサート、妻子にカミナリ風花死す、小学校からの友人とサシ飲み、二子玉ライズ
  沖縄を一人旅(那覇空港、安次嶺の御嶽、くぅーすの杜 忠孝蔵、名嘉地そば、旧海軍司令部壕、平和祈念資料館、国際通り
  ヘリオスパブ、斎場御嶽、知念岬、ひめゆりの塔、道の駅、那覇空港)
 ・7月お出かけ
  沼津港ツバメを保護宮ケ瀬へ星を観に、江戸東京博物館、両国界隈散策、神保町散策、自転車購入小田原城見学
  多摩水道橋、東松原WAHBで飲み、よみうりランドWAOでビアガーデンららぽーと、同い年三人で飲み、薬師池公園
  靖国神社、懐食みちば沖縄わしたショップ深大寺
 ・8月帰省(泊まり)
  清水寺Bar Harbour inn北野異人館街布引の滝新神戸オリエンタルホテルエクシブ有馬離宮USJ大和郡山散策
 ・8月お出かけ
  吉乃家、八王子へ一人旅(金剛の滝、湯の花とんねる)、ウクレレ、バレエ発表会、栗木御嶽神社、bar beige
 ・9月(泊まり)
  関ケ原観劇長女とサシで寿司赤坂散策keyaki beer festival、珍獣屋、軍艦三笠乗艦たかなみ乗艦高校文化祭
  十字架は眩しく笑う観劇画狂人北斎観劇恵林寺笛吹川フルーツパークほうとう不動、銀座へ妻に車の鍵を渡しに
  小樽食堂、地元友人とワインバーへ、Rum Bar K24、地元飲み会
 ・10月お出かけ
  いこいの湯、日本橋で火事目撃、次女誕生日、カズオ・イシグロ氏ノーベル賞受賞、多摩聖蹟記念館入籍記念日
  最強のバターコーヒー、小足立八幡神社例大祭の神輿担ぎ、中学校音楽祭、免許再交付で府中へ
  北海道旅行(余市蒸留所、小樽運河散策、すすきの散策、滝野すずらん丘陵公園、アシリベツの滝、白帆の滝、鱒見の滝
  由仁駅、居酒屋日本一別邸)、馬込文士村、多摩川
 ・11月お出かけ
  クラフトビールパブムーンライト、早戸大滝偵察、開高健記念館、Touch is Loveジーンズストア、富岡製糸場
  こんにゃくパーク、横浜スタジアム、愛宕神社参拝、鯨の胃袋、柏屋シズラー妻誕生日、バリーシール観劇
  中学からの友人と東京駅で飲み、Bar Origin、ディズニーシー結婚記念日にNikka Blenders Bar
  ブレードランナー 2049観劇、東京外国語大学学祭訪問、多摩川で乗馬撮影シーン見学
 ・12月お出かけ
  驚異の超絶技巧展鑑賞、Bar The Gintonicx、薬師池公園、湘南平、Touch is Loveジーンズストア
  クール&ハートのサヴァラン、極上コントLIVE観劇新大久保で韓国料理、高校学外展、しもまゆ会、小山田緑地散策
  バーミヤンへ牛角でクリスマス長女の誕生日、阪急西宮ガーデンズ

§ 家族のお出かけ 家族で出かけたのは、上の年表で黄地に太字にしているイベントです。遠出こそしませんでしたが、それなりにバラエティに富んでいますね。でも、どうもうちの皆はアウトドアのイベントが好きじゃないらしく、それが残念です。家族で一度ぐらい富士山に登るぐらいのことはしたいのですが。

§ 妻とのお出かけ 妻と出かけたのは、上の年表で桃地に太字にしているイベントです。なんかかんだといって、結構節目節目には二人で過ごせているようです。北海道に一緒に行ったのも思い出深いし。あとは音楽と舞台と映画は結構一緒に観て体験していますね。夫婦ともにこれだけ忙しくても、時間をやりくりしてこれだけ出来ていれば、来年もやれそうな気がします。

§ 娘たちとのお出かけ 娘たちと3人で出かけたのは、上の年表で緑字に太字にしているイベントです。娘たちもそれぞれ友達と出かけたり家にこもったり、昔に比べると正直私と出かけることに億劫さを感じる年ごろ。でも、私としてはワンパターンなお出かけよりも、めずらしい経験をさせてやりたい、と。来年も断られることを覚悟で、誘ってみようと思います。

§ 妻とどちらか娘とのお出かけ 妻とどちらかの娘の3人で出かけたのは、上の年表で水色地に太字にしているイベントです。娘たちのどちらかが用事だったりで、家族がそろわないことも何度もありました。こういう形でもどこかに行けるのはありがたいですね。

§ 長女とのお出かけ 長女と二人で出かけたのは、上の年表で紫地で太字にしているイベントです。こうやって見ると何度か訪れていたようです。二人で寿司を食いに行ったり、たかなみ乗艦の際にも一人で来てくれました。はやく一緒にBarに行ってみたいと思っています。

§ 次女とのお出かけ 次女と二人で出かけたのは、上の年表で橙地に太字にしているイベントです。部活に忙しく、なかなか一緒にはいかれませんでしたが、それでもいくつかの場所を父娘二人で訪れています。小田原城も、今回の帰省もそうですが、実はそれ以外にも結構次女とは二人で会話を持ちました。年末の帰省では娘から私の腕をつかんでくれたのもうれしい。

●私自身の一年(交友関係)
§ 関西の交流関係 今年は、1月に仕事で明石海峡大橋を訪れ、8月の帰省以外には関西にはいきませんでした。8月の帰省では高校時代の友人を訪ねて彼の職場(エクシブ有馬離宮)で語らいました。妻も連れて行ったのですが、格の高い場所で、友人が仕事を指揮している姿を観て受けた刺激は大きかったです。11月には30年来の姫路の友人が上京してくれたので二人で飲んでいました。億単位のプロジェクトを切り回している彼との話は、一千万単位のプロジェクトにも届いていない私にとって目標です。他にも夏には高校時代の同窓会のお誘いがあり、懐かしい人とlineで会話したのも懐かしい。僅かのタイミングの差で参加できませんでしたが、機会があれば参加したいものです。それと小学校の同窓生とのお付き合いを密にすることができたのはうれしいです。サシ飲みも含めて三度ほど飲みました。年末になって年賀状を書きながら、SNSをやっていない友人たちとのご縁をまた復活させたいと思いました。

§ YKGの交流 今年もまた、鉄道や城巡りといった旅を愛する友人二人と、両国界隈をめぐりました。あと、玉川上水の取水口から19キロ歩いて下るというイベントも。今年はとても悲しいこともありましたが、来年はともに旅ができればうれしいです。

§ 一年の交流 今年は、山登りのイベントにもお誘い頂きました。まずはガイドさんと一緒に高尾山へ登るイベントへ。たくさんの草花を知ることができました。さらにゴールデンウィークには大岳山に登り、奥多摩でクラフトビールを飲み、青梅でお風呂に入った濃い一日が楽しかった。井之頭公園での花見も思い出深い会でした。この後、バーチャル花見なるイベントにも御呼ばれしましたね。それと珍獣屋でサソリやオオグソクムシ、ヤモリなどを食べた経験も今年屈指の後年に残る経験です。素晴らしかった。秋になって狛江の小足立八幡神社の例大祭で神輿を担がせてもらったのも思い出に残ります。わざわざ小学校の友人を誘ったら来てくれましたし。また、仕事関係の方々をお呼びした「たかなみ」と「三笠」の乗船体験は、去年に引き続きでしたが、皆さんに喜んでもらえてよかった。それと餃子投資の会とホルモン投資の会に御呼ばれし、素晴らしい料理を楽しませてもらいました。私とは畑違いの業界の方々と語らえたのも糧となった出来事でした。

§ 地元の交流 一方、今住んでいる地元の友人との時間はほとんどなかったのですが、2月と10月に地元の飲み会にお誘いして頂きまして。仕事を完全に離れ、地元なので気兼ねなく。かなり飲みまくってめちゃくちゃ楽しい飲み会ができました。それと今年は自治会からご縁があり、少しは地元に貢献できたかもしれません。まだこれからいろいろとありますが。12月には1月に参加させて頂いた両国での新年会が、地元町田で実りましたし。

●私自身の一年(文化活動)
§ 読書・観劇レビュー 読んだ本のレビューを記す読ん読ブログの執筆は、主に2016年に読んだ97冊分となりました。レビュー執筆は、私の中では大切なライフワークとして位置付けています。ただ、仕事を優先する関係上、どうしてもアップは後回しになっています。読んでからアップにいたるまでの日数も1年かかっており、この期間を質を落とさずに早めるのが去年に引き続いての課題です。舞台観劇と映画鑑賞のレビューについては、遅れずに書けているのですが。書くという行為への熱意は衰えていませんので、引き続き続けていくつもりです。

§ 今年の読書 読書については、今年は93冊読みました。また、ジャンルを問わずの乱読傾向は相変わらずです。93冊についてそれぞれに思い入れは深く、その中のベストを選ぶといったおこがましいことはしません。

§ 今年の映画 映画鑑賞については、今年は6本しか見られていません。「海賊とよばれた男」「SING シング」「モアナと伝説の海」「関ケ原」「バリー・シール アメリカをはめた男」「ブレードランナー 2049」。観たかったのに見れなかった映画もたくさんあります。この年末もスターウォーズをまだ観られていません。過去の名画も見逃している作品がかなりあります。時間があれば観たいのですが。

§ 今年の舞台 舞台については、今年度は5本の鑑賞でした。「ベルリン、わが愛/Bouquet de TAKARAZUKA」「極上コントLIVE」「画狂人 北斎」「十字架は眩しく笑う」「THE SCARLET PIMPERNEL」。詳細は当ページの「目下の舞台鑑賞」を観て頂きたいと思います。5本いずれも素晴らしい内容でした。今年は宝塚歌劇以外にも良い舞台が観られました。観劇も来年以降回数を重ねたいと思っています。

§ 今年の音楽 音楽については、今年は妻と北翔海莉さんと宇崎竜童さんのコンサート(4月)、そしてスターダスト・レビューのコンサートに行きました(4月)。さらには、友人と武道館でのSTINGのコンサートに行きました(6月)。どれも素晴らしく、今も余韻に浸れます。昨年、次女が中学で吹奏楽部に入部し、ユーフォニアムを担当しています。それもあって次女の発表会や演奏の機会は何度か訪れました。また合唱を主体とした中学校の音楽祭にも行きました。Brass Festa多摩というイベントでも吹奏楽の素晴らしい演奏を堪能しました。また、長女が入っている高校の吹奏楽部は全国屈指の実力を持っていることから、長女と次女を連れて府中の芸術の森に定期演奏会を聴きに行きました。なお、私自身も日々にアクセントをつけようとウクレレを久々に引っ張り出しました。が、すぐ仕事に忙殺されてしまい。一度きりに終わったのは反省です。来年はもう少し弾けるようになりたい。そういえば今年は一度もカラオケに行かなかったかも。

§ 今年の美術 美術については、昨年盛り上がったはずが今年はさっぱりでした。でも、長女の学外展や文化祭などデザインや美術には触れる機会が多数ありました。また、12月に訪れた驚異の超絶技巧展には感銘を受けました。にもかかわらず、私自身が絵やイラストに手を染めることは今年もありませんでした。時間があればそちらにも手を出したいところですが。

§ 今年のスポーツ スポーツについては、正直なところ低調でした。スキーもソフトボールもテニスもマラソンもやらないまま一年をおえてしまいました。ただ、上にも書いたとおり、玉川上水の徒歩下り、大岳山への登頂、高尾山への登頂はよいスポーツとなりました。神輿担ぎも強烈な運動になりましたし。でも目標だった日本百名山登頂ができなかったのは無念です。それ以外には、登戸経由で府中まで自転車で競馬を見に行ったことや、免許を更新しに府中まで自転車で行ったのも懐かしい思い出です。

§ 今年の滝 日本百名山登山とあわせてもう一つ達成できなかったのは日本の滝百選の滝に6カ所訪れる目標です。これは結局4カ所「丸神の滝」「安倍の大滝」「布引の滝」「アシリベツの滝」しか行かれませんでした。もちろん、それ以外の滝でも落ち口に手が触れられる「金剛の滝」、舞台の前にいるような感覚に陥った「藤代の滝」、雄大な「赤水の滝」、美しい曲線が印象的な「鱒見の滝」もよかった。

§ 今年の旅行 今年は自分の時間を確保したいと思っていましたが、途中から仕事が多忙となり小規模な活動しかできませんでした。ですが、そんな中、沖縄(6月)と北海道(10月)に行けたのはよかった。妻からのお詫びを兼ねたプレゼントでしたが、やはり嬉しかった。念願の泡盛の蒸留所「くぅーすの杜 忠孝蔵」に行けたのはうれしかったし、北海道では15年ぶりに余市蒸留所に行けました。また、沖縄ではひめゆりの塔、平和祈念資料館、旧海軍司令部壕を訪れ、平和な本土に住む私を、揺れる沖縄の現状に少しでも置くことができました。また、沖縄でも北海道でも嬉しい再会がありました。那覇空港でお会いした方は東京でお会いして以来、16,7年ぶりの再会。仕事の面でもとても刺激を受けました。札幌でお会いした方は2か月振りの再会でしたが、私のFacebookの投稿をみて北海道に今いると連絡してくださり、急遽お会いできたのは嬉しいひと時でした。

§ 今年の駅鉄 趣味の駅巡りは16駅「舞子駅(1月)」「東吾野駅(2月)」「三峰口駅(2月)」「鶯谷駅(4月)」「明覚駅(5月)」「競艇場前駅(5月)」「流通センター前駅(5月)」「岳南江尾駅(6月)」「大森海岸駅(7月)」「八王子みなみ野駅(8月)」「北浦和駅(8月)」「近鉄郡山駅(8月)」「東松原駅(9月)」「由仁駅(10月)」「宮山駅(11月)」「上州富岡駅(11月)」「上州福島駅(11月)」それぞれに周囲の光景と共に興味深い駅たちでした。これらの写真をまとめてブログにアップするにはまだ時間がかかりそうです。

§ 今年の酒楽 沖縄で泡盛蒸留所を訪れ、北海道で余市蒸留所を訪れたのがクライマックスです。また、今年はほうぼうに商談に赴いたこともあって、毎月の独りのみは出来たと思っています。「Bar Alcohol(1月・神戸元町)」「Bar hermit(2月・新宿西口)」「bar scotch cat (3月・平塚)」「brewdog Pub Roppongi(6月・六本木)」「Helios Pub(6月・那覇国際通り)」「bar beige(8月・川崎新百合ヶ丘)」「K24(9月・狛江和泉多摩川)」「クラフトビールパブ ムーンライト(11月・川崎登戸)」「Bar Origin(11月・銀座)」「Bar The Gintonicx(12月・横浜西口)」。それ以外にも帝国ホテルの「Old Imperial Bar」(4月)と「NIKKA Blenders Bar」(11月)を妻と訪れました。さいたまスーパーアリーナの「keyaki beer festival」を妻と長女と訪れてかなり出来上がり(10月)、仕事上でも数えきれないほど居酒屋やBarを訪れた一年でした。特に下北沢は極鶏Barを中心に、のべ10数軒は巡りました。

§ 今年のその他活動 人生も半分を過ぎ、焦りが募っています。少しでも日々に変化をつけたいとの気持ちは衰えを知りません。昨年に郡山で二枚ゲットしたマンホールカードの収集も少しだけ。5月に東京都瑞穂町、埼玉県さいたま市で。11月に神奈川県横浜市、群馬県富岡市で。12月に東京都狛江市で。来年も折を見て各地でゲットしようと思っています。それと、狛江のSaigonというお店で感銘を受けたラー油を自分でも作ってみました(11月)。来年も機会があれば他の活動にも手を染めたいと思っています。まだやりたいことはたくさんあるので。

あらためて「公」「私」を振り返ってみました。ムラがあったように思っていましたが、振り返ってみるとそれなりに充実はしていましたね。良い一年だったと思います。あとはムラを生じさせる原因を来年どう防いでいくかですね。特にムラ、が重要になりそうです。後1日、今年を無事に締めくくり、来年へと繋げようと思います。


Save The Live!~サイボウズLiveを救え~


1.読まなくてもいい前書き

2017年の秋晴れを引き裂くように、そのお知らせは降ってきました。そう、サイボウズLive終了のお知らせです。
その直後、お客様から早速ご連絡が。「Liveが終わる。代替案を検討してほしい」と。「はいっ!承知でございます」。

直後に開催されたCybozu Days 2017の基調講演でサイボウズ青野社長からLive終了の事情説明やお詫びをいただき、ようやく事態の深刻さを悟った私。Daysで仕入れた情報では、移行ツールが提供されるとかされないとか。でもそれはあくまでも未確定情報。リサーチして弊社でも移行できるようにしておかないと。

そう思っていたところにkintone Advent Calendarの枠が残り少ないというご連絡を頂きまして。最後の一枠に滑り込めました。Advent Calendarへの参加は3度目なのですが、今回はサイボウズLiveをからめればネタとして旬ではなかろうか。そんなことを、サイボウズのUっ氏~にお伺いを立てたところ、歓迎いただけまして。では取り掛かってみよう、と考え始めたとたん、Advent Calendarの4日目にアップされたのが「kintoneサイボウズLive化作戦」。正直やられた、と思いましたね。けど松田さんの記事を拝見するとkintoneへのデータ移行までは触れていない様子。これは私がやるしかないでしょう。まだ出番まで3週間はあるし、案件の合間でも何とかなるはず。2019年の4月までしか賞味期限のない記事ですが、どなたかのお役に立てれば。せめてもの長井サンタの贈り物です。

目次

1.読まなくてもいい前書き

2.サイボウズLiveのデベロッパー登録を行い、APIキーを入手する。

3.APIリファレンスを読む。理解する。

4.類似の参考サイトを探す。

5.グループと個人の違いを理解する。

6.取り込み方法のインターフェース検討と実装。

7.サイボウズLive APIの制限事項と、kintoneの対応機能の検討。

8.実装。

2.サイボウズLiveのデベロッパー登録を行い、APIキーを入手する。

実は今まで、サイボウズLiveのAPIは存在こそ知っていましたが、完全スルーしていました。
なので今回はデベロッパー登録から始めました。まずはここからやってみましょう。

 ・https://developer.cybozulive.com/apps/top にアクセスします。

・APIの対象を選びます。グループZを選ばないと全データが取得できないのでグループZを選びます。アプリケーションの種類はクライアントにします。

・Consumer KeyとConsumer Secretを入手します。大切に保管しておきましょう。

・上で入手したConsumer KeyとConsumer Secretを使います。

3.APIリファレンスを読む。理解する。

続いてAPIリファレンスです。これを読まねば話になりません。
 https://developer.cybozulive.com/doc/current/

なるほどサイボウズLiveは、認証にOauthを使っているのですね。
JavaScriptだけでの実装だとちょっと面倒かな。oauth.ioとか試してみればできそうな気もするけど後回しにします。
PHPだとOauthの実装したこともあるし多分いけるでしょう。
そんなわけで、まずPHPで実装し、時間があればJavaScriptでやってみよう、と決めました。

4.類似の参考サイトを探す。

ところが、サイボウズLiveってAPIがあまり活用されていなかったのか、情報があまりウェブ上にないのです。
そんなわけで私が公式のサイボウズLive APIドキュメントページ以外で
参考にさせて頂いたのは、まだプログラマーですが何か?さんのページのみです。ありがとうございました。

こちらの情報によると、pearで Net_URL2、HTTP_Request2、HTTP_OAuthを使うのが良さげな感じ。私もそれにのっかりました。
サーバーはさくらインターネットさんのスタンダードプランが手元にあったので使ってみようとおもいます。
と思ったら、ちょっとだけ手間取りました。以下は読み飛ばしてよいです。
 ・Oauthの実装に手間取りまして。
 ・そもそもpear自体がさくらインターネットのサーバーにインストールされていなかったり。
 ・なのでgo-pear.phpを使ってインストールしようとして。
 ・そしたら、ファイルだけでなくディレクトリのパーミッションも755にしないと動かない、とか。
 ・で、pearのインストールができたと思ったら、go-pearのインストーラーからNet_URL2パッケージを入れる際、なぜか古いバージョンしか入れられず。
 ・するとHTTP_Request2、HTTP_OAuthが要求するNet_URL2のバージョンを満たさずさあ困った。
 ・仕方ないのでSSH接続でコマンドからインストールする羽目になりました。
 ・しかも後ほどftpやsocketでもはまってしまい、仕方なくあとでphpのバージョンを7.1.11に上げました。これらの処理に影響はありませんでしたが。

・というわけで、本記事の前提となるバージョンです。
  kintone :::2017/11月アップデート版
  php:::7.1.11
  jQuery:::3.2.1

5.グループと個人の違いを理解する。

さて、Oauthのライブラリをインストールしたことで、サイボウズLiveへの接続はすんなり成功しました。
ところが、上記のサイトでご提供されている情報は認証の部分とXMLのダウンロードまでです。取得したサイボウズLiveのデータをkintoneへ登録する部分はこちらで実装せねばなりません。
実装としてはphpでXMLを解析し、要素や値をkintoneにアップすればよいはず。

ここでサイボウズLiveのデータ構造をどのようにkintoneに移行するか考えないと。
つまり、個人データとグループのデータをどう関連づけ、kintoneに持ってくるか、という問題です。
例えばスケジュールのデータ。グループごとに分かれています。でも、データ構造は同一のはず。
実は個人スケジュールのデータには各グループのスケジュールも全部含まれるので、それを持ってくればよいのですが、グループ単位のスケジュールで取り込めるようにしておかねばあとで困るでしょう。

つまり考えねばならないのは以下の通り。
kintoneで、グループごとにスケジュールアプリを分けてつくるのか、それとも一つのスケジュールアプリに複数のcybozu Liveグループのデータをマージさせるのか。
言い換えれば、kintoneのアプリ単位にユーザーの権限を制御させるのがよいか、それとも同じアプリの中のレコード単位で権限を制御させるのがよいか、ということになります。

考えた結果、kintoneのグループスケジュールアプリは一つにし、グループのデータを別々に登録するようにしました。
個人スケジュールはグループスケジュールと別々にしなければ、あとでデータが混在して困るので、別にしました。ToDoも同じく個人とグループを分けています。

6.取り込み方法のインターフェース検討と実装。

個別にダウンロードするにあたっては、インターフェースを考えたほうがよいですね。
kintoneアプリの一覧画面にダウンロードリンクを貼ることにしました。ヘッダー下のスペースにセレクトボックスを二つ配置し、それに応じてphpへのリンクを切り替えるようにしています。

 取り込み部分のインターフェースはこんな感じで

・初期状態はこんな感じ。

・左側のドロップダウンがグループです。サイボウズのアカウントが属するグループをリストアップし、先頭は個人データとしています。

これらのグループは私が実際に使っている/いたものです。kintoneやcybozu界隈のグループも昔cybozu Liveにあったのですよ。懐かしい\(^o^)/

・右側のドロップダウンが対象となるデータです。左側が個人データなので、5種類のデータを取り込み対象として出しています。
 (「全て」と「テーマチャット」と「ダイレクトチャット」と「コネクション」は本記事では実装していません。)

・左側のドロップダウンをグループにすると、右側のドロップダウンの内容もかわります。4種類のデータを取り込み対象として出しています。
 (「全て」と「メンバーリスト」は本記事では実装していません)

・両方のドロップダウンの選択の値に応じて、すぐ下のリンクの文字列とurlが切り替わります。

ちなみに、各kintoneアプリはこの部分に同じJavaScriptファイルを読ませることで共通化しています。
なお、リンクをクリックした際も、それぞれ定められたアプリにデータを放り込む仕様にしています。そのため、各アプリのリンクから違うアプリの取り込み処理が可能にしています。とはいうものの、混乱はないはずです。

 この部分の実装について説明します。まずはJavaScriptの部分を。

・まず、アプリに対してJavaScriptを登録します。上にcybozu CDNからjQueryを。下にこの後説明するgetGroupList.jsを登録します。

・getGroupList.jsの先頭から。

ここはkintoneではお約束の記述ですね。
4行目のjQuery.support.cors = true;は jQueryのAjaxで他のドメインの値をとるときの呪文です。昔作ったコードを持ってきたので、今ならkintone.proxyのほうが良いと思います。kintone.proxyについてはこちらを。
その下のescapeHtml関数は、サニタイズ用です。まあ今回の案件についてはそういう心配は無用なのですが。ちなみにこのJavaScriptファイルはjswatchdogでチェックすると、三か所XSS Warningが出てしまいます。optionの部品オブジェクトを代入する際に「ちょっと自分危ないんとちゃう!?」と怒られてしまいます。放置しています。ごめんなさい。

・13行もkintoneのJavascriptではおなじみです。一覧の表示時に呼び出されるイベントです。

14-16行は、複数のドロップダウンを出さないようにするためのステップです。すでにドロップダウンがあれば処理を終了します。
19行から下は、jQueryのAjaxのお約束です。上に書いたようにkintone.proxyのほうがよいかも。
ここで、https://dummydesse.sakura.ne.jp/kintonefromcybozulive/cbl_grouplist.php を呼んでいるわけですね。このphpについては下で解説しますので、少々おまちを。

・26行から下は、データがきちんと取れた際の処理です。ここでselect部品やリンク部品を生成しています。
27行がphpから取得した値をこちらで用意した変数に代入しています。

36-37行は、初期値としてリンクに表示させる個人データ「全て」のリンクを表示しています。

・ここではphpが貢いでくれたグループのデータをselect部品のoptionに代入しています。
datalistは処理対象となるデータの種類です。初期値が個人データなので、個人データに対応するデータを配列に登録しています。

・ここでは配列のデータ種別をselecgt部品のoptionに代入しています。

さらに kintone.app.getHeaderMenuSpaceElement メソッドを使い、上で生成したselect部品やリンク部品をkintone画面に表示しています。

・66行目以下は、データ種別のselect値が変わった際に、リンクの表示文字列とurlを変更する処理です。

・78行目以下は、グループのselect値が変わった際に、リンクの表示文字列とurlを変更する処理です。個人とグループではデータの種別も変わるため、リンクの文字列やurlもあわせて変動させねばなりません。いやはや、大変ですね。

・以下は失敗した場合の処理です。ここはエラーメッセージなので、解説は割愛させてください。要するに疲れてきました・・・

 続いてphpでcybozu Liveで認証する部分です。

・といっても、この部分はまだプログラマーですが何か?さんのページを参考させてもらい、それをかなりの部分で使わせて頂きました。改めて感謝です。
とはいえ、私の実装ではcybozu Liveの認証部分は別phpファイルに切り出すなどの改良を加えています。それが5行目ですね。cbl_oauth.phpにお任せしているのです。3,4行目は上に書いたようにさくらインターネットのスタンダードプランに入れたhttp_Request2とhttp_oauthを呼び出しています。あまりサーバーに詳しくない方にとっては、この二つのインストールは厄介かもしれません。 

続いて、認証情報を格納する変数を三つ用意します。この三つの変数は以下の処理でも使うため、すぐ下のgetAccessTokenへは参照渡しをして、getAccessTokenの中で代入された値を使えるようにします。
そして、getAccessTokenを呼び出した結果をaccess_token_infoに格納します。getAccessTokenの戻り値は配列なので悪しからず。
さらに、10行に書いているとおりヘッダーでおまじないをとなえます。これはphpの中で違うドメイン(cybozu Live)のデータをとってくるときに、このおまじないを忘れると、11行目に書かれているような反撃を食らうためです。いわば白魔法の防御呪文のような感じです。

・12行目のtryで処理を開始します。
13行目のHTTP_Request2は上で読み込んだRequest2ファイルの中のクラスをインスタンスとして使いまっせ、ということです。 
14行目はssl_verify_peerをFalseにしています。つまりSSL証明書の検証を要求しませーん、という意味です。
17行目のHTTP_OAuth_Consumer_Requestは上で読み込んだOauthファイルの中のクラスをインスタンスとして使いまっせ、ということです。
18行目は、HTTP_Request2の設定に基づいて一旦つながしてーや、という意味です。まあ斥候みたいなもんです。

20行目は斥候がまず様子見した接続を、本体が認証情報を掲げて大手を振って入場するための準備です。上でとってきたcybozu Liveの認証キーをHTTP_OAuth_Consumerに渡してあげるのです。通行許可証ですな。厳重に4種類の通行許可証を渡してあげるわけです。
21行目は、上で準備した通行許可証を、18行目で斥候が先に接続のお伺いを立てて問題ないよーという情報を御旗にたてて、cybozu Live城にアクセスします。
26行目は、個人フォルダのパスです。cybozu Liveの個人Idはメールアドレスなのです。
27行目はフル許可設定で個人フォルダのパスをなければ生成します。

・34行目はcybozu LiveのAPIのエンドポイントと定められたURLあてにリクエストを送ります。
arrayの中にパラメーターを含めればいろいろとリクエストができますが、ここではグループ一覧をとりたいだけなので、パラメーターはなしで。なお、apiの仕様はこちらに載っています。

36行目でリクエストの結果が $xml0 に代入され、エラーがなければ40行に処理がいきます。
40行は、ここでcybozu Live apiに進呈されたグループ情報の配列に個人を加えるための初期値です。先に説明したインターフェースでは最初に「個人データ」がありました。
45行目では先頭に「個人データ」が入った配列がグループデータに従って生成されます。
47行目では、グループidに従って並び替えます。その際「個人データ」キーは0を指定しているので、かならず先頭です。
48行目は、JavaScriptが読めるようなjson形式でデータを返してあげています。echoで返してあげるとJavaScriptはデータとして喜ぶのです。
49行目以下はエラー処理。疲れたので割愛させてください・・・

 続いてphpでcybozu Liveで認証するコア部分です。

・ここに各種認証キーを記載します。

$consumer_keyには、cybozu Live apiのデベロッパー登録してきたキーを書き込みます。
$consumer_secretには、cybozu Live apiのデベロッパー登録してきたシークレット値を書き込みます。
$xauth_access_token_urlには、cybozu Live apiがトークン取得用としてご用意しているurlを指定します。
$authusernameには、あなたのcybozu Liveのログインアカウントを書きます。
$authpasswordには、あなたのcybozu Liveのログインパスワードを書きます。

・続いて認証リクエストの部分です。先ほどの説明と重複する部分もあるので、21-28行までの処理は説明を割愛しますね。 

30行目では、OauthのsendRequestのメソッドに対して、urlや認証情報のつまったパラメータを渡してあげます。
するとレスポンスにアクセストークンが戻ってくるのですね。あとは、phpのparse_str関数で$access_token_infoにトークン文字列を代入してあげるだけ。簡潔です。

・エラーハンドリングの部分は、割愛でお願いします。

ちなみに今回はkintoneのアプリ一覧画面上に実装しましたが、本当ならばポータルからダウンロードさせるのが親切な気がします。
多分、同じように実装すればいけるはずです。
お時間のあるかた、おもちとみかん食べながら、いかがでしょうか?

7.サイボウズLive APIの制限事項と、kintoneの対応機能の検討。

ところが、こうやって移行の検討を深めてみると、いくつか問題が出てきます。

Q1.サイボウズLiveのユーザーをそっくりkintoneのユーザーとして移行できない。なぜなら開発者ライセンスは5ユーザーしか作れないから。無料だからとたくさんアカウントを作ったはよいが、kintoneアカウントは有料ですから。
     ↓
 A1.kintoneのユーザーやグループの利用はあきらめ、ドロップダウンか文字列(一行)にデータを入れるしかない。またはユーザー一覧のアプリを作ってルックアップや関連レコードで連携させるとか。今回の記事ではドロップダウンか文字列(一行)か複数選択でお茶を濁しています。

Q2.サイボウズLiveのAPIに用意されているファイルダウンロードがそもそも画像のみ。
     ↓
 A2.画像しかとりこまないようにする。
 (ところが、今回は画像のアップロードの実装はしていません。以下は言い訳です。
  ・さくらインターネットのphpがftpサポート外だということをうかつにも忘れていまして。
  ・sshでログインし、コマンドからphpのconfigureやmakeを行ってftpやsocketを有効化した。参考サイト参考サイト
  ・ところがそれにも関わらずダウンロードができない。調べてみたらさくらのftpサーバーがRETR未対応ということで、サーバー自体がphpのftpを頑として受け付けないということに気がつき万策尽きる。
  ・curlだとローカル経由でアップロードした場合はfilekeyの取得ができるが、リモートURL経由ではresponseがNullになってしまう。
  ・処理の一貫性の観点では、ファイルがローカルに自動的にダウンロードされる実装を加えないと、ダウンロードの時点で一度別処理を挟み、それ以降のkintoneアプリに添付ファイルを登録するためのfilekey取得をあらためて行う必要が・・・・

Q3.サイボウズLiveのコメントをkintoneに移したい。ところが、APIトークン利用でのコメント追加だとコメント追加者がAdministrator扱いになってしまう。コメントの記載を各ユーザーで書かせるには、毎回認証ユーザーを切り替えねばならず、実装が面倒。
     ↓
 A3.コメントについてはサブテーブルで実装しました。松田さんのご提供アプリでも一部サブテーブルでしたし。

Q4.マイカレンダーにグループスケジュールへのリンクを実装するのが面倒。
     ↓
 A4.アプリ間の連携を円滑にするには、リンクの設定が不可欠ですが、今回の記事では実装していません。いずれやります。

Q5.スケジュールの日付範囲の取得がサイボウズLiveのAPIの仕様だと制限がある。(FromからToが365日以内でなければならないとか)
     ↓
 A5.他にも、cybozu Liveのスケジュールには通常予定と期間予定、繰り返し予定があります。その実装がちょっとひと手間必要なので、今回の記事では実装していません。いずれやります。

Q6.cybozu LiveのAPIの仕様では、一回当たりのデータ取得件数が最大100件になっている。
     ↓
 A6.これは再帰処理などで、実装可能だと思います。が、今回の記事では実装していません。いずれやります。

8.実装。

あとは、個別のプログラムごとに移行をわけ、それぞれのアプリごとに取り込むだけです。
せっかくなのでアプリは松田さんのご提供いただいたテンプレートをベースに使わせて頂き、適宜修正するようにします。

・今回ここで呼び出すurlとは、右下のリンクのUrlのことです。
 

 まずはxmlを配列に読み込むためのphpの中身です。

・では個人スケジュールから始めてみましょう。cbl_schedule.phpというファイルです。
20行目までは、グループ一覧を取得する処理とほぼ同じなので、割愛します。

・続いて認証処理からの流れです。こちらも32行目まではグループ一覧の取得時の処理と同じなので、割愛しますね。

重要なのは33行目です。ここではcybozu Live apiの個人スケジュールのエンドポイントurlを呼び出しています。
個人スケジュール情報のapiの仕様はこちらに載っています。
ここで、array内に取得する情報の条件をパラメーターで渡します。パラメーターのうち、個人スケジュールについては必須なのはありません。が、期間を指定しないと、思ったデータがとれません。条件の指定方法については、上のapi仕様に載っています。
とくにterm-startとterm-endの設定が重要です。
またmax-resultsは100が基本でしょうね。
embed-commentもコメント情報を取得するためには必要なパラメータです。
cybozu Live apiの一回当たりの取得件数は max-resultの最大値が100なので100件が限度です。
そこで全データを取得するためには、start-indexの値を毎回変動させつつリクエストを投げる必要があります。
38-39行目の置換の意味ですが、cybozu Liveから帰ってくるxmlのデータに名前空間付のタグがあります。名前空間付きのタグとは、
 

<cbl:group valueString="長井家予定" id="2:65107" />
    <cbl:comments>
      <cbl:feedLink>
 

のようなコロン付きのタグですね。このタグの内容はchildren(“cbl”,true)->group といった方法でパースすればデータの取得は可能です。ただ、コメントタグの中で、各コメントごとにある <entry cbl:sequence=”2″> がうまく配列として読みないのです。なので仕方なくコロンを _ に置換する方法を採りました。
45行目の simplexml_load_string で、取得したXMLデータをオブジェクトとして扱えるようにします。
46行目は $authoremail に投稿者のemailを代入します。$list0->author->email が 下記のようなxmlのデータを取得する際の命令文です。この$list0がsimplexml_load_stringで取得してきた全体のオブジェクトにあたります。その中の author タグのさらに下にある emailを取得する際にこの命令を投げればいいのですね。
 

   <author>
     <name>長井 祥和</name>
     <uri>2:39920</uri>
     <email>kakakakaka@dummy.jp</email>
   </author>
 

48行目は 取得したデータをkintoneに放り込むためのphpを呼び出しています。

・続けて、エントリごとの中身を取得に行きます。

49行目の foreach($list0->entry as $entry0) { はエントリータグを上から順にループ(フェッチ)させる命令です。
50-51行目は、entry毎のidを取得します。cybozu Liveのデータはカンマ区切りで四つ目の値がエントリidなので、それを採りに行きます。
52行目から57行目まで、取得時に(string)という文字があります。これは強制的にオブジェクトの型を文字列として変換する処理となります。
55行目と56行目にある cbl_when->attributes()->startTime というのは、XMLでいうと

<cbl_when startTime="2011-04-06T14:55:00Z" />

 のようなstartTimeの属性の値を取得するための命令です。 
59行目はXMLでいうとcbl:facility というタグを取得する際、タグの有無を判別するための文です。
タグがあれば、その中をループします。

・続いてxmlの中身を取得していきます。このあたりのxmlの構成は、apiの仕様を確認するか、もしくは後で紹介するサーバーに保存したxmlファイルの中身を確認するとよいでしょう。

・81行目から下は、エントリ本文に添付ファイルがあった場合の処理です。
添付ファイルの有無は if ($entry0->cbl_attachment) { で判別可能です。

fileDownload の関数は以下に説明しますが、サーバーにxmlファイルを置くための関数です。
93-94行目にある get_filekey_from_kintoneはkintoneにファイルをアップロードし、その添付ファイルをレコードを紐づけるためのfilekeyを取得するための関数です。ただ、言い訳にも書いた通り、ローカルへのダウンロードがうまくいきませんでした。そのため、今回は関数の中身は恥ずかしくてお見せできません。ですが、94行目のようにローカルファイルを指定するとfilekeyの取得はできることは確認済みです。

・98行目以下は、コメントのデータ取得です。
104行目の foreach( $cbl_entry as $entry2 ){ は複数コメントを順繰りに参照するための命令です。
なお、cybozu Liveのapiが提供するXMLファイルのコメントの一つ一つには番号が振られています。それが105行目の $entry2->attributes()->cbl_sequence で取得できます。
つまり、106-110行目の処理は、コメント一つ一つの番号をキーに設定し、連想配列としてコメントのそれぞれの値を格納しているのです。

なお、132-133行目の処理も、実際はうまく動かないため、コメントアウトしています。

・ここからは上の方法のおさらいですね。

・152行目から下は、配列に、取得してきた各値を代入していく作業です。

なお、179行目でheaderを指定してます。これは、呼び出し元に戻す命令です。ここでいう呼び出し元とはkintoneの一覧画面のことですね。これでkintoneにデータを登録した後、もとの画面に何事もなかったかのように涼しい顔で戻れるのです。

・で、こちらはfileDownload関数です。
cybozu Live apiはそもそも画像ファイルしかダウンロードができず、excelやwordファイルだとエラーになってしまいます。
エラーを回避するために拡張子が画像のものしかダウンロードさせないようにしています。ここではサーバー内の場所にファイルを保存するようにしています。

 続いて取得した配列データをkintoneに投げ込むphpの中身です。

・この辺りはデータを登録するためのトークン周りの処理ですね。
念のためですが、トークンの発行時には権限にレコード追加も含めておいてくださいね。

・ここでは、コメントのデータをkintoneのサブテーブルのjsonデータに整形しています。

・ここではkintoneに投げるデータの整形部分です。上でサブテーブル用に整形したコメントのデータも登録しています。

・取り込んだデータをcurlでリクエストとしてkintoneに投げています。

・カレンダービューに取り込んだデータが表示されます。

・レコード詳細もこの通りです。
コメントの内容もサブテーブルに入っていますよね。

とまあ、今日はここまでにしておきましょう。こちらでは個人スケジュール、グループスケジュール、個人ToDo、グループToDo、グループ掲示板まではデータの取得スクリプトを作成済みです。
 実は一つ取り込みのコツがわかれば、あとはデータ形式の差だけなのです。返す返すも添付ファイルの登録ができなかったのは残念ですすが、おいおい実装してこちらのブログをアップデートする予定です。

もしcybozu Liveからデータ移行をしたいというお客様がいらっしゃいましたら、お手伝いできますのでご相談ください。お安くさせて頂きますよ。