Thursday, 7 April 2016

What is filezilla?


What is filezilla?

FileZilla is a free software, cross-platform FTP application, consisting of FileZilla Client and FileZillaServer. Client binaries are available for Windows, Linux, and Mac OS X, server binaries are available for Windows only. The client supports FTP, SFTP and FTPS (FTP over SSL/TLS).
FileZilla is one of the most popular FTP clients.
The main purpose of Filezilla is to make it easy for you to upload and download files from your web hosting server.
You can also edit the files and save changes without the need of manually downloading and uploading.
FileZilla supports Mac, Windows and Linux. 
Step 1. Install
You may donwload Filezilla from https://filezilla-project.org/download.php?show_all=1
Following the installation wizard:
Step 2. Open FileZilla
After installation, you will see a shortcut on desktop, make double click on it to open the software.
In the FileZilla menu go to File > Site Manager. Then go through these 5 steps:
1.      Click New Site.
2.      Add a custom name for this site.
3.      Add the hostname like: http://www.mywebsite.com or the IP address like: http://192.168.0.1
4.      Set the Logon Type to "Normal" and insert your FTP username and password. For users that have CPane with their hosting, those same login details may work also for FTP access.
5.      Press the "Connect" button.

Step 3. Edit, Upload and Download files
On the left-hand side, you have the files from your computer
On  the right-hand side, you have the files from your server. Double click on the web folder (often this is "public_html") and inside you have the site's files.
Editing files
To edit a file in the server files area, right click on the file and choose View/Edit.
After saving the changes from your custom text editor (for example, Notepad++) FileZilla will ask if you want to update the file on the server. When starting with FileZilla, its common to forget this step.
Downloading files
To download a file from the server files area, right click on the file and choose Download.
Uploading files
To upload a file from your computer to your server, right click on the file and choose Upload.



For more information, please visit: www.programmingyan.com

Wednesday, 6 April 2016

Five Less Known Facts about iPhone Apps

Five Less Known Facts about iPhone Apps


§  Popularity of iPhone Apps
With the new iPhone models and tab devices launched in the world mobile market by Apple more and more creative individuals are willing to use it as a means to earn a living by developing apps and games. The resources and project development help Apple provides for aspiring developers is unparallel.

§  Five Facts Not Known To Many Who Intends to Make iPhone Apps
A beginner intending to launch good quality iPhone apps can often be facing obstructions due to less or inadequate knowledge about the tools of this trade. Let us read various facts related to iPhone app development India:

§  Apple Developers Program –The first and foremost step one who has the intention to launch iPhone apps must make is to join the Apple Developers Program. It is the membership account which is the medium one can develop an app based on the standardized parameters mentioned here by Apple. One can also take help of the vast pool of free resources Apple provides every member who joins the program.

§  Loads of Practice –For launching a game or an app which will run on all IOS devices one must learn the languages used to develop these programs. These are Objective C and XCode. The best way is to learn and practice as much as possible to achieve the optimum level of perfection which is required to launch an app successfully on the Appstore.


§  Share and Consult – An individual might have a great idea for an app but one must not rush to develop basing over that idea. Because there can be a situation where in the market there exists an app already with the same idea. Hence, before proceeding to development one must share the idea and consult with friends and closed ones to get a feedback.

§  Completion of Paperwork –The amount and detailed effort required to complete paperwork when one is engaged in the profession of iPhone app development is high. Based on all the norms set by Apple all paperwork must be completed before an app is sent for review to Apple.
§  Not much must be expected on launching an app. Time is needed for an app idea to grow and set itself in the minds of people.
For more details, please visit : www.programmingyan.com

Tuesday, 5 April 2016

Tips To Secure Your Php Web Applications

Tips To Secure Your Php Web Applications


 Security is the first and foremost concern of almost every developer on this planet. As we live in the world of high-technology, this has countless benefits and some people use it in a wrong manner. Thousands of websites in all over the world get hacked on the daily basis, some of the hackers do this for fun, some for money but all are not bad because some help to find vulnerabilities.
