Культурный офтопик
 help / color / mirror / Atom feed
From: Eugene Prokopiev <prokopiev@stc.donpac.ru>
To: "культурный офтопик" <smoke-room@lists.altlinux.org>
Subject: Re: [room] Лекция по Java
Date: Mon, 26 Feb 2007 01:52:15 +0300
Message-ID: <45E2131F.9020507@stc.donpac.ru> (raw)
In-Reply-To: <20070225220153.GB10614@mw.local.seiros.ru>

Денис Смирнов пишет:
> On Thu, Oct 26, 2006 at 11:47:12AM +0400, Eugene Prokopiev wrote:
> 
> Извиняюсь за поздний ответ, письма на эту тему после прочитывания
> откладывал на обдумывание... да слишком на долго отложил.
> 
> 
>>>Гм. У меня ситуация немного другая -- мне достаточно если он будет
>>>_работать_ где угодно. Увы, скорее всего то что будет распространяться
>>>будет распространяться в бинарном виде :(
> 
> EP> Этого, по-моему, уже достаточно для отказа от apt для всего, кроме 
> EP> JDK/JRE, чтобы унифицировать подход к разным платформам
> 
> Я с этим не соглашусь. Пусть у меня будет одна нормальная платформа где
> будет удобно работать. А для остальных, так и быть, можно раздавать кашу в
> виде пачки jar'ов в одном tgz с боооольшим README на тему "а как с этим
> кошмаром взлететь".
> 
> Пользователи же нормальных дистрибутивов смогут использовать пакетный
> менеджер.
> 
> 
>>>То есть класс содержит в себе код обработчики запроса? Ага.
>>
>>EP>> Есть надстройки над этим - template engines типа JSP и Velocity, которые 
>>EP>> позволяют писать в стиле PHP, т.е. html + вставки кода. Кстати, Velocity 
>>EP>> как template engine используется в проектах, которые к web никаким боком.
>>
>>>Добровольно мешать код и данные? Нет уж :)
> 
> EP> :)
> 
> :)
> 
> 
>>EP>> Есть надстройки над этими надстройками :) Есть другие надстройки над 
>>EP>> сервлетами. Начать читать можно отсюда - 
>>EP>> http://www.techinfo.net.ru/docs/web/javawebdev.html
>>
>>>Прочитал... жуть! Описано только одно средство (XMLC) которое упрощает
>>>разработку, а не усложняет %-/
> 
> EP> :) так видимо считали все, приступая к разработке очередного кошмара, но 
> EP> уже своего :)
> 
> Видимо да. Но логика своего кошмара хотя бы самому себе кажется разумной.
> А логика чужого кошмара приводит к кошмарам по ночам :)
> 
> 
>>>Откуда такая XML-мания?
> 
> EP> просто XML - это общепринятый способ хранить древовидные данные (если 
> EP> этих данных немного - т.е. для конфигов почти идеал). Конечно, у Lisp и 
> EP> Erlang свой путь, может более эффективный по затрате ресурсов, но в Java 
> EP> и не только путь именно такой, и изобретено уже столько инструментов и 
> EP> технологий поддержки, что отказываться поздно ...
> 
> :(
> 
> Люблю конфиги на тикле писать :)
> 
> 
>> EP>>      <display-name>Hello, World Application</display-name>
>> EP>>      <description>
>> EP>>          This is a simple web application with a source code organization
>> EP>>          based on the recommendations of the Application Developer's Guide.
>> EP>>      </description>
>>
>>>Где используется эта информация?
> 
> EP> В Tomcat есть интерфейс администрирования web-приложений: установить, 
> EP> удалить, запустить, остановить - вот там имя и описание и фигурируют
> 
> Ага, понял.
> 
> 
>> EP>> build.xml (и вызывающий его build.sh) умеет строить из этого дерева 
>> EP>> файлов war-архив. Этот архив можно разными способами продеплоить в 
>> EP>> Tomcat: например, скопировать его в определенный каталог, который он 
>> EP>> мониторит на предмет появления новых приложений. Будет это приложение 
>> EP>> работать и в других контейнерах вроде Jetty и Resin, а также в тяжелых 
>> EP>> серверах приложений вроде JBoss и Geronimo, которые содержат встроенные 
>> EP>> сервлет-контейнеры (коими являются Tomcat и Jetty :) ).
>>
>>>Я правильно понимаю что минимальный сервлет-контейнер должен уметь "всего
>>>лишь" каким-либо образом обрабатывать клиентские соединения, подгружать
>>>сервлеты и передавать данные? 
> 
> EP> да :)
> 
> А монстры чем отличаются от этого минимума? Администрирование, возможно
> какой-то механизм кэширования, что еще?

