Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
New in v20 Part 4
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
4D Japan
July 27, 2023
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
New in v20 Part 4
4D Japan
July 27, 2023
More Decks by 4D Japan
See All by 4D Japan
4D 21 R2 R3
miyako
0
34
4D 21 LTS
miyako
0
18
4D 21
miyako
0
47
4D 20 R10
miyako
0
53
4D 20 R9
miyako
0
45
4D 20 R7 & R8
miyako
0
89
Unicodeの話 (2007)
miyako
0
55
Unicodeの話 (2008)
miyako
0
61
Google Apps Integration (2012)
miyako
0
58
Other Decks in Technology
See All in Technology
2026-10-01_MagicPod_QAハーネスエンジニアリングとQA組織の未来像
ynisqa1988
1
550
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
860
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
310
Claude Code本は、どのように執筆チームで書かれたか
oikon48
0
250
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
230
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
840
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
17
120k
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
150
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
0
120
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
120
しろおびから始める!ログ活用の第一歩
shumei_ito
0
140
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
690
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
930
Everyday Curiosity
cassininazir
0
350
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Paper Plane
katiecoart
PRO
4
54k
Are puppies a ranking factor?
jonoalderson
2
4k
The browser strikes back
jonoalderson
0
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Transcript
W E E K 4 4D v20 WEBINAR
4D v20Ͱͷ৽ػೳ ۩ମྫ4
• Go MobileΠϯετʔϥʔʹؚ·Ε͍ͯͳ͍ ‣ 4D Mobile AppίϯϙʔωϯτΛผ్औΓࠐΉඞཁ͋Γ Open Source 4D
v20ͷ৽ػೳ- 4D Go Mobileʹ͍ͭͯ
• ͳͥ͜ͷλΠϛϯάͰΦʔϓϯιʔεԽʁ ‣ v16͔ΒϞόΠϧΞϓϦਐԽ͖ͯͨ͠ ‣ Android/iOS྆ํʹରԠͨ͜͠ͱͰҰͭͷ౸ୡ ‣ iOSಛʹόʔδϣϯཧ͕େࣄ ➡ΦʔϓϯιʔεԽ͢Δ͜ͱ͕߹ཧతʂ •
Φʔϓϯιʔεͷར ‣ ੈքதͷσϕϩούʔ͔ΒContributeΛड͚ΒΕΔ 4D v20ͷ৽ػೳ- 4D Go MobileͷΦʔϓϯιʔεԽ
4D v20ͷ৽ػೳ- ʮΦʔϓϯιʔεʯͱʮιʔεެ։ʯͷҧ͍ ιʔεݟΒΕΔ͕ ΦʔϓϯιʔεͰͳ͍ ιʔεݟΒΕΔ͠ ΦʔϓϯιʔεͰ͋Δ ʁ
4D v20ͷ৽ػೳ- Φʔϓϯιʔεͱιʔεެ։ ιʔεެ։ Φʔϓϯιʔε μϯϩʔυͯ͠վมՄೳ GitHubͷιʔεมߋෆՄ ։ൃऀ͕Έ༻్ʹԠͯ͡ վม͢Δ͜ͱ͕·͍͠ͷ ͕ެ։͞Ε͍ͯΔ
μϯϩʔυͯ͠վมՄೳ GitHubͷιʔεΛվมՄೳ ϑΥʔΫͯ͠Pull RequestΛ ͢Δ͜ͱͰɺιʔεΛվྑ ͍ͯ͘͜͠ͱ͕Ͱ͖Δ ͲͪΒͷ߹ιʔε4D͕ॴ༗͢Δ
4D v20ͷ৽ػೳ- 4D Go Mobile • ϞόΠϧ։ൃΛ͠ͳ͍։ൃऀ ‣ ϞόΠϧͷίϯϙʔωϯτ͕֎Εͨ ‣
4DͷσεΫτοϓΞϓϦ։ൃΛͳ͘ܧଓՄೳ • ϞόΠϧ։ൃΛ͢Δ։ൃऀ ‣ ίϯϙʔωϯτΛऔΓࠐΊ͜Ε·Ͱಉ༷ʹ։ൃՄೳ
ORDA ʙ͞ΒͳΔਐԽʙ
4D v20ͷ৽ػೳ- ORDAͱ O R D A Object Relational Data
Access = {} $person.father.father.mother $entSel.orderBy("value asc") $entSel1.and($entSel2) ϦετϘοΫε ίϨΫγϣϯ ϑΥʔϜ Write Pro ΞΫηε͕ྑ͍
4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷརͱ QUERY([People]Name="Hanks") ds.People.query("Name = :1"; "Hanks") ≒ $myCar.brand.company
RELATE ONE([CarName]BrandID) RELATE ONE([CarBrand]CompanyID) ≒ ୯७ͳΫΤϦจͰ͋ΕΫϥγοΫͰॻ͚Δ ΑΓෳࡶͳΫΤϦͰ࣮ߦͰ͖Δͷ͕ORDAͷڧΈ
4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷڧΈ ❌ ΫϥγοΫݴޠͰHanksͱRyanͷڞԋΒͳ͍ “Hanks” “Ryan”
4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷڧΈ “Hanks” “Ryan” $es:=ds.Movie.query("roles.actor.lastName = :1 AND \
roles.actor{2}.lastName = :2"; "Hanks"; "Ryan") // $es → (You've Got Mail, Sleepless in Seattle, Joe Versus the Volcano) 👍
4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷڧΈ Entity 1: ds.People.name: "martin" ds.People.places: { "locations"
: [ { "kind":"home", "city":"paris" } ] } Entity 2: ds.People.name: "smith" ds.People.places: { "locations" : [ { "kind":"home", "city":"lyon" } , { "kind":"office", "city":"paris" } ] } home͕ParisͰ͋ΔਓΛ୳͍ͨ͠ ds.People.query("places.locations[].kind= :1 AND\ places.locations[].city= :2"; "home"; "paris") ͜ͷΫΤϦจͰ home͕ParisͰͳ͍ਓݕࡧͯ͠͠·͏
4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷڧΈ Entity 1: ds.People.name: "martin" ds.People.places: { "locations"
: [ { "kind":"home", "city":"paris" } ] } Entity 2: ds.People.name: "smith" ds.People.places: { "locations" : [ { "kind":"home", "city":"lyon" } , { "kind":"office", "city":"paris" } ] } home͕ParisͰ͋ΔਓΛ୳͍ͨ͠ ds.People.query("places.locations[a].kind= :1 AND\ places.locations[a].city= :2"; "home"; "paris") ͜ͷΫΤϦจͳΒ home͕ParisͰ͋Δਓ͚ͩΛݕࡧͰ͖Δ
• ΫΤϦ݅ͷϦϯΫ ‣ [a]ɺ[b]ͷΑ͏ʹΞϧϑΝϕοτͰࢦఆ ‣ ࠷େ26ݸ·ͰࢦఆՄೳ • ϦϨʔγϣϯͷΫϥεΠϯσοΫε ‣ {1}ɺ{2}ɺͳͲͷࣈͰࢦఆ
‣ 0Ҏ֎ͷΛࢦఆՄೳɺ͖ͳ͚ͩՃͰ͖Δ • ಄͕௧͘ͳΔ༷ͳΫΤϦ࣮ߦՄೳ 4D v20ͷ৽ػೳ- ORDA
• FormίϚϯυΛ௨ͯ͠σʔλΛϑΥʔϜʹ͢ ‣ DIALOGίϚϯυͳͲʹσʔλΛ͠Formܦ༝ͰΞΫηε ‣ ༻Ͱ͖ΔͷදࣔͷΈͰɺҹͰ͑ͳ͔ͬͨ • Print FormɺFORM LOAD͕͜ΕʹରԠ
‣ Ҿͱͯ͠ΦϒδΣΫτܕͷσʔλΛ͢͜ͱͰडऔՄೳ ‣ ҹͰORDAΛ༻Ͱ͖ΔΑ͏ʹͳͬͨ ‣ ར༻Ͱ͖ΔϑΥʔϜΠϕϯτ͕ݶΒΕΔ 4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ҹ
4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ίϨΫγϣϯͷ৽͍ؔ͠ $col.first() $col.last() $col.at() $col.flat() ࠷ॳ·ͨ࠷ޙͷཁૉΛฦ͢
ॱ൪Ͱࢦఆͨ͠ཁૉΛฦ͢(ෛͷՄೳ) ೖΕࢠͷίϨΫγϣϯΛʮฏ͢ʯ [ "alpha", "bravo", [ "charlie", "delta" ], "echo" ] [ "alpha", "bravo", "charlie", "delta", "echo" ]
4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ίϨΫγϣϯͷ৽͍ؔ͠ $col.first() $col.last() $col.at() $col.flat() $col.includes()
࠷ॳ·ͨ࠷ޙͷཁૉΛฦ͢ ॱ൪Ͱࢦఆͨ͠ཁૉΛฦ͢(ෛͷՄೳ) ೖΕࢠͷίϨΫγϣϯΛʮฏ͢ʯ Find in arrayͷ༷ʹؚ·ΕΔ͔Ͳ͏͔ΛௐΔ $col.reduceRight() $col.flatMap()
• ORDAͷϩάػೳ ‣ ϦΫΤετϩάΛऔΔΈ͕࠷ॳ͔Βଂ͞Ε͍ͯΔ ‣ ϦΫΤετIDͱϑΟʔϧυ͕Ճ͞Εͨ • ϦΫΤετϩά͕αʔόʔଆͰ༻Մೳʹ ‣ ίϚϯυΛ༻͢Δ͔ɺΠϯλʔϑΣʔεͷϘλϯΛ༻
‣ JSON LinesγϯλοΫεͰه͞ΕΔ ‣ ύϑΥʔϚϯεʹӨڹ͕ग़ΔՄೳੑ͋Γɺҙ 4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ϩάͷڧԽ
• ະఆٛͱͷͷൺֱ ‣ Undefined = Null ΤϥʔΛىͣ͜͞TrueΛฦ͢ ‣ Undefined =
“myText” ΤϥʔΛىͣ͜͞FalseΛฦ͢Α͏ʹ ‣ Undefined # 20 ΤϥʔΛىͣ͜͞TrueΛฦ͢Α͏ʹ ‣ Undefined # Null FalseΛฦ͢Α͏ʹ • Ҏ্ɾҎԼͷൺֱͲΕFalse͕ฦ͞ΕΔ ‣ Undefined > 5 / Undefined <= False ͳͲશͯFalse 4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ܕΛҙࣝ͠ͳ͍ίʔσΟϯά
4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - Ϧςϥϧදه "MyText" !2023-07-25! ?12:30:15? $object:={}//New Objectͱಉ
$col:=[] //New Collectionͱಉ $object:={property: "value"} $col:=[Movie] //ςʔϒϧ໊ʹҙ
• ҹʹ͓͍ͯORDA͕༻Մೳʹ • ίϨΫγϣϯͷؔՃ • ϩάͷग़ྗͷڧԽ • ܕΛҙࣝ͠ͳ͍ίʔσΟϯά • ΦϒδΣΫτɾίϨΫγϣϯͷϦςϥϧදه
4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ·ͱΊ
4D Write Pro ৽ػೳ
• ςΩετϘοΫε͕Ճ ‣ ςΩετը૾Λ֨ೲͯ͠ ࣗ༝ͳҐஔʹஔͰ͖ΔΦϒδΣΫτ • ΧελϚΠζࣗ༝ʹՄೳ ‣ ڥքઢഎܠ৭ΛઃఆՄೳ ‣
ը૾ૠೖՄೳ ‣ ҹʹରԠ͍ͯ͠Δ 4D v20ͷ৽ػೳ- 4D Write Pro ςΩετϘοΫε
• docxͷಡΈࠐΈ/docxͷॻ͖ग़͠ʹରԠ ‣ چόʔδϣϯ·ͰςΩετͷΈಡΈࠐΜͰ͍ͨ ‣ ࠓޙʮͦͷ··ʯͷܗͰಡΈࠐΉ͜ͱ͕Մೳ • ॻ͖ग़࣌͠ʹӅ͢͜ͱՄೳ ‣ ϥϯήʔδ·ͨΠϯλʔϑΣʔεͰࢦఆՄೳ
4D v20ͷ৽ػೳ- 4D Write Pro ςΩετϘοΫεͷಡΈࠐΈ/ॻ͖ग़͠
4D v20ͷ৽ػೳ- 4D Write Pro දͷϒϨʔΫߦ
• Write Proͷදػೳ ‣ ORDAͱWrite ProΛΈ߹ΘͤΔ͜ͱ͕Մೳʹͳͬͨ • v20ͰϒϨʔΫߦ͕Ճ͞Εͨ ‣ ද͍ࣔͨ͠ॱʹΤϯςΟςΟηϨΫγϣϯΛιʔτ͓ͯ͘͠
‣ ϒϨʔΫߦʹϑΥʔϛϡϥΛઃఆ͓ͯ͘͠ɺ ʹมԽ͕͋ΕࣗಈతʹϒϨʔΫߦ͕ૠೖ͞ΕΔ 4D v20ͷ৽ػೳ- 4D Write Pro දͷϒϨʔΫߦ
4D View Pro ৽ػೳ
• ςʔϒϧγʔτ֊σʔλ ‣ ֊σʔλʹରԠͨ͜͠ͱʹ͍ల։ંΓͨͨΈ͕Մೳʹ • ྲྀ͜͠Ήσʔλͷ֊ͷࢦఆՄೳʹ ‣ ΠϯλʔϑΣʔε͔ΒઃఆՄೳ ‣ ΧϥϜͷ໊લখܭߦͳͲઃఆՄೳ
4D v20ͷ৽ػೳ- 4D View Pro ςʔϒϧγʔτͷվળ
4D v20ͷ৽ػೳ- 4D View Pro ελΠϧΛࢦఆ͢Δ৽ίϚϯυͷՃ • View Proʹ60Ҏ্ͷελΠϧ͕࠷ॳ͔Β͋Δ ‣
ɹɹɹɹɹɹɹͰදΛ࡞͢Δͱ͖ʹελΠϧΛࢦఆՄೳʹ ‣ ·ͨɺɹɹɹɹɹɹɹɹͰදʹελΠϧΛద༻͢Δ͜ͱ ‣ ಠࣗͷελΠϧΛ࡞ΓࠐΜͰద༻͢Δ͜ͱՄೳ VP CREATE TABLE VP SET TABLE THEME
WEEK 4 ৼΓฦΓ
Webinar WEEK4 ৼΓฦΓ- 4D Go Mobile • ΦʔϓϯιʔεԽ • ίϯϙʔωϯτΛμϯϩʔυ͢Δ
• Pull RequestͰιʔεΛվྑՄೳ • ϞόΠϧ։ൃΛ͠ͳ͍ਓʹͱͬͯ؆ܿʹͳͬͨ
• ҹʹ͓͍ͯORDA͕༻Մೳʹ • ίϨΫγϣϯͷؔՃ • ϩάͷग़ྗͷڧԽ • ܕΛҙࣝ͠ͳ͍ίʔσΟϯά • ΦϒδΣΫτɾίϨΫγϣϯͷϦςϥϧදه
Webinar WEEK4 ৼΓฦΓ- ORDA
Webinar WEEK4 ৼΓฦΓ- 4D Write Pro • ςΩετϘοΫεػೳ͕Ճ ‣ ಡΈࠐΈॻ͖ग़͠ରԠ
• ϒϨʔΫߦͳͲɺදػೳ͕େ͖͘վળ ‣ ϑΥʔϛϡϥΛઃఆ͓ͯ͘͜͠ͱͰࣗಈతʹϒϨʔΫߦՃ ‣ ΤϯςΟςΟηϨΫγϣϯͷࣄલͷιʔτ͕େࣄ
Webinar WEEK4 ৼΓฦΓ- 4D View Pro • ςʔϒϧγʔτػೳͷ֦ு ‣ ֊σʔλʹରԠ
• ελΠϧͷઃఆ͕༰қʹ ‣ SpreadJSʹఆٛࡁΈͷελΠϧΛ໊લͰࢦఆՄೳʹͳͬͨ ‣ දͷ࡞࣌ʹελΠϧΛࢦఆͰ͖Δ͠ޙ͔Βద༻Մೳ
Webinar શମ ৼΓฦΓ- v20ͱ • CI/CDͷՃʹΑ͍ͬͯͬͦ͏։ൃʹઐ೦Մೳ • ORDAͷਐԽ͞ΒͳΔ͕ΓΛݟͤΔ ‣ Write
Proͱ࿈ܞ͕Մೳʹͳͬͨ ‣ ҹҰ༰қʹ • ։ൃऀͷʮָʯ͕ू͍݁ͯ͠Δͱ͍͑Δ ‣ ૯͍͍ͯ͢͡όʔδϣϯ
4D v20 Webinar Week4 - Thank you!