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
76
New in v20 Part 2
4D Japan
July 13, 2023
Tweet
Share
More Decks by 4D Japan
See All by 4D Japan
4D DevCon 2024
miyako
0
64
同期と複製 (2012)
miyako
0
35
最適化 (2012)
miyako
0
48
アップグレードの近道 (2012)
miyako
0
52
4D v11 SQL in Depth (2010)
miyako
0
47
New in v20 Part 4
miyako
0
73
New in v20 Part 3
miyako
0
76
ビジネスウェブアプリケーション (2012)
miyako
0
53
Wakandaプラットフォーム (2010)
miyako
0
54
Other Decks in Technology
See All in Technology
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!
shuntaka
PRO
0
560
成長期に歩みを止めないための創業期の開発文化形成
mayah
6
420
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
OSSコミットしてZennの課題を解決した話
dyoshikawa1993
0
150
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
運用改善、不都合な真実 / 20240722-ssmjp-kaizen
opelab
17
8k
AIエージェントを現場に導入する目線とは
masahiro_nishimi
1
1.5k
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
大規模ドラレコデータ収集・機械学習基盤を支える AWS CDK 〜導入・運用事例紹介〜
pemugi
0
110
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
219
8.8k
Ruby is Unlike a Banana
tanoku
96
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Faster Mobile Websites
deanohume
303
30k
Speed Design
sergeychernyshev
9
270
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Git: the NoSQL Database
bkeepers
PRO
423
64k
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!