Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!

Archive for Kwiecień, 2011

Chris Jones’ Blog: Malicious website use will never go away: how do you manage it?

Chris Jones’ Blog: Malicious website use will never go away: how do you manage it?

Chris Jones has a new post to his OTN blog today pointing to two new articles by Eli White about managing malicious website use:

The techniques Eli covers will always be applicable in one form or another. They should be a fundamental part of any website architect’s bag of tricks.

The first article focuses more on methods for preventing and dealing with the inevitable spamming that comes with running a larger site. Eli’s experience at Digg has provided him with recommendations like creating hurdles for spammers to get past and evaluating the content (services like Defensio or Akismet are useful for this).

The second article talks about something a bit harder to deal with – when users “game the system” and find the loopholes. His recommendations to combat this sort of abuse include rate limiting, pattern matching and leaving “traps” by tracking user usage.

Source: http://www.phpdeveloper.org/news/16265

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

PL/SQL cryptic warning: “Procedure created with compilation errors.”

PL/SQL cryptic warning: “Procedure created with compilation errors.”

Many times PL/SQL won’t tell you what is wrong with your procedure and it will just print this cryptic message:

Warning: Procedure created with compilation errors.

If you don’t see any error in your code, use the following command:

SHOW ERRORS PROCEDURE <procedure_name>;

It will output something like which makes it much easier to debug the procedure:

SQL> SHOW ERRORS PROCEDURE add_book
Errors for PROCEDURE ADD_BOOK:

LINE/COL ERROR
-------- -----------------------------------------------------------------
28/3     PL/SQL: SQL Statement ignored
29/20    PL/SQL: ORA-00984: column not allowed here

You can use similar command not only with procedures:

SHOW ERRORS FUNCTION
SHOW ERRORS PACKAGE
SHOW ERRORS PACKAGE BODY
SHOW ERRORS TRIGGER
SHOW ERRORS VIEW
etc

Source: http://blog.richardknop.com/2011/04/plsql-cryptic-warning-procedure-created-with-compilation-errors/

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

PL/SQL cryptic warning: “Procedure created with compilation errors.”

PL/SQL cryptic warning: “Procedure created with compilation errors.”

Many times PL/SQL won’t tell you what is wrong with your procedure and it will just print this cryptic message:

Warning: Procedure created with compilation errors.

If you don’t see any error in your code, use the following command:

SHOW ERRORS PROCEDURE <procedure_name>;

It will output something like which makes it much easier to debug the procedure:

SQL> SHOW ERRORS PROCEDURE add_book
Errors for PROCEDURE ADD_BOOK:

LINE/COL ERROR
-------- -----------------------------------------------------------------
28/3     PL/SQL: SQL Statement ignored
29/20    PL/SQL: ORA-00984: column not allowed here

You can use similar command not only with procedures:

SHOW ERRORS FUNCTION
SHOW ERRORS PACKAGE
SHOW ERRORS PACKAGE BODY
SHOW ERRORS TRIGGER
SHOW ERRORS VIEW
etc

Source: http://blog.richardknop.com/2011/04/plsql-cryptic-warning-procedure-created-with-compilation-errors/

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Announcing the April 2011 Zend Framework Bug-Hunt

Announcing the April 2011 Zend Framework Bug-HuntNow that you’re done paying the Tax Man (for the North Americans reading this blog post), it’s time to pay it forward by helping an open source project close some issues! For those who haven’t put the reoccurring event in their calendar, this announcement is for you: Zend Framework Monthly Bug-hunt is here again! Tomorrow , Friday and Saturday of April (the 28th , 29th and 30th 2011 ), we’ll be hosting our monthly bug hunt. For those of you unfamiliar with the event, each month, we organize the community to help reduce the number of open issues reported against the framework.


Source: http://feedproxy.google.com/~r/ZendDeveloperZone/~3/zfADRCMEdrY/14073-Announcing-the-April-2011-Zend-Framework-Bug-Hunt

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Announcing the April 2011 Zend Framework Bug-Hunt

Announcing the April 2011 Zend Framework Bug-HuntNow that you’re done paying the Tax Man (for the North Americans reading this blog post), it’s time to pay it forward by helping an open source project close some issues! For those who haven’t put the reoccurring event in their calendar, this announcement is for you: Zend Framework Monthly Bug-hunt is here again! Tomorrow , Friday and Saturday of April (the 28th , 29th and 30th 2011 ), we’ll be hosting our monthly bug hunt. For those of you unfamiliar with the event, each month, we organize the community to help reduce the number of open issues reported against the framework.


