Over the years there have been countless technical and social presentations doting on 5, 10, 12 ways to improve this, that and the other.
I will go through various performance tweaks (not tweets) for Oracle Application Express without limiting myself to a golden number.
These improvements will vary from simple PL/SQL refactoring; to monitoring for bottlenecks in your application; to cutting down maintenance time - which relates to the performance of you as an Oracle developer with only 24 hours in a day.
We may even visit a little APEX instrumentation on the way.
Oracle Text is a facility within the database that provides more advanced indexing & search techniques - including the ability to index documents stored in your database; on your server; or even the web!
Now you can incorporate this functionality into your web application using Oracle Application Express.
This presentation will demonstrate how easy it is to combine the two, and give you a platform for further expansion and exploration within a very powerful product.
This talk introduces Spring's REST stack - Spring MVC, Spring HATEOAS, Spring Data REST, Spring Security OAuth and Spring Social - while refining an API to move higher up the Richardson maturity model
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsSage Computing Services
Geeeez, after demanding you unit test, system test, black box test, white box test, test-test-test everything, your manager is now demanding you load test your brand spanking new Oracle web application. How on earth can you do this?
This technical presentation will explain the concepts behind preparing for load testing, the Http protocol's request/response model, and live demonstrations using Oracle's Http Analyzer and Apache's JMeter to stress test your Oracle web application.
The presentation is suitable for anybody, be it DBAs or developers, who are concerned about the performance of any web based application, possibly an Apex or JDeveloper or 3rd party web application. Knowledge of Apex or JDeveloper is not mandatory for this presentation and they will not be covered in any depth.
Oracle REST Data Services Best Practices/ OverviewKris Rice
This slide deck goes over the basic architecture of Oracle REST Data Services. It also points out various features to enable to make the best use of the product to safely enable an Oracle Database for RESTful access.
The Interactive Grid is introduced in APEX 5.1 as a best of both worlds of Tabular Forms and Interactive Reports. Although a lot of settings are declaratively avaible within the APEX builder, there are a ton of features built in that are only accessible by JavaScript.
In this session you will learn how to use the most interesting "hidden" features with just a few lines of JavaScript.
Some examples:
- Adding and removing buttons from the Interactive Grid toolbar.
- Adding and removing actions from the toolbar menu.
- Adding and removing functionality from the row level pop up menu.
- Removing complexity on the column level.
- Adding tooltips to a column.
- Changing the layout of columns and headings.
- Refreshing (only) changed records within the grid.
- Removing only deleted records from the grid - without a full refresh.
Oracle Text is a facility within the database that provides more advanced indexing & search techniques - including the ability to index documents stored in your database; on your server; or even the web!
Now you can incorporate this functionality into your web application using Oracle Application Express.
This presentation will demonstrate how easy it is to combine the two, and give you a platform for further expansion and exploration within a very powerful product.
This talk introduces Spring's REST stack - Spring MVC, Spring HATEOAS, Spring Data REST, Spring Security OAuth and Spring Social - while refining an API to move higher up the Richardson maturity model
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsSage Computing Services
Geeeez, after demanding you unit test, system test, black box test, white box test, test-test-test everything, your manager is now demanding you load test your brand spanking new Oracle web application. How on earth can you do this?
This technical presentation will explain the concepts behind preparing for load testing, the Http protocol's request/response model, and live demonstrations using Oracle's Http Analyzer and Apache's JMeter to stress test your Oracle web application.
The presentation is suitable for anybody, be it DBAs or developers, who are concerned about the performance of any web based application, possibly an Apex or JDeveloper or 3rd party web application. Knowledge of Apex or JDeveloper is not mandatory for this presentation and they will not be covered in any depth.
Oracle REST Data Services Best Practices/ OverviewKris Rice
This slide deck goes over the basic architecture of Oracle REST Data Services. It also points out various features to enable to make the best use of the product to safely enable an Oracle Database for RESTful access.
The Interactive Grid is introduced in APEX 5.1 as a best of both worlds of Tabular Forms and Interactive Reports. Although a lot of settings are declaratively avaible within the APEX builder, there are a ton of features built in that are only accessible by JavaScript.
In this session you will learn how to use the most interesting "hidden" features with just a few lines of JavaScript.
Some examples:
- Adding and removing buttons from the Interactive Grid toolbar.
- Adding and removing actions from the toolbar menu.
- Adding and removing functionality from the row level pop up menu.
- Removing complexity on the column level.
- Adding tooltips to a column.
- Changing the layout of columns and headings.
- Refreshing (only) changed records within the grid.
- Removing only deleted records from the grid - without a full refresh.
Mathias started to learn Oracle Application Express, and while learning we took notes what difficulties he had. This presentation goes over some concepts that were not clear for somebody coming from school with a specific background.
Printing in Oracle Application Express (APEX) made easy. Make your template in Word, Excel or Powerpoint and print into Word, Excel, Powerpoint, PDF or HTML5. One APEX plugin, takes less than a minute to setup.
More info at https://www.apexofficeprint.com
Getting started with the reactjs, basics of reactjs, introduction of reactjs, core concepts of reactjs and comparison with the other libraries/frameworks
Running E-Business Suite Database on Oracle Database ApplianceMaris Elsins
This is my Collaborate 13 presentation.
ODA is a pre-configured, simple setup, high performance engineered system running 11gR2 cluster. It is a great choice for small to medium sized DBs and if you wish it can be used for Oracle EBS DB too. This paper will show you how the standardized configuration of ODA can be adjusted to comply with the specific requirements of e-Business Suite without sacrificing ODA’s flexibility and supportability. The paper will also share author’s experience migrating, running and maintaining R12 database tier on ODA.
This presentation was hold at APEXConnect in Berlin 28th of April 2016.
The presentition describes how to user a source control / versioning system in combination with database oriented projects. You can see how to manage the folder structure and what types of files are versioned, including an Oracle Application Express Application.
Building a REST Service in minutes with Spring BootOmri Spector
A walk through building a micro service using Spring Boot.
Deck presented at Java 2016
Source accompanying presentation can be found at https://github.com/ospector/sbdemo
Reporting with Oracle Application Express (APEX)Dimitri Gielis
This presentation covers the different options you have to produce reports in Oracle Application Express (APEX). I cover Classic Reports, Interactive Reports and Grids, PL/SQL and exporting and printing your data with APEX Office Print (AOP).
One of the most important features of Oracle Application Express 5 is the Universal Theme. This theme allows every database developer to create great looking applications without knowing any JavaScript, HTML or CSS.
But how do you make changes to comply to your company branding in such a way you don't break anything else? And how do you add new templates and template options?
In this session you will learn how the Universal Theme works, what the components are and what you should and shouldn't do when you make your changes.
Mathias started to learn Oracle Application Express, and while learning we took notes what difficulties he had. This presentation goes over some concepts that were not clear for somebody coming from school with a specific background.
Printing in Oracle Application Express (APEX) made easy. Make your template in Word, Excel or Powerpoint and print into Word, Excel, Powerpoint, PDF or HTML5. One APEX plugin, takes less than a minute to setup.
More info at https://www.apexofficeprint.com
Getting started with the reactjs, basics of reactjs, introduction of reactjs, core concepts of reactjs and comparison with the other libraries/frameworks
Running E-Business Suite Database on Oracle Database ApplianceMaris Elsins
This is my Collaborate 13 presentation.
ODA is a pre-configured, simple setup, high performance engineered system running 11gR2 cluster. It is a great choice for small to medium sized DBs and if you wish it can be used for Oracle EBS DB too. This paper will show you how the standardized configuration of ODA can be adjusted to comply with the specific requirements of e-Business Suite without sacrificing ODA’s flexibility and supportability. The paper will also share author’s experience migrating, running and maintaining R12 database tier on ODA.
This presentation was hold at APEXConnect in Berlin 28th of April 2016.
The presentition describes how to user a source control / versioning system in combination with database oriented projects. You can see how to manage the folder structure and what types of files are versioned, including an Oracle Application Express Application.
Building a REST Service in minutes with Spring BootOmri Spector
A walk through building a micro service using Spring Boot.
Deck presented at Java 2016
Source accompanying presentation can be found at https://github.com/ospector/sbdemo
Reporting with Oracle Application Express (APEX)Dimitri Gielis
This presentation covers the different options you have to produce reports in Oracle Application Express (APEX). I cover Classic Reports, Interactive Reports and Grids, PL/SQL and exporting and printing your data with APEX Office Print (AOP).
One of the most important features of Oracle Application Express 5 is the Universal Theme. This theme allows every database developer to create great looking applications without knowing any JavaScript, HTML or CSS.
But how do you make changes to comply to your company branding in such a way you don't break anything else? And how do you add new templates and template options?
In this session you will learn how the Universal Theme works, what the components are and what you should and shouldn't do when you make your changes.
Oracle Text is a facility within the database that provides more advanced indexing & search techniques - including the ability to index documents stored in your database; on your server; or even the web!
Now you can incorporate this functionality into your web application using Oracle Application Express.
This presentation will demonstrate how easy it is to combine the two, and give you a platform for further expansion and exploration within a very powerful product.
Striving for Perfection: The Ultimate APEX Application ArchitectureRoel Hartman
APEX supports a flexible architecture. That means that there are multiple ways of solving problems like: separation of data and logic, security issues, re-use, including javascript and CSS, etc. etc.
In this session I'll give the pro's and cons of each available option. As this is aimed to be an interactive session, the attendees are encouraged to put forward their own ideas - and concerns. So, maybe, in the end, we'll reach the "Ultimate APEX Application Architecture"!
Oracle Application Express (APEX) is shipped with several JavaScript libraries, jQuery being the best known one of them. And on top of these libraries the APEX Development Team created their own. You probably used a couple of these API's already, like $s, $v etc.
But there are way more and some of them are extremely useful. But first you have to be aware they exists. And secondly you have to know how to use the properly.
This session will cover the most valuable JavaScript API's with some real world examples.
Most developers stick to the standard $s and $v functions - even without knowing there is also a $v2 and $s can have more parameters.
The focus will be on the namespaced apex API's, like apex.server.process and apex.event.trigger.
Abstract: Developers - If you are not using Bulk Binds you are not writing PL/SQL efficiently!
Bulk binding has been around for a long time, yet there are sites out there that don't utilise this feature to its full extent, if at all. Every release of Oracle improves on this functionality so obviously it's a topic worthy of consistent awareness.
In PL/SQL and SQL, there are a few nifty features related to bulk binding you may not have seen - it's not all about BULK COLLECT. Whether you're on 8i, 11g or anything in between, you'll benefit from the concepts described in this seminar and become a Bulk Binding Baron!
HTML5 is still evolving and, naturally, APEX cannot yet support all the new functionality declaratively. This doesn’t mean you cannot use new advanced HTML5 features and API’s in your application. In my session, I will explain and demonstrate 5 HTML5 functionalities that can add valuable functionality to your APEX application and how to (easily) integrate them in APEX.
In this session I will explain and demonstrate 5 HTML5 elements and API’s and how to integrate those in an Oracle Application Express application. The selected features are not declaratively supported by Application Express (yet) but can add functionality that improves functionality and user experience.
Internet security is a topical subject these days. It becomes more and more important to secure your applications against threats such as hackers because more and more important information becomes available for them. The biggest risk is that one could take over your identity. During this presentation, discover the best practices in securing mobile applications written in APEX to protect them against different threats.
Presentation on how to Integrate the old and new Oracle technologies. Communicate from Forms to APEX and v.v.
(Demo movie at the end of the presentation)
Wearables are hot these days. One might say it is a true revolution. We at APEX R&D are entering that wearables revolution as well, through Oracle Application Express. During this presentation, learn about the APEX R&D project and features of the research, including the Apple Watch. Wouldn't it be great to facilitate the work that people do in such a manner that they could do more other important things?
5 Cool Things you can do with HTML5 and APEXRoel Hartman
There is a buzz going around about HTML5. What is it exactly? And can we use it now? What are the benefits in an APEX environment?
This presentation will answer these questions and contain some nice demo's using the new HTML5 features.
Everyone talks about raising the bar on quality of code, but it's always hard to start implementing it when you have no clue where to start. With this talk I'm shooing that there are many levels developers can improve themselves by using the right tools. In this talk I'll go over each tool with examples how to use them against your codebase. A must attend talk for every developer that wants to scale up their quality. Most PHP developers deploy code that does what the customer requested but they don't have a clue about the quality of the product they deliver. Without this knowledge, maintenance can be a hell and very expensive. In this workshop I cover unit testing, code measuring, performance testing, debugging and profiling and give tips and tricks how to continue after this workshop.
Everyone talks about raising the bar on quality of code, but it's always hard to start implementing it when you have no clue where to start. With this talk I'm shooing that there are many levels developers can improve themselves by using the right tools. In this talk I'll go over each tool with examples how to use them against your codebase. A must attend talk for every developer that wants to scale up their quality. Most PHP developers deploy code that does what the customer requested but they don't have a clue about the quality of the product they deliver. Without this knowledge, maintenance can be a hell and very expensive. In this workshop I cover unit testing, code measuring, performance testing, debugging and profiling and give tips and tricks how to continue after this workshop.
This workshop is a hands-on training where a real Zend Framework application is used as an example to start improving QA using tools to test, document and perform software metric calculations to indicate where the software can be improved. I also explain the reports produced by a CI system.
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)Igor Bronovskyy
09 - Express Nodes on the right Angle - Vitaliy Basyuk - IT Event 2013 (5)
60 вузлів під правильним кутом - миттєва розробка програмних додатків використовуючи Node.js + Express + MongoDB + AngularJS.
Коли ми беремось за новий продукт, передусім ми думаємо про пристрасть, яка необхідна йому, щоб зробити користувача задоволеним і відданим нашому баченню. А що допомагає нам здобути прихильність користувачів? Очевидно, що окрім самої ідеї, також важлими будуть: зручний користувацький інтерфейс, взаємодія в реальному часі та прозора робота з даними. Ці три властивості ми можемо здобути використовучи ті чи інші засоби, проте, коли все лиш починається, набагато зручніше, якщо інструменти допомагають втілити бажане, а не відволікають від головної мети.
Ми розглянемо процес розробки, використовуючи Node.js, Express, MongoDB та AngularJS як найбільш корисного поєднання для отримання вагомої переваги вже на старті вашого продукту.
Віталій Басюк
http://itevent.if.ua/lecture/express-nodes-right-angle-rapid-application-development-using-nodejs-express-mongodb-angular
A short course I had few weeks ago that I wanted to share with you. All the MySQL issues from basics to experts: tuning, ERD, DDL, DML, Backup, Security
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
HA websites are where the rubber meets the road - at 200km/h. Traditional separation of dev and ops just doesn't cut it.
Everything is related to everything. Code relies on performant and resilient infrastructure, but highly performant infrastructure will only get a poorly written application so far. Worse still, root cause analysis in HA sites will more often than not identify problems that don't clearly belong to either devs or ops.
The two options are collaborate or die.
This talk will introduce 3 core principles for improving collaboration between operations and development teams: consistency, repeatability, and visibility. These principles will be investigated with real world case studies and associated technologies audience members can start using now. In particular, there will be a focus on:
- fast provisioning of test environments with configuration management
- reliable and repeatable automated deployments
- application and infrastructure visibility with statistics collection, logging, and visualisation
Best Practices in Plugin Development (WordCamp Seattle)andrewnacin
My talk -- officially named "Y U NO CODE WELL" -- at WordCamp Seattle 2011 on best practices during plugin development. Find the video, as it provides some good context and conversation.
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
Adjusting primitives for graph : SHORT REPORT / NOTESSubhajit Sahu
Graph algorithms, like PageRank Compressed Sparse Row (CSR) is an adjacency-list based graph representation that is
Multiply with different modes (map)
1. Performance of sequential execution based vs OpenMP based vector multiply.
2. Comparing various launch configs for CUDA based vector multiply.
Sum with different storage types (reduce)
1. Performance of vector element sum using float vs bfloat16 as the storage type.
Sum with different modes (reduce)
1. Performance of sequential execution based vs OpenMP based vector element sum.
2. Performance of memcpy vs in-place based CUDA based vector element sum.
3. Comparing various launch configs for CUDA based vector element sum (memcpy).
4. Comparing various launch configs for CUDA based vector element sum (in-place).
Sum with in-place strategies of CUDA mode (reduce)
1. Comparing various launch configs for CUDA based vector element sum (in-place).
Techniques to optimize the pagerank algorithm usually fall in two categories. One is to try reducing the work per iteration, and the other is to try reducing the number of iterations. These goals are often at odds with one another. Skipping computation on vertices which have already converged has the potential to save iteration time. Skipping in-identical vertices, with the same in-links, helps reduce duplicate computations and thus could help reduce iteration time. Road networks often have chains which can be short-circuited before pagerank computation to improve performance. Final ranks of chain nodes can be easily calculated. This could reduce both the iteration time, and the number of iterations. If a graph has no dangling nodes, pagerank of each strongly connected component can be computed in topological order. This could help reduce the iteration time, no. of iterations, and also enable multi-iteration concurrency in pagerank computation. The combination of all of the above methods is the STICD algorithm. [sticd] For dynamic graphs, unchanged components whose ranks are unaffected can be skipped altogether.
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...pchutichetpong
M Capital Group (“MCG”) expects to see demand and the changing evolution of supply, facilitated through institutional investment rotation out of offices and into work from home (“WFH”), while the ever-expanding need for data storage as global internet usage expands, with experts predicting 5.3 billion users by 2023. These market factors will be underpinned by technological changes, such as progressing cloud services and edge sites, allowing the industry to see strong expected annual growth of 13% over the next 4 years.
Whilst competitive headwinds remain, represented through the recent second bankruptcy filing of Sungard, which blames “COVID-19 and other macroeconomic trends including delayed customer spending decisions, insourcing and reductions in IT spending, energy inflation and reduction in demand for certain services”, the industry has seen key adjustments, where MCG believes that engineering cost management and technological innovation will be paramount to success.
MCG reports that the more favorable market conditions expected over the next few years, helped by the winding down of pandemic restrictions and a hybrid working environment will be driving market momentum forward. The continuous injection of capital by alternative investment firms, as well as the growing infrastructural investment from cloud service providers and social media companies, whose revenues are expected to grow over 3.6x larger by value in 2026, will likely help propel center provision and innovation. These factors paint a promising picture for the industry players that offset rising input costs and adapt to new technologies.
According to M Capital Group: “Specifically, the long-term cost-saving opportunities available from the rise of remote managing will likely aid value growth for the industry. Through margin optimization and further availability of capital for reinvestment, strong players will maintain their competitive foothold, while weaker players exit the market to balance supply and demand.”
Adjusting OpenMP PageRank : SHORT REPORT / NOTESSubhajit Sahu
For massive graphs that fit in RAM, but not in GPU memory, it is possible to take
advantage of a shared memory system with multiple CPUs, each with multiple cores, to
accelerate pagerank computation. If the NUMA architecture of the system is properly taken
into account with good vertex partitioning, the speedup can be significant. To take steps in
this direction, experiments are conducted to implement pagerank in OpenMP using two
different approaches, uniform and hybrid. The uniform approach runs all primitives required
for pagerank in OpenMP mode (with multiple threads). On the other hand, the hybrid
approach runs certain primitives in sequential mode (i.e., sumAt, multiply).
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...2023240532
Quantitative data Analysis
Overview
Reliability Analysis (Cronbach Alpha)
Common Method Bias (Harman Single Factor Test)
Frequency Analysis (Demographic)
Descriptive Analysis
1. SAGE Computing Services
Customised Oracle Training Workshops and Consulting
‘n’ methods to improve Apex performance
Why stop at 10?
Scott Wesley
Systems Consultant & Trainer
9. the law is strangling creativity
http://www.ted.com/talks/larry_lessig_says_the_law_is_strangling_creativity.html
http://presentationzen.blogs.com/presentationzen/2005/10/the_lessig_meth.html
15. begin
<< chk >>
for i in 1.. apex_application.g_f20.count loop
update resources set deleted = 'Y'
where code = apex_application.g_f20(i);
end loop chk;
end;
16. begin
forall i in indices of apex_application.g_f20
update resources set deleted = 'Y'
where code = apex_application.g_f20(i);
end;
24. CREATE OR REPLACE TYPE
r_ldap_group
AS OBJECT
(username VARCHAR2(100)
,group_name VARCHAR2(100))
/
CREATE OR REPLACE TYPE
t_ldap_group
AS TABLE OF r_ldap_group;
/
25. CREATE MATERIALIZED VIEW
mv_ldap_groups
REFRESH COMPLETE
START WITH SYSDATE
NEXT TRUNC(SYSDATE) + 1
AS
SELECT username, group_name
FROM TABLE(return_ldap_groups);
http://www.amazon.com/Pro-Oracle-Application-Express-ebook/dp/B001U0PFCC
37. SELECT name d, org_id r
FROM organisations
START WITH parent_org_id =
:P12_PARENT_ORG_ID
CONNECT BY PRIOR org_id =
parent_org_id
ORDER BY 1
38.
39. function getEmail(pUser) {
var get = new htmldb_Get(null,$v('pFlowId'),
'APPLICATION_PROCESS=GET_EMAIL',0);
get.addParam('x01',pUser);
gReturn = get.get();
json_SetItems(gReturn);
}
http://www.itworkedyesterday.com/blog/2010/2/23/apex_util-ready-set-json.html
57. -- Is the current page a help/contact popup/login
-- these pages don't need jquery, cancel page
calculations.
FUNCTION is_popup_page
RETURN BOOLEAN IS
BEGIN
RETURN wwv_flow.get_page_alias IN
('ITEMHELP' -- help popup
,'LOGIN' -- not a popup, but doesn't need dates
,'CONTACTS' -- contact manager popup
,'FINDSPP' -- SPP lookup
,'EMAIL' -- not worth cancelling to and doesn't need
jquery
,'EMAILSENT' -- closes in a few seconds
);
END is_popup_page;
74. CREATE OR REPLACE FUNCTION V
( p_item IN VARCHAR2
, p_flow IN NUMBER := NULL
, p_scope IN VARCHAR2 := 'SESSION_AND_USER'
, p_escape IN VARCHAR2 := 'N'
)
RETURN VARCHAR2 DETERMINISTIC
--==============================================================================
-- Wraps the existing APEX V function and adds the DETERMINISTIC optimizer hint
-- so that the function isn't called for each row the query engine is verifying.
-- See /2006/11/caution-when-using-plsql-functions-in.html
-- for details.
--==============================================================================
IS
BEGIN
RETURN FLOWS_020200.V
( p_item => p_item
, p_flow => p_flow
, p_scope => p_scope
, p_escape => p_escape
);
END V;
/
http://www.inside-oracle-apex.com/drop-in-replacement-for-v-and-nv-function/
75. SELECT *
FROM my_table
-- scalar subquery caching
WHERE my_column = (SELECT v('MY_ITEM') FROM DUAL)
http://www.oratechinfo.co.uk/scalar_subqueries.html
78. To ensure your program does exactly what you expect, use explicit conversions wherever
possible.
79. create or replace function nv (
p_item in varchar2)
return number
-- Copyright (c) Oracle Corporation 1999. All
Rights Reserved.
--
-- DESCRIPTION
-- Function to return a numeric flow value.
V stands for value.
--
-- SECURITY
--
-- NOTES
--
is
begin
return to_number(v(p_item));
end nv;
/
93. CREATE OR REPLACE TRIGGER
my_table_br_trg
BEFORE INSERT OR UPDATE ON
sage.my_table
FOR EACH ROW
BEGIN
IF :NEW.my_id IS NULL THEN
SELECT my_seq.NEXTVAL
INTO :NEW.my_id
FROM dual;
-- :NEW.my_id := my_seq.NEXTVAL ->
11g
END IF;
END;
/
121. SELECT name, TO_CHAR(dt,'DD-MM-YYYY') dt, amt,
cum_amt -- Model results
FROM (
SELECT name, TRUNC(dt, 'MM') dt, SUM(amt) amt
FROM customer
GROUP BY name, TRUNC(dt, 'MM')
)
MODEL
PARTITION BY (name)
DIMENSION BY (dt)
MEASURES (amt, cast(NULL AS NUMBER) cum_amt) --
Define calculated col
IGNORE NAV
RULES SEQUENTIAL ORDER(
amt[FOR dt FROM TO_DATE('01-01-2007', 'DD-MM-
YYYY')
TO TO_DATE('01-12-2007', 'DD-MM-
YYYY')
INCREMENT NUMTOYMINTERVAL(1, 'MONTH')
] = amt[CV(dt)] -- Apply amt for given date,
if found
,cum_amt[ANY] = SUM(amt)[dt <= CV(dt)] --
Calculate cumulative
)
ORDER BY name, dt
/
127. SAGE Computing Services
Customised Oracle Training Workshops and Consulting
Question time
Presentations are available from our website:
http://www.sagecomputing.com.au
enquiries@sagecomputing.com.au
scott.wesley@sagecomputing.com.au
http://triangle-circle-square.blogspot.com
Editor's Notes
Scott from Sage – Consultant & TrainerWorking with Apex for the last few years
Scott from Sage – Consultant & TrainerWorking with Apex for the last few years
Scott from Sage – Consultant & TrainerWorking with Apex for the last few years
Scott from Sage – Consultant & TrainerWorking with Apex for the last few years
The ubiquitous slide – not today
Who’s style was pretty much innovated by LarryWho’s heard of him?
This is the general breakdown of my presentation
Starting with prevention – it’s better than a cure, right?
Start with simple example
We always see this example
Why not do it like this? Use bulk binding
There’s going to be no massive winsWait – what’s the problem with this picture, isn’t parsec a measurement of distance? Damn pop culture
If you defer security group membership to an LDAP server, you may wish to consider
... Creating a pipelined function returning information from LDAP about your groups
Which would be based on database types such as these
Then you could create a snapshot based on your LDAP information – instead of a manual PL/SQL synching processA guide to this concept is documented in this book by my namesakes – John Edward Scott & Scott Spendolini
Consider if you need to evaluate membership for each page, or just once
Perhaps (particularly if you have multiple schemes) populate application items during post authentication
And refer to this item in your conditions – makes things more consistent
Do you really need conditions that run SQL?Is your SQL efficient?
In addition to PPR, where in your app might it be useful to avoid entire page submission?Apex 4 makes cascading LOVs easy
Or maybe try some forms style item validation
Remember this evil?
While we eliminate network lag because we’re all on the db, you may still want to question behaviour. This is acceptable
You may wish to consider an key-preserved / updateable view if things like this get out of control
Put the more efficient validations first – maybe don’t do expensive ones if fundament errors found
This can increase number of hard parses
It’s what they’re designed for, utilise your CSS classesFrom managing your development, wrapping your head around CSS concepts will save you time in future anyway
Does your application / page need this?
Does every page need your custom widgets?
This is where you can really utilise page zero to turn components on & off
I put this sort of thing in the condition
Speed of responseReduce server loadSend only valid dataReduce network traffic
There are plenty of APIs to help you out
First of all, you shouldn’t really need to do this
You should be doing this
But if you’re referring to your own function, regardless of complexity
Or you do have this...
More likely within PL/SQL package
Deterministic functions optimised from
But if you are working with
Such as basic install
Then you may wishto consider this
Or the most simplistic works on all versions from 9i – check out a great outline hereCould talk for hours just about this, but I won’t.
Remember this term
I can’t go by without mentioning I’m always hammering trainees about this
Straight from PL/SQL Users guide and reference
Don’t forget about this function
Because oracle might make some weird decisions if you leave data-type conversions up to it
Which is a segue onto the next topic
Best practices for apex developers, help reduce coding/maintenance time
You may also like to consider
One movement is always better
So APIs could facilitate this usage
Don’t over accessorise
At least do it via a trigger, in Apex environment – it’s only as fast as user can click anyway
Opportunities for re-use all around
Something everyone can do in even the simplest of applications – put your code in packages!Centralising code can say yourself time in the long run
You’ve come across something nasty, what do you do?
First of all, there may not be a problem – “my app is hanging”
Don’t let you’re user wait. Apex uses optimistic locking, this says how many seconds the user should wait instead of the default – infinitumThis also removes a potential security issue (DOS)
In apex 4 debug got a whole load prettier
Perhaps you’d like to add your own debug information
Be aware of the options you have to turn on tracinghttp:/.../f?p=100:1&p_trace=YES
and how to find your trace file, then tkprof itshow parameter USER_DUMP_DESTtkprof filename1 filename2 [waits=yes|no] [sort=option] [print=n] [aggregate=yes|no] [insert=filename3] [sys=yes|no] [table=schema.table] [explain=user/password] [record=filename4] [width=n]
Performance testing tool over many server types.Visit Chris tomorrow and have a chat to him about it.Or come by the Sage booth
Find which pages are the most expensive to runWeighted – don’t care about random page opened once a month, consider page views
Application level more granular
Or you could look at page/session level to find outliers, errors
Performance solutions aren’t just Apex related features, database level
Check to see you’re queries are tuned – may not be apex’s fault. (nothing wrong with this one – just looks scary ;-)
It can really depend… how long is a piece of string