Tuesday, March 24, 2015

Top 8 Python Frameworks For Web Developers

  Python has become immensely popular in the modern IT world. The language is most popular for its efficiency. It is also known as the best beginner’s learning language. The prime reason why Python has become so popular is because of the simplistic code. Python has powerful constructs for high speed development. The standard library of python n is huge. Today we have listed top eight Python frameworks that you can use in your web development project.
python, web frameworks, web development, python development, python programming, Django, Flask, CherryPy, Pyramid, Web.py, Grok, Pylons, TurboGears



1. Django:

Django has number of individual benefits. The tool helps in reducing the size of the code. It also enables fast and easy web development process. High-end developers always prefer Django over all other frameworks. The tool follows DRY (Don’t Repeat Yourself) principal. You can use Django to reuse the code for quicker development.

2. Flask:

Flask is microframework that can extend its simple core. A new programmer might find it very difficult to use it as it lacks several important features. The tool allows extensions that make it comparatively easier to add required functionality to your Java code. Some of the features of Flask are perfect for development like unit testing. Flask allows secure cookies for client applications.

3. CherryPy:

CherryPy is important tool for python development. The tool has pythonic interface that lets developers integrate any module in python. The best part of CherryPy is the ability to customize each function and its native adapter. CherryPy offers most of the WSGI-enabled adapter support.

4. Pyramid:

Pyramid is known for its efficient and fast-pace development abilities. The best part of Pyramid framework is inclusion of some of the most exclusive features. The open source framework has platform independent MVC structure and minimalistic approach in development.

5. Web.py:

Web.py is the unique python framework. The framework is known for its simplistic approach and powerful development ability. You can easily write web apps using Web.py. The framework offers zero limitations and ease of user. Some programmers find that Web.py lacks certain features.

6. Grok:

Grok is based on Zope toolkit. The framework emerged as an extension of Zope to make it easier for programmers to use. Grok can offer multiple building blocks and excellent community. Grok follows DRY approach.

7. Pylons:

Pylons offers great flexibility to developers. The framework is based on an idea to combine some of the best feature offered by numerous Python frameworks. You will find all important features of different frameworks in combined form in Pylons. You can use any feature of your choice to make web development efficient.

8. TurboGears:

This is a popular conclusive framework with all the features of other Python frameworks. You can extend its capabilities to use it as full-stock solution. TurboGears is also useful for micro framework projects. You never feel like you are working on a framework. TurboGears feels like you are writing new functions. You can create read-to-extend application under a minute using TurboGears 




Courtesy: NfyTymes

How to (and how not to) measure programmer productivity

Can programmer productivity be effectively measured? Blogger Jim Bird joins the chorus claiming that it can't – at least not using traditional methods alone:


There is no clear cut way to measure which programmers are doing a better or faster job, or to compare productivity across teams. We “know” who the stars on a team are, who we can depend on to deliver, and who is struggling. And we know if a team is kicking ass – or dragging their asses. But how do we prove it? How can we quantify it?
Bird quickly debunks lines of code as a measure of productivity, noting that the best programmers take the time and forethought to do more with less code. Likewise, many executives would measure productivity by the value of the end product; does it make or save the company money? This measure doesn't account for the myriad business factors that can help determine whether a product or service succeeds, however, regardless of the quality of input from the development team.
So what other measures are there? Bird offers a handful, tweaking each one for a more precise result:
  • Speed of development, or velocity: Velocity is intended to be used by a team to measure how much work they can take on, to calibrate their estimates and plan their work forward. It should not be used to compare productivity between teams, however, and it must account for changes in the team, as people join or leave.
  • Cycle time – or 'just stay busy': Measuring time to product (the turnaround time or change lead time for new product development and release) gives an overview of the team's productivity. Better yet, look for and optimize out the bottlenecks and idle time that contribute to longer turnarounds. This measure encourages short-term thinking and cutting corners, however, because speed equals reward.
  • Code quality: Fixing bugs later costs more than testing for them early and often in the development process, and there are many good ways to measure code quality. But does code quality directly correlate to developer productivity?
Read more on Jim Bird's Building Real Software blog, and get two more suggestions for measuring and improving developer productivity.
This story, "How to (and how not to) measure programmer productivity" was originally published by Java Everywhere.

Learning a second programming language? Try these 5 sites

Developers trying to jump from one language to another often hit the same wall: How do I do this? They can do it in their base language, but introduce them to a strange new world, and the going gets rough.

Programmers in this sticky position often benefit from seeing how the same concepts, designs, and algorithms can be implemented in parallel across multiple languages. Here are five sites that feature examples of how the most popular languages -- and a few you might not know -- tackle the same commands so very differently.


