技術屋にゃん兵衛のてくてくらぼ

気の向くままソフトについて書いてます。バリバリエンジニアではないのであくまでも初心者目線で。

Wolfram Engine 14.0が出たのでWLJSを試してみた

Wolfram Engine 14.0が出たのでWLJSを試してみた

 

Mathemticaに少し遅れて、Wolfram Engine 14.0がダウンロードできるようになりました。

 

なので、まずは、WLJSで動くか試してみました。

WLJSは、バージョン0.7.xです(起動したとき、新しいバージョンがあればダウンロードされるので、タイミングによってはそれぞれ違うと思います)。

 

Wolfram Engine 14.0インストールしようとすると、13.xが入っている場合は、同時にアンインストールすることができます。

つまり、エンジンだけを入れ替えてうまくいくか?という検証です。

  1. Wolfram Engine 14.0が正しく入ったことを確認します。
    スタートメニューからwolframscriptを選択します。

  2. 次のように表示されればOK。

  3. いつものように、軌道にあたっていろいろとテキスト表示されますが、最終的にはメインの画面が表示されました。

  4. さて、動作確認です。

    「File」->「New」を選択します。

  5. 正しく入力プロンプトが出てきました。

  6. 「Dt[a x + b, x]」を実行してみます。

OKですね。

今日は動作を検証しただけなので、ここまで。

RedmineベースのRedmine X を使ってみる(13.ユーザーとグループとロールの関係)

RedmineベースのRedmine X を使ってみる(13.ユーザーとグループとロールの関係)

 

Redmine XのWebサイトはこちら

redmine-x.com

 

いろいろ設定していく中で、権限やできることを整理する目的で、「ユーザー」「グループ」「ロール」の関係を一度整理してみたいと思います。

 

  • ユーザー

    ログインする個々の人を指している。チケットの担当者として割り当てられる。

    「ユーザー」は「グループ」に属することができる。権限などの設定はない。
  • グループ
    「ユーザー」の集まり。権限などの定義はない。

  • ロール
    プロジェクトの内での役割の名前(「リーダー」「協力企業」「開発メンバー」などとつけることが多いかな)。権限を定義する。

 

ここで、「ロール」は何にどのように関連付けるか、というところがややこしい。

この関連付けが適切でないと、ある「ユーザー」でログインしても思った機能が動かなくなります。

さて、「ロール」をどこで割り当てるか。

 

大切なのは、上位の次の概念です。

  • 「ユーザー」「グループ」は、システム全体で使う概念であり、プロジェクトに依存しない
  • 「ロール」は、ある特定のプロジェクトにおいてその「ユーザー」「グループ」がどのように関与しているかを定義するもので、プロジェクトに依存する

ここからわかることは、「全体の設定でロールを関係づけるのではなく、プロジェクト単位なんだ」ということがわかります。

 

今回の「ラスベガス現金強奪」プロジェクトでは次のように設定しています。

プロジェクトを選択して「設定」⇒「メンバー」と進むと、

  • そのプロジェクト内で、あるユーザーまたはグループがどのようなロールを持つか

を設定できる画面になります。

プロジェクト内に登録されているユーザーのリスト

例えば、Brad Pittは次のような感じです。

ここで「犯罪スペシャリスト オーシャンズ11から継承」とあるのは、Brad Pittは「オーシャンズ11」というグループのメンバーで、グループに割り当てられている「犯罪スペシャリスト」というロールを引き継いでいるということです。

このプロジェクトにおいて「オーシャンズ11」に割り当てられているロールは次です。

 

いったんこの関係性を覚えれば、少し楽になると思います。

RedmineベースのRedmine X を使ってみる(12.ステータスの変更)

RedmineベースのRedmine X を使ってみる(12.ステータスの変更)

 

Redmine XのWebサイトはこちら

redmine-x.com

 

プロジェクトが始まると、チケットに進捗度を入力したり、ステータスを変更して、プロジェクトの進行を管理します。

今回は、チケットのステータスの変更について少し書きます。

 