О каких монстрах речь? JBoss и Geronimo? Ну тут в двух словах никак. 
Кратко: это реализация всех стандартов JEE - JMS (асинхронные сообщения 
- аналог e-mail, но с отказоустойчивостью, транзакциями и т.д.), EJB 
(RPC, ORM, ...), распределенные транзакции, security, кластеризация ... 
Собственно Web тут очень небольшая часть. Кстати, я их не использую, мне 
в качестве контейнера достаточно Spring, куда я при необходимости могу 
втащить реализацию какой-либо JEE-технологии, вроде JMS (например, 
ActiveMQ - часть Geronimo, но поддерживает конфигурирование средствами 
Spring и JBoss).

>>>То есть можно, например, написать простой
>>>сервлет-контейнер который будет общаться с тем же nginx через FastCGI.
> 
> EP> писать свой - это все-таки перебор, посмотри на Jetty или Embeded Tomcat 
> EP> - с первым я баловался, встраивая его в свое приложение.
> EP> FastCGI и сервлеты - это скорее взаимоисключающие вещи. Я бы на твоем 
> EP> месте проверил, реально ли (и достаточно ли по производительности - так 
> EP> на всякий случай) на сервлетах построить тот framework, который ты 
> EP> хочешь (очень интересно, что у тебя получится :) - как сделаешь, делись 
> EP> :) ). А если нет, то идти к FastCGI - эта технология, как я понимаю, 
> EP> вообще перпендикулярна любым языкам и платформам. И при любом выборе 
> EP> посмотреть в сторону какой-либо реализации IoC и AOP - вероятность того, 
> EP> что они будет полезны, довольно высока.
> 
> что такое IoC и AOP? 

IoC мы кратко рассмотрели в примере использования Spring, можно еще 
здесь почитать - http://www.rsdn.ru/article/java/spring.xml

AOP - грубо говоря, препроцессор для выполнения неких действий перед 
вызовом метода и после него (возможно с модификацией входных и выходных 
параметров), не ставя в известность об этом факте сам метод. Полезно для 
разделения основной логики и дополнительной (авторизация, управление 
транзакциями и т.д.)

> Путь с интегрирование Jetty мне нравится. Хотя, с
> учетом того что я _знаю_ что у меня будет frontend, собственно код сервера
> достаточно простой получается. Самое-самое-самое сложное в этом коде это
> разбор запросов :)

ну и замечательно, пока этим и стоит ограничиться, даже сервлеты тебе 
фактически не нужны, а нужны только твои собственные реализации 
интерфейса Handler

>> EP>> 	public static void main(String[] args) throws InterruptedException {
>>
>>>Что означает этот exception?
> 
>  EP> В Java изначально предполагалось, что каждый метод должен знать, какие 
>  EP> исключения внутри могут приключиться (за исключением unchecked 
>  EP> exceptions). Возможно, это был ответ на позицию M$ при разработке Win32 
>  EP> API, когда было заявлено, что это невозможно узнать в принципе.
> 
>  EP> Со временем unchecked exceptions расплодились и Spring главный, кто эту 
>  EP> идею фактически похоронил - есть и обоснования, но тут я принимать 
>  EP> чью-либо сторону не берусь.
> 
> Гм.
> 
> 
>>>В Java вообще все есть :) Дело в синтаксисе.
> 
> EP> Ну так все что есть, есть не в Java, а в JVM/JEE :) И теоретических 
> EP> препятствий к использованию других языков на этой платформе вроде нет - 
> EP> попробуй, расскажешь :)
> 
> Медитирую над синтаксисом того, чего хочу. В общем-то я понял что хочу --
> некий недоlisp. Буду думать.
> 
> Кстати о, куда копать на предмет того как в Java принято писать простые
> клиент-серверные приложения? 

