第1回プログラミング大学in福岡

88
第1回プログラミング大学 in 福岡 2014年6月19日 kintone公認エバンジェリスト 山下 竜 Twitter: @yamaryu0508 FB: https://www.facebook.com/ryu.yamashita.3 Blog: http://yamaryu0508.hatenablog.com/

Upload: ryu-yamashita

Post on 21-Jun-2015

282 views

Category:

Education


0 download

DESCRIPTION

第1回プログラミング大学in福岡で使ったスライドです。 ・今話題のkintoneって何だろう! ・kintoneを使ってアプリを作ろう! ・プログラミングってそもそも何だろう! 関連記事 http://yamaryu0508.hatenablog.com/entry/2014/06/24/224203

TRANSCRIPT

Page 1: 第1回プログラミング大学in福岡

第1回プログラミング大学 in 福岡

2014年6月19日 kintone公認エバンジェリスト 山下 竜Twitter: @yamaryu0508 FB: https://www.facebook.com/ryu.yamashita.3 Blog: http://yamaryu0508.hatenablog.com/

Page 2: 第1回プログラミング大学in福岡

アジェンダ• アイスブレイク

• 今話題のkintoneってなんだろう!

• kintoneを使ってアプリを作ろう!

• プログラミングってそもそも何だろう!

• 仕事について理解を深めよう!

• 開催者からのお知らせ

※太字:私のパート

Page 3: 第1回プログラミング大学in福岡

まずプログラミングとは?

kintoneを語る前に

「今話題のkintoneってなんだろう!」

Page 4: 第1回プログラミング大学in福岡

プログラミングとは?

アプリを作って、提供する一連のプロセス

1つの表現として

Page 5: 第1回プログラミング大学in福岡

では、kintoneとは?

Page 6: 第1回プログラミング大学in福岡

kintoneとは?

1行もコードを書かずに ドラッグ&ドロップだけで、

Webアプリを作れる最速のプログラミング環境!(簡単かつ柔軟)

Page 7: 第1回プログラミング大学in福岡

kintoneとは?

そして、最短で改善・効率化を実現する アプリの提供環境

Page 8: 第1回プログラミング大学in福岡

最速な様子

Page 9: 第1回プログラミング大学in福岡

通常 kintone

ネットワーク・サーバの準備

OSのインストール

プログラミング言語開発環境・データベースのインストール

アプリ作成 (要件定義・コーディング・テスト)

アプリ完成!

申込

アプリ作成 (ドラッグ&ドロップ)

準備 (数時間~数日)

準備 (数分)

待ち (数分)

作業 (数日~数年)

作業 (数分)

※「通常」の方で、作ることと提供することの区別がやや曖昧に表現されています

Page 10: 第1回プログラミング大学in福岡

通常

ネットワーク・サーバの準備

OSのインストール

プログラミング言語開発環境・データベースのインストール

アプリ作成 (要件定義・コーディング・テスト)

アプリ完成!

• サーバ/PCを買う

• OS/ライセンスを買う

• トラブりながらインストール・設定作業

環境を準備するだけでも、 (初心者には)金銭的・時間的に リスクだらけです!

そして、本1冊読んでコードを 書いても、他人に提供して、 利用出来るアプリには至れません

初心者でなくても割と似たようなものですorz

これが難しいイメージ?

Page 11: 第1回プログラミング大学in福岡

kintone

申込

アプリ作成 (ドラッグ&ドロップ)

アプリ完成!

• 何しようにも安い・速い・簡単

• 気軽に始められる

• やめようと思えばすぐにやめられる

• 自動的にモバイル対応

• 見えない所で安全・安心要素満載

最短3分で、改善・効率化を 実現するアプリを提供できる!勿論弱点もありますが、アップデート・改修も

ファストなので気になりません

(kintone押しの身としては使い続けて頂けると嬉しいです)

(780円/u/月で) (作るのも) (使うのも)

Page 12: 第1回プログラミング大学in福岡

通常 kintone

ネットワーク・サーバの準備