Developing a site which is 100% secure is an impossible task for any developer no matter how experienced he is. But security is something which you cannot ignore and writing secure PHP code won't protect your web applications. There are so many other things to consider while developing PHP web applications and some of the following tips will help you to secure it.

Start Hashing Passwords: If you want to secure your PHP web applications so always try to use hashing password. This is because hashing password is one of the best and simple techniques to store unreadable passwords in the database. Most of the developers don't have any idea that hashes, passwords stored in the database will be useless for a hacker even if they steal them all. It is a very safe technique which is easy to learn and apply. So the next time you choose a password for your web application so always try to use hashing password.

Escape input before using in an SQL statement: Another important tip, which you should remember for securing your PHP web applications, is that you must escape user input to prevent your application from SQL injections. These injections are an attempt made by the hackers to break your security system and if your application allows SQL vulnerability so your site is in danger.
Don't trust Javascript for input validation: Most of the developer's use Javascript for input validation because it is a good idea which helps to improve the user experience but till an extent. You should never really totally on it because it is easy for the hackers to disable it. So never trust Javascript complete for input validation.

Do not store unnecessary data: A big mistake done by almost every developer which creates a big risk for PHP web application is that they store unnecessary data which is easy to hack for the hackers. So always try not to store unnecessary data. This helps to prevent hackers from stealing your information and also helps to reduce the size of the database.

All these tips will definitely help you to secure your website from hackers sitting beside you. One more thing you should consider while developing a website always installs software from trusted providers. This will help to secure your web application from the wrong persons.
For more information, please visit : www.programmingyan.com


Thursday, 31 March 2016

The Clojure Programming Language

The Clojure Programming Language
Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language, yet remains completely dynamic – every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.
History & Development Process:
Rich Hickey is the creator of the Clojure language. Before Clojure, he developed dotLisp, a similar project based on the .NET Framework, and three earlier attempts to provide interoperability between Lisp and Java: a Java foreign language interface for Common Lisp (jfli), A Foreign Object Interface for Lisp (FOIL), and a Lisp-friendly interface to Java Servlets (Lisplets).
Hickey spent about 2½ years working on Clojure before releasing it publicly, much of that time working exclusively on Clojure with no outside funding. At the end of this time, Hickey sent an email announcing the language to some friends in the Common Lisp community.
The development process is community-driven and is managed at the Clojure Community website. The website contains planning documents and an issue tracker where bugs may be filed. General development discussion occurs at the Clojure Dev Google Group.While anyone can submit bug reports and ideas, to contribute patches one must sign the Clojure Contributor agreement, JIRA tickets are processed by a team of screeners and finally Rich Hickey approves the changes
 Features:
Clojure has a set of useful features that together form a simple, coherent, and powerful tool.
 Dynamic Development
Clojure is a dynamic environment you can interact with. Almost all of the language constructs are reified, and thus can be examined and changed. You can grow your program, with data loaded, adding features, fixing bugs, testing, in an unbroken stream.

Functional Programming
Clojure provides the tools to avoid mutable state, provides functions as first-class objects, and emphasizes recursive iteration instead of side-effect based looping. Clojure is impure, yet stands behind the philosophy that programs that are more functional are more robust.

LISP
Clojure is a member of the Lisp family of languages. Many of the features of Lisp have made it into other languages, but Lisp's approach to code-as-data and its macro system still set it apart. Additionally, Clojure’s maps, sets, and vectors are as first class in Clojure as lists are in Lisp.

Runtime Polymorphism
Systems that utilize runtime polymorphism are easier to change and extend. Clojure offers simple, powerful and flexible mechanisms for runtime polymorphism. Clojure’s protocols and datatypes features add mechanisms for abstraction and data structure definition with no compromises vs the facilities of the host platform.

