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 playlist on YouTube here.

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.

 

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

CodeRage X – Delphi Parallel Programming Deep Dive: Task Monitoring, Resource Locking, Thread Pool, Design Patterns and more!

Made by kantanna.nl

Made by kantanna.nl

Delphi Parallel Programming Library Deep Dive: Task Monitoring, Resource Locking, Thread Pool, Design Patterns and more! That is the full title of this session at CodeRage X. I hope you found this deeper look into some of the relevant parallel programming features such as TInterlocked, TMonitor and TThreadPool useful.

The replay of this session of CodeRage X has been made available by Embarcadero on YouTube here:
CodeRage X Delphi Parallel Programming Deep Dive

 

Source code for this session is available here:
CodeRageX_DelphiParallelProgrammingDeepDive_DannyWind

Remember: when you run into shared resources with multi-threaded programming; consider just making a copy of the data for each thread.

The entire CodeRage X Object Pascal playlist of videos is available here:
CodeRage X Object Pascal Track

CodeRage X – 13, 14 en 15 oktober 2015

CodeRage X is net begonnen!

Made by kantanna.nl

Made by kantanna.nl

In dit online event vele bekende sprekers met enkele erg interessante sessies over multi-threading, van Primož Gabrijelcic (Simplify Parallel Programming with Patterns) en Olaf Monien (Simplify MultiThreading with System.Threading for Mobile and Desktop Apps) en mijn eigen sessie (Parallel Programming Deep Dive: Task Monitoring, Resource Locking, Thread Pool, Design Patterns and more!). Ook erg interessant: Robert Love (Introduction to Encryption: Understanding Security Algorithm Use Cases). En als verborgen juweel de generic broncode van Andrea Magni in zijn sessie (TFrameStand Deep Dive: Build Visually Stunning and Consistent UI/UX with FMX Frames). Natuurlijk nog meer leuke sessies van Marco Cantu, Jim McKeeth, Girish Patil, Ray Konopka en Stephen Ball.

Zelf heb ik ook een korte sessie, waarin ik wat dieper in ga op de Delphi Parallel Programming Library op donderdag 15 oktober om 16:00 CET.
http://www.embarcadero.com/coderage/coderage-x-op-sessions?session=Thursday#Session27

Meer info over CodeRage X vindt je hier:
http://www.embarcadero.com/coderage/coderage-x-op-sessions

CodeRage 9 – Parallel Programming Library: Create Responsive Apps with Tasks, Futures and Parallel Loops

Parallel Programming Library: Create Responsive Apps with Tasks, Futures and Parallel Loops must be the longest title I ever used for a session. I hope you found this introduction into parallel programming with the new TTask, TTask.Future en TParallel.For loop useful.

The replays of this and other sessions of Coderage 9 are now available on YouTube here:
https://youtu.be/rZfux4by0po?list=PLwUPJvR9mZHhgQYWWgF6BCkgDwIpP78ZV

Source code for this session is available here:
DelphiParallelLibrary_CreateResponsiveApps_DannyWind

As a last minute note: when using Synchronize inside a TTask.Run AND using TTask.WaitForAll from the main thread there is potential for deadlock as they will then wait for each other. Although it is safe to use Synchronize inside a Task if you only use WaitForAll from inside Task.Run, as demonstrated in the example TaskChaining, it is often better to use TThread.Queue, which doesn’t halt the thread it’s called from and is therefore generally safer.

CodeRage 9 – 28, 29 en 30 oktober 2014

Nog maar een week en dan begint CodeRage 9!

In dit online event vele bekende sprekers met enkele erg interessante sessies van Ray Konopka (Generics, RTTI), Allen Bauer (Parallel Library), Jim McKeeth (Brain Computer Interface, Voice Control) en vele anderen zoals Marco Cantu, Cary Jensen en Robert Love.

Zelf heb ik ook een korte sessie, waarin ik de nieuwe Parallel Library introduceer en gebruik om applicaties te maken die altijd responsive zijn en de gebruiker nooit blokkeren. Weg met de zandloper!

Meer info over CodeRage 9 vindt je hier:
http://www.embarcadero.com/kr/coderage/coderage-9-op-sessions

CodeRage 8 – Deep Dive into creating Android apps

To everyone who attended my session on CodeRage 8, thanks for your enthusiastic questions and feedback! Presenting this subject on CodeRage has been great, and I’d especially like to thank David Intersimone and Jim McKeeth for making the Q&A such fun.They will make the session replay available soon, and I’ll post a link here. For the CodeRage 8 attendees the slideshow is available here: Deep Dive into creating Android apps CodeRage 8

Update:  The Coderage 8 Replays have been made available.