Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Студенческий отдел кадров |
Автор: AntonSaburov 2.10.2006, 16:23 |
Я начал цикл статей по технологиям JAVA. Цель и идея рассмотрены в первой статье. Мне очень важно знать ваше мнение по этому вопросу, потому как работа большая, возможно это черновики книги. Насколько нужен такой дайджест и вообще ваши пожелания. ВНИМАНИЕ !!! На сегодня есть проблемы с публикацией, так что заходите вот сюда http://java-course.ru/students/students.php |
Автор: batigoal 2.10.2006, 21:38 |
Отличная инициатива! |
Автор: integral 2.10.2006, 23:13 |
Я за!!! |
Автор: COVD 3.10.2006, 00:25 | ||
Мне последнее время стал интересен вопрос - какие мотивы написания статей и книг у программистов. В вашем случае ответ казалось бы дан в начале статьи - вы преподаете и у вас естественная потребность иметь учебный материал, в частности, учебный проект "Студенческий Отдел Кадров", на примере которого шаг за шагом можно изложить теорию и практику. Тогда почему вы интересуетесь актуальностью такого проекта на форуме? Не вам ли это нужно прежде всего для преподавания и не вам ли знать свои потребности, на основании которых только и можно решить, браться ли за такую большую работу или адаптировать существующие курсы (если есть) под ваши нужды? Критиковать - дело не хитрое, но все же.. Первый абзац - это Введение. Потом глава - общее описание учебного проекта. И только потом "Коллекции","Синхронизации", и т.д. И слово "классно" я бы в тексте не употреблял ![]() |
Автор: LSD 3.10.2006, 09:52 |
Отличная идея! Теперь будет что ответить на вопрос: "С чего начать?" ![]() |
Автор: powerOn 3.10.2006, 13:06 |
AntonSaburov, а какие статьи планируются быть написанными в дальнейшем? Какая тематика будет в них затронута? Это будет Ваш личный проект или в нем сможет принять участие любой желающий, в качестве писателя/критика (тогда бы получилось что то вроде Vingrad Java Tutorial ![]() |
Автор: tux 3.10.2006, 13:23 |
Антон, за одну идею глубочайший респект. На мой взгляд идеальным конечным результатом стал бы туториал, созданный сообществом как начинающих, так и опытных участников сообщества, принимающих участие хотя бы в качестве критиков. Опытные знают как и что, а начинающие еще помнят насколько сложно изучать с нуля. ![]() У меня самого приличный опыт преподавания в вузе (правда не Java), прекрасно представляю как обстоит дело с преподавателями IT. И если в Питере с ними беда, что тогда говорить об Улан-Удэ. Думаю такой материал помог бы очень многим. В перспективе с удовольствием помог бы. |
Автор: AntonSaburov 3.10.2006, 13:46 | ||||
Конечно существует предварительный план ![]() На сегодня он выглядит следующим образом (конечно названия могут меняться и что-то может добавляться или наоборот): - Введение - Часть 1 - Коллекции - Часть 2 - Как ныне сбирается (статья о сборке проектов. Сведения об IDE, Maven и конечно же Ant) - Часть 3 - Базы данных - JDBC в действии - Часть 4 - Объекты для базы данных - Hibernate - Часть 5 - GUI - визуальные компоненты Swing - Часть 6 - Тестирование как стиль жизни (JUnit, DBUnit, TestNG) - Часть 7 - Оставляйте следы везде (Основы log4j) - Часть 8 - Не послать ли нам гонца (отсылка почты) - Часть 10 - Выходим в большой мир. Web-интерфейс - Servlets, JSP, JSTL, JSF. Достаточно большая статья. Возможно надо будет разделить. - Часть 11 - Web-Services - Часть 12 - Enterprise Java Beans Насколько получится его осуществить - не знаю. Буду стараться.
Несомненно критика принимается и я очень надеюсь, что текст (даже опубликованный) будет постоянно дорабатываться. Идея на счет Vingrad Java Tutorial - очень интересна и если у кого-то будет желание написать что-то из вышеперечисленного - буду рад. |
Автор: tux 3.10.2006, 13:51 |
Часть №4 мог бы написать если сроки не сжатые (вдруг ты решил закончить все за два месяца), тем более что давно мысль болтается в голове, но все никуда не пристанет. ![]() |
Автор: batigoal 3.10.2006, 14:20 |
Антон, это очень масштабный замысел. Конечно, хотелось бы получить на выходе "просто о сложном", но ты уверен, что такие серьезные вещи заинтересуют начинающего? Например, кончепция JUnit мне не понятна и по сей день, а я уже не совсем новичок. Или ты такую цель перед собой и ставишь - показать наиболее интересные и продвинутые вещи, пускай и на уровне HelloWorld? |
Автор: AntonSaburov 3.10.2006, 14:40 | ||||
С удовольствием - в принципе интерфейс к получению данных уже описан и сами объекты тоже. Так что если есть возможность - буду очень признателен. По поводу сроков - я вряд ли смогу писать быстрее одной части за две-три недели. Так что время есть ![]()
Так начинаем мы с простого. Это раз. Во-вторых - если внимательно посмотреть, то ничего реально сложного во всех технологиях JAVA нет - они логичны и понятны. Надо только правильно расставить акценты и дать понятный и очевидный пример. Часто примеры выдумывают без связи с каким-либо контекстом и они получаются надуманными и непонятными. А когда очевидна задача и данная технология к ее решению подходит (ЭТО ОБЯЗАТЕЛЬНО - иначе фигня получается), то объяснять гораздо проще, да и читателю понятнее. Как это получится у нас - не знаю. Но это еще одна причина пробовать реализовать - сделать лучше, чем до тебя ![]() "Отдел кадров" очень хорошо ложится на большое количество реально существующих проектов, с которыми я сталкивался. И я видел реально работающие проекты для этих технологий. Никто не мешает потом исправить статью, если вдруг станет видно более интересное решение. Да и если постигнет нас неудача - пока не попробуем, не узнаем. Аналогов такого плана я пока для JAVA не видел. Надо пробовать. |
Автор: y3u 3.10.2006, 15:06 |
Эх, я вот так вижу "идеальный" тьюторил для начинающего программистега на JAVA - 1 - JAVA applications types, command line distribution, automated building technologies - 2 - Debugging introduction (including logging) - 3 - Collections framework, annotations and generics understanding - 4 - Code design and code style patterns. POJO programming style - 5 - Stand alone applications introduction (SWING framework, LAF technology) - 6 - WEB applications technologies: 6.1 - Servlet API 6.2 - JSP, JSTL 6.4 - Model2 frameworks introduction (maverick, struts, JSF etc...) 6.5 (optional) - javax.mail API (including as EJB session bean pattern) - 7 - Data Bases and SQL introduction - 8 - JDBC in action - 9 - Hibernate framework, HSQL introduction - 10 - EJB design patterns - 11 - SOAP, WSDL, Axis etc. вот как-то так... |
Автор: AntonSaburov 3.10.2006, 15:39 | ||
Так это ничем не отличается от моей программы - разве что несколько больше внимания уделено вопросам проектирования. Так что если есть желание - присоеденяйся. Хотя бы в качестве критика. |
Автор: COVD 3.10.2006, 15:42 | ||
А в чем особенность - то ? Вы хотите написать учебник или учебное пособие. Учебников по JAVA наверное много. Вы хотите построить изложение материала на примере одного проекта. Такой прием тоже в мировой литературе встречается. Наверное, прежде всего хорошо бы обозначить основные отличия задуманного от уже существующего. Например, чем это будет отличаться от книги Эккеля. На западе популярны издания книг, написанных коллективом специалистов, с фотографиями всех авторов на обложке (например - http://www.amazon.com/Professional-Java-Server-Programming-Javaspaces/dp/1861002777). Вот, можно и таким образом учебник написать. ![]() |
Автор: batigoal 3.10.2006, 15:49 |
Как минимум, тем, что будет продвигаться на нашем форуме, как доморощенная разработка ![]() А отличия... Какая разница, будут они, или нет - лишь бы людям помогло. |
Автор: COVD 3.10.2006, 15:58 | ||
И все же учебники редко пишутся коллективом. Для успеха учебника не столько важна глубина знания предмета авторов, сколько умение изложения.
Да, наверное ![]() |
Автор: y3u 3.10.2006, 16:22 | ||
ну по контенту может быть и не сильно отличается, а принципиально, все-таки, я считаю, важна последовательность изложения, к примеру, зачем давать ДБ перед гуями? ![]() ![]() Спасибо за предложение, если будет время обязательно присоединюсь, я дома для себя кое что перевожу из джавадоков и юзергайдов сторонних библиотечек в виде небольших презентаций, пока мало чего есть, но авось пригодится, хотя сейчас выйдет мустанг и там много чего будет внутри ![]() ![]() |
Автор: AntonSaburov 3.10.2006, 16:34 | ||||
Я не согласен ![]() А GUI - это гораздо сложнее и зайет наверняка больше страниц. К уже готовому движку для БД прикручивать GUI будет IMHO гораздо интереснее. Тем более, что при правильном проектировании для GUI будет по барабану - будет работать с ManagementSystem через интерфейс. А за ним хоть база, хоть коллекция. И в этом тоже есть свой резон.
Но такого рода книг именно по JAVA я не видел. Да и если критика заключается именно в том, чтобы просто сказать - фигня все это - то это не конструктивно IMHO. Если кто-то что-то когда-то сделал - это не значит, что нельзя сделать лучше. Может и не получится. Но "я хоть попробовал" (с) "Пролетая над гнездом кукушки" |
Автор: COVD 3.10.2006, 16:45 | ||||
Может "нет толковых преподавателей" - это не смертельно? У нас был только курс программирования на Фортране (12 лекций) и все. Это нормально. Для инженера компьютер - всего лишь рабочий инструмент. Кому надо больше - сами освоят. Другое дело, когда программирование и вычислительная техника - основная специальность. Computer Science, так сказать. В этом случае ну не может не быть профессиональных преподавателей. Добавлено @ 16:51
ОК ![]() |
Автор: batigoal 3.10.2006, 16:56 |
...при условии, что человек уже знаком с теорией БД и знает SQL. А это условие отнюдь не обязательно будет выполнено. Хотя, тут ведь как: не нужна тебе эта глава - пропускай. |
Автор: AntonSaburov 3.10.2006, 17:01 | ||
Я думаю, что т.к. произошло разделение работы с данными и интерфесом классом ManagementSystem, то можно строить повествование не пересекаясь. В конце концов поменяем очередность. Благодарю всех, кто высказался - прошли мои два свободных дня, опять начинается работа и вряд ли я смогу опять дискутировать по этому поводу некоторое время. Так что все замечания оставляйте здесь или пишите e-mail. Адрес в профиле есть. Постараюсь что-то опебликовать как можно быстрее. |
Автор: AntonSaburov 11.10.2006, 12:29 |
Добавлены две новые части: Часть 2 - Введение в GUI - http://www.java-course.ru/students/part2.html Часть 3 - Базы данных - http://www.java-course.ru/students/part3.html Очень прошу давать оценки и критиковать. Еще раз говорю, что мой e-mail есть в моем профиле. Я захожу на форум сейчас редко и мне проще, если вы будете присылать письма с вашими замечаниями. |
Автор: Bulat 11.10.2006, 12:50 | ||
Ну если честно, то настоящий программист должен хотя бы чуточку знать об этом. Потому как я не могу представить себе программирование без БД. Уж очень во многих местах она встречается. И, вообще, не в обиду, но камень в огород, условно назову "пхпшников"(из-за узкой спецификации языка), потому как встречаю тех кто могут набросать сайтик, а связать с БД - труба. А еще программисты(хотя формально и верно). Еще раз повторюсь не в обиду, название условное и все прекрасно знают о ком я говорю ![]() AntonSaburov, Поддерживаю, чисто за счет того, что самому очень нравится ява, но регулярно возникают те или иные вопросы(потому как люблю и ГУИ, и сетевое программирование), а вот хорошего материальчика малова-то. Тем более по работе пока приходится кодить на другом языке и не у кого даже черпать опыт. Ну про винградовцев молчу, если бы не вы может давно уже бросил бы. ![]() Вообщем, буду критиковать с точки зрения начинающего программиста ![]() |
Автор: batigoal 11.10.2006, 13:16 | ||
Области разные есть, в том числе и не свзяанные с базой, и их немало. Программирование железок, например. |
Автор: AntonSaburov 11.10.2006, 13:26 |
Господа - я конечно понимаю, что обсуждать интересно, кто что должен знать. Но мне бы хотелось, чтобы высказывались по поводу написанного. |
Автор: Bulat 11.10.2006, 13:52 | ||||
ИМХО, но даже к чтоб дойти до тех же железок, нужно пройти сначала основы БД. Да и вообще, если бы БД не была уж очень важна(очень акцентирию), то этот предмет не включали бы отдельной дисциплиной в университетах. ИМХО.
Маленько подискутировать всегда интересно ![]() Вообщем первую часть прочитал, воспроизвел. Лично мое мнение(вообще считаю что хорошо было бы если бы во всех учебниках и т.п. делалось такое). Не плохо было бы перед каждым ифом, циклом маленький комментарий(конечно чем развернутее тем лучше, но всегда стоит оставлять немного чтоб нужно было додумать), по поводу того что конкретно здесь делается и почему именно здесь, почему такая реализация. Может показаться пустой тратой времени, но на мой взгляд это исключит еще в зародыше ряд второстепенных вопросов, как например: "Это можно сделать по-другому, в другом месте, почему так?". Лично я на первых курсах(уже зная немного о программировании) не редко задавал такие вопросы. А могут разрешиться и ряд других более важных вопросов. Но лично мое мнение ![]() |
Автор: EvgenZ 12.10.2006, 22:54 |
AntonSaburov, а на какой уровень знаний ориентированны эти статьи? Если на студентов, то по мне слишком сложно для начала, а для уже знакомо с явой слишком скучно. Есть большое желание прокрутить Get Set - еры. Резюме: для начинающего перегруженно кодом, для немного понимающего неинтересно. имхо |
Автор: AntonSaburov 13.10.2006, 12:39 |
В принципе в вводной части сказано, что надо знать синтаксис язык и понмать что такое ООП. В принципе этого должно быть достаточно. Я уже подправил часть для коллекций - так что можно смотреть обновленный вариант. |
Автор: Baka_tyan 13.10.2006, 17:37 |
Классная идея. Для начинающих, которые выучили мат.часть(теорию) - самое то. Я на своем форуме уже выложил(есс-но с ссылкой на первоисточник). Только не понятно, - зачем во 2 части перегружать Managment System методами updateStudent, deleteStudent и т.д, если в ГУЕ нет слушателей и обработчиков, которые бы использовали данные методы? А так - Супер!!! Спасибо. ![]() |
Автор: AntonSaburov 16.10.2006, 12:04 | ||||
Во-первых - они не занимают много места. Во-вторых - хотелось показать, что коллекции могут что-то делать. Во-третьих - я снова вернусь к GUI в следующей части и рассмотрю слушателей и модели. Возможно, что методы были лишними, но я не думаю, что они сильно осложнили код. Зато что-то можно было посмотреть. В конце концов это "живой" материал, который будет исправляться и в дальнейшем. А за отклик спасибо - именно за замечания спасибо, а не за похвалу. Хотя это тоже приятно ![]() Добавлено @ 12:05
А посмотреть можно ? |
Автор: AntonSaburov 18.10.2006, 11:35 |
Добавлена еще одна часть, посвященная GUI - http://www.java-course.ru/students/part4.html |
Автор: batigoal 18.10.2006, 11:45 |
AntonSaburov, может, до кучи добавить Spring? Я сам буду пробовать его полапать, вдруг получится наваять HelloWorld. |
Автор: AntonSaburov 18.10.2006, 13:00 |
Spring интересен как локальная замена EBJ - работа с базой данных, введение транзакций, аспектное программирование, инициализация бинов и прочая. Я думал над этим - тем более, что сейчас плотно работаем с EJB, Spring, Hibernate и опыт использования есть. Но все-таки хотелось бы наверно сначала закончить с тем, что наметил. Потом можно будет расширять наши систему используя различные общепризнанные оболочки. Так что возможно, что появиться Spring. Будущее покажет. |
Автор: AntonSaburov 19.10.2006, 18:51 |
Расширение пользовательского интерфейса - http://www.java-course.ru/students/part5.html Не знаю, может зря я небольшими частями делаю, но по-моему так воспринимать проще - небольшой кусочек сделали - и хорошо. А сразу много - подавиться можно ![]() |
Автор: AntonSaburov 25.10.2006, 13:25 |
Окончательная статья про GUI окончена и ждет ваших пожеланий - http://www.java-course.ru/students/part6.html Теперь на пороге WEB. Еще раз очень прошу высказывать свои замечания. |
Автор: Hidrag 25.10.2006, 15:28 |
Спасибо за работу! Начну знакомство с JAVA с этого материала ![]() |
Автор: Hidrag 28.10.2006, 16:27 | ||||||||
Итак, я решил познокомиться с Java. Начал читать САБЖ который с самого начала отправил меня к изучению основ. Хорошо я освоил основы здесь http://www-128.ibm.com/developerworks/ru/edu/j-intjava/index.html (хороший учебник для начала с нуля, все четко и подробно описано, только основы). Начал продолжать обучение с САБЖ. 1. Коллекции: Ошибка (имхо опечатка) в первом же примере кода, описаны два идентичных метода, когда в тексте сказано что там геттер и сеттер, а там два сеттера. Предлагаю заменить второй метод на:
Больше замечаний пока нет ![]() продолжаю обучени... ![]() Ну вот вроде весь код прочитал, в ИДЕ (Эклипс) перепечатал, все настроил, запускаю: фиг! пошли ошибки! Вот что вышло:
воот... после изменения в функции getStudentsFromGroup(Group group, int year) строки
на
Может несовместимость типа TreeSet и Collection? или я что то не так сделал? |
Автор: AntonSaburov 30.10.2006, 13:24 | ||
Спасибо за замечания. Исправил. И там оказалась еще одна ошибка - тоже исправил.
Не удалось воспроизвести - у меня все прекрасно работает. Хорошо бы подробнее узнать о проблеме. |
Автор: Bulat 13.11.2006, 13:15 | ||||||||
Кстати, вроде еще ошибка не внимательности: в третьей части про БД в классе Student.java, не хвататет
для резултсета, и соотв. ексепшона ![]() ИМХО, но я вообще стараюсь писать не
а
так по-моему более понятнее, особенно для начинающих, что конкретно делают эти строки кода ![]() И сразу такой вопрос, почему вот вышеуказанный код, для класса Student.java в самом классе, а для Group.java в ManagementSystem.java? Только показать, что можно и так, и так, и в данном примере это не играет особой роли?.. И еще, при коннекте к базе, может сразу писать так:
Отступ от стандартного, что дается в учебниках, но лично у меня после этого проблем с кириллицей не возникало, а до все время мучался ![]() |
Автор: AntonSaburov 13.11.2006, 17:15 |
Спасибо за замечания - исправил. Так действительно лучше. На время беру паузу - очень много работы, но я потихонечку пишу, правда уже не так быстро, как раньше. |
Автор: Bulat 13.11.2006, 17:30 |
AntonSaburov, да и я не быстро, не всегда времени бывает, чтоб посидеть, воспроизвести, да еще и проанализировать ![]() |
Автор: Bulat 14.11.2006, 09:06 | ||||
Чтот действительно быстро получается ![]() Вообщем такой момент:
Вот тут маленький огрех, как раз если водить мышкой(нажал и не отпускать), то метод срабатывает один раз, а если на каждый элемент списка нажать и отпустить мышку, то и срабатывает дважды. Хотя может я не совсем верно понял "изменять строки мышкой" ![]()
все ок |
Автор: AntonSaburov 8.12.2006, 13:22 |
Добавлена новая статья (и первая в части прораммирования для Интернет) - http://www.java-course.ru/students/part7.html |
Автор: Gregorian 19.12.2006, 21:53 |
Хочу выразить благодарность всем участникам проекта! Ваш проект для таких новичков как я - просто сказка! Очень помогает в изучении java и читать интересно! Большое спасибо! |
Автор: AntonSaburov 15.2.2007, 19:07 |
Добавлена статья по JSP - http://www.java-course.ru/students/part8.html |
Автор: val_vp 24.2.2007, 10:47 | ||||
Hi, я уже в заметках к статье Часть 6 - GUI - заключительные классы в заметках это уже писал, но повторюсь, Цикл статей просто класс, низкий поклон AntonSaburov-у за статьи. прочитал все, много не сразу понял ![]() токо вот один момент я не очень понял по "Часть 6" с добавлением студента он что добавляется 2 раза? функция insertStudent() -- StudentFrame.java 336-339:
и actionPerformed() -- StudentDialog.java 217:
|
Автор: AntonSaburov 26.2.2007, 14:06 | ||
Идея в том, чтобы не вызывать диалог при каждом добавлении студента - т.е. в самом дилоге можно добавить студента и сразу же начать добавлять следующего, не закрывая окошка, что вообщем-то удобно. |
Автор: val_vp 1.3.2007, 17:30 |
меня смущает вот что при нажатии кнопки при вызове диалога идет сохранение в обработчике кнопки с вызовом MenegmentSystem и те же данные сохраняются получив данные о студенте но уже в классе который вызвал диалог сохранения студента |
Автор: AntonSaburov 1.3.2007, 19:29 |
Так логика очень простая - пользователь вызывает диалог для сосздания нового студента. Если он добавляет одного студента, то в диалоге он нажимает ОК и студент добавлен. Если же надо добавить много студентов, то не требуется каждый раз закрывать/открывать диалог. Во всяком случае я с такими видами заполнения часто сталкивался - это удобно пользователю. То, что вызывается в нескольких местах сохранение студента - не вижу в этом проблемы. Вызов основной лишь один - ManagementSystem.insertStudent. |
Автор: Sipoju 29.3.2007, 23:52 |
Для начинающих в java world (таким являюсь и я) такая замечательная подборка статей просто необходима! Большое спасибо автору! |
Автор: ranger_www 25.4.2007, 11:16 |
Привет всем! Я конечно очень благодарен автору! Но хотелось бы узнать когда же будет статья о JUnit test? |
Автор: AntonSaburov 4.5.2007, 14:46 |
Был очень загружен последние 3 месяца - сейчас полегче. Обязательно учту пожелание. Может быть как раз для JUnit самое время. Посмотрим. Спасибо за отклики. |
Автор: niasilil 13.7.2007, 20:38 | ||
Антон, отредактируйте пожалуйста ссылку в первом сообщении. |
Автор: Aleksiusss 24.7.2007, 15:45 |
"Студенческий отдел кадров" от Антона Сабурова, не работает пишет следующее Ошибка базы данных Обнаружена ошибка синтаксиса запроса к базе данных. Последний запрос к базе данных: (SQL запрос скрыт) произошёл из функции «Breadcrumbs::findKnownPages». MySQL возвратил ошибку «1146: Table 'wikivingrad.cur' doesn't exist (localhost)». |
Автор: Andrey1 26.7.2007, 18:00 |
А какую IDE рекомендуете ученикам? |
Автор: LSD 26.7.2007, 19:36 | ||
Спасибо за информацию, но в следующий раз пиши в раздел http://forum.vingrad.ru/forum/forum-211.html. Почитай прикрепленую тему в разделе Java tools & IDE's. |
Автор: ecologist 27.7.2007, 08:56 |
Я кстати посмотрел - он пока доступен в FAQ - http://forum.vingrad.ru/act-Search/nav-tags/CODE/show/searchid-ea481c03bde5e117e75c6253ad47b4cf/search_in-topics/result_type/topics/flag/search/index.html |
Автор: Andrey1 27.7.2007, 16:21 |
Мне то ее чего читать... ![]() |
Автор: AntonSaburov 27.7.2007, 18:54 |
Я поначалу рассчитывал вообще обойтись без каких либо IDE, но видимо придется - т.к. все-таки много ручной и ненужной работы. Потихонечку пишу WEB-часть и понимаю, что руками там люди будут умирать. В WEB еще может как-то обойдусь, но например EJB - тут уже сложно. А коснуться хотелось бы - EJB 3.0 очень сильная и удобная вещь. Скорее всего я буду делать проект на NetBeans 5.5 - думаю, что его можно поставить и использовать. Достаточно современный и удобный продукт. |
Автор: powerOn 27.7.2007, 19:02 | ||
Быть может стоит о NetBeans 6.0 подумать? Он конечно ещё очень сырой, но осенью будет релиз, поэтому, мне кажется, это актуально... |
Автор: AntonSaburov 30.7.2007, 13:19 | ||
Такое решение возможно - но надо хотя бы выполнить WEB-часть. А то засел я что-то - буду стараться к осени все-таки сделать. Дальше посмотрим. |
Автор: goodday1941 4.8.2007, 20:50 |
каким то образом, наткнулься на эту тему на форуме только вчера вечером, до этого не замечал :( В общем то перечитал последние две части (сервлеты и jsp) так как начал изучать веб.. доходчиво ![]() но пока очень мало :( жду с нетерпением остальных статей по вебу (особенно ejb и hibernate)... еще есть вопрос: будет ли рассмотрен Struts? заметил опечаткy в статье по жсп: 1. Написать TLD-файл (Nag Library Definition) - файл описателя библиотеки тэгов ну и еще в статье по жсп: в первом программме которую писали при проверке введено ли имя пользователя Вы проверяете на null и на length, во второй только на null... это так и нужно? |
Автор: _int64 16.8.2007, 08:30 |
NetBeans 6 рулит, даже некоторые побросали IDEA этот билд стабильный и багов пока в нем поменьше NetBeans IDE 6.0 Build 200708110000 |
Автор: nicopol 20.8.2007, 17:40 | ||
согласен с ТС |
Автор: AntonSaburov 20.8.2007, 18:27 |
Джентльмены - обсуждение достоинств и недостатков NetBeans продолжайте в отдельной теме. А также все остальные темы, которые не касаются "Стеденческого отдела кадров". |
Автор: unkis 24.9.2007, 18:35 |
Вот и осень на дворе, хотелось бы узнать, будет ли продолжение. |
Автор: AntonSaburov 26.9.2007, 12:48 |
Буду стараться - половину где-т написал, но опять много работы. Иногда просто на форум захожу отдохнуть. А так - пашу по 12 часов в день. |
Автор: AntonSaburov 23.10.2007, 18:42 |
В черновом варианте статью закончил - не все туда успел затолкать. Но более-менее. Есть проблема с публикацией - скоро будет решена надеюсь. |
Автор: AntonSaburov 24.10.2007, 18:18 |
Две новости: 1. Опубликовал 9-ю часть. Хоть и обрезанную 2. Т.к. на сегодня части не влезают на форум пришлось пока сделать это на своей страничке - http://www.java-course.ru/ Хоть для чего-то пригодится ![]() |
Автор: AntonSaburov 1.11.2007, 16:37 |
Добавлена новая часть - http://www.java-course.ru/students/part10.html |
Автор: Shaggie 13.11.2007, 11:17 |
AntonSaburov, хорошая статья, только я бы добавил пассаж о том, что системы модульного тестирования, если их разработка ведётся по ходу создания приложения, очень помогают правильным архитектурным решениям. |
Автор: AntonSaburov 13.11.2007, 13:27 |
Спасибо за замечания - я постараюсь. Думаю взять тайм-аут на редактирование предыдущего - там ошибок и описок очень много. Хотя может появиться желания написать что-то новое. Посмотрим. |
Автор: unkis 20.11.2007, 22:03 |
статьи просто супер, а главное полезные. огромное спасибо автору. |
Автор: AntonSaburov 23.11.2007, 19:32 |
Я доделал Часть 9 - там теперь есть страница для редактирования данных о студенте. Правда возможно проблемы с кодировкой - не было времени доразобраться. |
Автор: EJack 24.11.2007, 08:53 | ||
Я хотел у вас спросить - а возможно ли обновление и продолжение вашего цикла статей? Хотелось бы обновления в плане использования последних нововведений в Java например Generics ну и планируеться ли дальнейшее развитие? Спасибо! |
Автор: oleshko 26.11.2007, 13:10 |
Здарвствуйте, Антон! Я вот тоже столкнулся с проблемой. Использую 1.5 яву, а она требует использование Generisc для Листов и Коллекций. В принципе, пытался разобраться сам, немного понял по теме, но как это на примере использовать - не знаю ![]() |
Автор: batigoal 26.11.2007, 14:48 |
Друзья мои, про дженерики у Сана целый мануал написан: http://java.sun.com/docs/books/tutorial/extra/generics/index.html. |
Автор: AntonSaburov 26.11.2007, 15:52 | ||
Так он постоянно обновляется и продолжается - в течении осени написано две статьи. И продолжение скорее всего будет. Продолжение хотелось бы сделать - пока думаю, как будет лучше. Да и время надо найти. Вообщем надежда на продолжение есть. Также есть надежда на исправление ранее написанного.
Ну она не требует, а скорее настоятельно рекомендует ![]() Может быть возьмусь за труд переписать кое-какие части для исползования Generic. Но как и продолжение гарантировать не могу - все-таки проект требует времени. |
Автор: EJack 30.11.2007, 15:54 |
Вообще с Generics разобрался и все сделал чере згенерики сразу, вот теперь перебираю разделы с GUI так сказать пробую по разному своего добавляю - щупаю. Потом web буду крутить |
Автор: ecologist 5.12.2007, 08:43 |
Похоже в части 9 ошибочка - там странный код для JNDI - видимо копирование кусков кода куда-то не туда завело. |
Автор: AntonSaburov 5.12.2007, 16:02 |
Спасибо за замечание - исправил. |
Автор: oleshko 7.12.2007, 12:18 |
Очень часто встречаются ошибки чисто грамматические: там буква недописана, здесь пропущена. Может стоит встроить быстренько орфус? Понимаю, что времени нет даж на обычную статью, но тут намечается очень хороший материал для издания ;-). http://orphus.ru/ |
Автор: AntonSaburov 7.12.2007, 18:19 |
Раз это уже в инете - какое тут издание ![]() |
Автор: v2v 8.12.2007, 01:11 |
думаю найдутся желающие иметь такой Great Java Tutorial по русски в своей библиотеке ![]() |
Автор: AntonSaburov 10.12.2007, 16:17 | ||
Вот когда еще кое-что сделаю и исправлю ошибки - тогда подумаем ![]() |
Автор: oleshko 10.12.2007, 17:59 |
На самом деле, очень хороший материал. Я всё перекопал и безумно рад, что столкнуляс с этим трэдом. Это лучшее, что я вообще читал по яве за последний месяц (ну, чувство юмора такого нет, как в SCJP ![]() ![]() Исправить мелкие ошибки, пройтись снова по всем моментам и можно нести в издательство, имхо). Пусть в инете в свободном доступе есть. Главное обсудить это с издательством, и поставить перед фактом ![]() |
Автор: AntonSaburov 20.12.2007, 18:56 |
Сделан первый релиз http://www.java-course.ru/students/part11.html Не знаю, насколько хорошо получилось. Материал оказалось сложнее преподносить, чем я думал. Так что жду ваших отзывов. ДУмаю, что в ближайшее время буду вносить корректировки. |
Автор: Kangaroo 20.12.2007, 19:14 |
AntonSaburov, супер, спасибо. Как раз та тема до которой у меня руки не доходили ![]() На выходных постараюсь прочитать и попробовать. Ну и отпишусь конечно же. |
Автор: serger 21.12.2007, 07:26 |
Начал читать, спасибо за труд.. Возник тактический вопрос. Почему MySQL, а не Derby? Совсем забыл про старый отдел кадров - там был MySQL. Те проект не совсем с "нуля". Гы-ы. |
Автор: AntonSaburov 21.12.2007, 13:49 | ||
Ну вообщем я об этом упомянул в статье Если уж стоит MySQL - зачем связываться с Derby - вообщем для небольших баз вполне проходит и ставить фактически ничего не надо. Но раз уже поставили MySQL - зачем заново городить ![]() |
Автор: Kangaroo 23.12.2007, 02:54 |
Как и обещал - почитал, попробовал, попытаюсь написать респонс ![]() Во-первых, спасибо Антону за труд ![]() Теперь обо всем по порядку: 1) Опечатка - слово "сожранение" ![]() 2) Вы везде ссылаетесь на StudentsApp-web, хотя в реальности - StudentsApp-war 3) Вопрос про AppServer'ы: получается что Tomcat не AppServer, a WebServer? AppServer - только те на которых работает, например, EJB? 4) Улыбнула фраза "@EJB – это нововведение от Java версии 1.5 – аннотация.". Просто до этой фразы мы нагенерили кучу кода с аннотациями, а упомянули их только сейчас. 5) *Замечание для тех кто (вдруг) будет использовать NetBeans 6.0 Beta 2* У меня подвис деплой приложения ( с сообщением "Checking for missing JDBC drivers ..."). Оказалось - http://www.netbeans.org/issues/show_bug.cgi?id=120208 этой версии NetBeans'a. По ссылке можно почитать как обойти глюк И общее впечатление. Мне показалось, что такую тему (даже самые самые основы) сложно уложить в 1-2-3 главы... Лично я понял КАК сделано, но не совсем понял ЧТО сделано(некоторые моменты остались непонятными). И визарды - сократили время, но спрятали за собой много интересного )) Как введение в эти технологии - отлично написано, но теперь надо читать книжки и доки.... (эх.. время бы найти) Еще раз спасибо! |
Автор: batigoal 23.12.2007, 17:55 | ||
В общем-то, да. Web server + servlet container. Ну и все остальные технологии из спектра J2EE.
К сожалению, нынче это официальная политика Sun. Вместо того, чтобы писать, как должен выглядеть конфигурационный XML, они описывают, какие кнопочки нужно нажать в NetBeans. Дико раздражает и мешает обучению. |
Автор: AntonSaburov 24.12.2007, 14:15 |
Да я сам смотрел и думал. что надо будет исправлять и добавлять - там явно слабовато сделано. Спасибо за ответ - будем работать дальше ![]() |
Автор: AntonSaburov 24.12.2007, 17:45 |
Что-то было немного свободного времени и накатал http://www.java-course.ru/students/part12.html Просто подумалось, что поисследовать можно и в отдельной части. |
Автор: Kangaroo 28.12.2007, 01:58 | ||||||
Тоже появилось время и я решил почитать... Начнем с простого: опечатка - пунтк
Мне понравилось. Появились проблески света (хоть какие-то начальные знания внутренностей). Завтра сам уже покопаю дальше... Спасибо Антону ![]() Сразу вопрос. В domains\domain1\generated\jsp\j2ee-apps\StudentsApp\StudentsApp-war_war\org\apache\jsp\ нашел index_jsp.java:
То есть index.jsp, переделанный в сервлет. С jsp'xами я не работал, но вроде слышал, что они как-то предкомпилируются. Но чтобы вот так - трансформирование в код сервлета, а потом уже компилирование - первый раз вижу. Это обычный "жизненный цикл" jsp? Или так только в Glassfish'e? PS
Улыбнуло ![]() |
Автор: batigoal 28.12.2007, 11:44 | ||
Я думаю, да, только не все сервера сохраняют эти промежуточные файлы. Но то ли у Томката, то ли у Резина я их тоже видел. |
Автор: Shaggie 28.12.2007, 12:10 |
И у Томката, и у Резина. А вот Джетти не сохраняет транслированных в сервлет джсп страниц, и это в отдельных случаях здорово затрудняет отладку ![]() Однако механизм именно такой - трансляция джсп в сервлет и последующая компиляция сервлета в класс. |
Автор: Kangaroo 28.12.2007, 13:00 | ||
Да, реально. Только что нашел в Томкете здесь - apache-tomcat-5.5.17\work\Catalina\localhost\НазваниеПроекта\org\apache\jsp\
Спасибо, полезное знание. |
Автор: AntonSaburov 28.12.2007, 15:04 |
Спасибо, что читаете мои опусы ![]() Я уже подготовил исходники для полного приложения через EJB/JSP - не очень красивое, но вполне работающее. Теперь буду писать комментарии и текст. Но до Нового Года не смогу. Так что ожидайте пополнения ![]() |
Автор: AntonSaburov 28.12.2007, 17:42 |
Начальство не очень наседало, так что выкроил немного времени и накатал заключительную часть. Читайте и давайте свои комментарии. |
Автор: AntonSaburov 17.1.2008, 14:42 |
Не знаю, удобно ли это будет или не очень и надо ли вообще - сделал рассылку под "Студенческий отдел кадров". Для того, чтобы не смотреть каждый раз, что новенького появилось - можно подписаться. Может это и не надо, но раз такая услуга может быть задействована - почему бы не попробовать. Так что заходите на страничку - http://www.java-course.ru/ |
Автор: Штык 21.1.2008, 21:51 |
Антон в студенческом отделе кадров не работает первая статья, не могли бы вы ее перезалить.. заранее благодарен. |
Автор: Kangaroo 21.1.2008, 22:13 |
Штык, почему не работает? Вот - http://www.java-course.ru/students/part1.html, попробуй. |
Автор: SkiNNi 16.4.2008, 22:22 | ||
Статья хорошая и понятная. Изучить всё и сразу не получится, так хоть наметить необходимые технологии для изучения(с чем автор справился). Жду дальнейших статей , желательно с использованием NetBeans т.к. мне кажется сегодня без IDE писать Очень много руками. Хотелось бы хоть беглово расмотрения технологий
|
Автор: batigoal 17.4.2008, 08:19 |
Только не это. И так уже сановцы все свои курсы на иглу НетБинза подсадили, теперь ещё и мы будем продолжать. Обучение языку и платформе не должно быть привязано к среде разработки. |
Автор: serger 18.4.2008, 10:26 | ||
согласен, но не всегда возможно, увы |
Автор: SkiNNi 18.4.2008, 19:29 |
Разницы между IDE особо сегодня нету.В одной того больше в другой то лучше.Это всё не важно, если програмист сформировался, он сам себе выберет IDE. Осповные принципы написания кода везде практически одинаковы. Но NetBeans, SUN рассылает бесплатно(расходы на доставку)+aplication serwer+tomcat+JDK1.6 и ненадо ничего качать и ставить какие то плагины. Установил и пользуй, и EE и WEB .Всё просто, а что нужно для обучения? Тратить пару месяцев на изучение IDE? |
Автор: batigoal 18.4.2008, 22:50 |
Почему это? |
Автор: serger 21.4.2008, 15:00 |
Лень, авторитет, время, стереотипы.. Хорошо, если обучается студент - ему бороться только с собой. А если тебе предлагают освоить готвую инфраструктуру - копаться в мелочах просто не дадут - делай как все! |
Автор: SkiNNi 22.4.2008, 21:19 |
Подход правильный. Делай как все, дорастёш начнёш выпендриваться. Своего рода шаблон в жизни. Ускоряет как обучение, так и скорость написания программ. |
Автор: LSD 23.4.2008, 11:28 |
Во первых работа только в IDE опасна тем, что человек не понимает сути. И потом при нестандартных ситуациях или в случае ошибок, он просто не знает что делать, надо лезть внутрь, а он там ничего не понимает и не знает. Во вторых если в команде несколько человек и они используют разные IDE, то для того чтобы им нормально взаимодействовать, тоже нужно понимать, как оно там внутри устроено. |
Автор: SkiNNi 24.4.2008, 21:55 |
Всё то верно. Знать что делает IDE знать нужно и нет разницы что это за IDE. Но я как начинающий делаю в IDE , а потом смотрю что и как он делает. Сначала без особого понятия , но по мере начитки Я если встречаю что-то и знаю что там и читаю для чего оно там. У меня есть правильный пример а дальше можно эксперементировать. Это лучше чем чем начинать писать на EE с написания persistence.xml непонимая для чего он. |
Автор: SkiNNi 27.5.2008, 03:34 |
похоже у Антона бооольшая парилка на работе. Антон ты не стесняйся, говори что надо, авось поможем(бесплатно). Будет за честь. Только не остонавливайся. |
Автор: AntonSaburov 5.9.2008, 14:33 |
Разобравшись в самом себе, с проектами и с тем, что же я хочу рассказать еще - решил возобновить свою работу над "Отделом кадров". Так что ждите публикаций в самое ближайшее время. Спасибо за внимание. |
Автор: Connie 6.10.2008, 20:15 |
AntonSaburov, зарегистрировался на этом форуме, что бы сказать Вам спасибо за "отдел кадров". Он помог мне довольно быстро стартануть в java. Там раскрыты многие вещи, над которыми, после другого языка и системы программирования, мне пришлось бы потратить массу времени. Надеюсь в дальнейшем и форум мне поможет и, может, я кому нибудь помогу ![]() Модераторы, простите за лирику |
Автор: AntonSaburov 28.10.2008, 17:03 |
Ну что же - начало положено. http://www.java-course.ru/students/part14.html |
Автор: Shaggie 28.10.2008, 19:48 |
AntonSaburov, спасибо, с нетерпением жду следующей статьи - этой мой аппетит только раздразнён. В тексте, где пишешь про DAO, есть строка: "Скорее всего, существуют и будут созданы еще какие-то, но я осведомлен." Похоже, что что-то недописано; исправь, пожалуйста. |
Автор: powerOn 28.10.2008, 19:55 | ||
Спасибо, Антон, очень интересная статья! ![]() Мне хотелось бы прокомментировать вот этот кусочек (если никто не против ![]()
Не так давно, я сталкивался с такой же проблемой. Аналогично писался веб-сервис, который выдавал клиенту некую сущность из БД, которая имела ленивую связь в коллекцией других сущностей. Естественно, отдавать нужно было все дерево объектов. В качестве имплементации WS мы использовали JBossWS, а для доступа к БД - EJB 3.0 (JPA). Все это конечно же крутилось на JBoss AS. Ошибка при этом появлялась, в точности как ты и описал: Lazy-Load Exception - сессия с БД закрыта, а View данные еще не забрал. Но! Написав аналогичный пример и запустив его на Glassfish, все отработало без проблем... просто по тому, что реализация WS (Metro) на Glassfish стартовала транзакции с уровня веб-сервисов, а не с уровня EJB... Поэтому, я могу сделать вывод, что подобное поведение зависит от конкретной платформы... Кстати, есть еще паттерн http://www.hibernate.org/43.html, которое достаточно часто применяют для решения аналогичной проблемы построенных на основе Hibernate. |
Автор: batigoal 28.10.2008, 19:58 | ||
Не понял фразу ![]() |
Автор: Platon 28.10.2008, 20:18 |
А что непонятного? Неповоротливым компаниям нечего делать в современном бизнесе. |
Автор: batigoal 28.10.2008, 20:24 | ||
Во-первых, это спорный тезис. Во-вторых, по построению фразы не ясно, кто умирает - компании или процессы. В-третьих, если компания не меняла бизнес-процессы годами, это значит, что она уже не однодневка. |
Автор: AntonSaburov 29.10.2008, 12:52 | ||||
Спасибо за замечания - то, что счел справедливым, исправил ![]() Но уже есть новая статья (я их вообщем-то готовил вместе, но подумал. что надо разделить) http://www.java-course.ru/students/part15.html Добавлено @ 12:58
Но их днем с огнем не встретить - что я и говорил. Но все равно - спасибо за замечания. Добавлено @ 13:01
Любопытно, но я не думаю, что это есть хорошо - открывать сессию так рано. Конечно на вкус и цвет, но на мой взгляд это не совсем логично. |
Автор: Andrey1 29.10.2008, 15:20 | ||
Незаслуженно забыт такой OS продукт как SQuirreL ![]() ![]() |
Автор: Shklyar 30.10.2008, 01:52 |
Спасибо за интересный и исключительно полезный цикл статьей. У меня появился вопрос: что раньше необходимо изучать Hibernate или Struts (к примеру)? Цель - работа junior Java developer (J2EE). |
Автор: batigoal 30.10.2008, 08:32 |
Shklyar, и то, и другое, но Hibernate, по моим представлениям, используется в большем количестве контор. |
Автор: AntonSaburov 30.10.2008, 13:05 | ||
Если мое мнение - то лучше начать с Hibernate. |
Автор: lanc 11.11.2008, 20:22 | ||
Антон, спасибо Вам за этот труд. Есть вопрос по работе "Студенческого отдела кадров" в 9-й части. При вводе данных о новом студенте или исправлении данных существующего студента кириллицей выпадает ошибка:
Это у меня одного такое? |
Автор: AntonSaburov 17.11.2008, 19:09 |
Эта проблема возникает при несоотвтетсвии кодировок - я уже встречал такое, но лениво было искать решение. Скорее всего надо привести в соотвтествие кодировку на HTML-странице и MySQL базы данных. Я такое как-то встретил, но лениво было искать ответ - к тому же это повод поискать ответ самим читателям ![]() |
Автор: vito1945 30.11.2008, 18:07 |
Главы учебника по java на http://www.java-course.ru/students/intro.html и темы-главы здесь, на форуме - идентичны? Или исправлялись\дополнялись только на народ.ру? Просто удобнее читать здесь на форуме. жаль, что только 8 глав. |
Автор: AntonSaburov 11.12.2008, 14:50 |
Насколько я знаю, так и не смогли исправить проблему с огрничением по размеру. Так что на форуме к сожалению е удается публиковать все. Да и к тому же часть 7 на форуме просто обрезана. Так что пока только у меня на сайте. |
Автор: Temdegon 28.12.2008, 01:42 |
Спасибо за отдел кадров. Распечатал, прочел и опробовал почти все. Очень понравилось. |
Автор: Bukach 12.1.2009, 00:51 |
Здравствуйте Антон. Начал собирать Ваш проект в NetBeans 6.0. Может я чего не заметил, но не нашел файл c.tld. Статья 13. В результате при вводе http://localhost:8081/StudentsApp-war/main (запуск проекта) Получаю HTTP Status 500 - type Exception report message descriptionThe server encountered an internal error () that prevented it from fulfilling this request. exception javax.ejb.EJBException note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server 9.1_01 logs. Очень хотелось бы дойти до конца и увидеть таки все это в действии. Заранее спасибо. |
Автор: Temdegon 12.1.2009, 02:34 |
С нетерпением жду продолжения. Особенно про Hibernate |
Автор: Kangaroo 12.1.2009, 11:29 |
Bukach, создай отдельную тему с твоей проблемой в разделе J2EE. И выложи полные логи. |
Автор: AntonSaburov 12.1.2009, 18:05 | ||
Смотреть часть 9: В процессе работы Tomcat не может загрузить библиотеку тэгов JSTL - ее у него нет. Советую найти и загрузить файл jakarta-taglibs-standard-current.zip который находится - http://www.apache.org/dist/jakarta/taglibs/standard/jakarta-taglibs-standard-current.zip извлечь оттуда библиотеки jstl.jar и standard.jar и положить их в <TOMCAT_HOME>\common\lib (туда, куда мы поместили драйвер для MySQL). Тогда все должно работать хорошо. В принципе можно устанавливать библиотеку вместе с приложением в каталог WEB-INF\lib, но т.к. большинство приложений будет использовать JSTL, то имеет смысл положить библиотеки в общий доступ. Также оттуда надо извлечь каталог tld и положить его в папке WEB-INF. Таким образом у вас получится вот такая структура каталогов и файлов: И потом - уже в части 13 ЧТО ЕЩЕ ОЧЕНЬ ВАЖНО !!! Вам надо скопировать файлы из директории tld (надеюсь вы не забыли – это наши тэги для управления контентом в JSP. Ваш проект находится где-то по такому пути C:\Documents and Settings\<user>\My Documents\NetBeansProjects\StudentsApp\StudentsApp-war\web Вот здесь и надо копировать наш каталог tld – в WEB-INF. NetBeans «подхватит» добавленные файлы. |
Автор: drdoom 20.1.2009, 20:42 |
Только щас наткнулся на этот тред, долго не писал на яве развивал скилы по .нет, но щас решил вернуться, благо у языков много общего. Буду снова копать яву, благо есть теперь мануал для быстрого старта. Добавлено через 1 минуту и 7 секунд Меня также интересует мнение создателя сабжа по поводу IDEA, удобный ли это по вашему иде, за исключением платности конечно |
Автор: AntonSaburov 22.1.2009, 14:36 | ||
Вообщем этоодна из лучших IDE на сегодняшний день. Но у каждой можно найти свои минусы и свои недостатки. |
Автор: EJack 25.1.2009, 07:31 |
Здравствуйте Антон. У меня к вам вопрос - а как создать ВЕБ приложение что бы получить war файл? |
Автор: AntonSaburov 26.1.2009, 13:35 |
Хорошо бы уметь искать в гугле - http://web.bvu.edu/faculty/schweller/internetprog/howtoWAR.htm По сути надо создать структуру из директорий, которые должны быть в WEB-приложении и просто запаковать их, как указано по ссылке. |
Автор: EJack 26.1.2009, 13:47 |
Спасибо ! |
Автор: catdp 27.1.2009, 02:48 |
http://www.java-course.ru/students/content.html все главы по этому адресу только у меня не грузятся (или частично)? |
Автор: LSD 28.1.2009, 13:19 | ||
У меня грузятся. |
Автор: AntonSaburov 28.1.2009, 13:53 |
У меня пока не идет что-то про Hibernate - времени крайне немного. Вернее есть, но урывками. Потому потихонечку исправляю внешний вид. Но по идее грузится нормально. |
Автор: catdp 28.1.2009, 20:00 |
видать ресурс загружен или narod |
Автор: elvis79 29.1.2009, 09:58 |
Спасибо автору! Я полный новичок в java, теории начитался из книг и даже с примерами. А как слепить все єто в кучу там нет. А этот проект как раз то что надо. Потихоньку изучаю следуя примерам. Многое проясняется и встает на свои места. |
Автор: Bukach 2.2.2009, 18:34 |
Антон примите благодарность от меня лично и от всей группы 502301 БГУИР. |
Автор: golden 2.2.2009, 19:05 |
Я новичок, хотел бы спросить есть ли компиляторы по Java, а то в блокноте мне не очень удобно, (что нить типа ООП как delphi например)? |
Автор: batigoal 2.2.2009, 22:28 |
golden, читай эту тему: http://forum.vingrad.ru/forum/topic-198249.html |
Автор: elvis79 3.2.2009, 10:31 | ||
Я тоже новичок. Но, пока учусь, использую только блокнот с подсветкой синтаксиса (PSPad например). IDE буду потом использовать, после освоения азов |
Автор: batigoal 3.2.2009, 13:19 | ||
Я пользовался Notepad++ - в нем можно вызов компилятора на хоткеи посадить, запуск браузера и т.п. - очень удобно. |
Автор: AntonSaburov 19.2.2009, 18:08 |
Наконец я смог найти время для начала рассказа о Hibernate. Вот первая часть http://www.java-course.ru/students/part16.html |
Автор: javanew 21.2.2009, 07:29 |
Антон, вам большой респект, за ваши старания. Ждемс продолжения! Кто нить поставбте плюс, я не могу - постов мало ! |
Автор: serger 24.2.2009, 06:23 | ||
Очепятка:
Ну и ещё много очепяток в словах - недописаны буквы, не те буква, заглавные вместо строчных. |
Автор: AntonSaburov 24.2.2009, 14:29 |
Большое спасибо за замечания - сделал исправления. |
Автор: AntonSaburov 2.3.2009, 19:59 |
Новый материал опубликован http://www.java-course.ru/students/part17.html |
Автор: AntonSaburov 3.3.2009, 17:23 |
До кучи - аннотации. http://www.java-course.ru/students/part18.html |
Автор: AntonSaburov 6.3.2009, 20:11 |
Несколько сменил внешний вид сайта. Да и надо провести редактуру - много описок, много эскизности, есть неточности в определениях. Так что пока взял таймаут. |
Автор: SkiNNi 13.3.2009, 12:30 | ||
наверное очепятка ![]() ![]() |
Автор: AntonSaburov 13.3.2009, 12:46 |
Спасибо - исправил. Если не сложно - указывайте все-таки точнее - в какой части. А то сразу иногда не сообразишь, где исправлять надо. |
Автор: AntonSaburov 26.3.2009, 15:39 |
Переделал большую часть - захотелось поделиться. Хотя еще не все сделал, но осталось немного - посему решил все-таки выложить. Теперь коллекции с типизацией и вообще используют прелести Java 1.5. Исправлял где мог ошибки, кое что добавлял или удалял. Дизайн несколько подправил, сделал более стандартное оформление - дошли руки. Теперь в каждой главе (осталось чуть-чуть) есть сразу исходные коды. Постараюсь соблюсти нормальную кодировку - чтобы не было вопросов вместо текста. Так что до середины апреля будет полное обновление. Можно сказать - редакция 2 ![]() Заходите - http://www.java-course.ru/ А потом настанет пора для дальнейшего развития. |
Автор: CrasyMen 2.4.2009, 21:52 | ||||
AntonSaburov, у вас в примерах по хибернейту используется такой подход:
Как это можно сделать по другому? Я делаю свой пример и у меня насильная инициализация не сработает
потому как объект персистентного класса Category имеет в качестве поля объект того же класса. |
Автор: CrasyMen 4.4.2009, 21:14 |
проблемма была в другом. я вызывал метод myCategory.getParent() тогда как myCategory была null |
Автор: AntonSaburov 10.4.2009, 12:37 |
Принимаю замечания и пожелания: http://www.java-course.ru/students/part19.html |
Автор: ivg 10.4.2009, 16:51 | ||
Достойно. Нажал на [+]. |
Автор: unkis 13.4.2009, 12:34 | ||||
Спасибо за статьи очень поучительно, есть одна просьба, не могли бы вы в статьях указывать ссылки на раннее обсуждаемые места. к примеру здесь.
|
Автор: AntonSaburov 13.4.2009, 16:04 |
Я попробую - просто упоминать все сложно ![]() |
Автор: Omut 13.4.2009, 17:49 |
Следующая часть будет Spring MVC посвящена? Если так, Антон, не могли бы Вы осветить применение в качестве вью Velocity/Freemarker? |
Автор: AntonSaburov 14.4.2009, 14:30 |
Пока не могу ничего обещать - если получится, то может быть. |
Автор: unkis 14.4.2009, 16:01 |
Ну если принимаете пожелания, то мне бы было интересно про JBoss seam почитать. |
Автор: AntonSaburov 14.4.2009, 17:59 |
Пожелания рассматриваются. Но никаких гарантий ![]() |
Автор: serger 18.4.2009, 08:49 |
Я думаю всё же что лучше писать то, что "идёт", а не то, что просят. Однако, добавлю: кстати, нет желания ещё добавить что нить про ant, maven и иже с ними?... |
Автор: garbuz 20.4.2009, 22:06 |
Я бы тоже про Spring MVC почитал бы ![]() |
Автор: AntonSaburov 30.4.2009, 12:27 |
Статья про Spring MVC готовится к выходу. Но там информации надо много, так что раньше конца мая ничего не будет. Сегодня у меня знаменательное событие - впервые за все время существования проекта количество посещений за месяц приевысило 10 тысяч. Я конечно понимаю, что по сравнению с Винградом это просто слезы. Но для продолжения работы нужна поддержка и какое-то моральное удовлетворение - и сегодня я ее получил. Значит моя работа нужна. Спасибо вам всем. |
Автор: AntonSaburov 14.5.2009, 14:31 |
Принимаю пожелания и замечания http://www.java-course.ru/students/part20.html |
Автор: AntonSaburov 18.5.2009, 12:44 |
ПЕРЕЕЗД !!! Я переехал на ресурс - http://www.java-course.ru/ Буду работать дальше. Всем спасибо за отклики. |
Автор: FelixDS 8.6.2009, 16:44 |
я не в тему канешна с вопросом, но помогите плиз, если знаете. как поставить таймер в java? или подскажите, где найти информацию про это |
Автор: batigoal 8.6.2009, 21:58 |
http://www.google.ru/search?source=ig&hl=ru&rlz=&=&q=java+timer&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&meta=lr%3D |
Автор: SlavaSeverin 12.11.2009, 16:19 |
Начал разбраться с Java. По этому курсу сможет разобраться разве что профи. Есть ошибки, причём такого плана - не подключена библиотека без которой даже не создать класс. Напрмер один из начальных кодов по созданию визуальной формы! Я потратил приличный кусок времени на то что бы понять в чём дело. Так же там ещё 2 ошибке в примере на 15-20 строк. А в целом описано на должном уровне, но считаю что лучше писать попроще. |
Автор: AntonSaburov 17.12.2009, 17:51 | ||
А конкретнее можно ? Перелопачивать весь код как-то не очень хочется ![]() |
Автор: ibz07 20.12.2009, 02:49 |
2AntonSaburov У вас в планах есть уроки по NetBeans ? |
Автор: AntonSaburov 21.12.2009, 17:49 |
Таких планов нет. Хоть для примера курсы "Разработчик JEE" у нас построены на примерах для NetBeans, но надо пониматьЮ что NetBeans - это просто более удобный редактор. За вас писать программы он все равно не сможет. Облегчит немного жизнь. Но не более. |
Автор: ibz07 21.12.2009, 20:57 |
Это я понимаю, нно знание среды разработки можно чичуть быстрее писать проги. |
Автор: i_SweP 2.4.2010, 19:24 | ||
Вот это здорово! Давно на форум не заходил и вдруг наткнулся на такой брильянт ![]() Ещё и на русском про используемые на рынке технологии, да... Если книга понравится, я к вам и на курсы приду ;) |
Автор: AntonSaburov 8.4.2010, 17:10 |
Спасибо за отклик. Приходите. Также появилась http://www.java-course.ru/students/part21.html |
Автор: jk1 17.4.2010, 11:55 |
Спасибо за цикл статей, хорошо структурированный и понятный. На мой взгляд надобность в подобной книге есть: именно такого обзора технологий с примерами очень не хватало когда я начинал писать на Java. Было бы совсем хорошо, если бы к каждой главе прилагалось 2-3 упражнения для самостоятельной работы по дополнению и улучшению созданного кода. Опыт показывает, что подобные упражнения неплохо повышают эффективность усвоения материала. |
Автор: CrazyDeveloper 21.4.2010, 09:42 |
Здравствуйте. Из курса пока прочитал только оглавление. Судя по нему - это клад для начинающих разработчиков на Java. Рискну дать несколько советов: 1) Заменить аннотации Hibernate на JPA 2. Стандарт все таки. Позволяет уйти от конкретной реализации ORM. А в качестве реализации использовать тот же Hibernate. Недавно выпустили релиз Hibernate 3.5, который полностью реализует JPA 2.0, а там много чего интересного и полезного. 2) Все фреймворки в одной книге не описать. Кому-то нужен Struts, кто-то любит Spring MVC. Можно было бы тоже отталкиваться от стандартов Java EE и описать JSF 2. Конечно, всем не угодить. А в общем, курс отличный. Желаю успехов. |
Автор: CrazyDeveloper 21.4.2010, 10:47 |
Могу еще посоветовать такую штуку как http://webmaster.yandex.ru/ для проверки орфографии. Сам в последнее время стал прогонять статьи, которые публикую на своем блоге через него. Ошибок стало значительно меньше. Однако, этот инструмент не умеет работать с фреймами, но можно обойти эту проблему, указывая полный путь к html-файлу, например так: http://www.java-course.ru/students/intro.html. |
Автор: AntonSaburov 21.4.2010, 17:59 | ||
В примерах нет аннотаций от Hibernate - только JPA. И спасибо за теплые отзывы. |
Автор: vogdb 23.8.2010, 11:36 |
Спасибо за курс. Приятно читать, хоть и знаком со всем, но что-то новое узнаю. Будете читать в Москве, дайте знать, я бы сходил. |
Автор: Нек 31.8.2010, 18:30 | ||
Я тоже за. |
Автор: sozin 25.12.2010, 13:24 |
Ну я бы не рекомендовал строить весь курс на одном проекте, так как если кто читал ActionScript3.0 Коллина Мука - это не самая удачная его работа. Ее нужно читать от начала и до конца, от корки до корки, что бы выучить ActionScript. А я как разработчик со стажем на AS2.0 считаю это очень утомительным когда передо мною стоит реальная задача. Мне надо свою работу делать, а там просят написать какой-то зоопарк. Вот мои доводы и как бы я делал: 1) Иногда, после окончания курса, возникает потребность вернутся к хорошо забытому старому. И первоисточником станет ваше пособие, так как оно казалось бы хорошо знакомым. А что бы отыскать, то что надо придется вникать у забытый проект. И тут сработает элементарная человеческая лень. И начнется метание от книги до книги и гугл конечно. 2) Это должно быть что-то среднее между справочным пособием и учебником, как для школьником младших классов, если вы действительно хотите хорошо обучить своих подопечных (учитывая, что if они понимают только за три недели) 3) Во вступительной части, я бы оговорился о том, что программирования это прежде всего терпение, труд и любовь к своему делу. Быстрые решения - небезопасные решения (как говорил Тацит). То же можно сказать и о профессии программиста. 4) Не забудьте упомянуть о Java Code Convention. Так как хорошо написанный код - это читабельный код. Но не нужно загонять всех под один шаблон. Программисты - люди творческие. Просто нужно выделить основные моменты и сказать, что это хорошо, но если будет немножко иначе, то это не плохо, ну лучше бы так. 5) Я тоже имею честь преподавать студентам и учить людей уму-разуму (кафедра информатики). Поэтому рекомендовал бы оснастит книгу примерами и подавать их различную реализацию. Демонстрируя, что можно делать по-разному. Это развивает мышление и дает пищу для раздумий. Если возникнут вопросы - задавайте их мне. вот моя почта [email protected]. В соавторы не набиваюсь. Просто приятно помогать людям, которые хотят помочь людям. С найлучшими пожеланиями. Ждем от Вас бестселлера. ) |
Автор: nc30 2.1.2011, 19:58 |
AntonSaburov, спасибо за Ваш труд. Он мне весьма помог разобраться во многих моментах касательно основ разработки на Java. Скажу больше: благодаря Вашим проектам (сайту и курсам) у меня появился интерес к Java-программированию, в итоге я сменил направление деятельности (которому посвятил почти 10 лет) и устроился на работу по этой специальности. Те, кто в теме, прекрасно знают что значит выкроить время (причем немалое) Senior Java developer'у, для создания и поддержания бесплатного ресурса, который помог (судя по отзывам) уже очень многим людям узнать что же такое Java и стал для одних первой ступенькой в освоении этого интересного направления, а для других — обзором ряда актуальных технологий. С искренним уважением. Константин. |
Автор: Metalex 5.6.2011, 01:23 |
AntonSaburov, вы работаете над очень хорошим проектом! ![]() |
Автор: AntonSaburov 14.7.2011, 17:28 |
Спасибо за добрые отзывы. К сожалению пока процесс застопорился - просто нет времени. Но я надеюсь, что это временно. |
Автор: Mirkes 21.8.2011, 01:33 |
В программировании на Java я новичок, но вообще программирую очень давно. Успел прочитать пока тлько первую главу. Случайно ткнул в эту тему. Совет хоть напишите в теме на форуме не "Ваше мнение" а "учебное пособие" или "курс лекций от..." Теперь содержательно по задаче. Честно говоря диплом в котором студенческий отдел кадров был бы реализован так получил бы оценку неудовлетворительно не взирая на красоту реализвции. Поясняю. Всякий отдел кадров должен хранить историю. А у Вас студент удаляется. Причем окончательно. Начиная с этого места можно не интересоваться реализацией поскольку основной пользовательский функционал нарушен. В начале Вы даете ссылку на то, что отдел кадров "игрушечный". Однако пр анализе задачи лучше указать полный функционал (хотя бы в набросках) а потом отобрать реализуемый функционал. Иначе создается странное впечатление. В свое время я работал в программистском кооперативе. Там у нас был девиз "Дадим заказчику не то, что он хочет, а то, что ему нужно". Вы в начале цикла озвучили близкую по звучанию идеологию. Я понимаю, что постановка задач на программирование отдельная большая и очень неблагодарная работа. Однако заикнувшись о прохождении пути разработки от начала до конца, сделайте начало более качественным. Что бы было понятно, что некоторые решения это не головотяпств, а сознательно принятые решения потому что... А так проект очень интересный. Хотя некоторые решения просто спорные. Например сортировка студентов по ФИО и тоько потом по другим признакам. Вероятн лучше было бы предкусмотреть несколько вариантов сортировки. Например для военкомата нужны списки студентов, упорядоченные по году (не путать с датой) рождения, а уже потом по фамилии. Девушки их не интересуют. Кроме того введение второго интерфеса сортировки (вроде я правильно написал - интерфейса, если нет то я о том классе, который сравнивает студентов) показало бы разумность разделения студентов и интерфейсов сортировки. Прошу прощения за резкость некоторых оценок, но право, Вы же профи. Я точно знаю как трудно закончить такой проект (пришлось однажды) но желаю Вам все таки дописать. |
Автор: Mirkes 21.8.2011, 16:21 |
Часть вторая. public static void main(String[] args) { // Запуск формы лучше производить в специальном треде // event-dispatching thread - EDT SwingUtilities.invokeLater(new Runnable() { public void run() { MainFrame mf = new MainFrame(); mf.setDefaultCloseOperation(EXIT_ON_CLOSE); mf.setVisible(true); } }); } Ну и конечно же метод main - первой строкой мы создаем объект, во второй строке мы устанавливаем поведение формы при закрытии (в данном случае мы говорим, чтобы при закрытии окна заканчивалось и приложение, а третья строка содержит метод, устанавливающий, что наша форма станет видимой. И все теперь готово. Приложение можно будет запускать. ЗАМЕЧАНИЕ: Вы явно должны были обратить внимание на несколько необычный вызов в методе main. Такой вызов связан с тем, что все события внутри системы Swing происходят в отдельном треде - Event Dispatching Thread - EDT. Желательно (я бы сказал необходимо) ВСЕ операции с графикой делать в нем, т.к. некоторые операции не являются потоко-защищенными (т.е. если вы будете обращаться к форме из разных тредов, то результат может быть не очень красивый). Если вам пока сложно точно понять принцип такого запуска - просто пользуйтесь им. Позже разберетесь. Рекомендация понятна (почти понятна, а что общий (главный) поток нельзя сделать потоком событий?). Однако в первой строке, даже если читатель догадается пропустить комментарии, не создается объект, а вызывается стандартная утилита, аргументом которой является создаваемый объект ... Я не настаиваю на стиле, он у каждого свой, но большая точность в формулировках точно бы не помешала. Еще один вопрос, применение слэнга это результат недосмотра или осознанное решение? Честно говоря, меня треды вместо потоков раздражают. Но если это осознанное решение - Ваше дело. паттерн - шаблон. Есть соображения как давать грамматическую правку? Пока не договорились привожу исходный фрагмент и корректировку очень просто приложение очень простое приложение нам необходимо будет его усложнить нам придется его усложнить Вряд ли усложнение приложения является самоцелью. Кода Вам надо будет разместить Когда Вам надо будет разместить элементов управления на форме элементов управления в форме Вроде бы общепринятое "в", а не "на". провели мышкой ? провели мышкой? модель, а потом сама модель может используя представление показывать свое содержимое (или контроллер может модель, а потом сама модель может, используя представление, показывать свое содержимое (или контроллер может Давайте для начала создадим достаточно простое приложение, которое не умеет многое. Давайте для начала создадим достаточно простое приложение, которое умеет не многое. виде числового слайдера (спинера). точно что не слайдера, слайдером называется совершенно другой тип компонентов. Опять непонимание // Создаем нижнюю панель и задаем ей layout JPanel bot = new JPanel(); bot.setLayout(new BorderLayout()); А какой layout по умолчанию? Мы же ничего не уточнили. Судя по некоторым косвенным признакам это Map (вроде так называется). Потом странные антитезы // Вставляем панели со списками групп и студентов в нижнюю панель bot.add(left, BorderLayout.WEST); bot.add(right, BorderLayout.CENTER); // Вставляем верхнюю и нижнюю панели в форму getContentPane().add(top, BorderLayout.NORTH); getContentPane().add(bot, BorderLayout.CENTER); Для нормального человека антитезой к WEST будет EAST, а к NORTH - SOUTH. что появяться линейки прокрутки. что появятся линейки прокрутки. Из серии пожелалок. Чтобы данные не исчезали можно использовать файлы разного вида. БД только один из вариантов. Наверно было бы не плохо обсудить, когда и какой тип использовать. Ведь храните же Вы конфигурационную информацию не в базе данных. А вообще текст очень понравился. Я преподаю Паскаль, но попробую придерживаться Вашей схемы. Спасибо за идею. |
Автор: Mirkes 21.8.2011, 21:34 |
Часть третья Базы данных позволяет однообразно получать доступ позволяет единообразно получать доступ набор столбцов и любой количество строк набор столбцов и любое количество строк набор столбцов и произвольное количество строк о чем буджет идти речь в дальнейшем о чем будет идти речь в дальнейшем <величина_поля_1> - это реальное значение поля для новой записи может везде писать значение? величина больно смахивает на допустимое число символов. в тексте в части 3 написано g = new Group(); g.setGroupId(1); g.setNameGroup("Первая"); g.setCurator("Доктор Борменталь"); g.setSpeciality("Создание собачек из человеков"); groups.add(g); а в текущей INSERT INTO STUDENT_GROUP (GROUP_NAME, CURATOR, SPECIALITY) VALUES ("Первая", "Доктор Борменталь", "Делание человеков из собачек") Лучше, наверное сохранять приемственность. понятных выражений - >, <, =, >=, <=, <> (больше, меньше, равно, больши или равно, меньше или равно, не равно). понятных выражений - ">", "<", "=", ">=", "<=", "<>" (больше, меньше, равно, больши или равно, меньше или равно, не равно). Это только предложение. Но зная SQL я при первом прочтении впал в ступор от оператора сравнения "- >". Потом конечно разобрался. А если человек не знал? решит что это как ссылка в с. неколько условия, соединяя неколько условий, соединяя Предложение имеет автоматическое увеличение. Кроме имеет автоматическое увеличение значения при добавлении новой записи. Кроме насколько нужны искусственное введение такого рода полей, но подавляющее большинство программистов используют насколько нужно искусственное введение такого рода полей, но подавляющее большинство программистов использует Большинство, оно соответсвует единственному числу, как то ни парадоксально. Вот здесь не уверен. Но в том диалекте SQL, с которым я работал команда удаления имела несколько другой вид У Вас DELETE FROM STUDENTS WHERE student_id=10 У меня DELETE * FROM STUDENTS WHERE student_id=10 группы с ИД 2 и группы с groupId = 2 и как в возрастающем так и возрастающем порядке как в порядке возрастания значений, так и в порядке убывания значений или как в порядке возрастания, так и в порядке убывания значений отсутствуют точки в конце предложений Когда установка предложит Вам завести нового пользователя - можно это сделать, но надо запомнить введенные параметры. В принципе нам этот пользователь не понадобится. Можете выбрать "Skip Sign-Up" Далее Вы можете выбрать все установки по умолчанию. НО НАДО остановиться на экране, где Вас попросят установить поддержку языка. Установите второй пункт из трех - поддержка UTF-8 И наконец на экране смены пароля для администратора поставьте пароль root. Все примеры работы с базой рассчитаны на него. Хотя если вам захочется другой - будет повод повозиться еще в каталог <MySQL_DIR>/bin. И запустите команду. Само в каталог <MySQL_DIR>/bin. И запустите команду, приведенную ниже. Само Я успел подумать о том, какие же команды MySQL я знаю и установил что с консоли я с ней не работал. И только после этого нашел команду в тексте. для заполнения нашей базы данных некоторыми данными. Глаз режет, но предложений нет. Поля для ИД групп и студентов Поля для идентификаторов групп и студентов ??? Честно говоря эти ИД сильно режут глаза. Может их всеже как-то внятно назвать? Или явно сказать, что уникальные поля в таблицах мы обобщенно будем называть ИД ами? данных разрабатывает драйвера для общения Вообще говоря по правилам Русского языка драйверы. обратите внимание, что большинство операция для обратите внимание, что большинство операций для Коннектов получить - установить соединений. или открыть сеансов работы? Это я опять занудствую по поводу слэнга, поскольку пока не знаю причину его появления в тексте. для запуска на потребуется подключить для запуска нам потребуется подключить но скорее для запуска Вам потребуется подключить К сожелению время истекло. С удовольствием дочитаю завтра. действительно с удовольствием. |
Автор: Mirkes 22.8.2011, 15:03 |
командная строка для запуска будет выглядеть вот так java -cp .;mysql-connector-java-3.1.13-bin.jar TestJDBC неплохо было бы пояснить, что -cp означает CLASSPATH (если я конечно правильно понял, точка означает *.* - все файлы из текущего каталога, а ; разделитель аргументов. теперь они порождают исключение SQLException. теперь они могут порождать исключение SQLException. Вопрос. Правильно ли я понял, что все компоненты в листинге в конце третьей части без слушателей? Просто возник забавный вопрос о том, что при переводе студентов в другую группу изменения вносятся только в базу данных без синхронизации наборов с тем, что отображается на экране? Или это будет разобрано дальше? Еще раз спасибо, очень интересно и по большей части понятно. |
Автор: Mirkes 22.8.2011, 21:17 |
Часть пятая Список - model и listeners. Список - model и listener. или Список - models и listeners. Наверное первый исправленный вариант лучше, поскольку термин listener, а про множественное число в английском читатель знать не обязан. Предварительно сделаем вот какое замечание - наш список на самом деле уже имеет некоторую модель. Но она не является стандартной и что она умеет точно - мы не знаем. Можно вопрос на понимание. В тексте класса не замены модели. То есть поставлена модель по умолчанию - то что ставится всегда, когда пользователь(программист) не указал нужного значения явно. Или в этом случае ставится что кому под руку попадется и результат зависит от каких-то внешних условий? Например, от версии JVM. Может речь должна идти не о том, что свойства до конца не известны, наверное они документированы, а о том, что для нашей работы эта модель-затычка не подходит? JButton add = new JButton("Add"); JButton del = new JButton("Del"); Существует такой набор правил по оформлению текстов. Одно из правил звучит как "не сокращ". Не стоит сокащать то, что вылазит наружу. Пусть лучше будет Delete. Позиционируя свой текст как учебное пособие Вы взвалили на себя еще и воспитательную функцию. Вопрос на понимание. Почему не установить List нужную модель один раз? Зачем постоянное приведение? И что все модели для одного шаблона (паттерна) всегда приводимы? Или это верно только для списка? В этом месте осталась недосказанность. |
Автор: Mirkes 23.8.2011, 16:20 |
Часть шестая Добавим две кнопки внизу списка групп Добавим две кнопки ниже списка групп или Добавим две кнопки под списком групп Итак, давайте сделаем первую версию нашего интерфейса Итак, давайте сделаем новую версию нашего интерфейса Ведь было уже две версии интерфейса, хотя одна консольная, другая убогая. Но они были. нашу панель для групп не сжимаемую по ширине нашу панель для групп не сжимаемой по ширине Добавим пункты меню "Отчеты", где мы сможем получать различные отчеты. На сегодня у нас только один отчет - список всех студентов. ВИдимо лучше "Создадим меню и добавим в него пункт "Отчеты"... Вопрос на понимание. В одном файле можно создавать несколько классов? То есть можно создат один public и сколько угодно не public? Они будут доступны во всем пакете или только в том файле, в котором описаны. Или речь идет о вложенном классе? Но вложенный класс вроде бы должен описываться внутри описания объемлющего класса. Разве нет? // Делаем спин-поле // 1. Задаем модель поведения - только цифры // 2. Вставляем в панель SpinnerModel sm = new SpinnerNumberModel(2006, 1900, 2100, 1); Господа, ради бога не уподобляйтесь дикторам радио и ТВ, не знающим разницы междй цифрами и числами. Вы де не пробуете назвать метод SpinnerDigetModel Тем более, что бОльшая часть работы Тем более, что большая часть работы |
Автор: Mirkes 23.8.2011, 21:34 |
Часть 6. фрагмент c.gridwidth = GridBagConstraints.RELATIVE; c.fill = GridBagConstraints.BOTH; btnOk.setName("OK"); // Добавляем листенер для кнопки btnOk.addActionListener(this); // Устанавливаем это правило для нашего компонета gbl.setConstraints(btnOk, c); // Добавляем компонент getContentPane().add(btnOk); отличается по качеству от трех предыдущих видимо стоит привести его к следующему виду // Кнопка ОК Устанавливаем имя для последующей идентификации в обработчике события btnOk.setName("OK"); // Добавляем листенер для кнопки btnOk.addActionListener(this); // После него можно будет еще помещать компоненты c.gridwidth = GridBagConstraints.RELATIVE; // Растягиваем компонент по всему пространству для него c.fill = GridBagConstraints.BOTH; // Компонент по прежнему привязан к левому краю (левой части?) // Устанавливаем это правило для нашего компонета gbl.setConstraints(btnOk, c); // Добавляем компонент getContentPane().add(btnOk); аналогично стоит откомментировать один раз и следующий фрагмент // Кнопка Cancel. Устанавливаем имя для последующей идентификации в обработчике события btnCancel.setName("Cancel"); // Добавляем листенер для кнопки btnCancel.addActionListener(this); // Все настройки менеджера размещения сохраняем // Устанавливаем это правило для нашего компонета gbl.setConstraints(btnCancel, c); // Добавляем компонент // Добавляем компонент getContentPane().add(btnCancel); Текст помеченный красным по-моему можно спокойно выкинуть, поскольку он ни на что не влияет. Или я ошибся? setBounds(((int) d.getWidth() - GroupDialog.D_WIDTH) / 2, ((int) d.getHeight() - GroupDialog.D_HEIGHT) / 2, GroupDialog.D_WIDTH, GroupDialog.D_HEIGHT); Я не понял приведения типа d.getWidth() к int вместо использования d.width? Стоило ли брат плавающее число для приведения к целому виду? // Возврат года, который установлен на форме // Возврат года, который установлен в форме // Возврат группы, которая установлена на форме // Возврат группы, которая установлена в форме // Задаем ему режим модальности - нельзя ничего кроме него выделить видимо не совсем точно - ни один элемент НАШЕГО приложения, кроме тех, что находятся в диалоге не будет реагировать на попытки работы с ним. Отметим, что ИД студента должно где-то храниться и если этот ИД будет больше 0 Отметим, что ИД студента должен где-то храниться и если этот ИД будет больше 0 Но я думаю, что это больше затруднит нам работу Но я думаю, что это только затруднит нам работу Он вообщем-то совсем ничего не делает, но правила языка требуют. Он не делает ничего специфичного для класса Student, но он необходим для инициации стандарного набора служебных полей. // Второй параметр содержит знак - добавление студента или исправление // Второй параметр содержит признак - добавление студента или исправление // Сделаем имя такое же, как требуется в баще данных - М/Ж // Сделаем имя такое же, как требуется в базе данных - М/Ж Предложение сделать форму отчета звучит пугающе, но если отчет не надо печатать, то она (форма) описана в предыдущей части. Кстати, а вопросы распечатки отчета рассматриваться будут? для такого отдела кадров печать отчета важнее интернета. Спасибо большое получил удовольствие от чтения и узнал много нового. |
Автор: vav84 20.10.2011, 17:53 |
Добрый день! Огромное спасибо автору проекта за популярное обьяснение актуальных технологий программирования. Так или иначе но постепенно обьявления о вакансиях Java-разработчиков шаг за шагом перестают быть для меня набором бессмысленных аббревиатур. Боюсь предположить сколько времени мне бы пришлось на изучение всех этих простых истин. При изучении раздела 12 "Application Server & Enterprise Java Beans" в EJB- части у меня возникла проблема, причем там где совсем ее не ждал. Суть такова: не могу создать класс сущностей из БД. Конкретно: JDBC-драйвер находится и подключается, в мастере нового соединения с БД ввожу адрес/порт, имя БД, логин/пароль жму "Проверить соединение"- все хорошо. Ввожу имя JNDI "jdbc/Students" и кликаю ОК: система ищет схему БД но не находит никаких доступных таблиц(((( и в тоже время не выводит никаких предупреждений или сообщений об ошибках. Исходные данные: NetBeans IDE 7.0.1 (Build 201107282000) Java: 1.6.0_26; Java HotSpot Client VM 20.1-b02 MS SQL Server 2005, пользователь sa. Господа-знатоки, в чем может быть причина?))) |
Автор: Kangaroo 25.10.2011, 23:36 |
vav84, у меня были проблемы в связке MS SQL/Java с правами для пользователя sa. Попробуй другую БД. |
Автор: Pawl 10.2.2013, 00:33 |
Спасибо за публикации, некоторые были мне очень полезны. Было бы неплохо, если бы Вы такзе подробно пояснили процесс совместной разработки проекта (я имею ввиду работу с репозиториями: настройку IDE, размещение и получение файлов проекта и пр.). Спасибо! |
Автор: AntonSaburov 10.2.2013, 20:23 |
Mirkes - спасибо большое за технические правки неточностей, оговорок и не совсем корректных выражений. Я постараюсь исправить то, что Вы отметили. vav84 - EJB делались для достаточно"пожилой" версии NetBeans и Glassfish, так что их работоспособность уже вряд ли реальна. Пока нет возможности сделать новую редакцию даного курса. Хотя кто его знает - может быть смогу осилить. Но на это надо время. |
Автор: Romper 18.4.2013, 00:54 |
перезалейте пожалуйста картинки, вроде все не работают например тут http://java-course.ru/student/book1/servlet/ нет http://java-course.ru/students/images7/figure_7_1.png |
Автор: Rasool 13.6.2014, 13:28 |
Глюк |