Software development

From WhyNotWiki
(Difference between revisions)
Jump to: navigation, search
Current revision (23:05, 24 February 2008) (view source)
 
(18 intermediate revisions not shown.)
Line 1: Line 1:
-
.
+
''This is sort of the "master page" for the '''huge''', all-encompassing overall topic of "software development" and "[[programming]]". Quite likely, you'd rather go straight to [[Software development practices and philosophy]] than waste any more of your time here.''
 +
 
 +
<div class="DoNotCollapseCategoryTrees"></div>
 +
{{Has associated category|Software development}}<categorytree mode="all" style="border:1px solid gray; padding:0.7ex;">Software development</categorytree>
 +
 
 +
=Reference=
 +
*http://svnbook.red-bean.com/en/1.2/index.html
 +
*http://www.google.com/codesearch
 +
*http://www.rubycentral.com/ref/
 +
*http://www.php.net/manual/en/
 +
*http://www.python.org/doc/
 +
 
 +
 
 +
*http://www.postgresql.org/docs/8.0/interactive/index.html
 +
*http://www.postgresql.org/docs/8.0/interactive/sql-commands.html
 +
*http://www.w3schools.com/css/css_reference.asp
 +
*http://www.gnu.org/software/bash/manual/bashref.html
 +
 
 +
=Learning=
 +
*http://webmasterworld.com
 +
*http://eweek.com
 +
*http://experts-exchange.com
 +
*http://butunclebob.com
 +
*http://www.xprogramming.com/blog/Page.aspx?display=HotNeedleOfInquiry
 +
*http://martinfowler.com/bliki
 +
*http://joelonsoftware.com
 +
*http://c2.com/cgi/wiki?WelcomeVisitors
 +
*http://www.vanderburg.org/Blog
 +
*http://www.testing.com/cgi-bin/blog
 +
 
 +
=Tools / Software=
 +
 
 +
==UML modeling==
 +
 
 +
See [[UML]]
 +
 
 +
==Maven==
 +
{{section category|Java}}-only?
 +
 
 +
http://maven.apache.org/
 +
{{quotation}}
 +
Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
 +
{{end quotation}}
 +
 
 +
http://maven.apache.org/what-is-maven.html
 +
{{quotation}}
 +
====Providing quality project information====
 +
 
 +
Maven provides plenty of useful project information that is in part taken from your POM and in part generated from your project's sources. For example, Maven can provide:
 +
 
 +
* Change log document created directly from source control
 +
* Cross referenced sources
 +
* Mailing lists
 +
* Dependency list
 +
* Unit test reports including coverage
 +
 
 +
As Maven improves the information set provided will improve, all of which will be transparent to users of Maven.
 +
 
 +
Other products can also provide Maven plugins to allow their set of project information alongside some of the standard information given by Maven, all still based on the POM.
 +
 
 +
====Providing guidelines for best practices development====
 +
 
 +
Maven aims to gather current principles for best practices development, and make it easy to guide a project in that direction.
 +
 
 +
For example, specification, execution, and reporting of unit tests are part of the normal build cycle using Maven. Current unit testing best practices were used as guidelines:
 +
 
 +
* Keeping your test source code in a separate, but parallel source tree
 +
* Using test case naming conventions to locate and execute tests
 +
* Have test cases setup their environment and don't rely on customizing the build for test preparation.
 +
 
 +
Maven also aims to assist in project workflow such as release management and issue tracking.
 +
 
 +
Maven also suggests some guidelines on how to layout your project's directory structure so that once you learn the layout you can easily navigate any other project that uses Maven and the same defaults.
 +
{{end quotation}}
 +
 
 +
 
 +
=Main=
 +
 
 +
==Main==
 +
 
 +
*[[Web development]]
 +
**'''[[Ruby on Rails]]'''
 +
**[[Ajax]]
 +
**[[MediaWiki]]
 +
**[[Software development/CSS|CSS]]
 +
**[[Software development/XHTML|XHTML]]
 +
**[[Software development/JavaScript|JavaScript]]
 +
**[[Prototype]]
 +
**[[PHP]]
 +
*[[Programming languages]]
 +
**'''[[Ruby]]'''
 +
**[[Python]]
 +
**[[Functional programming languages]]
 +
**[[XML|XML]]
 +
***[[XSLT|XSLT]]
 +
***[[XPath]]
 +
*'''[[Vim]]''', the programmer's editor
 +
*[[Software project management]]
 +
*[[General programming]]
 +
*[[Development practices]]
 +
**[[Testing]]
 +
**[[Unit testing]]
 +
**[[Software development conventions|Conventions]]
 +
*[[Software development/Unsolved problems]]
 +
 
 +
==Arguable whether really topics of software development or just software==
 +
*[[Linux]] scripting
 +
**[[bash]]
 +
**[[Software development/xargs|xargs]]
 +
**[[grep]]
 +
***[[cgrep]]
 +
*[[Revision control]]
 +
**[[Subversion]]
 +
**[[CVS]]
 +
**Mercurial
 +
*[[Databases]]
 +
**[[SQL]]
 +
**[[PostgreSQL]]
 +
**[[Software development/MySQL|MySQL]]
 +
**[[Comparison of PostgreSQL and MySQL]]
 +
 
 +
*Application hacking
 +
**[[Hacking Pandion]]
 +
 
 +
==Links==
 +
 
 +
http://www.coderwiki.com/wiki/index.php?title=Main_Page
 +
 
 +
'''Question''': Should I continue with this project or join the efforts at coderwiki or similar??
 +
 
 +
==Blogs/news==
 +
 
 +
*http://blogs.thoughtworks.com/
 +
 
 +
==Jobs==
 +
 
 +
