Slide 1

Slide 1 text

新規作成で作成する際は チェックが掛かる 丸付き数字は 99で命名! 問い合わせ (2) Process名の秘密 序章

Slide 2

Slide 2 text

開発サポートからみた ロボット開発

Slide 3

Slide 3 text

開発サポートの役回り  問い合わせ回答 • ストレートに回答するのではなく、 問い合わせ者のスキルレベルを推し量った回答を心がける。 • 問い合わせた背景を深堀りして、 実現したい事をキャッチアップする。 自己研鑽 • 開発サポートとして回答した内容から、 自らの知見を深めるために追究を心がける。 問い合わせ分析 • 問い合わせを分析し、プロジェクトのウィークポイントを知り、 それをカヴァーするような施策(教育など)を検討する。

Slide 4

Slide 4 text

問い合わせ (1) フォルダに複数の所定ファイルが存在するか知りたい。 ⇒”ファイル”では検索できない「パスの有無を確認」アクテイビティを紹介 スキルある開発者へは… 「繰り返し (コレクションの各要素)」の中で ファイル存在 And System.IO.File.Exists(item(ix).ToString) 結果は、設定したBoolean型変数に出力される [ファイル存在]は、Boolean型 結果は、File.Existsの戻り値となる

Slide 5

Slide 5 text

問い合わせ (1) このような、解法もある ⇒「繰り返し (コレクションの各要素)」を使っているので、 ファイル情報はコレクションに格納されている事から推察… Files.All(Function(f) System.IO.File.Exists(f)) 市民開発者レベルの人に対して、 実現はできるけど、 理解しにくい回答を出していいものか…

Slide 6

Slide 6 text

問い合わせ (2) PUBLISHしました! ⇔申請したロボット名がみつかりません 但し、「空のプロセス」が沢山PUBLISHされたようだ。  試しに作っていたものが簡単に出来たので、それを正式登用した。  他ロボは、先のロボをフォルダ単位でコピペして、 フォルダ名だけを変えて、流用新規開発した。  サポートから、以下の指示をする。  参照しているフォルダ名を、ロボット名にリネームする。  そのフォルダ中にある”project.json”の”name”を ロボット名に書き換える。 その際、UTF-8形式で保存すること。  改めて、PUBLISHしてください。

Slide 7

Slide 7 text

問い合わせ (2) PUBLISHしました! ⇔申請したロボット名がみつかりません 但し、「○○部_□□業務__処理」が沢山PUBLISHされたようだ。 ↑見せるために色を塗っています ⇒サポートからの指示はちゃんと対応してくださっているようだ。 ⇒どんな名前を付けました? ○○部_□□業務_①処理 ○○部_□□業務_②処理 ↑!?

Slide 8

Slide 8 text

新規作成で作成する際は チェックが掛かる 丸付き数字は 99で命名! 問い合わせ (2) Process名の秘密

Slide 9

Slide 9 text

新規作成時 ロボットを作成する意気込み!! しかし、想定したロボット名が使えない!! 「空のプロセス」で作り始めよう!

Slide 10

Slide 10 text

project.jsonを 強制書換 Studioで開ける プロジェクト は正常にパブリッシュされました。 名前: _ バージョン: 1.0.7719.15066 パブリッシュ先: C:¥Users¥z102234¥Documents¥UiPath 強制書換時 publishも可能! PUBLISH時 名前が違うと、管理者から指摘される! ⇒フォルダ名、project.jsonを書換る! ロボット名が違う! ファイル名が違う! ロボット名が違う!

Slide 11

Slide 11 text

PUBLISH時 名前が違うと、管理者から指摘される! ⇒フォルダ名、project.jsonを書換る! project.jsonを 強制書換 Studioで開ける プロジェクト は正常にパブリッシュされました。 名前: _ バージョン: 1.0.7719.15066 パブリッシュ先: C:¥Users¥z102234¥Documents¥UiPath 強制書換時 ロボット名が違う! ファイル名が違う! ロボット名が違う! どのような名前にすればいいのか? publishも可能!

Slide 12

Slide 12 text

どのような名前にすればいいのか? 問い合わせてみた

Slide 13

Slide 13 text

