SlideShare a Scribd company logo
Мы ведь тоже люди.
Еретическая лекция
про юзабилити
инструментов разработчика
Никита Прокопов
tonsky.livejournal.com
КодеФест, Новосибирск, 2011
простота
сложность
предметной области
сложность
изучения
сложность
использования
сложность
предметной области
сложность
изучения
сложность
использования
простота
простота
Maintaining Git
Ensuring good performance
On large repositories, git depends on compression to keep the history
information from taking up too much space on disk or in memory.
This compression is not performed automatically. Therefore you
should occasionally run git gc:
$ git gc
...
http://book.git-scm.com/4_maintaining_git.html
простота
простота
Сложность программных систем
Managing complexity is the most important
technical topic in software development.
In my view, it’s so important, that
Software’s Primary Technical Imperative
has to be managing complexity.
“Code complete” by Steve McConnell
Simple is better than complex.
Complex is better than complicated.
If the implementation is hard to explain, it’s a
bad idea.
If the implementation is easy to explain, it may
be a good idea.
“Zen of Python” by Tim Peters
простота
Зависит от: 			 	10 других библиотек
общим объемом: 	~	4 мб (сжаты zip)
Главный jar: ~	1400 классов
wsgi
<?xml version=”1.0” encoding=”UTF-8”?>
<project xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”
xmlns=”http://maven.apache.org/POM/4.0.0”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>billing-main</artifactId>
<groupId>ru.sibirenergo.billing</groupId>
<version>1.7.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>billing-webapp</artifactId>
<packaging>war</packaging>
<name>billing-webapp</name>
<description>Web Application on Wicket Framework</description>
<profiles>
<profile>
<id>dev-deploy</id>
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>${env.CATALINA_HOME}/webapps/billing-webapp</directory>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0</version>
<configuration>
<webappDirectory>${env.CATALINA_HOME}/webapps/billing-webapp</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<finalName>${project.artifactId}</finalName>
<!-- RESOURCES -->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>*.properties</include>
<include>**/*.css</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>*.properties</exclude>
<exclude>**/*.css</exclude>
</excludes>
</resource>
</resources>
<!-- PLUGINS -->
<plugins>
</plugins>
</build>
<!-- DEPENDENCIES -->
<dependencies>
<!-- billing module -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>billing-counters</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>billing-common</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>billing-building-accounting</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>billing-passport</artifactId>
</dependency>
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
<!-- wicket -->
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket</artifactId>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-datetime</artifactId>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-spring</artifactId>
</dependency>
<!-- wicketstuff -->
<dependency>
	 <groupId>org.wicketstuff</groupId>
			<artifactId>wicketstuff-merged-resources</artifactId>
			<version>3.0-20091007</version>
		</dependency>
<!-- LESS css -->
<dependency>
<groupId>com.asual.lesscss</groupId>
<artifactId>lesscss-engine</artifactId>
<version>1.2.11</version>
</dependency>
<!-- logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
<version>2.4</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>wicket-tree</id>
<name>Wicket-tree Repository</name>
<url>http://wicket-tree.googlecode.com/svn/repo</url>
</repository>
</repositories>
</project>
v
$ cat dep.pip
django=1.2.1
Jinja2=2.5
coffin
#south
pytz
#debug_toolbar
dbfpy
Datasource
Transaction Manager
org.springframework.transaction.jta.JtaTransactionManager
org.springframework.orm.hibernate3.LocalSessionFactoryBean
org.springframework.orm.hibernate3.HibernateTemplate
org.springframework.orm.hibernate.LocalTransactionManager-
Lookup
org.hibernate.transaction.JTATransactionFactory
org.springframework.jdbc.support.SQLErrorCodeSQLException-
Translator
patterns
помни о
пользователе
ORA-00020: Maximum number of processes (%s)
exceeded
ORA-00904: invalid column name
ORA-00942: table or view does not exist
ORA-00911: invalid character
ORA-01722: invalid number
Exception Value: Cannot resolve keyword 'name'
into field. Choices are: first_name, id, last_
name, middle_name, ....
1.	 tar xvzf package.tar.gz (or tar xvjf package.tar.bz2)
2.	cd package
3.	 ./configure
4.	make
5.	 make install
5 простых шагов установки
программы под Линукс
(если все пойдет хорошо)
Classes and methods in Wicket are generally declared as
final until the need for extensibility is well understood.
...classes and methods which haven’t been designed
for extension cannot be extended until the problem(s) at
hand are examined by the Wicket development team.
While this does provoke more discussion and some-
times a bit of annoyance, the discussion generally
improves Wicket...
http://www.wicketframework.org/faqs.html#why-final
упрощай
помни
?