まずは「ラスベガス現金強奪」プロジェクトの「事前準備」で、携帯電話の手配が完了、バンの手配を始めたとしましょう。

  1. まずは、チケットの一覧画面で「携帯電話6台」をクリックします。

    チケットの一覧
  2. 今回はステータスの変更の説明なので、あえて「進捗率」は無視します。

    「ステータス」の項目の矢印アイコンをクリックします。

  3. プルダウンメニューで「Done」(完了)を選択します。

    ステータスのリストは以前に説明した「選択肢の値」の設定では変更できません。

     

    1)メインメニューから「管理」を選択します。

     

    2)「チケットのステータス」を選択します。

     

    3)現在定義されているステータスが表示されます。

     

    4)もし、新しいステータスを定義する場合は、右上の「+新しいステータス」をクリックします。

    (ここで「終了したチケット」は、タスク自体が終了した状態を示し、チケット一覧やガントチャートで未着手、進行中のものを表示する場合には、表示から除外されることを指しています)

     

    5)既存のステータスの名前を変える場合、例えば、デフォルトの英語表記を日本語に変えたい場合は、その項目をクリックします。今回は、例として「New」を「新規」に変えたいと思います。「名称」の項目を「新規」に変え、「保存」をクリックします。

     

    6)ステータスのリストに戻ると「新規」に変わっていることがわかります。

  4. チケットの情報が次のようなりました。

  5. チケット一覧に戻ります。変更したチケットが一覧に表示されなくなりました。これは、リストに表示するものが現在生きているものだけにフィルタリングされているためです。

    チケット一覧に表示されなくなった
  6. 終わったものも表示するのであれば、「FILTERS&OPTIONS」をクリックして、「ステータス」のチェックを外して、「適用」をクリックします。

    フィルターを変更
  7. するとステータスが「Done」(完了)になっているものが表示されるようになりました。

  8. ガントチャートでは、完了したタスクは取り消し線が引かれます。

    ガントチャートでの表示
  9. 次に、「輸送用バン」の手配を始めたので、ステータスを「In Progress」にします。手順は先ほどと同じ。

  10. 同じように一覧も更新されてますね。

以上です。

RedmineベースのRedmine X を使ってみる(11.子チケットの作成)

RedmineベースのRedmine X を使ってみる(11.子チケットの作成)

 

Redmine XのWebサイトはこちら

redmine-x.com

 

プロジェクトの階層化については以前に書きました。今回はチケットの階層化です。

 

前回まで触っていた「機材調達」のチケット(タスク)をさらに分解してみたいと思います。

「輸送用バン」「逃走用車両2台」「携帯電話6台」を子チケットとして定義します。

 

  1. 「事前準備」プロジェクトのチケットの一覧を表示します。

    チケットの一覧
  2. 「機材調達」をクリックして情報・編集画面に移ります。

    チケットの情報画面
  3. 「子チケット」の項目の「+追加」をクリックします。「題名」に、「輸送用バン」を入れて、費用な項目を設定したら、画面下部の「作成」をクリックします。「逃走用車両2台」「携帯電話6台」も同様です。

    子チケットの定義
  4. 出来上がると「機材調達」チケットの下に3つの子チケットがリストされます。

  5. チケットの一覧画面に戻ると次のようになっています。この画面では親子関係は表現されていません。

    チケットの一覧に戻る
  6. これではわかりづらいので、階層にして表示します。リストの上の「FILTERS&OPTIONS」をクリックします。次の項目が画面に追加されます。

    「オプション」をクリックして展開します。

  7. 「表示」の「Issue tree」にチェックを入れ、「適用」をクリックします。

  8. チケット一覧がツリー表示になり、親子関係がわかりやすくなります。

    チケット一覧がツリー表示になる
  9. ガントチャートに切り替えると、きちんとツリーになっていることがわかります。

    ガントチャートも階層化される
  10. 子チケットの期間を延ばすと、親チケットの期間も併せて伸びます。

  11. 別の子チケットを移動すると、すべての子チケットの期間に合わせるように親チケットの期間が延びます。まあ、こういう動きは当然ですが。

  12. 上記のようにガントチャートを変更した後で、子チケット「輸送用バン」の情報を見ると、タスク名のところに親チケットの名前と「関連するチケット」に先行チケットが表示されています。

     

簡単ですが今日はここまで。

RedmineベースのRedmine X を使ってみる(10.進捗状況の入力)

RedmineベースのRedmine X を使ってみる(10.進捗状況の入力)

 

Redmine XのWebサイトはこちら

redmine-x.com

 

 

これまでは、プロジェクトの定義からチケットの定義まで、割と流れに沿って書いてきましたが、今回からは、個々の機能をランダムに書くことにします。