OSのインストール

プログラミング言語開発環境・データベースのインストール

アプリ作成 (要件定義・コーディング・テスト)

アプリ完成!

申込

アプリ作成 (ドラッグ&ドロップ)

準備 (数時間~数日)

準備 (数分)

待ち (数分)

作業 (数日~数年)

作業 (数分)

※いつか機会があれば、比べてみましょう

Page 13: 第1回プログラミング大学in福岡

なぜ、こんなファストが 可能なのか?

Page 14: 第1回プログラミング大学in福岡

kintoneがファストな理由①

100個弱のアプリが提供されていて、無料アプリは即ダウンロードできます。 あなたの課題を解決してくれるアプリに出会えるかも?

アプリストアの存在

(出典:「kintoneアプリストア」)

Page 15: 第1回プログラミング大学in福岡

kintoneがファストな理由①

アプリストアを見ていると、『逆引き』的に「会社」・「業務」の困りどころも見えてきたりします!

Page 16: 第1回プログラミング大学in福岡

kintoneがファストな理由②

業務フローを形作るための パーツが絶妙なバランスで

準備されている!

自分で作るのにも

Page 17: 第1回プログラミング大学in福岡

• コンセプト

• 「ファストシステム」

• 「10分で業務改善アプリ」

• 基本構成要素

• データ

• ワークフロー

• コミュニケーション

kintoneの概要

(出典:「kintone公式サイト」)

アプリ作成のための機能群

「サイボウズプロダクト=チームを強くするツール」の中でも汎用性と専門性を行き来しながら、様々な業務シーンで活用出来るクラ

ウドデータベース(WebDB)サービス

Page 18: 第1回プログラミング大学in福岡

kintoneの基本要素①

ドラッグ&ドロップでフォーム作成

フォーム編集

おすすめグラフ

グラフの種類や集計方法の候補を自動生成

• データ

Page 19: 第1回プログラミング大学in福岡

kintoneの基本要素②• ワークフロー(プロセス管理)

• 柔軟なワークフロー(電子申請・承認)設定

ステータス設定 プロセス設定ワークフローの実行

ステータス名や条件分岐を自由に設定

Page 20: 第1回プログラミング大学in福岡

kintoneの基本要素③

アプリ内コメントスペース

ピープル アプリやコミュニケーションの融合

個人間のコミュニケーション

スマホ通知

• コミュニケーション

Page 21: 第1回プログラミング大学in福岡

kintoneの基本要素(その他)• その他

モバイルビュー

2ファクター認証

4重冗長化「Square」

(出典:「cybozu.comのクラウド基盤」)

これでもか!と言うくらいのBU

[subdomain]

モバイルで使ってこそのクラウド

※地図はJavaScript カスタマイズです

Page 22: 第1回プログラミング大学in福岡

最速過ぎて 有り余る時には・・・

Page 23: 第1回プログラミング大学in福岡

• REST API

• レコードやスペースの操作(登録・更新・削除等)、バルクAPI

• ユーザ・組織の操作

• JavaScript/CSSカスタマイズ

• 各種イベントハンドル、情報取得

• プロキシによる外部API連携

• URL指定によるライブラリの読み込み(HTTPS対応)

kintoneの拡張機能

データ レコード スペース ユーザ

ユーザインターフェース

基幹システム Excel

他のクラウドREST API

kintone.proxy

(他システムとのデータの出し入れ)

(見た目や操作性の強化)

カスタマイズ機能を使うのもの良いでしょう!(これにはコードの記述が必要です)

Page 24: 第1回プログラミング大学in福岡

色々言うより やってみましょう!

「今話題のkintoneってなんだろう!」

「kintoneを使ってアプリを作ろう!」

Page 25: 第1回プログラミング大学in福岡

まずは私から

Page 26: 第1回プログラミング大学in福岡

タブレットとkintoneを活用したアンケートBefore

After

Page 27: 第1回プログラミング大学in福岡

ハンズオンしていきましょう

Page 28: 第1回プログラミング大学in福岡

