$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 v19 R Releases Part 2
Search
4D Japan
March 27, 2023
Technology
0
180
New in v19 R Releases Part 2
4D Japan
March 27, 2023
Tweet
Share
More Decks by 4D Japan
See All by 4D Japan
4D 20 R10
miyako
0
21
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
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
180
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2.3k
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
3
240
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2k
ZOZOの独自性を生み出す「似合う4大要素」の開発サイクル
zozotech
PRO
0
110
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
110
20251222_next_js_cache__1_.pdf
sutetotanuki
0
140
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
17
7.4k
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
6
2.1k
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
110
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
150
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
390
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Technical Leadership for Architectural Decision Making
baasie
0
180
Docker and Python
trallard
47
3.7k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
280
Practical Orchestrator
shlominoach
190
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
240
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
48
Designing for humans not robots
tammielis
254
26k
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!