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
40
Unicodeの話 (2007)
miyako
0
10
Unicodeの話 (2008)
miyako
0
20
Google Apps Integration (2012)
miyako
0
18
Creating Custom Widgets (2012)
miyako
0
17
マルチスレッディングの仕組み (2016)
miyako
0
27
地図データの活用 (2016)
miyako
0
20
オブジェクトフィールド (2016)
miyako
0
10
新しい変換タグ (2016)
miyako
0
18
Other Decks in Technology
See All in Technology
地味にいろいろあった! 2025春のAmazon Bedrockアップデートおさらい
minorun365
PRO
1
260
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
6
6.2k
Running JavaScript within Ruby
hmsk
3
330
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #DevOpsDaysTokyo
takabow
0
390
MCPを活用した検索システムの作り方/How to implement search systems with MCP #catalks
quiver
12
6.7k
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
14
4.8k
生成AIによるCloud Native基盤構築の可能性と実践的ガードレールの敷設について
nwiizo
7
970
システムとの会話から生まれる先手のDevOps
kakehashi
PRO
0
290
DETR手法の変遷と最新動向(CVPR2025)
tenten0727
2
1.4k
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
0
410
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
230
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
250
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
670
Facilitating Awesome Meetings
lara
54
6.3k
RailsConf 2023
tenderlove
30
1.1k
Embracing the Ebb and Flow
colly
85
4.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
How GitHub (no longer) Works
holman
314
140k
It's Worth the Effort
3n
184
28k
Fireside Chat
paigeccino
37
3.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!