[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Общего плана ->Предложения по новым курсам DL 1, 2, 3, 4, 5, 6
Автор Сообщение
Роман Хиженок

Темы: 0
Сообщений: 13

Мой профиль
Java servlet - обучение
https://habrahabr.ru/post/333626/ - Создание сервлетов. Пошаговое руководство для начинающих.
http://java-course.ru/student/book1/servlet/ - Знакомство с servlet.
http://www.java2ee.ru/servlets/lifecycle.html - Сервлеты. Жизненный цикл
http://www.technerium.ru/tehnologiya-java-servlet/kak-napisat-prostoy-servlet-v-ide-eclipse-tomcat-v7 - Написание servlet.
http://webjavastart.blogspot.com.by/p/555.html - Servlet. Создание динамического приложения.
http://www.pskills.org/servlet.jsp - тест по Servlet (На Анг.)
Михаил Долинский

Темы: 1438
Сообщений: 33948

Мой профиль


Александр Стоянов:

Не нашел файлы исходного кода, которые нужно редактировать в IDEA с пользовательского компьютера для изменения DL 



Вадим Копиченко:

Продублировал упоминание про c:\Work! на странице DLVM:
http://confluence.newit.gsu.by/pages/diffpages.action?pageId=21889038&originalId=35258371

Даже без этого исходники можно напрямую скачать из Subversion:
http://confluence.newit.gsu.by/display/dldev/Subversion

Процесс разработки описан в http://confluence.newit.gsu.by/display/dldev/DLVM+Intro. 



Вадим Копиченко:

Доки для всех общие:
http://confluence.newit.gsu.by/display/dldev/DLVM
http://confluence.newit.gsu.by/display/dldev/DLVM+Intro
http://confluence.newit.gsu.by/display/dldev/Subversion
http://confluence.newit.gsu.by/display/dldev/IntelliJ+IDEA
http://confluence.newit.gsu.by/display/dldev/Java+Code+Convention 

Михаил Долинский

Темы: 1438
Сообщений: 33948

Мой профиль


ВЕ:

У меня была проблема с программой для запуска виртуальной машины. В инструкции рекомендуется VMware Player. Но когда я попытался установить её мне выдало ошибку, что программа не поддерживается данным типом процессора. Тогда я скачал и установил VMware Workstation, и всё заработало. Но эта программа платная (я скачал с торрента пиратку).

Вообще VMware Player является бесплатной урезанной версией VMware Workstation. 
Михаил Долинский

Темы: 1438
Сообщений: 33948

Мой профиль
From: User 152206 [mailto:webmaster*gsu.by]
Sent: Thursday, March 08, 2018 3:54 PM
To: Michael Dolinsky
Subject: Consultation on course 1058


Я хочю стать WEB-програмистом. Какой язык програмирования выбрать после html, CSS и JavaScript?

-- Спрашивает 152206 [Лаврентьев Даниил]
-- Курс 'WEB-технологии для начинающих'
Distance Learning Belarus - http://dl.gsu.by - 08.03.2018 15:53


Валерий Захаренко

Темы: 1
Сообщений: 21

Мой профиль


Михаил Долинский:


Я хочю стать WEB-програмистом. Какой язык програмирования выбрать после html, CSS и JavaScript?

-- Спрашивает 152206 [Лаврентьев Даниил]
 


Самый простой (а значит и лучший в данной ситуации) вариант - php.
Михаил Долинский

Темы: 1438
Сообщений: 33948

Мой профиль
From: Алексей Гуленко
Sent: Sunday, March 11, 2018 8:52 PM


Хм… С воспроизведением поведения пришлось малость повозиться, и проверял я только на базовых примерах так что если будете пускать это в дело, проверяйте сначала как в настоящем Web-контейнере работать будет. А вообще есть ненулевой шанс что по мере работы придётся допиливать (поддержку cookies или сессий я туда пихать не стал). Из-за этого, кстати, я закинул в архив исходники используемой версии Tomcat (чтобы легче разобраться было… при использовании IDE можно подключить соответствующую подпапку как исходники JAR-файлов, это помогает при отладке и поиске реализаций класса). Размер архива из-за этого, правда, раз в шесть вырос. Впрочем, GMail всё равно исполнимые файлы пересылать не разрешает, так что залил пока к себе.


По содержимому: файлы с примерами (входные/выходные файлы, запускаемые исходники web-страниц) для чистоты перекинул в подпапку samples/, скрипты запуска/компиляции – в scripts/ (кстати же windows-версии я не запускал так что возможно их понадобится подправить); однако работал с их содержимым в корне, так что после распаковки предлагаю первым делом перекинуть их содержимое в корень. Исходники моего "окружения" (плюс класс для запуска оного) – в папке testing/, скомпилированная версия – в testing.jar. Остальное – сторонние библиотеки для компиляции/запуска кода (Tomcat Embedded 8.5.27, Ant 1.10.1, Lombok 1.16.20, JSTL 1.2.5).
Теперь, как с этим работать. Писалось это под Java 8, потому что мазохиста писать это на Java 6 ищите где-нибудь ещё. Примерно с теми же мотивами я урезал размеры исходников (мелкие методы писал в одну строку, иначе были бы километры кода) и пропускал при компиляции через Lombok (генерирует getter/setter-методы и т.п., перед использованием в IDE нужно запустить JAR-файл библиотеки, там есть установщик для разных IDE).

build-* скрипты предназначены для компиляции: build-java компилирует Java-файлы (исходники окружения или servlet'ы: см. HelloServlet.java, ParamsServlet.java), build-jsp компилирует JSP-файлы (сначала в servlet'ы, потом в class'ы: см. hello.jsp, params.jsp), build-testing компилирует исходники окружения testing/ в библиотеку testing.jar.

Остальные скрипты предназначены для запуска: run – вспомогательный (иначе длинно выходит), serve – для запуска servlet'а (классом testing.Runner), test-* запускают некоторые другие классы в testing на прилагающихся примерах (напоминаю, сначала перекинуть samples/ в корень). Последнее полезно, скажем, чтобы проверить правильно ли оформлен входной файл.

Процесс тестирования реализован так: компилируем servlet (отдельным скриптом), далее запускаем тестирование (как Java-программу) – из входного файла читается HTTP-request , отрабатывает servlet (загружается динамически по имени класса), и результат работы пишется в формате HTTP-response (для удобства тестирования я позволил ограничить вывод только "шапкой" либо только "телом" – последнее можно, скажем, считать за web-страницу, с тестированием которых вроде уже разобрались… но заметьте, что servlet/JSP может выводить не только HTML).

Если хотите добавить функционал ввода-вывода, предлагаю расширять testing.Runner или писать внешнюю обёртку.

Пара примеров применения:
./build-java.sh HelloServlet.java # компилирует HelloServlet.java -> HelloServlet.class
./serve.sh HelloServlet hello.in # выводит результат отработки HelloServlet в виде HTTP-response
./build-jsp.sh params.jsp # компилирует params.jsp -> params.java -> params.class
./serve.sh params hello.in body # выводит результат отработки params в виде HTML

Что именно работает (runtime-требования приведены чтобы было понятно куда копать если приспичит что-то переделывать):
• Парсинг GET и POST запросов (остальные типы в теории тоже поддерживаются но не проверял); GET с параметрами в аргументе, плюс три варианта POST – URL-encoded (тот же query-string что и в GET только в теле запроса), multipart (используется при отсылке файлов) и file-upload (непосрественная пересылка файла посредством JS, а не механизмом HTML-формы). В GET и URL-encoded POST доступны параметры (params/paramValues), в multipart POST – "части" (parts), в file-upload POST нужно использовать reader (примеры вышеуказанных запросов прилагаются). HTTP-заголовки вроде работают. Атрибуты запросов в теории тоже должны работать (не проверял).
• Генерация HTTP-ответов (прилагаемые примеры не содержат status-line; при запуске тестов к ним добавляется пара HTTP-заголовков, в демонстрационных целях). Поддерживается установка кода результата, кода ошибки с сообщением, HTTP-заголовки, вывод текстовых/бинарных данных в тело. Правда, парсинг Content-Type прописан только в setContentType, так что если потом собираетесь использовать encoding, устанавливать через setHeader не советую (или переделает кто-нибудь).
• Компиляция и запуск servlet'ов (по большей части штука тривиальная).
• Компиляция JSP в servlet'ы (и далее в class-файлы). Использует JspC (из Tomcat) и Ant. Для компилирования с тегами нужно помещать их в classpath (в build-jsp включён JSTL).
• Запуск servlet'ов, сгенерированных из JSP. Требует инициализации JspFactory, PageContext и прочей радости.
• Runtime-поддержка Expression-Language (напр. [Math Processing Error]{param["name"]}). Требует корректного ELResolver в ELContext (см. PageContext).
• Runtime-поддержка JSP-тегов (по крайней мере JSTL). Требует инициализации servlet'а ServletConfig'ом, содержащим ServletContext с рабочим InstanceManager'ом.
Михаил Долинский

Темы: 1438
Сообщений: 33948

Мой профиль
DL Master

 - не загружает перевод условий ru_tasks.DOCX
 - запоминать выбранное при последней загрузке
 - надо удалять или игнорировать папку files, stresses (там тесты лишние валяются)
 - имена задач где-то взять (problem.xml?)


 - лишний каталог (внешний) не даёт загружать задачи
 - если(и пока) при загрузке не найден последний использованный каталог, "отступать" в на одну подпапку

 - не работает "поиск по шаблону, исключая"
 - при загрузке задач для каждой создаётся ДВА каталога - 1лишний !!!

 - перенумеровать буквами
 - не контролирует место на диске и выполнение операций копирования файлов
 - зависло при загрузке задач, похоже потому что нет места в каталоге c:\Data\dldata\TasksLoaders\temp\
 - интерактивная задач не становится автоматически
 - компиляция чекеров через DLMaster (по списку наших testlib-ов)
   testlib из каталога задачи нельзя надо что-то перелывать
   разобраться, что и автоматизировать
 - pагрузка задач у нас работает почему-то только с DL-сервера

 - не сворачивать деревья после копирования курсов
 - увидеть результаты и описания решений по олимпиаде
 - корректировка разбалловки по тестам при групповом изменении баллов за задачу
 - MS Word DOC to DL HTML - Конвертирование на лету при загрузке условий задач и результатов   
 - сделать групповое редактирование баллов задачу и баллов за тесты 
 - при загрузке не формируется имя файла, если в нём есть цифры
   17_US_Mar - ART2
   http://dl.gsu.by/task.jsp?nid=1666555&cid=1054
 - заставить DLM работать через Инет

 + теперь нужно консольный ввод/вывод, а для Питерских-файлы
 + убрать запрет на 1 сек в task.cfg (Савостейко) - 22.сент.2017
 + давать сохранять checker=1 

 DLM - Буданков 
 - загрузка по problem.xml
     - групповые тесты
     - название задачи
     - ? управление порядком задач
     - Html-условие задачи с УЧЁТОМ языка !!!
     - Описание решения задачи
     - Время на тест с учётом тест-машины    
     - Память 
     - Названия входных и выходных файлов
     - Количество тестов
     - testlib для компиляции чекеров 
     - Генерировать файлы – тогда не придётся качать большие архивы (у нас есть вроде-вызвать,проверить)
     - отсылка авторских решений, найденных в problems.xml
     - отсылать решения с учётом тегов – time limit, wrong answer …
       встроить такую отсылку и в диалоговый режим под кнопкой отсылки правильных решений
     - сохранять тег задачи  
     - Описать в Confluence как работает загрузка по problem.xml  
 - загрузка
     - ?убрать ДИАЛОГ по галочке отправка авторских решений
	а просто после загрузки отправлять все правильные решения на все загруженные задачи
     - ЗАПОМИНАТЬ, снята/установлена галочка отправки авторских решений
     - писать в лог/консоль действия(поставилсь задачи, загрузилось описание решений, отправились решения)
 - отправка авторских решений 
     - не отправляется решение если просто пытаешься выбрать отсылаемый файл
     - сделать в отсылке правильных решений маску <имя задачи>*.<все стандартные расширения>
     - ? проблема с отсылкой авторских решений на java вида имя_xx.java
     - Не работает также «поиск по шаблону»  *.java  
          - ИСКЛЮЧАЯ   TestGen.java, Validate.java, Check.java
       находятся все java файлы и ничего не исключается 
     - исключая чтобы работало для всех поисков
     - универсализация всех поисков  
 - показывать наличие отсутствие описаний решений
 - показывать результаты/описания решений 
 - внести в Confluence
    - что считается описанием решения
    - протокол изменений 

Михаил Долинский

Темы: 1438
Сообщений: 33948

Мой профиль
Условия задач на JavaScript (Жарков Влад, ПМ-31)
Флажки           : Разместите в файле решения тег <input>  c атрибутом type=”checkbox”
Кнопка отправки  : Разместите в файле решения тег <input>  c атрибутом type со  значением submit
Переключатели    : Разместите в файле решения тег <input>  c атрибутом type со  значением radio
Выпадающие списки: Разместите в файле решения  теги <select> и </select> .
                   Между тегами <select> и </select>      вставьте теги <option> и </option> 2 раза ,
                   а между тегами  <option> и </option> вставьте текст Пункт1 и Пункт2 соответственно.
Подчёркивание слов: Селектору span задайте свойство “text-decoration” со значением “underline”
Интервал между символами: Тегу  <p> задайте свойство “letter-spacing” со значением “5px”
Вид курсора      : Тегу <p> задайте свойство  “cursor” со значение “crosshair”
Цвет фона        : Тегу <body> задайте свойство “ background-color ” со значением “blue”
Цвет тени текста : Тегу <p> задайте свойство “text-shadow” со значениями “1px 1px 2px red”
Конструкция switch: С помощью конструкции switch опишите функцию сравнения двух чисел 
Создание объекта и добавление в него свойств: Создайте объект , добавьте в него свойство test и 
                                              занесите в него число 5  

Михаил Долинский

Темы: 1438
Сообщений: 33948

Мой профиль
Условия задач по JavaScript (Карнаухова Алёна, ПМ-41)

Рассматривать всевозможные типы <input> в отрыве от всего - не слишком интересно. Зато у нас до сих пор нет ни одной полноценной задачи на формы, чтобы был элемент <form>, использовались <label>, присутствовали поля ввода и другие элементы форм, кнопка отправки, в общем, чтобы была настоящая форма, из которой можно введенные данные куда-то отправить. И, кстати, задача на checkbox уже есть, как и на select, что делает новые отдельные задачи на эти элементы бессмысленными.

В задачах по CSS по-прежнему слишком много задач на селекторы-элементы и слишком мало - на классы и ID. А еще ведь есть и комбинированные селекторы. Свойства background-color, пожалуй, в существующих задачах тоже слишком много. Может, вместо того, чтобы создавать еще одну такую, взять background-image, например? А еще мне кажется, что нет или очень мало задач на добавление нескольких свойств одному селектору.
Сравнение двух чисел с помощью switch - это... довольно странно. Да и проверить, действительно ли задача решена с использованием switch, вряд ли удастся. Объекты - тема интересная, но в задаче слишком мало входных данных. Каким образом объект должен создаваться, как он должен называться?
Михаил Долинский

Темы: 1438
Сообщений: 33948

Мой профиль
Основа от Алексея Гуленко для тестирования JSP и сервлетов

https://studfiles.net/preview/1029766/ - Введение в JSP для новичков.
http://orlova.rsue.ru/content/sst/j2ee2.htm - Примеры разработки страниц JSP.
http://www.w3mc.com/ru/jsp/jsp_quick_guide.html - JSP Краткое пособие.
http://www.java2ee.ru/jsp/syntax.html - Синтаксис JSP-страницы.
http://javastudy.ru/interview/jee-jsp-questions-answers/ - Интересные вопросы и ответы на тему JSP.
http://it-channel.ru/2016/02/29/install-tomcat/ - Установка сервер Tomcat и интеграция с Intellij Idea.Это нужно для тестирования работы jsp страницы.
https://ru.wikipedia.org/wiki/Apache_Tomcat - Что такое Tomcat.

https://www.udemy.com/jsp-servlet-free-course/ - На этом сайте имеется бесплатный курс JSP (Java server pages) and servlet basics, построенный в виде лекций.


Михаил Долинский:


Java Server Pages - обучение
http://www.java2ee.ru/jsp/
https://www.tutorialspoint.com/jsp/
http://www.javable.com/tutorials/j2ee/JSPIntro/ 


Тестирование JSP на DL - как? (Роман Осадчий)


Гуленко Алексей:

В первую очередь, JSP – это всего лишь читабельный вариант написания servlet'а (Java-класса, обрабатывающего HTTP-запрос и по сути просто выводящего HTML ¬– или что угодно на самом деле – во временный файл или эквивалент оного в памяти).
То, что он предназначен для использования внутри web-контейнера, совершенно не означает, что без оного не обойтись.
В частности, есть команда для компиляции servlet-класса вручную; после чего, полагаю, его можно использовать как любой другой Java-класс (вызывать либо с общей точкой входа , либо специфически по HTTP-методу ).
Однако, хотел бы предупредить, что использование JSP в качестве аналога PHP (сваливая шаблон страницы и код – «скриптлеты» – в одну кучу) нежелательно; по хорошему вычисления должны производиться в Java-коде (например, в промежуточном servlet'е, создающем данные для шаблона ), а в самом шаблоне использовать уже готовые данные, подставляя значения с помощью EL (динамические шаблоны можно генерировать с помощью вспомогательных тегов, в частности JSTL ). 



Долинский Михаил:


А как организовать тестирование JSP?

Вот мысли Романа Осадчего
http://dl.gsu.by/images/_i4f/Java/jsp-testing.docx

Если не получится сделать непосредственное тестирование JSP-страниц,
придётся просто тесты создавать по теме (математические, английские, флеш-конструктором)

Но тестирование JSP намного полезней, по-моему.
 
Индекс форума ->Общего плана ->Предложения по новым курсам DL 1, 2, 3, 4, 5, 6
Time:0,047