background preloader

Programing

Facebook Twitter

Lean Startup : ma présentation sur le sujet… Extreme Programming: A Gentle Introduction. Cgi.di.uoa.gr/~halatsis/Books_EDY/Book-Eng-01 - Uml Distilled - Fowler.pdf. What is use case? - Definition from WhatIs.com. A use case is a methodology used in system analysis to identify, clarify, and organize system requirements. The use case is made up of a set of possible sequences of interactions between systems and users in a particular environment and related to a particular goal.

It consists of a group of elements (for example, classes and interfaces) that can be used together in a way that will have an effect larger than the sum of the separate elements combined. The use case should contain all system activities that have significance to the users. A use case can be thought of as a collection of possible scenarios related to a particular goal, indeed, the use case and goal are sometimes considered to be synonymous.

A use case (or set of use cases) has these characteristics: Use cases can be employed during several stages of software development, such as planning system requirements, validating design, testing software, and creating an outline for online help and user manuals. Email Alerts. Agile Modeling (AM) Home Page: Effective Practices for Modeling and Documentation. How can I learn the basics of web development and server management. 20 Things I Learned About Browsers and the Web. IllustrationChristoph Niemann Writers/EditorsMin Li Chan, Fritz Holznagel, Michael Krantz Project CuratorMin Li Chan & The Google Chrome Team DesignFiPaul Truong DevelopmentFi Very Special Thanks To Brian Rakowski, Ian Fette, Chris DiBona, Alex Russell, Erik Kay, Jim Roskind, Mike Belshe, Dimitri Glazkov, Henry Bridge, Gregor Hochmuth, Jeffrey Chang, Mark Larson, Aaron Boodman, Wieland Holfelder, Jochen Eisinger, Bernhard Bauer, Adam Barth, Cory Ferreria, Erik Arvidsson, John Abd-Malek, Carlos Pizano, Justin Schuh, Wan-Teh Chang, Vangelis Kokkevis, Mike Jazayeri, Brad Chen, Darin Fisher, Johanna Wittig, Maxim Lobanov, Marion Fabing Nicolas, Jana Vorechovska, Daniele De Santis, Laura van Nigtevegt, Wojtek Cyprys, Dudley Carr, Richard Rabbat, Ji Lee, Glen Murphy, Valdean Klump, Aaron Koblin, Paul Irish, John Fu, Chris Wright, Sarah Nahm, Christos Apartoglou, Meredith Papp, Eric Antonow, Eitan Bencuya, Jay Nancarrow, Ben Lee, Gina Weakley, Linus Upson, Sundar Pichai & The Google Chrome Team.

I'd like to learn web-related programming. What should I start with. Understanding Web Technologies. 07 June 2010 Posted in Project Planning & Management The following is an excerpt from our Web Designer Certification Program. If you want to become a Dev Department Certified Web Designer, you can register for free here.

There is a vast range of technologies available to today's web developer, and it is very easy to become bogged down in trying to understand and accommodate sales and markets for each. However, it is prudent to identify the technology in which you work best and then identify a market that matches this technology. That will be covered in a later section, but for the time being, you should familiarize yourself with the following technologies: Web Technologies: HTML/XHTML and CSS As previously mentioned, HTML and CSS are the technologies used to assemble a design into a functional web page.

CSS allows for the very specific positioning and formatting of web page content and also allows the programmer to quickly change styles for an entire site within a single file. XML Introduction - What is XML? Chapter 21: Designing Web Applications. For more details of the topics covered in this guide, see Contents of the Guide. In this chapter, you will learn the general design considerations and key attributes for a Web application. This includes the guidelines for a layered structure; guidelines for performance, security, and deployment; and the key patterns and technology considerations. A Web application is an application that can be accessed by the users through a Web browser or a specialized user agent.

The browser creates HTTP requests for specific URLs that map to resources on a Web server. The server renders and returns HTML pages to the client, which the browser can display. The core of a Web application is its server-side logic. Figure 1 The typical structure of a Web application When designing a Web application, the goal of the software architect is to minimize the complexity by separating tasks into different areas of concern while designing a secure, high performance application. Partition your application logically. Software Engineering for Internet Applications. Software Engineering for Internet Applications. Edoc.ub.uni-muenchen.de/7936/1/Kraus_Andreas.pdf. Creating a Database. The first test to see whether you can access the database server is to try to create a database. A running PostgreSQL server can manage many databases.

Typically, a separate database is used for each project or for each user. Possibly, your site administrator has already created a database for your use. He should have told you what the name of your database is. In that case you can omit this step and skip ahead to the next section. To create a new database, in this example named mydb, you use the following command: $ createdb mydb If this produces no response then this step was successful and you can skip over the remainder of this section. If you see a message similar to: createdb: command not found then PostgreSQL was not installed properly.

. $ /usr/local/pgsql/bin/createdb mydb The path at your site might be different. Another response could be this: This means that the server was not started, or it was not started where createdb expected it. Where your own login name is mentioned. . $ createdb. Explorations in Unix. Introduction Few tools are more indispensable to my work than Unix. Manipulating data into different formats, performing transformations, and conducting exploratory data analysis (EDA) is the lingua franca of data science. The coffers of Unix hold many simple tools, which by themselves are powerful, but when chained together facilitate complex data manipulations.