Concurrent Programming
Clojure simplifies multi-threaded programming in several ways. Because the core data structures are immutable, they can be shared readily between threads. Clojure, being a practical language, allows state to change but provides mechanism to ensure that, when it does so, it remains consistent, while alleviating developers from having to avoid conflicts manually using locks etc.

Hosted on the JVM
Clojure is designed to be a hosted language, sharing the JVM type system, GC, threads etc. All functions are compiled to JVM bytecode. Clojure is a great Java library consumer, offering the dot-target-member notation for calls to Java. Clojure supports the dynamic implementation of Java interfaces and classes.


Example:
Hello world:
(println "Hello world!")
Defining a function:
(defn square [x]
  (* x x))
GUI "Hello world" by calling the Java Swing library:
(javax.swing.JOptionPane/showMessageDialog nil "Hello World" )
Using Unicode (Hello 世 ("World") using the CJK code point for that word):
(println (str "Hello, " \u4e16)) ; to the console
(javax.swing.JOptionPane/showMessageDialog nil (str "Hello, " \u4e16 "!")); using Java GUI
A thread-safe generator of unique serial numbers (though, like many other Lisp dialects, Clojure has a built-in gensym function that it uses internally):
(let [i (atom 0)]
  (defn generate-unique-id
    "Returns a distinct numeric ID for each call."
    []
    (swap! i inc)))
An anonymous subclass of java.io.Writer that doesn't write to anything, and a macro using it to silence all prints within it:
(def bit-bucket-writer
  (proxy [java.io.Writer] []
    (write [buf] nil)
    (close []    nil)
    (flush []    nil)))

