ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ื‘ื™ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS

ื“ืขืจ ืึทืจื˜ื™ืงืœ ืื™ื– ื•ื•ืขื’ืŸ Python Gateway, ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ืงื”ืœ ืคึผืจื•ื™ืขืงื˜ ืคึฟืึทืจ ื“ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ื“ืึทื˜ืŸ ืคึผืœืึทื˜ืคืึธืจืžืข. ื“ืขืจ ืคึผืจื•ื™ืขืงื˜ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึธืจืงืขืกื˜ืจื™ืจืŸ ืงื™ื™ืŸ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ื‘ืืฉืืคืŸ ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ (ื“ื™ ื”ื•ื™ืคึผื˜ ืกื•ื•ื™ื•ื•ืข ืคึฟืึทืจ ืคื™ืœืข ื“ืึทื˜ืึท ืกืกื™ืขื ื˜ื™ืกืฅ), ื ื•ืฆืŸ ืคื™ืœืข ืคืึทืจื˜ื™ืง ืœื™ื™ื‘ืจืขืจื™ื– ืฆื• ื’ืขืฉื•ื•ื™ื ื“ ืฉืึทืคึฟืŸ ืึทื“ืึทืคึผื˜ื™ื•ื•, ืจืึธื•ื‘ืึทื˜ื™ืง ืึทื ืึทืœื™ืกื™ืก ืึทื™ / ืžืœ ืกืึทืœื•ืฉืึทื ื– ืื•ื™ืฃ ื“ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ืคึผืœืึทื˜ืคืึธืจืžืข. ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ, ืื™ืš ื•ื•ืขืœ ื•ื•ื™ื™ึทื–ืŸ ื•ื•ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ืงืขื ืขืŸ ืึธืจืงืขืกื˜ืจื™ืจืŸ ืคึผืจืึทืกืขืกืึทื– ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ, ื™ืคื™ืฉืึทื ื˜ืœื™ ื™ื‘ืขืจื’ืขื‘ืŸ ืฆื•ื•ื™ื™-ื•ื•ืขื’ ื“ืึทื˜ืŸ ืื•ืŸ ืฉืึทืคึฟืŸ ื™ื ื˜ืขืœื™ื’ืขื ื˜ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื–.

ืคึผืœืึทืŸ

  1. ื”ืงื“ืžื”.
  2. ืžื›ืฉื™ืจื™ื.
  3. ื™ื ืกื˜ืึทืœืœืึทื˜ื™ืึธืŸ
  4. API.
  5. ื™ื ื˜ืขืจืึธืคึผืขืจืึทื‘ื™ืœื™ื˜ื™.
  6. ื“ื–ืฉื•ืคึผื™ื˜ืขืจ ื ืึธื•ื˜ื‘ื•ืง.
  7. Conclusions.
  8. ืœื™ื ืงืก.
  9. MLToolkit.

ื”ืงื“ืžื”

ืคึผื™ื˜ื”ืึธืŸ ืื™ื– ืึท ื”ื•ื™ืš-ืžื“ืจื’ื”, ื’ืขื ืขืจืึทืœ-ืฆื™ืœ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš ืึทื™ืžืขื“ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืคึผืจืึธื•ื“ืึทืงื˜ื™ื•ื•ื™ื˜ื™ ืื•ืŸ ืงืึธื“ ืจื™ื“ืึทื‘ื™ืœื™ื˜ื™. ืื™ืŸ ื“ืขื ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืึทืจื˜ื™ืงืœืขืŸ, ืื™ืš ื•ื•ืขืœ ื“ื™ืกืงื•ื˜ื™ืจืŸ ื“ื™ ืคึผืึทืกืึทื‘ื™ืœืึทื˜ื™ื– ืคื•ืŸ ื ื™ืฆืŸ Python ืื•ื™ืฃ ื“ื™ InterSystems IRIS ืคึผืœืึทื˜ืคืึธืจืžืข, ืžื™ื˜ ื“ื™ ื”ื•ื™ืคึผื˜ ืคืึธืงื•ืก ืคื•ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื™ื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ Python ื•ื•ื™ ืึท ืฉืคึผืจืึทืš ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืื•ืŸ ืคืœื™ืกื ื“ื™ืง ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืžืึธื“ืขืœืก.

ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ (ML) ืื™ื– ืึท ืงืœืึทืก ืคื•ืŸ ืงื™ื ืกื˜ืœืขืš ืกื™ื™ื›ืœ ืžืขื˜ื”ืึธื“ืก, ื“ื™ ื›ืึทืจืึทืงื˜ืขืจื™ืกื˜ื™ืฉ ืฉื˜ืจื™ืš ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ื ื™ืฉื˜ ื“ื™ ื“ื™ืจืขืงื˜ ืœื™ื™ื–ื•ื ื’ ืคื•ืŸ ืึท ืคึผืจืึธื‘ืœืขื, ืึธื‘ืขืจ ืœืขืจื ืขืŸ ืื™ืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืคื•ืŸ ืกืึทืœื•ื•ื™ื ื’ ืคื™ืœืข ืขื ืœืขืš ืคึผืจืึธื‘ืœืขืžืก.

ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ืื•ืŸ ืžืึธื“ืขืœืก ื–ืขื ืขืŸ ืฉื™ื™ืŸ ืžืขืจ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš. ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ืกื™ื‘ื•ืช ืคึฟืึทืจ ื“ืขื, ืึธื‘ืขืจ ืขืก ืึทืœืข ืงื•ืžื˜ ืึทืจืึธืคึผ ืฆื• ืึทืงืกืขืกืึทื‘ื™ืœื™ื˜ื™, ืคึผืึทืฉื˜ืขืก ืื•ืŸ ื“ืขืจื’ืจื™ื™ื›ืŸ ืคึผืจืึทืงื˜ื™ืฉ ืจืขื–ื•ืœื˜ืึทื˜ืŸ. ืื™ื– ืงืœืึทืกื˜ืขืจื™ื ื’ ืึธื“ืขืจ ืืคื™ืœื• ื ืขื•ืจืึทืœ ื ืขืฅ ืžืึธื“ืขืœื™ื ื’ ืึท ื ื™ื™ึทืข ื˜ืขื›ื ืึธืœืึธื’ื™ืข?

ืคื•ืŸ ืงื•ืจืก ื ื™ืฉื˜, ืึธื‘ืขืจ ืื™ืฆื˜ ืขืก ืื™ื– ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ื˜ื•ื™ื–ื ื˜ืขืจ ืคื•ืŸ ืฉื•ืจื•ืช ืคื•ืŸ ืงืึธื“ ืฆื• ืœื•ื™ืคืŸ ืึท ืื™ื™ืŸ ืžืึธื“ืขืœ, ืื•ืŸ ื“ื™ ืคึผืจื™ื™ึทื– ืคื•ืŸ ืฉืืคืŸ ืื•ืŸ ื ื•ืฆืŸ ืžืึธื“ืขืœืก ื•ื•ืขืจื˜ ื•ื•ื™ื™ื ื™ืงืขืจ ืื•ืŸ ื•ื•ื™ื™ื ื™ืงืขืจ.

ืžื›ืฉื™ืจื™ื ื–ืขื ืขืŸ ื™ื•ื•ืึทืœื•ื•ื™ื ื’ - ื›ืึธื˜ืฉ ืžื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ื’ืึธืจ GUI-ืกืขื ื˜ืจื™ืง AI / ML ืžื›ืฉื™ืจื™ื, ื“ื™ ืคึผืจืึธื’ืจืขืก ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขื–ืขืŸ ืžื™ื˜ ืคื™ืœืข ืื ื“ืขืจืข ืงืœืืกืŸ ืคื•ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืกื™ืกื˜ืขืžืขืŸ, ืึทื–ืึท ื•ื•ื™ BI (ืคื•ืŸ ืฉืจื™ื™ื‘ืŸ ืงืึธื“ ืฆื• ื ื™ืฆืŸ ืคืจืึทืžืขื•ื•ืึธืจืงืก ืื•ืŸ GUI-ืกืขื ื˜ืจื™ืง ืงืึทื ืคื™ื’ื™ืขืจืึทื‘ืึทืœ ืกืึทืœื•ืฉืึทื ื–), ืื™ื– ืื•ื™ืš ื‘ืืžืขืจืงื˜ ืื™ืŸ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ AI / ML. ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื“ื™ ื‘ื™ื ืข ืคื•ืŸ โ€‹โ€‹ืฉืจื™ื™ื‘ืŸ ืงืึธื“ ืื•ืŸ ื”ื™ื™ึทื ื˜ ืžื™ืจ ื ื•ืฆืŸ ืคืจืึทืžืขื•ื•ืึธืจืงืก ืฆื• ื‘ื•ื™ืขืŸ ืื•ืŸ ื‘ืึทืŸ ืžืึธื“ืขืœืก.

ืื ื“ืขืจืข ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ, ืึทื–ืึท ื•ื•ื™ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืคืึทืจืฉืคึผืจื™ื™ื˜ืŸ ืึท ืคืึทืจ-ื˜ืจื™ื™ื ื“ ืžืึธื“ืขืœ ื•ื•ื• ื“ืขืจ ืกื•ืฃ ื‘ืึทื ื™ืฆืขืจ ืคืฉื•ื˜ ื“ืึทืจืฃ ืขื ื“ื™ืงืŸ ื˜ืจื™ื™ื ื™ื ื’ ื“ื™ ืžืึธื“ืขืœ ืื•ื™ืฃ ื–ื™ื™ืขืจ ืกืคึผืขืฆื™ืคื™ืฉ ื“ืึทื˜ืŸ, ืžืึทื›ืŸ ืขืก ื’ืจื™ื ื’ืขืจ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ. ื“ื™ ืึทื“ื•ื•ืึทื ืกื™ื– ืžืึทื›ืŸ ืœืขืจื ืขืŸ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืคื™ืœ ื’ืจื™ื ื’ืขืจ ืคึฟืึทืจ ื‘ื™ื™ื“ืข ืคึผืจืึธืคืขืกืกื™ืึธื ืึทืœืก ืื•ืŸ ืงืึธืžืคึผืึทื ื™ืขืก ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ.

ืื•ื™ืฃ ื“ื™ ืื ื“ืขืจืข ื”ืึทื ื˜, ืžื™ืจ ื–ืขื ืขืŸ ืงืึทืœืขืงื˜ื™ื ื’ ืžืขืจ ืื•ืŸ ืžืขืจ ื“ืึทื˜ืŸ. ืžื™ื˜ ืึท ื™ื•ื ืึทืคื™ื™ื“ ื“ืึทื˜ืŸ ืคึผืœืึทื˜ืคืึธืจืžืข ื•ื•ื™ InterSystems IRIS, ืึทืœืข ื“ื™ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืœื™ื™ืš ืฆื•ื’ืขื’ืจื™ื™ื˜ ืื•ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ื™ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืฆื• ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืžืึธื“ืขืœืก.

ืžื™ื˜ ื“ื™ ืžืึทืš ืฆื• ื“ื™ ื•ื•ืึธืœืงืŸ, ืœืึธื ื˜ืฉื™ื ื’ AI / ML ืคึผืจืึทื“ื–ืฉืขืงืก ืื™ื– ืฉื™ื™ืŸ ื’ืจื™ื ื’ืขืจ ื•ื•ื™ ืืœืฅ. ืžื™ืจ ืงืขื ืขืŸ ื ืึธืจ ืคืึทืจื ื•ืฆืŸ ื“ื™ ืจืขืกื•ืจืกืŸ ื•ื•ืึธืก ืžื™ืจ ื“ืึทืจืคึฟืŸ. ื“ืขืจืฆื•, ื“ืึทื ืง ืฆื• ื“ื™ ืคึผืึทืจืึทืœืขืœื™ื–ืึทื˜ื™ืึธืŸ ื’ืขืคึฟื™ื ื˜ ื“ื•ืจืš ื•ื•ืึธืœืงืŸ ืคึผืœืึทื˜ืคืึธืจืžืก, ืžื™ืจ ืงืขื ืขืŸ ืฉืคึผืึธืจืŸ ืฆื™ื™ื˜ ืคืืจื‘ืจืื›ื˜.

