ITDevCon Community Workshops: DelphiMVCFramework & Multithreading

As you probably know, monday and tuesday we held 2 ITDevCon Community Workshop.

On monday we had “Tutto su DelphiMVCFramework” (All about DelphiMVCFramework) a very intensive workshop which introduce al the major features about DelphiMVCFraemework:

  • DelphiMVCFramework architecture
  • Understanting Routing
  • Controllers
  • Routes and parameters
  • Renders
  • Action filters
  • Accessing data
  • Be amazed by the Mapper’s features
  • Sessions
  • JSON Web Token support (JWT)
  • Middleware
  • The built-in Authentication & Authorization framework
  • Serving static files
  • Server Side Views (a.k.a. SSV)
  • Using Push Notifications with DMVCFramework and RabbitMQ
  • The built in RESTClient
  • The amazing RESTAdapter (by Daniele Spinetti)

After a basic introduction about controllers, routing and renders, we give a look on all the advanced features. The people have been amazed by the framework flexibility and simplicity.

Here’s some photos.

img_20161128_095551

About to start…

start-dmcvframework

 

The class during the morning session

img_20161128_102706

 

Lunch time!

img_20161128_131933

 

And the end of the monday session, my friend Maurizio Del Magno brings a lot of piadinas (https://en.wikipedia.org/wiki/Piadina) and offered to cook them. So, we bring some Porchetta di Ariccia  (https://en.wikipedia.org/wiki/Porchetta) and organized the first ITDevCon Community Dinner 🙂

 

Here’s Maurizio while is cooking the piadinas.

img_20161128_181600

 

And this is the porchetta!img_20161128_181640

 

This is the link for the complete photo album

 

The day after, we had the workshop: “Tecniche per il multhreading” (multithreading tecniques). Have been introduced and explained all the major problems related to multithreading programming and then we show the fundamental tecniques to cope with them, including Parallel Programming Library. There were the topics.

 

  • What’s a thread?
  • TThread Basics
  • Synchronize background threads with the main thread: the easy way
    • Synchronize
    • TThread.Synchronize
    • Thread.Queue
  • How to correctly destroy a thread
  • When a piece of code is thread safe?
  • Fundamental synchronization tools
    • Critical section – TCriticalSection
    • Interlocked function – TInterlocked
    • Monitor – TMonitor
    • Mutex – TMutex
    • Events – TEvent
  • The producer-consumer pattern
  • Beware to the deadlock!
  • The RTL thread safe classes
    • TThreadedQueue<T>
    • TThreadList<T>
  • Practical applications of multithreading in database programming
    • Background queries
    • Parallels queries
  • Background HTTP requests
  • The parallel programming library: TTask, TFuture and TParallel.&For

Here’s some photos of the second day of workhop

img_0209

img_20161129_115604

The “multithreading” class

img_20161129_100147

This is the link for the multithreading workshop album.

 

These 2 days have been very intensive, however have been a really success: lot of people, lot of good-old Delphi programmers but also a good number of younger (50%/50% more or less).
I’m planning to organize other ITDevCon Community WorkShop in the beginning of 2017.

See you soon guys, and keep in touch!