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

New in v20 Part 3

New in v20 Part 3

4D Japan

July 20, 2023
Tweet

More Decks by 4D Japan

Other Decks in Technology

Transcript

  1. W E E K 3
    4D v20
    WEBINAR

    View Slide

  2. 4D v20Ͱͷ৽ػೳ


    ۩ମྫ3

    View Slide

  3. 4D v20ͷ৽ػೳ-
    σʔλετΞͷϩοΫ
    .4BK .journal
    .4DD copy
    ୯ʹ࣮ߦதͷσʔλϑΝΠϧΛίϐʔ͚ͨͩ͠
    Ͱ͸ϑΝΠϧ͕յΕ͍ͯΔՄೳੑ͕͋Δ

    View Slide

  4. 4D v20ͷ৽ػೳ-
    σʔλετΞͷϩοΫ
    VSS
    VSS͸ϑΝΠϧγεςϜͷίϐʔ
    Ͱ͸͋Δ͕δϟʔφϧϑΝΠϧͷΑ͏ʹ
    ૢ࡞Λه࿥͠ଓ͚ΔΘ͚Ͱ͸ͳ͍
    Windows Server
    εφοϓγϣοτ

    ࡱΔΑʔ
    ྃղʂσʔλϑΝΠϧ
    Ұ୴ࢭΊΔͶʂ

    View Slide

  5. 4D v20ͷ৽ػೳ-
    σʔλετΞͷϩοΫ
    FLUSH

    CACHE
    Copy ίϐʔதʹॻࠐ͕ߦΘΕΔͱ
    ίϐʔઌͷϑΝΠϧ͸ɺ࠷ѱ
    յΕͯ͠·͏Մೳੑ΋͋Δ
    σʔλϑΝΠϧ΁ͷॻ͖ࠐΈ͸
    ͋Δఔ౓Ωϟογϡ͞Ε͔ͯΒ
    ϑϥογϡ͞ΕΔ

    View Slide

  6. 4D v20ͷ৽ػೳ-
    σʔλετΞͷϩοΫ
    FLUSH

    CACHE
    Copy ίϐʔதʹॻࠐ͕ߦΘΕΔͱ
    ίϐʔઌͷϑΝΠϧ͸ɺ࠷ѱ
    յΕͯ͠·͏Մೳੑ΋͋Δ
    σʔλϑΝΠϧ΁ͷॻ͖ࠐΈ͸
    ͋Δఔ౓Ωϟογϡ͞Ε͔ͯΒ
    ϑϥογϡ͞ΕΔ

    View Slide

  7. • VSSͱϑΝΠϧίϐʔ͸ಉ͡Ͱ͸ͳ͍
    ‣ VSS͸σʔλετΞ͕ϩοΫ͞ΕΔ
    • खಈͰͷίϐʔʹ͸2ͭͷ఺ʹ஫ҙ͕ඞཁ
    ‣ σʔλϑΝΠϧͷॻ͖ࠐΈͷΩϟογϡΛϑϥογϡ͢Δ
    ‣ ίϐʔதͷσʔλϑΝΠϧ΁ͷॻ͖ࠐΈΛېࢭ͢Δ
    4D v20ͷ৽ػೳ-
    σʔλετΞͷϩοΫ
    ds.flushAndLock()
    ds.locked()
    ds.unlock()
    ৽͍ؔ͠਺
    blogʹ͋ΔαϯϓϧΛࢀߟʹʂ

    View Slide

  8. 4D v20ͷ৽ػೳ-
    ΫϥεͷϓϩύςΟͷܕΛࢦఆ
    $object:=New object
    $object.property1:=$myLongint
    $object.property2:=$myPicture
    $object.property3:=$myBlob
    $object.property4:= ………?
    //ϓϩύςΟͷܕ͸ܾ·ͬͯͳ͍

    View Slide

  9. 4D v20ͷ৽ػೳ-
    ΫϥεͷϓϩύςΟͷܕࢦఆ
    property myProperty : Date
    • Ϋ

    クク
    クククク
    クククククククククククククク
    • ϓ
    ププププププププププププププププ
    ‣ ί
    ココココ

    ココココ
    コココココココココ
    コココ

    View Slide

  10. 4D v20ͷ৽ػೳ-
    ΫϥεͷϓϩύςΟͷܕࢦఆ
    property myProperty : Date
    • Ϋϥεͷதʹ͓͍ͯϓϩύςΟͷܕΛܾΊΒΕΔ

    • ϓϩύςΟͷܕΛએݴͰ͖ΔϝϦοτ
    ‣ ίʔυΤσΟλʔ಺ͰͷϓϩύςΟͷܕΛݟΕΔ
    ‣ ؒҧͬͨ୅ೖ͸ίϯύΠϧ࣌ʹΤϥʔͰݕ஌͞ΕΔ
    ‣ ஫ҙ఺ˠܕ͸ܾΊΒΕΔ͕஋͸ೖ͍ͬͯͳ͍ʂ

    View Slide

  11. 4D v20ͷ৽ػೳ-
    Ұҙͷ஋ΛΧ΢ϯτ͢Δ
    var $collection : Collection


    $collection:=New collection("Japan"; "France"; "Germany"; "USA"; "Morocco"; …


    $count:=$collection.distinct()


    //"Japan", "France", "Germany", "USA", "Morocco"


    $answer:=""


    For each ($name; $count)


    $occurence:=$collection.countValues($name)


    $answer:=$answer+$name+":"+String($occurence)+Char(Carriage return)


    End for each


    😩
    👍

    View Slide

  12. • ίϨΫγϣϯͰҰҙͷ஋ͷΧ΢ϯτ͕༰қʹ
    ‣ ؔ਺ʹ৽͍͠ఆ਺Λ౉͚ͩ͢
    ‣ ฦΓ஋͸஋Ͱ͸ͳ͘ΦϒδΣΫτͷίϨΫγϣϯ
    • ΤϯςΟςΟηϨΫγϣϯʹରͯ͠΋࢖༻Մ
    ‣ ORDAͱίϨΫγϣϯͷ࢖༻͕ΑΓ༰қ͔ͭ௚ײతʹͳΔ
    ‣ ΤϯςΟςΟηϨΫγϣϯͰ͸ఆ਺͸
    4D v20ͷ৽ػೳ-
    Ұҙͷ஋ΛΧ΢ϯτ͢Δ
    distinct ck count values
    dk count values

    View Slide

  13. • Τ
    エエエエエエエエエエ
    ‣ Τ
    エエエエエ
    Τ
    エエエエエエエエエエエエエエエエ
    Τ
    エエエエエエエエ
    エエエエエエエエエエエエ
    ‣ ϓ
    ププププププププププププププププププ
    4D v20ͷ৽ػೳ-
    άϩʔόϧΤϥʔॲཧϝιου

    View Slide

  14. ON ERR CALL("myServerGlobalErrorHandler"; ek global)
    • Τ
    エエエエエエエエエエ
    ‣ Τ
    エエエエエ
    Τ
    エエエエエエエエエエエエエエエエ
    Τ
    エエエエエエエエ
    エエエエエエエエエエエエ
    ‣ ϓ
    ププププププププププププププププププ
    • ά
    ググ

    グググググググググググググググググ
    ‣ ϔ
    ヘヘ ヘ
    ヘヘヘヘ


    ヘヘヘヘヘヘヘヘヘヘヘヘヘ
    4D v20ͷ৽ػೳ-
    άϩʔόϧΤϥʔॲཧϝιου

    View Slide

  15. ON ERR CALL("myServerGlobalErrorHandler"; ek global)
    • Τϥʔॲཧϝιουͱ͸
    ‣ Τϥʔը໘͕ΤϯυϢʔβʔʹදࣔ͞Εͳ͍Α͏ʹ

    ΤϥʔΛΩϟονͯ͠಺෦తʹॲཧ͢Δ࢓૊Έ
    ‣ ϓϩηε୯ҐͰͷΈϝιουͷࢦఆ͕Մೳ
    • άϩʔόϧʹࢦఆ͢Ε͹ʮͲ͜Ͱ΋ʯΩϟον
    ‣ ϔουϨεͷαʔόʔͰ΋ΤϥʔΛΩϟονͰ͖Δ
    ‣ ϩʔΧϧͷΤϥʔॲཧϝιου͕͋Ε͹ͦͪΒ͕༏ઌ
    - ίϯϙʔωϯτ΋ผѻ͍
    4D v20ͷ৽ػೳ-
    άϩʔόϧΤϥʔॲཧϝιου

    View Slide

  16. 4D v20ͷ৽ػೳ-
    HomeϑΥϧμͷύεΛऔಘ
    //DataϑΥϧμ΁ͷFolderΦϒδΣΫτ


    Folder(fk data folder)


    //ॻྨϑΥϧμ΁ͷFolderΦϒδΣΫτ


    Folder(fk documents folder)
    //ϗʔϜϑΥϧμ΁ͷFolder


    Folder(fk home folder)

    View Slide

  17. • ৽͍͠ఆ਺Λ౉͢͜ͱͰHomeϑΥϧμΛऔಘ
    ‣ ৽͍͠ఆ਺͸
    ‣ HomeϑΥϧμͦͷ΋ͷ͸΋ͱ΋ͱΞΫηεՄೳ
    • ΑΓΫϩεϓϥοτϑΥʔϜʹରԠ͠΍͘͢ͳͬͨ
    ‣ OSΛؾʹͤͣHomeϑΥϧμʹΞΫηεՄೳ
    4D v20ͷ৽ػೳ-
    HomeϑΥϧμͷύεΛऔಘ
    fk home folder

    View Slide

  18. CI/CD


    tool4dͱCI/CDπʔϧ

    View Slide

  19. • ܧଓతΠϯςάϨʔγϣϯ/ܧଓతσϦόϦʔ
    ‣ ίʔυΛίϛοτͨ͠Βɺͦͷ͋ͱͷϢχοτςετɺ

    ίϯύΠϧɺΞϓϦέʔγϣϯϏϧυͳͲͷϓϩηε͸

    શࣗಈͰ׬݁ͤ͞ΔΑ͏ʹ͢Δ࢓૊Έͷ͜ͱ
    4D v20ͷ৽ػೳ-
    CI/CDͱ͸ʁ
    ΞϓϦέʔγϣϯ։ൃͷ֤εςʔδʹࣗಈԽΛಋೖ͠
    ސ٬ʹΞϓϦέʔγϣϯΛසൟʹఏڙͰ͖ΔΑ͏ʹ͢Δ

    View Slide

  20. • 4DͷφΠτϦʔϏϧυ͕·͞ʹ޷ྫ
    4D v20ͷ৽ػೳ-
    CI/CDͱ͸ʁ
    👍

    View Slide

  21. 4D v20ͷ৽ػೳ-
    CI/CDͱ͸ʁ
    • 4DΛ࢖ͬͯ͜ͷCI/CDΛߦ͏͜ͱ͕Ͱ͖ΔΑ͏ʹͳͬͨ
    ‣ ϓϩδΣΫτΛ࢖༻͍ͯ͠Δ͜ͱ͕େલఏ
    • CI/CDπʔϧ͕ඞཁʹͳͬͯ͘Δ
    ‣ ։ൃɺςετͳͲΛࣗಈԽ͢ΔͨΊͷ࢓૊Έ
    ‣ GitHubʹ͸GitHub Actionsͱ͍͏CI/CDπʔϧ͕͋Δ
    ‣ 4DͱίϚϯυϥΠϯͱGitHub ActionsΛ૊Έ߹ΘͤΔ

    View Slide

  22. File.setAppInfo()
    BUILD APPLICATION
    Compile project
    ASSERT
    4D v20ͷ৽ػೳ-
    CI/CDͷ࣮ࡍͷྲྀΕ
    • Ϣχοτςετ
    • ίϯύΠϧ
    • ϏϧυɾΞΠίϯ
    • Ξοϓϩʔυ GitHub Actions

    View Slide

  23. File.setAppInfo()
    BUILD APPLICATION
    Compile project
    ASSERT
    4D v20ͷ৽ػೳ-
    CI/CDͷ࣮ࡍͷྲྀΕ
    • Ϣχοτςετ
    • ίϯύΠϧ
    • ϏϧυɾΞΠίϯ
    • Ξοϓϩʔυ GitHub Actions

    View Slide

  24. File.setAppInfo()
    BUILD APPLICATION
    Compile project
    ASSERT
    4D v20ͷ৽ػೳ-
    CI/CDͷ࣮ࡍͷྲྀΕ
    • Ϣχοτςετ
    • ίϯύΠϧ
    • ϏϧυɾΞΠίϯ
    • Ξοϓϩʔυ GitHub Actions
    tool4d

    View Slide

  25. 4D v20ͷ৽ػೳ-
    tool4dͱ͸ʁ
    • ػೳΛݶఆͯ͠࡟͗མͱͨ͠4D
    ‣ ׬શʹϔουϨεͰΠϯλʔϑΣʔε͸ͳ͠
    ‣ ඞͣίϚϯυϥΠϯ͔Β࣮ߦ
    ‣ αʔόʔɺίϯϙʔωϯτɺͦͷଞଟ਺ͷػೳ͸φγ
    ‣ On Startup→ࢦఆ͞Εͨϝιου→On Exit→ऴྃ
    ‣ ެ։͞ΕͨURL͔Βࣗ༝ʹμ΢ϯϩʔυՄೳ
    ‣ ىಈʹϥΠηϯε͸ෆཁ 4DίϚϯυͰͷࣗಈԽ͕Մೳ!

    View Slide

  26. 4D v20ͷ৽ػೳ-
    ஫ҙ͢΂͖఺
    • ΫϦʔϯͳόʔνϟϧ؀ڥʹ͸4DϥΠηϯε͕ͳ͍
    ‣ ϏϧυͰ͖Δͷ͸ίϯϙʔωϯτ/OEMͰ͸ͳ͍4D ServerΞϓϦ
    ‣ ଞͷCI/CDπʔϧ΋ಉ༷ʹΫϦʔϯͳόʔνϟϧ؀ڥΛ࢖༻͢Δ
    - ଞͷπʔϧˠGitLabɺTravis CIɺJenkinsɺAzure DevOpsͳͲ
    • OEMΛϏϧυ͢ΔͨΊʹ͸ଞͷํ๏͕ඞཁ
    ‣ Create deployment licenseؔ਺Λ࢖༻͢Δඞཁ͋Γ
    ‣ ࣮ػϚγϯ͔Ϗϧυ༻ͷόʔνϟϧ؀ڥΛ༻ҙ͢Δ͜ͱ͕ඞཁ

    View Slide

  27. 4D v20ͷ৽ػೳ-
    CI/CDؔ࿈ͷ࿩୊
    • ϝιουΤσΟλʔͷ։ൃΛࣙΊΔΘ͚Ͱ͸ͳ͍
    ‣ VS Codeͷ৽ػೳ͸͋͘·Ͱtool4dͷ։ൃͷ෭࢈෺
    ‣ 4Dͷݴޠ࢓༷Λ͖ͪΜͱݟ௚ͨ݁͠ՌLSP͕࢖͑ΔΑ͏ʹͳͬͨ
    • tool4dʹ͍ͭͯͷิ଍
    ‣ https://resources-download.4d.com/{category}/{version}/{build}/{platform}/{packageName}.tar.xz
    ‣ Ϗϧυ൪߸͸latestͱࢦఆͯ͠΋ྑ͍
    ‣ ӳޠ൛ͷΈɺApplication type͸6

    View Slide

  28. WEEK 3


    ৼΓฦΓ

    View Slide

  29. Webinar WEEK3 ৼΓฦΓ-
    ৽ػೳ
    • σʔλετΞͷϩοΫ
    ‣ VSSͷ༷ʹϑΝΠϧίϐʔͰͷόοΫΞοϓ͕Մೳʹ
    • ΫϥεͷϓϩύςΟͷܕࢦఆ͕Մೳʹ
    • Ұҙͷ஋ͷΧ΢ϯτ͕༰қʹ
    ‣ .distinct()ؔ਺Ͱͷݸ਺ͷΧ΢ϯτ͕Մೳʹ
    • άϩʔόϧΤϥʔॲཧϝιου/HomeϑΥϧμ

    View Slide

  30. Webinar WEEK3 ৼΓฦΓ-
    CI/CD(ܧଓతΠϯςάϨʔγϣϯ/ܧଓతσϦόϦʔ)
    • CI/CDͱ͸࡞ۀͷࣗಈԽ
    ‣ ίʔυΛίϛοτͨ͠ΒɺϢχοτςετɺίϯύΠϧɺ

    ϏϧυɺΞοϓϩʔυ·ͰࣗಈԽ͢Δ͜ͱ
    • 4D + GitHub Actions + tool4dͰ͜Ε͕Մೳʹʂ
    ‣ tool4d͸μ΢ϯϩʔυࣗ༝ɺϥΠηϯε΋ෆཁ
    • CI/CDΛऔΓೖΕͨΒ։ൃʹઐ೦Ͱ͖Δ

    View Slide

  31. Webinar WEEK4 ༧ࠂ-
    ORDAɺWrite ProɺView Proؔ࿈
    • ORDAؔ࿈
    ‣ ϑΥʔϜҹ࡮
    ‣ ΦϒδΣΫτͱίϨΫγϣϯͷϦςϥϧදه etc…
    • Write Proؔ࿈
    ‣ ςΩετϘοΫε΍ද
    • View Proؔ࿈

    View Slide

  32. 4D v20 Webinar Week3 -
    Thank you!

    View Slide