using System; using System.Globalization; using System.Text.RegularExpressions; using NuGet.Packaging.PackageCreation.Resources; namespace NuGet.Packaging { public static class PackageIdValidator { public const int MaxPackageIdLength = 100; private static readonly Regex IdRegex = new Regex(@"^¥w+([_.-]¥w+)*$", RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.CultureInvariant); public static bool IsValidPackageId(string packageId) { if (packageId == null) { throw new ArgumentNullException(nameof(packageId)); } return IdRegex.IsMatch(packageId); } public static void ValidatePackageId(string packageId) { if (packageId.Length > MaxPackageIdLength) { throw new ArgumentException(NuGetResources.Manifest_IdMaxLengthExceeded); } if (!IsValidPackageId(packageId)) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, NuGetResources.InvalidPackageId, packageId)); } } } } どのような名前にすればいいのか? nugetの仕様に基づいています "^¥w+([_.-]¥w+)*$" https://github.com/NuGet/NuGet.Client/blob/e89d16985a9d28c837e13369753eac6ed1f952a3/src/NuGet.Core/NuGet.Packaging/PackageCreation/Utility/PackageIdValidator.cs "^¥w+([_.-]¥w+)*$" 回答がすぐついた

Slide 14

Slide 14 text

正規表現:"^¥w+([_.-]¥w+)*$" 単語に使用される文字: ¥w 単語に使用されない文字: ¥W https://www.compart.com/en/unicode/category カテゴリ 説明 文字数 Ll Letter, Lowercase (字、小文字) 2,151文字 Lu Letter, Uppercase (字、大文字) 1,788文字 Lt Letter, Titlecase (字、タイトル文字) 31文字 Lo Letter, Other (字、その他) 121,414文字 Lm Letter, Modifier (字、修飾) 259文字 Mn Mark, Nonspacing (結合文字、幅なし) 1,826文字 Nd Number, Decimal Digit (数、10 進数字) 630文字 Pc Punctuation, Connector (句読点、接続) 10文字 例 ? ?

Slide 15

Slide 15 text

Unicode Character Categories https://www.compart.com/en/unicode/category ①文字入力 ②検索 ③結果表示

Slide 16

Slide 16 text

Name: CJK Unified Ideograph-60C5[1] Unicode Version: 1.1 (June 1993)[2] Block: CJK Unified Ideographs, U+4E00 - U+9FFF[3] Plane: Basic Multilingual Plane, U+0000 - U+FFFF[3] Script: Han (Hanzi, Kanji, Hanja) (Hani) [4] Category: Other Letter (Lo) [1] Bidirectional Class: Left To Right (L) [1] Combining Class: Not Reordered (0) [1] Character is Mirrored: No [1] HTML Entity: •情 •情 UTF-8 Encoding: 0xE6 0x83 0x85 UTF-16 Encoding: 0x60C5 UTF-32 Encoding: 0x000060C5 https://www.compart.com/en/unicode/U+60C5 検索結果:「情」、「①」 Name: Circled Digit One[1] Numeric Value: 1[1] Unicode Version: 1.1 (June 1993)[2] Block: Enclosed Alphanumerics, U+2460 - U+24FF[3] Plane: Basic Multilingual Plane, U+0000 - U+FFFF[3] Script: Code for undetermined script (Zyyy) [4] Category: Other Number (No) [1] Bidirectional Class: Other Neutral (ON) [1] Combining Class: Not Reordered (0) [1] Character is Mirrored: No [1] GCGID: NO010000[5] HTML Entity: •① •① UTF-8 Encoding: 0xE2 0x91 0xA0 UTF-16 Encoding: 0x2460 UTF-32 Encoding: 0x00002460 Decomposition: 1 (U+0031)[1] https://www.compart.com/en/unicode/U+2460

Slide 17

Slide 17 text

