Quantcast
Channel: いつも隣にITのお仕事
Viewing all 2075 articles
Browse latest View live

【初心者向けGAS】天気予報APIからのJSONをオブジェクトに変換する方法

$
0
0
weather

photo credit: faungg’s photos Central Park, NYC via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者ノンプログラマー向けとして「GASを使ってSlackにメッセージを送る」を目標に連載をお送りしております。

前回の記事はこちら。

【初心者向けGAS】SlackアプリのIncoming Webhooksを使ってメッセージを投稿する方法
初心者ノンプログラマー向けとして「GASを使ってSlackにメッセージを送る」を目標に連載をお送りしております。今回はSlackアプリのIncoming Webhooksを使ってメッセージを投稿する方法です。

GASでスクリプトを書いて、Slackにメッセージを送ることができました。

さて、このシリーズではSlackに天気予報の結果を送りたいので、それに向けて進めていきましょう。

まずは、天気予報の情報を取得するAPI「Weather Hacks」とそのレスポンスをオブジェクトに変換する方法を紹介します。

では、行ってみましょう!

天気予報API「Weather Hacks」

さて、天気予報といってもどこからその情報を取得すればよいでしょうか?

そんな時に、使えるのも「API」です。

Weather Hacksという無料で使用できる天気予報APIがありますので、これを使っていきましょう。

お天気Webサービス仕様 - Weather Hacks - livedoor 天気情報
第三者向け気象データ提供サービス「Weather Hacks」。Webサービス(Livedoor Weather Web Service / LWWS)とRSSフィード(RSS2.0)を中心としたデータを提供しています。

Slack APIのIncoming Webhookでは、決められたURLにPOSTリクエストをすればSlackへの投稿ができました。

Weather Hacksでは、決められたURLにGETリクエストをすることで、天気予報のデータを取得できるのです。

Weather HacksのリクエストURL

Weather HacksのリクエストURLは以下のような形式です。

http://weather.livedoor.com/forecast/webservice/json/v1?city=130010

「130010」の6桁の番号はCityIDというもので都市ごとに振られています。この番号は東京のもので、東京の現時点の天気予報の情報を取得することができます。

各地域のCityIDは以下のページで調べることができます。

1次細分区定義表 - livedoor 天気情報

レスポンスからオブジェクトを取り出す

HTTPレスポンスの内容をログで確認する

Weather HacksではHTTPリクエストの結果として、HTTPレスポンスを受け取れます。

GASでは、fetchメソッドの戻り値がHTTPレスポンスを表す、HTTPResponseオブジェクトとなります。

そこから、内容を取り出すのがgetContentTextメソッドです。

HTTPResponseオブジェクト.getContentText()

では、試しにWeather Hacksへリクエストをして、レスポンスの内容をログ確認してみましょうか。

function test() {
  
  var url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'; //URL+cityID
  var res = UrlFetchApp.fetch(url);
  Logger.log(res);

}

GETリクエストなのでfetchメソッドの引数はURL文字列を与えるだけでOKです。

実行して、ログを表示してみると…

GASでWeather Hacksにリクエストした際のレスポンスのログ出力

なんじゃこりゃ…いろいろとそれっぽいデータは含まれているように見えますが…

これは、以下が原因です。

  • レスポンスはJSON形式の文字列であり
  • ログの2バイト文字は「\uXXXX」のUnicode文字で出力されている

レスポンスの内容をGASで取り扱えるようにするためには、もうひと工夫必要なわけですね。

JSON文字列をオブジェクトに変換する

HTTPレスポンスからgetContentTextメソッドで取り出したものは、JSONという形式の文字列です。

JSONは「JavaScript Object Notation」の略で、和風に言うと「JavaScriptのオブジェクト表記」ということです。

つまり、JavaScriptのオブジェクトに近い表現てことですね。

なので、JSON形式の文字列をJavaScriptのオブジェクトに変換してくれる便利なメソッドが存在しているのです。

それがJSONオブジェクトのparseメソッドです。

では、これを用いてスクリプトを書き直してみましょう。

JSON.parse(文字列)

function test() {
  
  var url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'; //URL+cityID
  var res = UrlFetchApp.fetch(url);
  var object = JSON.parse(res.getContentText()); 
  Logger.log(object);

}

レスポンスの内容を、parseメソッドでオブジェクト化して、それをobjectという変数に格納、それをログ出力します。

ログ表示はこちらです。

GASでオブジェクトに変換したJSON文字列をログ出力

おお、だいぶわかりやすくなりました!!

まとめ

以上、天気予報APIからのレスポンスをオブジェクトに変換する方法についてお伝えしました。

API経由でデータを受け取るときにJSON形式の文字列はとても良く使いますので、JSONとは何か、またparseメソッドでいったんオブジェクトに取り出すことは理解しておきましょうね。

次回、変換オブジェクトから目的のものを取り出していきます。

どうぞお楽しみに!

連載目次:はじめてのSlackアプリでメッセージを投稿する

ビジネスチャットツールSlack、使ってますか?「Slackアプリ」を使うことでGASを通じてメッセージを投稿をすることができます。このシリーズでは初心者向けにSlackアプリの作り方を解説していきます。
  1. 【初心者向けGAS×Slack】はじめてのSlackアプリを作成しよう
  2. 【初心者向けGAS】Slackにメッセージを投稿するIncoming Webhookの最初の一歩
  3. 【初心者向けGAS】SlackアプリのIncoming Webhooksを使ってメッセージを投稿する方法
  4. 【初心者向けGAS】天気予報APIからのJSONをオブジェクトに変換する方法

ブログ100万PV達成記念スペシャル!普段は聞けない?執筆メンバーのマル秘トーーク!

$
0
0

 

もり
もり

みなさんこんにちは!執筆メンバーのもり(@moripro3)です!

 

2015年2月に開設した「いつも隣にITのお仕事」、おかげさまで、今年の7月で100万PVを達成しました!!

いつも応援してくれている読者のみなさま、ありがとうございます!

ブロガーにとって「100万」という数字は、ひとつの目標・節目ですよね!

そこで今回は、「100万PV記念企画!執筆メンバーによるスペシャル対談」をお届けしちゃいますよ~

このブログは、代表のタカハシさんと数名のメンバーで執筆しています。

現在のメンバーは、2016年から執筆しているノグチさんと、私もりの2名です。

 

ノグチ
ノグチ

みなさんこんにちは、メンバーのノグチです!

 

100万PV達成、嬉しいですね~。いつもお読みいただきありがとうございます!

 

執筆メンバーとは、株式会社プランノーツのひとり社長・当ブログ管理人のタカハシさんのお手伝いをするパートナーのことです。

パートナーには、ディレクション・開発・研修講師等の職種があり、これらのお仕事と併せてブログ執筆もしています。

【副業&在宅OKパートナー募集!】お仕事をしながらITと記事執筆のスキルアップも
プランノーツでは一緒にお仕事をして下さるパートナー様を募集しています。 Excel・VBA、Google AppsなどのITと記事執筆スキルを磨きながら、空いた時間を使って収入を得ることができます。

 

「いつも隣にITのお仕事」略して「隣IT」には、2019年7月末時点で約1,300記事(!!)が公開されていて、内訳はこのようになってます。

  • タカハシさん:1,000記事
  • 執筆メンバー:300記事
もり
もり

おぉ、タカハシさん、1,000記事も書いてるんだ…(さすがや)

 

さてさて、それではスペシャル企画いってみましょう!

隣ITのブログ運営に関すること、執筆メンバーのこっそり裏話を、私もりがお届けしていきますよ~!

 

Q.執筆メンバーを採用している理由は?

「ブログ運営」には色々なスタイルがあります。

  1. 全ての記事をひとりで書く
  2. 代表者+複数のライターで書く

隣ITは2のパターンです。当然ですが、ライター契約するとお金を支払う必要がありますよね。

なぜ、隣ITでは執筆メンバー(ライター)を採用しているのでしょう。

それでは早速タカハシさんに聞いてみましょう!

 

もり
もり

タカハシさんは、なぜお一人で書くのではなく、執筆メンバーを採用してるんですか?

 

タカハシ
タカハシ

私は4年前に独立して「ひとり社長」になりました。だから、会社でどんなことが起こってるかは、独立前の経験しかないんですね。

 

会社には色んな困っている人がいるはずなので、複数人の視点でブログを書いたほうが良いなと思って始めました。

 

もり
もり

なるほど~「複数人の視点」ですね。私も現在事務職をしているので、会社での困りごとをよくネタにしてますよ。

 

「いつも隣にITのお仕事」では、「自分、次の記事はこのネタで書きます!」と、執筆メンバーからネタを提供するスタイルなんです。

ただ記事を書くだけではなく、「ネタを提供する」のも仕事なので、常に勉強して、新しい知識を取り入れる向上心が求められています。

 

タカハシ
タカハシ

私自身も日々勉強しているので、知識が増えるにつれて、目線が変わってくるんですね。

 

だから、「最近わかるようになった人」の目線でも書いてほしいなと思って、パートナーさんを採用しています。

 

もり
もり

ふむふむ、勉強を始めたばかりの人の方が、より、初心者目線で説明できますからね。

 

これは納得ですね。私自身の新入社員時代を思い出してみました。

「1つ上の先輩」と「入社20年目のベテラン先輩」に同じ質問をすると、「1つ上の先輩」の説明のほうがわかりやすかったんですね。

「1つ上の先輩」の方が、前提知識が少ない分、目線が同じだからです。

この理屈は、ライティングでも同じですね。

プログラミングの勉強をしているみなさん、(自分初心者だから…)なんて思わずに、ブログなどを書いてみると良いですよ!

学習を始めたばかりの人は、これから学習をはじめる人たちの「1つ上の先輩」です。ベテランのライターさんには無い視点で、記事が書けるはずですよ。

 

 

もり
もり

せっかくの記念企画ですから、卒業生も呼んでみますか?

 

タカハシ
タカハシ

おっ、いいっすね~!

 

「いつも隣にITのお仕事」がここまで大きくなったのは、歴代の執筆メンバーの支えもありますからね。

各メンバーからいろいろな思い出話を聞いてみましょう!

 

もり
もり

みんな~、集まれ~!

Q.みなさん、パートナーに応募したきっかけは?

各メンバーの応募理由・きっかけを聞いてみましょう。

まず私もりから!私は、タカハシさんが主宰するコミュニティ「ノンプログラマーのためのスキルアップ研究会」のメンバーです。

2018年8月の定例会でパートナー募集の話を聞いて、応募しましたよ。

 

もり
もり

元々、個人ブログを書いてました。「執筆」を仕事として本格的にチャレンジしたくて応募しました!

 

つづいて、現役メンバーのノグチさん!2016年からなので、すっかりタカハシさんの右腕ですね。

 

もり
もり

ノグチさん、もともとシステム会社のエンジニアだったんですよね?

 

ノグチ
ノグチ

はい。そこの会社で、家庭を持つ女性の働く環境に疑問をもっていました。こどもが病気になった時とか、申し訳なさそうに早退していく女性もいて・・・

 

もり
もり

なるほど…女性ならではの視点ですね

 

ノグチ
ノグチ

それで、自分は家をベースにして働きたいなと思ってたんですね。

 

そのタイミングで、隣ITのVBA仕事効率化の記事を読んだり、パートナー募集のページを発見して、自宅で働く選択肢も実際にあるんだと思い、応募しました。

 

昨年くらいから在宅リモートワークが一気に普及してきたイメージがありますね、ノグチさんは早い時期から始められてたんですね。

 

つづいて、2017年3月から執筆開始したタダケン(@tadaken3)さん。

 

タダケン
タダケン

僕は、GASの勉強でネット検索してたら隣ITのサイトにたどり着くようになって、タカハシさんのTwitterアカウントをフォローしました。

 

もり
もり

お!GAS検索でこのブログにたどりつくのは王道ルートですね!

 

タダケン
タダケン

後日、タカハシさんがTwitterでお仕事パートナーを募集していたので、興味があって応募しました。個人ブログも少し書いてたんだけど、もっと本格的に学びたいなと思って。

 

Twitterでのお仕事募集から始まるご縁もあるんですね。

次は2017年11月から執筆をはじめた、かつひささん(@katsuhisa__)です。かつひささんもTwitterでのご縁だそうですね?

 

かつひさ
かつひさ

私は、ガイアックスさん主催のGASイベントで登壇したときに、タカハシさんとお会いしてTwitterをフォローしました。

 

後日、タカハシさんが「飲み会の欠員が1名出たから誰か来ませんか~?」ってツイートしてるのを見て、たまたまそこに行ったんです。

 

タダケン
タダケン

あっ、その飲み会、僕もいたね

 

かつひさ
かつひさ

その場で「今Pythonでの業務効率化を勉強してるんです」という話題になって、そのネタで執筆チャレンジしてみませんか?ってお話をいただきました

 

お~!これまたTwitterが結んだ素敵なご縁ですね。

 

最後は、「プログラミングする福祉職」という異色のキャッチコピーを持つ寺戸さん(@terashin1226)です。2018年7月から仲間入りでしたね。

 

寺戸
寺戸

もともと、VBAの勉強でタカハシさんのTwitterをフォローしてました。

 

前職を辞めて新しいことにチャレンジしたいなと思ってた時期に、偶然タカハシさんの募集ツイートを見て、思いきって応募してみました!

 

もり
もり

あっ、思い出しました!大阪在住なんですけど応募したいですー!ってリプしてて、すごい熱のある方だなぁと印象的でした。

 

私が2018年9月から執筆開始したので、寺戸さんは一緒に成長した同期仲間のような感じです。

 

それにしても、3人ともTwitter経由での応募なんですね!おどろきです!

 

Q.隣ITで執筆してどんな成長があった?

みなさん、隣ITでの執筆を経験してどうだったのでしょうか?

個人ブログとは違った緊張感がありますからね。聞いてみましょうか。

まずはベテランのノグチさんから!主にVBA関連の記事を書いていますね。

 

ノグチ
ノグチ

最初は苦しみながら書いてましたね~(笑)会社で新人エンジニア向けの資料は作ってましたけど、ノンプログラマー向けのブログは初めてでした。タカハシさんにレクチャーしてもらいながら学んでいきましたね。

 

そんな経験を経て、文章を書くうえで、物事をまとめるスキルがあがりましたよ。

 

もり
もり

おぉ~!ノグチさんもブログは初めてだったんですね。

 

ノグチ
ノグチ

あとは、VBAのコードを書くとき、オブジェクト基準で考えるようになったことですね。

 

このメソッドの対象のオブジェクトは?とか、大事ですよね。

 

なるほど~!これは私もまったく同じことを考えてます!

隣ITでは、執筆メンバーで共有してる「ライティングガイド」があるんです。今日は特別に一部公開しちゃいますよ。

プログラミングの解説では、言葉の定義が非常に重要です。~ステートメント、~関数、~オブジェクト、~メソッド、~プロパティとフルネームで表現しましょう。

 

個人ブログだと、このあたり意識せず書いちゃってたんですね。

オブジェクト・メソッド・プロパティを意識すると、読者へのみなさんへの伝えやすさはもちろん、自分のVBAの理解が深まりました。

 

もり
もり

ちょっとVBAの話をするね!

たとえば、「シートを削除する処理」の説明は、

WorksheetをDeleteする
WorksheetオブジェクトDeleteメソッドを実行する

 

「シート名を変更する処理」の説明は、

WorksheetのNameを変更する
WorksheetオブジェクトNameプロパティの値を設定する

 

このように、オブジェクト・メソッド・プロパティなどを意識して記事で説明することによって、自分自身のVBAへの理解も深まるんですね。

 

もり
もり

プログラミング系の記事を書いてる人はおすすめの考え方だよ!ぜひチャレンジしてみてね~

 

ちょっと脱線しちゃいましたね。

さて、続いてはタダケンさん。主にGASの記事を書いていて、デビュー作の「Google Apps Scriptでグラフを作成する方法の最初の一歩」は今でも大人気ですね。

隣ITでの執筆を経験してどうでしたか?

 

タダケン
タダケン

僕は、ブログの礎(いしずえ)が作れたなと思ってます。

ブログの書き方・構成だったり、技術的なところだと、SEOの知識が身につきましたね

 

もり
もり

「ブログの型」ですね。タカハシさん、基礎から指導してくれますからね。

 

タダケン
タダケン

一番は「書き続けるペース」がつかめたことですね。

「1週間に1本」というお約束があるので、必然的にブログを書く時間を確保できるよう、1週間のスケジュールを考えるようになりました。

 

もり
もり

なるほど、私も執筆を始めてから生活スタイル変わりましたよ~

 

タダケン
タダケン

ブログの「型」と「ペース」は、今の個人ブログにもつながっています。

ブログきっかけで色々お声がけをいただくこともありますよ。

 

タダケンさんの「タダケンのEnjoyTech」は、はてなブログ読者数240人!上位クラスに入る人気ですね!

つづいて現役エンジニアのかつひささん、隣ITでは、Pythonの記事を書いてましたよね。

 

かつひさ
かつひさ

一番勉強になったのは、初心者の方にどこまでハードルを下げて説明するれば理解していただけるのかということです。

 

仕事柄、文章のレベルが無意識に上がっていたみたいです。だから、タカハシさんから、この表現だと初心者には難しくて伝わらないですよ、と最初の頃はよく言われましたね

 

もり
もり

そうですね、本職エンジニアと非エンジニアの方だと、やはり「前提知識」が違いますからね

 

かつひさ
かつひさ

文章を書いてレビューしてもらう経験を通して、初心者目線で、誰にでも読んでもらえるように、やさしく伝える力がつきましたね

 

この書き方は、現在の個人ブログにも活きてるのだとか。登壇のプレゼン資料も「SpeakerDeck」にたくさんアップしていますね!

 

「ハードルを下げて書きましょう」は、私も口酸っぱく言われたセリフです。初心者目線に戻って、意識してハードルを数段下げて書くと読んでもらいやすくなりますよ!

 

最後に、「チャットルームを最も賑わせた男」寺戸さん!PowerShellの記事を書いていましたね。

 

寺戸
寺戸