今回は、担当者が自分の行った作業時間や進捗状況を入力する手順を確認します。

 

  1. サブプロジェクト「事前準備」の「チケット」を開きます。

  2. リストの右にある鉛筆アイコンをクリックします。「機材調達」のデータを入力することにします。これを「工数」でカウントできるものなのかは気にしない!

    事前に予定工数は「80時間」を予定していたとします。

    チケットの編集画面
  3. 「時間を記録」セクションの「作業時間」に、今回作業した「4時間」を入れるとします。

    作業時間の入力


    【作業分類のリストの定義】

     

    ここで脱線。

    事前に「作業分類」の定義を忘れていたようですので、ここで定義する方法を書いておきます。

     

    1)左上のメインのメニューから「管理」を選択します。

     

    2)「選択肢の値」を選択します。

     

    3)ここでは「作業分類」「文書カテゴリ」「チケットの優先度」の選択項目を定義、編集することができます。

    今回は「作業分類」の編集です。

     

    4)左上の「+新しい値」をクリックします。今回は、事前準備用に「資料調査」「聞き込み」「試運転」を定義します。

     

    5)不要になった、事前に定義されているものを消します。リストの項目の右にあるごみ箱アイコンをクリックします。

    このとき、すでにその稼業分類に何らかのチケットが割り当てられている場合、次の確認画面が表示されます。

    消すとまずい場合は、そのまま置いておきましょう。「次の値に割り当て直す」で、別の分類に割り当て直して、消すこともできます。

     

    消すのではなく、単純にプルダウンメニューから表示されないようにするだけでよいのであれば、「有効」のチェックボックスを外します。

     

  4. 作業時間を入力して、事前に定義したリストの中から「資料調査」を選択して保存(送信)します。

  5. 画面が次のようになります。


    まだ進捗率は「0 %」です。この状態では、「4時間時間を使ったけど、進捗はなかった」ということになります。当然ですが、「作業時間=進捗率」ではありません。時間をかけたのに進まなかったケースや、逆に思ったよりはかどった、ということもあります。
  6. 「進捗率」の項目にマウスカーソルを合わせると編集のための鉛筆アイコンが表示されます。

    進捗率の入力
  7. 「%」を示すプルダウンが表示されるので、今回は「10%ほど進んだかな」とします。

  8. ガントチャートを表示すると、見えにくいですが、進捗率の部分が濃いめに塗りつぶされています。

    進捗率が反映されたガントチャート

    【進捗率が更新できない】

     

    進捗率を入力すると、2つの丸い矢印が回転して、一見、更新されているように思えますが、値が「0%」に戻ってしまうことがあります。

    アラートやメッセージが出ないためわかりにくいですが、これは次の設定がされていないためです。

     

    1)左上のメインメニューから「管理」を選択します。

     

    2)管理項目の「設定」を選択します。

     

    3)上のボタンの並んでいるところから「チケットトラッキング」を選択します。

     

    4)「進捗率の算出方法」の項目を「チケットのフィールドを使用」に変更します。「ステータスに連動」させると、進捗率で入力したものではなく、ステータスの遷移をもとに計算されていきます。

     

    これで、手動で入力した進捗率が反映されるようになります。

     

     

ベースとなるRedmineで、アラートやメッセージがあまりでないため、Redmine Xでもあまり出てきません。Redmine自体が改良されれば、プラグインもメッセージなどを扱えるようになるのでしょうね。

RedmineベースのRedmine X を使ってみる(9.サブプロジェクトの作成)

RedmineベースのRedmine X を使ってみる(9.サブプロジェクトの作成)

 

Redmine XのWebサイトはこちら

redmine-x.com

 

これまで、一番上位の親プロジェクトを定義して、タスク(チケット)を定義してきましたが、今度はさらに階層化して、サブプロジェクトに分けてみます。

 