Rosetta Code

Easily the largest, most robustly annotated, and consistently useful site of its kind,Rosetta Code is described as a "programming chrestomathy" -- a repository of examples for how to accomplish the same tasks in many programming languages. Most remarkable about Rosetta Code is not the sheer size of the site and the number of examples, but the granularity of the examples. Creating a window in a GUI, for instance, isn't annotated by language, but by specific toolkits within that language; take Python, with examples for Tkinter, PyGTK, Pythonwin, wxPython, and many other libraries.

Eqcode

Eqcode aims to show "equivalent codes for all languages," so it provides an index of common languages with drill-downs to specific concepts or tasks, such as removing a specific element from an array or constructing a regex to match an email address. The breadth of languages is decent, but the concepts addressed are somewhat scattershot, and it isn't updated often; the last updates were in April 2014.

CrossWise

Like the other sites here, CrossWise lets you see how multiple languages -- in this case, JavaScript, PHP, Ruby, and Python -- implement the same concepts. But the site design is undeniably ingenious: The comparisons are placed side by side in two columns, and you can choose which language examples to place in what column. CrossWise covers such details as how Boolean logic (the concepts of truth or falsehood) are implemented in each, or error handling and exceptions.

AlgPedia

An ambitious project created by Universidade Federal do Rio de Janerio in Brazil,AlgPedia is a collaborate encyclopedia that focuses on implementations of algorithms. Sorting, checksumming, arbitrary precision, data mining, pattern matching, and many other categories of algorithms are all included. The project is still in its early stages, so the coverage of algorithms and the types of examples provided are somewhat incomplete; most of them have only one or two examples.
white code streaming across black background

PLEAC (Programming Language Examples Alike Cookbook)

Perl is noted for the Perl Cookbook, which documents common programming problems and their solutions for the language. PLEAC is an attempt to take the problems posed in the Cookbook and produce solutions for them in nearly every other language in use. Perl, Groovy, Python, OCaml, and Ruby have the best coverage of solutions so far, but stubs and partial entries for lots of other languages are also included. Interestingly, JavaScript is not among them, but a stub entry forCoffeeScript is. As with many of the others here, you're welcome to contribute if your favorite language is underrepresented.


This story, "Learning a second programming language? Try these 5 sites" was originally published by infoworld.

7 Tips To Mitigate Data Breaches

 Data breaches have grown a lot in last few years. Data breaches can be controlled and prevented. The awareness for preventing data breaches has grown too. Organisations are following several practices to control data breaches. Today we have listed seven tips to mitigate data breaches.
data breach, data breach mitigation, prioritize data protection, document your response process, make users part of process, understand business context, be thorough, proactively collect data, go with the flow



1. Prioritise Data Protection: 

Some level of prioritisation of data protection practices can be very effective. You can safeguard most important assets by prioritising data. Many security practices have become very general and they are rapidly spreading. Organizations spend lot of time in trying to protect everything, which is not possible in every case. Hence, It is way more effective to protect what’s vital and accept the fact that rest of the data can be compromised.

2. Document Your Response Process: 

There is a high demand for documenting the process of protection. This can help in following the set security measures. Stress level rises during security attacks. You get pulled in many directions, in such case, if you have documented process, you can avoid omission of key actions. The checklists can be of great help.

3. Make Users Part of The Process: 

The most forgotten aspect of incident response is to inform end-users. If some organisation’s data of user credentials gets stolen, it can impact end-users in greater way. It is IT team’s responsibility to inform the affected users so that they can change their passwords. It is important to make users part of the process.

4. Understand Business Context: 

Developers are required to take systems and applications offline for analysis. If developers are investigating a system for potential compromise, it is important to know what credential data is stolen. This is important to consider the business impact of the data breach. Organizations can easily leverage data loss prevention tools to map out important data flow.

5. Be Thorough: 

It is easy to find apparent source of malware in an attack. Developers can track attacker and find the source of malware and even eradicate it. However, you might miss some traces of it on your system. Developers should follow every piece of the evidence until they are sure that they have uncovered all of the attackers.

6. Proactively Collect Data: 

It is always a good practice to collect all the required data in advance. Developers should record correct logs for properly configured security system or packet traces from relevant network locations.

7. Go with the Flow: 

Packet analysis provides great visibility in network traffic. Number of packet capture required to cover potential targets and locations make it cumbersome and costly for packet analysis. Flow technologies like Netflow help in delivering performance metrics. Flow technologies provide up to 90 per cent visibility from packet analysis. 



