Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
New in v20 Part 2
Search
4D Japan
July 13, 2023
Technology
0
110
New in v20 Part 2
4D Japan
July 13, 2023
Tweet
Share
More Decks by 4D Japan
See All by 4D Japan
4D 20 R7 & R8
miyako
0
44
Unicodeの話 (2007)
miyako
0
15
Unicodeの話 (2008)
miyako
0
24
Google Apps Integration (2012)
miyako
0
21
Creating Custom Widgets (2012)
miyako
0
24
マルチスレッディングの仕組み (2016)
miyako
0
31
地図データの活用 (2016)
miyako
0
26
オブジェクトフィールド (2016)
miyako
0
12
新しい変換タグ (2016)
miyako
0
26
Other Decks in Technology
See All in Technology
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
440
Tech-Verse 2025 Global CTO Session
lycorptech_jp
PRO
0
1.1k
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
220
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
5
590
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
300
2025-06-26 GitHub CopilotとAI駆動開発:実践と導入のリアル
fl_kawachi
1
240
OPENLOGI Company Profile
hr01
0
67k
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
0
340
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
150
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
140
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
1
160
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
5
590
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
4 Signs Your Business is Dying
shpigford
184
22k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Docker and Python
trallard
44
3.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Fireside Chat
paigeccino
37
3.5k
Why Our Code Smells
bkeepers
PRO
337
57k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Transcript
W E E K 2 4D v20 WEBINAR
4D v20Ͱͷ৽ػೳ ۩ମྫ2
4D v20ͷ৽ػೳ- ϦετϘοΫεͰͷࣗಈߦߴػೳͷ֦ு • ࣗ 自自自自自自自 ‣ ߦ 行行行行行行行行行行行行行行行行行 行行行
4D v20ͷ৽ػೳ- ϦετϘοΫεͰͷࣗಈߦߴػೳͷ֦ு • ࣗಈߦߴػೳͱ ‣ ߦͷߴ͞Λಈతʹมߋ͢Δ͜ͱͰݟ͘͢͢Δ ‣ ྻܕͷϦετϘοΫεͰͷΈ༻Մೳʮͩͬͨʯ •
ίϨΫγϣϯ/ΤϯςΟςΟηϨΫγϣϯͰ༻Մ ‣ จͷςΩετϐΫνϟʔΛදࣔ͢ΔϦετϘοΫεͰ େ͍ʹޮՌ͕ظͰ͖Δ
4D v20ͷ৽ػೳ- Ϙλϯؔ࿈ͦͷ1 • ਫ 水水水水水 水水水水水水 ‣ ࠨ 左左左左左左左左左左左左左左左
CSSͰࢦఆՄೳʂ
4D v20ͷ৽ػೳ- Ϙλϯؔ࿈ͦͷ1 • ਫฏํἧ͑ΛઃఆՄೳʹ ‣ ࠨἧ͑ɺதԝἧ͑ɺӈἧ͕͑Մೳʹ • λΠτϧͱΞΠίϯΛྡͤ͞Δ͜ͱ͕Մೳʹ ‣
্هͷػೳͱΈ߹ΘͤΔ͜ͱͰද͕ࣔࡉ͔ʹઃఆՄೳ CSSͰࢦఆՄೳʂ
• Ϙ ボボボボボボボボボボ 4छ 種種種 6छ 種種 ‣ ϥ ララララララララララララララララララ
ラララララ ‣ Ҏ 以以 T T T T T T T T T T T T T T T T T T T T T T T T T T T ͷ4छ 4D v20ͷ৽ػೳ- Ϙλϯؔ࿈ͦͷ2
• Ϙλϯͷεςʔτը૾͕4छྨ͔Β6छྨʹ ‣ ϥδΦϘοΫεͱνΣοΫϘοΫεʹରͯ͠ઃఆՄೳ ‣ ҎલTrue/False/Rollover/Disableͷ4छ ‣ v20ͰTrue/FalseɺTrue Rollover/False Rolloverɺ
True Disable/False Disableͷ6छྨ 4D v20ͷ৽ػೳ- Ϙλϯؔ࿈ͦͷ2
4D v20ͷ৽ػೳ- ݕࡧͱஔ
4D v20ͷ৽ػೳ- ݕࡧͱஔ
4D v20ͷ৽ػೳ- ݕࡧͱஔ
4D v20ͷ৽ػೳ- σʔλΤΫεϓϩʔϥ
4D v20ͷ৽ػೳ- σʔλΤΫεϓϩʔϥ ҰཡϑΥʔϜ ৄࡉϑΥʔϜ ΫΤϦ Մೳ
4D v20ͷ৽ػೳ- σʔλΤΫεϓϩʔϥ • v v v ͔ か 4
4 ʹ ににににに ‣ ϒ ブブブブブブブブブ
4D v20ͷ৽ػೳ- σʔλΤΫεϓϩʔϥ • v20͔Β4Dʹ౷߹͞Εͨ ‣ ϒϥβͰදࣔՄೳ • ΞΫηεΩʔͰอޢ͕Մೳ ‣
ϑΟʔϧυ୯ҐͰඇදࣔʹ͢Δ ͜ͱՄೳ
ؓٳ ίϚϯυͱΫϥε
• ΦϒδΣΫτࢦͷجຊ ‣ ORDAࠓޙΫϥεϕʔε ‣ ωοτϫʔΫؔ࿈Ҿ͕ ෳࡶͳͷಘҙ 4D v20ͷ৽ػೳ- ίϚϯυͱΫϥε
COMMAND 4D.Class • खଓ͖ܕϓϩάϥϛϯά ‣ ॻ͍ͨॱʹ࣮ߦɺ͔Γ͍͢ • UIؔ࿈ίϚϯυ͕ϝΠϯ ‣ ίϚϯυʹΑͬͯ Ҿ͕ଟඞཁ 👍
IC Plugin FTP TCP 4D v20ͷ৽ػೳ- ίϚϯυͱΫϥε 4D.Transporter 4D.cURL…? cURL
ϝϦοτ͕ͨ͘͞Μʂ
IC Plugin FTP TCP 4D.SystemWorker 4D v20ͷ৽ػೳ- ίϚϯυͱΫϥε 4D.Transporter cURL
ϝϦοτ͕ͨ͘͞Μʂ
ωοτϫʔΫؔ࿈ͷ ৽ػೳ
• FTP(ϑΝΠϧసૹϓϩτίϧ) ‣ 4DͷICϓϥάΠϯͳͲͰ༻Մೳ ‣ ొ50Ҏ্લ(!)ͰɺηΩϡϦςΟʹෆ͕҆Δ • ۀքશମతʹFTP༻͠ͳ͍ํ ‣ ओཁϒϥβFTPػೳ͕2021ʹഇࢭ
- Edge1݄ɺFirefox6݄ɺChrome8݄ʹશഇࢭ 4D v20ͷ৽ػೳ- ϓϥάΠϯͰͳ͘cURL cURLΛ༻ʂ
• ϑΝΠϧͷૹड৴Λߦ͏ίϚϯυϥΠϯπʔϧ ‣ HTTPɺHTTPSɺFTPɺFTPSͳͲ༷ʑͳϓϩτίϧʹରԠ • OSʹϓϦΠϯετʔϧ͞Ε͍ͯΔ ‣ ݱߦͷOSͰ͋ΕՃͷಋೖෆཁ - macOSͰ͋Ε10.15Ҏ্ɺWindowsͰ͋Ε10Ҏ্Ͱ͋ΕΠϯετʔϧࡁΈ
‣ cURLͷΞοϓσʔτOS͕ߦͬͯ͘ΕΔ 4D v20ͷ৽ػೳ- cURLͱ
4D v20ͷ৽ػೳ- cURLͷ͍ํ • cURL4D͔ΒݟΔͱ֎෦ϓϩηεʹ͋ͨΔ LAUNCH EXTERNAL PROCESS
4D v20ͷ৽ػೳ- cURLͷ͍ํ • cURL4D͔ΒݟΔͱ֎෦ϓϩηεʹ͋ͨΔ 4D.SystemWorker
• cURLΛ༻͢Δʹ৽͍͠System WorkerΛ༻ ‣ System WorkerLAUNCH EXTERNAL PROCESSΛ ஔ͖͑Δ͜ͱ͕Ͱ͖Δ৽͍͠Ϋϥε •
LEPͱҧ͍ݱత ‣ ҾΦϒδΣΫτΛ͢/ࡉ͔ͳઃఆ͕Մೳ ‣ ίʔϧόοΫΛ༻͢Δ͜ͱͰ్தͰΞΫγϣϯΛىͤ͜Δ ‣ ਐḿόʔΛදࣔͨ͠ΓμϯϩʔυΛ్தͰࢭΊͨΓͰ͖Δ 4D v20ͷ৽ػೳ- cURLͱSystem WorkerΛΈ߹ΘͤΔ ඇಉظͰͷॲཧ
4D v20ͷ৽ػೳ- HTTPRequestΫϥε • H H H H Ϧ リリリリリリリリリリリリ
リリリ リ ‣ ί コ コ コココココココ コココココココココ ココココココ
4D v20ͷ৽ػೳ- HTTPRequestΫϥε • HTTP ϦΫΤετΛߦ͏ͨΊͷ৽͍͠Ϋϥε ‣ ίʔϧόοΫΛઃఆ͓ͯ͘͜͠ͱͰඇಉظͷಈ࡞͕Մೳ ‣ ͪΖΜಉظ࣮ߦՄೳ
‣ ίʔϧόοΫΠϕϯτʹॱ൪͕͋Δ͜ͱʹҙ • HTTP/3ͳͲͷ৽ػೳࠓޙΫϥεͷํʹͷΈ࣮͞ΕΔ ‣ ઌʹॻ͖͑Λߦ͓͚ͬͯରԠָ͕
4D v20ͷ৽ػೳ- WebSocketʹ͍ͭͯ • Ϧ リ リリ リ リリリリリリリリリリリリ W
W W W W W W W W Λ をを ‣ ௨ 通通通通通通通通通通 H H H H Ͱ でででで
4D v20ͷ৽ػೳ- WebSocketʹ͍ͭͯ • ϦΞϧλΠϜͳԠ͕ඞཁͳ߹ʹWebSocketΛ༻ ‣ ௨νϟοτͳͲʹHTTPͰෆ͖ ‣ WebSocketServerͱWebSocketConnectionͷ2छྨͷΫϥεΛ༻ -
WebSocketServerαʔόʔΛཧɺWebSocketConnection௨৴Λཧ ‣ ίʔϧόοΫΛ༻ͯ͠ΠϕϯτʹରԠ͢Δ • WebϥΠηϯεΛ͍࣋ͬͯΕՃϥΠηϯεෆཁ
ϝʔϧؔ࿈ͷ ৽ػೳ
• IMAPͷ৽ػೳˠϝʔϧϘοΫεͷIDͱಠࣗϑϥάͷઃఆ ‣ ϝʔϧϘοΫεͷIDΛऔಘ͢Δ͜ͱͰ໊শมߋͯ͠ಛఆ͕Մೳ ‣ Ωʔϫʔυ(ಠࣗϑϥά)Λઃఆ͢Δ͜ͱͰྫ͑ ʮ৽ؔ࿈ʯ/ʮॏཁސ٬ʯͳͲͷϑϥάΛϝʔϧʹઃఆՄೳ • POP3ͷ৽ػೳˠϝʔϧͷϔομʔ͚ͩΛऔಘ ‣
ϝʔϧͷऔࣺબҰཡද͕ࣔεϐʔυΞοϓ 4D v20ͷ৽ػೳ- ϝʔϧؔ࿈ͷ৽ػೳ
• v19Ҏ߱ICϓϥάΠϯΠϯετʔϧ͞Εͳ͍ ‣ ఏڙͦͷͷଓ͚ΒΕΔ • ࠓޙඪ४ϝʔϧίϚϯυҠߦ ‣ IMAP/POP3/SMTPΛΧόʔ͍ͯ͠Δ ‣ transporterΦϒδΣΫτ/ΦϒδΣΫτه๏Ͱ͍͍͢
4D v20ͷ৽ػೳ- Internet Commandsഇࢭ༧ఆ
• ͳͥඪ४ίϚϯυ͕͋Δͷʹ৽͍͠NetKit͕ඞཁͳͷ͔ ‣ Microsoft 365ͷOAuth 2.0ʹରԠ͢Δඞཁ͕͋ͬͨ ‣ Ϣʔβʔͱύεϫʔυ͚ͩͰෆे ‣ σόΠεೝূ·ͨੜମೝূ͔ΒಘΒΕΔτʔΫϯ͕ඞཁͱͳΔ
‣ τʔΫϯ͕औಘͰ͖ͨΒͦΕΛ༻ͯ͠ϝʔϧʹΞΫηε͕Մೳ 4D v20ͷ৽ػೳ- ৽͍͠NetKitίϯϙʔωϯτ
• OAuth 2.01ͭͷن֨ɺৄࡉαʔϏε͝ͱʹҟͳΔ ‣ MSʹMSͷɺGoogleʹGoogleͷɺͦΕͧΕͷ༷͕͋Δ ‣ ΧελϚΠζՄೳͳܗʹ͢ΔͨΊʹιʔεެ։ͨ͠ํ͕ϕλʔ 4D v20ͷ৽ػೳ- NetKitɺͳͥΫϥεͰͳ͘ίϯϙʔωϯτ?
OAuth 2.0 Microsoftͷ༷ Googleͷ༷ Facebookͷ༷
WEEK 2 ৼΓฦΓ
Webinar WEEK2 ৼΓฦΓ- UIؔ࿈ͷΞοϓσʔτ • ϦετϘοΫεͷࣗಈߦߴػೳ ‣ લྻܕݶఆͩͬͨɺࠓޙίϨΫγϣϯ/ESܕͰ༻Մೳʹ • ϘλϯͷΞοϓσʔτ
‣ λΠτϧͷۙදࣔ/εςʔτը૾ͷঢ়ଶ͕4͔Β6 • σʔλΤΫεϓϩʔϥʔͷ4Dͷ౷߹ • ϝιουΤσΟλʔͷݕࡧػೳ্
Webinar WEEK2 ৼΓฦΓ- ωοτϫʔΫؔ࿈(ϑΝΠϧసૹ)ͷ৽ػೳ • ϓϥάΠϯͰͳ͘cURL ‣ LAUNCH EXTERNAL PROCESS͔ΒSystemWorker
• HTTPRequestΫϥε ‣ ίʔϧόοΫΛ༻͢Δ͜ͱͰඇಉظͷϦΫΤετ • WebSocket௨৴ ‣ ํ/ϦΞϧλΠϜͳΓͱΓͷՄೳੑ
Webinar WEEK2 ৼΓฦΓ- ϝʔϧؔ࿈ͷ৽ػೳ • IMAP/POP3ͷ৽ػೳՃ ‣ Internet Commands͔Βશʹ͢Δ͜ͱ͕Մೳʹ •
NetKitίϯϙʔωϯτ ‣ OAuth 2.0ͱ͍͏ݱతͳೝূΛ࣮ݱ͢ΔͨΊʹඞཁ ‣ ιʔεެ։͞Ε͓ͯΓվมՄೳ
Webinar WEEK3 ༧ࠂ- CI/CDؔ࿈ • CI/CDؔ࿈ ‣ CI/CDͱԿ͔ ‣ tool4d/ίϯύΠϧͱϏϧυͷҧ͍/ϏϧυͷࣗಈԽ
etc… • ϥϯήʔδؔ࿈ ‣ σʔλετΞͷϩοΫɺϓϩύςΟͷܕએݴɺͳͲ
4D v20 Webinar Week2 - Thank you!