Skip to main content

Oracle Dev Gym 2.2 Release: faster, simpler and fun, new workouts!

We upgraded the Oracle Dev Gym site this past weekend to 2.2. Why should you care? Because the Dev Gym offers a great active learning complement to reading doc and blogs, and watching videos. We help you deepen and broaden your expertise through exercise: taking quizzes that reinforce newly gained knowledge.

Quizzes

At the heart of the Dev Gym is a library of over 2,400 quizzes on SQL, PL/SQL, Oracle Application Express, Database Design and Logic. Almost all these quizzes were first played as part of our daily and then weekly tournaments - which means they've been reviewed by experts and taken by hundreds and in some cases thousands of developers. They are usually code-based quizzes that strengthen you ability to read and understand code (rather than "try it and see" by running the code).

The Dev Gym home page offers a selection of favorite quizzes hand-picked each week by our quizmasters from this library. But that's just the tip of the iceberg. Looking to strengthen you skill at Oracle's powerful analytic functions? Type in "analytic" in the search bar, press Enter and scroll through the dozens of quizzes on LAG, LEAD, LISTAGG and more.

You can search within specific technologies, like PL/SQL, specify the Oracle Database version in which you are interested, filter by difficulty, and more.

Check out this video on Dev Gym quizzes:

Workouts

Workouts have undergone a major overhaul.

We now offer a set of pre-defined workouts for you to take. These might consist of a set of quizzes on a given feature, or a video followed by quizzes. These workouts are not parts of classes. They allow you to do a concentrated lesson in a given area of the technology, without having to sign up or attend classes.

You can also create your own customized workout. This feature also serves as a replacement for the  PL/SQL Challenge Practices feature. Simply press the Create Custom Workout button and off you go.

The Practice Autotunes feature is also now a part of Workouts; they are now called Daily Workouts. With a single click, you can sign up to receive a daily workout consisting of one quiz for the selected technology. They expire each day.

The "old way" of taking workouts via our Personal Trainer, with four sets of weekly workouts aligned around monthly goals, is still available but only by clicking on the Classic Workouts button on the Workouts page. It will create a new set of workouts for you one month at a time (not two, as happened previously). And you will not be able to change the topic or exercises. If that's frustrating, please check out Create Custom Workout.

Check out this video on Dev Gym workouts:



Classes

We've reorganized the Classes page. Scheduled and on-demand classes all appear under Current Classes. If the class is part of a series, such as Database for Developers, only one card appears in the list. It will take you to the current class automatically.

Check out this video on our classes:


Open Tournaments and the Library

The PL/SQL Challenge Library page is available on the Dev Gym under the Tournaments tab. Just lick on the Library link at the top of the page. You can then view past tournaments and other scheduled quizzes by clicking on Tournaments and then the Library link at the top of the page.

Yes, that's right: we offer weekly Open Tournaments. Brand new quizzes each week.Anyone can play, and you can choose to play competitively or simply to learn. The top 50 ranked players in each technology then qualify for the annual championship.

For an overview of our Open Tournaments:



Deja Vu Quizzes are now Featured Quizzes

Deja Vu quizzes are now presented on the home page of the Dev Gym as Featured Quizzes.

They also will continue to be available at the PL/SQL Challenge, but will no longer contain the words "Deja Vu".

Player Settings

You can now set your primary technology on the Preferences tab of the Settings page.

This preference is used on the Leaderboards page, as well as for reviewers and domain administrators, but will be extended to other players over time.

Some Under the Cover Thoughts

Since users of our site are developers, we thought you'd like to hear about some of the changes "under the cover."

The most important work we did for 2.2 was to change the data model for workouts. Someone (his first name is Steven, but we cannot disclose his full identity) made some very poor data model decisions, in too much of a hurry, without sufficient review by other humans when workouts and classes were first added to the site.

One result was that we ended up copying data from another system into the Dev Gym schema. Gee, that sounds like a bad idea, right? How do you keep them in synch? D'oh.

Another result was an unnecessary explosion of rows of data in several tables, and with it increased code complexity, the likelihood (and then reality) of bad data, and way too many hours lost applying fixes.

With 2.2, the data model is cleaned up, the code is simplified, the performance is improved, and once again Steven can sleep well at night.

Steven also now has two reminders attached to his monitor:

ASK FOR HELP
KEEP IT SIMPLE

Wish Steven luck.

PS - A big thanks and salute to Eli Feuerstein, the lead APEX developer for the Dev Gym. Steven handles most of the backend work, but the UI is all Eli, all the time. It's gotten so much better in this release, and you will soon see even more - and more exciting - improvements.

Comments

Popular posts from this blog

Quick Guide to User-Defined Types in Oracle PL/SQL

A Twitter follower recently asked for more information on user-defined types in the PL/SQL language, and I figured the best way to answer is to offer up this blog post. PL/SQL is a strongly-typed language . Before you can work with a variable or constant, it must be declared with a type (yes, PL/SQL also supports lots of implicit conversions from one type to another, but still, everything must be declared with a type). PL/SQL offers a wide array of pre-defined data types , both in the language natively (such as VARCHAR2, PLS_INTEGER, BOOLEAN, etc.) and in a variety of supplied packages (e.g., the NUMBER_TABLE collection type in the DBMS_SQL package). Data types in PL/SQL can be scalars, such as strings and numbers, or composite (consisting of one or more scalars), such as record types, collection types and object types. You can't really declare your own "user-defined" scalars, though you can define subtypes  from those scalars, which can be very helpful from the p

The differences between deterministic and result cache features

 EVERY once in a while, a developer gets in touch with a question like this: I am confused about the exact difference between deterministic and result_cache. Do they have different application use cases? I have used deterministic feature in many functions which retrieve data from some lookup tables. Is it essential to replace these 'deterministic' key words with 'result_cache'?  So I thought I'd write a post about the differences between these two features. But first, let's make sure we all understand what it means for a function to be  deterministic. From Wikipedia : In computer science, a deterministic algorithm is an algorithm which, given a particular input, will always produce the same output, with the underlying machine always passing through the same sequence of states.  Another way of putting this is that a deterministic subprogram (procedure or function) has no side-effects. If you pass a certain set of arguments for the parameters, you will always get

My two favorite APEX 5 features: Regional Display Selector and Cards

We (the over-sized development team for the PL/SQL Challenge - myself and my son, Eli) have been busy creating a new website on top of the PLCH platform (tables and packages): The Oracle Dev Gym! In a few short months (and just a part time involvement by yours truly), we have leveraged Oracle Application Express 5 to create what I think is an elegant, easy-to-use site that our users will absolutely love.  We plan to initially make the Dev Gym available only for current users of PL/SQL Challenge, so we can get feedback from our loyal user base. We will make the necessary adjustments and then offer it for general availability later this year. Anyway, more on that as the date approaches (the date being June 27, the APEX Open Mic Night at Kscope16 , where I will present it to a packed room of APEX experts). What I want to talk about today are two features of APEX that are making me so happy these days: Regional Display Selector and Cards. Regional Display Sel