BESKRIVELSE |
Efterårets workshop I
2019 bliver et brag af en workshop hvor vi kommer til at se, at Delphi
virkelig kan bruges overalt og til alt.
På dag 1 får vi besøg af Product Manager Marco Cantù som vil gennemgå
nuværende status på Delphi samt Road Map som den ser ud til den tid.
Det er muligt, at stille spørgsmål til Product Manager.
Bemærk: Marco er med via Skype.
Derefter tager Danny Wind og Cary Jensen over, og tager os igennem en
hel masse om Microservices, Database programmering, CPU optimering,
decoupling, tråde og en ordentlig spandfuld tips og tricks
På dag et får man lov at vælge om man vil følge den ene eller den anden
taler, afhængig af hvor ens interesse ligger. Sessionerne er
tilrettelagt således, at man godt kan vælge en taler til en session, og
den anden taler til den næste session.
Dag 2 bliver en dag hvor Cary og Danny fremlægger sammen. Vi får på
denne vis forhåbentlig gang i lidt diskussion omkring emnerne. Vi har
med stor succes set denne fremgangsmåde før, hvor vi kommer i dybden med
emnerne.
Jeg er sikker på, at det bliver en fantastisk oplevelse.
Dr Cary Jensen
Embarcadero MVP Dr Cary Jensen has been a
Delphi Speaker since forever. My very first introduction to Delphi 1
(Actually just called Delphi) was with Dr Cary Jensen presenting this
brand new piece of software. Cary has written tons of excellent books on
various programming and specifically Delphi related topics (and also a
restaurant guide book). The book Delphi in Depth: FireDAC will be an
extra free bonus for all attendees in the pdf-format. If you want a
signed dead-tree copy I’m sure Cary happily will sign it for you if you
bring it along (http://www.jensendatasystems.com/firedacbook/).
Cary knows Dapug very well as he has been
speaker at our workshops around 15 times.
Danny Wind
Danny is the owner
of “Delphi Company” based in Rotterdam, The Netherlands. Danny is just
like Cary also an Embarcadero MVP, and he thoroughly enjoys speaking
about his favorite topic Delphi in front of a crowd. Danny is constantly
exploring the newest and hottest ways of getting stuff done. And
combining these traits is probably why he is a very popular speaker and
trainer in the Delphi community mainly in the Benelux countries, where
I’ve met him at “The Lab”, he’s spoken at SDN conferences in Zeist, and
many other places. This workshop will be Danny’s second visit to the
Dapug Workshop.
|
PROGRAM |
Day
1 Cary Jensen and Danny
Wind – The Split Sessions
Note! The Delphi Product Manager Marco Cantù, will join us in the
beginning of Day 1 via Skype, where he will give an update on the
current status of Delphi, and the RAD Studio Road Map. It will in this
session be possible to ask questions to Marco.
Note! Day one is run in two tracks. You are encouraged for each session
to pick one or the other. It is perfectly fine to choose a speaker for
one session and the other speaker for the next session. The sessions
will be held, in such a manner that it is not imperative that you have
followed the preceding session.
8:00 |
Arrival and setup |
|
9:30 |
Welcome to
Cary and Danny |
|
9:40 |
Delphi Product Manager Marco Cantù:
The State of Delphi Updates and the RAD Studio Road Map
Via Skype – Open for questions and comments |
10:00 |
Overview of Day 1 Sessions by
Cary Jensen and Danny Wind |
|
10:15 |
Coffee Break |
|
10:30 |
Cary Jensen – Introduction to FireDAC
If you are new to FireDAC you will not want to miss this mini
session where Cary outlines the capabilities provided by FireDAC.
Here you will discover why FireDAC has quickly become the RAD Studio
data access framework of choice |
Danny Wind: RADical web and
Progressive Web Apps
Progressive Web Apps are web pages that behave
like an app on Android and to some extent also on iOS and on the
desktop. In this session we leverage a Delphi transpiler that
converts Delphi Components to HTML5 elements with TMS WebCore and
Delphi code to JavaScript using PAS2JS. We’ll use Delphi to create a
PWA and a webservice and use the resulting webapp to post questions
from the audience on this subject. |
11:05 |
Break |
|
11:15 |
Cary
Jensen: Understanding FireDAC Connections and Connection
Configuration
In this presentation you will learn the different
ways that FireDAC permits you to connect to your data, and the
advantages and limitations of each. In addition, Cary will discuss
how to configure your connections, and demonstrate the power of
connection configuration inheritance. |
Danny Wind: Microservices Building
In this session we’ll take a deeper look into the
webservice we introduced in the previous session. We start with the
idea of microservices, what they are and why they are relevant, and
then we’ll look into implementing a microservice with a webservice
in Delphi Pro, using a Key/Value store, JSON, REST and all that
stuff. |
12:00 |
Lunch |
|
13:00 |
Cary Jensen: Creating and
Using FireDAC Indexes
FireDAC indexes are client-side structures
associated with FireDAC datasets, and this presentation explores the
power and variety offered by FireDAC. This discussion will also
include a look at the features, such as searching and filtering,
which make use of these indexes. |
Danny Wind: Microservices
Deployment.
Microservices need to be
deployed to be useful. In this session we’ll deploy a webservice to
IIS on Windows and to Apache on Linux. We’ll also make sure we can
use HTTPS with a Let’s Encrypt certificate. This session includes a
white paper that explains the steps needed for deployment. |
13:50 |
Break |
|
14:00 |
Cary Jensen: Understanding FireDAC DataSets
In this session, Cary will look at the
differences between the FireDAC FDMemTable and other FireDAC
datasets, such as the FDQuery and FDTable. He will also talk about
FireDAC dataset persistence and the SQL command preprocessor |
Danny Wind: Delphi and the CPU
A
deep dive into how Delphi code compiles to CPU code, the effects of
CPU optimization like Out-Of-Order execution on your code, the new
parameter passing in Delphi Rio, and even some assembler code. The
knowledge in this session will help you with writing correct
multi-threaded / parallel code. |
14:50 |
Break |
|
15:00 |
Cary Jensen: Advanced
FireDAC Techniques
FireDAC includes a number of unique ways to work
with data, and in this session Cary discusses three of these. He
begins with a look at how you can easily copy data between FireDAC
datasets. Next, he demonstrates Array DML, a batch mechanism for
posting changes to your underlying database. Finally, he introduces
Local SQL, a feature that permits you to execute client-side SQL
statements against datasets. |
Danny Wind: 2020 Vision
This session combines the techniques we
introduced today and which we’ll expand upon tomorrow for future
proofing your applications for the year 2020. Keywords are desktop
to tablet, greener computing with parallel code, spotlight search,
companion apps, microservices and putting more G in the Gui
visualization. |
15:50 |
Cary and Danny - Closing
comments |
|
16:00 |
A Word from Nohau |
|
18:30 |
Drinks before dinner in
Tranquebar |
|
19:00 |
Dinner |
|
Day 2 Cary Jensen and Danny Wind – The Joint Sessions
9:00 |
Writing Decoupled Code
Unintended dependencies between units can ruin code reuse and lead
to unintended consequences. In this powerful session, Danny and Cary
will discuss what coupled code is, why it can be a disaster, and
then show you how to write decoupled code. They will also discuss
how to decouple code in legacy applications. |
9:50 |
Break |
10:00 |
In-Memory Data – When You
Have a Need for Speed
Working with data in memory is fast - very fast, and
Delphi provides a variety of constructs for doing this. These
include generic TDictionaries and similar types, ClientDataSets and
FDMemTables, arrays of various flavors, and more. Cary and Danny
will discuss the advantages and limitations of the various in-memory
structures as well as demonstrate their use. |
10:50 |
Break |
11:10 |
In Memory Data Continued
The
discussion of in-memory data continues, with Danny and Cary taking a
deep dive. Cached updates will be introduced, and we might even see
a competition for who can write the fastest code.
|
12:00 |
Lunch |
13:00 |
The Very Best of Tips and Tricks
Nobody knows everything about Delphi, and there are just so many
clever things that most Delphi developers have never heard of that
you can do with the editor, the debugger, and in code. So, buckle
your seat belts and take a tight grip on your keyboards, as we are
going to embark on a wild and crazy journey into the world of Delphi
Tips and Tricks |
13:50 |
Break |
14:00 |
The Very Best of Tips and Tricks Continued
The madness continues with more Delphi tips and
tricks. |
14:50 |
Break |
15:00 |
Even More Tips and Trick
That’s right, Cary and Danny aren’t done. There’s more. And you
might even want to chime in with a trick or two of your own |
16:00 |
Wrapup and evaluation |
Note! Day two consists of topics that very much are
related to each other, the speakers will throughout the day interchange
and supplement each other
|