準備(サンプルダウンロード)①「https://github.com/yamaryu0508/pg-univ-1」にアクセス

②「Download ZIP」をクリックして、 ファイル一式をダウンロード

Page 29: 第1回プログラミング大学in福岡

アプリの作り方

• 自分でフォームを並べてアプリを作る

• Excel/CSVを取込んでアプリを作る

• kintoneアプリストアからアプリを作る(選ぶ)

• SI/サービスを受けてアプリを作る(もらう・買う)

今日はこの辺

Page 30: 第1回プログラミング大学in福岡

今回のアプリ作成シナリオ(インターン先の)社内にこんな課題があると感じた/耳にしたと想像してみてください。数日後に解決策を提案するつもりで考えてみましょう!

案件情報をExcelで管理しているが、同時入力ができなかったり、誰かが古い内容を含むファイルで上書きしてしまったり。また、協力会社と共有しているがメールの飛ばし合いで、破綻気味だ

顧客情報を安全に外出先から閲覧したい(これも社内HDD上にExcelで管理している)

業日報は上司へのメール報告になっているが、メンバーで共有したい(CC面倒だ)

��� �� �������� �� ���

��� �� �������� �� ���

��� �� �������� �� ���

Page 31: 第1回プログラミング大学in福岡

私の思いつき(今日のアプリ作成の流れ)

• 「営業日報」はアプリストアに「商談報告書」というアプリがあったはずなので、そのまま利用

• 「顧客情報」はExcelからそのまんま取込んでしまおう

• 「案件情報」もそのまま取込んでもいいけど、自分で作ってみよう

・顧客情報との紐付けでルックアップも有用 ・協力会社との情報共有にはゲストスペースも有用  (ゲストスペースは今回は取り上げません)

Page 32: 第1回プログラミング大学in福岡

私の思いつき(今日のアプリ作成の流れ)

① 営業日報 ③ 案件情報② 顧客情報

(アプリストアから)(Excelから)

(自分でフォーム設計)

Page 33: 第1回プログラミング大学in福岡

課題解決(提案の中身)

• 情報を共有するのはkintoneの得意とする所なので、「同時入力」や「メールの飛ばし合い」による手間、情報管理のミスは自動的になくなる

• 外出先からの参照はBasic認証だけで不安ならセキュアアクセス(オプション)もあるので、セキュリティの壁は越えられる

• これをキッカケに他の課題解決にも取り組んでもらおう(提案しよう)

• クラウドなのでまずは試してもらうところから(継続してもらえるようにフォローは必要)

Page 34: 第1回プログラミング大学in福岡

②「アプリストアから選ぶ」 をクリック

アプリ作成①「営業日報」

①「作成」をクリック

Page 35: 第1回プログラミング大学in福岡

アプリ作成①「営業日報」

※「営業・セールス」を選択

④「追加」をクリック

③「このアプリを追加」をクリック

Page 36: 第1回プログラミング大学in福岡

アプリ作成①「営業日報」

⑤めでたく完成!

Page 37: 第1回プログラミング大学in福岡

アプリ作成②「顧客情報」

①「作成」をクリック

②「Excel/CSVから作成」をクリック

Page 38: 第1回プログラミング大学in福岡

アプリ作成②「顧客情報」

③Excel/CSVファイルを取り込み

Page 39: 第1回プログラミング大学in福岡

アプリ作成②「顧客情報」

④フィールドタイプを選択 (今回は右のように変更)

⑤「作成」をクリック

Page 40: 第1回プログラミング大学in福岡

アプリ作成②「顧客情報」

⑥めでたく完成!

Page 41: 第1回プログラミング大学in福岡

アプリ作成③「案件情報」• 案件情報として管理する必要がありそうな情報を洗い出す(考えながら作って、後からの追加・修正も大丈夫)

• 「はじめから作成」で、ガイドに従ってアプリ作成フォーム項目 フィールドの種類タイトル 文字列(1行)担当者 文字列(1行)

納工期(開始) 日付

