Over Danny

Delphi trainer en ontwikkelaar.

CodeRage 2019 RAD Server Key Value sessions

Thank you for attending my CodeRage 2019 sessions on RAD Server.

The Key Value storage created, deployed and used in the sessions is very simple to build, but also very versatile in its use. Hopefully you will find as many, or even more, uses as I have for the Key Value server code in your own projects with RAD Server.

If you want to replay the sessions, please visit the CodeRage 2019 page.

Please find the download with Delphi sources and a partial emsserver.ini here:
Download source and emsserver.ini
The download has been compressed with RAR with password coderage2019
and has the following SHA-256 checksum
26c45c2079e4fa359541c78f444ebfd8e8a2f43005a0d6c1038040a82ed3c8f1

David Intersimone (DavidI) has created an excellent handbook on RAD Server which can be found here.

Have fun creating your own RAD Server solutions!

Some after session thoughts

In an attempt to shorten the RADServerKeyValue Client video a part of the video at the end was removed that should not have been removed. This involves using a key/value pair with uploading a larger or more complex text. The source code in the rar file you can download has the correct source code.

This Key Value store code has special handling for any key with a value ‘body’. In response to this keyword the RAD Server Key Value package assumes the body of the Request contains a UTF8 encoded text to be placed in the value for the dictionary. This makes it possible to put text in the Key Value storage that would be difficult to put as a URL parameter, either due to size constraints for URL segments, or due to special characters not allowed in URL parameters.

By setting the recycle time of the IIS ISAPI to 24 hours, the in-memory Key Value pairs will remain available for that period. If you want you can add persistency for this dictionary by storing the data in a database in the RAD Server backend.

You may want to add manual support for different MIME types with EndPointProduce and EndpointConsume and use EMSFileResource and EMSDBResource to feed files or database tables back to the client.

 

Delphi 10 Rio VCL Essentials training – 27-29 november 2019

De driedaagse Delphi 10 VCL Essentials training start 27 november 2019 op de mooie locatie van het Jachthuis Beukenrode in Doorn.

De training is bedoeld voor developers met enige ervaring in programmeren. Maar ook ervaren ontwikkelaars waarderen hem, niet alleen door de overview van alles wat je met Delphi en de VCL kunt, maar ook door de deep-dive in details als de event-loop en de interne werking van de VCL (visual component library) en RTL (run-time library). In de driedaagse training leer je je Windows applicaties maken met Delphi, gebruik maken van een database via FireDAC. Verder in-memory en local datasets, debugging, de RTL, Windows-10 styling en zelfs wat generics.

Inschrijven en details van de agenda vindt je hier:
https://www.barnsten.com/nl/development-tools/training/delphi-essentials-vcl-training

DAPUG Denmark – October 2019

This year Jens Fudge kindly invited both Cary Jensen and me over to present at the DAPUG workshop in Denmark on October 22nd and 23rd.

On the first day we’ll have separate sessions. Cary takes the lead with all things FireDAC while I’ll cover webservices, client apps and progressive web apps. The second day we’ll be presenting together. These sessions will be very dynamic indeed, as we’ll not only cover the subjects as planned, but also interact with the audience to get the most out of Delphi for their code.

As a teaser; did you know you can search for all occurences of substrings in a book of a million words in just microseconds?

The details of the program for these two days in Denmark is listed here: http://alt.dapug.dk/ws22102019.htm

Additionally both Jens and Cary will be speaking at this years EKON 23.

Delphi Day 2019 – May 9 in Brussel

Get ready for the future with the sessions of the Delphi Day 2019.

We kick off with a session about RAD Server. Start using webservices now, with this easy turn-key solution. Delphi Rio Enterprise includes a single-site deployment license for unlimited users, so you can start using it for free. In my session on RAD Server i’ll cover the architecture and how and why its (now) fast, unrestrained and easy to setup and maintain.

In the following sesions, Bob Swart will help you modernize your Delphi language, making your code and applications ready for the future. Bruno Fierens is going to show you how to add HTML5 and JavaScript Apps to your application framework. Unlocking new options and possibilities for your customers. Jan Jacobs will show you how they used a SaaS and a combination of Delphi, nodejs and mongodb to create a high-performance cloud based transaction engine for retailers and webshops.