(defmacro noprint
  "Evaluates the given expressions with all printing to *out* silenced."
  [& forms]
  `(binding [*out* bit-bucket-writer]
     ~@forms))

(noprint
  (println "Hello, nobody!"))
10 threads manipulating one shared data structure, which consists of 100 vectors each one containing 10 (initially sequential) unique numbers. Each thread then repeatedly selects two random positions in two random vectors and swaps them. All changes to the vectors occur in transactions by making use of Clojure's software transactional memory system.
(defn run [nvecs nitems nthreads niters]
  (let [vec-refs (->> (range (* nvecs nitems)) (partition nitems) (map (comp ref vec)) vec)
        swap #(let [v1 (rand-int nvecs)
                    v2 (rand-int nvecs)
                    i1 (rand-int nitems)
                    i2 (rand-int nitems)]
                (dosync
                 (let [tmp (nth @(vec-refs v1) i1)]
                   (alter (vec-refs v1) assoc i1 (nth @(vec-refs v2) i2))
                   (alter (vec-refs v2) assoc i2 tmp))))
        report #(let [derefed (map deref vec-refs)]
                  (prn derefed)
                  (println "Distinct:" (->> derefed (apply concat) distinct count)))]
    (report)
    (dorun (apply pcalls (repeat nthreads #(dotimes [_ niters] (swap)))))
    (report)))

(run 100 10 10 100000)
Output of prior example:
([0 1 2 3 4 5 6 7 8 9] [10 11 12 13 14 15 16 17 18 19] ...
[990 991 992 993 994 995 996 997 998 999])
Distinct: 1000
([382 318 466 963 619 22 21 273 45 596] [808 639 804 471 394 904 952 75 289 778] ...
[484 216 622 139 651 592 379 228 242 355])
Distinct: 1000

For more information, please visit : www.programmingyan.com


Wednesday, 30 March 2016

Opa Programming language

Opa Programming language


Opa is an open source programming language for developing scalable web applications.
It can be used for both client-side and server-side scripting, where complete programs are written in Opa and subsequently compiled to Nodejs on the server and JavaScript on the client, with the compiler automating all communication between the two. Opa implements strong, static typing, which can be helpful in protecting against security issues such as SQL injections and cross-site scripting attacks.
The language was first officially presented at the OWASP conference in 2010, and the source code was released on GitHub in June 2011, under a GNU Affero General Public License. Later, the license changed to the MIT license for the framework part (library) and AGPL for the compiler so that applications written in Opa can be released under any license, proprietary or open source.
Design & Features

Opa consists of a web server, a database and distributed execution engine. Code written in Opa is compiled to JavaScript using Node.js on the server side and to JavaScript using jQuery for cross-browser compatibility on the client side. The advantage of the approach compared to certain Rich Internet Application (RIA) platforms is that users are not required to install a plugin in their browser. Opa shares motivations with web frameworks, but takes a different approach. Its designers assert that this helps Opa to avoid many security issues, like SQL injections or cross-site scripting (XSS) attacks.
The core language is functional and has a static type system with type inference. Opa also provides sessions which encapsulate an imperative state and communicate using message passing, similar to Erlang processes. Opa provides many structures or functions that are common in web development, as first-class objects, for instance HTML and parsers, based on Parsing Expression Grammars.Because of this adhesion between the language and web-related concepts, Opa is not intended for non-web applications (for instance desktop applications).
The 0.9.0 release in February 2012 introduced database mapping technology for the non-relational, document-oriented database MongoDB, similar to object-relational mapping. The 1.1.0 release in February 2013 also added support for PostgreSQL, paving the way for the support of several SQL databases.

Examples

Hello world
The traditional Hello world program, producing a web server that serves a static page with "Hello, web!" as its content, can be written in Opa as:
Server.start(Server.http,
  { title: "Hello"
  , page: function() { <h1>Hello, web!</h1> }
  }
)
It can be compiled to a stand-alone executable JS file with:
$ opa hello_web.opa
Running the resulting executable JS file launches the web application:
$ ./hello_web.js


Top 10 Reasons to Develop with Opa
1. One Language to Rule Them All
Write simultaneously the frontend and backend code, in the same language, within the same module. Even better: the Opa Slicer automates the calls between client and server. No more manually written AJAX calls or value serialization!
And when auto is not enough, add hints to the code to enforce client or server-side, privacy, synchronous or asynchronous.
2. Access All JavaScript Libraries
Opa generates and is fully compatible with standard JavaScript code.
Reuse tons of existing JavaScript libraries and frameworks, such as JQuery which is by default part of the standard library.
3. Robust Runtime
Opa generates JavaScript on the server too, using Node.js and MongoDB.
Applications built with Opa can be deployed in most cloud straightforwardly and scaled up or down easily.
4. Database Automation
Database queries are also written directly with Opa.
Opa currently supports both the SQL database PostgreSQL and NoSQL databases MongoDB and CouchDB. More databases are planned for future releases.
Opa provides many unique advanced operators and automates the database queriesfor maximal productivity.

5. Typechecker
Opa unique feature is its advanced typechecker that automatically verifies your application code, looking for bugs and inconsistencies, and crunching debugging time.
The Opa Type Checker was designed to bring static verifications to dynamic programming experience. Type checking is incredibly fast and features type inference: Application code stays lean and clean.
6. Truly Non-Blocking
Modern applications use a lot of asynchronous calls. Dealing with callbacks manually can be painful, and failing to do so properly blocks the application runtime.
To make asynchronous programming easy without blocking the application, Opa-generated JavaScript code uses smart continuations.
In the following example the Opa compiler automatically takes care of everything.
7. MVC Support
Opa support MVC (Model-View-Controller) programming and provides a scaffolding mechanism to get started instantly.
Just minutes away from creating a real application.
8. HTML5 Native Support
Opa is built for the modern web. HTML5 fragments can be inserted directly. No more messing with single and double quotes!
CSS(3) elements including selectors are also easier than ever to use.
9. Powerful Syntax
Opa is JavaScript on steroids with many syntax and feature enhancements.
Database, types, pointers, autoclose, higher-order functions, etc. The list is way too long to fit here. Find it on the reference card.
10. Power Rows
The core of Opa uses Power Rows: A powerful, statically-typed, extension of JavaScript objects.
Power Rows is one of the features that makes Opa safe and fun at the same time.


For more information, please visit, www.programmingyan.com