納工期(終了) 日付

会社名 ルックアップフィールド (設定は最後に)

先方担当者 文字列(1行)電話番号 文字列(1行)内容 文字列(複数行)

参考資料 添付ファイル

ルックアップ先のフィールドを配置した後

(今回は「先方担当者」、「電話番号」)

Page 42: 第1回プログラミング大学in福岡

アプリ作成③「案件情報」

①「作成」をクリック

②「はじめから作成」をクリック

Page 43: 第1回プログラミング大学in福岡

アプリ作成③「案件情報」

• 「アプリストアから選ぶ」でアプリ作成

※ここからガイドに従って進めます

③「アプリ名」を入力して「保存」をクリック

Page 44: 第1回プログラミング大学in福岡

アプリ作成③「案件情報」

• 「アプリストアから選ぶ」でアプリ作成

⑤アイコンを選択 (好みで)

⑥デザインを選択 (好みで)

⑦アプリの説明を入力 (適当に)

⑧「保存」をクリック ④「一般設定」をクリック

Page 45: 第1回プログラミング大学in福岡

アプリ作成③「案件情報」

• 「アプリストアから選ぶ」でアプリ作成⑪「保存」をクリック ⑨「フォームの編集」をクリック

⑩ドラッグ&ドロップでフォーム設計

※「会社名」(ルックアップフィールド)の設定

Page 46: 第1回プログラミング大学in福岡

アプリ作成③「案件情報」

• 「アプリストアから選ぶ」でアプリ作成⑮「保存」をクリック ⑫「一覧の追加」をクリック

⑭ドラッグ&ドロップで表示一覧設定

⑬「一覧名」を入力

Page 47: 第1回プログラミング大学in福岡

アプリ作成③「案件情報」

⑯「設定完了」をクリック

Page 48: 第1回プログラミング大学in福岡

アプリ作成③「案件情報」

⑰めでたく完成!

Page 49: 第1回プログラミング大学in福岡

アプリ完成イメージまとめ

フォームの項目を 洗い出し

アプリストアの テンプレートベース

顧客情報

営業日報

案件情報

情報参照 (ルックアップ)

フォームもデータも 元のExcelベース

Page 50: 第1回プログラミング大学in福岡

今回のアプリで解決出来る他のケースBefore

Page 51: 第1回プログラミング大学in福岡

今回のアプリで解決出来る他のケース(続き)

• 現場で必要な情報は事務所からペーパー持参が主となっている(無くして問題になったことも)

• 現場で急遽必要になった情報の即時入手が困難である

• 作業時の現場の状況が把握しづらい

• 事務所と現場の連絡は電話が主となっており、重要な項目について履歴を残しにくいことがある

• グループ企業間での情報連携がスムーズに行えず、情報の2重管理等の手間を要している

Before

Page 52: 第1回プログラミング大学in福岡

今回のアプリで解決出来る他のケース(続き)After

Page 53: 第1回プログラミング大学in福岡

ちょっとだけ コーディング

機能強化で更に便利なアプリを!

(出典:「cybozu.com developer network」)

(と言ってもサンプルを入れて試すだけです)

時間があれば

Page 54: 第1回プログラミング大学in福岡

JavaScriptカスタマイズ(完成イメージ)

• 「案件情報」にガントチャートを導入

• 「顧客情報」に地図を導入

ガントチャート

地図

サンプルコードを今日作ったアプリに適用します

(アプリをサンプル用に改造)

Page 55: 第1回プログラミング大学in福岡

• 準備

JavaScriptカスタマイズ① 「案件情報」にガントチャートを導入

フォーム項目 フィールドの種類 フィールドコード 初期値・選択肢 !

タイトル 文字列(1行) To_Do

納工期(開始) 日付 From

納工期(終了) 日付 To

内容 文字列(複数行) Details色 ドロップダウン Color Red, Orange, Blue, Green

「フィールドコード」を設定

「(色)フィールド」を追加

Page 56: 第1回プログラミング大学in福岡

