Автор |
Сообщение |
11.05.2018 10:44:01
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Мечты о виртуальной машине DL в "облаке" (ну или хоть на нашем новом сервере)
Цель - снизить порог входа в разработку функциональности для DL
1. Делаешь копию виртуальной машины для себя (в облаке, на нашем сервере, себе домой).
2. Есть технология быстрого "подхватывания" созданных изменений.
3. Итерационно: Изучай-пробуй-анализируй результат
4. Автоматизированные Code Review, Commit и Deploy на боевую DL
А что если через web-samples попробовать?
1. Даём разработчику-новичку доступ на чтение исходников DL
2. Создаём ему папку в web-samples
3. Копируем туда код который ему требуется исправить (ну или он там новый код будет создавать)
и там он исправляет - смотрит, что получилось и т.д. Так гораздо эффективнее и интереснее учиться,
чем просто читать теорию "пока не поумнеешь".
Разумеется, сначала это код без сессии (например, просмотр таблицы результатов)
а) сделать таблицу без колонок (Страна, Город, Школа), оставив колонку "Группа"
http://dl.gsu.by/restable.jsp?hd=1&hid=167274471&obid=167274471&pi=6&pi=7&pi=4&pi=10&u.c=1080&lng=rus&u.a
б) сделать страничный просмотр (иначе не увидеть результата - много пользователей, много задач)
http://dl.gsu.by/restable.jsp?hd=1&hid=61450089&obid=61450089&pi=6&pi=7&pi=4&pi=10&u.c=620&lng=rus&u.a
в) сделать фильтрацию и страничный просмотр в новых таблицах, перенести наверх clear и apply как в старых таблицах
http://dl.gsu.by/dl/scripts/results?hd=1&hid=61450089&obid=61450089&pi=6&pi=7&pi=4&pi=10&u.c=620&lng=rus&u.a
г) попробовать использовать при обработке данных DL (вывод таблиц результатов)
http://tablesorter.com/docs/
jQuery plugin tablesorterDocumentation - Flexible client-side table sorting
:?:
- Возможно такое, чтобы весь код, который он намерен исправлять, он тащил в свою папку,
а всё остальное работало из папок DL?
Приложения, установленные из WAR-файлов на один сервер, не могут пользоваться ресурсами друг друга, их выполнение изолировано. Однако они могут пользоваться общими библиотеками сервера (например, у Tomcat они расположены в ${catalina.base}/lib), но такие библиотеки с помошью war-файла установлены быть не могут.
https://ru.wikipedia.org/wiki/WAR_(%D1%82%D0%B8%D0%BF_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0)
Получается, всё что нужно для исполнения кода, нужно тащить к себе, даже если не будешь править.
- Сейчас для web-samples создаётся web-samples.war
Я читал, что JSP могут компилироваться на лету - может нам во время отладки так выгоднее?
- Как создаётся war-файл?
jar cvf archiveName.war
сделать батник с параметром archiveName прямо в каталоге web-samples
https://ru.wikipedia.org/wiki/WAR_(%D1%82%D0%B8%D0%BF_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0)
Если без war-нельзя, придётся каждый раз его создавать
?и загружать в web-контейнер (устанавливать на один сервер)
- Придётся для каждого разработчика-новичка делать свой war-файл для его подпапки?
Как создавать/исправлять jsp-файлы в web-samples так, чтобы изменения подхватывались и отображались здесь
http://dl.gsu.by/web-samples/jsp-course/index.jsp
Например, в файле helloFromJsp.jsp
Я хочу заменить строку <%="Hello from JSP"%>
На строку <%="Hello WORLD from JSP"%>
Что я должен сделать?
(Желательно конкретную пошаговую инструкцию, которую я смогу выполнить)
Я попробовал исправить текст – не удалось сохранить – говорит файл открыт другой программой
helloFromJsp.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head> <jsp:include page="statics/head.jsp"/> </head>
<body>
<div id="content">
<div>
<p><h2>Результат :</h2></p>
<%="Hello from JSP"%>
</div>
<jsp:include page="statics/tail.jsp?pageId=35586051&name=helloFromJsp.jsp"/>
</div>
</body>
</html>
|
12.05.2018 09:26:04
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Cоздал папку new внутри web-samples
Скопировал туда restable.jsp
Оригинальная ссылка на DL
http://dl.gsu.by/restable.jsp?hd=1&hid=167274471&obid=167274471&pi=6&pi=7&pi=4&pi=10&u.c=1080&lng=rus&u.a
Новая сслыка
http://dl.gsu.by/web-samples/new/restable.jsp?hd=1&hid=167274471&obid=167274471&pi=6&pi=7&pi=4&pi=10&u.c=1080&lng=rus&u.a
http://dl.gsu.by/web-samples/new/restable.jsp
Скопировал в папку new подпапки restable и session(там есть файл session.jsp), всё равно ошибка
File [/session/session.jsp] not found
HTTP Status 500 – Internal Server Error
--------------------------------------------------------------------------------
Type Exception Report
Message /new/restable.jsp (line: 25, column: 1) File [/session/session.jsp] not found
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.apache.jasper.JasperException: /new/restable.jsp (line: 25, column: 1) File [/session/session.jsp] not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:291)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:97)
org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:346)
org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:381)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:484)
org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1800)
org.apache.jasper.compiler.Parser.parse(Parser.java:142)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:127)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:196)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:372)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:333)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.
|
12.05.2018 09:37:14
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Интересно, что у меня есть права
- создавать подпапку New внутри web-samples
- копировать файлы в new
И нет прав
редактировать файл index.jsp внутри web-samples
|
12.05.2018 12:41:27
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
http://dl.gsu.by/differentialStudy.jsp?dSid=721
http://dl.gsu.by/web-samples/new/differentialStudy.jsp?dSid=721
Добавил папки
WEB-INF
WEB-INF\TLD
и файл
/WEB-INF/tld/dl.tld
всё равно ошибка
to find taglib "dl" for URI: /WEB-INF/tld/dl.tld
HTTP Status 500 – Internal Server Error
--------------------------------------------------------------------------------
Type Exception Report
Message Unable to find taglib "dl" for URI: /WEB-INF/tld/dl.tld
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.apache.jasper.JasperException: Unable to find taglib "dl" for URI: /WEB-INF/tld/dl.tld
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:293)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:80)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:176)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:434)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1448)
org.apache.jasper.compiler.Parser.parse(Parser.java:145)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:201)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:372)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:333)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.
--------------------------------------------------------------------------------
Apache Tomcat/8.5.12
|
17.05.2018 08:34:57
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Замечания по содержанию диплома
(цель – максимально помочь начинающим разработчикам DL)
1 Инструментальные средства
Сказано было -
1) не нужно писать вообще (как сказал Вадим это описано много где в Internet и гораздо подробнее)
2) Забудь про свой GitHUB до особого распоряжения
Нужно писать, как это конкретно устроено в DL
- в DL.GSU.BY
- в DLVM
с указанием конкретных полных путей (каталогов) и точных названий файлов
Обязательно добавить КАРТИНКИ, отображающие размещение папок, файлов и программ
«Обычно страницы упакованы в файловые архивы .war и .ear.»
Ear у нас не используется? Почему? Можно не писать.
War используются – нужно конкретно описать, как их создавать
Мы пишем для тех, кто начинает разработку на DL.
На какие вопросы ты должен ответить в тексте своей первой главы
Давай с этого начнём – есть несколько человек, которые ждут твоего объяснения – пока не могут дальше двигаться.
То, что уже написал не удаляй – просто ДОБАВЬ текст об этом:
1. После установки у себя виртуальной машины
- как менять исходники так, чтобы DLVM подхватил изменения
с конкретным примером
С какой тебе удобнее JSP
- показываешь вид странички до изменений
- добавляешь вывод строки «здесь был Вася»
- показываешь шаги, приводящие к подхватыванию исправленного кода в DLVM
2. Иллюстрируешь (если можешь) известные тебе возможности ОТЛАДКИ JSP-страниц (в Idea?)
3. Как загружать проверенные изменения на боевую DL?
- создать патч
- сделать коммит ..
- запросить deploy
Как только напишешь 1.(как менять исходники)
– сразу присылай
Замечания по оформлению
Введение
должно быть полной страницей как минимум, ещё лучше – две полных
Можно и нужно дополнить несколькими абзацами СОДЕРЖАНИЯ примеров JSP страниц, которые полезны новичкам и которые ты выполнил
Это можно будет сделать потом – сначала – как менять исходники – люди ждут.
|
18.06.2018 08:47:12
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Карнаухова Алёна:
Возможно, это не все, но совершенно точно нужны задания по SQL и Java.
По SQL - хотя бы основы типа запросов на выборку из таблиц, занесение/изменение/удаление записей, создание таблиц (часто нужно, например, создать временную таблицу в процедуре). И, конечно, создание процедур и функций, а для этого - основы TransactSQL (именно этот язык, потому что база данных DL использует MS SQL Server).
На Java написана львиная доля исходников DL, поэтому без нее - никуда. Причем знания Java нужны основательные и разнообразные, начиная с "сложить два числа" и заканчивая многими определенными в Java классами, связью с БД и прочим. Вопрос в том, как уложить все необходимое в минимум, который не растянулся бы в тысячи задач и сотни страниц теории (и при этом желательно не повторять документацию Java - хотя взять ее за основу можно, это очень хорошая штука, на самом деле).
Не помешал бы HTML, все-таки без него не обходится ни один сайт, и DL не исключение. Углубляться в дебри не нужно, если будущие разработки не будут связаны именно с этой частью, но хотя бы минимальное представление получить стоит.
Среди исходников также встречаются файлы .asp, поэтому познакомиться с технологией ASP тоже может быть полезно. Здесь как раз пригодится знание HTML.
Это нельзя считать полным и подробным перечнем необходимых заданий, но как план разработки такого перечня - сойдет.
Теоретическая справка в любом случае нужна, и это проще всего, так что можно заняться ей в первую очередь. Подводящие задания, хотя бы в некоторых случаях, тоже не помешали бы, но прежде чем придумывать их, нужно составить хотя бы достаточно подробный план основных заданий (хотя для теории это тоже нужно, чтобы не громоздить всю известную информацию в одну кучу, а выбрать именно то, что может понадобиться).
Предлагаю двигаться параллельно:
1. Ты решаешь проблему интеграции заданий тестирования JavaScript с DL
.... составляешь подробную инструкцию по установке таких заданий
.... согласовываешь с Лёшей Гуленко и мной
2. Составляешь оглавление Теории и Заданий - разнося все пункты по трём частям
.... без этого точно нельзя
.... нужно почти всегда
.... было бы полезно
3. Сначала делаешь задание, потом пополняешь справку по теории для выполнения этого задания
.... (в порядке от "без этого нельзя" к "было бы полезно")
Общие принципы
- оглавление заданий и теории должно быть безусловно одинаковыми
.... (даётся минимум теории необходимый и достаточный для выполнения конкретного задания)
- Таблицы баз данных берём точно из DL
.... С Вадимом согласуем
....... можно ли на чтение обращаться к реальным таблицам?
....... или где-то их копии по структуре и уменьшенные в количестве записей создадим
....... сначала все задания только на чтение?
....... потом на создание временных таблиц
....... потом на модификацию копий реальных таблиц DL для тестирования
Причем знания Java нужны основательные и разнообразные, начиная с "сложить два числа" и заканчивая многими определенными в Java классами, связью с БД и прочим.
Можно также отобрать полезные готовые задания (например все техминимумы) из Ускоренного курса - 2016 и использовать уже подготовленную теорию:
|
17.07.2018 10:30:29
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Повышение надёжности и качества функционирования сайта дистанционного обучения DL.GSU.BY
На DL-сервере в папке c:\Data\dl2\tomcat\logsDL\exceptions\
содержатся логи ошибок, которых происходит каждый день великое множество.
Хорошо бы анализировать их и последовательно избавиться от всех ошибок.
Чтобы логи стали пустыми в идеале.
Здесь
содержится дока и ссылка на запуск по утитите Exception Analyzer, которую написал Саша Козлов в 2005 году на Java 1.4
Сейчас она запускается, просит ввести ID и пароль, но войти не даёт.
Можно попробовать реанимировать её или ПЕРЕПИСАТЬ, чтобы упростить работу по анализу логов.
|
21.07.2018 16:51:48
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Курс "WEB-технологии для начинающих"
- сдать задачи по JavaScript DOM с помощью jQuery, задокументировать решения, написать теорию
Рекомендации по решению JavaScript DOM задач
Решение и установка задач по JavaScript DOM (Морозов Александр, ПО-41, июнь 2018, диплом)
Задания по обучению JavaScript DOM с решениями (Морозов Александр, ПО-41, декабрь 2017)
Учебник по JavaScript DOM для начинающих (Морозов Александр, ПО-41, январь-июнь 2018)
Учебник по jQuery
|
21.07.2018 16:57:17
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Differential Study 4 ( Стратегические цели )
- не убираются задолженности после пересдачи
- добавить режим "учёт языка" (чтобы можно было повторно решать для другого языка)
- в задолженностях ученика выводить дату создания и дерево (DS, DS2, DS4)
- запретить сдачу задолженностей без преподавателя
- время создания странички с задолженностями показывать
- медленно открываются задолженности - индексы вводить?
- сделать показ исходников рисунками
Бышик Ярослав сделал в июне 2017
- протоколирование задолженностей (фиксация входа в "Не знаю" в DS и DS2)
- отображение списка должников (и списка задач-задолженносей для каждого)
JSP
adminDebtsLog.jsp
adminUsersWithDebts.jsp
debtsLinks.jsp
Java
AddDebtController.java
AdminDebtsLogController.java
DebtsController.java
|
27.07.2018 10:05:45
Тема: Re:WEB-технологии для начинающих
|
Даниил Морозов
Темы: 4
Сообщений: 11
Мой профиль
|
Здравствуйте! Для дальнейшей работы с DL мне нужно скачать java исходники. Я пробовал скачать по примеру из дипломной работы Осадчего Р.Д. (через SVN), но после ввода ссылок на исходники (которые размещены на Confluence http://confluence.newit.gsu.by/display/dldev/Subversion) SVN перестаёт работать и в последствии выдаёт ошибку. Подскажите, пожалуйста, другой способ скачивания java исходников.
По поводу курса web технологии для начинающих. Я прошёл HTML и CSS. HTML сделан отлично, даны все нужные теги, теория краткая и понятная. Единственное, что можно добавить, это HTML5. По поводу CSS: всё тоже самое, только можно добавить работу с классами, фоном и CSS3.
|
27.07.2018 11:48:45
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Даниил Морозов:
Здравствуйте! Для дальнейшей работы с DL мне нужно скачать java исходники. Я пробовал скачать по примеру из дипломной работы Осадчего Р.Д. (через SVN), но после ввода ссылок на исходники (которые размещены на Confluence http://confluence.newit.gsu.by/display/dldev/Subversion) SVN перестаёт работать и в последствии выдаёт ошибку. Подскажите, пожалуйста, другой способ скачивания java исходников.
Давай сначала с этим разберёмся. Чтобы тебе помогли, приведи подробно с картинками, что ты делал и что увидел. Залей куда-нибудь этот файл, и здесь ссылку на него сделай.
По поводу курса web технологии для начинающих. Я прошёл HTML и CSS. HTML сделан отлично, даны все нужные теги, теория краткая и понятная. Единственное, что можно добавить, это HTML5. По поводу CSS: всё тоже самое, только можно добавить работу с классами, фоном и CSS3.
Спасибо. Теперь надо продолжить с JavaScript DOM. Попробуй сдавать двумя способами -
1) непосредственно JavaSCript
2) с помощью JQuery-аналогов JavaScript-функций
|
27.07.2018 16:10:29
Тема: Re:WEB-технологии для начинающих
|
Мария Кугейко
Темы: 16
Сообщений: 1399
Мой профиль
|
Даниил Морозов:
Здравствуйте! Для дальнейшей работы с DL мне нужно скачать java исходники. Я пробовал скачать по примеру из дипломной работы Осадчего Р.Д. (через SVN), но после ввода ссылок на исходники (которые размещены на Confluence http://confluence.newit.gsu.by/display/dldev/Subversion) SVN перестаёт работать и в последствии выдаёт ошибку. Подскажите, пожалуйста, другой способ скачивания java исходников.
Здравствуйте, Даниил.
Вы все так же выполняли в Total Commander?
- создать папку
- зайти внутрь в нее
- правая кнопка мыши выбираем SVN Checkout
- в поле URL of repository вводим https://svn.newit.gsu.by:465/svn/dl2-web/branches/java8
- нажимаем кнопку OK
- ждем пока идет скачивание
|
28.07.2018 17:15:29
Тема: Re:WEB-технологии для начинающих
|
Даниил Морозов
Темы: 4
Сообщений: 11
Мой профиль
|
Да, всё делал именно так. При нажатии кнопки "ОК" SVN перестаёт работать(не отвечает). В дальнейшем, он начинает перекачивать, но в итоге выдаёт ошибку. Подробнее об ошибке и моих действиях: http://confluence.newit.gsu.by/pages/viewpage.action?pageId=35946498
|
30.07.2018 07:27:49
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Сергей Щукин:
Вот ещё одна ошибка.
Она возникает при тех же условиях, но на только что выкачанной виртуальной машины.
Файл с текстом ошибки прикрепляю.
Date: 29-07-2018 11:22:22.531
Error ID: 290718_65_1
Error type(hash): 129
User ID: 100105
Lang ID: 1
URL: http://dl/task.jsp?nid=872777&cid=789
Exception:
java.lang.RuntimeException: java.sql.SQLException: Invalid column name Random.
java.lang.RuntimeException: java.sql.SQLException: Invalid column name Random.
at dl2.editor.GroupsOfVariants.getforbiddenNodeID(GroupsOfVariants.java:564)
...
Вадим Копиченко:
Достаточно просто обновить ROOT.war до последней версии исходников по инструкции.
Тогда недостающий столбец в БД создастся автоматом через liquibase.
|
30.07.2018 07:31:19
Тема: Re:WEB-технологии для начинающих
|
Михаил Долинский
Темы: 2072
Сообщений: 49900
Мой профиль
|
Сергей Щукин:
У меня на виртуальной машине возникла ошибка при открытии задания.
Выдает ошибку в файле taskviewWT.jsp
Это файл который был на dl я с ним ничего не делал (он изначально выдает ошибку).
Каким образом её можно исправить?
Вадим Копиченко:
An exception occurred processing JSP page /taskviewWT.jsp at line 16
13: <%@ include file='afterSendRedir.jsp' %>
14: <dl:body loginReq="true" sync="true" body="true">
15: <%
16: int nodeId = Integer.parseInt(request.getParameter("nid"));
Stacktrace:
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
at java.lang.Integer.parseInt(Integer.java:615)
at org.apache.jsp.taskviewWT_jsp._jspService(taskviewWT_jsp.java:223)
Выходит, в URL страницы пропал параметр "nid".
Дальше нужно расследовать пропажу через http://confluence.newit.gsu.by/display/dldev/Chrome+dev+tools и HAR: http://confluence.newit.gsu.by/display/dldoc/DL+Troubleshooting
Интересно понять, зависит ли это от конкретной задачи или ещё чего-то.
Стоит также обновить ROOT.war до последней версии исходников.
|
|
|