More Related Content

What's hot

What's hot (20)

Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014
 
淺談 Groovy 與 AWS 雲端應用開發整合
淺談 Groovy 與 AWS 雲端應用開發整合淺談 Groovy 與 AWS 雲端應用開發整合
淺談 Groovy 與 AWS 雲端應用開發整合
 
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
 
Continuous Development and Deployment: Workflows and Patterns
Continuous Development and Deployment: Workflows and PatternsContinuous Development and Deployment: Workflows and Patterns
Continuous Development and Deployment: Workflows and Patterns
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
 
Ant, Maven and Jenkins
Ant, Maven and JenkinsAnt, Maven and Jenkins
Ant, Maven and Jenkins
 
Tech talk live custom content viewers in alfresco share
Tech talk live custom content viewers in alfresco shareTech talk live custom content viewers in alfresco share
Tech talk live custom content viewers in alfresco share
 
うさぎ組 in G* WorkShop -うさみみの日常-
うさぎ組 in G* WorkShop -うさみみの日常-うさぎ組 in G* WorkShop -うさみみの日常-
うさぎ組 in G* WorkShop -うさみみの日常-
 
Building Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit MavenBuilding Performance - ein Frontend-Build-Prozess für Java mit Maven
Building Performance - ein Frontend-Build-Prozess für Java mit Maven
 
WPE WebKit for Android
WPE WebKit for AndroidWPE WebKit for Android
WPE WebKit for Android
 
Magento Fireside Chat: "Wiring Mageno Projects"
Magento Fireside Chat: "Wiring Mageno Projects"Magento Fireside Chat: "Wiring Mageno Projects"
Magento Fireside Chat: "Wiring Mageno Projects"
 
Building Dojo in the Cloud
Building Dojo in the CloudBuilding Dojo in the Cloud
Building Dojo in the Cloud
 
GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6
 
Yobi d2 naver(create)
Yobi d2 naver(create)Yobi d2 naver(create)
Yobi d2 naver(create)
 
Magento 2 Development
Magento 2 DevelopmentMagento 2 Development
Magento 2 Development
 
Web Components and PWA
Web Components and PWAWeb Components and PWA
Web Components and PWA
 
Bower power
Bower powerBower power
Bower power
 
Chromium wayland
Chromium waylandChromium wayland
Chromium wayland
 
CRUD with Polymer 2.0
CRUD with Polymer 2.0CRUD with Polymer 2.0
CRUD with Polymer 2.0
 

Similar to Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика

Gradle - time for a new build
Gradle - time for a new buildGradle - time for a new build
Gradle - time for a new build
Igor Khotin
 
How to create a skeleton of a Java console application
How to create a skeleton of a Java console applicationHow to create a skeleton of a Java console application
How to create a skeleton of a Java console application
Dmitri Pisarenko
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
julien.ponge
 

Similar to Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика (20)

Slim3 quick start
Slim3 quick startSlim3 quick start
Slim3 quick start
 
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
 
Gradle como alternativa a maven
Gradle como alternativa a mavenGradle como alternativa a maven
Gradle como alternativa a maven
 
Tips & Tricks for Maven Tycho
Tips & Tricks for Maven TychoTips & Tricks for Maven Tycho
Tips & Tricks for Maven Tycho
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
 
Using Maven2
Using Maven2Using Maven2
Using Maven2
 
Training in Android with Maven
Training in Android with MavenTraining in Android with Maven
Training in Android with Maven
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Gradle - time for a new build
Gradle - time for a new buildGradle - time for a new build
Gradle - time for a new build
 
Workshop 3: JavaScript build tools
Workshop 3: JavaScript build toolsWorkshop 3: JavaScript build tools
Workshop 3: JavaScript build tools
 
How to create a skeleton of a Java console application
How to create a skeleton of a Java console applicationHow to create a skeleton of a Java console application
How to create a skeleton of a Java console application
 
IzPack at LyonJUG'11
IzPack at LyonJUG'11IzPack at LyonJUG'11
IzPack at LyonJUG'11
 
F3X12 FLOW3 Project Lifecycle
F3X12 FLOW3 Project LifecycleF3X12 FLOW3 Project Lifecycle
F3X12 FLOW3 Project Lifecycle
 
Introduction to GIT
Introduction to GITIntroduction to GIT
Introduction to GIT
 
Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster
 
Droidcon Paris 2015
Droidcon Paris 2015Droidcon Paris 2015
Droidcon Paris 2015
 
GIT from n00b
GIT from n00bGIT from n00b
GIT from n00b
 
Distributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component worldDistributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component world
 

Recently uploaded

Recently uploaded (20)

SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 

Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика

  • 1. Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика Никита Прокопов tonsky.livejournal.com КодеФест, Новосибирск, 2011
  • 4.
  • 5.
  • 6.
  • 7.
  • 10.
  • 11.
  • 12.
  • 14. Maintaining Git Ensuring good performance On large repositories, git depends on compression to keep the history information from taking up too much space on disk or in memory. This compression is not performed automatically. Therefore you should occasionally run git gc: $ git gc ... http://book.git-scm.com/4_maintaining_git.html
  • 15.
  • 16.
  • 18.
  • 21.
  • 22. Managing complexity is the most important technical topic in software development. In my view, it’s so important, that Software’s Primary Technical Imperative has to be managing complexity. “Code complete” by Steve McConnell
  • 23. Simple is better than complex. Complex is better than complicated. If the implementation is hard to explain, it’s a bad idea. If the implementation is easy to explain, it may be a good idea. “Zen of Python” by Tim Peters
  • 25.
  • 26. Зависит от: 10 других библиотек общим объемом: ~ 4 мб (сжаты zip) Главный jar: ~ 1400 классов
  • 27. wsgi
  • 28. <?xml version=”1.0” encoding=”UTF-8”?> <project xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd” xmlns=”http://maven.apache.org/POM/4.0.0” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>billing-main</artifactId> <groupId>ru.sibirenergo.billing</groupId> <version>1.7.0</version> <relativePath>..</relativePath> </parent> <artifactId>billing-webapp</artifactId> <packaging>war</packaging> <name>billing-webapp</name> <description>Web Application on Wicket Framework</description> <profiles> <profile> <id>dev-deploy</id> <build> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>2.4.1</version> <configuration> <filesets> <fileset> <directory>${env.CATALINA_HOME}/webapps/billing-webapp</directory> <followSymlinks>false</followSymlinks> </fileset> </filesets> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.0</version> <configuration> <webappDirectory>${env.CATALINA_HOME}/webapps/billing-webapp</webappDirectory> </configuration> </plugin> </plugins> </build> </profile> </profiles> <build> <finalName>${project.artifactId}</finalName> <!-- RESOURCES --> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>*.properties</include> <include>**/*.css</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <excludes> <exclude>*.properties</exclude> <exclude>**/*.css</exclude> </excludes> </resource> </resources> <!-- PLUGINS --> <plugins> </plugins> </build> <!-- DEPENDENCIES --> <dependencies> <!-- billing module --> <dependency> <groupId>${project.groupId}</groupId> <artifactId>billing-counters</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>billing-common</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>billing-building-accounting</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>billing-passport</artifactId> </dependency> <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> <!-- wicket --> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket</artifactId> </dependency> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-extensions</artifactId> </dependency> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-datetime</artifactId> </dependency> <dependency> <groupId>org.apache.wicket</groupId> <artifactId>wicket-spring</artifactId> </dependency> <!-- wicketstuff --> <dependency> <groupId>org.wicketstuff</groupId> <artifactId>wicketstuff-merged-resources</artifactId> <version>3.0-20091007</version> </dependency> <!-- LESS css --> <dependency> <groupId>com.asual.lesscss</groupId> <artifactId>lesscss-engine</artifactId> <version>1.2.11</version> </dependency> <!-- logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <scope>provided</scope> <version>2.4</version> </dependency> </dependencies> <repositories> <repository> <id>wicket-tree</id> <name>Wicket-tree Repository</name> <url>http://wicket-tree.googlecode.com/svn/repo</url> </repository> </repositories> </project> v
  • 31.
  • 32.
  • 35.
  • 36.
  • 37.
  • 38. ORA-00020: Maximum number of processes (%s) exceeded ORA-00904: invalid column name ORA-00942: table or view does not exist ORA-00911: invalid character ORA-01722: invalid number Exception Value: Cannot resolve keyword 'name' into field. Choices are: first_name, id, last_ name, middle_name, ....
  • 39. 1. tar xvzf package.tar.gz (or tar xvjf package.tar.bz2) 2. cd package 3. ./configure 4. make 5. make install 5 простых шагов установки программы под Линукс (если все пойдет хорошо)
  • 40. Classes and methods in Wicket are generally declared as final until the need for extensibility is well understood. ...classes and methods which haven’t been designed for extension cannot be extended until the problem(s) at hand are examined by the Wicket development team. While this does provoke more discussion and some- times a bit of annoyance, the discussion generally improves Wicket... http://www.wicketframework.org/faqs.html#why-final
  • 42. ?