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

Темы: 1440
Сообщений: 34129

Мой профиль
Мечты о виртуальной машине 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-файл для его подпапки?
Михаил Долинский

Темы: 1440
Сообщений: 34129

Мой профиль
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.
Михаил Долинский

Темы: 1440
Сообщений: 34129

Мой профиль
Интересно, что у меня есть права
- создавать подпапку New внутри web-samples
- копировать файлы в new

И нет прав
редактировать файл index.jsp внутри web-samples
Михаил Долинский

Темы: 1440
Сообщений: 34129

Мой профиль
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

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

Темы: 1440
Сообщений: 34129

Мой профиль
Замечания по содержанию диплома
(цель – максимально помочь начинающим разработчикам 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 страниц, которые полезны новичкам и которые ты выполнил

Это можно будет сделать потом – сначала – как менять исходники – люди ждут.
Михаил Долинский

Темы: 1440
Сообщений: 34129

Мой профиль


Карнаухова Алёна:

Возможно, это не все, но совершенно точно нужны задания по 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 и использовать уже подготовленную теорию:
 
Индекс форума ->Общего плана ->Предложения по новым курсам DL 1, 2, 3, 4, 5, 6, 7, 8, 9
Time:0,047