<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;A04DRnY8fyp7ImA9Wx5WFEk.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375</id><updated>2010-09-26T00:26:17.877+03:00</updated><title>Cайт на Java</title><subtitle type='html'>Это блог о создании Java сайта с нуля.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;CU4DRH05eip7ImA9Wx5REUs.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-6500568363718169084</id><published>2010-08-17T01:05:00.011+03:00</published><updated>2010-08-18T23:39:35.322+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-08-18T23:39:35.322+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='bootable USB HDD'/><category scheme='http://www.blogger.com/atom/ns#' term='Установка Windows 7'/><title>Как сделать USB флешку загрузочной и установить с нее Windows 7 на Netbook MSI U-90</title><content type='html'>&lt;b&gt;Как сделать USB флешку загрузочной&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Из командной строки на винде надо запустить программу diskpart, а потом сделать следующие действия:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;list disk&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;select disk (указать номер_желаемого_диска)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;clean&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;create partition primary&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;active&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;format fs=fat32 quick&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: blue;"&gt;assign&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Как установить Windows 7 с загрузочной USB флешки&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Вставляем Инсталяционный диск Windows 7&lt;br /&gt;
Копируем все файл с диска на флешку&lt;br /&gt;
Вставляем флешку в ноут&lt;br /&gt;
Убеждаемся, что ноут будет загружаться с USB HDD&lt;br /&gt;
Запускаем комп и следуем указаниям установки&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: red;"&gt;Проблема 1&lt;/span&gt;&lt;br /&gt;
Если вставить пустую правильно отформатированную флешку и пытаться с неё загрузиться, РС выдаст ошибку типа "вытащите диск и нажмите любую клавишу, чтобы продолжить". Не надо думать, что флешка плохо отформатирована. Когда на флешку скинутся инсталяционные файлы винды, все пойдет как по маслу.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: red;"&gt;Проблема 2&lt;/span&gt;&lt;br /&gt;
Иногда могут возникнуть проблемы при попытке продолжить установку винды на выбранный раздел диска. Появится сообщение типа: &lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;программе установке не удалось создать новый или найти существующий системный раздел&lt;/span&gt;. Чудесные создатели этой "чудной" ОС не подумали о том, что кому-то пригодится таки узанть, как можно создать этот "системный раздел", чтобы продолжить установку... Что бы сделать этот системный раздел не нужно прерывать инсталяцию. Для этого нужно через шорткат &lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Shift+F10&lt;/span&gt;&lt;/b&gt; вызвать командную строку, потом вызвать &lt;span class="Apple-style-span" style="color: red;"&gt;diskpart &lt;/span&gt;и по накатанной дорожке... Сколько людей потратили времени на решение этой задачи!... Ну почему же не написать людям про этот шорткат&amp;nbsp;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;SHIFT + F10&lt;/b&gt;&lt;/span&gt;!...&lt;br /&gt;
Вот &lt;a href="http://webcache.googleusercontent.com/search?q=cache:zyO5Z57WdYUJ:social.technet.microsoft.com/Forums/ru-RU/windows7ru/thread/c8dbe7c3-58ac-4ff6-ae59-c8c594256b6c+win+7+install+rus+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B5+%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B5+%D0%BD%D0%B5+%D1%83%D0%B4%D0%B0%D0%BB%D0%BE%D1%81%D1%8C+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C+%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9+%D0%B8%D0%BB%D0%B8+%D0%BD%D0%B0%D0%B9%D1%82%D0%B8+%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B8%D0%B9+%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B9+%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB&amp;amp;cd=1&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;client=safari"&gt;ссылочка&lt;/a&gt; на тех, кто уже мучился с этой проблемой. Несколько упражнений в том, как еще можно создавать разделы по этой &lt;a href="http://www.mydigitallife.info/2009/08/20/hack-to-remove-100-mb-system-reserved-partition-when-installing-windows-7/"&gt;ссылке&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Проблема 3&lt;/span&gt;&lt;/div&gt;Но, может возникнуть еще одна ошибка при попытке отформатировать диск в &lt;span class="Apple-style-span" style="color: red;"&gt;diskparte&lt;/span&gt; при команде: &lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;format fs=fat32 quick&lt;/span&gt; (как хорошо тем, у кого Мас OSX). При попытке решить эту проблему без быстрого форматирования (&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;quick&lt;/span&gt;), а обычным: &lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;format fs=fat32,&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;результат будет тот же только ожидать его прийдется гораздо больше. Не надо тратить время.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Проблема 4&lt;/span&gt;&lt;/div&gt;Если возникают проблмы с форматированием флешки, тогда можно пойти другим путем ее форматирования:&amp;nbsp;На Виндовз устанавливается прога, которая позволяет отмечать неактивные чекбоксы.&amp;nbsp;Запускаем Форматирование. Отмечаем чекбокс "сделать загрузочный MS-DOS диск". Дальше все как написано в этом &lt;a href="http://webcache.googleusercontent.com/search?q=cache:IX3EyO2uQG0J:www.aetherwide.com/vignettes/20070530-1.html+dos+system+files&amp;amp;cd=3&amp;amp;hl=ru&amp;amp;ct=clnk"&gt;посте&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Проблема 5&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Когда не удается создать системный раздел при инсталяции, нужно загрузить с флешки инсталяционные файлы на активный раздел РС, перезагрузиться с жесткого без флешки.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Скинуть файлы с флешки на HD можно с помощью программы xcopy. Все команды xcopy &lt;a href="http://webcache.googleusercontent.com/search?q=cache:41F3d4NnrlgJ:support.microsoft.com/kb/240268+cmd+xcopy+command&amp;amp;cd=1&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;client=safari"&gt;здесь&lt;/a&gt;.&lt;br /&gt;
Чтобы xcopy скопировал не только файл, но и папки надо использовать после указания источника и назначения "/S".&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;ИТАК&lt;/span&gt;&lt;/b&gt;: &lt;span class="Apple-style-span" style="color: red;"&gt;побеждает Решение FIX&lt;/span&gt;&lt;br /&gt;
Ситуация: Рабочая загрузочная флешка USB с Widows 7 не может произвести установку ОС на HDD, ошибка установки "&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;программе установке не удалось создать новый или найти существующий системный раздел&lt;/span&gt;..." В этом случае:&lt;br /&gt;
&lt;br /&gt;
1. Убеждаемся, что HDD отформатирован с помощью diskpart =&amp;gt; partition primary/ active/ format fs=ntfs quick/ assign (diskpart можно вызвать во время установки шорткатом&amp;nbsp;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;SHIFT + F10&lt;/b&gt;&lt;/span&gt;).&lt;br /&gt;
&lt;br /&gt;
2. Во время установки вызываем&amp;nbsp;(&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;SHIFT + F10&lt;/b&gt;&lt;/span&gt;)&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;командную строку и копируем все установочные файлы Windows 7 в отформатированный раздел на HDD. Копирование делается с помощью программы &lt;a href="http://webcache.googleusercontent.com/search?q=cache:41F3d4NnrlgJ:support.microsoft.com/kb/240268+cmd+xcopy+command&amp;amp;cd=1&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;client=safari"&gt;xcopy&lt;/a&gt;. Выглядит следующим образом: &amp;gt;xcopy C:\&amp;nbsp;E:\ /S (где С - HDD, а Е - &amp;nbsp;флешка, S - команда, которая заставляет копировать все файлы, папки и содержимое папок).&lt;br /&gt;
&lt;br /&gt;
3. После окончания копирования (файлов будет много и копирование может тормозиться, надо ждать и быть внимательным) прервать установку, вытащить флешку и стартануть комп с HDD. После этого должна пойти установка винды с HDD и проблем с разделами уже быть не должно.&lt;br /&gt;
&lt;br /&gt;
4. После установки винды при запуске будет вылетать окно с выбором загрузки (Windows 7 или Его установка). Избавиться от этого "выбора" можно через изменение файла &lt;span class="Apple-style-span" style="color: red;"&gt;boot.ini&lt;/span&gt;. Сделать это можно на программном уровне так: &lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;Cтарт -&amp;gt; Мой компьютер -&amp;gt; правая кнопка клик -&amp;gt; Свойства -&amp;gt; Дополнительно -&amp;gt; Загрузка и восстановление (Параметры) -&amp;gt; Загрузка операционной системы&lt;/span&gt;. Вот &lt;a href="http://support.microsoft.com/kb/289022"&gt;ссылка&lt;/a&gt;&amp;nbsp;с подробным объяснением.&lt;br /&gt;
&lt;br /&gt;
5. Вот и все. Если винда вдруг полетит ее можно будет восстановить или установить заново уже без USB флешки, а прямо с HDD. Для этого нужно будет поменять настройки boot.ini обратно и выбрать Установку винды.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-6500568363718169084?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/6500568363718169084/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=6500568363718169084' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/6500568363718169084?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/6500568363718169084?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/08/usb-windows-7.html' title='Как сделать USB флешку загрузочной и установить с нее Windows 7 на Netbook MSI U-90'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A04GR3w8fSp7ImA9WxFaEk8.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-4767400389535637836</id><published>2010-07-15T23:43:00.001+03:00</published><updated>2010-07-16T00:38:46.275+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-07-16T00:38:46.275+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='RealtyCommission'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaCode'/><title>RealtyCommission - программа на Java+GWT=JavaScript по работе с недвижимостью.</title><content type='html'>Вот решил сделать небольшую программку &lt;a href="http://realtycommission.appspot.com/"&gt;RealtyCommission&lt;/a&gt; для вычисления комиссионных для агентства недвижимости. Программа написана на языке Java (конечно же ООП) с использованием GWT.&amp;nbsp;Так что это еще один шаг на пути к разработке сайта на Java.&lt;br /&gt;
&lt;br /&gt;
Немного о самой программке. Если недвижимость покупается через АН, обычно за это платят агентству комиссионные. Комиссионные вычисляют по процентному соотношению к стоимости недвижимости. Обычно это может быть 1,5%&amp;nbsp;или 2,5%&amp;nbsp;или 3%&amp;nbsp;или 5%. Как не странно, но некоторые люди забывают как делать вычисления с процентами. Для таких людей программка RealtyCommission облегчит эту задачу.&lt;br /&gt;
&lt;br /&gt;
На всякий случай, напомню как делать арифметические вычисления с процентами.&lt;br /&gt;
Например:&amp;nbsp;Квартира стоит 90000у.е. АН надо заплатить 5% комиссионных от ее стоимости.&lt;br /&gt;
Вычисляем: &lt;span class="Apple-style-span" style="background-color: yellow;"&gt;90000 * 5 / 100 = 4500&lt;/span&gt;. Итак, комиссионные составляют 4500у.е.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-4767400389535637836?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/4767400389535637836/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=4767400389535637836' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/4767400389535637836?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/4767400389535637836?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/07/realtycommission-javagwtjavascript.html' title='RealtyCommission - программа на Java+GWT=JavaScript по работе с недвижимостью.'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUEGRnc6fCp7ImA9WxFbE0g.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-3909561784992503072</id><published>2010-07-05T21:16:00.003+03:00</published><updated>2010-07-05T22:20:27.914+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-07-05T22:20:27.914+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='книга'/><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='диаграма'/><title>UML – хорошее начало для проектирования сайта на Java. Часть 4: VIOLET - free UML editor</title><content type='html'>На свое удивление я нашел ссылку на отличный бесплатный инструмент по созданию UML диаграмм. Называется он Violet. Скачать его можно &lt;a href="http://sourceforge.net/projects/violet/"&gt;здесь&lt;/a&gt;.&lt;br /&gt;
Для того, что бы скаченный *.jar файл заработал надо выполнить в Terminal следующую команду (все пишется одной строчкой): java -jar имя_скаченного_файла.jar.&lt;br /&gt;
&lt;br /&gt;
Программа Violet работает отлично, за исключением того, что некоторые клавишы на моем маке начали работать по-другому. Напримкер, клавиша delete стала работать только в сочетании с клавишей fn (я работаю на MacBook Pro). Но это ерунда, по сравнению с тем, как просто можно создавать UML диаграммы, сохранять их и экспортировать в картинку.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://horstmann.com/violet/"&gt;Ссылку&lt;/a&gt; на эту программу я нашел в книге Кея Хорстмана и Гари Корнела "Java 2. Том 1. Основы. Восьмое издание", стр. 130.&lt;br /&gt;
&lt;br /&gt;
Пример пробной диаграммы (не обращайте внимание на содержание, это просто пример).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_tnDYxJ6I5v4/TDIhYDgWR7I/AAAAAAAAB7I/z_kBUaf9Yv0/s1600/first-UML.png%7C.jpg%7C.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_tnDYxJ6I5v4/TDIhYDgWR7I/AAAAAAAAB7I/z_kBUaf9Yv0/s320/first-UML.png%7C.jpg%7C.jpeg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-3909561784992503072?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/3909561784992503072/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=3909561784992503072' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/3909561784992503072?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/3909561784992503072?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/07/uml-java-4-violet-free-uml-tool.html' title='UML – хорошее начало для проектирования сайта на Java. Часть 4: VIOLET - free UML editor'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_tnDYxJ6I5v4/TDIhYDgWR7I/AAAAAAAAB7I/z_kBUaf9Yv0/s72-c/first-UML.png%7C.jpg%7C.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DE4ERHk5cSp7ImA9WxFUGUs.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-2266015873567140445</id><published>2010-07-01T09:47:00.001+03:00</published><updated>2010-07-01T09:48:25.729+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-07-01T09:48:25.729+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='Budam'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaInterview'/><title>Вопросы для подготовки к собеседованию на вакансию mid and senior Java developer</title><content type='html'>Вопросы и ответы от Якова Фейна (Yakov Fain) он же Budam для тех, кто готовится к интервью на вакансию mid and senior Java developer: &lt;a href="http://java.sys-con.com/node/48839?page=0,0"&gt;"Secrets Of The Masters: Core Java Job Interview Questions"&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-2266015873567140445?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/2266015873567140445/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=2266015873567140445' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/2266015873567140445?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/2266015873567140445?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/07/java-developer.html' title='Вопросы для подготовки к собеседованию на вакансию mid and senior Java developer'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DU8HRHo7fSp7ImA9WxFUF0U.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-4991671117637581963</id><published>2010-06-29T07:42:00.005+03:00</published><updated>2010-06-29T08:03:55.405+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-06-29T08:03:55.405+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='диаграма'/><title>UML – хорошее начало для проектирования сайта на Java. Часть 3: учусь на своих ошибках</title><content type='html'>По диаграмме сайта &lt;a href="http://thejavasite.blogspot.com/2010/06/uml-java-2.html"&gt;из этого поста&lt;/a&gt; я уже получил конструктивное замечание от моего друга-программиста, за что очень признателен. Вывод, который я сделал для себя: не нужно было связывать эту диаграмму с UML. Суть замечаний следующая:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;...рисунок, который отображает структуру сайта, не есть UML диаграмма.&lt;br /&gt;
&lt;br /&gt;
Во первых, любое взвимоотношение между классами может быть только:&lt;br /&gt;
- зависимость&lt;br /&gt;
- ассоциация&lt;br /&gt;
- наследование&lt;br /&gt;
- композиция&lt;br /&gt;
&lt;br /&gt;
В том рисунке не понятно о роде взаимоотношений.&lt;br /&gt;
Таже не понятно чем DVD1 отличается от DVD2 или CD2 от CD1 (кроме порядкового номера).&lt;br /&gt;
НИКОГДА не используй переменные или константы (и методы) в ввиде номера (типа v1, const3) чтобы отобразить, что они отличаются.&lt;br /&gt;
&lt;br /&gt;
Переменная, константа или метод должны играть 2 роли:&lt;br /&gt;
1) Ссылка на данные (если метод, то на действие);&lt;br /&gt;
2) Описание. Оно не есть обязательным для исполнения компьютером, а для человека.&lt;br /&gt;
Когда описательной информации нужно больше, то добавляют комментарий. НО коментарий не должен заменять названия. Сравни:&lt;br /&gt;
а) S v1 = new S()&lt;br /&gt;
b) S v1 = new S() // this is circle&lt;br /&gt;
c) Shape shape = new Circle();&lt;br /&gt;
&lt;br /&gt;
Ты читаешь код, что для воспрятия/понимания лучше?&lt;br /&gt;
&lt;br /&gt;
Дальше.&lt;br /&gt;
&lt;br /&gt;
Суть UML в том, что есть определенный набор знаков/символов, которые являются стандартом.&lt;br /&gt;
Сам символ/знак несет определенную информацию вместо кучи текста, о котором знают все, кто знает стандарты UML. Как говорят, 1 рисунок заменяет 1024 слова.&lt;br /&gt;
&lt;br /&gt;
По этому, в UML существует определенный набор символов и диаграмм UML, которые нужно понимать что они значат и уметь ими пользоваться. Каждая диаграмма описывает модель с разных точек зрения, контекстов и целей. Это значит, что при описании любой структуры в UML нужно:&lt;br /&gt;
а) выбрать нужную диаграмму UML;&lt;br /&gt;
б) описать модель пользуюсь стандартными символами/знаками UML.&lt;br /&gt;
&lt;br /&gt;
И тебя поймут многие :)&lt;/blockquote&gt;&lt;br /&gt;
Кроме всего прочего этот человек считает, что лучшая книга по UML написана Мартином Фаулером (на англ. &lt;a href="http://martinfowler.com/"&gt;Martin Fowler&lt;/a&gt;). Судя по всему эта книга называется "UML Distilled: A Brief Guide to the Standard Object Modeling Language".&lt;br /&gt;
&lt;br /&gt;
Благодаря таким конструктивным замечаниям, я вношу поправку &lt;a href="http://thejavasite.blogspot.com/2010/06/uml-java-2.html"&gt;к предыдущему посту об UML&lt;/a&gt;: сделанную диаграмму сайта webnetika.com лучше рассматривать, как карту сайта, а не UML диаграмму. Я решил оставить эту диаграмму, и не переделывать уже написанные посты. Возможно это поможет кому-то избежать моих ошибок.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-4991671117637581963?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/4991671117637581963/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=4991671117637581963' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/4991671117637581963?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/4991671117637581963?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/06/uml-java-3.html' title='UML – хорошее начало для проектирования сайта на Java. Часть 3: учусь на своих ошибках'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0EESHo-fip7ImA9WxFUFUo.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-1690773265231514013</id><published>2010-06-26T20:55:00.003+03:00</published><updated>2010-06-26T21:06:49.456+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-06-26T21:06:49.456+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='афоризмы'/><category scheme='http://www.blogger.com/atom/ns#' term='Budam'/><title>Не швыцай.</title><content type='html'>&lt;b&gt;Не швЫцай&lt;/b&gt;.&amp;nbsp;(Выудил&amp;nbsp;&lt;a href="http://www.blogger.com/goog_957927556"&gt;из подкаста Budam&lt;/a&gt;&lt;i&gt;&lt;a href="http://budam.rpod.ru/95852.html"&gt;a&lt;/a&gt;&lt;/i&gt;).&lt;br /&gt;
&lt;br /&gt;
Это выражение с еврейского, что означает "не хвастай" в контексте осторожности, которую надо соблюдать, что бы не вызвать зависти ближних и не нажить себе лишних недоброжелателей на ровном месте. Не говорите, что у вас все лучше, чем у других.&lt;br /&gt;
&lt;br /&gt;
И еще один афоризм: &lt;b&gt;кто знает – делает, кто не знает – учит&lt;/b&gt;.&lt;br /&gt;
Высказывание Генри Форда (вольный перевод с англ.): &lt;b&gt;если вы думаете, что можете это сделать – вы правы, если вы думаете, что не можете это сделать – вы тоже правы&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-1690773265231514013?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/1690773265231514013/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=1690773265231514013' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/1690773265231514013?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/1690773265231514013?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/06/blog-post_26.html' title='Не швыцай.'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUEBQnwzeyp7ImA9WxFUFUs.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-4135840416514760227</id><published>2010-06-26T18:25:00.001+03:00</published><updated>2010-06-26T18:54:13.283+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-06-26T18:54:13.283+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='Ларман'/><title>UML – хорошее начало для проектирования сайта на Java. Часть 2.</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Для начала я сделал диаграмму сайта &lt;a href="http://www.webnetika.com/"&gt;www.webnetika.com&lt;/a&gt; в его изначальном состоянии (html+css, no Java) на момент 26 июня 2010 года. Это простая диаграмма взаимодействия всех страниц сайта. Возможно, если делать диаграмму в паре с другим программистом (а именно на этом настаивает Крэг Ларман в своей книге по UML), то она могла бы получиться у меня еще правильнее. Хотя я уверен, что старую структуру &amp;nbsp;сайта&amp;nbsp;(назаву ее так)&amp;nbsp;я изобразил правильно.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/_tnDYxJ6I5v4/TCYXpe_IgWI/AAAAAAAAB6w/rtsV8Nw0Ibs/s1600/UML-001.001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_tnDYxJ6I5v4/TCYXpe_IgWI/AAAAAAAAB6w/rtsV8Nw0Ibs/s320/UML-001.001.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_tnDYxJ6I5v4/TCYibcJn5YI/AAAAAAAAB64/hgZpvgcJ3c8/s1600/Screen+shot+2010-06-26+at+6.52.08+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_tnDYxJ6I5v4/TCYibcJn5YI/AAAAAAAAB64/hgZpvgcJ3c8/s320/Screen+shot+2010-06-26+at+6.52.08+PM.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_tnDYxJ6I5v4/TCYinRZxkJI/AAAAAAAAB7A/DodGtka3LFM/s1600/Screen+shot+2010-06-26+at+6.53.33+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_tnDYxJ6I5v4/TCYinRZxkJI/AAAAAAAAB7A/DodGtka3LFM/s320/Screen+shot+2010-06-26+at+6.53.33+PM.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-4135840416514760227?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/4135840416514760227/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=4135840416514760227' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/4135840416514760227?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/4135840416514760227?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/06/uml-java-2.html' title='UML – хорошее начало для проектирования сайта на Java. Часть 2.'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_tnDYxJ6I5v4/TCYXpe_IgWI/AAAAAAAAB6w/rtsV8Nw0Ibs/s72-c/UML-001.001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEYBQHwzcCp7ImA9WxFUFUs.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-6919350262378568952</id><published>2010-06-26T12:17:00.008+03:00</published><updated>2010-06-26T18:29:11.288+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-06-26T18:29:11.288+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='книга'/><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='Ларман'/><category scheme='http://www.blogger.com/atom/ns#' term='диаграма'/><category scheme='http://www.blogger.com/atom/ns#' term='djvu'/><category scheme='http://www.blogger.com/atom/ns#' term='Budam'/><title>UML – хорошее начало для проектирования сайта на Java. Часть 1.</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language"&gt;UML&lt;/a&gt; - Unified Modeling Language (унифицированный язык моделирования).&lt;br /&gt;
&lt;br /&gt;
Прослушав подкаст (&lt;a href="http://en.wikipedia.org/wiki/Podcast"&gt;podcast&lt;/a&gt;) под названием &lt;a href="http://budam.rpod.ru/91992.html"&gt;"Програмирование в стране Утопия"&lt;/a&gt; от &lt;a href="http://www.americhka.us/"&gt;Budam&lt;/a&gt;, я понял что любую программу нужно начинать с ее диаграммирования (хотя кому-то это может показаться и утопией). В принципе, о пользе и необходимости такого подхода (использования UML в начале любого проекта по программированию) я не раз слышал и от знакомых программистов. Польза от этого всем: такой подход не только помогает разобраться другим в программе, но и, в первую очередь, самому программисту, который работает над этой программой. &lt;br /&gt;
&lt;br /&gt;
Лучшая книга по UML называется &lt;b&gt;"Применение UML и шаблонов проектирования: введение в объектно-ориентированный анализ, проектирование и унифицированный процесс UP"&lt;/b&gt; (английское название: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development). Автор книги: Крэг Ларман (&lt;a href="http://www.craiglarman.com/wiki/index.php?title=Main_Page"&gt;Craig Larman&lt;/a&gt;). Уже вышло третье издание этой книги, я нашел ее англ. версию и уже читаю, правда не в PDF, а в DJVU (маковскую версию проги для чтения djvu можно скачать &lt;a href="http://sourceforge.net/projects/djvu/files/"&gt;здесь&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Итак, основная идея этого поста такая: &lt;b&gt;проектирование сайта на Java должно начинаться с диаграммирования, созданного с помощью UML.&lt;/b&gt; Таким же образом полезно начинать проектирование любой программы на Java.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-6919350262378568952?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/6919350262378568952/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=6919350262378568952' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/6919350262378568952?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/6919350262378568952?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/06/uml.html' title='UML – хорошее начало для проектирования сайта на Java. Часть 1.'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DkMDSXo8fCp7ImA9WxFUFEs.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-7134194674613629940</id><published>2010-06-25T14:04:00.001+03:00</published><updated>2010-06-25T14:14:38.474+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-06-25T14:14:38.474+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='JavaCMS'/><title>Josefine – CMS на Java</title><content type='html'>Я побывал на сайте разработчиков &lt;a href="http://www.dz.ru/solutions/josephine/why#01"&gt;Josefine – CMS на Java&lt;/a&gt;. Было интересно узнать какие плюсы CMS на Java они выделяют.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Во-первых&lt;/b&gt;, РЕПУТАЦИЯ. Они сравнивают разработку сайта на PHP, как строительство дома из конструктора лего. Их вывод: дешево и быстро, но не надежно. Поэтому подход к разработке сайта на Java они смело называют "решением для тех, кто дорожит своей репутацией", и пользуется профессиональными инструментами (читай Java).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Во-вторых&lt;/b&gt;, БЕЗОПАСНОСТЬ. Они убеждены, что сайт на Java намного труднее взломать, чем на PHP. Они утверждают, что "случаев успешного взлома веб-систем на основе Java практически не известно".&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;В третьих&lt;/b&gt;, БЫСТРОДЕЙСТВИЕ. Быстродействие систем на Java (обрабатка множества одновременных запросов) на порядок превышают показатели аналогичной системы на основе PHP. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;В четвертых&lt;/b&gt;, ИНДИВИДУАЛЬНОСТЬ. Разработчики CMS Josefine считают, что технология Java позволит создать сайт, отличающийся своей индивидуальностью от дешевых штатных экземпляров.&lt;br /&gt;
&lt;br /&gt;
Конечно, не все согласятся с мнением авторов по части PHP (см. &lt;a href="http://webcache.googleusercontent.com/search?q=cache:rJbe-VHxI3QJ:www.sql.ru/Forum/actualthread.aspx%3Fbid%3D38%26tid%3D687358%26hl%3D+создание+сайта+на+java&amp;cd=8&amp;hl=en&amp;ct=clnk&amp;client=safari"&gt;форум на sql.ru&lt;/a&gt;), но взять себе на заметку эти сравнения не помешает.&lt;br /&gt;
&lt;br /&gt;
По мимо всего прочего с этого сайта можно скачать видео размером около 100Мб, что бы посмотреть эту CMS на Java в работе. Видео показывает как создается новый шаблон сайта на основе шаблона Yahoo. ИМХО идея интересная, но реализация кажется сложной.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-7134194674613629940?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/7134194674613629940/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=7134194674613629940' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/7134194674613629940?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/7134194674613629940?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/06/josefine-cms-java.html' title='Josefine – CMS на Java'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0cER305eyp7ImA9WxFUFEs.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-656979006744458791</id><published>2010-06-25T10:52:00.012+03:00</published><updated>2010-06-25T14:23:26.323+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-06-25T14:23:26.323+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaCode'/><title>Пример Java кода, чтобы начать понимать философию разработки сайта на Java</title><content type='html'>Конечно, никто не начинает проектировать сайт на Java с написания кода в самом начале. Но, мне было интересно заглянуть чуть вперед и узнать, что ожидает Java разработчика, который будет работать над разработкой сайта на Java. (Саша, спасибо за помощь.)&lt;br /&gt;
&lt;br /&gt;
Внизу приводится пример кода на Java. Пример очень простой. Предполагаем, что у нас есть два диска DVD, один стоимостью в 100 грн, а другой в 200 долларов. В трёх файлах с кодом реализовано создание этих дисков, как отдельных объектов от родительского класса Disc. Кроме этого реализуется функция сортировки этих дисков по цене и используется понятие полиморфизм (см. SubDisc).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; font-weight: normal;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;div style="font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Первый файл с описанием класса Disc:&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #9e0069;"&gt;package&lt;/span&gt; info.tvir.disc;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #9e0069; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;public&lt;span style="color: black;"&gt; &lt;/span&gt;class&lt;span style="color: black;"&gt; Disc {&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;private&lt;/span&gt; String &lt;span style="color: #2400d0;"&gt;name&lt;/span&gt;;&lt;/div&gt;&lt;div style="color: #9e0069; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;private&lt;span style="color: black;"&gt; &lt;/span&gt;int&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #2400d0;"&gt;price&lt;/span&gt;&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; Disc(){}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; Disc(String name, &lt;span style="color: #9e0069;"&gt;int&lt;/span&gt; price){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;this&lt;/span&gt;.&lt;span style="color: #2400d0;"&gt;name&lt;/span&gt; = name;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;this&lt;/span&gt;.&lt;span style="color: #2400d0;"&gt;price&lt;/span&gt; = price;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; String getName() {&lt;/div&gt;&lt;div style="color: #9e0069; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;return&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #2400d0;"&gt;name&lt;/span&gt;&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; &lt;span style="color: #9e0069;"&gt;int&lt;/span&gt; getPrice() {&lt;/div&gt;&lt;div style="color: #9e0069; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;return&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #2400d0;"&gt;price&lt;/span&gt;&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; &lt;span style="color: #9e0069;"&gt;void&lt;/span&gt; setName(String name) {&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;this&lt;/span&gt;.&lt;span style="color: #2400d0;"&gt;name&lt;/span&gt; = name;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; &lt;span style="color: #9e0069;"&gt;void&lt;/span&gt; setPrice(&lt;span style="color: #9e0069;"&gt;int&lt;/span&gt; price) {&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;this&lt;/span&gt;.&lt;span style="color: #2400d0;"&gt;price&lt;/span&gt; = price;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; String printCurrencyPrice(){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;return&lt;/span&gt; &lt;span style="color: #2400d0;"&gt;price&lt;/span&gt; + &lt;span style="color: #4e00ff;"&gt;" grn"&lt;/span&gt;;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: #777777; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;@Override&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; String toString(){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;return&lt;/span&gt; &lt;span style="color: #2400d0;"&gt;name&lt;/span&gt; + &lt;span style="color: #4e00ff;"&gt;" "&lt;/span&gt; + printCurrencyPrice();&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Второй файл с описанием класса DiscTester:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style="color: #9e0069;"&gt;package&lt;/span&gt; info.tvir.disc;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #9e0069;"&gt;import&lt;/span&gt; java.util.ArrayList;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #9e0069;"&gt;import&lt;/span&gt; java.util.List;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; &lt;span style="color: #9e0069;"&gt;class&lt;/span&gt; DiscTester {&lt;/div&gt;&lt;div style="color: #9e0069; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;private&lt;span style="color: black;"&gt; &lt;/span&gt;static&lt;span style="color: black;"&gt; &lt;/span&gt;final&lt;span style="color: black;"&gt; &lt;/span&gt;int&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #2400d0;"&gt;LIMIT&lt;/span&gt;&lt;span style="color: black;"&gt; = 100;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; &lt;span style="color: #9e0069;"&gt;static&lt;/span&gt; &lt;span style="color: #9e0069;"&gt;void&lt;/span&gt; main(String[] args) {&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;DiscTester tester = &lt;span style="color: #9e0069;"&gt;new&lt;/span&gt; DiscTester();&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;List&lt;disc&gt; discs = tester.getDiscs();&lt;/disc&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;for&lt;/span&gt; (Disc each : discs){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;System.&lt;span style="color: #2400d0;"&gt;out&lt;/span&gt;.println(each);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;System.&lt;span style="color: #2400d0;"&gt;out&lt;/span&gt;.println(&lt;span style="color: #4e00ff;"&gt;"discs higher than "&lt;/span&gt; + &lt;span style="color: #2400d0;"&gt;LIMIT&lt;/span&gt;);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;List&lt;disc&gt; selected = tester.getHiCostDiscs(discs, &lt;span style="color: #2400d0;"&gt;LIMIT&lt;/span&gt;);&lt;/disc&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;for&lt;/span&gt; (Disc eachSelected : selected){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;System.&lt;span style="color: #2400d0;"&gt;out&lt;/span&gt;.println(&lt;span style="color: #4e00ff;"&gt;"selected disc: "&lt;/span&gt; + eachSelected);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;private&lt;/span&gt; List&lt;disc&gt; getDiscs(){&lt;/disc&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;List&lt;disc&gt; discs = &lt;span style="color: #9e0069;"&gt;new&lt;/span&gt; ArrayList&lt;disc&gt;();&lt;/disc&gt;&lt;/disc&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Disc firstDisc = &lt;span style="color: #9e0069;"&gt;new&lt;/span&gt; Disc();&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;firstDisc.setName(&lt;span style="color: #4e00ff;"&gt;"The first disc"&lt;/span&gt;);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;firstDisc.setPrice(100);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;SubDisc secondDisc = &lt;span style="color: #9e0069;"&gt;new&lt;/span&gt; SubDisc(&lt;span style="color: #4e00ff;"&gt;"The second disc"&lt;/span&gt;, 200);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;discs.add(firstDisc);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;discs.add(secondDisc);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;return&lt;/span&gt; discs;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;private&lt;/span&gt; List&lt;disc&gt; getHiCostDiscs(List&lt;disc&gt; discs, &lt;span style="color: #9e0069;"&gt;int&lt;/span&gt; limit){&lt;/disc&gt;&lt;/disc&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;List&lt;disc&gt; result = &lt;span style="color: #9e0069;"&gt;new&lt;/span&gt; ArrayList&lt;disc&gt;();&lt;/disc&gt;&lt;/disc&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;for&lt;/span&gt; (Disc each : discs){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;if&lt;/span&gt; (each.getPrice() &amp;gt; limit){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;result.add(each);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;return&lt;/span&gt; result;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/div&gt;&lt;div style="font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Третий файл с описанием класса SubDisc:&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Использование этого класса необходимо, что бы применить принципы полиморфизма и выводить метод getPrice() с указанием валюты в долларах, а не в гривне.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #9e0069;"&gt;package&lt;/span&gt; info.tvir.disc;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #9e0069; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;public&lt;span style="color: black;"&gt; &lt;/span&gt;class&lt;span style="color: black;"&gt; SubDisc &lt;/span&gt;extends&lt;span style="color: black;"&gt; Disc{&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; SubDisc(String name, &lt;span style="color: #9e0069;"&gt;int&lt;/span&gt; price){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;super&lt;/span&gt;(name,price);&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;public&lt;/span&gt; String printCurrencyPrice(){&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #9e0069;"&gt;return&lt;/span&gt; getPrice() + &lt;span style="color: #4e00ff;"&gt;" $"&lt;/span&gt;;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Результат взаимодействия этих трех файлов:&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Times; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 20px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;1. Выводится список всех дисков (у нас по условию только 2);&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;2. Делается запрос найти диски с ценой больше 100.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;3. Выводится результат поиска: диск с ценой 200 долларов.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 20px;"&gt;Так выглядит результат в программе Eclipse:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_tnDYxJ6I5v4/TCR1Y9DNPaI/AAAAAAAAB6o/WBSdsQtDoP4/s1600/Screen+shot+2010-06-25+at+12.06.33+PM.png" imageanchor="1" style="margin-left: 0em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_tnDYxJ6I5v4/TCR1Y9DNPaI/AAAAAAAAB6o/WBSdsQtDoP4/s320/Screen+shot+2010-06-25+at+12.06.33+PM.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-656979006744458791?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/656979006744458791/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=656979006744458791' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/656979006744458791?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/656979006744458791?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/06/disc.html' title='Пример Java кода, чтобы начать понимать философию разработки сайта на Java'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_tnDYxJ6I5v4/TCR1Y9DNPaI/AAAAAAAAB6o/WBSdsQtDoP4/s72-c/Screen+shot+2010-06-25+at+12.06.33+PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;C0EHQXs_cSp7ImA9WxFUFEg.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-200030130944523592</id><published>2010-06-25T10:40:00.001+03:00</published><updated>2010-06-25T10:40:30.549+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-06-25T10:40:30.549+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='форум'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaСайты'/><category scheme='http://www.blogger.com/atom/ns#' term='vingrad'/><title>Примеры сайтов, работающих на Java</title><content type='html'>Тема на форуме сайта vingrad.ru, где собрано много ссылок на   &lt;a href="http://forum.vingrad.ru/forum/s/bbfd66595fba885cb9a1b5013aebb1e1/topic-56345/anchor-entry1277744/0.html"&gt;сайты, которые работают на Java&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-200030130944523592?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/200030130944523592/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=200030130944523592' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/200030130944523592?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/200030130944523592?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/06/vingrad.html' title='Примеры сайтов, работающих на Java'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;C0MMRHg9eSp7ImA9WxFUFE8.&quot;'><id>tag:blogger.com,1999:blog-4799369114749835375.post-6881766355503856215</id><published>2010-06-25T01:25:00.006+03:00</published><updated>2010-06-25T02:18:05.661+03:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-06-25T02:18:05.661+03:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='МойБлог'/><title>Об этом блоге</title><content type='html'>Это блог о создании Java сайта с нуля. &lt;br /&gt;
&lt;br /&gt;
Он будет особенно интересен, я надеюсь, для начинающих программистов, которые изучают &lt;a href="http://www.java.com/ru/"&gt;Java&lt;/a&gt;. Почему? Потому что при поиске работы в IT сфере наверно не я один столкнулся с тем фактом, что без опыта работы с Java невозможно устроиться даже на должность Junior Java Developer (по крайней мере в Киеве). Этот блог — история моего изучения Java с опытом работы над конкретным Java проектом.&lt;br /&gt;
&lt;br /&gt;
В качестве своего первого проекта по Java я выбрал создание Java сайта с нуля. Нулём в этом случае будет сайт &lt;a href="http://www.webnetika.com"&gt;http://www.webnetika.com&lt;/a&gt;, созданный мной исключительно на &lt;a href="http://www.w3.org/MarkUp/Guide/"&gt;HTML&lt;/a&gt; и &lt;a href="http://www.w3.org/Style/CSS/"&gt;CSS&lt;/a&gt; без использования какой-либо &lt;a href="http://en.wikipedia.org/wiki/Content_management_system"&gt;CMS&lt;/a&gt;. Я собираюсь сделать этот сайт, работающим на Java.&lt;br /&gt;
&lt;br /&gt;
В блоге я буду публиковать всё, что в процессе моей работы я посчитаю интересным и полезным. С английским у меня проблем нет, поэтому все посты и ссылки не будут ограниченны только русскоязычными источниками.&lt;br /&gt;
&lt;br /&gt;
Буду рад, если кто-то присоединится к реализации этого проекта словом или делом. Сразу хочется выразить благодарность Александру (&lt;a href="http://www.tvir.info"&gt;Tvir.info&lt;/a&gt;), без помощи которого мне было был намного труднее начать разбираться в &lt;a href="http://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование"&gt;ООП&lt;/a&gt; и тем более иметь в своем распоряжении &lt;a href="http://www.tvir.info"&gt;хостинг, с установленной Java&lt;/a&gt;. Саша, спасибо!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4799369114749835375-6881766355503856215?l=thejavasite.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thejavasite.blogspot.com/feeds/6881766355503856215/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=4799369114749835375&amp;postID=6881766355503856215' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/6881766355503856215?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4799369114749835375/posts/default/6881766355503856215?v=2'/><link rel='alternate' type='text/html' href='http://thejavasite.blogspot.com/2010/06/blog-post.html' title='Об этом блоге'/><author><name>Andre Paniov</name><uri>http://www.blogger.com/profile/17977431496427188115</uri><email>noreply@blogger.com</email><gd:extendedProperty name='OpenSocialUserId' value='17202883508241009778'/></author><thr:total>0</thr:total></entry></feed>