Unix’s use of functional composition eliminates much of the tedious boilerplate of I/0 and text parsing found in scripting languages. Inspect Reshape Enumerate Describe Visualize Inspect $ (head -5; tail -5) < data I use this so frequently, I’ve created a shell function for this command. One of my most used shell functions for (i)inspecting large data files:cl.ly/image/2832452f…— Seth Brown (@DrBunsen) October 31, 2012 The output displays the file name above the data: Reshape Another use case for paste is with grouped data.

. # group1 1.123 2.123 1.239 # group2 1.2e-10 2.4e-08 # group3 3.8 4.2 Enumerate $ wc -l < dat && awk '! Describe. Paper Trail. You’re going to hear a lot about columnar storage formats in the next few months, as a variety of distributed execution engines are beginning to consider them for their IO efficiency, and the optimisations that they open up for query execution. In this post, I’ll explain why we care so much about IO efficiency and show how columnar storage – which is a simple idea – can drastically improve performance for certain workloads. Caveat: This is a personal, general research summary post, and as usual doesn’t neccessarily reflect our thinking at Cloudera about columnar storage.

Disks are still the major bottleneck in query execution over large datasets. Even a machine with twelve disks running in parallel (for an aggregate bandwidth of north of 1GB/s) can’t keep all the cores busy; running a query against memory-cached data can get tens of GB/s of throughput. IO bandwidth matters. The traditional way to improve disk bandwidth has been to wait, and allow disks to get faster. Overview — Python v3.3.0 documentation. Q: "How much does an app cost?" A: "About as much as a car." Building an Ad Server to Serve Your Application. Last Thursday my talk on Bootstrapping Your AdServer provoked hems and haws at the AdMonsters Network Forum (Dec 9th, 2010) in New York City. My intention was to provide a bit of insight to the challenges that publishers encounter on a regular basis; especially those in the midst of a growth spurt.

However, I think it was taken to be an indictment of the contemporary ad network. Like the OEM ad server, ad networks serve a diverse clientele in terms of both volume and genre. They intend to meet all the needs of most publishers and at least some of the needs of larger publishers. Indeed, they have a place in the revenue stream of almost every ad-supported website in existence. My aim was to arouse a sense of independence in publishers and to remind them that developing a fantastic product should be their main focus; to take into account ad serving only second to achieving the former.

Develop your ad server to meet the needs of your application. Why Should You Care? Breaking Through. Things you didn't know about Python. Why Codecademy is overrated and missing its target audience. Let’s just make this quite clear to begin with: I believe Codecademy has great potential. I really want to see it succeed, because I can see there is an identified gap where Codecademy fits, and a lot of people can benefit from using the site.

However, after spending some time ‘learning’ (or trying to learn) JavaScript on Codecademy, I experienced some fundamental issues which I believe are holding it back. The problems lie in Codecademy’s set up in its current state. For first time coders, it’s horrible. Who is Codecademy for? When you visit Codecademy’s homepage, one of the first things you’ll notice is a big heading that says Learn to code. This is followed by the sentence, “Codecademy is the easiest way to learn to code.” I’m going to take these two clues to mean that Codecademy is aimed at beginners. What are code novices like? So what else do we know (or can we assume) about these newbies? This last point is a red flag for me. Code can be like this. Why is it overrated? Poll: What programming language do you use for your app/startup.

Recruiting programmers to your startup. Here are some things I’ve learned over the years about recruiting programmers* to startups. This is a big topic: many of the points I make briefly here could warrant their own blog posts, and I’m sure I’ve omitted a lot. - The most important thing to understand is what motivates programmers. This is where having been a programmer yourself can be very helpful. In my experience programmers care about 1) working on interesting technical problems, 2) working with other talented people, 3) working in a friendly, creative environment, 4) working on software that ends up getting used by lots of people. . - Software development is a creative activity and needs to be treated as such. It is sometimes helpful to think of recruiting as 3 phases: finding candidates, screening candidates, and convincing candidates to join you. - Finding means making contact with good candidates. . - Screening. . - Convincing them to join you.

Post-traction companies can use the old numbers – you can’t. Choosing a Programming Language and Framework for Your Startup. We had an interesting presentation at the LA CTO Forum by the CTO of a startup who chose Groovy / Grails as the framework for their startup. t prompted a good discussion around how CTOs go about choosing the programming language and framework for their startup. Some common themes from the discussion: Know Where You Are Going Before you can possibly make a choice around language and framework you need to ask all the important questions that are talked about in Startup Software Development – Do Your Homework Before You Develop Anything and Startup CTO or Developer. Closely Aligned Functional Needs The most common reason that a language and platform is chosen is because there's an existing set of (often open source) functionality that you can tap into that aligns closely with your functional needs.

Similarly, you may also have an existing code base or set of libraries written in a language. Existing People Misconceptions Misconception #1 - "You can build things 10x faster in Ruby. " Perspectives. Electrical Engineering and Computer Science | 6.001 Structure and Interpretation of Computer Programs, Spring 2005 | Video Lectures | 1A: Overview and Introduction to Lisp.