JavaScriptカスタマイズ① 「案件情報」にガントチャートを導入

②「フォームの編集」をクリック

①アプリトップ右上の「歯車」の「このアプリの設定」をクリック

Page 57: 第1回プログラミング大学in福岡

JavaScriptカスタマイズ① 「案件情報」にガントチャートを導入

①「歯車」の「設定」をクリック

②「フィールドコード」を設定(他も同様)

③「色」フィールドを追加

④「保存」をクリック

Page 58: 第1回プログラミング大学in福岡

JavaScriptカスタマイズ① 「案件情報」にガントチャートを導入

⑤「JavaScript/CSSでカスタマイズ」をクリック

Page 59: 第1回プログラミング大学in福岡

JavaScriptカスタマイズ① 「案件情報」にガントチャートを導入

⑥「アップロードして追加」から サンプルファイルをアップロード

⑦「保存」をクリック

Page 60: 第1回プログラミング大学in福岡

JavaScriptカスタマイズ① 「案件情報」にガントチャートを導入

⑧「設定完了」をクリック

Page 61: 第1回プログラミング大学in福岡

⑧めでたく完成!

JavaScriptカスタマイズ① 「案件情報」にガントチャートを導入

Page 62: 第1回プログラミング大学in福岡

• 準備

JavaScriptカスタマイズ② 「顧客情報」に地図を導入

フォーム項目 フィールドの種類 フィールドコード

住所 文字列(1行) Address

緯度 数値 lat

経度 数値 lng

レコード番号 (レコード番号) record_no

「フィールドコード」を設定

「(レコード番号)フィールド」を追加

Page 63: 第1回プログラミング大学in福岡

②「フィールドコード」を設定(他も同様)

③「レコード番号」フィールドを追加

①「歯車」の「設定」をクリック

※「ガントチャート」と 同様に設定していく

JavaScriptカスタマイズ② 「顧客情報」に地図を導入

Page 64: 第1回プログラミング大学in福岡

めでたく完成!

JavaScriptカスタマイズ② 「顧客情報」に地図を導入

Page 65: 第1回プログラミング大学in福岡

ここで、ちょっとだけまとめておきましょう

Page 66: 第1回プログラミング大学in福岡

アプリを作る時の進め方

アプリストアから選ぶ

利用

自分で加除修正 ドラッグ&ドロップで作る

少しイメージが違う 全くイメージが違う

効率化したい課題を吟味

そして、修正や作り直して ブラッシュアップしましょう

Page 67: 第1回プログラミング大学in福岡

プログラミングについて考えていきましょう

「kintoneを使ってアプリを作ろう!」

「プログラミングってそもそも何だろう!」

Page 68: 第1回プログラミング大学in福岡

プログラミングとは?

アプリを作って、提供する一連のプロセス

1つの表現として

Page 69: 第1回プログラミング大学in福岡

プログラミングの必要性

高まってきていると言わざるを得ないでしょう!

トレンドとしては

Page 70: 第1回プログラミング大学in福岡

まず「理系か文系か?」

プログラミング= 理系の学生?

文系の学生に プログラミングは不要?

Page 71: 第1回プログラミング大学in福岡

理系か文系か?

理系の大学生が1年生でプログラミングを学ばされる理由を考えると分かるような気がします。

Page 72: 第1回プログラミング大学in福岡

理系か文系か?

理系の大学生が1年生でプログラミングを学ばされる理由を考えると分かるような気がします。

理系の場合は、その後の学習・研究を進める際に有用になる可能性が高いからだと思います

Page 73: 第1回プログラミング大学in福岡

では、「文系でも」と言われるようになってきたのは?

Page 74: 第1回プログラミング大学in福岡

プログラミングの必要性アメリカ大統領が言ったから?