ืึธื‘ืขืจ ื•ื•ืึธืก ื•ื•ืขื’ืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ? ื“ืืก ืื™ื– ื•ื•ื• ื“ื™ ื–ืื›ืŸ ื•ื•ืขืจืŸ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜. ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื‘ื ื™ืŸ ืžืึธื“ืขืœืก, ื•ื•ืึธืก ืื™ืš ื•ื•ืขืœ ื“ื™ืกืงื•ื˜ื™ืจืŸ ื•ื•ื™ื™ึทื˜ืขืจ. ื‘ื•ื™ืขืŸ ืึท ื’ื•ื˜ ืžืึธื“ืขืœ ืื™ื– ื ื™ืฉื˜ ื’ืจื™ื ื’, ืึธื‘ืขืจ ื•ื•ืึธืก ื•ื•ื™ื™ึทื˜ืขืจ? ืžืึทื›ืŸ ืึท ื ื•ืฅ ืคื•ืŸ ื ื™ืฆืŸ ืึท ื’ืขืฉืขืคื˜ ืžืึธื“ืขืœ ืื™ื– ืื•ื™ืš ืึท ื ื™ื˜-ื ื™ื˜ื•ื•ื™ืึทืœ ืึทืจื‘ืขื˜. ื“ืขืจ ื•ื•ืึธืจืฆืœ ืคื•ืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื ืื™ื– ื“ื™ ืฆืขืฉื™ื™ื“ื•ื ื’ ืคื•ืŸ ืึทื ืึทืœื™ื˜ื™ืงืึทืœ ืื•ืŸ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธื ืึทืœ ื•ื•ืขืจืงืœืึธื•ื“ื– ืื•ืŸ ื“ืึทื˜ืŸ ืžืึธื“ืขืœืก. ื•ื•ืขืŸ ืžื™ืจ ื‘ืึทืŸ ืึท ืžืึธื“ืขืœ, ืžื™ืจ ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ื˜ืึธืŸ ื“ืึธืก ืื•ื™ืฃ ื”ื™ืกื˜ืืจื™ืฉืข ื“ืึทื˜ืŸ. ืื‘ืขืจ ื“ืขืจ ืึธืจื˜ ืคึฟืึทืจ ื“ื™ ืงืึทื ืกื˜ืจืึทืงื˜ืึทื“ ืžืึธื“ืขืœ ืื™ื– ืื™ืŸ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธื ืึทืœ ื“ืึทื˜ืŸ ืคึผืจืึทืกืขืกื™ื ื’. ื•ื•ืึธืก ื’ื•ื˜ ืื™ื– ื“ืขืจ ื‘ืขืกื˜ืขืจ ืคืจืึธื“ื–ืฉืึทืœืึทื ื˜ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ื“ื™ื˜ืขืงืฉืึทืŸ ืžืึธื“ืขืœ ืื•ื™ื‘ ืžื™ืจ ืœื•ื™ืคืŸ ืขืก ืึทืžืึธืœ ืึท ื˜ืึธื’? ื“ื™ ืฉื•ื•ื™ื ื“ืœืขืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืœืึทื ื’ ืึทื•ื•ืขืง ืžื™ื˜ ื“ื™ ื’ืขืœื˜. ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืŸ ื“ื™ ืžืึธื“ืขืœ ืื•ื™ืฃ ื”ื™ืกื˜ืืจื™ืฉืข ื“ืึทื˜ืŸ, ืึธื‘ืขืจ ืžื™ืจ ืื•ื™ืš ื“ืึทืจืคึฟืŸ ืฆื• ืฆื•ืœื™ื™ื’ืŸ ืขืก ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜ ืื•ื™ืฃ ื ื™ื™ึทืข ื™ื ืงืึทืžื™ื ื’ ื“ืึทื˜ืŸ ืึทื–ื•ื™ ืึทื– ืื•ื ื“ื–ืขืจ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื– ืงืขื ืขืŸ ืคื™ืจืŸ ื“ื™ ืคึฟืึธืจื•ื™ืกื–ืึธื’ืŸ ื’ืขืžืื›ื˜ ื“ื•ืจืš ื“ื™ ืžืึธื“ืขืœ.

ื“ื™ ML โ€‹โ€‹Toolkit ืื™ื– ืึท ืกื›ื•ื ืคื•ืŸ ืžื›ืฉื™ืจื™ื ื•ื•ืึธืก ื™ื™ืžื– ืฆื• ื˜ืึธืŸ ื“ืึธืก: ืคืึทืจื™ื™ื ื™ืงืŸ ืžืึธื“ืขืœืก ืื•ืŸ ืึท ื˜ืจืึทื ืกืึทืงื˜ื™ืึธื ืึทืœ ืกื•ื•ื™ื•ื•ืข ืึทื–ื•ื™ ืึทื– ื“ื™ ื’ืขื‘ื•ื™ื˜ ืžืึธื“ืขืœืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืœื™ื™ื›ื˜ ื’ืขื•ื•ื™ื™ื ื˜ ื’ืœื™ื™ึทืš ืื™ืŸ ื“ื™ื™ืŸ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื–. Python Gateway ืื™ื– ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ML โ€‹โ€‹Toolkit ืื•ืŸ ื’ื™ื˜ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ืžื™ื˜ ื“ื™ Python ืฉืคึผืจืึทืš (ืขื ืœืขืš ืฆื• ื•ื•ื™ R Gateway, ื•ื•ื™ื™ืœ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ML โ€‹โ€‹Toolkit ื’ื™ื˜ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ืžื™ื˜ ื“ื™ R ืฉืคึผืจืึทืš).

ืžื›ืฉื™ืจื™ื

ืื™ื™ื“ืขืจ ืžื™ืจ ืคืึธืจื–ืขืฆืŸ, ืื™ืš ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ืขื˜ืœืขื›ืข ืคึผื™ื˜ื”ืึธืŸ ืžื›ืฉื™ืจื™ื ืื•ืŸ ืœื™ื™ื‘ืจืขืจื™ื– ื•ื•ืึธืก ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ืฉืคึผืขื˜ืขืจ.

ื˜ืขื›ื ืึธืœืึธื’ื™ืข

  • ืคึผื™ื˜ื”ืึธืŸ ืื™ื– ืึทืŸ ื™ื ื˜ืขืจืคึผืจืึทื˜ืึทื“, ื”ื•ื™ืš-ืžื“ืจื’ื”, ื’ืขื ืขืจืึทืœ-ืฆื™ืœ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš. ื“ืขืจ ื”ื•ื™ืคึผื˜ ืžื™ื™ึทืœืข ืคื•ืŸ โ€‹โ€‹ื“ืขืจ ืฉืคึผืจืึทืš ืื™ื– ื“ื™ ื’ืจื•ื™ืก ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคื•ืŸ ืžืึทื˜ืึทืžืึทื˜ื™ืงืึทืœ, ML ืื•ืŸ AI ืœื™ื™ื‘ืจืขืจื™ื–. ื•ื•ื™ ืึธื‘ื“ื–ืฉืขืงื˜ืกืงืจื™ืคึผื˜, ืขืก ืื™ื– ืึท ื›ื™ื™ืคืขืฅ-ืึธืจื™ืขื ื˜ื™ื“ ืฉืคึผืจืึทืš, ืึธื‘ืขืจ ืึทืœืฅ ืื™ื– ื“ื™ื ืึทืžื™ืงืึทืœืœื™ ื“ื™ืคื™ื™ื ื“ ื•ื•ื™ ืกื˜ืึทื˜ื™ืงืœื™. ืื•ื™ืš ืึทืœืฅ ืื™ื– ืึท ื›ื™ื™ืคืขืฅ. ืฉืคืขื˜ืข ืจ ืืจื˜ื™ืงืœืข ืŸ ืคืืจื ืขืžืข ืŸ ื ืคืืจื‘ืฒืขื ื“ื™ืงืข ืจ ื‘ืืงืื  ื˜ ืžื™ ื˜ ื“ืข ืจ ืฉืคืจืืš . ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืœืขืจื ืขืŸ, ืื™ืš ืจืขืงืึธืžืขื ื“ื™ืจืŸ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.
  • ืคึฟืึทืจ ืื•ื ื“ื–ืขืจ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ืขืงืกืขืจืกื™ื™ื–ื™ื–, ืฉื˜ืขืœืŸ ืคึผื™ื˜ื”ืึธืŸ 3.6.7 64 ื‘ื™ืกืœ.
  • IDE: ืื™ืš ื ื•ืฆืŸ ืคึผื™ื˜ืฉืึทืจื, ืึธื‘ืขืจ ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ ื–ื™ื™ ะผะฝะพะณะพ. ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ Atelier, ืขืก ืื™ื– ืึทืŸ Eclipse ืคึผืœื•ื’ื™ืŸ ืคึฟืึทืจ Python ื“ืขื•ื•ืขืœืึธืคึผืขืจืก. ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ VS ืงืึธื“, ืขืก ืื™ื– ืึท ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ืคึฟืึทืจ Python.
  • ื”ืขืคื˜: ืึทื ืฉื˜ืึธื˜ ืึท IDE, ืื™ืจ ืงืขื ืขืŸ ืฉืจื™ื™ึทื‘ืŸ ืื•ืŸ ื˜ื™ื™ืœืŸ ื“ื™ื™ืŸ ืกืงืจื™ืคึผืก ืื™ืŸ ืึธื ืœื™ื™ืŸ ื ืึธื•ื˜ื‘ื•ืงืก. ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ืคื•ืŸ ื–ื™ื™ ืื™ื– ื“ื–ืฉื•ืคึผื™ื˜ืขืจ.

ืœื™ื‘ืจืึทืจื™ืขืก

ื“ืึธ ืื™ื– ืึท (ื ื™ื˜ ื™ื’ื–ืึธืกื˜ื™ื•ื•) ืจืฉื™ืžื” ืคื•ืŸ ืœื™ื™ื‘ืจืขืจื™ื– ืคึฟืึทืจ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ:

  • ื ืึทืžืคึผื™ - ืึท ืคื•ื ื“ืึทืžืขื ื˜ืึทืœ ืคึผืขืงืœ ืคึฟืึทืจ ื’ืขื ื•ื™ ื—ืฉื‘ื•ื ื•ืช.
  • ืคึผืึทื ื“ืึทืก - ื”ื•ื™ืš-ืคืึธืจืฉื˜ืขืœื•ื ื’ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ืื•ืŸ ื“ืึทื˜ืŸ ืึทื ืึทืœื™ืกื™ืก ืžื›ืฉื™ืจื™ื.
  • matplotlib - ืฉืึทืคื•ื ื’ ืคื•ืŸ ื’ืจืึทืคืก.
  • Seaborn - ื“ืึทื˜ืŸ ื•ื•ื™ื–ืฉื•ื•ืึทืœืึทื–ื™ื™ืฉืึทืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืžืึทื˜ืคึผืœืึธื˜ืœื™ื‘.
  • ืกืงืœืขืึทืจืŸ - ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืžืขื˜ื”ืึธื“ืก.
  • XGBoost - ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ืื™ืŸ ื“ื™ ืคืจื™ื™ืžื•ื•ืขืจืง ืคื•ืŸ ื“ื™ ื’ืจืึทื“ื™ืขื ื˜ ื‘ื•ืกื˜ื™ื ื’ ืžืขื˜ืึทื“ืึทืœืึทื“ื–ืฉื™.
  • ื’ืขื ืกื™ื โ€” NLP.
  • ืงืขืจืึทืก - ื ืขื•ืจืึทืœ ื ืขื˜ื•ื•ืึธืจืงืก.
  • ื˜ืขื ืกืึธืจืคืœืึธื•ื• - ืึท ืคึผืœืึทื˜ืคืึธืจืžืข ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืžืึธื“ืขืœืก.
  • ืคึผื™ื˜ืึธืจื˜ืฉ ืื™ื– ืึท ืคึผืœืึทื˜ืคืึธืจืžืข ืคึฟืึทืจ ืฉืืคืŸ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืžืึธื“ืขืœืก ืคืึธื•ืงื™ืกื˜ ืื•ื™ืฃ ืคึผื™ื˜ื”ืึธืŸ.
  • Nyoka - PMML ืคื•ืŸ ืคืึทืจืฉื™ื“ืŸ ืžืึธื“ืขืœืก.

