スキップしてメイン コンテンツに移動

投稿

ラベル(開発)が付いた投稿を表示しています

UiPath設計時にMSA(Micro Software Architecture)式の切り分け方

イメージがあまりなくてつまらないと思いますが、自分の経験のコツを共有したく設けたページになります。 RPA(Robotic Process Automation)を利用して色々やってます。 大手のK様から個人の趣味までRPAの使い方は幅広いし一つだけではなくいくつかの自動化ツールを利用してRPAを進めてます。 今回はUiPathを利用して開発するときの設計の切り分けをどうすべきかとの個人の意見を書いてみます。 UiPath(https://www.uipath.com)はご存じの前提で始めます。 まず、 MSA式というのを考えてできるだけ細かく切ります。 しかし分けすぎると多くなってしまい逆に管理が困ります。 UiPathの特徴は「単純作業の自動化」から「ML(マシンランニング)」の複雑な組み合わせが楽なこと。 ということで 自分でよくやってるのをチェックします。 * メールの確認 * グループウェアのチェック * スケジュールの確認 * 毎日のサービス及びシステム点検 * スケジュールの登録 * 忘れないようにチェックすべきもの などなどいっぱいあるんですね。 これをするだけで一日が行っちゃうとかの方多いでしょうね。 ここで一つの作業をプロジェクトとし、1枚にシートに書いてみます。私は紙が好きなのでA4用紙で1プロジェクトを書いたりします。 A4用紙を使う理由の一つは1枚に収まるように設計するためにはたくさんの機能が入りきれないので他のプロジェクトから呼び出しが多くなりMSAに充実な設計ができます。 しかし、多すぎる場合には統合したりしてます。 外の開発とは異なり、 UIPは利用者が自分で修正ができないと長く使えないので ユーザーの修正領域と共有領域、専用領域をきちんと分けないといけません。 基本的なファイルの作成はこんな感じ * Main.xaml   * 最初実行するファイルですが、できるだけ内容は少なめにして置きます。   * 初期設定をファイルにConfig.json等に落としての読み込みなどを定義します。 * Config.json   * ユーザーが自分の環境に合わせて起動前修正すべきの内容を記入します。 * <Func...

今利用している開発言語は最高の言語ですか?

この前同僚と話した内容です。 彼はPythonが最高だと思ってるんですが、 そのように考えて他の言語を下見する人が多いので Pythonは初心者ようで全てCから派生したよ。 と言ったら急に喧嘩のようになりました。 まあ、このような意見対立は好きなので色々真剣に話しました。 しかし! 私が間違ってるところがありました。 Pythonの話ではなく 全てがCから派生したのではありませんでした。 Fortranはそもそも弾道計算用の数学中心の言語だったので独立してるしCより早く始まりました。 その以外にはそんなに私の意見に問題はなかったですが、 Pythonは計算とML(Machine Learning)がしやすく計算用のLibraryが多く含まれていますが、一番の問題はバージョン毎に全く違う言語のようになってしまい、新しいバージョンでも前のバージョンのコードが使えない場合が多くて環境のバージョン管理が難しいです。 このような経験が.Net Framework 3.5と4.0にありましたね。 その他には大体新しいバージョンを入れたら前のバージョンがこのまま利用できたりして問題なかったけど。 あ、Power shell 2.0も4.0にいきなり上がって前のバージョンは使えたけどかなりのOSに2.0がインストールされて4.0に上書きが難しかった経験があります。 しかし、MSさんから4.0のFunctionを2.0で使えるようにソースを公開して2.0の環境でもFunctionのソースさえ追加したらそのまま使えました。 これが言語の完璧さっていうかサポートの規模ではないかと思います。 そしてPythonはそもそもプログラマーのために作られた言語ではないので初心者用と言えるのではないでしょうか。 Cはやはり初心者が使いにくいし。 VBAはもともと初心者用って言われたけど私は好きでした。現在もClassic ASPでWebを作ったりしてるし。 しかし自分がメインにしている言語が舐められたら腹たつ人多いですね。 一番大事なのは言語ではないのに。 まだまだですね。

サーバー作業及び開発の環境作りTip

いつも思ってるのが 開発者及びサーバー管理者はすぐ作業ができる環境が必要で どこに行っても自分の作業用ノートパソコンを抱えています。 ということで、 私なりのコツがあって紹介させてもらいたいです。 もちろん私の方が絶対正しいのではないので 自分のコツに参考になればと思うだけです。(汗) まずは自分のノートパソコンがメインにならないようにするのが大事! 例えば作業が必要な時スマホでもiPadでも作業ができればいいんじゃないですか。 画面が小さいとかタイピングが面倒とかの話は慣れればOKだし、Bluetoothキーボードさえあれば問題ありません。 まず、作業環境を全てつなぐ必要があります。 私の場合には 作業PCまでの接続:Chrome Remote Desktop Connection 作業PCのファイルのちょっとした確認:Google Drive + Resilio Sync 遠隔操作:giip 作業環境の仮想化:Oracle VirtualBox Chrome Remote DesktopとResilio SyncはスマホとiPadに入れといます。 そして作業用のPCは会社に置いときます。 giipはインストールするのではなくGoogleアカウントで一度ログインするだけでOKです。 両方アプリを入れたら 携帯でも会社のパソコン画面が見れて操作ができちゃいます! しかしセキュリティーの問題は会社によりますので 合わせる必要がありますね。 結構厳しいところはこのようなツールは全てブロックされているし、 セキュリティーを守る必要があるので外部接続手続きなどを行い、VPNなどで接続する必要があるところもありますね。 Remote Desktopで接続できる環境なら 部屋のデスクトップでも作業中のまま帰っても引き続き作業ができます。 既に作業に必要な環境は揃っているし、新しく作る必要がありません。 その次はOracle Virtual Boxを利用してPC環境丸ごとバックアップ。 パソコンのデータが消えたり故障で新しくもらったパソコンに作業環境設定に何日もかかった経験持ってる方結構いらっしゃると思います。 私の...

Zeroから始めるAndroid(アンドロイド) App(アプリ) 開発 - ブラウザを作る

開発はもうしたくなかったのに また開発しなければなりませんでした。(泣) とのことで忘れないように一々書いときます。 始める方にもご参考になりますように。 Android Studioは無料なのでダウンロードしてインストール! 初めてのプロジェクトを作成。 プロジェクトとドメインを合わせてパッケージ名が決まるので domain = littleworld.net project name = giipAgent-Android にしてみました。 そうしたら /app/manifests/AndroidManifest.xml に <manifest xmlns: android = "http://schemas.android.com/apk/res/android" package= "net.littleworld.giipagent_android" > と書かれました! バージョン管理が必要なのでその下に android:versionCode="104" android:versionName="0.1.5" と書きました。 これは適当に数字をアップするとアプリをインストールする際に勝手に上書きするので便利だし、後でバージョン管理およびアップデートに使われるので重要です! これからWebViewを作るのでINTERNETという機能を使うのに権限をもらう必要があります。上記のバージョンを書いたその下にこれを入力 <uses-permission android :name= "android.permission.INTERNET" /> androidからINTERNETを使いたいですよとのことです。 これで準備はOK! Web画面を表示してみます。 新規プロジェクトを作成すると MainActivity.java content_main.xml というファイルが自動で作成され、 画面に表示されます。 content_main.xmlファイルの下のタップを見るとDesignとTextと書いてるタップがあります。あそこでDesignタップ(最初この...