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 v19 R Releases Part 2
Search
4D Japan
March 27, 2023
Technology
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
New in v19 R Releases Part 2
4D Japan
March 27, 2023
More Decks by 4D Japan
See All by 4D Japan
4D 21 R2 R3
miyako
0
12
4D 21 LTS
miyako
0
16
4D 21
miyako
0
38
4D 20 R10
miyako
0
41
4D 20 R9
miyako
0
32
4D 20 R7 & R8
miyako
0
81
Unicodeの話 (2007)
miyako
0
42
Unicodeの話 (2008)
miyako
0
48
Google Apps Integration (2012)
miyako
0
50
Other Decks in Technology
See All in Technology
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
360
ゼロをイチにする仕事が終わったあと
smasato
0
290
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
440
cccccc
moznion
0
1.7k
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
170
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
290
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
1
780
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
190
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
430
AWS Summit Japan 2026の振り返りと2027へ向けて / AWS Summit Japan 2026 Recap and Prospects for 2027
kaminashi
1
200
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
250
Baseline対応のDOMの型定義を作った
uhyo
3
680
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
3.7k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
The SEO identity crisis: Don't let AI make you average
varn
0
510
My Coaching Mixtape
mlcsv
0
170
Raft: Consensus for Rubyists
vanstee
141
7.6k
The Spectacular Lies of Maps
axbom
PRO
1
850
The Limits of Empathy - UXLibs8
cassininazir
1
390
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Building Adaptive Systems
keathley
44
3.1k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Evolving SEO for Evolving Search Engines
ryanjones
0
230
Transcript
W E B I N A R W E E
K 2 4D v19 R Release
4D ϥϯήʔδ
ίϯϙʔωϯτͷΫϥεΛ ϗετ͔Β༻
4Dϥϯήʔδ - ίϯϙʔωϯτͷΫϥεΛϗετ͔Β༻ ϓϩδΣΫτϞʔυ όΠφϦʔσʔλϕʔε 👍 利⽤不可 💧 cs.myClass.new()
4Dϥϯήʔδ - ίϯϙʔωϯτͷΫϥεΛϗετ͔Β༻ binary host project components cs.myClass.new() 👍
4Dϥϯήʔδ - ίϯϙʔωϯτͷΫϥεΛϗετ͔Β༻ cs.myComponents.myClass.new() බࣈ ໊લ No Conflict! ໊લۭؒ
4Dϥϯήʔδ - ίϯϙʔωϯτͷΫϥεΛϗετ͔Β༻
ϧʔϓɺධՁɺ ͦͯ͠ෳ߹ೖԋࢉࢠ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ return continue break ϝιουͷ࣮ߦΛதࢭ͠ɺ ݺͼग़͠ݩͷϝιουͱ੍ޚΛ͢ ࣮ߦதͷϧʔϓΛதࢭ͠ɺ ϧʔϓޙͷίʔυͱ࣮ߦΛਐΊΔ
࣮ߦதͷϧʔϓͷݱࡏͷճ͚ͩΛதࢭ͠ɺ ࣍ͷճͷϧʔϓ͔ΒίʔυΛ࠶։͢Δ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ If ($value=1) & ($condition="good") If ($value=3) |
($condition="best") AND OR
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ If ($value=1) & ($condition="good") AND $value=3 False
👀
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ && || 必ずしも全ての オペランドを評価しない 式の値を返す ギ テ
キ チ 新敵地 True/Falseじゃないの? シンテキチ? 義的⾎?何それ? 全てを評価しないって どういうこと?
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ falsy(ِత) truthy(ਅత) False Null Undefined “”(ۭͷจࣈྻ) [](ۭͷίϨΫγϣϯ)
{}(ۭͷΦϒδΣΫτ) NullΦϒδΣΫτ΄͔ ͦΕҎ֎ͷ ͷ0ؚΉ !00-00-00!(ۭͷ) ?00:00:00?ؚΉ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ && || $result1:="Hello" && True && New
object $result2:=False || 0 || Null AND OR
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ If ($entity#Null) //NullͰͳ͍͔νΣοΫ If ($entity.value>10) //ΤϯςΟςΟʹରͯ͠ॲཧΛ͢Δ End
if End if
If (($entity#Null) && ($entity.value>10)) 4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ ΤϯςΟςΟ͕NullͳΒ͜͜ νΣοΫ͕͞Εͳ͍ͷͰΤϥʔ͕ى͖ͳ͍ γϯϓϧʂ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ var $phone : Text If ($employee.phone#Null) $phone:=$employee.phone
Else $phone:="൪߸ͳ͠" End if
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ var $phone : Text $phone:=$employee.phone || "൪߸ͳ͠"
👍
Null 4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ var $phone : Text $phone:=$employee.phone ||
"൪߸ͳ͠"
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ var $phone : Text $phone:=$employee.phone || "൪߸ͳ͠"
γϯϓϧʂ “͑Δ”͔Ͳ͏͔ =“༻ੑ”Λݟ͍ͯΔ
falsyͷͱ͖ͷ 4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ ࡾ߲ԋࢉࢠ ݅ ? truthyͷͱ͖ͷ : $category:=($person.age>12)
? "େਓ" : "খਓ" //$personΤϯςΟςΟͷage͕12Λ͍͑ͯΔ͔Ͳ͏͔Ͱ͕۠มΘΔ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ $num:=$num+1 ෳ߹ೖԋࢉࢠ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ $num+=1 $num-=4 $num*=3 $num/=2
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ $text:="Hello" $text+=" World!" //$textʹ"Hello World!"͕ೖΔ $date:=Current date
$date+=3 //$dateʹ3ޙͷ͕ೖΔ $time:=Current time $time+=?01:00:00? //$timeʹ1࣌ؒޙͷ࣌ࠁ͕ೖΔ $time:=Current time $time-=100 //$timeʹ100ඵલͷ࣌ࠁ͕ೖΔ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ •return/break/continueʹΑΓແବͳίʔυΛݮΒ͢ •truthy/falsy͓Αͼ&&/||ʹΑͬͯγϯϓϧͳධՁΛՄೳʹ •γϯϓϧͳIf…Elseࡾ߲ԋࢉࢠʹஔ͖͑Մೳ •ෳ߹ೖԋࢉࢠͰײతʹՃݮআ
Blobͱ4D.Blob ʙ৽࣌ʙ
4Dϥϯήʔδ - Blobͱ4D.Blob Blob 4D.Blob มߋՄೳ͔Ͳ͏͔ มߋՄೳ มߋෆՄ όΠτʹΞΫηε͢ΔࡍͷύϑΥʔϚϯε ྑ͍
ѱ͍ ࠷େαΠζ 2 GB ϝϞϦ ϝιουͳͲʹࢀরͱͯ͠͠ ෆՄ Մೳ ΦϒδΣΫτίϨΫγϣϯͰڞ༗Մೳ ෆՄ Մೳʂ
4Dϥϯήʔδ - Blobͱ4D.Blob Blob 4D.Blob มߋՄೳ͔Ͳ͏͔ มߋՄೳ มߋෆՄ όΠτʹΞΫηε͢ΔࡍͷύϑΥʔϚϯε ྑ͍
ѱ͍ ࠷େαΠζ 2 GB ϝϞϦ ϝιουͳͲʹࢀরͱͯ͠͠ ෆՄ Մೳ ΦϒδΣΫτίϨΫγϣϯͰڞ༗Մೳ ෆՄ Մೳʂ ΦϒδΣΫτʹ BlobΛؚΊΔ͜ͱ͕Ͱ͖Δʂ
4Dϥϯήʔδ - Blobͱ4D.Blob DELETE FROM BLOB INSERT IN BLOB INTEGER
TO BLOB LONGINT TO BLOB LIST TO BLOB REAL TO BLOB SET BLOB SIZE SOAP DECLARATION TEXT TO BLOB VARIABLE TO BLOB WEB SERVICE SET PARAMETER 4D.BlobΛαϙʔτ͠ͳ͍ίϚϯυ
ႠͤΑɺେ͖ͳ ʙLongͷนΛ͑ͯʙ
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_LONGINT($vLong) var $vlong : Integer 32 bit
± 2 ^ 31 -1 -(2 ^ 31) +1
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_LONGINT($vLong) var $vlong : Integer 32 bit
± -2147483647 2147483647
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real
2 ^ 53 -1 -(2 ^ 53) +1 4Dϥϯήʔδ -
ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real 64 bit
-9,007,199,254,740,991 9,007,199,254,740,991 4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real
64 bit ~
-9,007,199,254,740,991 9,007,199,254,740,991 4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real
64 bit ~
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ •৽͍͠σʔλλΠϓ͕Ճ͞Εͨ༁Ͱͳ͍ •C_LONGINTɺC_REALͷ࣮ԿมΘ͍ͬͯͳ͍ •খΛ༻͍ͯ͠ͳ͍ʹݶΓѻ͍͘͢ͳͬͨ •ʮ16ܻҎʯͰͳ͘Λ͑ͳ͍͜ͱ 64 bitܕͷओΩʔΛ࣋ͭ֎෦DBͱͷ࿈ܞ 👍
4Dϥϯήʔδ - ͦͷଞͷ৽ػೳ ϑΥʔϛϡϥΛίϨΫγϣϯίʔϧόοΫίϚϯυͰ༻ LZMA: ৽͍͠ѹॖΞϧΰϦζϜ ͞Ε͍ͯͳ͍ҾʹΞΫηε͢Δ
Thank you!