$30 off During Our Annual Pro Sale. View Details »
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
120
New in v20 Part 2
4D Japan
July 13, 2023
Tweet
Share
More Decks by 4D Japan
See All by 4D Japan
4D 20 R10
miyako
0
20
4D 20 R9
miyako
0
11
4D 20 R7 & R8
miyako
0
63
Unicodeの話 (2007)
miyako
0
22
Unicodeの話 (2008)
miyako
0
39
Google Apps Integration (2012)
miyako
0
34
Creating Custom Widgets (2012)
miyako
0
38
マルチスレッディングの仕組み (2016)
miyako
0
39
地図データの活用 (2016)
miyako
0
40
Other Decks in Technology
See All in Technology
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
250
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
220
初めてのDatabricks AI/BI Genie
taka_aki
0
200
20251219 OpenIDファウンデーション・ジャパン紹介 / OpenID Foundation Japan Intro
oidfj
0
140
AI駆動開発の実践とその未来
eltociear
1
210
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
160
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
100
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
260
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.5k
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
450
Amazon Quick Suite で始める手軽な AI エージェント
shimy
0
210
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.9k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Building an army of robots
kneath
306
46k
Automating Front-end Workflow
addyosmani
1371
200k
GraphQLとの向き合い方2022年版
quramy
50
14k
Side Projects
sachag
455
43k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Making Projects Easy
brettharned
120
6.5k
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!