AI / ML ื˜ืขืงื ืึทืœืึทื“ื–ืฉื™ื– ืžืึทื›ืŸ ื’ืขืฉืขืคื˜ ืžืขืจ ืขืคืขืงื˜ื™ื•ื• ืื•ืŸ ืึทื“ืึทืคึผื˜ืึทื‘ืึทืœ. ื“ืขืจืฆื•, ื”ื™ื™ึทื ื˜ ื“ื™ ื˜ืขืงื ืึทืœืึทื“ื–ืฉื™ื– ื•ื•ืขืจืŸ ื’ืจื™ื ื’ืขืจ ืฆื• ืึทื ื˜ื•ื•ื™ืงืœืขืŸ ืื•ืŸ ื™ื ืกื˜ืจื•ืžืขื ื˜. ืึธื ื”ื™ื™ื‘ ืœืขืจื ืขืŸ ื•ื•ืขื’ืŸ AI / ML ื˜ืขืงื ืึทืœืึทื“ื–ืฉื™ื– ืื•ืŸ ื•ื•ื™ ื–ื™ื™ ืงืขื ืขืŸ ื”ืขืœืคึฟืŸ ื“ื™ื™ืŸ ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข ื•ื•ืึทืงืกืŸ.

ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

ืขืก ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ื•ื•ืขื’ืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ืŸ ื ื•ืฆืŸ Python Gateway:

  • ะžะก
    • ืคึฟืขื ืฆื˜ืขืจ
    • ืœื™ื ื•ืงืก
    • ืžืขืง
  • ื“ืึธืงืงืขืจ
    • ื ื™ืฆืŸ ืึท ื‘ื™ืœื“ ืคึฟื•ืŸ DockerHub
    • ืฉืึทืคึฟืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืงื•ืง

ืจืขื’ืึทืจื“ืœืขืกืก ืคื•ืŸ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืื•ืคึฟืŸ, ืื™ืจ ื•ื•ืขื˜ ื“ืึทืจืคึฟืŸ ื“ื™ ืžืงื•ืจ ืงืึธื“. ื“ืขืจ ื‘ืœื•ื™ื– ืึธืจื˜ ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ื“ื™ ืงืึธื“ ืื™ื– ืจื™ืœื™ืกื™ื– ื‘ืœืึทื˜. ืขืก ื›ึผื•ืœืœ ื˜ืขืกื˜ืขื“ ืกื˜ืึทื‘ื™ืœ ืจื™ืœื™ืกื™ื–, ื ืึธืจ ื ืขืžืขืŸ ื“ื™ ืœืขืฆื˜ืข. ืื™ืŸ ื“ืขืจ ืžืึธืžืขื ื˜ ืขืก ืื™ื– 0.8, ืึธื‘ืขืจ ืžื™ื˜ ืฆื™ื™ื˜ ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื™ื™ึทืข. ื˜ืึธืŸ ื ื™ื˜ ืงืœืึธื•ืŸ / ืืจืืคืงืืคื™ืข ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™, ืืจืืคืงืืคื™ืข ื“ื™ ืœืขืฆื˜ืข ืžืขืœื“ื•ื ื’.

ะžะก

ืื•ื™ื‘ ืื™ืจ ื™ื ืกื˜ืึทืœื™ืจืŸ Python Gateway ืื•ื™ืฃ ืึทืŸ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื, ืขืจืฉื˜ืขืจ (ืจืึทื’ืึทืจื“ืœืึทืก ืคื•ืŸ ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื) ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ Python. ืคึฟืึทืจ ื“ืขื:

  1. ื™ื ืกื˜ืึทืœื™ืจืŸ Python 3.6.7 64 ื‘ื™ืกืœ. ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ Python ืื™ืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.
  2. ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืžืึธื“ื•ืœืข dill: pip install dill.
  3. ืืจืืคืงืืคื™ืข ื“ื™ ObjectScript ืงืึธื“ (ื™.ืข. do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)) ืฆื• ืงื™ื™ืŸ ื’ืขื’ื ื˜ ืžื™ื˜ ืคึผืจืึธื“ื•ืงื˜ืŸ. ืื™ืŸ ืคืึทืœ ืื™ืจ ื•ื•ื™ืœืŸ ืึท ื™ื’ื–ื™ืกื˜ื™ื ื’ ื’ืขื’ื ื˜ ืฆื• ืฉื˜ื™ืฆืŸ ืคึผืจืึธื“ื•ืงื˜ืŸ, ืœื•ื™ืคืŸ: write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1).
  4. ืคึผืœืึทืฅ ืจื•ืคืŸ DLL/SO/DYLIB ืฆื• ื˜ืขืงืข bin ื“ื™ื™ืŸ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ื‘ื™ื™ึทืฉืคึผื™ืœ. ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื˜ืขืงืข ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ื ื™ืžืฆื ืื™ืŸ ื“ื™ ืื•ืžื’ืขืงืขืจื˜ ื“ืจืš write ##class(isc.py.Callout).GetLib().

ืคึฟืขื ืฆื˜ืขืจ

  1. ืžืึทื›ืŸ ื–ื™ื›ืขืจ ื“ื™ ืกื•ื•ื™ื•ื•ืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง PYTHONHOME ื•ื•ื™ื™ื–ื˜ ืฆื• ืคึผื™ื˜ื”ืึธืŸ 3.6.7.
  2. ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืกื™ืกื˜ืขื ืกื•ื•ื™ื•ื•ืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– PATH ื›ึผื•ืœืœ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง PYTHONHOME (ืึธื“ืขืจ ื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืขืก ื•ื•ื™ื™ื–ื˜ ืฆื•).

ืœื™ื ื•ืงืก (ื“ืขื‘ื™ืึทืŸ / ื•ื‘ื•ื ื˜ื•)

  1. ืงื•ืง ืึทื– ื“ื™ ืกื•ื•ื™ื•ื•ืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– PATH ื›ึผื•ืœืœ /usr/lib ะธ /usr/lib/x86_64-linux-gnu. ื ื™ืฆืŸ ื˜ืขืงืข /etc/environment ืฆื• ืฉื˜ืขืœืŸ ืกื•ื•ื™ื•ื•ืข ื•ื•ืขืจื™ืึทื‘ืึทืœื–.
  2. ืื™ืŸ ืคืึทืœ ืคื•ืŸ ื˜ืขื•ืช undefined symbol: _Py_TrueStruct ืฉื˜ืขืœืŸ ื“ื™ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ PythonLib. ืื•ื™ืš ืื™ืŸ ืจืขืึทื“ืžืข ืขืก ืื™ื– ืึท ื˜ืจืึธื•ื‘ืœืขืฉืึธืึธื˜ื™ื ื’ ืึธืคึผื˜ื™ื™ืœื•ื ื’.

ืžืขืง

  1. ื“ืขืจื•ื•ื™ื™ึทืœ ื‘ืœื•ื™ื– Python 3.6.7 ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ python.org. ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื•ื•ืขืจื™ืึทื‘ืึทืœื– PATH.

ืื•ื™ื‘ ืื™ืจ ื˜ืฉื™ื™ื ื“ื–ืฉื“ ืกื•ื•ื™ื•ื•ืข ื•ื•ืขืจื™ืึทื‘ืึทืœื–, ืจื™ืกื˜ืึทืจื˜ ื“ื™ื™ืŸ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ืคึผืจืึธื“ื•ืงื˜.

ื“ืึธืงืงืขืจ

ื ื™ืฆืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ื”ืื˜ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื–:

  • ืคึผืึธืจื˜ืึทื‘ื™ืœื™ื˜ื™
  • ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜
  • ื™ื ืกื•ืœืึทื˜ื™ืึธืŸ
  • ืœื™ื›ื˜ื™ืงื™ื™ื˜
  • ืื™ืžื™ื•ื˜ืึทื‘ื™ืœื™ื˜ื™

ื˜ืฉืขืง ืื•ื™ืก ื“ืขื ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹ืืจื˜ื™ืงืœืขืŸ ืคึฟืึทืจ ืžืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื ื™ืฆืŸ Docker ืžื™ื˜ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ืคึผืจืึธื“ื•ืงื˜ืŸ.

ื›ืœ Python Gateway ื‘ื•ื™ืขืŸ ื–ืขื ืขืŸ ื“ืขืจื•ื•ื™ื™ึทืœ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ืื–ื™ืจื˜ 2019.4.

ื’ืจื™ื™ื˜ ื‘ื™ืœื“

ืœื•ื™ืคืŸ: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latestืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ืื•ืŸ ืœื•ื™ืคืŸ Python Gateway ืžื™ื˜ InterSystems IRIS Community Edition. ืึทื– ืก ืึทืœืข.

ืฉืึทืคึฟืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืงื•ืง