Даже и не знаю ... Может отсюда 
http://java.sun.com/docs/books/tutorial/networking/index.html

Книжка Брюса Эккеля Thinking in Java неплоха, ее электронный перевод 
отвратителен, а бумажный нормальный

Но это слишком низкий уровень, сокеты, потоки и все такое ... Наверное, 
лучше начать с примеров, идущих с Jetty и с кода самого Jetty. Кстати, у 
тебя и клиент-сервера как такового не получается, всеми сетевыми делами 
и даже потоками будет заниматься Jetty, тебе лишь остается правильно 
структурировать свой внутренний код.

> Первое где я могу с ней реально поиграться на
> практике, это в том интерфейсике к asterisk managment interface, который
> мне все равно скоро писать придется.
> 
> И как _правильно_ запускать Java-сервер через инитскрипты?

Я использую http://jakarta.apache.org/commons/daemon/, его же использует 
Tomcat

-- 
С уважением, Прокопьев Евгений


  reply	other threads:[~2007-02-25 22:52 UTC|newest]

Thread overview: 205+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-12 22:25 ` [room] ну почему мы такие страшные Sergey Stepanov
2006-10-13  0:02   ` Денис Смирнов
2006-10-14 16:54     ` [room] новички Michael Shigorin
2006-10-14 19:51       ` Денис Смирнов
2006-10-15 18:27         ` [room] комоды Michael Shigorin
2006-10-15 22:46           ` Денис Смирнов
2006-10-16 11:35             ` [room] IA: комоды += mithraen@ Michael Shigorin
2006-10-16 18:22               ` Maxim Tyurin
2006-10-16 19:40                 ` [room] IA: комоды += mrkooll@ Michael Shigorin
2006-10-16 18:19         ` [room] новички Maxim Tyurin
2006-10-16 20:14           ` Денис Смирнов
2006-10-16 21:20             ` Michael Shigorin
2006-10-17  8:10               ` Денис Смирнов
2006-10-17  8:20                 ` Evgenii Terechkov
2006-10-17 19:21                   ` Michael Shigorin
2006-10-18  0:54                     ` Evgenii Terechkov
2006-10-18  7:02                       ` Michael Shigorin
2006-10-18  8:08                         ` Evgenii Terechkov
2006-10-17 20:34                   ` Maxim Tyurin
2006-10-18  0:51                     ` Evgenii Terechkov
2006-10-18  8:31                       ` Maxim Tyurin
2006-10-18  9:24                         ` Evgenii Terechkov
2006-10-18  9:33                           ` Maxim Tyurin
2006-10-18 10:10                             ` Evgenii Terechkov
2006-10-18 10:22                               ` Maxim Tyurin
2006-10-18 15:07                                 ` Evgenii Terechkov
2006-10-18 20:44                                   ` Michael Shigorin
2006-10-19  5:46                                     ` Dmytro O. Redchuk
2006-10-19  5:58                                       ` Evgenii Terechkov
2006-10-19 23:08                                         ` Michael Shigorin
2006-10-20  3:58                                           ` Evgenii Terechkov
2006-10-19 23:07                                       ` [room] whitespace (не язык) Michael Shigorin
2006-10-20  3:46                                         ` Evgenii Terechkov
2006-10-20  8:16                                           ` Michael Shigorin
2006-10-20  9:18                                             ` Maxim Tyurin
2006-10-20 11:46                                               ` Michael Shigorin
2006-10-20 12:09                                                 ` Maxim Tyurin
2006-10-20 12:23                                             ` Evgenii Terechkov
2006-10-19  5:55                                     ` [room] новички Evgenii Terechkov
2006-10-19 23:05                                       ` Michael Shigorin
2006-10-20  3:56                                         ` Evgenii Terechkov
2006-10-20  3:57                                         ` Evgenii Terechkov
2006-10-19 16:01                                     ` Maxim Tyurin
2006-10-19 15:57                                   ` Maxim Tyurin
2006-10-19 17:33                                     ` Evgenii Terechkov
2006-10-19 17:57                                       ` Maxim Tyurin
2006-10-19 19:52                                         ` Evgenii Terechkov
2006-10-20  9:15                                           ` Maxim Tyurin
2006-10-20 12:32                                             ` Evgenii Terechkov
2006-10-19 18:28                                       ` Денис Смирнов
2006-10-20 19:44                                         ` Aleksey Korotkov
2006-10-20 22:02                                           ` Денис Смирнов
2006-10-21 19:47                                             ` Aleksey Korotkov
2006-10-21 20:22                                               ` Денис Смирнов
2006-10-21 22:16                                                 ` Michael Shigorin
2006-10-21 22:45                                                   ` Денис Смирнов
2006-10-22 11:18                                                     ` Michael Shigorin
2006-10-22 21:01                                                       ` Денис Смирнов
2006-10-22 21:20                                                 ` Aleksey Korotkov
2006-10-22 21:28                                                   ` [room] язычки и библиотечки Michael Shigorin
2006-10-23  6:15                                                     ` Eugene Ostapets
2006-10-23  7:36                                                       ` Michael Shigorin
2006-10-23  7:53                                                         ` Eugene Ostapets
2006-10-23 12:21                                                           ` Maxim Tyurin
2006-10-23 12:38                                                             ` Dmitriy L. Kruglikov
2006-10-24  1:48                                                             ` Денис Смирнов
2006-10-24 10:44                                                               ` Maxim Tyurin
2006-10-23 18:21                                                           ` Michael Shigorin
2006-10-23 18:30                                                             ` Eugene Ostapets
2006-10-23 19:18                                                               ` Michael Shigorin
2006-10-23 19:26                                                                 ` Eugene Ostapets
2006-10-24 10:35                                                                   ` [room] язычки и библиотечки [fin?] Michael Shigorin
2006-10-23  8:10                                                         ` [room] язычки и библиотечки Денис Смирнов
2006-10-23 20:14                                                         ` Aleksey Korotkov
2006-10-24 10:33                                                           ` Michael Shigorin
2006-10-24 22:57                                                             ` Aleksey Korotkov
2006-10-25 10:18                                                               ` Michael Shigorin
2006-10-23  8:24                                                     ` Денис Смирнов
2006-10-23 18:19                                                       ` Michael Shigorin
2006-10-24  1:55                                                         ` Денис Смирнов
2006-10-24  7:03                                                           ` Michael Bochkaryov
2006-10-24  8:54                                                             ` Денис Смирнов
2006-10-24 10:30                                                               ` [room] wackowiki Michael Shigorin
2006-10-24 10:49                                                                 ` [room] lustre Eugene Prokopiev
2006-10-24 15:07                                                                   ` Michael Shigorin
2006-10-24 16:04                                                                 ` [room] wackowiki Денис Смирнов
2006-10-24 16:08                                                                   ` Igor Zubkov
2006-10-24 16:47                                                                     ` Денис Смирнов
2006-10-24 17:51                                                                       ` [room] wackowiki vs mediawiki Igor Zubkov
2006-10-24 19:20                                                                         ` Michael Shigorin
2006-10-25  3:47                                                                           ` Денис Смирнов
2006-10-24 19:37                                                                       ` [room] wackowiki Michael Shigorin
2006-10-25  3:40                                                                         ` Денис Смирнов
2006-10-25 10:10                                                                           ` Michael Shigorin
2006-10-25 17:13                                                                             ` Денис Смирнов
2006-10-25 18:38                                                                               ` Michael Shigorin
2006-10-25 21:17                                                                                 ` Aleksey Korotkov
2006-10-26 21:01                                                                                   ` Michael Shigorin
2006-10-26  4:36                                                                                 ` Денис Смирнов
2006-10-28 14:26                                                                                   ` Michael Shigorin
2006-10-28 16:02                                                                                     ` Денис Смирнов
2006-10-29 17:44                                                                                       ` Michael Shigorin
2006-10-29 20:49                                                                                         ` Денис Смирнов
2006-10-30  7:48                                                                                           ` Michael Shigorin
2006-10-30 13:32                                                                                             ` Денис Смирнов
2006-10-30 17:19                                                                                               ` Igor Zubkov
2006-11-01  9:22                                                                                                 ` Денис Смирнов
2006-11-01 17:11                                                                                                   ` Igor Zubkov
2006-11-01 21:08                                                                                                     ` Денис Смирнов
2006-10-31  9:47                                                                                               ` Michael Shigorin
2006-11-01  9:20                                                                                                 ` Денис Смирнов
2006-10-31  9:49                                                                                               ` Michael Shigorin
2006-11-01  9:21                                                                                                 ` Денис Смирнов
2006-10-30 16:59                                                                                   ` Igor Zubkov
2006-11-01  9:20                                                                                     ` Денис Смирнов
2006-10-30 16:58                                                                                 ` Igor Zubkov
2006-10-31  3:16                                                                                   ` Evgenii Terechkov
2006-10-25  6:47                                                               ` [room] язычки и библиотечки Michael Bochkaryov
2006-10-25  7:16                                                                 ` Eugene Prokopiev
2006-10-28  8:18                                                                   ` Michael Bochkaryov
2006-10-25  8:35                                                                 ` Денис Смирнов
2006-10-25 10:07                                                                   ` Michael Shigorin
2006-10-25 17:15                                                                     ` Денис Смирнов
2006-10-24 10:28                                                             ` Michael Shigorin
2006-10-24  8:58                                                           ` Eugene Prokopiev
2006-10-24 15:57                                                             ` Денис Смирнов
2006-10-24 19:35                                                               ` [room] java off the rails Michael Shigorin
2006-10-25  3:37                                                                 ` Денис Смирнов
2006-10-25  6:21                                                                   ` Eugene Prokopiev
2006-10-25  6:39                                                                     ` Eugene Prokopiev
2006-10-25 10:05                                                                   ` Michael Shigorin
2006-10-25 16:59                                                                     ` Денис Смирнов
2006-10-25  6:00                                                               ` [room] язычки и библиотечки Eugene Prokopiev
2006-10-25  8:30                                                                 ` Денис Смирнов
2006-10-25 10:43                                                                   ` [room] Лекция по Java Eugene Prokopiev
2006-10-25 10:53                                                                     ` Eugene Prokopiev
2006-10-25 16:50                                                                     ` Eugene Prokopiev
2006-10-25 18:10                                                                     ` Денис Смирнов
2006-10-25 18:34                                                                       ` Michael Shigorin
2006-10-26  4:39                                                                         ` Денис Смирнов
2006-10-26  8:05                                                                           ` Eugene Prokopiev
2007-02-25 21:48                                                                             ` Денис Смирнов
2007-02-25 22:10                                                                               ` Eugene Prokopiev
2007-02-25 22:20                                                                                 ` Денис Смирнов
2007-02-25 22:56                                                                                   ` Eugene Prokopiev
2007-02-26 14:01                                                                                     ` Денис Смирнов
2006-10-26  7:47                                                                       ` Eugene Prokopiev
2007-02-25 22:01                                                                         ` Денис Смирнов
2007-02-25 22:52                                                                           ` Eugene Prokopiev [this message]
2007-02-26 14:05                                                                             ` Денис Смирнов
2007-02-26 20:16                                                                               ` Eugene Prokopiev
2007-02-26 20:51                                                                                 ` Денис Смирнов
2007-02-26  5:50                                                                           ` Eugene Prokopiev
2007-02-26 14:09                                                                             ` Денис Смирнов
2007-02-26 20:07                                                                               ` Eugene Prokopiev
2006-10-25 10:45                                                                   ` [room] язычки и библиотечки Eugene Prokopiev
2006-10-25 10:03                                                                 ` Michael Shigorin
2006-10-25  6:57                                                               ` Michael Bochkaryov
2006-10-25  8:37                                                                 ` Денис Смирнов
2006-10-24 10:27                                                           ` Michael Shigorin
2006-10-24 16:01                                                             ` Денис Смирнов
2006-10-24 19:44                                                               ` Michael Shigorin
2006-10-25  3:36                                                                 ` Денис Смирнов
2006-10-24 19:44                                                               ` [room] mod_security article (was: язычки и библиотечки) Michael Shigorin
2006-10-23 20:09                                                     ` [room] язычки и библиотечки Aleksey Korotkov
2006-10-24 10:22                                                       ` Michael Shigorin
2006-10-24 23:12                                                         ` Aleksey Korotkov
2006-10-25 10:19                                                           ` Michael Shigorin
2006-10-25 15:46                                                             ` Aleksey Korotkov
2006-10-25 18:39                                                               ` Michael Shigorin
2006-10-25 21:19                                                                 ` Aleksey Korotkov
2006-10-23  8:08                                                   ` [room] новички Денис Смирнов
2006-10-23 20:08                                                     ` Aleksey Korotkov
2006-10-24  1:46                                                       ` Денис Смирнов
2006-10-24 10:22                                                         ` [room] г-флейм Michael Shigorin
2006-10-24 10:27                                                           ` Денис Смирнов
2006-10-24 22:44                                                         ` [room] новички Aleksey Korotkov
2006-10-25  3:29                                                           ` Денис Смирнов
2006-10-25 10:00                                                             ` Michael Shigorin
2006-10-25 16:38                                                               ` Денис Смирнов
2006-10-25 18:25                                                                 ` Michael Shigorin
2006-10-26  4:14                                                                   ` Денис Смирнов
2006-10-25 15:07                                                             ` Aleksey Korotkov
2006-10-25 16:57                                                               ` Денис Смирнов
2006-10-25 21:07                                                                 ` Aleksey Korotkov
2006-10-26  4:28                                                                   ` Денис Смирнов
2006-10-26 13:39                                                                     ` Aleksey Korotkov
2006-10-26 15:10                                                                       ` Денис Смирнов
2006-10-25  9:58                                                           ` Michael Shigorin
2006-10-25 15:30                                                             ` Aleksey Korotkov
2006-10-25 18:27                                                               ` [room] смайлЫ Michael Shigorin
2006-10-25 21:14                                                                 ` Aleksey Korotkov
2006-10-25 16:35                                                             ` [room] новички Денис Смирнов
2006-10-18 11:11                               ` [room] язЫки программирования Michael Shigorin
2006-10-18 11:22                                 ` Maxim Tyurin
2006-10-18 15:08                                 ` Evgenii Terechkov
2006-10-18 11:10                           ` [room] новички Michael Shigorin
2006-10-18 15:12                             ` Evgenii Terechkov
2006-10-19 16:04                               ` Maxim Tyurin
2006-10-19 17:19                                 ` Evgenii Terechkov
2006-10-19 18:00                                   ` Maxim Tyurin
2006-10-19 18:57                                     ` Evgenii Terechkov
2006-10-19 23:10                                       ` Michael Shigorin
2006-10-20  3:53                                         ` Evgenii Terechkov
2006-10-23  6:59                                   ` Dmytro O. Redchuk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45E2131F.9020507@stc.donpac.ru \
    --to=prokopiev@stc.donpac.ru \
    --cc=smoke-room@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Культурный офтопик

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
		smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
	public-inbox-index smoke-room

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.smoke-room


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git