(出典:「https://www.youtube.com/watch?v=6XvmhE1J9PY#t=28」)

「コンピューターを勉強することはあなたの未来のためだけじゃないんだ。アメリカの未来がかかっている。」

Page 75: 第1回プログラミング大学in福岡

(出典:「https://www.youtube.com/watch?v=zXubEVVDGxs」)

「Everyone Should Learn to Code」

プログラミングの必要性

「プログラミングを学ぶのなら、生涯仕事に困らないことを私が保証しよう。」(Facebook元役員Chamath Palihapitiya)

Facebookの元役員が保証してくれるから?

Page 76: 第1回プログラミング大学in福岡

プログラミングの必要性政府の成長戦略素案にプログラミング教育が出てきたから?

(出典:「http://techacademy.jp/magazine/736」)

「toggeter」[http://togetter.com/li/519664]等でも賛否意見・議論されています

義務教育としてなら、音楽や美術等の副教科的な感じが良いかと個人的に思います(キッカケの場)。教材のアップデートが大変そうですし、先生のスキルに左右され過ぎそうです。

Page 77: 第1回プログラミング大学in福岡

プログラミングを学ぶ必要性

• ICT利活用の敷居は下がり続けていくので、一歩踏み込んで、アプリも「使う」側から「作って、提供する」側にいくのも当たり前になってくる

• タダで学べる環境も充実してきているので、プログラミングが教養化していく

• データや情報の量が増えてきているので、これらの整理、自身の思考の整理、効率的かつ高速な意思決定等を行うのに役立たせる

• 日本の(労働)人口が減っていくことから、労働力の補完として役立たせる(古典的には、ルール化された計算や単純作業、繰り返し作業のPCへのお任せ)

私の思いとしては、・・・今後学生として、社会人として・・・

Page 78: 第1回プログラミング大学in福岡

下がり続けるICT利活用の敷居

1995年頃

CPU:200MHz メモリ:32MB HDD:5GB 通信:32kbps約50万円

CPU:1.2GHz メモリ:512MB HDD:40GB 通信:10Mbps

2005年頃

約25万円

現在

CPU:1.4GHzDC メモリ:4GB HDD:256GB 通信:1Gbps約10万円

PC

私が欲しかったPC 私が買ったPC 私が使ってるPC

Page 79: 第1回プログラミング大学in福岡

インターネット

下がり続けるICT利活用の敷居

インターネットを使うのは当たり前

Page 80: 第1回プログラミング大学in福岡

プログラマ人口

国内のプログラマ人口は40~100万人くらいのようです

世界最大のプログラマコミュニティサイト『GitHub』のユーザ数は年間100万人単位で増加(現在は約400万ユーザ、約1,000万レポジトリ)

Page 81: 第1回プログラミング大学in福岡

プログラミング学習サイト(無料)

※2年間で再生回数1,000万回突破

Page 82: 第1回プログラミング大学in福岡

プログラミングコミュニティサイト

プログラミングに関する様々なQ&A、ディスカッションが展開されています!

Page 83: 第1回プログラミング大学in福岡

増え続けるデータ・情報

(出典:「EMARKETINGBLOG.NL」)

Page 84: 第1回プログラミング大学in福岡

減少する日本の(労働)人口1億3千人弱

1億人弱

(出典:「ツタグラ」)

Page 85: 第1回プログラミング大学in福岡

最後に

Page 86: 第1回プログラミング大学in福岡

アプリ提供に必要とされるもの

コーディング

ユーザーの利用価値

継続性+

+ アプリケーション=

プログラミング

スピード+

Page 87: 第1回プログラミング大学in福岡

アプリ提供に必要とされるもの

ユーザーの利用価値

継続性+

+ アプリケーション=

kintoneを活用すれば、「スピード」と「コーディング」の要素は意識しなくてよくなるので、しっかり考えたいところに時間を割けるようになります!

プログラミング

Page 88: 第1回プログラミング大学in福岡

kintoneでプログラミングと改善はじめませんか?

便利な業務改善アプリ JavaScript

+ =更に便利な業務改善アプリ

ICTツール

kintoneでプログミラングと(業務)改善はじめてみませんか?

手応えが欲しい方はJavaScriptあたりも

※エディタさえあれば大丈夫