Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Как я должен обрабатывать autolinking в wiki контент страницы?
Под автолинковкой я подразумеваю процесс, с помощью которого wiki ссылок, встроенных в содержимое страницы, генерируются либо в гиперссылку на страницу (если она существует), либо в ссылку на создание (если страница не существует).
С помощью парсера, который я использую, это двухэтапный процесс-сначала анализируется содержимое страницы и извлекаются все ссылки на страницы wiki из источника markup. Затем я передаю массив существующих страниц обратно в синтаксический анализатор, прежде чем будет создан окончательный HTML markup.
Каков наилучший способ справиться с этим процессом? Похоже, что мне нужно сохранить кэшированный список каждой отдельной страницы на сайте, а не извлекать индекс заголовков страниц каждый раз. Или лучше проверить каждую ссылку отдельно, чтобы увидеть, существует ли она? Это может привести к большому количеству запросов к базе данных, если список не был кэширован. Будет ли это по-прежнему жизнеспособно для более крупного сайта wiki с тысячами страниц?
В моей собственной системе wiki моя система кэширования довольно проста - когда страница обновляется, она проверяет ссылки, чтобы убедиться, что они действительны, и применяет правильное форматирование/расположение для тех, кто не является. кэшированная страница сохраняется как страница HTML в моем корне кэша.
Страницы, помеченные как 'not created' во время обновления страницы, вставляются в таблицу a базы данных, которая содержит страницу, а затем csv страниц, которые ссылаются на нее.
Когда кто-то создает эту страницу, он инициирует сканирование, чтобы просмотреть каждую страницу ссылки и повторно кэширует страницу ссылки с правильной ссылкой и форматированием.
Если вы не были заинтересованы в выделении несозданных страниц, однако вы могли бы просто проверить, создана ли страница, когда вы пытаетесь получить к ней доступ, и если нет перенаправления на страницу создания. Тогда просто ссылайтесь на страницы, как обычно в других статьях.
Я пытался сделать это один раз, и это был кошмар! Мое решение было неприятным циклом в процедуре SQL, и я не рекомендую его.
Одна вещь, которая дала мне проблемы, было решить, какую ссылку использовать на многословной фразе. Скажем, у вас был текст, говорящий "I am using Stack Overflow", а ваш wiki имел 3 страницы под названием "stack", "overflow" и "stack overflow"....какая часть вашей фразы связана с чем? Так и будет!
В личном проекте, который я сделал с Sinatra (текст ссылки) после того, как я запустил контент через Markdown, я делаю gsub, чтобы заменить wiki слов и других вещей (например, [[вот моя ссылка]] и еще много чего) с правильными ссылками, на каждой проверке, если страница существует и ссылки для создания или просмотра в зависимости.
Это не самое лучшее, но я не создавал это приложение с учетом кэширования/скорости. Это низкий ресурс простой wiki.
Если бы скорость была более важна, вы могли бы обернуть приложение во что-то, чтобы кэшировать его. Например, sinatra можно обернуть с помощью кэширования Rack.
Основываясь на моем опыте разработки Juli , который является автономным персональным wiki с autolink, создание статического HTML подхода может решить вашу проблему.
Как вы думаете, это занимает много времени, чтобы создать автолинкованную страницу Wiki. Однако при создании статической ситуации HTML регенерация страницы Wiki с автолинковкой происходит только тогда, когда wikipage недавно добавлен или удален (другими словами, это не происходит при обновлении wikipage), и 'regenerating' может быть сделано в фоновом режиме, так что обычно я не имею значения, как это займет много времени. Пользователь увидит только сгенерированный статический HTML.