ืฆื• ื‘ื•ื™ืขืŸ ืึท ื“ืึธืงืงืขืจ ื‘ื™ืœื“, ืœื•ื™ืคืŸ ืื™ืŸ ื“ืขืจ ื•ื•ืึธืจืฆืœ ืคื•ืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™: docker build --force-rm --tag intersystemscommunity/irispy:latest ..
ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื“ื™ ื‘ื™ืœื“ ืื™ื– ื’ืขื‘ื•ื™ื˜ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื‘ื™ืœื“ store/intersystems/iris-community:2019.4.0.383.0, ืึธื‘ืขืจ ืื™ืจ ืงืขื ืขืŸ ื˜ื•ื™ืฉืŸ ื“ืขื ื“ื•ืจืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง IMAGE.
ืฆื• ื‘ื•ื™ืขืŸ ืคึฟื•ืŸ InterSystems IRIS, ืœื•ื™ืคืŸ: `docker build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latest ".

ื ืึธืš ื“ืขื ืื™ืจ ืงืขื ืขืŸ ืœื•ื™ืคืŸ ื“ื™ ื“ืึธืงืงืขืจ ื‘ื™ืœื“:

docker run -d 
  -p 52773:52773 
  -v /<HOST-DIR-WITH-iris.key>/:/mount 
  --name irispy 
  intersystemscommunity/irispy:latest 
  --key /mount/iris.key

ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ ืึท ื‘ื™ืœื“ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ืงืึทืžื™ื•ื ื™ื˜ื™ ืึทื“ื™ืฉืึทืŸ, ืื™ืจ ืงืขื ืขืŸ ืคืึทืจืœืึธื–ืŸ ื“ืขื ืฉืœื™ืกืœ.

ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ

  • ืคึผืจื•ื‘ื™ืจืŸ ืคึผืจืึธืฆืขืก isc.py.test.Process ืกืึทื•ื•ืขืก ืึท ื ื•ืžืขืจ ืคื•ืŸ ื‘ื™ืœื“ืขืจ ืฆื• ืึท ืฆื™ื™ึทื˜ื•ื•ื™ื™ึทืœื™ืง ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ. ืื™ืจ ื–ืืœ ื•ื•ืขืœืŸ ืฆื• ื˜ื•ื™ืฉืŸ ื“ืขื ื“ืจืš ืฆื• ื“ื™ ืžืึธื•ื ื˜ืขื“ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืจืขื“ืึทื’ื™ืจืŸ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก WorkingDir ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ืžืึธื•ื ื˜ืขื“ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.
  • ืฆื• ืึทืงืกืขืก ื“ื™ ื˜ืขืจืžื™ื ืึทืœ ืœื•ื™ืคืŸ: docker exec -it irispy sh.
  • ืึทืงืกืขืก ืฆื• ื“ื™ ืกื™ืกื˜ืขื ืžืึทื ืึทื’ืขืžืขื ื˜ ื˜ื•ื™ืขืจ ื“ื•ืจืš ืœืึธื’ื™ืŸ SuperUser/SYS.
  • ืฆื• ื”ืึทืœื˜ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ, ืœื•ื™ืคืŸ: docker stop irispy && docker rm --force irispy.

ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

ืึทืžืึธืœ ืื™ืจ ื”ืึธื‘ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ Python Gateway, ืขืก ืื™ื– ื•ื•ืขืจื˜ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ืขืก ืึทืจื‘ืขื˜. ื•ื™ืกืคื™ืจืŸ ื“ืขื ืงืึธื“ ืื™ืŸ ื“ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ื•ื•ืึธืงื–ืึทืœ:

set sc = ##class(isc.py.Callout).Setup() 
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write var

ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ื–ืึธืœ ื–ื™ื™ืŸ: HELLO - ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ื•ื•ืขืจื˜ x. ืื•ื™ื‘ ื“ื™ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืกื˜ืึทื˜ื•ืก sc ืื™ื– ืึท ื˜ืขื•ืช ืึธื“ืขืจ var ืœื™ื™ื“ื™ืง, ื˜ืฉืขืง Readme - ื˜ืจืึธื•ื‘ืœืขืฉืึธืึธื˜ื™ื ื’ ืึธืคึผื˜ื™ื™ืœื•ื ื’.

ืึทืคึผื™

Python Gateway ืื™ื– ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ืŸ ืื™ืจ ื”ืึธื˜ ื•ื•ืขืจืึทืคื™ื™ื“ ืึทื– ืขืก ืึทืจื‘ืขื˜. ืขืก ืื™ื– ืฆื™ื™ื˜ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื ื™ืฆืŸ ืขืก!
ื“ื™ ื”ื•ื™ืคึผื˜ ืฆื•ื‘ื™ื ื“ ืฆื• Python ืื™ื– isc.py.Main. ืขืก ืึธืคืคืขืจืก ื“ื™ ืคืืœื’ืขื ื“ืข ื’ืจื•ืคึผืขืก ืคื•ืŸ ืžืขื˜ื”ืึธื“ืก (ืึทืœืข ืฆื•ืจื™ืงืงื•ืžืขืŸ %Status):

  • ืงืึธื“ ืขืงืกืขืงื•ื˜ื™ืึธืŸ
  • ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ
  • ืึทื’ื–ื™ืœื™ืขืจื™

ืงืึธื“ ืขืงืกืขืงื•ื˜ื™ืึธืŸ

ื“ื™ ืžืขื˜ื”ืึธื“ืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ื•ื™ืกืคื™ืจืŸ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื“.

ืกื™ืžืคึผืœืขืกื˜ืจื™ื ื’

SimpleString - ื“ืึธืก ืื™ื– ื“ืขืจ ื”ื•ื™ืคึผื˜ ืื•ืคึฟืŸ. ืขืก ื ืขืžื˜ 4 ืึทืคึผืฉืึทื ืึทืœ ืึทืจื’ื•ืžืขื ื˜ืŸ:

  • code - ืฉื•ืจื” ืคื•ืŸ ืงืึธื“ ืฆื• ื•ื™ืกืคื™ืจืŸ. ืฉื•ืจื” ืคื™ื˜ืขืจ ื›ืึทืจืึทืงื˜ืขืจ: $c(10).
  • returnVariable - ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืฆื• ืฆื•ืจื™ืงืงื•ืžืขืŸ.
  • serialization - ื•ื•ื™ ืฆื• ืกื™ืจื™ืึทืœื™ื– returnVariable. 0 - ืฉื˜ืจื™ืงืœ (ืคืขืœื™ืงื™ื™ึทื˜), 1 - ืจืขืคึผืจ.
  • result - ByRef ืจืขืคึฟืขืจืขื ืฅ ืฆื• ื“ื™ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ื•ื•ืึธืก ื“ื™ ื•ื•ืขืจื˜ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ returnVariable.

ืื•ื™ื‘ืŸ ืžื™ืจ ื”ืื‘ืŸ:

set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).

ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ืึท ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง x ื•ื•ืขืจื˜ Hello ืื•ืŸ ื•ื•ื™ืœืŸ ืฆื• ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ื•ื•ืขืจื˜ ืคื•ืŸ ืึท ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง x ืฆื• ืึท ืึธื‘ื“ื–ืฉืขืงื˜ืกืงืจื™ืคึผื˜ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง var.

ืขืงืกืขืงื•ื˜ืขืงืึธื“ืข

ืขืงืกืขืงื•ื˜ืขืงืึธื“ืข ืื™ื– ืึท ืกืึทืคืขืจ ืื•ืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ืจื™ืกื˜ืจื™ืงื˜ื™ื•ื• ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• SimpleString.
ืฉื•ืจื•ืช ืื™ืŸ ื“ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ื™ืจื™ืก ืคึผืœืึทื˜ืคืึธืจืžืข ื–ืขื ืขืŸ ืœื™ืžื™ื˜ืขื“ ืฆื• 3 ืื•ืชื™ื•ืช, ืื•ืŸ ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื•ื™ืกืคื™ืจืŸ ืึท ืžืขืจ ืฉื˜ื™ืง ืคื•ืŸ ืงืึธื“, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื ื•ืฆืŸ ืคึฟืขื“ืขื.
ืฆื•ื•ื™ื™ ื˜ืขื ื•ืช ื–ืขื ืขืŸ ืื ื’ืขื ื•ืžืขืŸ:

  • code - ืึท ืฉื•ืจื” ืึธื“ืขืจ ื˜ื™ื™ึทืš ืคื•ืŸ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื“ ืฆื• ื–ื™ื™ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“.
  • variable - (ืึทืคึผืฉืึทื ืึทืœ) ืึทืกื™ื™ื ื– ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ code ื“ืขื ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง.

ื‘ื™ื™ึทืฉืคึผื™ืœ ืฆื• ื ื•ืฆืŸ:

set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").

ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ืžืขืจืŸ 2 ื“ื•ืจืš 3 ืื•ืŸ ืฉืจื™ื™ึทื‘ืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืฆื• ืึท ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง y.

ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ

ืคืึธืจืŸ ื“ืึทื˜ืŸ ืฆื• ืื•ืŸ ืคึฟื•ืŸ ืคึผื™ื˜ื”ืึธืŸ.

ืคึผื™ื˜ื”ืึธืŸ -> ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ื™ืจื™ืก

ืขืก ื–ืขื ืขืŸ 4 ื•ื•ืขื’ืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื•ื•ืขืจื˜ ืคื•ืŸ ืึท ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ InterSystems IRIS, ื“ื™ืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื“ื™ ืกื™ืจื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืื™ืจ ื“ืึทืจืคึฟืŸ:

  • String ืคึฟืึทืจ ืคึผืฉื•ื˜ ื“ืึทื˜ืŸ ื˜ื™ื™ืคึผืก ืื•ืŸ ื“ื™ื‘ืึทื’ื™ื ื’.
  • Repr ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ืคึผืฉื•ื˜ ืึทื‘ื“ื–ืฉืขืงืฅ ืื•ืŸ ื“ื™ื‘ืึทื’ื™ื ื’.
  • JSON ืคึฟืึทืจ ื’ืจื™ื ื’ ื“ืึทื˜ืŸ ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทืŸ ืื•ื™ืฃ ื“ื™ InterSystems IRIS ื–ื™ื™ึทื˜.
  • Pickle ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ืึทื‘ื“ื–ืฉืขืงืฅ.

ื“ื™ ืžืขื˜ื”ืึธื“ืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ืฆื•ืจื™ืงืงืจื™ื’ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืคึฟื•ืŸ ืคึผื™ื˜ื”ืึธืŸ ื•ื•ื™ ืึท ืฉื˜ืจื™ืงืœ ืึธื“ืขืจ ืกื˜ืจื™ืžื–.

  • GetVariable(variable, serialization, .stream, useString) - ื‘ืึทืงื•ืžืขืŸ serialization ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง variable ะฒ stream. ืื•ื™ื‘ useString ืื™ื– 1 ืื•ืŸ ื“ื™ ืกื™ืจื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืื™ื– ื’ืขืฉื˜ืขืœื˜ ืื•ื™ืฃ ืึท ืฉื˜ืจื™ืงืœ, ื“ืขืžืึธืœื˜ ืึท ืฉื˜ืจื™ืงืœ ืื™ื– ืื•ืžื’ืขืงืขืจื˜ ืื•ืŸ ื ื™ืฉื˜ ืึท ื˜ื™ื™ึทืš.
  • GetVariableJson(variable, .stream, useString) - ื‘ืึทืงื•ืžืขืŸ JSON ืกื™ืจื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง.
  • GetVariablePickle(variable, .stream, useString, useDill) - ื‘ืึทืงื•ืžืขืŸ ืคึผื™ืงืงืœืข (ืึธื“ืขืจ ืงืจืึธืคึผ) ืกื™ืจื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง.

ื–ืืœ ืก ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืื•ื ื“ื–ืขืจ ื•ื•ืขืจื™ืึทื‘ืึทืœื– y.

set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6

ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ื™ืจื™ืก -> ืคึผื™ื˜ื”ืึธืŸ

ืœืึธื•ื“ื™ื ื’ ื“ืึทื˜ืŸ ืคื•ืŸ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ.

  • ExecuteQuery(query, variable, type, namespace) - ืงืจื™ื™ื™ืฅ ืึท ื“ืึทื˜ืึทืกืขื˜ (ืคึผืึทื ื“ืึทืก dataframe ืึธื“ืขืจ list) ืคึฟื•ืŸ ื“ื™ sql ืึธื ืคึฟืจืขื’ ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ืฆื• ืึท ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง variable. ืคึผืœืึทืกื˜ื™ืง ื–ืขืงืœ isc.py ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ื ื™ืžืฆื ืื™ืŸ ื“ืขืจ ื’ืขื’ื ื˜ namespace โ€” ื“ื™ ืคืืจืœืื ื’ ื•ื•ืขื˜ ื“ืืจื˜ ืื•ื™ืกื’ืขืคื™ืจื˜ ื•ื•ืขืจืŸ.
  • ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace) - ืœืึธื•ื“ื– ื’ืœืื‘ืืœืข ื“ืึทื˜ืŸ global ืคื•ืŸ ืกื•ื‘ืกืงืจื™ืคึผื˜ start ืฆื• end ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ ื•ื•ื™ ืึท ื˜ื™ืคึผ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง type: list, ืึธื“ืขืจ ืคึผืึทื ื“ืึทืก dataframe. ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ืึทืคึผืฉืึทื ืึทืœ ืึทืจื’ื•ืžืขื ื˜ืŸ mask ืื•ืŸ labels ื‘ื ื™ืžืฆื ืื™ืŸ ืงืœืึทืก ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ืŸ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ื“ืึทื˜ืึท ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ืึธืงื•ืžืขื ื˜ืŸ.
  • ExecuteClass(class, variable, type, start, end, properties, namespace) - ืœืึธื•ื“ื– ืงืœืึทืก ื“ืึทื˜ืŸ class ืคื•ืŸ ื™ื“ start ืฆื• end ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ ื•ื•ื™ ืึท ื˜ื™ืคึผ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง type: list, ืึธื“ืขืจ ืคึผืึทื ื“ืึทืก dataframe. properties - ืึท ืจืฉื™ืžื” (ื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ืงืึธืžืข) ืคื•ืŸ ืงืœืึทืก ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ื•ื•ืึธืก ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืœืึธื•ื“ื™ื“ ืื™ืŸ ื“ื™ ื“ืึทื˜ืŸ ืฉื˜ืขืœืŸ. ืžืึทืกืงืก ื’ืขืฉื˜ื™ืฆื˜ * ะธ ?. ืคืขืœื™ืงื™ื™ึทื˜ - * (ืึทืœืข ืคึผืจืึธืคึผืขืจื˜ื™ืขืก). ืคืึทืจืžืึธื’ %%CLASSNAME ืื™ื’ื ืึธืจื™ืจื˜.
  • ExecuteTable(table, variable, type, start, end, properties, namespace) - ืœืึธื•ื“ื– ื˜ื™ืฉ ื“ืึทื˜ืŸ table ืคื•ืŸ ื™ื“ start ืฆื• end ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ.

ExecuteQuery - ื•ื ื™ื•ื•ืขืจืกืึทืœ (ืงื™ื™ืŸ ืจื™ื›ื˜ื™ืง SQL ืึธื ืคึฟืจืขื’ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืฆื• ืคึผื™ื˜ื”ืึธืŸ). ืึธื‘ืขืจ, ExecuteGlobal ืื•ืŸ ื–ื™ื™ึทืŸ ืจืึทืคึผืขืจื– ExecuteClass ะธ ExecuteTable ืึทืจื‘ืขื˜ ืžื™ื˜ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื–. ื–ื™ื™ ื–ืขื ืขืŸ ืคื™ืœ ืคืึทืกื˜ืขืจ (3-5 ืžืืœ ืคืึทืกื˜ืขืจ ื•ื•ื™ ื“ื™ ODBC ืฉืึธืคืขืจ ืื•ืŸ 20 ืžืืœ ืคืึทืกื˜ืขืจ ExecuteQuery). ืžืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื‘ื™ื™ ื“ืึทื˜ืึท ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ืึธืงื•ืžืขื ื˜ืŸ.
ืึทืœืข ื“ื™ ืžืขื˜ื”ืึธื“ืก ืฉื˜ื™ืฆืŸ ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคื•ืŸ ืงื™ื™ืŸ ื’ืขื’ื ื˜. ืคึผืœืึทืกื˜ื™ืง ื–ืขืงืœ isc.py ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ื ื™ืžืฆื ืื™ืŸ ื“ืขืจ ืฆื™ืœ ื’ืขื’ื ื˜.

ExecuteQuery

ExecuteQuery(request, variable, type, namespace) - ื˜ืจืึทื ืกืคืขืจื™ื ื’ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคื•ืŸ ืงื™ื™ืŸ ืจื™ื›ื˜ื™ืง SQL ืึธื ืคึฟืจืขื’ ืฆื• Python. ื“ืึธืก ืื™ื– ื“ื™ ืกืœืึธื•ืึทืกื˜ ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืื•ืคึฟืŸ. ื ื™ืฆืŸ ืขืก ืื•ื™ื‘ ExecuteGlobal ืื•ืŸ ื–ื™ื™ึทืŸ ืจืึทืคึผืขืจื– ื–ืขื ืขืŸ ื ื™ืฉื˜ ื‘ื ื™ืžืฆื.

ื˜ืขื ื•ืช:

  • query - sql ืึธื ืคึฟืจืขื’.
  • variable - ื“ืขืจ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ื•ื•ืึธืก ื“ื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ.
  • type - list ืึธื“ืขืจ ืคึผืึทื ื“ืึทืก dataframe.
  • namespace โ€” ื“ืขืจ ื’ืขื’ื ื˜ ืื™ืŸ ื•ื•ืขืœื›ืŸ ื“ื™ ืคืืจืœืื ื’ ื•ื•ืขื˜ ืื•ื™ืกื’ืขืคื™ืจื˜ ื•ื•ืขืจืŸ.

ืขืงืกืขืงื•ื˜ืข ื’ืœืื‘ืืœืข

ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace) - ืคืึธืจืŸ ืึท ื’ืœืื‘ืืœืข ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ.

ื˜ืขื ื•ืช:

  • global - ื’ืœืื‘ืืœืข ื ืึธืžืขืŸ ืึธืŸ ^
  • variable - ื“ืขืจ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ื•ื•ืึธืก ื“ื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ.
  • type - list ืึธื“ืขืจ ืคึผืึทื ื“ืึทืก dataframe.
  • start - ื“ืขืจ ืขืจืฉื˜ืขืจ ืกื•ื‘ืกืงืจื™ืคึผื˜ ืคื•ืŸ ื“ื™ ื’ืœืื‘ืืœืข. ื“ืึทื•ื•ืงืข %Integer.
  • end - ื“ื™ ืœืขืฆื˜ืข ืกื•ื‘ืกืงืจื™ืคึผื˜ ืคื•ืŸ ื“ื™ ื’ืœืื‘ืืœืข. ื“ืึทื•ื•ืงืข %Integer.
  • mask - ื’ืœืื‘ืืœืข ื•ื•ืขืจื˜ ืžืึทืกืงืข. ื“ื™ ืžืึทืกืงืข ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงื™ืจืฆืขืจ ื•ื•ื™ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืคืขืœื“ืขืจ ืื™ืŸ ื“ื™ ื’ืœืื‘ืืœืข (ืื™ืŸ ื•ื•ืึธืก ืคืึทืœ ื“ื™ ืคืขืœื“ืขืจ ืื™ืŸ ื“ื™ ืกื•ืฃ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืกืงื™ืคึผื˜). ื•ื•ื™ ืฆื• ืคึฟืึธืจืžืึทื˜ ืึท ืžืึทืกืงืข:
    • + ืคืึธืจืŸ ื“ื™ ื•ื•ืขืจื˜ ื•ื•ื™ ืื™ื–.
    • - ื”ืึธืคึผืงืขืŸ ื•ื•ืขืจื˜.
    • b - ื‘ื•ืœื™ืึทืŸ ื˜ื™ืคึผ (0 - False, ื“ื™ ืื™ื‘ืขืจื™ืงืข โ€” True).
    • d โ€” ื“ืึทื˜ืข (ืคึฟื•ืŸ $ื”ืึธืจืึธืœืึธื’ื™, ืื•ื™ืฃ Windows ืคึฟื•ืŸ 1970, ืื•ื™ืฃ ืœื™ื ื•ืงืก ืคึฟื•ืŸ 1900).
    • t โ€” ืฆืฒื˜ ($ื”ืืจืืœืื’, ืกืขืงื•ื ื“ืŸ ื ืืš ื”ืืœื‘ืข ื ืื›ื˜).
    • m - ื˜ื™ื™ืžืกื˜ืึทืžืคึผ (ืคืึธืจืžืึทื˜ ืฉื˜ืจื™ืงืœ ื™ืึธืจ-ื—ื•ื“ืฉ-ื˜ืึธื’ ืฉืขื”: ืžื™ื ื•ื˜: ืจื’ืข).
  • labels - ืจืฉื™ืžื” ืคื•ืŸ ื–ื™ื™ึทืœ ื ืขืžืขืŸ. ื“ืขืจ ืขืจืฉื˜ืขืจ ืขืœืขืžืขื ื˜ ืื™ื– ื“ืขืจ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืกืึทื‘ืกืงืจื™ืคึผื˜.
  • namespace โ€” ื“ืขืจ ื’ืขื’ื ื˜ ืื™ืŸ ื•ื•ืขืœื›ืŸ ื“ื™ ืคืืจืœืื ื’ ื•ื•ืขื˜ ืื•ื™ืกื’ืขืคื™ืจื˜ ื•ื•ืขืจืŸ.

ExecuteClass

ื™ื™ึทื ื•ื•ื™ืงืœืขืŸ ืื™ื‘ืขืจ ExecuteGlobal. ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืงืœืึทืก ื“ืขืคึฟื™ื ื™ืฆื™ืข, ืคึผืจื™ืคึผืขืจื– ืึท ืจื•ืคืŸ ExecuteGlobal ืื•ืŸ ืจื•ืคื˜ ืื™ื.

ExecuteClass(class, variable, type, start, end, properties, namespace) - ื“ื•ืจื›ืคืึธืจ ืงืœืึทืก ื“ืึทื˜ืŸ ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ.

ื˜ืขื ื•ืช:

  • class - ืงืœืึทืก ื ืึธืžืขืŸ
  • variable - ื“ืขืจ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ื•ื•ืึธืก ื“ื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ.
  • type - list ืึธื“ืขืจ ืคึผืึทื ื“ืึทืก dataframe.
  • start โ€” ืื ื”ื•ื™ื‘ื ื“ื™ ืง ืื™ื“ .
  • end โ€” ืœืขืฆื˜ืŸ ืื™ื“
  • properties - ืึท ืจืฉื™ืžื” (ื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ืงืึธืžืข) ืคื•ืŸ ืงืœืึทืก ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ื•ื•ืึธืก ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืœืึธื•ื“ื™ื“ ืื™ืŸ ื“ื™ ื“ืึทื˜ืŸ ืฉื˜ืขืœืŸ. ืžืึทืกืงืก ื’ืขืฉื˜ื™ืฆื˜ * ะธ ?. ืคืขืœื™ืงื™ื™ึทื˜ - * (ืึทืœืข ืคึผืจืึธืคึผืขืจื˜ื™ืขืก). ืคืึทืจืžืึธื’ %%CLASSNAME ืื™ื’ื ืึธืจื™ืจื˜.
  • namespace โ€” ื“ืขืจ ื’ืขื’ื ื˜ ืื™ืŸ ื•ื•ืขืœื›ืŸ ื“ื™ ืคืืจืœืื ื’ ื•ื•ืขื˜ ืื•ื™ืกื’ืขืคื™ืจื˜ ื•ื•ืขืจืŸ.

ืึทืœืข ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ื–ืขื ืขืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื•ื•ื™ ืื™ื– ืึทื—ื•ืฅ ื˜ื™ืคึผ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก %Date, %Time, %Boolean ะธ %TimeStamp - ื–ื™ื™ ื–ืขื ืขืŸ ืงืึธื ื•ื•ืขืจื˜ืขื“ ืื™ืŸ ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืคึผื™ื˜ื”ืึธืŸ ืงืœืืกืŸ.

ืขืงืกืขืงื•ื˜ืึทื‘ืœืข

ื™ื™ึทื ื•ื•ื™ืงืœืขืŸ ืื™ื‘ืขืจ ExecuteClass. ื˜ืจืึทื ื–ืœื™ื™ืฅ โ€‹โ€‹ื“ื™ ื˜ื™ืฉ ื ืึธืžืขืŸ ืื™ืŸ ื“ื™ ืงืœืึทืก ื ืึธืžืขืŸ ืื•ืŸ ืจื•ืคื˜ ExecuteClass. ื—ืชื™ืžื”:

ExecuteTable(table, variable, type, start, end, properties, namespace) - ืคืึธืจืŸ ื˜ื™ืฉ ื“ืึทื˜ืŸ ืฆื• ืคึผื™ื˜ื”ืึธืŸ.

ื˜ืขื ื•ืช:

  • table โ€” ื˜ื™ืฉ ื ืืžืขืŸ.
    ืึทืœืข ืื ื“ืขืจืข ื˜ืขื ื•ืช ื–ืขื ืขืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื•ื•ื™ ื–ื™ื™ ื–ืขื ืขืŸ ExecuteClass.

ื”ืขืจื•ืช

  • ExecuteGlobal, ExecuteClass ะธ ExecuteTable ืึทืจื‘ืขื˜ ื’ืœื™ื™ึทืš ืฉื ืขืœ.
  • ExecuteGlobal 20 ืžืืœ ืคืึทืกื˜ืขืจ ื•ื•ื™ ExecuteQuery ืื•ื™ืฃ ื’ืจื•ื™ืก ื“ืึทื˜ืŸ ืฉื˜ืขืœื˜ (ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืฆื™ื™ื˜> 0.01 ืกืขืงื•ื ื“ืขืก).
  • ExecuteGlobal, ExecuteClass ะธ ExecuteTable ืึทืจื‘ืขื˜ ืื•ื™ืฃ ื’ืœืึธื•ื‘ืึทืœื– ืžื™ื˜ ื“ืขื ืกื˜ืจื•ืงื˜ื•ืจ: ^global(key) = $lb(prop1, prop2, ..., propN) ื•ื•ื• key โ€” ืึท ื’ืึทื ืฅ ื ื•ืžืขืจ.
  • ืคืึทืจ ExecuteGlobal, ExecuteClass ะธ ExecuteTable ื’ืขืฉื˜ื™ืฆื˜ ืงื™ื™ื˜ ืคื•ืŸ ื•ื•ืึทืœื•ืขืก %Date ืงืึธืจืึทืกืคึผืึทื ื“ื– ืฆื• ืงื™ื™ื˜ mktime ืื•ืŸ ื“ืขืคึผืขื ื“ืก ืื•ื™ืฃ ื“ื™ ืึทืก (ืคึฟืขื ืฆื˜ืขืจ: 1970-01-01, ืœื™ื ื•ืงืก ืงืกื ื•ืžืงืก-ืงืกื ื•ืžืงืก-ืงืกื ื•ืžืงืก, ืžืขืง). ื ื™ืฆืŸ %TimeStampืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ืึทื˜ืŸ ืึทืจื•ื™ืก ื“ืขื ืงื™ื™ื˜ ืึธื“ืขืจ ื ื•ืฆืŸ ืคึผืึทื ื“ืึทืก ื“ืึทื˜ืึทืคืจืึทืžืข ื•ื•ื™ื™ึทืœ ื“ืึธืก ืื™ื– ื‘ืœื•ื™ื– ืึท ืœื™ืžื™ื˜ืขื“ ื‘ืึทื’ืจืขื ืขืฆื•ื ื’.
  • ืคืึทืจ ExecuteGlobal, ExecuteClass ะธ ExecuteTable ืึทืœืข ืึทืจื’ื•ืžืขื ื˜ืŸ ืึทื—ื•ืฅ ื“ื™ ื“ืึทื˜ืŸ ืžืงื•ืจ (ื’ืœืื‘ืืœืข, ืงืœืึทืก ืึธื“ืขืจ ื˜ื™ืฉ) ืื•ืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ื–ืขื ืขืŸ ืึทืคึผืฉืึทื ืึทืœ.

ืขืงืกืึทืžืคึผืœืขืก

ื˜ืขืกื˜ ืงืœืึทืก isc.py.test.Person ื›ึผื•ืœืœ ืึท ืžืขื˜ืึธื“ ื•ื•ืึธืก ื“ืขืžืึทื ืกื˜ืจื™ื™ืฅ ืึทืœืข ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืึธืคึผืฆื™ืขืก:

set global = "isc.py.test.PersonD"
set class = "isc.py.test.Person"
set table = "isc_py_test.Person"
set query = "SELECT * FROM isc_py_test.Person"

// ะžะฑั‰ะธะต ะฐั€ะณัƒะผะตะฝั‚ั‹
set variable = "df"
set type = "dataframe"
set start = 1
set end = $g(^isc.py.test.PersonD, start)

// ะกะฟะพัะพะฑ 0: ExecuteGlobal ะฑะตะท ะฐั€ะณัƒะผะตะฝั‚ะพะฒ
set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 0, type)

// ะกะฟะพัะพะฑ 1: ExecuteGlobal ั ะฐั€ะณัƒะผะตะฝั‚ะฐะผะธ    
// ะŸั€ะธ ะฟะตั€ะตะดะฐั‡ะต ะณะปะพะฑะฐะปะฐ ะฝะฐะทะฒะฐะฝะธั ะฟะพะปะตะน ะทะฐะดะฐัŽั‚ัั ะฒั€ัƒั‡ะฝัƒัŽ
// globalKey - ะฝะฐะทะฒะฐะฝะธะต ัะฐะฑัั‚ะบั€ะธะฟั‚ะฐ 
set labels = $lb("globalKey", "Name", "DOB", "TS", "RandomTime", "AgeYears", "AgeDecimal", "AgeDouble", "Bool")

// mask ัะพะดะตั€ะถะธั‚ ะฝะฐ 1 ัะปะตะผะตะฝั‚ ะผะตะฝัŒัˆะต ั‡ะตะผ labels ะฟะพั‚ะพะผัƒ ั‡ั‚ะพ "globalKey" - ะฝะฐะทะฒะฐะฝะธะต ัะฐะฑัะบะธะฟั‚ะฐ
// ะŸั€ะพะฟัƒัะบะฐะตะผ %%CLASSNAME
set mask = "-+dmt+++b"

set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 1, type, start, end, mask, labels)

// ะกะฟะพัะพะฑ 2: ExecuteClass
set sc = ##class(isc.py.Main).ExecuteClass(class, variable _ 2, type, start, end)

// ะกะฟะพัะพะฑ 3: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteTable(table, variable _ 3, type, start, end)

// ะกะฟะพัะพะฑ 4: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteQuery(query, variable _ 4, type)

ืจื•ืคืŸ ื“ืขื ืื•ืคึฟืŸ do ##class(isc.py.test.Person).Test() ืฆื• ื–ืขืŸ ื•ื•ื™ ืึทืœืข ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืžืขื˜ื”ืึธื“ืก ืึทืจื‘ืขื˜.

ื”ืขืœืคืขืจ ืžืขื˜ื”ืึธื“ืก

  • GetVariableInfo(variable, serialization, .defined, .type, .length) - ื‘ืึทืงื•ืžืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง: ืฆื™ ืขืก ืื™ื– ื“ื™ืคื™ื™ื ื“, ื–ื™ื™ึทืŸ ืงืœืึทืก ืื•ืŸ ืกื™ืจื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืœืขื ื’.
  • GetVariableDefined(variable, .defined) - ืฆื™ ื“ื™ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– ื“ื™ืคื™ื™ื ื“.
  • GetVariableType(variable, .type) - ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืงืœืึทืก ืคื•ืŸ ื“ื™ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง.
  • GetStatus() - ื‘ืึทืงื•ืžืขืŸ ืื•ืŸ ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ื“ื™ ืœืขืฆื˜ืข ื•ื™ืกื ืขื ืื•ื™ืฃ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ื–ื™ื™ึทื˜.
  • GetModuleInfo(module, .imported, .alias) - ื‘ืึทืงื•ืžืขืŸ ืžืึธื“ื•ืœืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื•ืŸ ืึทืจื™ื™ึทื ืคื™ืจ ืกื˜ืึทื˜ื•ืก.
  • GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments) - ื‘ืึทืงื•ืžืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ืคึฟื•ื ืงืฆื™ืข.

ื™ื ื˜ืขืจืึธืคึผืขืจืึทื‘ื™ืœื™ื˜ื™

ืื™ืจ ื”ืึธื˜ ื’ืขืœืขืจื ื˜ ื•ื•ื™ ืฆื• ืจื•ืคืŸ Python Gateway ืคึฟื•ืŸ ื“ื™ ื•ื•ืึธืงื–ืึทืœ, ืื™ืฆื˜ ืœืึธื–ืŸ ืื•ื ื“ื– ืึธื ื”ื™ื™ื‘ืŸ ื ื™ืฆืŸ ืขืก ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข. ื“ื™ ื™ืงืขืจ ืคึฟืึทืจ ื™ื ื˜ืขืจืึทืงื˜ื™ื ื’ ืžื™ื˜ Python ืื™ืŸ ื“ืขื ืžืึธื“ืข ืื™ื– isc.py.ens.Operation. ืขืก ืึทืœืึทื•ื– ืื•ื ื“ื–:

  • ื•ื™ืกืคื™ืจืŸ ืงืึธื“ ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ
  • ื”ื™ื˜ / ืจื™ืกื˜ืึธืจ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื ื˜ืขืงืกื˜
  • ืœืึธื“ืŸ ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ื“ืึทื˜ืŸ ืคึฟื•ืŸ Python

ื‘ื™ื™ืกื™ืงืœื™, ืึท ืคึผื™ื˜ื”ืึธืŸ ืึธืคึผืขืจืึทืฆื™ืข ืื™ื– ืึท ืจืึทืคึผืขืจ ืื™ื‘ืขืจ isc.py.Main. ืึธืคึผืขืจืึทืฆื™ืข isc.py.ens.Operation ื’ื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ืคึผืจืึธืฆืขืก ืคึฟื•ืŸ InterSystems IRIS ืคึผืจืึธื“ื•ืงื˜ืŸ. ืคื™ื ืฃ ืคึฟืจืื’ืŸ ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜:

  • isc.py.msg.ExecutionRequest ืฆื• ื•ื™ืกืคื™ืจืŸ Python ืงืึธื“. ืงืขืจื˜ isc.py.msg.ExecutionResponse ืžื™ื˜ ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืจืขื–ื•ืœื˜ืึทื˜ ืื•ืŸ ื“ื™ ื•ื•ืึทืœื•ืขืก ืคื•ืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื–.
  • isc.py.msg.StreamExecutionRequest ืฆื• ื•ื™ืกืคื™ืจืŸ Python ืงืึธื“. ืงืขืจื˜ isc.py.msg.StreamExecutionResponse ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืื•ืŸ ื“ื™ ื•ื•ืึทืœื•ืขืก ืคื•ืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื–. ืึทื ืึทืœืึธื’ isc.py.msg.ExecutionRequest, ืื‘ืขืจ ืืงืฆืขืคื˜ื™ืจืŸ ืื•ืŸ ืงืขืจื˜ ืกื˜ืจื™ืžื– ืื ืฉื˜ืื˜ ืกื˜ืจื™ื ื’ืก.
  • isc.py.msg.QueryRequest ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ืึท SQL ืึธื ืคึฟืจืขื’. ืงืขืจื˜ Ens.Response.
  • isc.py.msg.GlobalRequest/isc.py.msg.ClassRequest/isc.py.msg.TableRequest ืคึฟืึทืจ ื’ื™ื™ื˜ ืคืืจื‘ื™ื™ ื’ืœืื‘ืืœืข / ืงืœืึทืก / ื˜ื™ืฉ ื“ืึทื˜ืŸ. ืงืขืจื˜ Ens.Response.
  • isc.py.msg.SaveRequest ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื ื˜ืขืงืกื˜. ืงืขืจื˜ Ens.StringResponse ืžื™ื˜ ืงืึธื ื˜ืขืงืกื˜ ID.
  • isc.py.msg.RestoreRequest ืฆื• ื•ืžืงืขืจืŸ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื ื˜ืขืงืกื˜.

    ืื™ืŸ ื“ืขืจืฆื•, isc.py.ens.Operation ื”ืื˜ ืฆื•ื•ื™ื™ ืกืขื˜ื˜ื™ื ื’ืก:

    • Initializer - ืกืขืœืขืงื˜ื™ื ื’ ืึท ืงืœืึทืก ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ ืฆื•ื‘ื™ื ื“ isc.py.init.Abstract. ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืœืึธื“ืŸ ืคืึทื ื’ืงืฉืึทื ื–, ืžืึทื“ื–ืฉื•ืœื–, ืงืœืืกืŸ, ืขื˜ืง. ืขืก ืื™ื– ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืึทืžืึธืœ ื•ื•ืขืŸ ื“ืขืจ ืคึผืจืึธืฆืขืก ืกื˜ืึทืจืฅ.
    • PythonLib - (ื‘ืœื•ื™ื– ืœื™ื ื•ืงืก) ืื•ื™ื‘ ืื™ืจ ื–ืขืŸ ืขืจืจืึธืจืก ื•ื•ืขืŸ ืœืึธื•ื“ื™ื ื’, ืฉื˜ืขืœืŸ ื“ื™ ื•ื•ืขืจื˜ ืฆื• libpython3.6m.so ืึธื“ืขืจ ืืคื™ืœื• ืื™ืŸ ื“ื™ ืคื•ืœ ื•ื•ืขื’ ืฆื• ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื‘ืœื™ืึธื˜ืขืง.

ืฉืึทืคื•ื ื’ ืคื•ืŸ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื–

ืขืก ื–ืขื ืขืŸ ืฆื•ื•ื™ื™ ืงืœืืกืŸ ื‘ื ื™ืžืฆื ื•ื•ืึธืก ืคืึทืกื™ืœืึทื˜ื™ื™ื˜ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื–:

  • isc.py.ens.ProcessUtils ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืขืงืกื˜ืจืึทืงื˜ ืึทื ืึทื˜ื™ื™ืฉืึทื ื– ืคื•ืŸ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ืŸ ืžื™ื˜ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ.
  • isc.py.util.BPEmulator ืžืื›ื˜ ืขืก ื’ืจื™ื ื’ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื– ืžื™ื˜ Python. ืขืก ืงืขื ืขืŸ ื•ื™ืกืคื™ืจืŸ ืึท ื’ืขืฉืขืคื˜ ืคึผืจืึธืฆืขืก (Python ืคึผืึทืจืฅ) ืื™ืŸ ื“ืขื ืงืจืึทื ื˜ ืคึผืจืึธืฆืขืก.

ื•ื•ืขืจื™ืึทื‘ืึทืœ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ

ื›ืœ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื– ื™ื ื›ืขืจืึทื˜ื™ื“ ืคื•ืŸ isc.py.ens.ProcessUtils, ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ืขื ืื•ืคึฟืŸ GetAnnotation(name) ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ ืึทื ืึธื˜ืึทืฆื™ืข ื•ื•ืขืจื˜ ื“ื•ืจืš ื–ื™ื™ืŸ ื ืึธืžืขืŸ. ื“ื™ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ ืึทื ืึธื˜ืึทืฆื™ืข ืงืขื ืขืŸ ืึทื ื˜ื”ืึทืœื˜ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื“ ืื•ื™ืฃ ื“ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ื™ืจื™ืก ื–ื™ื™ึทื˜ ืื™ื™ื“ืขืจ ื–ื™ื™ ืคืึธืจืŸ ืฆื• ืคึผื™ื˜ื”ืึธืŸ. ื“ืึธ ืื™ื– ื“ื™ ืกื™ื ื˜ืึทืงืก ืคึฟืึทืจ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ:

  • ${class:method:arg1:...:argN} - ืื•ืคึฟืŸ ืจื•ืคืŸ
  • #{expr} - ื•ื™ืกืคื™ืจืŸ ืงืึธื“ ืื™ืŸ ืึธื‘ื“ื–ืฉืขืงื˜ืกืงืจื™ืคึผื˜ ืฉืคึผืจืึทืš.

ื ื‘ื™ื™ืฉืคึผื™ืœ ืื™ื– ื‘ื ื™ืžืฆื ืื™ืŸ ื“ื™ ืคึผืจืึธื‘ืข ื’ืขืฉืขืคื˜ ืคึผืจืึธืฆืขืก isc.py.test.Process, ืœืžืฉืœ , ืื™ ืŸ ื˜ืขื˜ื™ืงืฒื˜ Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ:

  • #{process.WorkDirectory} ืงืขืจื˜ ื“ื™ ื•ื•ืึธืจืงื“ื™ืจืขืงื˜ืึธืจื™ ืคืึทืจืžืึธื’ ืคื•ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ process, ื•ื•ืึธืก ืื™ื– ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ื“ื™ ืงืœืึทืก isc.py.test.Process ื™ืขื ืข. ืงืจืึทื ื˜ ื’ืขืฉืขืคื˜ ืคึผืจืึธืฆืขืก.
  • ${%PopulateUtils:Integer:1:100} ืจื•ืคื˜ ื–ื™ืš ื ืžืขื˜ืื“ Integer ืงืœืึทืก %PopulateUtils, ืคืืจื‘ื™ื™ ืืจื’ื•ืžืขื ื˜ืŸ 1 ะธ 100, ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ื˜ืจืึทืค ื™ื ื˜ืึทื“ื–ืฉืขืจ ืื™ืŸ ื“ื™ ืงื™ื™ื˜ 1...100.

ืคึผืจื•ื‘ื™ืจืŸ ื’ืขืฉืขืคื˜ ืคึผืจืึธืฆืขืก

ื˜ืขืกื˜ ืคึผืจืึธื“ื•ืงื˜ืŸ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื– ื–ืขื ืขืŸ ื‘ื ื™ืžืฆื ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ Python Gateway. ืฆื• ื ื•ืฆืŸ ื–ื™ื™:

  1. ืื™ืŸ ื“ื™ OS ื•ื•ืึธืงื–ืึทืœ, ืœื•ื™ืคืŸ: pip install pandas matplotlib seaborn.
  2. ืื™ืŸ ื“ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ื™ืจื™ืก ื•ื•ืึธืงื–ืึทืœ, ืœื•ื™ืคืŸ: do ##class(isc.py.test.CannibalizationData).Import() ืฆื• ืคึผืœืึธืžื‘ื™ืจืŸ ื“ื™ ืคึผืจืึธื‘ืข ื“ืึทื˜ืŸ.
  3. ืงืึทื˜ืขืจ ืคึผืจืึธื“ื•ืงื˜ืŸ isc.py.test.Production.
  4. ืฉื™ืงืŸ ื‘ืขื˜ืŸ ื˜ื™ืคึผ Ens.Request ะฒ isc.py.test.Process.

ื–ืืœ ืก ื–ืขืŸ ื•ื•ื™ ืขืก ืึทืœืข ืึทืจื‘ืขื˜ ืฆื•ื–ืึทืžืขืŸ. ืขืคืขื ืขืŸ isc.py.test.Process ืื™ืŸ ื“ื™ BPL ืจืขื“ืึทืงื˜ืึธืจ:

ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ื‘ื™ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS

ืงืึธื“ ืขืงืกืขืงื•ื˜ื™ืึธืŸ

ื“ื™ ืžืขืจืกื˜ ื•ื•ื™ื›ื˜ื™ืง ืึทืจื•ื™ืกืจื•ืคืŸ ืื™ื– ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื“:

ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ื‘ื™ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS

ืึธื ืคึฟืจืขื’ ื’ืขื•ื•ื™ื™ื ื˜ isc.py.msg.ExecutionRequest, ื“ืึธ ื–ืขื ืขืŸ ื–ื™ื™ึทืŸ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก:

  • Code - ืคึผื™ื˜ื”ืึธืŸ ืงืึธื“.
  • SeparateLines - ืฆื™ ืฆื• ื˜ื™ื™ืœืŸ ื“ื™ ืงืึธื“ ืื™ืŸ ืฉื•ืจื•ืช ืคึฟืึทืจ ื“ื•ืจื›ืคื™ืจื•ื ื’. $c(10) (n) ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ื‘ืึทื–ื•ื ื“ืขืจ ืกื˜ืจื™ื ื’ืก. ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ืขืก ืื™ื– ื ื™ืฉื˜ ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ืคึผืจืึธืฆืขืก ื“ื™ ื’ืื ืฆืข ืึธื ื–ืึธื’ ืื™ืŸ ืึทืžืึธืœ, ื“ื™ ืคึฟื•ื ืงืฆื™ืข ืื™ื– ื‘ืœื•ื™ื– ื‘ื“ืขื” ืฆื• ืคึผืจืึธืฆืขืก def ืื•ืŸ ืขื ืœืขืš ืžื•ืœื˜ื™ืœื™ื™ืŸ ืื•ื™ืกื“ืจื•ืงืŸ. ืคืขืœื™ืงื™ื™ึทื˜ 0.
  • Variables - ืึท ืจืฉื™ืžื” ืคื•ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืžื•ืกื™ืฃ ืฆื• ื“ื™ ืขื ื˜ืคืขืจ ืžื™ื˜ ืึท ืงืึธืžืข.
  • Serialization - ื•ื•ื™ ืฆื• ืกื™ืจื™ืึทืœื™ื–ื™ืจืŸ ื“ื™ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื•ื•ืึธืก ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืฆื•ืจื™ืงืงื•ืžืขืŸ. ืึธืคึผืฆื™ืขืก: Str, Repr, JSON, Pickle ะธ Dill, ืคืขืœื™ืงื™ื™ึทื˜ Str.

ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืžื™ืจ ื ืึธืจ ืฉื˜ืขืœืŸ ื“ื™ ืคืึทืจืžืึธื’ Code, ืึทื–ื•ื™ ืึทืœืข ืื ื“ืขืจืข ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ื ื•ืฆืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืึทืœื•ืขืก. ืžื™ืจ ืฉื˜ืขืœืŸ ืขืก ื“ื•ืจืš ืจื•ืคืŸ process.GetAnnotation("Import pandas"), ื•ื•ืึธืก ื‘ื™ื™ ืจื•ื ื˜ื™ืžืข ืงืขืจื˜ ืึทืŸ ืึทื ืึธื˜ืึทืฆื™ืข ื ืึธืš ื“ื™ ื•ื•ืขืจื™ืึทื‘ืึทืœ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜. ื ืึธืš ืึทืœืข, ื“ื™ ืงืึธื“ import pandas as pd ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืฆื• ืคึผื™ื˜ื”ืึธืŸ. GetAnnotation ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืžืึทืœื˜ื™-ืฉื•ืจื” ืคึผื™ื˜ื”ืึธืŸ ืกืงืจื™ืคึผืก, ืึธื‘ืขืจ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ืื•ื™ืฃ ื“ืขื ืื•ืคึฟืŸ ืคื•ืŸ ืงืจื™ื’ืŸ ืงืึธื“. ืื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ื“ื™ ืคืึทืจืžืึธื’ Code ืื™ืŸ ืงื™ื™ืŸ ื•ื•ืขื’ ื‘ืึทืงื•ื•ืขื ืคึฟืึทืจ ืื™ืจ.

ื‘ืึทืงื•ืžืขืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื–

ืืŸ ืื ื“ืขืจ ื˜ืฉื™ืงืึทื•ื•ืข ืึทืจื•ื™ืกืจื•ืคืŸ ื ื™ืฆืŸ isc.py.msg.ExecutionRequest - Correlation Matrix: Tabular:

ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ื‘ื™ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS

ืขืก ืงืึทืœืงื™ืึทืœื™ื™ืฅ ื“ื™ ืงืึธืจืึทืœื™ื™ืฉืึทืŸ ืžืึทื˜ืจื™ืฅ ืื•ื™ืฃ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ื–ื™ื™ึทื˜ ืื•ืŸ ืขืงืกื˜ืจืึทืงื˜ ื“ื™ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง corrmat ืฆื•ืจื™ืง ืฆื• InterSystems IRIS ืื™ืŸ JSON ืคึฟืึธืจืžืึทื˜ ื“ื•ืจืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ื‘ืขื˜ืŸ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก:

  • Variables: "corrmat"
  • Serialization: "JSON"

ืžื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืื™ืŸ Visual Trace:

ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ื‘ื™ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS

ืื•ืŸ ืื•ื™ื‘ ืžื™ืจ ื“ืึทืจืคึฟืŸ ื“ืขื ื•ื•ืขืจื˜ ืื™ืŸ ื“ื™ BP, ืžื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ืขืก ื•ื•ื™ ื“ืึธืก: callresponse.Variables.GetAt("corrmat").

ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ

ื“ืขืจื ืึธืš, ืœืึธืžื™ืจ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ื˜ืจืึทื ืกืคืขืจื™ื ื’ ื“ืึทื˜ืŸ ืคื•ืŸ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ืฆื• ืคึผื™ื˜ื”ืึธืŸ; ืึทืœืข ืจื™ืงื•ื•ืขืก ืคึฟืึทืจ ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ื™ ืฆื•ื‘ื™ื ื“ isc.py.msg.DataRequestื•ื•ืึธืก ื’ื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืคึผืจืึธืคึผืขืจื˜ื™ืขืก:

  • Variable - ืึท ืคึผื™ื˜ื”ืึธืŸ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ื•ื•ืึธืก ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ.
  • Type - ื•ื•ืขืจื™ืึทื‘ืึทืœ ื˜ื™ืคึผ: dataframe (ืคึผืึทื ื“ืึทืก ื“ืึทื˜ืึทืคืจืึทืžืข) ืึธื“ืขืจ list.
  • Namespace - ื“ื™ ื’ืขื’ื ื˜ ืคื•ืŸ ื•ื•ืึธืก ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ื“ืึทื˜ืŸ. ืคึผืœืึทืกื˜ื™ืง ื–ืขืงืœ isc.py ื–ืึธืœ ื–ื™ื™ืŸ ื‘ื ื™ืžืฆื ืื™ืŸ ื“ืขื ื’ืขื’ื ื˜. ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ืึท ื’ืขื’ื ื˜ ืึธืŸ ืคึผืจืึธื“ื•ืงื˜ ืฉื˜ื™ืฆืŸ.

ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื“ืขื ืฆื•ื‘ื™ื ื“, 4 ืงืœืืกืŸ ืคื•ืŸ ืจื™ืงื•ื•ืขืก ื–ืขื ืขืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“:

  • isc.py.msg.QueryRequest - ืฉื˜ืขืœืŸ ื“ื™ ืคืึทืจืžืึธื’ Query ืฆื• ืฉื™ืงืŸ ืึท SQL ืึธื ืคึฟืจืขื’.
  • isc.py.msg.ClassRequest - ืฉื˜ืขืœืŸ ื“ื™ ืคืึทืจืžืึธื’ Class ืฆื• ืคืึธืจืŸ ืงืœืึทืก ื“ืึทื˜ืŸ.
  • isc.py.msg.TableRequest - ืฉื˜ืขืœืŸ ืคืึทืจืžืึธื’ Table ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื˜ื™ืฉ ื“ืึทื˜ืŸ.
  • isc.py.msg.GlobalRequest - ืฉื˜ืขืœืŸ ืคืึทืจืžืึธื’ Global ืคึฟืึทืจ ื’ืœืื‘ืืœืข ื“ืึทื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ.

ืื™ืŸ ื“ื™ ืคึผืจืึธื‘ืข ืคึผืจืึธืฆืขืก, ืงื•ืง ืื™ืŸ ื“ื™ ื˜ืขื˜ื™ืงื™ื™ื˜ RAWื•ื•ื• isc.py.msg.QueryRequest ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ืงืึทืžืฃ.

ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ื‘ื™ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS

ืฉืคึผืึธืจืŸ / ืจื™ืกื˜ืึธืจื™ื ื’ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื ื˜ืขืงืกื˜

ืฆื•ื ืกื•ืฃ, ืžื™ืจ ืงืขื ืขืŸ ืจืึทื˜ืขื•ื•ืขืŸ ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื ื˜ืขืงืกื˜ ืื™ืŸ InterSystems IRIS, ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืžื™ืจ ื•ื•ืขืœืŸ ืฉื™ืงืŸ isc.py.msg.SaveRequest ืžื™ื˜ ื˜ืขื ื•ืช:

  • Mask - ื‘ืœื•ื™ื– ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื•ื•ืึธืก ื’ืœื™ื™ึทื›ืŸ ื“ื™ ืžืึทืกืงืข ื–ืขื ืขืŸ ื’ืขืจืื˜ืขื•ื•ืขื˜. ื’ืขืฉื˜ื™ืฆื˜ * ะธ ?. ื‘ื™ื™ึทืฉืคึผื™ืœ: "Data*, Figure?"... ืคืขืœื™ืงื™ื™ึทื˜ *.
  • MaxLength - ื“ื™ ืžืึทืงืกื™ืžื•ื ืœืขื ื’ ืคื•ืŸ ื“ื™ ืกื˜ืึธืจื“ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง. ืื•ื™ื‘ ื“ื™ ืกื™ืจื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– ืžืขืจ, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ื’ื ืึธืจื™ืจื˜. ืฉื˜ืขืœืŸ ืฆื• 0 ืฆื• ื‘ืึทืงื•ืžืขืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืคื•ืŸ ืงื™ื™ืŸ ืœืขื ื’. ืคืขืœื™ืงื™ื™ึทื˜ $$$MaxStringLength.
  • Name - ืงืึธื ื˜ืขืงืกื˜ ื ืึธืžืขืŸ (ืึทืคึผืฉืึทื ืึทืœ).
  • Description - ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ (ืึทืคึผืฉืึทื ืึทืœ).

ืงืขืจื˜ Ens.StringResponse ั Id ื’ืขืจืื˜ืขื•ื•ืขื˜ ืงืึธื ื˜ืขืงืกื˜. ืื™ืŸ ื“ื™ ืคึผืจืึธื‘ืข ืคึผืจืึธืฆืขืก, ืงื•ืง ืื™ืŸ ื“ื™ ื˜ืขื˜ื™ืงื™ื™ื˜ Save Context.

ืคึฟืึทืจื‘ื•ื ื“ืขื ืข ื‘ืขื˜ืŸ isc.py.msg.RestoreRequest ืœืึธื•ื“ื– ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ:

  • ContextId - ืงืึธื ื˜ืขืงืกื˜ ื™ื“ืขื ื˜ื™ืคื™ืขืจ.
  • Clear - ื•ื™ืกืžืขืงืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืื™ื™ื“ืขืจ ืจื™ืกื˜ืึธืจื™ื ื’.

ื“ื–ืฉื•ืคึผื™ื˜ืขืจ ื ืึธื•ื˜ื‘ื•ืง

ื“ื–ืฉื•ืคึผื™ื˜ืขืจ ื ืึธื•ื˜ื‘ื•ืง ืื™ื– ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึทื– ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉืึทืคึฟืŸ ืื•ืŸ ืึทืจื•ื™ืกื’ืขื‘ืŸ ื ืึธื•ื˜ื‘ื•ืงืก ืžื™ื˜ ืงืึธื“, ื•ื•ื™ื–ืฉื•ื•ืึทืœืึทื–ื™ื™ืฉืึทื ื– ืื•ืŸ ื˜ืขืงืกื˜. ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื–ืขืŸ ืื•ืŸ ืจืขื“ืึทื’ื™ืจืŸ BPL ืคึผืจืึทืกืขืกืึทื– ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท ื“ื–ืฉื•ืคึผื™ื˜ืขืจ ื ืึธื•ื˜ื‘ื•ืง. ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ื“ืขืจ ื ืึธืจืžืึทืœ ืคึผื™ื˜ื”ืึธืŸ 3 ืขืงืกืึทืงื™ื•ื˜ืขืจ ืื™ื– ื“ืขืจื•ื•ื™ื™ึทืœ ื’ืขื ื™ืฆื˜.

ื“ื™ ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ืึทืกื•ืžื– ืึทื– ืึทื ืึทื˜ื™ื™ืฉืึทื ื– ืึทื ื˜ื”ืึทืœื˜ืŸ ืคึผื™ื˜ื”ืึธืŸ ืงืึธื“ ืื•ืŸ ื ื™ืฆื˜ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ ื ืขืžืขืŸ ื•ื•ื™ ืคึผืจื™ืกื™ื“ื™ื ื’ ื˜ื™ื˜ืœืขืŸ. ืขืก ืื™ื– ืื™ืฆื˜ ืžืขื’ืœืขืš ืฆื• ืึทื ื˜ื•ื•ื™ืงืœืขืŸ PythonGateway ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื– ืื™ืŸ Jupyter Notebook. ื“ืึธ ืก ื•ื•ืึธืก ืื™ื– ืžืขื’ืœืขืš:

  • ืฉืึทืคึฟืŸ ื ื™ื™ึทืข ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื–
  • ื•ื™ืกืžืขืงืŸ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื–
  • ืฉืึทืคึฟืŸ ื ื™ื™ึทืข ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ืŸ
  • ื˜ื•ื™ืฉืŸ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ืŸ
  • ื•ื™ืกืžืขืงืŸ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ืŸ

ื“ืึธ ื“ืขืžืึธ ื•ื•ื™ื“ืขื. ืื•ืŸ ืขื˜ืœืขื›ืข ืกืงืจืขืขื ืฉืึธืฅ:

ืคึผืจืึธืฆืขืก Explorer

ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ื‘ื™ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS

ืคึผืจืึธืฆืขืก ืจืขื“ืึทืงื˜ืึธืจ

ืคึผื™ื˜ื”ืึธืŸ ื’ืึทื˜ืขื•ื•ื™ื™ึท ื‘ื™ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS

ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

  1. ืื™ืจ ื•ื•ืขื˜ ื“ืึทืจืคึฟืŸ InterSystems IRIS 2019.2+.
  2. ื™ื ืกื˜ืึทืœื™ืจืŸ PythonGateway v0.8+ (ื‘ืœื•ื™ื– ืคืืจืœืื ื’ื˜ isc.py.util.Jupyter, isc.py.util.JupyterCheckpoints ะธ isc.py.ens.ProcessUtils).
  3. ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ื™ ืึธื‘ื“ื–ืฉืขืงื˜ืกืงืจื™ืคึผื˜ ืงืึธื“ ืคื•ืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™.
  4. ืœื•ื™ืฃ do ##class(isc.py.util.Jupyter).Install() ืื•ืŸ ื ืึธื›ื’ื™ื™ืŸ ื“ื™ ืคึผืจืึทืžืคึผืก.

ื“ืึธืงื•ืžืขื ื˜ืึทื˜ื™ืึธืŸ.

ืคื™ื™ื ื“ื™ื ื’ื–

MLToolkit ืื™ื– ืึท ืกื›ื•ื ืคื•ืŸ ืžื›ืฉื™ืจื™ื ื•ื•ืขืžืขื ืก ืฆื™ืœ ืื™ื– ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืžืึธื“ืขืœืก ืื•ืŸ ืึท ื˜ืจืึทื ืกืึทืงื˜ื™ืึธื ืึทืœ ืกื•ื•ื™ื•ื•ืข ืึทื–ื•ื™ ืึทื– ื“ื™ ื’ืขื‘ื•ื™ื˜ ืžืึธื“ืขืœืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืœื™ื™ื›ื˜ ื’ืขื•ื•ื™ื™ื ื˜ ื’ืœื™ื™ึทืš ืื™ืŸ ื“ื™ื™ืŸ ื’ืขืฉืขืคื˜ ืคึผืจืึทืกืขืกืึทื–. Python Gateway ืื™ื– ืึท ื˜ื™ื™ืœ ืคื•ืŸ MLToolkit ืื•ืŸ ื’ื™ื˜ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ืžื™ื˜ ื“ื™ Python ืฉืคึผืจืึทืš, ืึทืœืึทื•ื™ื ื’ ืื™ืจ ืฆื• ืึธืจืงืขืกื˜ืจื™ืจืŸ ืงื™ื™ืŸ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ื‘ืืฉืืคืŸ ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ (ื“ื™ ื”ื•ื™ืคึผื˜ ืกื•ื•ื™ื•ื•ืข ืคึฟืึทืจ ืคื™ืœืข ื“ืึทื˜ืึท ืกืกื™ืขื ื˜ื™ืกืฅ), ื ื•ืฆืŸ ืคื™ืœืข ืคืึทืจื˜ื™ืง ืœื™ื™ื‘ืจืขืจื™ื– ืฆื• ื’ืขืฉื•ื•ื™ื ื“ ืฉืึทืคึฟืŸ ืึทื“ืึทืคึผื˜ื™ื•ื•, ืจืึธื•ื‘ืึทื˜ื™ืง ืึทื ืึทืœื™ืกื™ืก ืึทื™ / ML ืกืึทืœื•ืฉืึทื ื– ืื•ื™ืฃ ื“ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ืคึผืœืึทื˜ืคืึธืจืžืข IRIS.

ืจืขืคึฟืขืจืขื ืฆืŸ

MLToolkit

ื“ื™ MLToolkit ื‘ืึทื ื™ืฆืขืจ ื’ืจื•ืคึผืข ืื™ื– ืึท ืคึผืจื™ื•ื•ืึทื˜ GitHub ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ื‘ืืฉืืคืŸ ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก ืคึฟื™ืจืžืข GitHub ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข. ืขืก ืื™ื– ื‘ื“ืขื” ืคึฟืึทืจ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื ื™ืฆืขืจืก ื•ื•ืึธืก ื™ื ืกื˜ืึทืœื™ืจืŸ, ืœืขืจื ืขืŸ ืึธื“ืขืจ ืฉื•ื™ืŸ ื ื™ืฆืŸ MLToolkit ืงืึทืžืคึผืึธื•ื ืึทื ืฅ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื“ื™ Python Gateway. ื“ื™ ื’ืจื•ืคึผืข ื”ืื˜ ืึท ื ื•ืžืขืจ ืคื•ืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ืงืึทืกืขืก (ืžื™ื˜ ืžืงื•ืจ ืงืึธื“ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ื“ืึทื˜ืŸ) ืื™ืŸ ื“ื™ ืคืขืœื“ ืคื•ืŸ ืคึฟืึทืจืงื•ื™ืฃ, ืžืึทื ื•ืคืึทืงื˜ื•ืจื™ื ื’, ืžืขื“ื™ืฆื™ืŸ ืื•ืŸ ืคื™ืœืข ืื ื“ืขืจืข ื™ื ื“ืึทืกื˜ืจื™ื–. ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ML โ€‹โ€‹Toolkit ื‘ืึทื ื™ืฆืขืจ ื’ืจื•ืคืข, ื‘ื™ื˜ืข ืฉื™ืงืŸ ืึท ืงื•ืจืฅ E- ื‘ืจื™ื•ื• ืฆื• ื“ื™ ืคืืœื’ืขื ื“ืข ืึทื“ืจืขืก: [ืื™ืžืขื™ืœ ื‘ืืฉื™ืฆื˜] ืื•ืŸ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืื™ืŸ ื“ื™ื™ืŸ ื‘ืจื™ื•ื•:

  • GitHub ื ืืžืขืŸ
  • ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข (ืื™ืจ ืึทืจื‘ืขื˜ ืึธื“ืขืจ ืœืขืจื ืขืŸ)
  • ืฉื˜ืขืœืข (ื“ื™ื™ืŸ ืคืึทืงื˜ื™ืฉ ืฉื˜ืขืœืข ืื™ืŸ ื“ื™ื™ืŸ ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข, ืึธื“ืขืจ "ืกื˜ื•ื“ืขื ื˜" ืึธื“ืขืจ "ื™ื ื“ืขืคึผืขื ื“ืขื ื˜").
  • ืœืึทื ื“

ืคึฟืึทืจ ื™ืขื ืข ื•ื•ืึธืก ื”ืึธื‘ืŸ ืœื™ื™ืขื ืขืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื•ืŸ ื–ืขื ืขืŸ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ื“ื™ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืคื•ืŸ InterSystems IRIS ื•ื•ื™ ืึท ืคึผืœืึทื˜ืคืึธืจืžืข ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึธื“ืขืจ ื”ืึธืกื˜ื™ื ื’ ืงื™ื ืกื˜ืœืขืš ืกื™ื™ื›ืœ ืื•ืŸ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืขื ื“ื–ืฉืึทื ื–, ืžื™ืจ ืœืึทื“ืŸ ืื™ืจ ืฆื• ื“ื™ืกืงื•ื˜ื™ืจืŸ ืžืขื’ืœืขืš ืกื™ื ืขืจื™ืึธื•ื– ื•ื•ืึธืก ื–ืขื ืขืŸ ืคื•ืŸ ืื™ื ื˜ืขืจืขืก ืฆื• ื“ื™ื™ืŸ ืคืึทืจื ืขืžื•ื ื’. ืžื™ืจ ื•ื•ืขืœืŸ ืฆื•ืคืจื™ื“ืŸ ืฆื• ืคื•ื ืึทื ื“ืขืจืงืœื™ื™ึทื‘ืŸ ื“ื™ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคื•ืŸ ื“ื™ื™ืŸ ืคื™ืจืžืข ืื•ืŸ ืฆื•ื–ืึทืžืขืŸ ื‘ืึทืฉืœื™ืกืŸ ืึทืŸ ืึทืงืฆื™ืข ืคึผืœืึทืŸ; ืงืึธื ื˜ืึทืงื˜ E- ื‘ืจื™ื•ื• ืึทื“ืจืขืก ืคื•ืŸ ืื•ื ื“ื–ืขืจ AI / ML ืขืงืกืคึผืขืจื˜ ืžืึทื ืฉืึทืคึฟื˜ - [ืื™ืžืขื™ืœ ื‘ืืฉื™ืฆื˜].

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’