Upgrade to Pro — share decks privately, control downloads, hide ads and more …

初学者がやりがちなトラブル3選と解決策

 初学者がやりがちなトラブル3選と解決策

932329c79bc511fdfed22abbd5ec92d2?s=128

Ryota Nakamura

February 19, 2022
Tweet

More Decks by Ryota Nakamura

Other Decks in Technology

Transcript

  1. 1 というか 市民開発者?

  2. ステータス りなたむ / 中村 亮太 / @R_t_A_n_M ITの町医者 / 株式会社ソントレーゾ

    CTO / Martinysystem Works LV:40 PLV:42 STEPS : 680,823 N.STEPS : 30,177 アビリティ 即興アプリ作成デモ オンラインハンズオン Power Apps でゲーム作成 バーコードバトラー Azure Quiz アプリ 装備 MVP:Business Applications Microsoft 365 E5 Power Apps / Power Automate Power Automate for desktop Dynamics 365 C.E. HoloLens 2 Azure Virtual Desktop Dot Icon Designed by おーちょ(@kurokuro1008)
  3. 3 ようつべ やってます😀😀 https://bit.ly/YoutubeSentreseauTV https://bit.ly/SentreseauTVWorkImprovement

  4. 4 このお話は、市民開発者と共にプロジェクトを進めるにあたり りなたむ氏が経験した実際の出来事である

  5. 5

  6. 6 いつまでたっても編集画面が表示されない アプリの修正を行おうと編集画面を開くと、起動に15分から20分ぐらいかかるようになってしまった

  7. 7 オブジェクト参照しまくり ラベルオブジェクトに表示させている情報をもとに、別のオブジェクトで参照するということがとても多い なんなら、その情報を使って計算させた結果をさらに別のオブジェクトで参照しているという

  8. 8 オブジェクトの名前を変えたらフリーズ オブジェクトの名前を変更しようとすると、画面がフリーズしてしまう (実際は裏で動いているが、5分ぐらい待たないといけなくなる)

  9. 9 兎にも角にも重い! オブジェクトを追加するのも、プロパティを変えるのも、何もかもが遅くて全然修正作業が進まない

  10. 10 ホント参った バグ対策で緊急な修正が必要になったけど、このせいでいろいろままならず・・・

  11. 11

  12. 12 オブジェクト名がデフォルトのまま オブジェクト参照している値が計算が間違っているとかで修正しないといけない時に、何の計算をさせている のかが名前から推察できないので、何の処理のものなのかがわからず、一つ一つソースを追っかけないといけ ない

  13. 13 一度に関数を書き上げてしまう 一気に思いつくままに関数を書き上げてしまい、いざ動作を確認してみるとちゃんとした結果が出ない どこが問題なのかを調べるにも、どこが問題なのかが全然わかってない

  14. 14 それでほんとデータ取り出せてるの?? 参照したいデータがあるっぽいけど、どうやってデータを取り出せばいいのか理解してやってるのか疑問・・・ なんかそれ、どういう風な仕組みで動いているかわかってるの?

  15. 15 ホント参った 問題点を一つ一つ紐解いていって・・・一つ一つつぶして・・・

  16. 16

  17. 17 どんなテーブルを作ればいいの? 紙資料を基にテーブルを考えてもらったけど・・・ ・・・

  18. 18 権限? 権限のことをおろそかにして設定をしたため、結合テストでバグが起票される・・・ ※見えちゃいけない人に見えたりとか、更新しちゃダメなのに更新したりとか・・・

  19. 19

  20. 20 ラベルオブジェクトの値を計算式に使わない ラベルオブジェクトはあくまでラベル、表示するためのものであって、データの格納場所ではありません 計算結果は、変数やコレクション、データソースに格納するという癖をつけましょう 計算結果は 変数やデータ ソースに格納 しましょう 表示内容は 変数やデータ

    ソースを元に表 示させましょう
  21. 21 コーディング規約を守ろう オブジェクト名がデフォルトのままだと、何をしているものなのかが全く分からないため 一つ一つ計算式を見ないとわからない状態になってしまいます。 オブジェクト名は必ずコーディング規約に則って設定するようにして、一目でわかるようにしておこう PowerApps キャンバス アプリのコーディング規約と ガイドライン 忘れないように

    作ったらすぐ名前を 付けよう
  22. 22 一つ一つ確実に動作を確認する 関数を一気に書き上げるのではなく、一つ一つ正しく思った通りに処理されるか確認をしながら 書いていくように心がけましょう 検索結果は データテーブル を使って見ま しょう

  23. 23 変更頻度や関係性を考慮して考えよう 販売日付 商品ID 販売先ID 個数 販売者ID 2021/1/1 101 2011

    10 E01 2021/1/2 102 2011 5 E01 2021/1/3 103 2014 2 R01 2021/1/4 104 2014 30 C01 ID 商品名 販売単価 製造原価 101 商品A 2000 800 102 商品B 15000 7500 103 商品C 35000 15000 104 商品D 120000 80000 ID 企業名 住所 担当者 2011 企業A F県C市 A 2012 企業B O府O市 B 2013 企業C H道S市 C 2014 企業D H県O市 D ID 社員名 部署ID E01 ユーザーA GS01 E02 ユーザーB GS02 R01 ユーザーC GS01 C01 ユーザーD GS02 ID 部署名 部ID 責任者ID GS00 営業部 GS00 S01 GS01 営業部営業 1課 GS00 E01 GS02 営業部営業 2課 GS00 C01 GM00 管理部 GM00 S14 都度変わるデータ(トランザクションデータ)と必要に応じて変わるデータ(マスタデータ)とで分けて それぞれの関係性を考慮したテーブルを作りましょう 商品マスタ 販売ログ 取引先マスタ 社員マスタ 部署マスタ トランザクションデータ マスタデータ 1月3日は 営業1課のユーザーCさんが H県O市の企業Dに 商品Cを2個販売した 7万円で販売して 原価は3万円だから 粗利は4万円 と読み取れるね!
  24. 24 複数のアカウントを使って権限を確認する 権限を設定するアカウントと、権限を試すアカウントをそれぞれ使って、意図する権限となっているか 作成しながら確認していくのが一番早いです ロールAに 設定しま した 自部署の 参照のみ できました

    ロールBに 設定しま した 自部署の 参照と投稿 できました 開発者プログラム を使うと自由に 作ることができる から便利!
  25. 25

  26. 26 このセクションの内容は、りなたむさんの私見です

  27. 27 かなり厳しめな私見が含まれますのでご注意ください

  28. 28 なお、批判の意味で書いているわけではないのでご認識おきを・・・

  29. 29 感覚で作っている ロジックを組むというより、絵を描いている感覚に近い まずは下書きで線を 書いていこう (オブジェクトを 配置したり 動きを作ったり) 色を塗るのは そのあと

    (データは後回し) 色を塗ってたら いい感じの色が できたから この色をほかのとこ ろでも使おう
  30. 30 裏側の処理がどう動いているのか想像できない 処理を実行しているときにどういうアクセスが行われているのか想像できていないので 問題が起きたとき、どこを調べればいいかを考えるところでストップする なんで上司のデータ が取れないんだろう

  31. 31 違和感を放置しがち 遅くなったり、挙動が思ったのとちょっと違うなどといった違和感があっても 「そんなもんだろう」「たまたま」「クラウドだし」みたいな感じで片づけて対処しないことが多い 15分ぐらい待って るけどまぁいいか

  32. 32 警告を無視 委任の警告? まぁデータ取れてる から別にいいか 警告が表示されていたとしても、ちゃんと取れているのならということで一旦放置することが多い そしてそのまま忘れ去られて・・・(お察し

  33. 34

  34. 35 そもそもプロ開発者ってどういう人? プロ開発者と一括りに言っても、実態はかなり多様な開発者がいます フロントエンド バックエンド IoT AI/機械学習

  35. 36 市民開発者 is not Simplified 市民開発者はプロ開発者の簡易版・・・ではないです そんなに甘いものではありません ローコードで開発する人ではないです

  36. 37 市民開発者とは・・・ ビジネスにおいて最も最適なシステムを提案、開発を行っていく人です。 専任技能はなくとも、ビジネスの目標を完全に理解し、それに基づき必要な仕組みやUXを提案し 作り上げていく開発者です。

  37. 38 ローコード開発はあくまで手段に過ぎない とはいえど、開発者の経験が乏しい状況で、ビジネスに最適なシステムを作り上げていくのは容易では ありません。そこで、そういったシステムづくりをより分かりやすく理解できるようにするために 考案され、作られたのがローコード開発ツールなのです。 学習コストが 比較的低い

  38. 39 ビジネスに近いからこそ考えることはたくさん ビジネスに近いからこそ、業務課題に対するシステム化について多くのことを考える必要が出てきます 画面設計 データ設計 運用設計 業務課題

  39. 40 躓くこともあると思うけど、へこたれずに これからも頑張っていきましょう😃😃