The focus of my afternoon session is future proofing your application architecture for 2020, a 2020 vision! I’ll demo several techniques to achieve this, like parallel code with TTask, visualization of workflow, adding spotlight search, companion apps and other quick-wins and tips

More information and registration can be found here:
https://www.barnsten.com/nl/events/details?events_id=361

SDN Event – 12 april 2019

Kom over een paar weken naar het SDN Event van 12 april in Zeist met onder andere een leuke sessie van Roy Janssen over deep fakes en het integreren van machine learning en AI in je software. Zelf duik ik samen met jullie onder in de CPU code die Delphi voor je compiled, onder andere om een wijziging in Rio in de ABI rondom parameter passing te laten zien, maar ook om je meer inzicht te geven in hoe een CPU die code uitvoert en waar je rekening mee moet houden in multi-threaded code.

Delphi 10 VCL Essentials training – 25-27 maart 2019

De driedaagse Delphi 10 VCL Essentials training start binnenkort, op maandag 25 maart 2019 op de mooie locatie van het Jachthuis Beukenrode in Doorn.

De training is bedoeld voor developers met enige ervaring in programmeren. Maar ook ervaren ontwikkelaars waarderen hem, niet alleen door de overview van alles wat je met Delphi en de VCL kunt, maar ook door de deep-dive in details als de event-loop en de interne werking van de VCL (visual component library) en RTL (run-time library). In de driedaagse training leer je je Windows applicaties maken met Delphi, gebruik maken van een database via FireDAC. Verder in-memory en local datasets, debugging, de RTL, Windows-10 styling en zelfs wat generics.

Inschrijven en details van de agenda vindt je hier:
https://www.barnsten.com/nl/development-tools/training/delphi-essentials-vcl-training

De training gaat zeker door, dus voor de reeds ingeschreven deelnemers, tot binnenkort!

Blaise Meetup – 9 maart 2019 IJsselstein

Wat een leuke locatie voor een Meetup, een gezellige lunchroom op de doelenstraat 12  in hartje IJsselstein Bij deze Meetup mocht ik het maken van HTML5 Web Apps en WebBroker Micro Services laten zien in Delphi, terwijl Mattias Gärtner de Michael van Canneyt de technieken in Lazarus lieten zien.

Het was een erg gezellige groep met developers uit Nederland, België en Duitsland, dank je voor jullie leuke vragen en enthousiasme.

Voor de deelnemers, de sources en slides kun je via dit artikel downloaden. Let wel dat er twee regels moeten worden aangepast voor compatibiliteit met de nieuwere releases van TMS Webcore.

Coderage 2018 – Building Microservices and Progressive Web Apps (PWA) with Delphi

Thank you for attending my Coderage 2018 session on Building Microservices and Progressive Web Apps (PWA) with Delphi and TMS WebCore.

If you want to replay the session, please visit the Coderage 2018 page on Embarcadero Academy.

Please find the download with source and slides here:
Download source and slides
The download has been compressed with RAR with password coderage2018
and has the following SHA-256 checksum
19cb86c5d401c55fe347a6adca1ed79f9dec4f7167e62d3f064e4cc617aa90aa

Have fun creating your own REST microservices and PWA‘s!

Note: with newer versons of TMS WebCore you may need to change two lines of code in the file UnitJSONHelper.pas.


Weblib.REST, Weblib.JSON;


lArray := lJSONObject.GetJSONValue('result');

Additionally the no longer needed WebRunner lines in the Project file TheCounterWeb.dpr should be automatically removed when you open the project, if not remove them manually.

CodeRage 2018 – 4-6 December 2018

CodeRage 2018 is just around the corner!

CodeRage2018

CodeRage2018

The complete schedule:
https://www.embarcadero.com/coderage-2018

This CodeRage I’m showing you how to build microservices and how to consume them from desktop, Android mobile and using a HTML / JavaScript web app. The web app uses TMS WebCore and PAS2JS, but goes beyond basic coding as it also shows you how to convert the web app to a Progressive Web App, or PWA for short

The boilerplate code is of course available for download, please use it to jump start your own software.

Oh, and the nice thing about PWA, an Android device will offer the user the option to install the web app as an actual app with an icon on the start screen. Good stuff!

Register here, it’s free but infinite value for money:
https://www.embarcadero.com/coderage-2018