Source: http://feedproxy.google.com/~r/ZendDeveloperZone/~3/zfADRCMEdrY/14073-Announcing-the-April-2011-Zend-Framework-Bug-Hunt

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Brian Moon Talks Frameworks.

Brian Moon Talks Frameworks.The spilled beer had barely had time to dry on the floor at The PHP Community Conference last week before Brian Moon had already cranked out a blog post on everybody’s favorite whipping boy, PHP Frameworks.


Source: http://feedproxy.google.com/~r/ZendDeveloperZone/~3/DSvuA4Ybn7k/14058-Brian-Moon-Talks-Frameworks.

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Brian Moon Talks Frameworks.

Brian Moon Talks Frameworks.The spilled beer had barely had time to dry on the floor at The PHP Community Conference last week before Brian Moon had already cranked out a blog post on everybody’s favorite whipping boy, PHP Frameworks.


Source: http://feedproxy.google.com/~r/ZendDeveloperZone/~3/DSvuA4Ybn7k/14058-Brian-Moon-Talks-Frameworks.

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

PHP Community Conference wrapup

PHP Community Conference wrapupWhat do you get when 150+ PHP programmers descend on Nashville, TN for a day? You get a programming ho-down! Click on in, I’ve got pix ‘cause it did happen!


Source: http://feedproxy.google.com/~r/ZendDeveloperZone/~3/z6GDQB-mPAI/14043-PHP-Community-Conference-wrapup

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

PHP Community Conference wrapup

PHP Community Conference wrapupWhat do you get when 150+ PHP programmers descend on Nashville, TN for a day? You get a programming ho-down! Click on in, I’ve got pix ‘cause it did happen!


Source: http://feedproxy.google.com/~r/ZendDeveloperZone/~3/z6GDQB-mPAI/14043-PHP-Community-Conference-wrapup

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

This Week in Web – Git Cheatsheet, PHP Profiling, Netbeans, Dojo Layouts

This Week in Web – Git Cheatsheet, PHP Profiling, Netbeans, Dojo Layouts

Git Cheatsheet

Basic Profiling Techniques for PHP Applications

Eric Hogue has written an article outlining the different profiling techniques a developer can use to test their PHP applications. He starts off by introducing Apache Siege which gives response time and request/sec figures. He then goes on to talk about XDebug, which is used to find bottlenecks in a development environment, and XHProf, which is appropriate to use in a production environment. He explains how to install and configure all 3, as well as view output from XDebug and XHProf in KCacheGrind and XHGui. If you haven’t done any application profiling in PHP before I recommend you read this article as it is a good introduction.

Netbeans 7.0 Released

The Netbeans Project has released version 7.0 of their IDE. Some of the big new features 7.0 introduces are:

  • HTML5 support
  • JDK7 support
  • PHP application refactoring
  • Java GUI designer, GridBag
  • Git 1.7 support

A detailed list of the changes since Netbeans 6 are available here.

Dojo Application Layouts with Dijit

Sam Foster of the Dojo Project has written a tutorial showing how to layout Dojo application using dijit.layout. Layouts are vital in any Dojo application and this tutorial covers how to set up a layout with 3 resizeable panels. Click on the picture below to get a live example of the finished layout.

Google Prediction API 1.2 Released

Today, we are releasing v1.2 of the Google Prediction API, which makes it even easier for preview users to build smarter apps by accessing Google’s advanced machine learning algorithms through a RESTful web service.

Some technical details of the Prediction API:

  • Chooses best technique from several available machine learning algorithms.
  • Supported inputs: numeric data and unstructured text.
  • Outputs hundreds of discrete categories, or continuous values.
  • Integrates with many platforms: Google App Engine, web and desktop apps, and command line.
  • Simpler interface: automatic data type detection, and score normalization.
  • Paid usage tier.
  • Improved usage monitoring and faster signup through the APIs Console.

Ideas to make the most of the Prediction API:

  • Recommendation: What products might a user be interested in? (example)
  • Filter RSS feeds, user comments, or feedback: Which posts are most relevant? Should a user comment be featured? Which feedback should we look at first?
  • Customize homepages: Predict what content a user would like to see and populate the page with the user’s anticipated interests.
  • Sentiment analysis: Is this comment positive or negative? Does a commenter support Group A or Group B?
  • Message routing: Route emails to the appropriate person based on analysis of the email contents.

Source: http://query7.com/this-week-in-web-git-cheatsheet-php-profiling-netbeans-dojo-layouts

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>