これまでタスクとして定義していた項目をサブプロジェクトとして定義しなおして、皿の細かく作業内容をブレークダウンしていきます。

 

  1. プロジェクトの一覧で「ラスベガス現金強奪」を選択します。

    プロジェクトの選択
  2. 右上のメニューから「+新しいサブプロジェクト」を選択します。

    サブプロジェクトの作成メニュー
  3. プロジェクトの作成画面になるので、ここでは「事前準備」というサブプロジェクトを作って、識別子を「preparation」としておきます。定義したら、「作成」ボタンをクリックします。

    サブプロジェクトの定義


    ここで、見ておいてほしいことは「親プロジェクト名」欄に自動的に「ラスベガス現金強奪」と入っていることです。

    あと、モジュールについては親プロジェクト同じ、「チケットトラッキング」「時間管理」「Easy WBS」「Gantt」「Statistics」を選んでおきます。
  4. プロジェクトの一覧に戻ると「ラスベガス現金強奪」の前に、サブ(子)プロジェクトがあるという意味のアイコンが付いています。

    サブプロジェクトがあることを示すアイコン
  5. ここまでの手順を繰り返して、

    ・当日の行動

    というサブプロジェクトも作成しておきます。

    「ラスベガス現金強盗」のプロジェクトの画面で、「WBS」クリックすると次のようになり、正しくサブプロジェクトが追加されていることがわかります。

    Easy WBSで確認
  6. 一覧画面の左のアイコンをクリックしても次のようになっています。

  7. しかし、「Gantt」のほうをクリックすると、またサブプロジェクトが入っていません。サブプロジェクトを作成しただけではだめで、中にチケットを定義する必要があります。

    これだけではガントチャートに表示されない
  8. サブプロジェクトの「事前準備」をクリックし、上のメニューの「チケット」をクリックします。

    サブプロジェクトにチケットを追加
  9. 「事前準備」サブプロジェクトには「現地下見」「機材調達」「関係人物調査」があるとします。「新しいチケット」ボタンをクリックして、3つのチケットを定義します。

    チケットの定義
  10. チケットのリストは次のようになります。

    サブプロジェクト内のチケットのリスト
  11. 「事前準備」サブプロジェクトのガントチャートを表示すると次のように3つのチケット(タスク)が追加されています。

    ガントチャートに表示されたチケット
  12. 「ラスベガス現金強奪」プロジェクトで、ガントチャートを表示しても、前のステップと同じレベルからの表示になります。

    「ラスベガス現金強奪」>「事前準備」という階層構造をガントチャートの中では表示できませんし、サイト全体のガントチャートを表示すると、「事前準備」というプロジェクトからしか見えず「ラスベガス現金強奪」というプロジェクト名はどこにもみあたりません。

    Redmine Xシステム全体のプロジェクトのリスト

     

    ここまででわかることは、最初に作った親プロジェクトは、「サブプロジェクトを束ねることを目的としていて、そこにはチケットは定義できず、ガントチャートには表示されない」ということです。

    サブプロジェクトを作成すると、親プロジェクトにはチケットを作成できないので、強引にでもサブプロジェクトを作って階層化することになりそうです。

    ちょっと注意が必要かな。

     

ちなみにWBSボタンでEasy WBSを表示してみると次のようになってます。

 

今回は、自分で試した見た結果を書きましたが、実は別の方法でできるのかもしれません。

わかったら書くことにします。

Scilabってダッソーシステムズになったんだ

今日、Webをブラウズしていて、気づきました。知ってる人は「何をいまさら」と言われるかもしれません。

 

Scilab(サイラブ/サイラボ)というのは、フランスのINRIA(National Institute for Research in Digital Science and Techonology:フランス語だと頭文字がINRIAとなる)、日本語だとフランス国立情報学自動制御研究所(Wikipediaによる)が開発しているMatlab、Miathematicaライクな、オープンソースでフリー(GPLライセンス)の数式処理環境です。

公式Webサイト

www.scilab.org

 

これまでは、公的な研究所が開発してしていたので、割と自由に使えていましたが、今回知ったのは、2022年の中頃(つまり、1年以上前)に、フランスの巨大企業のダッソーシステムズ(Dassault Systemes)に継承されていました。

 

アナウンスはこちら

www.scilab.org

 

民間企業が開発を継承したということは、今後、3つのシナリオがあるのかな、と思っています。

ダッソーは、

  1. 引き続きScilab自体はフリーで配布し続ける(社内実験目的、プロモーション目的)
  2. 引き続きScilab自体はフリーで配布し、自社では企業向けにサポートを有償で提供する
  3. どこかの時点で無償配布をやめて、有料の製品にする(RedHat的な)

どちらになるんでしょう。

巨大企業の場合、フリーのソフトのサポートフィーでビジネスをするなんてセコいことはないと思うので、1の選択肢が有力かな、と個人的な希望も含めて予想します(期待します、かな)。

 

ただ、品質を維持するためのテストを公開するぐらいきっちりつくられるようななったので、ますます商用製品のレベルに近づくでしょう。でないと、ダッソーの名前に傷がつきますからね。