Name: CJK Unified Ideograph-60C5[1] Unicode Version: 1.1 (June 1993)[2] Block: CJK Unified Ideographs, U+4E00 - U+9FFF[3] Plane: Basic Multilingual Plane, U+0000 - U+FFFF[3] Script: Han (Hanzi, Kanji, Hanja) (Hani) [4] Category: Other Letter (Lo) [1] Bidirectional Class: Left To Right (L) [1] Combining Class: Not Reordered (0) [1] Character is Mirrored: No [1] HTML Entity: •情 •情 UTF-8 Encoding: 0xE6 0x83 0x85 UTF-16 Encoding: 0x60C5 UTF-32 Encoding: 0x000060C5 https://www.compart.com/en/unicode/U+60C5 Name: Circled Digit One[1] Numeric Value: 1[1] Unicode Version: 1.1 (June 1993)[2] Block: Enclosed Alphanumerics, U+2460 - U+24FF[3] Plane: Basic Multilingual Plane, U+0000 - U+FFFF[3] Script: Code for undetermined script (Zyyy) [4] Category: Other Number (No) [1] Bidirectional Class: Other Neutral (ON) [1] Combining Class: Not Reordered (0) [1] Character is Mirrored: No [1] GCGID: NO010000[5] HTML Entity: •① •① UTF-8 Encoding: 0xE2 0x91 0xA0 UTF-16 Encoding: 0x2460 UTF-32 Encoding: 0x00002460 Decomposition: 1 (U+0031)[1] https://www.compart.com/en/unicode/U+2460 検索結果:「情」、「①」

Slide 18

Slide 18 text

文字 Category 結果 ① Other Number (No) 使えない ┤ Other Symbol (So) 使えない 﨑 Other Letter (Lo) 使える ∑ Math Symbol (Sm) 使えない Σ Uppercase Letter (Lu) 使える 振り返ってみよう!

Slide 19

Slide 19 text

どのような名前にすればいいのか? 1. 普通の漢字なら使える! 2. 丸付き数字など、気になる文字は調べてみよう! 3. 最大100文字まで(設定は出来るけど、PUBLISHの際にエ ラーとなる) 4. 最初が肝心!開発は、許されたプロセス名にしてから! エラー: Id must not exceed 100 characters. エラー: System.ArgumentException: Id must not exceed 100 characters. プロジェクト は正常にパブリッシュされました。 名前: AAAAXAAAAXAAAAXAAAAXAAAAXAAAAXAA AAXAAAAXAAAAXAAAAXAAAAXAAAAXAAAAXA AAAXAAAAXAAAAXAAAAXAAAAXAAAAXAAAAX バージョン: 1.0.7724.20851 パブリッシュ先: C:¥Users¥hjmkzk¥Documents¥UiPath

Slide 20

Slide 20 text

Abbr Long Description Sm Math_Symbol a symbol of mathematical use Sc Currency_Symbol a currency sign Sk Modifier_Symbol a non-letterlike modifier symbol So Other_Symbol a symbol of other type S Symbol Sm | Sc | Sk | So Zs Space_Separator a space character (of various non-zero widths) Zl Line_Separator U+2028 LINE SEPARATOR only Zp Paragraph_Separator U+2029 PARAGRAPH SEPARATOR only Z Separator Zs | Zl | Zp Cc Control a C0 or C1 control code Cf Format a format control character Cs Surrogate a surrogate code point Co Private_Use a private-use character Cn Unassigned a reserved unassigned code point or a noncharacter C Other Cc | Cf | Cs | Co | Cn 【参考】 Table 12. General_Category Values http://www.unicode.org/reports/tr44/#General_Category_Values Abbr Long Description Lu Uppercase_Letter an uppercase letter Ll Lowercase_Letter a lowercase letter Lt Titlecase_Letter a digraphic character, with first part uppercase LC Cased_Letter Lu | Ll | Lt Lm Modifier_Letter a modifier letter Lo Other_Letter other letters, including syllables and ideographs L Letter Lu | Ll | Lt | Lm | Lo Mn Nonspacing_Mark a nonspacing combining mark (zero advance width) Mc Spacing_Mark a spacing combining mark (positive advance width) Me Enclosing_Mark an enclosing combining mark M Mark Mn | Mc | Me Nd Decimal_Number a decimal digit Nl Letter_Number a letterlike numeric character No Other_Number a numeric character of other type N Number Nd | Nl | No Pc Connector_Punctuation a connecting punctuation mark, like a tie Pd Dash_Punctuation a dash or hyphen punctuation mark Ps Open_Punctuation an opening punctuation mark (of a pair) Pe Close_Punctuation a closing punctuation mark (of a pair) Pi Initial_Punctuation an initial quotation mark Pf Final_Punctuation a final quotation mark Po Other_Punctuation a punctuation mark of other type P Punctuation Pc | Pd | Ps | Pe | Pi | Pf | Po