A company that lists all of its employees on its web site?? http://www.thoughtworks.com/thoughtworker-profiles.html
 +
 
 +
==Discussion==
 +
 
 +
http://peter.michaux.ca/article/340 Fork JavaScript library launch
 +
 
 +
<div><blockquote>
 +
I like the Yahoo! UI library. Of the JavaScript libraries I've used it has the best API. The YUI library has many valuable nuggets of information about browser bugs and workarounds. The code approach of YUI suits browser scripting well. However there are more than a few places in the code where I'm left scratching my head and thinking <u>"why did they do that?" Maybe that is how every developer looks at another developers code.</u> The YUI API is the starting point for much of the Fork API.
 +
 
 +
Most libraries seem to develop too quickly. <u>API's are fixed from the first alpha version and code is not allowed to morph for the early part of it's life.</u> I like the general debian attitude of careful growth because the browser execution environment is wildly varied and deserves a certain degree of conservatism in the JavaScript we send to it.
 +
 
 +
Most JavaScript libraries settle for "good enough" and don't seem to aspire to the high level of quality to which the Fork library aspires. By keeping an eye on other JavaScript libraries the good parts can be brought into the Fork code.
 +
</blockquote></div>
 +
 
 +
 
 +
==Code snippets==
 +
 
 +
http://www.bigbold.com/snippets/
 +
 
 +
=={{section category|Software architecture}}==
 +
 
 +
{{cite web| url = http://cmsreport.com/node/543| title = | author = | date = | accessdate = 2007-05-11 11:18| license = }}
 +
{{quotation}}
 +
Taking the flip side, Joomla as a CMS appears to excel in elements that can be identified as functional, while Drupal succeeds in the architectural elements. Which element is more important in a CMS, architecture or function? According to Deane Barker he believes it is more important for a CMS to have better architecture.
 +
 
 +
{{quotation}}
 +
As a developer with the capability to write code, I find myself much more concerned with architectural matters. Functionality can be programmed, but I’m at the mercy of architecture. Put another way, give me the right tools and materials, and I can build anything. But give me nothing but a pile of sand and a toothbrush, and I’m pretty much screwed.
 +
{{end quotation}}
 +
{{end quotation}}
 +
 
 +
 
 +
 
 +
 
 +
[[Category:Software]]

Current revision

This is sort of the "master page" for the huge, all-encompassing overall topic of "software development" and "programming". Quite likely, you'd rather go straight to Software development practices and philosophy than waste any more of your time here.

Software development  edit   (Category  edit)


Contents

Reference


Learning

Tools / Software

UML modeling

See UML

Maven

[Java (category)]-only?

http://maven.apache.org/

Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

http://maven.apache.org/what-is-maven.html

Providing quality project information

Maven provides plenty of useful project information that is in part taken from your POM and in part generated from your project's sources. For example, Maven can provide:

  • Change log document created directly from source control
  • Cross referenced sources
  • Mailing lists
  • Dependency list
  • Unit test reports including coverage

As Maven improves the information set provided will improve, all of which will be transparent to users of Maven.

Other products can also provide Maven plugins to allow their set of project information alongside some of the standard information given by Maven, all still based on the POM.

Providing guidelines for best practices development

Maven aims to gather current principles for best practices development, and make it easy to guide a project in that direction.

For example, specification, execution, and reporting of unit tests are part of the normal build cycle using Maven. Current unit testing best practices were used as guidelines:

  • Keeping your test source code in a separate, but parallel source tree
  • Using test case naming conventions to locate and execute tests
  • Have test cases setup their environment and don't rely on customizing the build for test preparation.

Maven also aims to assist in project workflow such as release management and issue tracking.

Maven also suggests some guidelines on how to layout your project's directory structure so that once you learn the layout you can easily navigate any other project that uses Maven and the same defaults.


Main

Main

Arguable whether really topics of software development or just software

Links

http://www.coderwiki.com/wiki/index.php?title=Main_Page

Question: Should I continue with this project or join the efforts at coderwiki or similar??

Blogs/news

Jobs

A company that lists all of its employees on its web site?? http://www.thoughtworks.com/thoughtworker-profiles.html

Discussion

http://peter.michaux.ca/article/340 Fork JavaScript library launch

I like the Yahoo! UI library. Of the JavaScript libraries I've used it has the best API. The YUI library has many valuable nuggets of information about browser bugs and workarounds. The code approach of YUI suits browser scripting well. However there are more than a few places in the code where I'm left scratching my head and thinking "why did they do that?" Maybe that is how every developer looks at another developers code. The YUI API is the starting point for much of the Fork API.

Most libraries seem to develop too quickly. API's are fixed from the first alpha version and code is not allowed to morph for the early part of it's life. I like the general debian attitude of careful growth because the browser execution environment is wildly varied and deserves a certain degree of conservatism in the JavaScript we send to it.

Most JavaScript libraries settle for "good enough" and don't seem to aspire to the high level of quality to which the Fork library aspires. By keeping an eye on other JavaScript libraries the good parts can be brought into the Fork code.


Code snippets

http://www.bigbold.com/snippets/

[Software architecture (category)]

http://cmsreport.com/node/543. Retrieved on 2007-05-11 11:18.

Taking the flip side, Joomla as a CMS appears to excel in elements that can be identified as functional, while Drupal succeeds in the architectural elements. Which element is more important in a CMS, architecture or function? According to Deane Barker he believes it is more important for a CMS to have better architecture.

As a developer with the capability to write code, I find myself much more concerned with architectural matters. Functionality can be programmed, but I’m at the mercy of architecture. Put another way, give me the right tools and materials, and I can build anything. But give me nothing but a pile of sand and a toothbrush, and I’m pretty much screwed.

Ads
Personal tools