Courtesy: NfyTymes

8 Coolest Cloud Programming Langauges

When people think of choosing a programming language to learn, it becomes very difficult to choose between general-purpose procedural language and object oriented language. Today we have listed top eight cloud-based programming languages that you should consider to learn.
cloud computing, 8 coolest languages, top programming langauges, SQL data, XML data, R math, Clojure Math, Haskell Functioning, Eriang Functional, Python Procedural, Go Procedural




1. SQL Data Language: 

SQL has been there for a long time now. When it comes to data language, SQL has been the most prominent one among developers. Even non-relational database servers are based on SQL. The cloud is full of SQL, the language is fairly easy to learn and understand.

2. XML Data Language: 

XML is the popular data markup language. The language comes hand in hand with Java. Large-scale distributed systems are based on XML. The XML documents are everywhere. Apache Hadoop configuration files are also written in XML.

3. R Math Language: 

R Math Language helps developers with statistics, reports and graphs. The interactive tutorial help developers to bring vectors, factors and correlative data sets. Amazon has bundled services like RStudio IDE with EMR (Elastic MapReduce). The tools help with Big Data analytics.

4. Clojure Math Language: 

Clojure is a mathematical language. The programming language has both general purpose and functional language. It is quite popular among data analysts. The real time data stream processor, Apache Storm is written in Clojure.

5. Haskell Functional Language: 

Haskell is functional programming language. The language is ideal for distributed computing. Cloud Haskell platform project started two years ago. The programming language has good adoption in industry. The tutorial on the official website has detailed tutorial.

6. Eriang Functional Language: 

Eriang was invented from Ericsson telecom products. The language is suitable for carrier grade functions and it is ideal for cloud computing. Many cloud applications like Riak, CouchDB, RabbitMQ and LING unikernel are powered by Eriang.

7. Python Procedural Language: 

Python is popularly known as readable programming language. Python comes with great learning aids that includes classes, books and even interactive tutorials. Anyone can get started with Python. The popular cloud Infrastructure as a Service (IaaS) management software, OpenStack is based on Python.

8. Go Procedural Language: 

Google has created Go few years ago to replace languages such as Stroustrup C++. A popular cloud computing platform, Docker is written in Go. There are many projects in Docket ecosystem that are based on Go. Google provides interactive Go tutorial and Go Playground for getting grips with code. 




Courtesy: NfyTymes

6 Must Have Tools For Java Professionals

Every Java programmer has set of tools to get through office challenges. Over the years, Java professionals are using number of software to get their work done. There are tons of useful software and tools available for Java programmers. Beginner developers have difficulty to finding the right tools and they end up wasting lot of time in looking for the right tool. Today we have listed seven must have tools for Java developers.




1. Notepad++:

Notepad++ is the best tool to edit xml, scripts and even to simply making notes. The best part of this tool is, every document you open on Notepad++, it remains there even when you close it. It helps in accidental deletion of important notes. It can be used as comparing plugin that you can use to compare codes. This is the best alternative option to Notepad app.

2. XML Marker:

XML Marker is very important tool for Java developers. It is the best software tool for getting the job done. XML Marker is designed in very easy-to-use manner. You can navigate from top level to lowest level of elements in element pane. The top panel has elements that help you access important features. This is a paid software.

3. SQL Developer:

This is another easy-to-use tool for database administrators and managers. You can connect to database and SQL statements using this tool. It doesn't feature fancy functions like Toad but, this is good enough to get the job done. SQL Developer is a free tool by Oracle. The only downside of this tool is, you require JDK in order to use this.

4. Jad:

Jad is used for decompiling Java class. You can just fire jad commands and read codes in form of plain text. There is little advance version of Java classes, where you need to use jar file that lacks documentation. This rarely happens but, if somebody has messed up with the source code. You need to recompile the full system before you provide a patch. It is very hard to find the source as the full inventory is missing. JAD helps in such situations. You can laverage the simplicity of GUI version of JAD and get things done in no time.

5. Eclipse:

Some people simply love Eclipse while, there is a group of people who prefer to stick to Notepad. You can use notepad but, there are quite a few cases where Eclipse plays better role. Navigation in eclipse is very simple. You just need to know the basic stuff and you are good to go. Eclipse is the most preferred Java IDE choice.

6. Keytool:

Keytool is part of JDK by Oracle. You need challenging work environment if you are using this tool actively. Keytool is rarely used tool in the development environment. However, if you are handling enterprise level applications, this is the best key and certificate management tool. 




Courtesy: NfyTymes