僕の記事レビューの時は…チャットルームが騒がしくなってましたね…それだけ丁寧に添削してもらえて感謝しています(照れッ

 

私たちはChatworkで連絡をとっています。タカハシさん&執筆メンバーのチャットルームがあり、そこで記事提出・添削をしています。

お互いの添削内容をみて勉強できる環境も良かったですよ!

 

もり
もり

なかなかと盛り上がってたね(笑)私も、タカハシさんと寺戸さんのやりとり見て勉強してましたよ!

 

寺戸
寺戸

一番勉強になったのは「読者目線で考えること」が身についたことです。

 

最初の頃は、レビューで「難しいっす」ってよく言われて・・・自分も初心者目線に戻れましたね。

 

そうそう、寺戸さんも元エンジニア。最初の頃は、無意識にハードルが高くなっていましたね。

でも、だんだんとやさしい文章になっていきましたよね(同期のもりは見ていましたよ)

 

寺戸
寺戸

あとは、みなさんが言っているように、文章を書く「型」が身につきました。

 

もり
もり

ほほぉ!「型」とは?

寺戸
寺戸

例えば会社で資料を作る時にも活きてます。

 

「誰に向けて何を伝えるか」「前提知識はどのレベルに設定するか」「導入を入れてから本題に入る」などの、構成を考えるようになりました。

 

寺戸さんの個人ブログ「福祉の働き方研究ラボ」も、文章がメキメキ上達してますよね。

誰に何を伝えるか?読者の前提知識は?は、メンバーのみなさん、執筆で意識してるポイントですね。

執筆メンバーのマル秘裏トーク!タカハシさんってどんな人?

良い話が聞けましたね。せっかく卒業生が集まったことだし、もう少し話したいですね。

 

もり
もり

あっ、そうだ!ちょっとタカハシさんの話題でも振ってみようかな(ふふふ)

 

みなさんから見たタカハシさんってどんな人ですかね?

 

かつひさ
かつひさ

いや~ストイックな人ですよね!書くことへのエネルギーがすごいです!

 

もり
もり

午前中に本の執筆して、午後仕事して、夜はブログ書いてるらしいですよ。

 

タダケン
タダケン

そうそう、執筆への情熱すごいよね!

 

「書くか、死ぬか」みたいな人だよね(笑)

 

かつひさ
かつひさ

「毎日○時~○時は執筆の時間って、スケジュールを固定して書くだけですよ」って真顔で言うんだよね(笑)

意志の力がすごい!

 

もり
もり

あっ、私も数日トライして挫折したやつ・・・

 

毎日スケジュールどおりにきっちり動くって、まるでロボットのようにドライな人なのかと思いきや・・・?

 

寺戸
寺戸

タカハシさん「スーパードライ」って言われてるけど、本質は優しいですよね。

 

だって、優しさがないと、あそこまで厳しく言えないだろうなと思って、僕は厳しい指導に頑張ってついていきました!

 

 

もり
もり

うん、たしかに。愛がないと厳しいことって言えないよね。

 

そうそう、タカハシさん、主催コミュニティのノンプロ研で「スーパードライ」って言われてるんですよ。

でも私の印象だと、ドライな一面もあるけど、ハートフルな面もあります。

 

タダケン
タダケン

動画配信したり、オンラインコミュニティやったり、精力的だよね。

 

色々チャレンジしてるけど、「働くの価値をあげる」という軸・コンセプトがブレなくてスゴイなって思う!全部一貫して、つながってるよね。

 

いろいろ精力的に活動してるタカハシさん、対面でお会いすると、すごく物静かで穏やかなんですよ。

タカハシさんの活動のエネルギーはどこから来てるんでしょうかね?

 

寺戸
寺戸

僕は、「人の成長」がタカハシさんのエネルギー源なのかなと思います。

 

タカハシさんの記事を読んでると、人の変化・成長を書いてるところに「感情」が見えるんですよね。

 

もり
もり

おぉ~寺戸さんの観察眼すごいですね!きっと、寺戸さんの成長も、タカハシさんのエネルギー源になってたんでしょうね!

 

寺戸
寺戸

うん。そうじゃないと、あそこまで熱意を込めて添削してもらえないですよ。

 

Q.執筆メンバーを採用してみてどうだった?

もり
もり

タカハシさん、良い話が聞けましたね~

 

タカハシ
タカハシ

そっすね~。嬉しいっす(涙)

 

さてさて、タカハシさん、2016年からお仕事パートナーを採用してみて、どうでしたか?

 

タカハシ
タカハシ

パートナーさんの書いてくれた記事が、隣ITの人気ランキングにいつも入ってるんですよね。

 

僕の視点とは違う記事もあると、すごく読まれるので有り難いなと思ってます。

 

執筆メンバーのチャットルームには、毎朝「前日のPVトップ30の記事」が通知される仕組みがあるんです。

約1,300ある記事のうちの「トップ30」はかなりの人気記事!そして、そのトップ30のうち、5~6記事が執筆メンバーの書いた記事なんですよ!

 

タカハシ
タカハシ

私には無い視点の記事が、皆さんの役に立ってるんですね。「読者にとって良いのが一番」ですからね。

 

やはり、複数人の視点でブログ運営するのは大事だなと感じています。

 

採用理由のとおり、やはりポイントは「複数人の視点」でしたね。

私もよく、自分が会社で遭遇したことを記事ネタにしていますよ。

  • 困ったこと・エラーの解決策
  • 面倒くさい作業を効率化したワザ

特に「困ったことの解決策」はよく読んでいただいて嬉しいです。

 

もり
もり

「誰かの困りごとは、みんなの困りごと」だものね!

 

「さまざまな職種のメンバーが、それぞれの視点でネタを提供する」

それが「いつも隣にITのお仕事」の強みなんだな、と実感しました。

 

 

もり
もり

最後まで読んでいただきありがとうございました!第2部に続くよ!

さて次回は、タカハシさんと、現役メンバーのノグチさん&もりの3名でのトークをお届けしますよ!どうぞお楽しみに!

 

【次回のテーマ】

  • Q.ブログは1日でまとめて書く派?数日に分けて書く派?
  • Q.1記事書くのにどれくらい時間をかけてるの?
  • Q.ブログの下書きってどうやって書いてるの?
  • Q.記事のネタはどうやって選んでるの?

     

    ノンプログラミングでOK!「会計freee連携アドオン」でスプレッドシートにデータを取得する

    $
    0
    0

    こんにちは!ITライターのもり(@moripro3)です!

    クラウド会計ソフトfreeeのAPIを使って経理業務を自動化するネタをお届けしています。

    GAS × freeeAPI・シリーズ1「はじめてのfreeeAPI」では、基本の知識・操作方法を紹介しました。

    • freeeAPIとはなにか、GAS×freeeAPIで何ができるのか
    • GASでfreeeAPIにリクエストを送り、データを取得・更新する方法
    【はじめてのfreeeAPI】GASでリクエストを送りfreeeの事業所情報を更新する
    GoogleAppsScriptでクラウド会計ソフトfreeeのAPIを操作するシリーズ。PUTリクエストでfreeeの事業所情報を更新する方法・PUTリクエストのボディ(JSON)の作り方を紹介しています。

    シリーズ2では実務を想定し、「当日の入金予定を自動でチャットワークに送信するツール」を作ります。このツールでは「GASの強み」を最大限に発揮していきますよ。

    • 時限トリガーによるスクリプトの自動実行
      → freeeAPIの操作を日次で自動実行できる
    • 外部Webサービスとの連携が簡単
      → freeeからのデータ取得はもちろんのこと、他Webサービスとの連携も可能

    こんな「GASの強み」を最大限に活かして、クラウド志向の方にとって夢のコラボである「freee × Chatwork」を実現します。

    シリーズ初回のこの記事では、まずこれらを紹介します。

    • ツールの全体像と成果物(freee×Chatwork)
    • 会計freee連携アドオンの導入方法
    • アドオンでスプレッドシートにデータを取得する方法

    シリーズを通してfreeeAPIを使いこなし、経理業務の自動化を進めていきましょう!

    (この記事はfreee株式会社さまとのコラボ企画です。シリーズを通して、皆さんの働くの価値を上げられるようサポートしていきます!)

    freee×Chatworkのコラボツール

    このシリーズの成果物「当日の入金予定を自動でチャットワークに送信するツール」のイメージがこちらです!

    毎朝チャットワークを開くだけで、当日入金予定の取引一覧を確認できます。

    会計freeeのデータをチャットワークに通知

    このようにチャットワークに通知されれば、「先月のxx会社との取引、今日入金予定だったな」というリマインドになりますね。

    月末など特定日に入金が多い会社・事業者の方は、色々な確認の手間が省けます。うっかりして売掛金の回収漏れ…なんて事態も防げそうですね。

    ツール構成と今回の作成範囲

    このツールは、大きく2つのステップに分けて作成していきます。

    1. freeeからデータを取得してスプレッドシートに書き出す
    2. スプレッドシートのデータを、チャットワーク送信用の文面に加工して送信する

    freeeから取得するデータには2種類あります。

    • 「会計freee連携アドオン」で取得するデータ
    • 「GAS × freeeAPI」で取得するデータ

    下記の図がツールの全体像で、この記事では赤枠部分を作成します。
    「会計freee連携アドオン」を使用して、freeeのデータをスプレッドシートに書き出します。

    freee当日入金データをチャットワークに通知する全体図

    会計freee連携アドオンとは

    会計freee連携アドオン」とは、freeeのデータをスプレッドシートに出力する拡張機能です。プログラミング不要で、かつ、連携するスプレッドシートに直接データを書き出すことが可能です。

    (シリーズ1でfreeeAPI勉強したのに…GAS書かないでデータ取得できちゃうの?)と切ない声が聞こえてきそうですが、もちろん、シリーズを通して「GAS × freeeAPI」も大いに活用しますよ。

    「GAS × freeeAPI」と「会計freee連携アドオン」の特徴を比較してみます。

    GAS × freeeAPIでデータ取得 会計freee連携アドオンでデータ取得
    強み ・freeeAPIで用意されている全てのデータを取得できる
    GASのトリガーを使用して自動実行できる
    プログラミング不要でデータを取得できる
    弱み GASでコードを書く手間がある ・freeeAPIで用意されているデータのうち、一部のデータしか取得できない(限定的)
    ・データを取得する都度、手動でアドオンを実行する必要あり(自動実行は不可)
    向いている処理 GASによる自動実行が可能なので、定期的にデータを取得する場合に向いている 勘定科目マスタ等の変動の少ないデータを取得する場合や、一時的にデータを出力したい場合に向いている

    なるべくラクして成果をあげるために、GASを書かずに済む処理は「会計freee連携アドオン」を使っちゃおう、というわけです。

    シリーズ2では、「会計freee連携アドオン」「GAS×freeeAPI」それぞれの利点を活かしてツールを作っていきます。

    それでは会計freee連携アドオンを導入していきましょう。

    会計freee連携アドオンの導入

    ※途中でGoogleアカウントの認証が求められます。あらかじめGoogleアカウントにログインしておくとスムーズに進みます。

    作業を進めるにあたり、2つの用語が登場するので確認しておきます。

    • アドオン = Googleスプレッドシートから見た場合の呼び方
    • アプリ = freeeから見た場合の呼び方

    アプリとアドオンの説明

    どちらも同じ「会計freee連携アドオン」を指している、と理解して作業を進めていきましょう。

    freeeアプリストアでアプリを検索

    freeeアプリストア」にアクセスします。( “freeeアプリストア” の単語でブラウザからの検索も可能です)

    画面右上の「ログイン」をクリックします。freeeのログイン画面に遷移するので、いつもどおりのfreeeアカウントでログインしましょう。

    freeeアプリストアでログインする

     

    freeeログイン後のアプリストアの画面です(画面上部に事業所名・ユーザ名が表示されます)
    検索バーに「スプレッドシート」と入力して、アプリを検索します。

    freeeアプリストアでアプリを検索する

     

    「Googleスプレッドシート連携アドオン」と表示されている項目を選択します。これが「会計freee連携アドオン」のことです。

    会計freee連携アドオンを選択

    アプリとGoogleスプレッドシートの連携

    アプリとスプレッドシートをつなぎます。「連携」をクリックします。

    アプリとスプレッドシートを連携する

     

    連携先の事業所を確認するダイアログが表示されます(複数事業所を保有している方は、後続の作業で変更可能です)

    アドオンの連携事業所を確認する

     

    Googleストアに自動遷移します。「無料」のボタンをクリックしてアドオンを取得します。

    Googleストアで会計freee連携アドオンを選択

     

    新規のスプレッドシートが自動作成され、ダイアログが登場します。「続行」をクリックします。

    会計freee連携アドオンのアプリの使用を開始

     

    アドオンを連携させるGoogleアカウントを選択します。

    会計freee連携アドオンを連携するGoogleアカウントの選択

     

    「許可」をクリックします。

    会計freee連携アドオンとGoogleアカウントの許可

    アプリ(アドオン)とGoogleスプレッドシートの連携が完了しました。

    アドオンとfreeeの連携

    ここから、アドオンとfreeeをつなぐ作業をします。

    スプレッドシートの「アドオン」タブを開くと、「会計freee連携アドオン」の項目が追加されているのが確認できます。「連携開始」をクリックします。

    会計freee連携アドオンの連携開始

     

    ダイアログが登場します。「許可コードを取得(要ログイン)」をクリックします。

    会計freee連携許可コードを取得

     

    「アプリ連携の開始」画面で、アドオンとfreeeアカウントの連携を許可します。

    アドオン連携の許可

     

    「認可コード」が発行されます。「コピー」をクリックしてクリップボードにコピーします。

    会計freee連携アドオンの認可コードをコピーする

    コピーした認可コードを貼り付けて「連携開始」をクリックします。

    認可コードを貼り付ける

     

    連携する事業所を選択します。複数事業所を保有している方は、選択しましょう。

    会計freee連携アドオンで事業所選択

     

    連携成功のメッセージが表示されたら完了です。

    会計freee連携アドオンの連携成功画面

     

    スプレッドシートの「アドオン」タブ→「会計freee連携アドオン」を開くと、取得できる項目の一覧が表示されます。

    会計freee連携アドオンで使用できる項目一覧

    アドオンでデータを取得する

    それではデータの取得をしてみましょう。

    シリーズで作成するツールは、3つの情報を使用します。

    • ①勘定科目情報
    • ②取引先情報
    • ③品目情報

    会計freee連携アドオンで取得するデータ

    勘定科目情報の取得

    スプレッドシートの「アドオン」タブ→「会計freee連携アドオン」→「勘定科目の取得」を選択します。

    会計freee連携アドオンで勘定科目を取得する

    出力先シートを選択できます。ここでは「新しいシート」に出力してみます。

    会計freee連携アドオン出力先シートの選択

    「データ名+日時」のシートが自動挿入され、その事業所に登録されている勘定科目の一覧を取得できます。

    会計freee連携アドオン勘定科目を取得する

    取引先情報の取得

    同じ要領で「取引先情報」を取得します。

    会計freee連携アドオン取引先の取得

    詳細表示で「住所・銀行情報を含める」か選択できますが、このシリーズでは不要なので「なし」にします。

    取引先の取得・詳細情報なし

    取引先情報を取得できました。

    会計freee連携アドオン取引先情報の取得結果

    品目情報の取得

    最後に品目情報を取得します。

    会計freee連携アドオン品目の取得

    品目情報を取得できました。

    会計freee連携アドオン品目情報

    これら3つの情報を今後のシリーズで使用していきます。

    まとめ・次回予告

    「当日の入金予定を自動でチャットワークに送信する」シリーズの第1回目では、これらを紹介しました。

    • ツールの全体像と成果物(freee×Chatwork)
    • 会計freee連携アドオンとは何か?GAS × freeeAPIとの違いは?
    • アドオンの導入方法と、スプレッドシートへのデータ取得方法

    「会計freee連携アドオン」を使えば、貸借対照表・損益計算書の取得なども可能ですので、ぜひ他のデータ取得も試してみてください。ラクして成果をあげるために、GASを書かずに済む処理であれば、アドオンに頼ってしまいましょう!

    次回は、GAS × freeeAPIで「当日の入金予定一覧」を取得するスクリプトを作成します。

    会計freee×チャットワーク

     

    どうぞお楽しみに!

    Google Cloud Next 2019 in Tokyoとノンプログラマー的な楽しみ方

    $
    0
    0

    Google Cloud Next 2019

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    今年も「Google Cloud Next 2019」に参加してきました。

    今回はなんと19000人も参加申込があったとのことで、ますます盛り上がっております。

    私は毎回ノンプログラマー代表として、G SuiteやGAS関連のセッションを中心に参加しております。

    いつもネタが多すぎて、どれが大事なのかわけわからなくなりがちなのですが、そこをなんとかいくつかまとめておこうということで、記事を書いていこうかなと…頑張ります。

    さて、今回は序章です。

    Google Cloud Next 2019 in Tokyoとは何か、またそのノンプログラマー的な楽しみ方についてお伝えします。

    ちなみに、ノンプログラマー向けのGoogle Cloud Next 2019 ツイートもまとめておりますので、合わせてご覧くださいませ。

    ノンプログラマーのためのGoogle Cloud Next 2019まとめ
    3日間にわたって開催されたGoogle Cloud Next 2019。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

    では、行ってみましょう!

    Google Cloud Next 2019とは何か

    Google Cloud NextはGoogleが主催するクラウドに関するイベントです。

    Google社はもちろん、Google製品を利用するパートナー企業のビジネスリーダーやエキスパートが、最先端のクラウドテクノロジーについて、セッション・ハンズオン・ブース・その他さまざまな方法を通して、学ぶ機会を提供くださいます。

    毎年の傾向として、サンフランシスコでGoogle Cloudが開催されます。

    Join me at Google Cloud Next ’19
    Meet me at Next ’19 for three days of networking, learning, and problem solving. San Francisco, April 9–11, 2019. See what’s in store this year.

    その数カ月後に東京で開催されるのですが、今年もその流れになりました。

    ロンドンでの開催が2019年11月だそうで、東京はそれよりも先なんですね。Googleが日本を大事にしているのがよくわかります。

    Google Cloud Next 2019 in Tokyoの開催概要

    2019年のGoogle Cloud Next 2019 in Tokyoは、7月30日~8月1日の3日間に渡って開催されました。

    驚くのは、会場が東京プリンスホテルとザ・プリンスパークタワー東京の2つの会場で同時に開催されるということ。

    基調講演は、サテライトでつなぎ、ブレイクアウトセッションやハンズオンは二つの会場の複数のルームで同時開催されています。

    二つの会場は徒歩でも10分くらいで移動できますし、シャトルバスが定期的に運行されています。

    本当にビッグイベントですよね…。

    これは前回に引き続きのスタイルで、非常に特徴的です。

    Google Cloud Next 2018とは、またその基調講演で発表されたG Suiteのビッグニュース
    参加してきました「Google Cloud Next 2018」!今回はそのレポート第1弾、Google Cloud Next 2018とは何か、また1日目の基調講演からG Suite関連のニュースをお届けします。

    それに加えて、今年は中間地点の増上寺付近で、Googleおすすめ書籍コーナーがあったり、かき氷・レモネードの支給があったり追加の工夫がなされていました。

    こういう細かいところも面白いっす。

    ノンプログラマーのGoogle Cloud Nextの楽しみ方

    そんなGoogle Cloud Next。

    世界最先端のクラウドテクノロジーについて学べる機会ではあるのですが、ノンプログラマーがちょっとG Suiteが好きだからといって適当に参加すると痛い目を見ます。

    先に言えよ…という話ですが、来年の役に立つかも知れませんので、書き記しておきたいと思います。

    GCPのセッションかG Suiteのセッションかを見極める

    クラウドといっても、Googleが提供する領域は多岐に渡っています。

    主力の領域は、クラウドコンピューティングサービスGoogle Cloud Platform(GCP)と、オフィススイートG Suiteです。

    ノンプログラマー的には、G Suiteのアップデート情報や、それによるワークトランスフォーメーション(まあいわゆる働き方改革)の事例・ノウハウ、GASやApp Makerの事例やハンズオンなどが主に目指すべきトピックとなります。

    「データ分析」とか「セキュリティ」とか「機械学習・AI」とか、キーワードが気になるからと言って、うっかりGCPのゴリゴリのセッションに行ってしまうと、日本語でも英語でもどっちでもいいくらい、意味がわからないと思います。

    なので、どのセッションを申し込むか…実はすごく重要です。

    うまくいきやすいのは「G Suite」とか「Google Apps Script」などのサービス名で選ぶことです。

    「データ分析」は「スプレッドシート」の話なのか「BigQuery」の話なのかで、だいぶ前提として必要な知識が違います。

    知っているサービスを選びましょう。

    なお、基調講演はGCPの話と、G Suiteの話が入り乱れていて、かつ比較的大企業向けのアピールが多いので、中小企業のノンプログラマー的には若干つまらない感じがするかも知れまえんん。

    セッションは素早く申し込む

    G SuiteやGASのセッションやハンズオンは、全体としてもそれほど数は多くなく、そして比較的あっという間に埋まりがちです。

    あと、お弁当が支給される「ランチセッション」も人気で、すぐに埋まってしまいますね。

    毎年、事前にメールで告知いただけるはずなので、きちんとメールを受け取って、早めに(というか全速力で)セッションを申し込めるようにすると良いです。

    少し背伸びしてGCPも意識してみる

    とはいえ、GCPは全く無視しておいて良いというわけではないと考えます。

    今年の発表でも色濃く出ていましたが、スプレッドシートとBigQueryの連携、GASやApp MakerのデータベースとしてのCloud SQLの活用など、G SuiteとGCPの連携のパターンは増えていますし、Googleもそこを後押ししているように感じます。

    GCPの中でも比較的ビジネスサイドに近い部分についての知識や使う能力を持っておくのは、間違いなく有利になっていくはずです。

    なので、手が届きそうなセッションやハンズオンがあれば、チャレンジして参加してみるのも良いかも知れません。

    暑さ対策・寒さ対策を

    今年も猛暑の中、開催されました。

    二つの会場を移動するので、セッションの申込状況によっては、猛暑の中、何往復もしなくてはなりません。

    暑さについては対策が少ないですが、水分をしっかり…!

    あと、逆に会場のエアコンが効きすぎて寒いということがあります。

    だいぶ汗をかいてからの急冷はかなり身体にこたえますので、カーディガン的な一枚を持っておくと良いです。

    バッテリー・電波対策を

    朝9時くらいから、場合によっては夜までステキなセッションが続きます。

    携帯やPCのバッテリー…まず持たないんですよ。

    会場の何箇所かに充電ステーションはあるのですが、ほとんど満席でなかなか使えません。

    なので、できれば予備のバッテリーを持ち歩きたいです。

    ちなみに、私はWindowsとMacBookの2台持ちで乗り越えました。

    あと、Wifiは飛んでいませんので、自前の通信が必要なのですが、モバイルWifiはやめてくれ…とのアナウンスも。

    スマホのテザリング頼みになりました。

    まとめ

    てか、何の話だという感じかも知れませんが、Google Cloud Next 2019 in Tokyoとは何か、またそのノンプログラマー的な楽しみ方についてお伝えしました。

    後半にお伝えした情報はなんだコレと思われたかも知れませんが、来年のイベントがどうなるかによりますが、近い内容であればぜひご参考にどうぞ。

    今回は、序章でしたが、次回以降でGoogle Cloud Nextのレポートをきちんとしていきますよ。

    どうぞお楽しみに!

    ブログ100万PV達成記念スペシャル第2部・ブログ執筆の裏話を公開しちゃいます!

    $
    0
    0

     

    もり
    もり

    みなさんこんにちは!執筆メンバーのもり(@moripro3)です!

     

    2015年2月に開設した「いつも隣にITのお仕事」、おかげさまで、今年の7月で100万PVを達成しました!!

    達成記念スペシャルを2部構成でお届けしています!今回はその第2部をお届けしますよ!

    第1部がコチラ!

    ブログ100万PV達成記念スペシャル!普段は聞けない?執筆メンバーのマル秘トーーク!
    2015年2月に開設した当ブログ、おかげさまで100万PVを達成しました!100万PV達成記念企画!執筆メンバーによるマル秘トークをお届けします。隣ITで執筆してみてどんな成長があった?

     

    このブログは、代表のタカハシさんと数名の執筆メンバーで記事を書いています。

    執筆メンバーとは、株式会社プランノーツのひとり社長・当ブログ管理人のタカハシさんのお手伝いをするパートナーのことです。

    パートナーには、ディレクション・開発・研修講師等の職種があり、これらのお仕事と併せてブログ執筆もしています。

    【副業&在宅OKパートナー募集!】お仕事をしながらITと記事執筆のスキルアップも
    プランノーツでは一緒にお仕事をして下さるパートナー様を募集しています。 Excel・VBA、Google AppsなどのITと記事執筆スキルを磨きながら、空いた時間を使って収入を得ることができます。

     

    現在の執筆メンバーは、2016年から執筆してるノグチさんと、私もりの2名です。

     

    ノグチ
    ノグチ

    こんにちは、執筆メンバーのノグチです!

    第2部も引き続きよろしくお願いします!

     

    もり
    もり

    それでは第2部始まるよ!テーマはこちら!

     

    • Q.1記事書くのにどれくらい時間をかけてるの?
    • Q.ブログは1日でまとめて書く派?数日に分けて書く派?
    • Q.ブログの下書きは何で(どうやって)書いてるの?
    • Q.記事のネタはどうやって選んでるの?

     

    家でひとりもくもくとパソコンに向かっていると、「他のブロガー・ライターさんはみんなどうしてるんだろう・・・」って気になりますよね。

    ブログ執筆の裏話を、私もりがお届けしていきますよ~!

    Q.1記事書くのにどれくらい時間をかけてるの?

    みなさん、1つの記事を書くのにどれくらい時間をかけてますか?

    • 決めた時間の中で書き上げる
    • 納得のいくまで何時間でもかける

    時間の使い方は人それぞれですね。

    さて、隣ITのメンバーはどうでしょうか。まずノグチさんから聞いてみましょう!

     

    ノグチ
    ノグチ

    今は、順調だと1記事2~3時間くらいです。

    でも、しんどい時は、数日悩んだりしてましたね~(笑)話の流れ、構成を考えるのに時間がかかりますよね。

     

    もり
    もり

    たしかに、書くネタによって時間は変わりますよね。

     

    私は1記事2~8時間くらいです。ネタによりけりですが、だいたいこんな感じです。

    • 既知のネタ(会社で使ってるExcelの効率ワザ・エラー対処法など) → 2~4時間
    • 新しい分野で、一から調査が必要なネタ → 6~8時間

    新しい分野のネタだと、まずプログラムを書いて動かしたり、いろいろ検証する時間がかかりますからね。

    さて、2015年からブログを書いてるタカハシさんはどうでしょうか?

     

    タカハシ
    タカハシ

    私は1記事あたり平均2時間です。順調だと1時間半、難しいネタだと3時間くらいですね。

     

    これまで1,000記事以上を書いてるタカハシさん、流れる筆のごとく光の速さで書き上げちゃうのかと思いきや、今でも、しっかり時間をかけて書いてるんですね。

    【コラム1】考える時間:書く時間の割合は?

    「記事を書く」と一口にいっても、その作業を分解すると「考える」「書く」に分けられます。

    • ①考える時間(記事構成を考える時間)
    • ②書く時間(パソコンに文字を入力する時間)

    私の場合、①と②の比率は3:1くらいです。考える時間のほうが長くて、パソコンで文字を入力してる時間は短めです。

    料理で例えると、こんなイメージです。

    • 考える時間 = 調理の時間
    • 書く時間 = 盛り付けの時間

    料理は、材料集め・加工・調理の時間の方が圧倒的に長くて、「お皿に盛り付ける」作業って、ほぼ最後の工程ですよね。

    「お皿に盛り付ける」くらいなら一瞬で終わるじゃないか?って思いますが、ここでもかなり神経を使うのです。

    レストランでお客さんが見るのは「お皿に乗ってる料理」だけです。シェフがどんなに苦労して美味しい料理を作っても、盛り付けが汚いと、せっかくの料理がマズそうに見えちゃいますよね。

    ブログも同じで、どんなに良いネタを仕込んでも、見せ方が悪いと伝わらないのです。

    【コラム2】ネタを仕込むのも大変なのです

     

    タカハシ
    タカハシ

    記事を書くためには「ネタを仕込む時間」がかかります。そのネタを、読者のみなさんに提供する価値があるか、検証の時間も必要ですからね。

     

    もり
    もり

    たしかに、「ネタの仕込み」って大変ですよね。

     

    例えば、「こんなツールを紹介したら良いかな」と思っても、そもそも「実現可能か?」を調査するためにコードを書いて検証する時間が必要です。

    実現可能か?を調べるのももちろん、「書く」作業に至るまでにはこれらの時間が必要になるんですね。

    • ネタを仕込む(コードを書いて動作検証する)
    • 構成を考える(導入・見出し・記事のゴール)
    • 画面キャプチャをとる(強調線・説明を書き込む)

    そんなわけで、WordPressの投稿画面に文字を打ち込んでいる時間より、その前段階の時間が圧倒的に長くなっちゃうのです。

    Q.ブログは1日でまとめて書く派?数日に分けて書く派?

    続いてのお題はこちら!

     

    もり
    もり

    みんな、1つの記事って1日でまとめて書いてるのかなぁ??

     

    記事の書き方・ペースってひとそれぞれですよね。1つの記事をどんな風に書くか、これは性格が現れるんじゃないでしょうか。

    たとえば、1記事を書くのに3時間かかる場合、こんな2パターンが考えられますね。

    • 一気に書き上げてそのまま公開する(1日3時間)
    • 何日かに分けて書く(1時間×3日)

     

    まずはタカハシさんに聞いてみましょう。

     

    タカハシ
    タカハシ

    僕は、1日で書き上げます。毎日夜21時からがブログの時間なので、そこで1本書いて、翌朝の公開予約までしちゃいますね。

     

    もり
    もり

    なるほど~!夜のスケジュールに組み込んでるんですね!

     

    タカハシ
    タカハシ

    そうっすね、夜に仕事の予定がある日以外は、「ブログの時間」って固定してます。

     

    もり
    もり

    (さすがストイック・・・)

     

    さて、ノグチさんはいかがでしょうか?

     

    ノグチ
    ノグチ

    私は、書いた記事をいったん置いて、1~2日後に読み返します。

    どこかおかしい箇所があるはずだなという前提で、忘れた頃に一から読み直して修正します。

     

    もり
    もり

    お~、私もノグチさんと同じです!

     

    私は「1日あたり約1時間 × 数日」に分けて書いています。

    1日にまとめて書くと、その日の気分に左右されちゃうことがあるんですね。次の日に読み返すと「あれ?私なんでこんなこと書いてるんだ?」って思ったりして・・・

     

    もり
    もり

    勢いで一気に書くと「真夜中に書いたラブレター」みたいなアツい記事になっちゃいません?

     

    タカハシ
    タカハシ

    ・・・。いや、僕は無いっすね(笑)

     

    もり
    もり

    そうですか・・・(さすがスーパードライや)

     

    これは人それぞれのようですね(笑)

    私は、「数日に分けて書く・推敲を繰り返す」ことで、いつ読んでも違和感のない、安定した記事になるな、という発見をしました。

    ひとつの記事を集中して書き続けると、頭の中がそのネタのモードに入ってしまうんですね。

    そうすると、伝えるべき「前提知識」をすっ飛ばして文章を書いちゃうので、あえて、時間をおいて頭を空っぽにした状態で一から読み直すことで「あれ?ここ説明飛んでる・・・」と違和感に気がつくんです。

     

    「一日にまとめて書く or 何日かに分けて書く」、これは人それぞれですね。

    ブログの書き型(書き方)に正解はありません!たくさん書いて、試行錯誤して、「自分だけの正解」を見つけてくださいね!

    Q.ブログの下書きって何で(どうやって)書いてるの?

    当ブログは、ブロガーさんにはおなじみの「WordPress」で運営しています。

    下書きの作成方法もそれぞれスタイルがありますよね。

    • WordPressの投稿画面に直接入力する
    • 別のエディタに書いた文章をWordPressに貼り付ける

    たとえば、ネット環境のない場所でも書けるよう、別のエディタを使ってるブロガーさんもいると思います。

    さてさて、執筆メンバーどのように作業してるのでしょうか。聞いてみましょう!

    ちなみに私もりはWordPressの投稿画面に直接入力する派ですよ。

     

    ノグチ
    ノグチ

    私はEvernoteで下書きしてます!

     

    タカハシ
    タカハシ

    僕はGoogleドキュメントですね。シリーズ記事の場合、ひとつのドキュメントに全体の流れを書いて、どこで分割するか決めてます。

     

    もり
    もり

    なるほど!先にゴールまで作ってるんですね。

     

    隣ITの記事では、2つのパターンがあります。

    • 1記事完結型
    • シリーズ(連載)型

    たとえば最近のシリーズ記事だと「App Makerでスプレッドシートをベースにモデルを作成する方法」があります。合計18本の記事で構成されています。

     

    タカハシ
    タカハシ

    シリーズの1記事目を書き始める前に、最終成果物(コード)を先に作って、そのゴールに向かって順を追って解説するようにしています。

     

    最初にゴールが見えてないと、途中で迷子になってしまいそうですからね。長期連載の記事を書く方にはオススメの方法です。

    Q.記事のネタはどうやって選んでるの?

    最後のテーマ!ブロガー・ライターのみなさんが最も気になるところではないでしょうか?

    隣ITでは、代表のタカハシさんはもちろんのこと、執筆メンバーも「メンバー自身からネタを提供する」スタイルなんです。

    私は、現在会社員(事務職)なので、「会社の仕事で自分や同僚が困っていること」をよくネタにしていますよ。

    例えばこの記事、会社で、隣の席の同僚がボヤいていた内容です。

    エクセルファイルの不要な更新を防ぎたい!読み取り専用を推奨する・書き込みパスワードを設定する

     

    もり
    もり

    ブログを書き始めてから、会社で質問を受けたり・エラーに遭遇すると「よし!またネタゲットしたぞー!」ってテンション上がるんだよね!

     

    さて、2016年から執筆してるベテランのノグチさん、今でもネタ切れすることなく順調ですね。どのようにネタを考えているのでしょうか?

     

    ノグチ
    ノグチ

    会社員時代に自分が困ったことや、こうしたらラクなのになぁと思った経験をネタにしてますよ。

    今でも書きたいネタがありすぎて・・・。時間が欲しいです(笑)

     

     

    もり
    もり

    おおお・・・すごいですね。ノグチさん、どこからあんなにネタが出てくるのか不思議に思ってましたよ。

     

    このブログは、ノンプログラマーの会社員向けに「IT×仕事」のテーマでお届けしているので、「等身大の会社員の経験」は非常に大事だなと感じています。

    例えば、過去の執筆メンバーが書いたこちらの記事、当ブログの人気ランキング・ベスト3に入っています。会社でExcelを使っている人なら誰もが遭遇したことのあるエラーではないでしょうか?

    Excelのリンクエラーに負けるな!更新出来ないリンク元の探し方と解除の方法

    かくいう私自身も、タカハシさんに出会うよりも前に、この記事に出会いました。

    会社でExcelのリンクエラーに遭遇して、ネット検索して、この記事に助けてもらったのをよく覚えています。

     

    もり
    もり

    隣ITで執筆を始めてから、(あっ、この記事見覚えある!)って驚いたよ。

     

    さて、ちょっと脱線しましたね。本題に戻りましょう。

    2015年から1,000記事超を書いているタカハシさん、いつもどんなことを考えながら記事ネタを選んでるんでしょうか?

     

    タカハシ
    タカハシ

    ノンプログラマーのみなさんに歩んでほしい「方向性」を常に探してネタを選んでますよ。

     

    もり
    もり

    「方向性」ですか?詳しく教えてください!

     

    タカハシ
    タカハシ

    ブログ開設当初はVBAの記事を中心に書いてたんですけど、クラウド志向のGASも知っておいたほうが良いだろうなと思って、GASのネタも始めました。

     

    私もタカハシさんの影響もあり、VBA→GASの流れで勉強しましたよ。2言語以上操れると事務職として強いなと感じてます!

     

    タカハシ
    タカハシ

    それで、GASの次はPythonとか、Web系のHTML/CSS/JavaScriptに進むと良いと思っています。

    IT化が進んでる時代なので、どうすれば、ノンプログラマーが本職の技術者に近いくらいにたどりつけるかと考えてます。

     

    もり
    もり

    ノンプログラマーにとっては、かなり難易度の高いレベルまで踏み込んでますよね。

     

    タカハシ
    タカハシ

    たしかに、学習コストは上がりますね。

     

    ただ、事務職のキャリアアップを考えると、VBAができるだけよりも、GAS×Vue.js・Python・GCP等もさわれた方が、これからの時代、特にWeb系の会社などでは有利だと考えています。

     

    タカハシさん、ノンプログラマーの将来を見据えて記事選定をしてるんですね。

     

    昔は「プログラミング」といえばエンジニア・プログラマという職業の人のみが操る専門技術のイメージでした。

    ここ最近では、非エンジニアの一般会社員でも、仕事効率化の「手段」として、プログラミングをする時代になってきました。来年からは義務教育でプログラミングの授業が必修化されますしね。

    近い将来、「VBAができる」だけでは差別化にならない時が来ると、私は想像しています。

    そんな将来を見据えて、ノンプログラマーでも、GAS、Vue、Python、GCPなどの一歩先を学んでおくべきなんでしょうね。

     

    「いつも隣にITのお仕事」では、ノンプログラマーのみなさんの未来を応援するため、働く価値を上げることを考えて、ネタ選定をしていますよ。

    • 執筆メンバーによる、会社員目線での等身大のネタ
    • これからのIT時代を生きるために、ノンプログラマーが歩むべき方向性

     

    100万PV達成記念スペシャル・第2部をお届けしました!

     

    ノグチ
    ノグチ

    みなさま、お読みいただきありがとうございました!

     

    タカハシ
    タカハシ

    これからも、みなさんの『働く』の価値を上げるネタをお届けしていきます!応援よろしくお願いします!

     

    マネーフォワード会社設立ユーザー会「起業家SHIP」でパネラーとして参加してきました

    $
    0
    0

    マネーフォワード会社設立ユーザー会「起業家SHIP」

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    先日、2019/8/5に開催されました『マネーフォワード会社設立ユーザー会「起業家SHIP」』というイベントに参加してきました。

    会社設立のユーザー会なので、参加者は主に起業家さん方とそれを支える税理士さん方、カテゴリとしてはすごく面白いですよね…!

    そして、なんとありがたいことに、今回タカハシは先輩起業家としてパネルディスカッションのパネラーとして登壇させていただきました。

    この記事では、起業家SHIPがどういうイベントなのか、そして記念すべき初回イベントのレポートをお送りしたいと思います。

    では、行ってみましょう!

    マネーフォワード会社設立とは

    まずは、マネーフォワード会社設立から紹介しましょう。

    会社を設立する際には、定款の作成や当期書類の作成、印鑑の準備…などなど、本当にさまざまな「雑務」が必要です。

    直接、お客様に価値を与える業務ではないので、あえて「雑務」と言わせてもらいましょう。

    それで、マネーフォワード会社設立は、そのような会社設立の手続きに必要な書類を、Web上で無料で作成できるサービスです。

    マネーフォワード、会社設立に必要な書類を無料で作成できる『MFクラウドの自分で会社設立』を提供開始
    コストと手間を最小限に抑えて自分自身で会社設立ができる株式会社マネーフォワード(本社:東京都港区、代表取締役社長CEO: 辻庸介、以下「当社」)は、会社設立に必要な書類を無料で作成できる新サービス『MFク…

    もともと、他社サービスではfreee会社設立と、Bizer(こちらは残念ながらサービス終了しています)などがありましたが、マネーフォワードからも提供されることになり、おかげで会社設立がぐっと楽になりますね。

    マネーフォワード会社設立ユーザー会「起業家SHIP」とは

    そして、今回参加させていただいたイベント「起業家SHIP」

    冒頭に、株式会社マネーフォワードの亀井翔吾さんから、イベントの主旨についてお話がありました。

    立ち位置としては、マネーフォワード会社設立のユーザー会ではありますが、そのユーザーは起業家、もしくは起業を目指す方となります。

    そして、起業家というと強そうに見えますが、「起業時点は相談相手がいない」という悩みがある…と。

    それで、そのような悩みをお互いに持ち合って、答えを見つけ出せる場をつくりたいということで、ユーザー会設立にいたったとのこと。

    「SHIP」という単語には

    起業家同士、さまざまな困難を共に乗り越え、語り合える、オープンで平等な船

    という意味が込められているそうです。

    で、タカハシがなぜ呼んでいただけたかというと、過去マネーフォワード資金調達のインタビューをお受けしたことがあり、その繋がりで今回のご依頼にいたったと。

    マネーフォワード クラウド資金調達を実際に利用してみて、資金調達の選択肢が広がりました - 「マネーフォワード クラウド資金調達」導入事例
    実際にマネーフォワード クラウド資金調達を利用して資金調達することができました。 当社は、中小企業・個人事業主に対して業務系システムの開発・クラウドサービスの導入支援・コンサルティングを行っております。当社でも実際にマネーフォワードのマネーフォワード クラウドを導入し、利用をさせていただいております。 その関連で、マネ...

    ありがたいことです。

    マネーフォワード辻社長による起業時の話

    株式会社マネーフォワード代表取締役社長CEO辻庸介さん

    正直、参加して超ラッキーだったのが、なんとマネーフォワードの辻庸介社長の起業時のお話が聴けたこと。

    短い時間ではありましたが、たいへん勉強になりました。

    起業時、恵比寿の小さなマンションで「MoneyBook」というサービスを立ち上げられたんだそうです。

    弊社はひとりなのであまりその悩みはありませんが、一般的にサービス作りで困るのは「仲間集め」。

    辻さんの場合は、「週末だけでいいから」と少しだけでも手伝ってもらって、やっていくうちに熱量が上がってコミット度が高まっていくみたいな作成(?)を取られていたそうです。

    ただ、ユーザー数が10人とか15人くらいから伸びず、しかも半分以上は知り合いがユーザー…ということで、税理士さんに相談しました。

    辻さん「もうダメですかね…?」

    税理士さん「辻さん、会社はつぶれないんですよ。給料をゼロにすればつぶれないんですよ」

    このやり取りから、「会社を続けるかどうかを決めるのは『意志』だ」と思い直して、その暗闇を突破されました。

    …いい言葉ですね(涙

    そんな崖っぷちを乗り越えた辻さんは、マネーフォワードを立ち上げ、2017年には上場、そして現在は600人の従業員数を誇る大企業になったとのお話です。

    儲かる企業と儲からない企業

    続いて、起業家を支援する立場である税理士さんを代表してたちばな税理士事務所の渡邉義隆先生から「儲かる企業と儲からない企業」というタイトルでお話をいただきました。

    まず、「儲け」の定義なんですが、皆さんはどう定義されますか?

    税理士さんの立場からすると、「利益」は比較的調整可能で、創業時は赤字になることも多いので、一般的には「売上」を「儲け」の指標とするそうです。

    なるほどです。(弊社はちょっと違う指標を置いてますが)

    それで、その儲けが出る起業の特徴を2つ教えてくださいました。

    1. 応援してくれる「ヒト」がいる
    2. お金の管理ができている

    応援してくれる人は「お客様」(とくにリピートやご紹介をいただける)はもちろんですが、商売仲間や学び合える「パートナー」、そして社内や税理士さんを含める身内である「メンバー」の3方。

    それで、それらの皆さんから応援してもらうためには、「思いを言葉にすること」が重要とのことです。

    弊社でいうとブログっすね、ブログ。超大事。

    他にも直接でも、SNSでも発表、発信の場はありますからね。

    お金の管理については、信頼できるプロ、つまり税理士さんに任せようという話です。

    私もそう思います。専門でもないですから、餅は餅屋ですね。

    パネルディスカッションに参加しました

    さて、いよいよパネルディスカッションの時間です。

    パネラーの皆さんはこちら。

    です。

    そして、モデレーターは株式会社マネーフォワードの山本華佳さん。

    起業家先輩と税理士さんから、起業の失敗例、成功例、そしてアドバイスをいただこうという企画でございます。

    失敗例に関しては、お金と人の話が多かったですかね。

    キャッシュが尽きてしまったとか、会社が潰れてしまったとか、そういう結果を引き起こしたトリガーとして信頼していた方に騙された…みたいのが多いように思いました。

    任せっきりにせずに、興味を持って知るというのは大事ですね。

    アドバイスとしては、皆さん口を揃えて「起業準備」と「資金繰り」とおっしゃられていました。

    ほんとそっす。

    弊社なんて、金融公庫から借り入れしましたが半年分しか運転資金がない上に、約束していた顧客から2件もドタキャン食らい…結局2回ほど死にそうになりました。

    今でいうと、マネーフォワード資金調達という手段があるので、これは絶対にやっといたほうがいいですね。

    正直パネルディスカッションは、登壇側だったので、ぜひ参加者側からのレポートが…ほしいっす!

    まとめ

    そんなわけで、マネーフォワード会社設立ユーザー会「起業家SHIP」に参加してきました!

    私は、起業して4年も経っているので、今後ユーザーとして積極的に関わっていくべきかは微妙ではありますが、とても良い主旨の場だと思うので、ぜひ続けていっていただきたいと思います。(上から目線で恐縮です…)

    ツイートももうちょっと盛り上がるといいですね…運営の皆さん、応援しております!

    マネーフォワード会社設立ユーザー会「起業家SHIP」
    「マネーフォワード会社設立」のユーザー会「起業家SHIP」の記念すべき第1回のイベントが開催されました!

    以上、レポートでした!

    Google Cloud Next ’19 Tokyoで発表されたG Suiteプロダクトアップデートまとめ

    $
    0
    0

    G Suite プロダクト アップデート 〜最新機能のご紹介と今後の方向性について

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    今年の「Google Cloud Next 2019」の参加レポートをシリーズでお送りしております。

    前回の記事はこちら。

    Google Cloud Next 2019 in Tokyoとノンプログラマー的な楽しみ方
    Google Cloud Next 2019に参加してきました。今回は、導入編としてGoogle Cloud Next 2019 in Tokyoとは何か、またそのノンプログラマー的な楽しみ方についてお伝えします。

    ノンプログラマーのためのGoogle Cloud Nextの概要とその楽しみ方について解説しました。

    今回は、数々のセッションの中から「G Suite プロダクト アップデート 〜最新機能のご紹介と今後の方向性について」のレポートをします。

    ノンプログラマーは知っておくべきやつですね!

    ちなみに、ノンプログラマー向けのGoogle Cloud Next 2019 ツイートもまとめておりますので、合わせてご覧くださいませ。

    ノンプログラマーのためのGoogle Cloud Next 2019まとめ
    3日間にわたって開催されたGoogle Cloud Next 2019。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

    では、行ってみましょう!

    今のG Suiteとその役割

    前半はG Suite プロダクトマーケティングリードのアンドリュー・スティルマンさんから、G Suiteの概要について、またG Suiteが変化の時代に技術的・文化的に組織を適用するためにどのようなアップデートを行っているか、というお話をいただきました。

    今は、環境が急激に変化する時代です。

    ファイルを個人が持っていてEmailでいちいちやり取りをしたり、業務について知っていて担当をするのがただ1人だけだったり、そういう状況では、その環境の変化についていけないわけです。

    つまり、使用しているツールが環境変化に対応できない阻害要因になってしまう可能性があります。

    G Suiteはそのような課題がある中、チームを

    1. より速く
    2. スマートに
    3. コレボレーティブに

    することで、その仕事の進め方を一新することを目指していくというもので、今回発表された様々なアップデートもそれを加速するものです。

    そして今、現在月間アクティブユーザー数は15億人、500万社が利用しています。

    G Suiteの機能面の主なアップデート

    G Suiteアドオン

    調べによると、私たちは平均36のサービスを使って業務を進めているそうです。

    つまり、それらのサービスについて切り替えを常にしながら、業務を進めていて、それがスピードにブレーキをかけているというものです。

    さて、現在G Suiteの各アプリケーションでは右側のサイドパネルから「カレンダー」「Keep」「タスク」にアクセスできることはご存知でしょうか?

    今回の発表では、「それ」をサードパーティ向けにG Suiteアドオンとして公開したというものです。

    今後、SalesForce、SAP、DocuSignといったサードパーティのサービスの操作をこのサイドパネルからアクセスできるようになるとのこと。

    現在、G Suiteアドオンはβ版を提供しているので、使用希望の場合は以下から登録することで使用することができます。

    G Suite – Gmail, Drive, Docs and More
    Do your best work with Google’s suite of intelligent apps (formerly Google Apps). Get business email, video conferencing, online storage and file sharing.

    コネクテッドシート

    コネクテッドシートは、スプレッドシートの新たな機能です。

    BigQueryに蓄積された100億行までのデータを、SQLなどを使用せずにスプレッドシートで操作できるようにするという機能です。

    …超強力です。

    BigQueryに接続して、サイドバーで操作をしながら

    • 数式
    • ピボットテーブル
    • グラフ

    などの形で取り出して、参照・解析ができます。

    超強力です。

    β版が提供ホヤホヤなので、以下から登録して使用することができます。

    G Suite – Gmail, Drive, Docs and More
    Do your best work with Google’s suite of intelligent apps (formerly Google Apps). Get business email, video conferencing, online storage and file sharing.

    Officeファイルの直接操作・編集

    これが最も多くのビジネスパーソンに影響があると思います。

    なんと、Excel、Word、PowerPointのファイルが、それぞれスプレッドシート、ドキュメント、スライドで直接操作、編集ができるようになったというものです。

    以前は、「変換」という作業をして、各Googleアプリケーションのファイルに変換しないといけなかったのですが、それが不要となりました。

    Officeアプリケーションがなくても、それらのファイル形式のファイルを編集するだけなく、共有でき、共同編集でき、バージョン管理でき、コメントできるわけです。

    超強力です。

    この機能は、もう既に一般公開されていますので、誰でも利用できます。実は、G Suiteユーザーだけでなく、無料のGoogleアカウントユーザーでも使用可能です。

    ハングアウトMeetのアップデート

    ハングアウトMeetの機能強化については、以下のような発表がありました。

    • 会議に参加できる人数を最大で250人に引き上げる
    • 最大で10万人が視聴できるライブストリーミング機能

    つまり、配信であれば組織の外部のユーザーにも届けられるようになります。

    完全にZ社さんを意識しているように見えますが、いかがでしょうか…?

    今後の予定ということなので、期待して続報を待ちましょう。

    ハングアウトChatのアップデート

    ハングアウトChatのアップデートについてもいくつかがありました。

    一つは、Gmailの画面上で利用できるようになるというものです。

    以前のハングアウトに戻った感じですが、ルームを開くとフルスクリーン表示にできるそうです。

    もう一つのビッグなニュースがゲストアクセスです。

    組織外のユーザーとやり取りができるようになります。外部のユーザーには「外部」と表示されるようです。

    …これ、早く対応してほしかった…

    これに加えて、今後来る可能性のある機械学習系の機能や、Apps Scriptによるカスタマイズが実現できれば…かなりまくれる可能性があるように思います。

    現在、ベータ版が公開されているので、以下から登録が可能です。

    G Suite – Gmail, Drive, Docs and More
    Do your best work with Google’s suite of intelligent apps (formerly Google Apps). Get business email, video conferencing, online storage and file sharing.

    セキュリティ関連のアップデート

    後半はセキュリティに関するアップデートについて、Google Cloudのリード・ナドカルニさんからお話いただきました。

    Googleは今、インターネットトラフィックの1/4に関わっていて、毎分1000万本のスパムメールを阻止しているそうです。

    もう…想像できないですが…汗

    Access Transparency

    Access TransparencyはG Suiteユーザーが、Googleスタッフのサポート対応による行動の記録とその行動をした理由をチェックできるようになるというものです。

    これにより、Googleのデータアクセス等に関して正当な理由があることを確認できたり、監査にも利用できるというものです。

    この機能は一般提供が開始されています。

    セキュリティセンターのためのコラボレーション

    G Suiteでのコラボレーションの体験を、管理者チームでのコラボレーション体験にも入れていこうというものです。

    セキュリティに関して何らかのしきい値を指定してアラートを自動化、または対処ルールを作成することができ、さらにその調査内容についての共有やバージョン管理ができるようになります。

    こちらも、ベータ版が公開されていますので、以下から登録が可能です。

    G Suite – Gmail, Drive, Docs and More
    Do your best work with Google’s suite of intelligent apps (formerly Google Apps). Get business email, video conferencing, online storage and file sharing.

    まとめ

    以上、Google Cloud Next ’19 Tokyoで発表されたG Suite プロダクト アップデートについてお伝えしました。

    たくさんありましたね。

    まず、直接大きな影響があるのは、Officeファイルの直接編集でしょうか。かなり使えるはずです。

    あと、ハングアウトMeetのライブと、ハングアウトChatの外部開放が、個人的にはかなり待たれますね。

    G Suiteアドオンほか、ベータ提供の機能も触ってみようと思います。

    さて、まだ他に良いセッションがありましたので、ぜひレポートをしていきますね。

    どうぞお楽しみに!

    連載目次:ノンプログラマーのための「Google Cloud Next '19 in Tokyo」まとめ

    2019/07/30~2019/08/01の3日間にかけて行われましたGoogleの最新のクラウドを体験できるイベント「Google Cloud Next 2019 in Tokyo」。その中から、ノンプログラマー向けにおすすめ情報をレポートしていきます。
    1. Google Cloud Next 2019 in Tokyoとノンプログラマー的な楽しみ方
    2. Google Cloud Next ’19 Tokyoで発表されたG Suiteプロダクトアップデートまとめ

    ベンダーと協力し学び合いながら開発を進める「アジャイル開発」で得られる価値とは

    $
    0
    0

    Google Cloudでデジタル変革を成功させるためにすべき3つのこと
    010 Google Cloudでデジタル変革を成功させるためにすべき3つのこと

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    今年の「Google Cloud Next 2019」に参加レポートをシリーズでまとめております。

    前回の記事はこちら。

    Google Cloud Next '19 Tokyoで発表されたG Suiteプロダクトアップデートまとめ
    Google Cloud Next 2019の参加レポートをシリーズでお送りしております。今回は「G Suite プロダクト アップデート 〜最新機能のご紹介と今後の方向性について」のレポートです。

    G Suiteの最新のプロダクトアップデートについてまとめました。

    今回は、話はかわって「開発」についてです。

    G Suite+GAS、GCPの開発を得意とされていて、「アジャイル開発」を強く推し進める株式会社永和システムマネジメントさん。

    「We Love GAS」のキャッチフレーズでも有名ですね。

    なぜ、アジャイル開発を強く推し進めているのか、「Google Cloudででデジタル変革を成功させるためにすべき3つのこと」からお伝えします。

    ちなみに、ノンプログラマー向けのGoogle Cloud Next 2019 ツイートもまとめておりますので、合わせてご覧くださいませ。

    ノンプログラマーのためのGoogle Cloud Next 2019まとめ
    3日間にわたって開催されたGoogle Cloud Next 2019。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

    では、行ってみましょう!

    アジャイル開発とは何か

    従来のウォーターフォール開発の問題点

    皆さんが経営者だとして、何か必要なITシステムを作ろうと思ったとき、どのようなアクションをとられますか?

    多くの場合は、外部の開発会社に要件を伝えて、見積をしてもらって、稟議を通して、開発してもらって、目的のITシステムを納品をしてもらう…こんな流れをとることと思います。

    このような開発の進め方を「ウォーターフォール開発」といいます。

    株式会社永和システムマネジメントの代表取締役社長平鍋健児さんは、この従来から進められてきた開発の進め方に、いくつかの問題点があると指摘されます。

    つまりこうです。

    • 固めている間にニーズが変わってしまう
    • 多重下請けによる壮大な伝言ゲーム

    変化の速い今の時代。全部決めてから、開発をするという流れでは、その最中にニーズが変わってしまい、対応ができなくなるというリスクがあります。

    アジャイル開発とその進め方

    もう一つ、受注した開発会社が、開発リソースを確保できない場合、さらに下請けに投げてしまうという業界的な構造問題もあります。

    結果的に、コミュニケーションコストが増える上で、正確にそのコミュニケーションがなされないという問題が出てきます。

    そこで生まれた、開発の進め方でが「アジャイル開発」です。

    デジタル大辞林によると、「アジャイル」というのは以下のような意味があります。

    アジャイル(agile) [名・形動]俊敏であるさま。機敏な。敏捷な。

    まず、エンジニアと顧客で数人による共同開発チームを作ります。

    その上で、小さい開発範囲、短い開発期間に区切って、その範囲についてリリースを行い、それをもって次のアクションを共同開発チームで決めて進めていくという手法です。

    アジャイル開発のメリットはベンダー側には大きくありそうですが、顧客側でいうと全体の成果物が見えづらい、予算感もつかみづらい…とデメリットも目立ちそうです。

    とはいえ、平鍋さんによると、アジャイル開発とその価値が受け入れられ、今や永和システムマネジメントさんの半分くらいになってきている…とのこと。

    その理由は何でしょうか?

    そのヒントは、「発注・受託」から、一緒に手を動かしながら考える「共創・共育」へとシフトすることにあるそうです。

    アジャイル開発の価値とは?

    後半は、同じく永和システムマネジメントのディレクター岡島幸男さんにバトンタッチして、アジャイル開発がどう進められるか、またその価値について説明いただきました。

    永和システムマネジメントさんの本社は福井にありますが、そこにアジャイル開発拠点「アジャイルスタジオ福井」があります。

    そこでは、同じディスプレイを見ながら開発をする「モブプログラミング」や「振り返り(レトロスペクティブ)」を行いますが、それをお客様と一緒にやるという仕組みです。

    これを「仕事を丸投げしない」「同じ釜の飯を食う」と、このような表現をされていらっしゃいましたが、まさにそれです!

    一緒にチームとして、頻繁にコミュニケーションをとることで、共通理解を深め、創発性を刺激する…そこに、アジャイル開発の価値があります。

    プラス、顧客としてはプログラミングスキルを磨き、開発の内製化のきっかけ作りにもなるという価値を見逃してはいけません。

    G Suite+GASからはじめる共育

    そのようなアジャイル開発の取り組みから、顧客はエンジニアをメンターとして、プログラミングスキルを磨く機会にも恵まれます。

    その際に、初期段階としてよく使われ、かつ習得しやすいのがG Suite+GASの組み合わせです。

    では、そこからどのように技術を習得し、磨いていくのでしょうか?

    以下の図が「技術転換の事例」として紹介されていました。

    G SuiteとGASからの技術転換の事例
    つまり、最初はGAS+G Suiteをメインとしてプラスαの技術を学び、その後、その追加開発や、GCPやVue.jsなど関連技術へと幅を広げていくのです。

    このような流れは、私自身がノンプログラマー向けにおすすめしている・またはしたいと考えている流れでもあるので、もうすごく嬉しかったです(語彙

    顧客が技術を持ってしまって良いのか問題

    セッションでは、質疑応答の時間もありました。

    そこで、興味深い質問がありました。

    Q.受託開発なくなっちゃうじゃん?

    Q.受託開発に比べて、支援型契約は利益が上がるものではないがよいのか?

    という質問です。実際そのように思います。

    平鍋さん曰く

    A. 別にそれで構わない。むしろ、DX投資のほうが伸びているので可能性があると判断している

    とのことでした。

    弊社も受託開発は減らして、教育(共育といってもいいのかな?)にシフトしつつありますが、同じ思いで活動されている立派な会社さんがあって、嬉しく思いました。

    まとめ

    以上、「Google Cloudででデジタル変革を成功させるためにすべき3つのこと」のレポートをお伝えしました。

    おっしゃる通り、これからの時代は「内製化」がIT活用のカギになると思います。

    IT技術者はいよいよ不足しますし、それらの技術者とコミュニケーションができない人材しかいないとコストが倍増していきます。

    G SuiteやGASであれば、少し頑張れば身に付きますので、そこをフックにして徐々に内製化ができる体制作っていきたいものですね。

    さて、Google Cloud Nextですが、次回また別のセッションからレポートをお送りしますね。

    どうぞお楽しみに!

    連載目次:ノンプログラマーのための「Google Cloud Next '19 in Tokyo」まとめ

    2019/07/30~2019/08/01の3日間にかけて行われましたGoogleの最新のクラウドを体験できるイベント「Google Cloud Next 2019 in Tokyo」。その中から、ノンプログラマー向けにおすすめ情報をレポートしていきます。
    1. Google Cloud Next 2019 in Tokyoとノンプログラマー的な楽しみ方
    2. Google Cloud Next ’19 Tokyoで発表されたG Suiteプロダクトアップデートまとめ

    増え続けるデータを活用しチームの力の価値を上げるためにGoogleがしてくれること

    $
    0
    0

    Google の AI を活かして「人の価値を最大化」する 〜 G Suite の真価がもたらす時間削減術と、検索の次に来る未来〜

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    今年の「Google Cloud Next 2019」の参加レポートをシリーズでお送りしております。

    前回の記事はこちら。

    ベンダーと協力し学び合いながら開発を進める「アジャイル開発」で得られる価値とは
    「Google Cloud Next 2019」の参加レポートシリーズ。今回は、永和システムマネジメントさんによる「Google Cloudででデジタル変革を成功させるためにすべき3つのこと」のセッションを紹介します。

    今回は、Google Cloudシニアアカウントエグゼクティブ勝谷北斗さんによる「Google の AI を活かして「人の価値を最大化」する 〜 G Suite の真価がもたらす時間削減術と、検索の次に来る未来〜」のレポートです。

    「『働く』の価値を上げる」をテーマにしている弊社としては見逃せないテーマです…!

    ちなみに、ノンプログラマー向けのGoogle Cloud Next 2019 ツイートもまとめておりますので、合わせてご覧くださいませ。

    ノンプログラマーのためのGoogle Cloud Next 2019まとめ
    3日間にわたって開催されたGoogle Cloud Next 2019。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

    では、行ってみましょう!

    2つの問題提起

    大量に生み出されるデータとどう向き合うのか

    今の時代、ものすごい大量のデータが生み出されています。

    こうして私が書いているブログのテキストもその一つですよね。

    全世界で生み出されているデータですが、IDCの調査によると

    2025年までに163ゼタバイトのデータ量になる

    そうです。

    1ゼタバイトは10垓バイトになる。垓は、億、兆、京の次の単位だそうです。

    …よくわかりませんが、ものすごい単位…そうですね。

    それで、我々は、今後ますますこの大量に生み出されていくデータの波をどう乗りこなしていくのか、どう向き合うのかということが問われているわけです。

    そのような時代ではありますが、Googleはそれに対してどうアプローチしているでしょうか。

    有名なGoogleのミッションは以下のとおりです。

    世界中の情報を整理し、世界中の人々がアクセスできて使えるようにすること

    つまり、Googleの考え方としては、情報をどこに置くか?ではなくて、ちゃんとアクセスできて使えるようになることを目指しているということがわかりますね。

    いかにしてチームの力を最大化するか

    さて、仕事を変革するにはどうしたらよいでしょうか?

    Googleの元CEOエリック・シュミットは「」の中で

    イノベーション=チームの力×文化

    であると伝えています。

    仕事を変革するには、新しいテクノロジーを使うというのはもちろん重要ではありますが、それに文化、そしてさらにはチームの力を最大化するかというのが重要ということになります。

    その前提で、Googleが数々のイノベーションを生み出すために、社内で使っているツールが「G Suite」ということになります。

    G Suiteが上げるチームの価値

    チームコラボレーションの加速による時間削減

    まず、Googleドキュメント/スプレッドシート/スライドを利用する時間のうち76%が共同作業であるという事実があります。

    Google Docsをコラボレーション作業に利用している

    ひとり会社の私からすると驚きの事実なのですが、確かに外部のパートナーさんやコミュニティでのコラボレーションに、Googleドキュメントやスプレッドシートは大いに活用しています。

    リアルタイム共同編集もできますし、以前の記事でも紹介したとおり、最近のアップデートでOfficeファイルも共同編集できるようになりました。

    その結果、それらGoogle Docsのコラボレーションにより、一人あたり144分/週の時間削減が実現されているそうです。

    Google Docsのコラボレーションによる削減できる時間

    • 最新バージョンがどれか調べる
    • 命名規則を決める
    • 誰かが編集中でロックされているのでまったり、解除してもらったりする

    というような作業にかけている時間は非生産的なわけで、極力それを削減できるツールが求められているわけです。

    AIを活用した検索の次に来る未来

    前述の通り、情報の量はどんどん増えていて、実際職場でも同様です。

    実際、以下のように必要な情報に適切にアクセスすることさえ困難な実情があります。

    • 従業員が情報を探すのに20%の時間を費やしている
    • 検索しても見つからずに再作成する時間が38%
    • 必要な情報を受け取っている経営層の割合は10%未満

    必要な情報にアクセスすることさえ困難

    Googleは、得意としている検索技術に加えて、AI・機械学習により「検索すらさせない」アプローチによりそれを解決しようとしています。

    Googleドライブには、「候補」という機能が搭載されています。

    これは、「今、必要だろう」と思われるファイルをレコメンデーションするものです。

    さらにそれを発展させたのが「ワークスペースの候補」というのが搭載されました。

    もともとワークスペースという、プロジェクトごとなどに関連ファイルをまとめられる機能があったのですが、このワークスペースをレコメンドしてくれるという機能です。

    これにより、全体のうちの40%が「検索をする前に」開かれているという結果が出ています。

    AI・機械学習の活用で「検索をする前に必要な情報と出会う」

    まとめ

    以上、「Google の AI を活かして「人の価値を最大化」する 〜 G Suite の真価がもたらす時間削減術と、検索の次に来る未来〜」のレポートをお送りしました。

    Googleがいかにして「働く」の価値を上げようとしているのか…よく理解できたのではないでしょうか。

    次回は、スプレッドシートについて注目のアップデートをレポートします。

    どうぞお楽しみに!

    連載目次:ノンプログラマーのための「Google Cloud Next '19 in Tokyo」まとめ

    2019/07/30~2019/08/01の3日間にかけて行われましたGoogleの最新のクラウドを体験できるイベント「Google Cloud Next 2019 in Tokyo」。その中から、ノンプログラマー向けにおすすめ情報をレポートしていきます。
    1. Google Cloud Next 2019 in Tokyoとノンプログラマー的な楽しみ方
    2. Google Cloud Next ’19 Tokyoで発表されたG Suiteプロダクトアップデートまとめ
    3. ベンダーと協力し学び合いながら開発を進める「アジャイル開発」で得られる価値とは
    4. 増え続けるデータを活用しチームの力の価値を上げるためにGoogleがしてくれること

    【GAS×freeeAPI】指定条件の取引一覧を取得する「リクエストURL」の作り方と仕組み

    $
    0
    0

    こんにちは!ITライターのもり(@moripro3)です!

    クラウド会計ソフトfreeeのAPIを使って経理業務を自動化するネタをお届けしています。

    このシリーズでは、freeeとチャットワークを連携して「当日入金予定の取引一覧を自動でチャットワークに送信するツール」の作成を目標とします。

    成果物のイメージがこちら!入金予定のある日に、取引一覧が自動でチャットワークに届きます。

    会計freeeのデータをチャットワークに通知

     

    前回の記事では、ノンプログラミングでfreeeのデータをスプレッドシートに出力できる拡張機能「会計freee連携アドオン」を導入・使用しました。

    ノンプログラミングでOK!「会計freee連携アドオン」でスプレッドシートにデータを取得する
    【GAS×freeeAPI】「当日入金予定の取引一覧を自動でチャットワークに送信する」シリーズの第1回目。会計freee連携アドオンの導入方法・データの取得方法、および、GAS×freeeAPIとの違いを紹介しています。

    今回の記事では、GASでfreeeAPIを操作してデータを取得するための「リクエストURL」の作成方法を紹介します。

    • freeeAPIリファレンスの「リクエストURL生成機能」の紹介
    • リクエストURLの仕組み(URLとパラメータ)

    シリーズを通してfreeeAPIを使いこなし、経理業務の自動化を進めていきましょう!

    (この記事はfreee株式会社さまとのコラボ企画です。シリーズを通して、皆さんの働くの価値を上げられるようサポートしていきます!)

    データを取得するGETリクエスト

    シリーズ1の記事で、APIを操作する4種類のリクエストを紹介しました。

    【はじめてのfreeeAPI】GASでリクエストを送りfreeeの事業所一覧を取得する
    GoogleAppsScriptでクラウド会計ソフトfreeeのAPIを操作するシリーズ。GETリクエストでfreeeの事業所一覧を取得するコードと、freeeAPIリファレンスの読み方を紹介しています。
    1. GET「データの取得」
    2. POST「データの作成」
    3. PUT「データの更新」
    4. DELETE「データの削除」

    このツールで作るのは「取引データを取得する処理」なので、リクエストの種類は「GET」です。

    シリーズ1で紹介した「事業所一覧を取得する」コードがこちらでした。

    function getCompanies() {
      
      //freeeAPIのサービスからアクセストークンを取得
      var accessToken = getService().getAccessToken();
      
      //リクエストを送る時に付与するパラメータ
      var params = {
        "method" : "get",
        "headers" : {"Authorization":"Bearer " + accessToken}//Bearerの後ろに半角スペースが入る
      };
      
      //事業所一覧を取得するためのリクエストURL
      var requestUrl = 'https://api.freee.co.jp/api/1/companies';
      
      var response = UrlFetchApp.fetch(requestUrl, params);
      Logger.log(response);//レスポンスをログ出力
      
    }

    取引データを取得する場合も基本の流れは同じで、freeeAPIにアクセスするための「リクエストURL(変数requestUrl)」を変更するだけでOKです。

    ※freeeAPIを操作するためには、スプレッドシートとfreeeAPIの連携・認証などの作業が必要です。

    シリーズ1の記事で設定方法を紹介しています。上記のスクリプトを実行してデータ取得を試してみたい方は、こちらの記事をご覧のうえ設定してみてください。

    【はじめてのfreeeAPI】GASとfreeeつなぐ!連携認証の手順を一から紹介します
    GoogleAppsScriptでクラウド会計ソフトfreeeのAPIを操作するシリーズ。GASでfreeeを操作するために必要な「freeeマイアプリの作成」と「連携」の手順を、画面キャプチャ盛りだくさんで丁寧に紹介しています。

    取引一覧を取得するリクエストURL

    この項では、指定条件に合致する取引一覧を取得するための「リクエストURL」を作成します。

    リクエストURLとは、APIにアクセスするためのURLです。操作内容や取得データによってURLが異なります。

    リクエストURLのデータイメージ

    リクエストパラメータ

    リクエストURLを作成するために重要な「リクエストパラメータ」という単語を確認しておきましょう。

    リクエストパラメータとは、リクエストを送る時に、URLに付与して一緒に送る「データ」です。

    「データ」とは「条件」のことです。何も条件を指定しないと、すべてのデータを取得できます。「○○の条件に合致するデータをください」と指定することも可能です。

    このツールの目的である「当日の入金予定の取引一覧」を取得するためには、下記4つの条件を「パラメータ」として付与します。

    • 事業所ID
    • 収支区分が「入金」
    • ステータスが「未決済」
    • 支払期日が「当日日付」

    リクエストパラメータを一から作るのは少々大変なので、freeeAPIリファレンスの「リクエストURL生成機能」を紹介します。

    リクエストURLの自動生成機能

    freeeAPIリファレンスのDeals(取引)にアクセスします。

    「取引(収入/支出)一覧の取得」の項目をクリックして展開します。

    freeeAPIリファレンスの項目を展開する

     

    「Try it out」をクリックします。

    リクエストURLを作成するためのTryitout

     

    Descriptionの欄を見て、下記①~⑤を入力します。

    • 事業所ID「取得対象の事業所ID」を入力
    • 決済状況「unsettle」を選択
    • 収支区分「income」を選択
    • ④-1「支払期日(開始日)」当日日付をyyyy-mm-dd形式で入力(例:2019-08-01)
    • ④-2「支払期日(終了日)」④-1と同じ日付を入力
    • ⑤取得レコードの件数(任意)
      →デフォルト20件の設定であるため、ここでは最大件数の100を指定します

    ①~⑤まで入力したら「Execute」(実行)のボタンをクリックします。

    ※パラメータ名に赤文字で *required とあるものは必須パラメータです。「/deals 取引一覧の取得」ではcompany_idのみが必須指定です。

    リクエストURLのパラメータ入力1
    リクエストURLのパラメータ入力2
    リクエストURLのパラメータ入力3

     

    Request URLの欄に、指定の条件を含んだリクエストURLが生成されました。マウスのドラッグで範囲選択してコピーできます。

    リクエストURLが自動で生成される

    リクエストURLの仕組み

    リファレンスの機能を使って、リクエストURLを簡単に生成することができました。

    https://api.freee.co.jp/api/1/deals?company_id=9999999&status=unsettled&type=income&start_due_date=2019-08-01&end_due_date=2019-08-01&limit=100

    これを一から作るのは大変なので、一から作るよりも「自動生成機能」を使った方がラクです。

    ただ、freeeAPIを使いこなすためには、リクエストURLの仕組みは知っておいたほうがよいので、この項で詳しく解説していきます。

    リクエストURLは「①URL」と「②パラメータ」の2つに分けて考えます。

    ①URL

    URLの部分は2種の値で構成されています。

    • freeeAPI共通値:https://api.freee.co.jp/api/1
    • データ毎の固有値: /deals

    取引データの固有値は /deals です。これはfreeeAPIリファレンスでも確認できます(赤枠部)

    リクエストURLのデータ毎の値を確認する

    ②パラメータ

    取得したいデータの条件を記述します。ツールの条件を一覧にまとめます。

    項目名 パラメータ名
    事業所ID company_id (*required) 取得対象の事業所ID
    決済状況 status unsettled
    収支区分 type income
    支払期日(開始日) start_due_date 当日日付(yyyy-mm-dd)
    支払期日(終了日) end_due_date 当日日付(yyyy-mm-dd)
    取得最大件数 limit 省略した場合は20(ここでは最大値100とする)

    これらのパラメータは、「パラメータ名」と「値」を = で結合して「パラメータ名=値」とし、それらを & で結合します。

    パラメータ名=値&パラメータ名=値& ・・・ &パラメータ名=値

    URLとパラメータを結合

    URL(①)とパラメータ(②)は ? で結合します。

    ここまでの条件をまとめると、リクエストURL全体の書式は以下のようになります。

    URL?パラメータ名=値&パラメータ名=値&・・・&パラメータ名=値

    具体例をみてみましょう。例えばパラメータが2つの場合、

    • パラメータ1:事業所ID(company_id) = 9999999
    • パラメータ2:決済状況(status) = unsettled(未決済)

    リクエストURLはこうなります。

    HTTP通信のリクエストURLの仕組み

     

    ここまで理解できたら、もう一度リクエストURL全体を見てみましょう。長くて複雑に感じますが、よく見ると、決まった条件で順番に結合しているだけなのです。

    https://api.freee.co.jp/api/1/deals?company_id=9999999&status=unsettled&type=income&start_due_date=2019-08-01&end_due_date=2019-08-01&limit=100

     

    まとめ・次回予告

    「当日入金予定の取引一覧を自動でチャットワークに送信する」シリーズの第2回目では、これらを紹介しました。

    • freeeAPIリファレンスの「リクエストURL生成機能」の使い方
    • リクエストURLの作り方と仕組み
      • 「URL」と「パラメータ」を ? で結合する
      • 各パラメータは & で結合する(パラメータ名=値&パラメータ名=値)

    さて、当日入金の取引一覧を取得するリクエストURLは作成できましたが、今のままでは「当日」が固定値になっています。

    このツールは、スクリプトを日次で自動実行させるので、「支払期日」=「スクリプト実行時の日付」となるようパラメータを設定する必要がありますね。

    そこで次回は、これらの処理を紹介していきます。

    • スクリプト実行時の日付(当日日付)を取得する関数を作成し、リクエストURLの「支払期日」のパラメータを置き換える
    • スクリプトでGETリクエストを送り、freeeからデータを取得する

    どうぞお楽しみに!

    連載目次:【GAS×freeeAPI】当日入金予定の取引一覧を自動でチャットワークに送信する

    「クラウド会計ソフトfreee」のAPIをGASで操作して経理業務を自動化するシリーズ。「当日入金予定の取引一覧を自動でチャットワークに送信するツール」の作成を目標とします。

    1. ノンプログラミングでOK!「会計freee連携アドオン」でスプレッドシートにデータを取得する

    Google スプレッドシートでインサイトを発見し共有するための30の方法

    $
    0
    0

    Googleスプレッドシートでインサイトを発見し共有するための30の方法

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    今年の「Google Cloud Next 2019」の参加レポートをシリーズでお送りしております。

    前回の記事はこちら。

    増え続けるデータを活用しチームの力の価値を上げるためにGoogleがしてくれること
    Google Cloud Next '19 in Tokyoの「Google の AI を活かして「人の価値を最大化」する 〜 G Suite の真価がもたらす時間削減術と、検索の次に来る未来」のレポートです。

    チームの価値を最大化するためのG Suiteの活用についてお伝えしました。

    今回のテーマは「スプレッドシート」

    Googleスプレッドシートのプロダクトマネージャーを務められているアンディ・ラッドさん、ライアン・ウェーバーさん、ダニエル・ガンドラムさんによる、「Google スプレッドシートでインサイトを発見し共有するための30の方法」です。

    スプレッドシートの機能を30も紹介してもらったんです…楽しみですね!!!

    ちなみに、ノンプログラマー向けのGoogle Cloud Next 2019 ツイートもまとめておりますので、合わせてご覧くださいませ。

    ノンプログラマーのためのGoogle Cloud Next 2019まとめ
    3日間にわたって開催されたGoogle Cloud Next 2019。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

    では、行ってみましょう!

    分析の一般的なワークフローと30の方法

    このセッションはスプレッドシートによるデータ分析の一般的なワークフローになぞらって、進められました。

    すなわち、以下の手順です。

    1. 収集: データを集める
    2. 準備: データの構造化や整理
    3. 分析: インサイトを発見する
    4. 視覚化: 共有する

    そしてスプレッドシートの場合は、この手順が「コラボレーション」の上で進められるということになります。

    この各段階において、既存機能による時短のヒント、新機能やアップデート機能の紹介、そして今後の新たに投入される機能の先行公開について「30」もの方法を教えていただけるというものです。

    収集

    データの収集の段階で紹介された機能は以下の4つです。

    • 1.Googleフォームでデータを取り込む
    • 2.SAPからデータを取り込む
    • 3.データコネクタ:BigQuery 新機能
    • 4.Connected sheets 先行公開

    これまでよく活用されてきたのは、フォームを使ってデータを入力してもらうことですね。

    入力されるデータを入力規則を設けて標準化できますし、スプレッドシートには構造化された状態で蓄積されますので、スムーズに次の段階を移れます。

    データコネクタは新しい機能ですが、BigQueryから最大1万行のデータをインポートすることができるというものです。

    そして、さらにその進化版として、「Connected sheets」が発表されました。

    スプレッドシートのConnected sheetsのデモ

    BigQueryのデータをクエリなしで数十億行のデータを取得し、それをグラフ、ピボットテーブル、表、関数を使って分析できるという機能です。

    デモでは、BigQueryの公開データセット(誰でも使えるデータ群)から、サイドバーでの選択や入力操作のみで、2000万行のデータからグラフやピボットテーブルを作成する様子を見られました。

    こちらはベータ版先行公開となっていますので、以下から登録をして、ぜひ触ってみてください。

    G Suite – Gmail, Drive, Docs and More
    Do your best work with Google’s suite of intelligent apps (formerly Google Apps). Get business email, video conferencing, online storage and file sharing.

    準備

    データのクリーンアップや標準化をするなど、分析の準備をする手順です。

    そこで、紹介された機能は以下の6つのデータ準備ツールです。

    • 5.テキストを列へ振り分け
    • 6.空白の削除 新機能
    • 7.重複の削除 新機能
    • 8.セルにチェックボックスを設定
    • 9.マクロ
    • 10.交互の背景色

    テキストを列へ振り分けは、カンマなどのセパレーターによりテキストを複数の列に分割する機能です。

    空白の削除重複の削除は最近追加された機能ですね。これにより、邪魔な空白や、いらないレコードを削除することができます。

    デモでは、これらの機能によりデータをクリーンアップしつつ

    • 書式の設定
    • ウィンドウ枠の固定
    • 交互の背景色の設定

    をマクロ記録し、次回以降1回のクリックでマクロ実行できるようにするという様子が伝えられました。

    …みんな、使いましょう!

    分析

    分析の段階で紹介された機能は以下のとおりです。

    • 11.450を超えるスプレッドシート関数と数式のサジェスト
    • 12.フィルタ
    • 13.フィルタ表示
    • 14.スライサー 新機能
    • 15.色によるフィルタ・ソート 先行公開
    • 16.ピボットテーブル

    翻訳が行えるGOOGLETRANCERATE関数、ファイナンスのデータを取得するGOOGLEFINANCE関数などはスプレッドシートならではのユニークな関数ですね。

    データを絞るのによく使用するのはフィルタです。このフィルタは、皆さんよく使用されているものですが、スプレッドシートを閲覧するすべてのユーザーに有効です。

    一方で、フィルタの表示は、スプレッドシートならではの機能で、他のユーザー画面を変更せずに使用可能なフィルタで、保存や共有が可能なものです。皆さん、使ってますか?

    さらに、新機能スライサーは、グラフやピボットテーブルなどを含むレポートやダッシュボードにフィルタをかけることができる機能です。

    フィルタ、フィルタ表示、スライサーの比較

    そして、色によるフィルタ・ソートも新機能として発表されました。こちらは数カ月後にオープンになります。

    スライサーは近日中に、色によるフィルタ・ソート機能は数ヶ月後にロールアウトされる予定とのことです。

    視覚化

    他のユーザーと共有するための視覚化に関する機能は、たくさんの新機能が発表されました。

    • 17.テーマ 新機能
    • 18.グラフ アップデート
    • 19.データ探索
    • 20.レポート 新機能

    まず、テーマですがスプレッドシート全体について一貫性をもたせた外観に切り替える機能です。

    スライドなどで使っている同名機能のスプレッドシート版です。

    そして、そのテーマが有効に使えるのがレポートの機能です。グラフやピボットテーブル、KPIなどを目立たせる新しいスコアカードグラフ、前述のスライサーを組み合わせて、レポートを作成できるようになります。

    デモでは以下のような手順でレポートを作成をする様子が紹介されていました。

    1. データ探索を使ってサジェストされたグラフやピボットテーブルをドラッグ&ドロップでレポートに追加
    2. グリッドを活用して要素の位置やサイズを調整する
    3. スライサーでフィルタをかける
    4. テーマを適用してスタイルを変更する

    新機能:レポートの作成のデモ

    テーマ、スコアカードグラフ、レポートに関しては近日中にリリースされていきます。

    クラウドでのコラボレーション

    最後のパートとして、コラボレーションの機能についての紹介がありました。

    • 21.コメント
    • 22.アクションアイテム
    • 23.バージョン履歴
    • 24.セルの編集履歴 新機能
    • 25.リンクオブジェクトをまとめて更新 アップデート
    • 26.アクティビティダッシュボード アップデート
    • 27.ファイルの有効期限、ダウンロード・印刷・コピーの無効化
    • 28.Officeファイルの編集 新機能
    • 29.従来のショートカットキー アップデート
    • 30.オフライン作業

    もともと、共同編集、コメント、バージョン履歴などのコラボレーションの機能は充実していました。

    それに加えて、たくさんの新機能やアップデートが発表されました。

    注目の機能は、他のセッションでも発表されているOfficeファイルの直接編集はもちろん、「従来のショートカットキー」というアップデートがありました。

    これは、Excelのショートカットキーを使えるようになるという機能だそうです。

    もうガッツリOfficeに攻めこんでますね…!

    まとめ

    以上、「Google スプレッドシートでインサイトを発見し共有するための30の方法」のレポートをお送りしました。

    30もあるので、既存機能の紹介が多いかな…と思っていたのですが、半分近くが新機能やアップデート、そして先行公開の紹介でしたね。

    スプレッドシート恐るべしです!

    また、今後のアップデートにも期待ですね。

    連載目次:ノンプログラマーのための「Google Cloud Next '19 in Tokyo」まとめ

    2019/07/30~2019/08/01の3日間にかけて行われましたGoogleの最新のクラウドを体験できるイベント「Google Cloud Next 2019 in Tokyo」。その中から、ノンプログラマー向けにおすすめ情報をレポートしていきます。
    1. Google Cloud Next 2019 in Tokyoとノンプログラマー的な楽しみ方
    2. Google Cloud Next ’19 Tokyoで発表されたG Suiteプロダクトアップデートまとめ
    3. ベンダーと協力し学び合いながら開発を進める「アジャイル開発」で得られる価値とは
    4. 増え続けるデータを活用しチームの力の価値を上げるためにGoogleがしてくれること
    5. Google スプレッドシートでインサイトを発見し共有するための30の方法

    月額制コミュニティ「ノンプロ研」で決済サービスの移行をして何人残ったのか

    $
    0
    0

    paymo bizサービス終了に関するお知らせ

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    コミュニティ「ノンプログラマーのためのスキルアップ研究会」ですが、これまで使用していた決済サービスであるpaymo bizの終了に伴いまして、STORES.jpへのお引越しを完了しました。

    以下記事でお伝えしている通りです。

    コミュニティ向け月額決済サービスまとめとSTORES.jpに決めた理由
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」で使用していた決済サービスpaymo bizが終了になります。代替としての月額決済サービスのまとめと、STORES.jpに決めた理由についてお伝えします。
    STORES.jpをコミュニティの決済として使用する際の3つのポイント
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」ですが、決済サービスをSTORES.jpへ引越しました。今回は、STORES.jpをコミュニティで使用する際の3つのポイントをお伝えします。

    移行いただいたメンバーの皆様、快く対応をいただきまして、本当にありがとうございました。

    さて、約2カ月にわたる切り替え作業が完了したのですが、本記事はそのまとめ記事となります。

    移行作業で、いつ何をしたのかをまとめておきます。(正直、役に立つことの少ない記事とは思いますが…)

    そして、結果的に何名の方が移行をされたのか、そうでないのか…

    気になりますよね!?

    では、行ってみましょう!

    paymo bizサービス停止のお知らせから移行までやったことリスト

    paymo bizのサービス停止は急な知らせでした。

    てか、8/28停止ってことなので、移行完了までに2カ月もないわけです。正直慌てましたよね。

    Twitterなどでも、皆さんにいろいろな情報をいただきまして…感謝です。

    それで、私がGASの師匠と仰ぐhowdy39さんがちょうど、heyさんにいらして、情報をくださいました。

    その後、STORES.jp料率改定の大発表もあり、STORES.jpに決定しました。

    以下、その一部始終を時系列でまとめました。

    日付 出来事
    2019/06/04 paymo bizからサービス終了についてのメール。月額課金決済が8/28に停止するとのこと
    2019/06/07 移行先をアレコレ悩む中、Stripeを触ってみたり、CAMPFIREに揺れたり
    2019/06/08 howdy39さん情報によりSTORES.jpが有力候補に!
    2019/06/10 STORES.jpの料金改定のニュース受けて、移行先決定!
    2019/06/11 STORES.jpでノンプロ研ショップ作成
    2019/06/13 「決済サービスおよび月額会費変更のお知らせ」公開・移行開始
    2019/06/13 paymo bizでの新規申込受付停止
    2019/06/26 6月の移行期限
    2019/07/13 未移行メンバーにリマインドメール 29件
    2019/07/22 未移行メンバーに最後のリマインドメール 22件
    2019/07/26 7月(最終)の移行期限
    2019/08/01 未移行者のpaymo bizでの月額停止

    どれくらいのメンバーが移行を完了するか

    6月頭の段階では、会員は85名。うちSquare決済が2名いらしたので、83名がpaymo bizでの決済でした。

    その皆さん全員に移行をしていただかなくてはいけなくなりました。

    そして、移行の手続きがされない場合は、強制的に退会となってしまいます。

    なにせ、決済サービスが決済をやめてしまいますから。

    もし、移行をしない方が多いとしたら、月々のコミュニティ運営による収益が大きなダメージを受けます。

    そして、それにより活動の幅を縮小しなくてはいけなくなる可能性もあります。

    どれくらいの方が移行をして下さり、どれくらいの方がフェードアウトをしてしまうのか…これは重要なポイントです。

    まず、以下の方々はまず大丈夫だろうと踏みました。

    • 定例会やオフラインイベント、Slackでのやり取りにかなりの率で参加しているアクティブな方
    • 7月から開始する初心者講座VBAコースを受講予定の方

    全員アクティブであれば良いのですが、そうでない方も実際いらっしゃいました。

    私の想定としては、退会になる方は多くても3割(25名)くらい、2割(16名)くらいに収まれば上出来。

    そんな覚悟を決めて臨みました。

    どれだけの方が移行をしなかったか

    6月、7月に切り替えの締め日を設けていました。

    STORES.jpは申込日から毎月同日に決済が走るのですが、paymo bizは全員そろって毎月1日に決済が走ります。

    つまり、移行手続きをするのであれば、月末に近いほうがお得なのです。

    とはいえ、月末日に集中すると、弊社側の処理が間に合わない可能性があるので、26日を締め日としていました。

    ですので、7/26が最終的な期限となります。

    そのXデーを迎えたところ…移行手続きをされなかった方は14名でした。

    想定していたよりも少なくてホッとしましたが、やはり寂しいところもありますね。

    メンバーにどのように行動を起こさせるか

    いずれにしても今回の件は、コミュニティ運営において、いろいろと勉強になりました。

    コミュニティに入会しても、なかなかうまく行動を起こせない方は一定数いらっしゃいます。

    実際、今回移行をされなかった方の多くも、なかなかオフラインイベントに参加できなかったり、Slackでも発言できなかったり、という傾向の方が多いように見受けられました。

    そこをいかに刺激してアクションを起こさせるかというのは、考えていかなければいけませんね。

    せっかく出会いの機会があったわけですから。

    例えば、ひとつのアイデアとして、つい先日行われました「はじめてのノンプロ研」は、そこをフォローする良いイベントかも知れません。

    新しくノンプロ研に入会した皆さん向けに
     
    ・ノンプロ研とは何か?
    ・プログラミング学習の心構え
    ・Slackの使いかたと活用法

    などをお伝えする初心者向けの説明会です。

    実際、たくさんの「ノンプロ研初心者」(自称含む)もご参加いただき、懇親会も盛り上がりましたね。

    はじめてのノンプロ研&懇親会 2019夏
    新しくノンプロ研に入会した皆さん向けに ・ノンプロ研とは何か?・プログラミング学習の心構え・Slackの使いかたと活用法などをお伝えする初心者向けの説明会です。とはいえ、新しく入会された方でなくて..

    このほか、オフライン・オンライン含めて、何か活動の推進力を生みだしてあげるようなきっかけづくりができればいいなと思います。

    まとめ

    月額制コミュニティで決済サービスの移行をして何人残るのか、結果的にノンプロ研の場合は、たくさんの方が残ってくださいました。

    ありがとうございます。

    今回の件は、私が調子に乗らないための程よい試練と受け止め、これからも気を抜かずに精進して運営してまいります。

    ということで、これからも皆さん、どうぞよろしくお願いいたします!

    GASで天気予報API Weather HacksのJSONデータから欲しいデータを取得する方法

    $
    0
    0
    umbrella

    photo credit: www.ilkkajukarainen.fi 6Q3A6839 (2) via photopin (license)

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    初心者ノンプログラマー向けとして「GASを使ってSlackにメッセージを送る」を目標に連載をお送りしております。

    前回の記事はこちら。

    【初心者向けGAS】天気予報APIからのJSONをオブジェクトに変換する方法
    初心者ノンプログラマー向けに「GASを使ってSlackにメッセージを送る」を目標にお送りしております。今回は、天気予報API「Weather Hacks」のレスポンスをオブジェクトに変換する方法を紹介します。

    天気予報APIのWeather Hacksから受け取ったJSONをオブジェクトに変換する方法をお伝えしました。

    とはいえ、オブジェクトの中身は複雑です…

    数ある情報の中から、欲しい情報を取得する必要があります。

    ということで、今回はGASで天気予報API Weather HacksのJSONデータから欲しいデータを取得する方法です。

    では、行ってみましょう!

    前回のおさらい

    前回作成したスクリプトはこちらです。

    function test() {
      
      var url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'; //URL+cityID
      var res = UrlFetchApp.fetch(url);
      var object = JSON.parse(res.getContentText()); 
      Logger.log(object);
    
    }

    天気予報APIのWeather Hacksにリクエストを投げて、受け取ったレスポンスであるJSON文字列をオブジェクト化してログ出力する…というものです。

    オブジェクト化しても、東京の天気予報に関して、様々な情報が含まれていますから、その中からほしい情報だけ取り出して、Slackに送りたいですよね。

    Weather HacksのJSONから今日の天気を取り出す

    さて、Weather Hacksのレスポンスとして取得できるJSON文字列ですが、たくさんの情報が含まれています。

    以下のページに「レスポンスフィールド」として、その構造について解説されています。

    お天気Webサービス仕様 - Weather Hacks - livedoor 天気情報
    第三者向け気象データ提供サービス「Weather Hacks」。Webサービス(Livedoor Weather Web Service / LWWS)とRSSフィード(RSS2.0)を中心としたデータを提供しています。

    livedoor天気情報の仕様

    わかったようなわからないような…

    サンプルとして紹介されているJSONデータはこうなります。

    {
       "publicTime" : "2013-01-29T11:00:00+0900",
       "title" : "福岡県 久留米 の天気",
       "description" : {
          "text" : " 九州北部地方は、高気圧に覆われて晴れています。\n\n 29日は、九州北部地方では、高気圧に覆われて晴れますが、気圧の谷の\n影響で、昼過ぎから次第に曇りとなるでしょう。\n\n 30日は、気圧の谷の影響ではじめ曇りますが、昼頃からは高気圧に覆わ\nれて概ね晴れるでしょう。\n\n 波の高さは、九州北部地方の沿岸の海域では、29日は1.5メートル、\n30日は1メートルでしょう。豊後水道では、29日と30日は1メートル\nでしょう。\n 福岡県の内海では、29日と30日は0.5メートルでしょう。",
          "publicTime" : "2013-01-29T10:37:00+0900"
       },
       "link" : "http://weather.livedoor.com/area/forecast/400040",
       "forecasts" : [
          {
             "dateLabel" : "今日",
             "telop" : "晴のち曇",
             "date" : "2013-01-29",
             "temperature" : {
                "min" : null,
                "max" : {
                   "celsius" : "11",
                   "fahrenheit" : "51.8"
                }
             },
             "image" : {
                "width" : 50,
                "url" : "http://weather.livedoor.com/img/icon/5.gif",
                "title" : "晴のち曇",
                "height" : 31
             }
          },
          {
             "dateLabel" : "明日",
             "telop" : "晴れ",
             "date" : "2013-01-30",
             "temperature" : {
                "min" : {
                   "celsius" : "3",
                   "fahrenheit" : "37.4"
                },
                "max" : {
                   "celsius" : "13",
                   "fahrenheit" : "55.4"
                }
             },
             "image" : {
                "width" : 50,
                "url" : "http://weather.livedoor.com/img/icon/1.gif",
                "title" : "晴れ",
                "height" : 31
             }
          },
          {
             "dateLabel" : "明後日",
             "telop" : "晴時々曇",
             "date" : "2013-01-31",
             "temperature" : {
                "min" : null,
                "max" : null
             },
             "image" : {
                "width" : 50,
                "url" : "http://weather.livedoor.com/img/icon/2.gif",
                "title" : "晴時々曇",
                "height" : 31
             }
          }
       ],
       "location" : {
          "city" : "久留米",
          "area" : "九州",
          "prefecture" : "福岡県"
       },
       "pinpointLocations" : [
          {
             "link" : "http://weather.livedoor.com/area/forecast/4020200",
             "name" : "大牟田市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4020300",
             "name" : "久留米市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4020700",
             "name" : "柳川市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4021000",
             "name" : "八女市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4021100",
             "name" : "筑後市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4021200",
             "name" : "大川市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4021600",
             "name" : "小郡市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4022500",
             "name" : "うきは市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4022800",
             "name" : "朝倉市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4022900",
             "name" : "みやま市"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4044700",
             "name" : "筑前町"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4044800",
             "name" : "東峰村"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4050300",
             "name" : "大刀洗町"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4052200",
             "name" : "大木町"
          },
          {
             "link" : "http://weather.livedoor.com/area/forecast/4054400",
             "name" : "広川町"
          }
       ],
       "copyright" : {
          "provider" : [
             {
                "link" : "http://tenki.jp/",
                "name" : "日本気象協会"
             }
          ],
          "link" : "http://weather.livedoor.com/",
          "title" : "(C) LINE Corporation",
          "image" : {
             "width" : 118,
             "link" : "http://weather.livedoor.com/",
             "url" : "http://weather.livedoor.com/img/cmn/livedoor.gif",
             "title" : "livedoor 天気情報",
             "height" : 26
          }
       }
    }

    だいぶ、構造が複雑に見えますね…ただし、JSON文字列はもはやJavaScriptのオブジェクトに変換されていますので、オブジェクトの値を取り出すルールに則れば、ちゃんと取り出すことができます。

    JSONを変換したオブジェクトからほしいデータを取り出す

    例えば、サンプルの冒頭部分を見てみましょう。

    {
       "publicTime" : "2013-01-29T11:00:00+0900",
       "title" : "福岡県 久留米 の天気",
       "description" : {
          "text" : " 九州北部地方は、高気圧に覆われて晴れています。\n\n 29日は、九州北部地方では、高気圧に覆われて晴れますが、気圧の谷の\n影響で、昼過ぎから次第に曇りとなるでしょう。\n\n 30日は、気圧の谷の影響ではじめ曇りますが、昼頃からは高気圧に覆わ\nれて概ね晴れるでしょう。\n\n 波の高さは、九州北部地方の沿岸の海域では、29日は1.5メートル、\n30日は1メートルでしょう。豊後水道では、29日と30日は1メートル\nでしょう。\n 福岡県の内海では、29日と30日は0.5メートルでしょう。",
          "publicTime" : "2013-01-29T10:37:00+0900"
       },
    …
    }

    オブジェクト内のpublicTimeプロパティの値が「予報の発表日時」なので、ドット記法で以下のようにすれば取り出すことができます。

    object.publicTime

    同様に、「タイトル・見出し」はtitleプロパティですから、以下で取り出せます。

    object.title

    「天気概況分」は、descriptionプロパティが返すオブジェクト内の、textプロパティなので、ドット記法をつなげて

    object.description.text

    とすれば、を取り出せます。

    では、実際に取り出してみましょう。

    function test() {
      
      var url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'; //URL+cityID
      var res = UrlFetchApp.fetch(url);
      var object = JSON.parse(res.getContentText()); 
      
      Logger.log(object.publicTime);
      Logger.log(object.title);
      Logger.log(object.description.text);
    
    }

    こちらのスクリプトを実行した結果がこちらです。

    GASでWeather Hacksから天気概況文、タイトル、公開日時を取得する

    今日・明日の天気を取り出す

    さて、おそらく一番ほしいのは、「今日の天気」や「明日の天気」ですね。

    Weather HacksのJSONデータからどう取り出すかというと、「府県天気予報の予報日毎の配列」を表すforecastsプロパティというものがあります。

    これは、今日の天気予報をインデックス0、明日の天気予報をインデックス1…として、それぞれ配列の要素として取得できます。

    そして、その配列の要素がオブジェクトになっていて、いろいろな情報を持っています。

    つまり、以下のようにすれば、今日の天気予報の天気を取得できるというわけです。

    object.forecasts[0].telop

    インデックスを1にすれば明日のやつですね。

    object.forecasts[1].telop

    では、以下スクリプトを実行して、動作を確認してみましょう。

    function test() {
      
      var url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'; //URL+cityID
      var res = UrlFetchApp.fetch(url);
      var object = JSON.parse(res.getContentText()); 
      
      Logger.log(object.forecasts[0].telop);
      Logger.log(object.forecasts[1].telop);
    }

    結果はこちらです。

    GASでWeather Hacksから天気予報を取得する

    うまく取得できましたね。

    まとめ

    以上、GASで天気予報API Weather HacksのJSONデータから欲しいデータを取得する方法をお伝えしました。

    少し、コツがいりますが、JavaScriptのオブジェクトからのデータの取り出し方がわかれば大丈夫…なはず…!

    次回は、Slackに取得したデータを送信していきます。

    どうぞお楽しみに!

    連載目次:はじめてのSlackアプリでメッセージを投稿する

    ビジネスチャットツールSlack、使ってますか?「Slackアプリ」を使うことでGASを通じてメッセージを投稿をすることができます。このシリーズでは初心者向けにSlackアプリの作り方を解説していきます。
    1. 【初心者向けGAS×Slack】はじめてのSlackアプリを作成しよう
    2. 【初心者向けGAS】Slackにメッセージを投稿するIncoming Webhookの最初の一歩
    3. 【初心者向けGAS】SlackアプリのIncoming Webhooksを使ってメッセージを投稿する方法
    4. 【初心者向けGAS】天気予報APIからのJSONをオブジェクトに変換する方法
    5. GASで天気予報API Weather HacksのJSONデータから欲しいデータを取得する方法

    ノンプロ研のファミプロで「ロボット作り体験&ロボット操作もくもく会」を開催しました

    $
    0
    0

    ユカイ工房さまにて「ロボット作り体験&ロボット操作もくもく会」

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。

    5月から、新たなプロジェクトとして家族向けのプログラミングを学ぶ活動、通称「ファミプロ」をスタートしております。

    今回は、その第3回となるイベント。

    なんと、株式会社ユカイ工学」さま全面協力のもと「ロボット作り体験&ロボット操作もくもく会」という企画でお送りすることができました。

    ということで、レポートをしていきますよ~!

    ちなみに当日の様子は以下、Togetterのツイートまとめもご覧くださいませ。

    ノンプロ研 ファミプロ夏休み企画「ロボット作り体験&ロボット操作もくもく会」
    ノンプログラマーのためのスキルアップ研究会のファミリー向けイベント「ロボット作り体験&ロボット操作もくもく会」のツイートまとめです。

    では、行ってみましょう!

    「ロボット作り体験&ロボット操作もくもく会」とは?

    株式会社ユカイ工学さまは、ロボット開発会社です。

    ユカイ工学 | YUKAI Engineering Inc.
    YUKAI Engineering - THE ROBOT COMPANY

    コミュニケーションロボット「BOCCO」や、クッション型セラピーロボット「Qoobo」など、魅力的なロボットたちを開発・販売されています。

    ノンプロ研の きのぴぃさんが、ユカイ工学さまとつながりがあり、「ぜひファミプロでユカイ工学さんとコラボしたい…!」という企画への熱い想いから、今回のイベントが実現しました(コミュニティ運営としては、本当に助かる…!)。

    参加者は以下のとおり、大盛況…!

    • 大人:19名
    • 小中学生:8名
    • 未就学児:4名

    素晴らしい…!

    今回のイベント「ロボット作り体験&ロボット操作もくもく会」は子どもたちと、大人たちで別々なことをするというゴージャスな内容でした。

    • 子どもたちは「ユカイな生きものロボットキット」でロボット作りに挑戦
    • 大人たちはコミュニケーションロボット「BOCCO」のAPI操作に挑戦

    それでは、それぞれがどういうことをしたのか…見ていきましょう。

    ユカイな生きものロボットキット

    「子どもたちがロボットなんて作れるの…?」と思われるかも知れませんが、「ユカイな生きものロボットキット」は、小さい子でも簡単につくれるロボットです。

    材料は、プラスチックの板、モーター、コントローラー用のスイッチ、電池ボックス、そして足の代わりとなる結束バンドといたってシンプルな構成。

    ユカイな生きものロボットキット材料

    プラスチック板を好きな形に切ったり、フェルトやシールを貼ったりして、本体とコントローラーをデザインします。

    スイッチ、モーターなどは、両面テープで貼り付け!

    これだけで、オリジナリティあふれるロボットたちが完成します。

    ユカイな生きものロボット完成

    「足」の代わりになる結束バンドが、これまたいい味を出していて、本当に「生きもの」みたいな動きをするんです。

    どうやったらまっすぐ動くかな?とか、どうやったら倒れないかな?とか、どうやったら速く走るかな?と、子どもたちは(大人もですが)試行錯誤しながら楽しんでいました。

    こちらのキット、10月に発売をされるもので、今回は先行で触れさせていただきました。

    BOCCO APIでロボットを操作

    コミュニケーションロボットBOCCO

    「BOCCO」は、おしゃべりをするコミュニケーションロボットです。

    BOCCO
    BOCCO - 家族をつなぐ コミュニケーション ロボット

    APIが公開されていまして「APIを叩く」ことで、BOCCOとおしゃべりをしたり、センサと連携させたり、といったことが可能です。

    BOCCO API 概要 | BOCCO API Documentation

    なので、大人たちにとっては割とガチでGoogle Apps Scriptを使ってBOCCO APIを格闘する…という、わりと真剣なもくもくタイムとなりました。

    もくもく開始してからしばらくすると…

    • こんにちは!
    • VBAやろうよ!
    • Pythonでもいいよ!
    • ブログ書こうよ!

    などなどのメッセージをBOCCO君たちが話始めます。笑いますw

    メッセージを話させることができたら、今度はRSSで取得したニュースを話させてみようとか、今日のGoogleカレンダーイベントを話させてみようとか、いろいろなアイデアに皆さんチャレンジしていました。

    これは…欲しくなりますよね。

    「ロボットの力」でできること

    ノンプロ研ファミプロの恒例の「全員発表」では、大人も子どもも全員が前に出て発表をします。

    みなさん、本当に楽しかったみたいで、工夫したポイント、もっとこうしたかった、次回もぜひ参加したい、そんなコメントがたくさんでした。

    そんな皆さんの発表を聞きながら、ロボットの力の凄さを感じました。どう考えても、大人も子どももテンションが数段高かったのです。

    ユカイ工学さんのビジョンのページでは、「ロボット」について以下のように定義されています。

    「心を動かし、人を動機付けすることのできるインターフェース」

    まさに、参加者皆さんが、心を動かされて、「もっとやってみたい」という動機づけを得ていたのではないかと思います。

    ロボットのようなインターフェースを活用することで、一歩踏み出す力を得たり、継続的に学びたいとか、そんな力を得られるというわけで、この方面でいろいろと工夫しがいがあると大いに感じたわけです。

    私個人としても、コミュニティとしても、大きな学びの機会となりました。

    ユカイ工学様、企画・仕切りを担当してくださった、 きのぴぃさん、ありがとうございました!またよろしくお願いします~

    まとめ

    ノンプロ研ファミプロ「ロボット作り体験&ロボット操作もくもく会」の開催レポートをお送りしました。

    ファミプロスタートして、3回目でこのような素敵なイベントを体験でき、ほんとありがたいです。

    来月以降も継続的に、大人も子どももみんなが学ぶ機会として「ファミプロ」を頑張っていきます。

    あと、その活動を支援するべく、ノンプロ研「ファミリープラン」についても準備中です。

    近日中にお知らせしますので、どうぞお楽しみに!

    「ノンプログラマーのためのスキルアップ研究会」について

    コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」(略して「ノンプロ研」)。このページはその活動レポートまとめページです。コミュニティ活動の一気読みをされたい方、ぜひご活用くださいませ。
    ぜひ、皆様のご参加をお待ちしております!
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
    ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

    GASとSlackアプリでSlackに今日の天気予報メッセージを送信する方法

    $
    0
    0
    unbrella

    photo credit: Emil Pakarklis More Fun in the Rain via photopin (license)

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    初心者ノンプログラマー向けとして「GASを使ってSlackにメッセージを送る」を目標に連載をお送りしております。

    前回の記事はこちら。

    GASで天気予報API Weather HacksのJSONデータから欲しいデータを取得する方法
    初心者ノンプログラマー向けとして「GASを使ってSlackにメッセージを送る」を目標に連載をお送りしております。今回はGASで天気予報API Weather HacksのJSONデータから欲しいデータを取得する方法です。

    天気予報APIのWeather HacksのJSONデータから天気情報を取り出す方法をお伝えしました。

    さて、今回はいよいよSlackに天気予報を送りますよ。

    ということで、GASとSlackアプリでSlackに今日の天気予報メッセージを送信する方法です。

    では、行ってみましょう!

    これまでのおさらい

    天気予報APIから天気予報を取得する

    まず、前回進めた部分ですが、天気予報APIから天気予報を取得する処理です。

    こちらですね。

    function test() {
      
      var url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'; //URL+cityID
      var res = UrlFetchApp.fetch(url);
      var object = JSON.parse(res.getContentText()); 
      
      Logger.log(object.forecasts[0].telop); //今日の天気
      Logger.log(object.forecasts[1].telop); //明日の天気
    }

    Weather HacksへHTTPリクエストを送り、そこから今日の天気や明日の天気を表すテキストを取り出しました。

    例えば、「晴のち曇り」とか「曇時々晴」とかそういうテキストです。

    これをSlackに送ってあげたいわけです。

    Slackにメッセージを送る

    Slackにメッセージを送るのは連載の最初から3記事分くらいで解説をしました。

    Slackアプリを作り、Incoming Webhooksの機能を使ってWebhook URLを取得すれば、以下のコードでSlackに「Hello, World!」とメッセージを送信できるわけです。

    function test() {
      var url = '*****Webhook URL*****'; //皆さんのWebhook URLを入力ください
      var params = {
        method: 'post',
        contentType: 'application/json',
        payload: '{"text":"Hello, World!"}'
      };
     
      UrlFetchApp.fetch(url, params);
    }

    今回は、これらのコードをガッシャンコして、Slackへ天気予報を送るアプリを完成させていきます。

    Slackにテキストを送る処理

    まず、Slackにテキストを送る処理から整えていきましょう。

    関数名を「postSlack」に変更して以下のような関数にしました。

    function postSlack(text) {
    
      var url = '*****Webhook URL*****'; //皆さんのWebhook URLを入力ください
      var params = {
        method: 'post',
        contentType: 'application/json',
        payload: JSON.stringify({text: text})
    
      };
    
      UrlFetchApp.fetch(url, params);
    }

    stringifyメソッドでオブジェクトをJSON文字列化する

    変更点は7行目ですね。

    JSONオブジェクトのstringifyメソッドは、JavaScriptのオブジェクトをJSON形式の文字列に変換するメソッドです。

    parseメソッドの逆ですね。

    JSON.stringify(オブジェクト)

    payloadのtextプロパティに渡すデータが、パラメータtextを渡したいので、文字列リテラルのシングルクォートの中に入れられないんですね。

    なので、いったん「{text: text}」というオブジェクトにしてあげて、それを文字列化するという処理にしています。

    天気予報を取得してSlackへ送るテキストを生成する

    一方、天気予報APIを叩いてそのレスポンスから天気予報を取り出し、文字列を生成して前述のpostSlackにわたす処理はこちらです。

    function postSlackForecast() {
    
      var url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'; //URL+cityID
      var res = UrlFetchApp.fetch(url);
      var data = JSON.parse(res.getContentText());
    
      var publicTime = Utilities.formatDate(new Date(data.publicTime), 'JST', 'yyyy/MM/dd hh時発表の天気予報');
      var forecast = data.forecasts[0].telop;
    
      /* Slackに送る文字列を生成 */
      var strBody = "*【" + publicTime + " :sun_with_face:】*\n";
      strBody += ">>>" + forecast;
    
      postSlack(strBody);
    }

    formatDateメソッドで日付を整形して文字列化する

    まず7行目をご覧ください。

    予報の発表日時を表すpublicTimeは、そのまま出力すると「2019-08-17T17:00:00+0900」という若干読みづらい表記になりますので、GASのUtitiliesサービスのformatDateメソッドで日付を整形して文字列化しています。

    Utilities.formatDate(日付, タイムゾーン, 書式)

    日付はDateオブジェクトである必要があるので、受け取ったpublicTime(文字列型)を元にnew Dateで新たなDateオブジェクトを生成します。

    タイムゾーンは日本なので「JST」でOKです。

    書式は、年はyyyy、月はMM、日はdd、時はhhなどを入れ込んだ書式を指定すると、それぞれの文字数分の桁数でその日付を入れ込んだ書式に整形をしてくれるようになります。

    Slackの修飾表記

    続いて、11,12行目では文字列strBodyにSlackへ送る文字列を生成しています。

    「*」で囲まれた部分は強調を表しまして太字になります。

    「:sun_with_face:」は「顔つき太陽」の絵文字に変換されます。

    また「>>>」以降は引用を表しますね。

    このように、Slackでは記号の組み合わせで投稿メッセージに修飾することができます。

    それはGASで生成した文字列でももちろんOKです。

    あとは、そのpublicTimeとともに、天気予報のテキストをstrBodyに文字列化してpostSlackに渡せばOKですね。

    Slackの修飾表記は他にもいろいろありますので、ぜひ調べてみてください。

    天気予報をSlackに送る動作確認

    では、動作確認をしていきましょう。

    上記のpostSlackForecastを実行すると、Incoming Webhooksで設定したチャンネルに以下のように投稿が行われます。

    Slackに送信する天気予報情報

    バッチリですね。

    まとめ

    以上、GASとSlackアプリでSlackに今日の天気予報メッセージを送信する方法をお伝えしました。

    天気予報APIからデータを取得し、Slack APIへデータを送る…ということで、HTTPリクエストに関して理解し、慣れるための良い題材になるのではないでしょうか。

    次回ですが、次はSlackのスラッシュコマンドの実装にチャレンジしていきます。

    どうぞお楽しみに!

    連載目次:はじめてのSlackアプリでメッセージを投稿する

    ビジネスチャットツールSlack、使ってますか?「Slackアプリ」を使うことでGASを通じてメッセージを投稿をすることができます。このシリーズでは初心者向けにSlackアプリの作り方を解説していきます。
    1. 【初心者向けGAS×Slack】はじめてのSlackアプリを作成しよう
    2. 【初心者向けGAS】Slackにメッセージを投稿するIncoming Webhookの最初の一歩
    3. 【初心者向けGAS】SlackアプリのIncoming Webhooksを使ってメッセージを投稿する方法
    4. 【初心者向けGAS】天気予報APIからのJSONをオブジェクトに変換する方法
    5. GASで天気予報API Weather HacksのJSONデータから欲しいデータを取得する方法
    6. GASとSlackアプリでSlackに今日の天気予報メッセージを送信する方法

    事例満載!ノンプログラマーのための社内のVBA&GAS活用法

    $
    0
    0
    programing

    photo credit: gdsteam GOV.UK Design System via photopin (license)

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。

    さて、イベント盛りだくさんのノンプロ研ですが、先日は月一開催の一番メインといってもいいオフラインイベントである定例会が開催されました。

    テーマは「ノンプログラマーのための社内のVBA&GAS活用法」

    非IT部門でいうと、所属しているチームにプログラミングを業務に活かすための地盤ができていなかったり、会社からのバックアップが十分に得られなかったりします。

    チームや組織を巻き込みながらプログラミングを活用するのってすごく難しいように見えるのですが、実はめちゃめちゃ実践しまくっている方々もいるわけです。

    ノンプロ研の中でも1,2を争うであろうプログラミングを活用されているセラエノさんと、etauさんにご登壇いただき、そのノウハウをうかがいました。

    いや~すごかったっすね。

    ということで、「ノンプログラマーのための社内のVBA&GAS活用法」のレポート、行ってみましょう!

    ちなみに当日の様子は以下、Togetterのツイートまとめもご覧くださいませ。

    ノンプロ研定例会Vol.21「ノンプログラマーのための社内のVBA&GAS活用法」
    非IT部門のノンプログラマーの場合、所属しているチームにプログラミングを業務に活かすための地盤ができていなかったり、会社からのバックアップが十分に得られなかったりします。なので、「ひとりで勝手に」..

    社内のVBA活用法

    まず、最初のご登壇はセラエノさん社内のVBA活用法のお話をいただきました。

    VBAで機械学習にトライするという猛者中の猛者(でもとても優しい方)で、ノンプロ研でも講座のティーチング・アシスタントを担当いただきました。

    どんなツールを作ってきたか

    セラエノさんが勤めるのは、いわゆる大企業。

    セキュリティが厳しい会社さんで、GASもSlackも利用できないし、アプリのインストールも不可、コマンドプロンプトも使用できない…と、使用するツールの制限もかなり多いわけです。

    そんな中で、プログラミングの活用なんて、無理そうと思いますよね??

    でも、Excelが使えるからVBAは使える!!!!

    それで、セラエノさんは得意のスキルと好奇心を活かして、以下のようなツールを次々と開発します。

    • 報告書作成ツール
    • 勤務管理ツール
    • 日報作成ツール
    • 送り状作成ツール
    • CSV編集ツール
    • 台帳補正ツール
    • 販売品管理ツール
    • 営業成績管理ツール
    • スキル判断ツール
    • イベントログ取得ツール
    • ベンチマークツール
    • ファイル一覧取得ツール
    • ハッシュ値取得ツール

    などなど…VBAでこんなことできるのかというところまで!

    さらに、他部署からの依頼も受けたり、部内・部外の研修を受けたりと獅子奮迅の大活躍をされています。

    なにせ、選択肢が限られてますから、VBAの使い所が多く、そして価値が非常に高いというわけなんですね。

    社内で活用するときに気をつけていること

    どんどん社内のあちこちから依頼を受けているセラエノさんが、依頼を受けるときに気をつけることを教えてくださいました。

    その中で、特に個人的にポイントだと思った点は「他部署からの依頼は必ず上司を通すこと」「バグをとことん消し込むこと」です。

    上司を通すことで、組織としてのお墨付きを得た状態で開発ができるわけですね。

    そして、上司や「VBA」の信頼を高めるように、完璧に近いツールを作ると。

    それでVBAやセラエノさんの信頼が高まって、あちこちからお声がかかり…みたいな良い循環が生まれるんですね。

    環境が厳しい会社でも、ちゃんとプログラミングをお仕事に活用できる、素晴らしい実績ですね。

    最後にセラエノさんのセリフをお借りします。

    「弊社環境ではExcel VBAは最強です!」

    社内のGAS活用法

    座右の銘が「働きたくないでござる!」のetauさんからは、GASの社内活用法についてです。

    etauさんは従業員数25名程度の中小企業の経営メンバー。

    ノンプロ研は初期から参加いただいていて、イベントやSlackをいつも盛り上げてくださっています。

    あと、9月からスタートする初心者講座GASコースの講師も担当いただきますね!

    GASで実現していること

    以下のような、社内のさまざまなフローをほぼGASで実現されているとのことです。

    • Googleフォーム&Slack
      • 出退勤打刻
      • 休暇、遅刻・早退申請
      • 健康診断申請
      • 応接・会議室予約
    • 時限トリガー
      • 総務、勤怠管理のアラート
      • 残業時間アラート
      • メール下書き作成
      • 月替りのシート・ドキュメント作成
      • スライドのPDF化
    • 値編集トリガー
      • 更新チェック
    • マクロボタン
    • bot
      • 質問
      • 翻訳
      • 有給管理

    …ここまでやりきったらかなり効率化されますよね。

    あと、bot系の話で目からウロコだったのは、アラート出してプッシュする仕事など、人がやるとストレスになるような仕事をbotにやらせようというもの。

    そういう考え方は本当に大事ですよね。

    どうGASを広げていくか

    まず、GASで自分の作業を効率化したあと、社内でGASを布教して広げていきます。

    etauさんは経営メンバーなので、どんどん首を突っ込んでいくスタイル。

    • Google+やSlackでプログラミングの情報を提供
    • 社内勉強会
    • あちこちの部署で「面倒そうな業務」を見つけてGAS化

    展開する上で、大きな面倒くさいことを効率化すると、今までは気にならなかった中くらいの面倒がなことが面倒に思えてくるので、その面倒と思える感度を上げていくというのが大事とのこと。

    そうして普及する中で、PCスキルが上がってくる、論理的に議論するメンバー増えた、同じ人員でたくさんの仕事を回せるようになったというメリットがあったそうです。

    etauさんはGASを学ばれてはじめてから2年くらいでここまで持ってこられたので、中小企業だったら1,2年くらいのスパンで一気にGAS化を進めるのはおすすめですね。

    まとめ

    以上、「ノンプログラマーのための社内のVBA&GAS活用法」のレポートでした。

    お二人ともたいへん素晴らしい事例で、コミュニティ運営担当の目線を抜きにしても、ここまでのプログラミング活用事例を聴けるイベントってなかなかないのではないかと思います。

    他にもノンプロ研には素晴らしい事例を持っている方々がたくさんいらっしゃると思いますので、ぜひ掘り起こしてお話いただけるようにしたいですね。

    今後の定例会イベントもぜひ楽しみにしていただければと思います。

    「ノンプログラマーのためのスキルアップ研究会」について

    コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」(略して「ノンプロ研」)。このページはその活動レポートまとめページです。コミュニティ活動の一気読みをされたい方、ぜひご活用くださいませ。
    ぜひ、皆様のご参加をお待ちしております!
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
    ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

    【GAS×freeeAPI】GETリクエストで当日入金予定の取引一覧を取得する

    $
    0
    0

    こんにちは!ITライターのもり(@moripro3)です!

    クラウド会計ソフトfreeeのAPIを使って経理業務を自動化するネタをお届けしています。

    このシリーズでは、freeeとチャットワークを連携して「当日入金予定の取引一覧を自動でチャットワークに送信するツール」の作成を目標とします。

    成果物のイメージがこちら!入金予定のある日に、取引一覧を自動でチャットワークに通知します。

    会計freeeのデータをチャットワークに通知

    前回の記事では、freeeAPIリファレンスの機能を使って、取引一覧を取得する「リクエストURL」を作成し、URL・パラメータの仕組みを紹介しました。

    【GAS×freeeAPI】指定条件の取引一覧を取得する「リクエストURL」の作り方と仕組み
    【GAS×freeeAPI】「当日入金予定の取引一覧を自動でチャットワークに送信する」シリーズの第2回目。freeeAPIリファレンス機能を使って「リクエストURL」を作成する方法、および、URLとパラメータの仕組みを紹介しています。

    今回の記事では、GASでfreeeAPIにアクセスして「当日入金予定の取引一覧を取得する」スクリプトを作成します。

    下記の図が「ツールの全体像」と「今回作成する範囲」です。

    freeeチャットワーク連携ツールの作成範囲

    シリーズを通してfreeeAPIを使いこなし、経理業務の自動化を進めていきましょう!

    (この記事はfreee株式会社さまとのコラボ企画です。シリーズを通して、皆さんの働くの価値を上げられるようサポートしていきます!)

    (おさらい)リクエストURL

    前回の記事で、freeeAPIリファレンスの「リクエストURL生成機能」を使って、リクエストURLを作成しました。

    https://api.freee.co.jp/api/1/deals?company_id=9999999&status=unsettled&type=income&start_due_date=2019-08-01&end_due_date=2019-08-01&limit=100

    このリクエストURLには、取得したいデータの「条件」が含まれています。

    項目名 パラメータ名
    事業所ID company_id (*required) 取得対象の事業所ID
    決済状況 status unsettled
    収支区分 type income
    支払期日(開始日) start_due_date 当日日付(yyyy-mm-dd)
    支払期日(終了日) end_due_date 当日日付(yyyy-mm-dd)
    取得最大件数 limit 省略した場合は20(ここでは最大値100とする)

    リクエストURLは「URL(①)」と「パラメータ(②)」で構成されています。URL(①)とパラメータ(②)は ? で結合します。

    ①URL

    https://api.freee.co.jp/api/1/deals

    ②パラメータ

    company_id=9999999&status=unsettled&type=income&start_due_date=2019-08-01&end_due_date=2019-08-01&limit=100

    パラメータは、「パラメータ名」と「値」を = で結合して「パラメータ名=値」とし、それらを & で結合します。

    パラメータ名=値&パラメータ名=値& ・・・ &パラメータ名=値

    スプレッドシートとfreeeAPIを連携する

    GASでfreeeAPIにアクセスするためには、スプレッドシートとfreeeAPIを連携・認証する必要があります。

    シリーズ初回の記事で、新規のスプレッドシートに「会計freee連携アドオン」を導入し、3つの情報を取得しました。

    • 勘定科目情報
    • 取引先情報
    • 品目情報

    これらの情報は今後も使うので、シリーズを通して同じスプレッドシートを利用していきましょう。

    今回の記事から、GASでfreeeAPIにアクセスしていきます。シリーズ1で連携の設定方法を紹介しているので、こちらの記事をご覧のうえ、設定してみてください。

    【はじめてのfreeeAPI】GASとfreeeつなぐ!連携認証の手順を一から紹介します
    GoogleAppsScriptでクラウド会計ソフトfreeeのAPIを操作するシリーズ。GASでfreeeを操作するために必要な「freeeマイアプリの作成」と「連携」の手順を、画面キャプチャ盛りだくさんで丁寧に紹介しています。

    ※すでにfreeeAPIと連携済みのスプレッドシートをお持ちの方は、そのスプレッドシートに「会計freee連携アドオン」を導入する方法でもかまいません。

    ここまで準備ができたら、スクリプトを書いていきましょう。

    当日の日付”yyyy-mm-dd”を取得する関数

    このシリーズで作成するツールでは、「当日入金予定の取引一覧」を取得します。

    そのため、前回作成したリクエストURLの、パラメータ「支払期日」に「当日日付」を設定します。

    • start_due_date(支払期日・開始日) = 当日日付
    • end_due_date(支払期日・終了日) = 当日日付

    https://api.freee.co.jp/api/1/deals?company_id=9999999&status=unsettled&type=income&start_due_date=当日日付&end_due_date=当日日付&limit=100

    スクリプトを日次で自動実行させるので、「当日日付」=「スクリプトを実行した日付」とします。

    そこで、「スクリプトを実行した日付」を取得する関数を作成します。

    日付の形式は、ハイフン区切りの「yyyy-mm-dd」です。

    (例)2019年8月1日 → 2019-08-01
    ※月・日が1桁の場合、先頭をゼロ埋めします

    まず、現在の日時でDateオブジェクトを生成します。

    new Date()

    次に、Utilitiesライブラリを使用して、Dateオブジェクトの表示形式を変更します。
    ※第3引数のフォーマットは’yyyy-MM-dd’です(Mが大文字)

    Utilities.formatDate(日付, タイムゾーン, フォーマット)

    以上の2つの処理で「yyyy-mm-dd」形式の日付を作成できます。

    var date = new Date(); //現在日時
    date = Utilities.formatDate(date, 'JST', 'yyyy-MM-dd'); //表示形式を変換
    Logger.log(date); //ex) 2019-08-01

    これで、変数dateに「スクリプトを実行した日付」が格納されるので、リクエストURLの日付パラメータを変数dateに置き換えればOKですね。

    当日入金予定の取引一覧を取得する

    リクエストURL生成機能で作ったリクエストURLがこちらでした。

    https://api.freee.co.jp/api/1/deals?company_id=9999999&status=unsettled&type=income&start_due_date=2019-08-01&end_due_date=2019-08-01&limit=100

    パラメータの「事業所ID」と「支払期日」を変数に置き換えます。(複数事業所をお持ちの方がIDを変更しやすいよう、事業所IDも変数に持たせておきます)

    パラメータの設定値をこのように変更します。

    • company_id(事業所ID) = company_id
    • start_due_date(支払期日・開始日) = date
    • end_due_date(支払期日・終了日) = date

    リクエストURLの「文字列」と「変数」は + で結合します。

    var company_id = '9999999'; //事業所ID
    var date = new Date(); //現在日時
    date = Utilities.formatDate(date, 'JST', 'yyyy-MM-dd'); //表示形式を変換
    
    var requestUrl = 'https://api.freee.co.jp/api/1/deals?company_id=' + company_id + '&status=unsettled&type=income&start_due_date=' + date + '&end_due_date=' + date + '&limit=100';
    
    Logger.log(requestUrl);

    変数requestUrlのログ出力結果です。

    https://api.freee.co.jp/api/1/deals?company_id=9999999&status=unsettled&type=income&start_due_date=2019-08-15&end_due_date=2019-08-15&limit=100

    このスクリプトは2019/8/15に実行したものなので、2つのパラメータの値が当日日付「2019-08-15」になっています。

    • start_due_date=2019-08-15
    • end_due_date=2019-08-15

    これで「当日入金予定の取引一覧」を取得するリクエストURLの完成です。

    GETリクエストでデータを取得する

    GETリクエストの基礎知識はシリーズ1で紹介しているので、はじめてfreeeAPIを操作する方はご覧になってみてください。

    【はじめてのfreeeAPI】GASでリクエストを送りfreeeの事業所一覧を取得する
    GoogleAppsScriptでクラウド会計ソフトfreeeのAPIを操作するシリーズ。GETリクエストでfreeeの事業所一覧を取得するコードと、freeeAPIリファレンスの読み方を紹介しています。

    変数requstUrlにリクエストURLをセットして、スクリプトを実行します。

    ※リクエストURLは、読みやすいようにパラメータ毎に改行しています。

    function getDeals() {
      
      var accessToken = getService().getAccessToken();
      
      var company_id = 'xxxxxxx'; //事業所ID
      
      var date = new Date(); //現在日時
      date = Utilities.formatDate(date, 'JST', 'yyyy-MM-dd'); //表示形式を変換
      
      //リクエストURL
      var requestUrl = 'https://api.freee.co.jp/api/1/deals?' + 
        'company_id=' + company_id + 
        '&status=unsettled' +
        '&type=income' + 
        '&start_due_date=' + date +
        '&end_due_date=' + date + 
        '&limit=100';
      
      //リクエスト送信時に付与するオプションパラメータ
      var params = {
        "method" : "get",
        "headers" : {"Authorization":"Bearer " + accessToken}
      };
      
      var response = UrlFetchApp.fetch(requestUrl,params);
      Logger.log(response);
      
    }

    対象データが存在する場合

    freeeの取引画面で「収入」「未決済」一覧を表示してみます。支払期日2019-08-15の取引が3件あります(あらかじめデータを仕込んでいます)

    スクリプトを実行して、この3件が取得できればOKです。

    当日入金予定の取引一覧freeeの画面

    実行結果のログ(変数responseの値)です。下記のようにJSON形式の文字列が返ってくれば成功です。

    due_date:2019-08-15 の3件を取得できました。

    freee支払期日が20190815の取引一覧

    対象データが存在しない場合

    条件に合致する取引が存在しない場合も、レスポンスが返ってきます。total_countというパラメータの値が0になっています。

    freee条件に一致する取引なし

    この場合、「当日入金予定の取引は無し」と判定できますね。

    まとめ・次回予告

    「当日入金予定の取引一覧を自動でチャットワークに送信する」シリーズの第3回目では、これらを紹介しました。

    • スクリプト実行時の「当日日付」を取得する関数の作り方
      →現在日時のDateオブジェクトを生成し、Utilitiesライブラリでフォーマット変更する(yyyy-mm-dd)
    • GETリクエストで当日入金予定の取引一覧を取得する方法
      →レスポンスとしてJSON形式の文字列を取得

    次回は、freeeAPIのレスポンス(JSON形式の文字列)から、必要なデータを取り出す方法を紹介します。

    どうぞお楽しみに!

    連載目次:【GAS×freeeAPI】当日入金予定の取引一覧を自動でチャットワークに送信する

    「クラウド会計ソフトfreee」のAPIをGASで操作して経理業務を自動化するシリーズ。「当日入金予定の取引一覧を自動でチャットワークに送信するツール」の作成を目標とします。

    1. ノンプログラミングでOK!「会計freee連携アドオン」でスプレッドシートにデータを取得する
    2. 【GAS×freeeAPI】指定条件の取引一覧を取得する「リクエストURL」の作り方と仕組み
    3. 【GAS×freeeAPI】GETリクエストで当日入金予定の取引一覧を取得する

    家族でプログラミングを学べる「ノンプロ研ファミリープラン」はじめます

    $
    0
    0

    family-study

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。

    もともと、ノンプロ研は「働く大人」のための集まりです。

    なのですが、2019年9月から「ファミリープラン」をスタートしまして、家族でプログラミングを学ぶ環境も提供していくことにしました。

    この記事では、「ファミリープラン」とは何か、どうしてはじめようと思ったのかについてお伝えしていきます。

    では、行ってみましょう!

    ファミリープランとは?

    「ファミリープラン」は、既にノンプロ研のメンバーである場合にのみ購入できる月額制の追加プランです。

    お値段は月額3000円+税となります。

    なので、ファミリープランを申し込むと、通常のノンプロ研のお支払いと合わせて、月額8000円+税のお支払いとなります。

    それで、ファミリープランを申し込むと、申し込まれた方の配偶者と、高校生までのお子さん(複数人可)が、全員ノンプロ研と同様のサービスを受けられるようになります。

    例えば、配偶者も「ノンプロ研に入りたい!」となったら、ファミリー追加プランを購入いただければ、一人あたり4000円となり、実質割引価格になります。

    お子さまがいらっしゃれば、例えばそれに加えて毎月1回開催する「ファミプロ」などのイベントにご家族で参加できるようになります。

    主宰の私が言うのもなんですが、ファミリー追加プラン、かなりお得だと思います!

    ファミリープランをはじめる理由

    子どもたちだけでなく、大人も学ぼう

    ファミリープランをはじめる直接的な理由は、小学校でのプログラミング学習の必修化をはじめとする、子どもたちを取り巻くプログラミング学習の環境変化です。

    これからの時代は、なお一層プログラミングスキルが武器になっていきます。

    その流れを受けて「プログラミング教室」がとても増えていますし、流行っています。

    それ自体は悪いことではありません。

    しかし、そこで一つの疑問が浮かびます。

    子どもたちは学校や教室でプログラミングを学ぶ(学ばされる)わけですが、では「大人」は?

    …よく考えてみましょう。

    プログラミングのスキルは仕事にも役立つし、市場価値も上がる。家庭や趣味にも活用できる。

    じゃあ、そんなにプログラミングが有益なら、大人も一緒に学んで、さっさと活用すればいいと思うのです。

    一方でノンプロ研は、そもそも学ぼうとしている大人ばかりですから、そのような中で子どもたちも入れて一緒に学ぶというのは、すごく良いことのように思います。

    家族というコミュニティをくるっとくるむ

    もうひとつの理由は、実はもっと前に遡って、「もくもく合宿」のときに感じたことです。

    もくもく合宿は、ノンプロ研メンバーが合宿して「もくもく会」をするという企画なのですが、実はご家族も参加OKにしていたんです(別行動で遊ぶという内容でしたが)。

    以下レポート記事です。

    ノンプロ研スタート以来初めて開催された「もくもく合宿 in 三浦海岸」
    なんと行って来てしまいました、ノンプロ研「もくもく合宿 in 三浦海岸」!コミュニティをスタートしてから1年。まさか、メンバーと合宿に行くことになろうとは…嬉しいですね。ということで今回は、もくもく合宿のレポートをします。

    その中で、感じたことを、こういうふうに伝えています。

    プログラミングを頑張るのって、ご家族の理解と協力が必要なんですね。
    職場がプログラミングについて協力的でないノンプログラマーであったら、なおのことなんです。職場以外の領域で頑張らざるを得ないので。

    これから、子どもたちはプログラミングをやらざるを得ないわけです。

    人生100年時代、大人たちも(プログラミングに限らずでありますが)、学び続けて自らの価値を維持向上し続けなければいけないわけです。

    それであれば、家族というコミュニティを、ノンプロ研の中にくるっとくるむ形にすれば、より一層みんなが無理せず、自然に、楽しく学べる環境が作れるのでは?

    と思った次第です。

    ファミプロと、その今後の展開は?

    最後に、家族でプログラミングを学ぶイベント「ファミプロ」についてお伝えします。

    今まで何度か開催してきましたが、その様子は以下レポートたちをご覧ください。

    ファミリー向けプログラミング研究会「ファミプロ」のKickOffイベントを開催しました
    コミュニティ「ノンプロ研」では、子どもたちも含めた家族向けプログラミング学習活動をしていこうとなりました。今回は、ファミリー向けプログラミング研究会「ファミプロ」のKickOffイベントレポートです。
    ファミプロ「親子もくもく会」で大人も子どもも学んだという話
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」でスタートした家族でプログラミングを学ぶ「ファミプロ」。その2回目のイベントとなる「ファミプロ親子もくもく会」が開催されましたのでレポートをお送りします。
    ノンプロ研のファミプロで「ロボット作り体験&ロボット操作もくもく会」を開催しました
    先日開催されたノンプロ研の家族向けイベント「ファミプロ」は、株式会社ユカイ工学さんの全面協力のもと「ロボット作り体験&ロボット操作もくもく会」を開催することができました。今回はそのレポートをお送りします。

    今後は、 きのぴぃ さん主導のもと、毎月一回ペースで開催をしていきます。

    いろいろな企画がありまして、まだ言えないのですが楽しみです…!

    ファミリープランのご家族はもちろん、通常のノンプロ研のメンバーも参加できますので、気になるメンバーはフラっと遊びに来てくださいね。

    まとめ

    以上、ノンプロ研「ファミリープラン」とは何か、どうしてはじめようと思ったのかについてお伝えしました。

    ファミリープランは、9/1に以下STORES.jpのショップにて購入可能になります。

    ノンプログラマーのためのスキルアップ研究会
    本店では、ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ「ノンプログラマーのためのスキルアップ研究会」のお申し込みをはじめとしてサービスを提供させていただきます。 コミュニティについての詳細は以下のページもご覧ください。 ○コミュニティ「ノンプログラマーのためのスキルアップ研究会」につい...

    詳細もそこでお知らせしますので、ご確認いただきつつ、お申込みいただければと思います。

    どうぞお楽しみに!

    「ノンプログラマーのためのスキルアップ研究会」について

    コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」(略して「ノンプロ研」)。このページはその活動レポートまとめページです。コミュニティ活動の一気読みをされたい方、ぜひご活用くださいませ。
    ぜひ、皆様のご参加をお待ちしております!
    コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
    ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

    Pythonを開発するエディタVisual Studio Codeについてとそのインストール手順

    $
    0
    0
    editor

    photo credit: lacygentlywaftingcurtains Revise, Revise (49/365) via photopin (license)

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    非エンジニアのWindowsユーザー向けに、AnacondaとVisual Studio Code(VS Code)でPythonの環境を作る手順をお伝えしています。

    前回の記事はこちら。

    【Python】非エンジニアWindowユーザー向けのAnacondaインストールの手順
    非エンジニアのWindowsユーザーがPythonを学び実務で使うことを目標にいくつかの記事を書いてきました。そろそろワンランク上の環境を…ということで、Anacondaの紹介とインストールについて解説します。

    Anacondaをインストールする手順を伝えしました。

    さて、今回はPythonを開発・実行するためのエディタとしてVisual Studio Codeをインストールしていきますよ。

    では、行ってみましょう!

    Visual Studio Codeとは

    Visual Studio Codeは、Microsoft社製の無料の多機能エディタです。

    略して「VS Code」などとも呼ばれます。

    • 軽量で高速
    • 多数のプログラミング言語をサポート
    • デバッグ機能
    • Gitを使える
    • 拡張機能で機能追加ができる
    • 開発が活発に行われている

    などなどの特徴があり、たいへん人気のあるエディタです。

    なぜPython用エディタとしてVS Codeを勧めるのか

    Python用のエディタとしては、高機能かつPythonに特化しているPyCharmもおすすめです。

    【ノンプログラマー向けPython】統合開発環境「PyCharm」のインストールと初期設定
    非エンジニア&Windowsユーザーのための開発環境作りについてお伝えしています。今回は、Python専用高機能IDEのPyCharmについて、またそのインストールと初期設定についてお伝えしていきますよ。

    ただ、ノンプログラマーであっても他の言語に興味が出てくることがあります。

    そのときになって、他のエディタを検討し、導入し、慣れるには負荷がかかりますので、それであれば、最初から多数の言語をサポートするVS Codeを使っておいたほうが良いというのが一つの理由です。

    また、VS Codeは、Anaconda経由で簡単にインストールができ、かつその場合には必要な拡張機能も同時に追加されますので、ほとんど設定をしなくてもPythonを使い始めることができるというのもメリットの一つです。

    Visual Studio Codeをインストール

    では、実際にVisual Studio Codeをインストールしていきましょう。

    なお、すでにAnacondaのインストールは完了しているところからスタートしますので、まだの方は、以下の記事を参考にAnacondaをインストールください。

    【Python】非エンジニアWindowユーザー向けのAnacondaインストールの手順
    非エンジニアのWindowsユーザーがPythonを学び実務で使うことを目標にいくつかの記事を書いてきました。そろそろワンランク上の環境を…ということで、Anacondaの紹介とインストールについて解説します。

    Anaconda Navigatorを起動する

    VS CodeのインストールはAnaconda Navigatorから簡単に行うことができます。

    Anaconda Navigatorは、Anacondaに同梱している数々のソフトウェアの起動や、関連ソフトウェアのインストールなどを行うことができます。

    では、まずAnaconda Navigatorを起動しましょう。

    Windows キーでWindowsメニューを開いて「anaconda」などと打ちます。

    「Anaconda Prompt」や「Anaconda Navigator」がインストールされていることを確認できます。

    ここで「Anaconda Navigator」を選択します。

    WindowsメニューからAnaconda Navigatorを選択

    「Anaconda Navigator」が開きます。

    VS Codeをインストール・ローンチする

    初期画面で既にVS Codeが表示されていますので、ここからインストールとローンチを行うことができます。

    VS Codeは以下のように紹介されていますね。

    デバッグ、タスク実行、バージョン管理などの開発操作をサポートする合理化されたコードエディター

    では、「Install」をクリックしてインストールしましょう。

    Anaconda NavigatorでVS Codeを「Install」

    インストールがはじまりますので、しばらく待ちます。

    完了すると「VS Code」のボタンが「Launch」に変わりますので、クリックします。

    Anaconda NavigatorでVS Codeを「Launch」

    すると、VS Codeが立ち上がります!

    VS Codeが起動した

    同時に以下ドキュメントページも立ち上がります。

    Documentation for Visual Studio Code
    Find out how to set-up and get the most from Visual Studio Code. Optimized for building and debugging modern web and cloud applications. Visual Studio Code is...

    Visual Studio Codeの公式ドキュメントですね。英語ですが。

    VS Codeを起動してみよう

    次回以降のVS Codeの起動の方法を確認しておきましょう。

    Windows キーでWindowsメニューを開いて「vscode」などとすれば、「Visual Studio Code」が表示されます。

    選択すれば直接立ち上げることもできます。

    WindowsメニューからVS Codeを起動する

    まとめ

    以上、Pythonを開発実行するエディタVisual Studio Codeとは何か、またVS Codeをインストールする手順をお伝えしました。

    次回以降、VS Codeの使い方をお伝えしていきますよ。

    どうぞお楽しみに!

    連載目次:ノンプロPython~Anaconda&VS Code環境作り

    非エンジニア&Windowsユーザー向けのPython環境づくり。最近、人気急上昇中の統合開発環境Visual Studio Code(VSCode)を使ってPythonの環境を作る手順についてシリーズでお伝えします。
    1. 【Python】非エンジニアWindowユーザー向けのAnacondaインストールの手順
    2. Pythonを開発するエディタVisual Studio Codeについてとそのインストール手順

    【初心者向けPython】VS Codeを最初に立ち上げたWelcome画面と画面構成について

    $
    0
    0
    windows

    photo credit: Damien Walmsley 20190729-In and out of windows via photopin (license)

    みなさん、こんにちは!
    タカハシ(@ntakahashi0505)です。

    非エンジニアのWindowsユーザー向けに、AnacondaとVisual Studio Code(VSCode)でPythonの環境を作る手順をお伝えしています。

    前回の記事はこちらです。

    Pythonを開発するエディタVisual Studio Codeについてとそのインストール手順
    非エンジニアのWindowsユーザー向けに、AnacondaとVisual Studio CodeでPythonの環境を作る手順をお伝えしています。今回はエディタVS Codeのインストールについてです。

    Pythonの開発・実行に使用するエディタとしてVisual Studio Code(VS Code)のインストールを行いました。

    今回は、VS Codeを最初に立ち上げたWelcome画面と画面構成についてお伝えしていきます。

    では、行ってみましょう!

    Welcome画面

    VS Codeを最初に立ち上げると、以下のようなWelcome画面が表示されます。

    VS CodeのWelcome画面

    我々日本人にとっては、まったく歓迎されているとは思えない画面ではありますが、「ここからはじめるといいよ」とか、「困ったらここを見てね」とか、そういうことがどうやら伝えたいようです。

    ただ、このWelcome画面は「Help」メニューの「Welcome」からいつでも開けます。

    ということで、「Show welcome page on startup」のチェックを外しつつ、上部の「Welcome」タブの「×」で閉じちゃいましょう。

    VS CodeのWelcome画面を閉じる

    これで、以降VS Codeを立ち上げたときに、Welcome画面が表示されなくなります。

    閉じた画面が以下です。

    VS Codeのすべてのタブを閉じたところ

    少し操作しておわかりかと思いますが、VS Codeでは何かを開くと「タブ形式」で開かれるかたちです。

    なので、複数のファイルとか設定画面をタブとしていくつも開いておくことができます。

    そして、該当の「×」ボタンをクリックすると、そのタブを閉じることができるわけですね。

    VS Codeの画面構成

    では、VS Codeの画面構成について解説をしていきますね。

    アクティビティバー

    まず、特徴的なのが左側に並んでいる5つのアイコン(一番下に歯車アイコンもありますね)です。

    それぞれクリックすると、展開されます。

    このエリアをアクティビティバーといいます。

    VS Codeのアクティビティバー

    上記の画面は、ファイルのアイコンをクリックしたところで、展開するとファイル管理に関する操作を行うことができます。

    アクティビティバーのアイコンは上から順に、それぞれ以下のような役割を持っています。

    1. Explorer: ファイル管理
    2. Search: 検索
    3. Source Control: バージョン管理
    4. Debug: デバッグ
    5. Extensions: 拡張機能を管理する
    6. Manage: 設定

    最初のほうはよく使うのはExplorerですかね。

    アクティビティバーは Ctrl + B でも開いたり閉じたりできます。

    Extensions: 拡張機能の管理

    VS CodeではExtensionsとよばれる拡張機能がたくさん配布されていてインストールをすることで好みのカスタマイズができるようになっています。

    前回の記事のように、Anaconda経由でインストールすると以下3つの拡張機能が標準でインストールされます。

    1. Anaconda Extension Pack
    2. Python
    3. YAML

    VS Codeの拡張機能

    Anaconda Extension Packをインストールすると、残りの「Python」と「YAML」がインストールされることになっています。

    ここで重要なのは「Python」で、これはVS Codeを開発しているMicrosoft純正のPython用拡張機能**です。

    これを入れることで、Pythonについてのコードチェック、デバッグ、コード補完、補正などの様々な機能の恩恵に預かることができるというわけです。

    Anaconda経由でインストールすれば、最も信頼できるといってもいいPython用の拡張機能も勝手にインストールされますので、初心者ノンプログラマーにはたいへんありがたいですよね。

    ステータスバー・メニュー・エディタエリア

    VS Codeの他の構成部分ですが、以下のようになっています。

    VS Codeの画面構成

    ステータスバーは現在のPythonの状況や、開いているファイルに関するさまざま情報が表示されます。

    メニューからはさまざまな操作を行うことができますが、かなりたくさんあるので、最初からすべて把握しなくても必要なものから順に使っていけばよいと思います。

    そして、エディタエリアでPythonのコードを編集していきます。

    実際に、Pythonのコードを書いて実行するのは、もう少し後の記事で紹介していく予定です。

    まとめ

    以上、VS Codeを最初に立ち上げたWelcome画面と画面構成についてお伝えしました。

    少し慣れ親しんでいただいたと思うのですが、次回もう少しだけ準備を…

    VS CodeでPythonを使用するためのいくつかの設定について紹介します。

    どうぞお楽しみに!

    連載目次:ノンプロPython~Anaconda&VS Code環境作り

    非エンジニア&Windowsユーザー向けのPython環境づくり。最近、人気急上昇中の統合開発環境Visual Studio Code(VSCode)を使ってPythonの環境を作る手順についてシリーズでお伝えします。
    1. 【Python】非エンジニアWindowユーザー向けのAnacondaインストールの手順
    2. Pythonを開発するエディタVisual Studio Codeについてとそのインストール手順
    3. 【初心者向けPython】VS Codeを最初に立ち上げたWelcome画面と画面構成について
    Viewing all 2075 articles
    Browse latest View live


    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>