All streams
Search
Write a publication
Pull to refresh
5
0

Пользователь

Send message
Наконец поставил это чудо, не работает options set name=value внутри IndexedArea, хотя работает в DefaultAreaOptions.

Опытным путём остановлено, что не работает несколько опций DisallowIndex в одной секции (приходится писать длинные регулярки).

Ручное ранжирование (подъём вверх, опускание вниз) требует переиндексации, неудобно, если переиндексация занимает много времени и выполняется редко.

PDF-ки, DOC-и ищутся, это хорошо, но без options set не знаю что и делать.
1) Насколько я знаю, CAS-сервер не должен делать автоматического перенаправления назад на сайт (если cookie уже есть), а всё равно должен спросить согласие пользователя. Т. е. вход получается непрозрачный (надо делать дополнительный клик и будет виден интерфейс CAS-сервера). Можно конечно это правило проигнорировать в своей реализации… Я в своей реализации на drupal это пробовал делать, но в итоге отключил.

2) Если на сайте должен быть предусмотрен и анонимный просмотр, тогда переход на CAS-аутентификацию должен быть по запросу (при клике «войти»). Опять же не прозрачно, надо кликать, потом опять кликать подтверждение.
стандартная функция размещения шаблонов в модулях появилась в 6-ке вроде, поэтому во views для 5-ки темизация через template.php
в 5-ке нет views-XXX.tpl.php
Я написал десятки модулей разной сложности для десятков сайтов. Бывают модули с чёткой и понятной функциональностью, а бывают и вот такие:

<?php

function XXX_form_alter($form_id, &$form) {
// в базе программ ДПО скрываем у фильтра «подразделение» пункт «пусто»
if ($form_id == 'views_filters' && $form['#view_name'] == 'dpo') {
unset($form['filter1']['#options'][0]);
}
}
?>

Это весь модуль. Прячет у представления (view) в фильтре пункт «пусто», который через админку не скрывается. Вроде бы и хорошо, что есть возможность это сделать без изменения ядра и достаточно просто, но что-то здесь не так имхо, хотя я и привык.

Для этой же view в template.php +15 строчек, чтобы просто добавить class к table. И еще много строчек, чтобы URL сделать ссылкой в таблице (не ставя для этого модуль на сотни строк кода). Тоже уже привык к такому.
Мне часто, чтобы достичь нужного эффекта приходится писать модули-«хаки» в котором хуки с кучей мелких фиксов. А кто не умеет писать модули, те ищут готовые модули для каждого чиха. В последнее время я даю название таким модулям имя_tweaks. И получается в одном модуле куча разной функциональности не связанной никакой логикой. Можно конечно разбивать на кучу модулей, но получится куча мелких «однострочных» модулей.
Думаю имеются в виду случаи частого использования хуков для мелких изменений поведения разных частей системы, чтобы достичь нужного эффекта. Нужно скрыть в форме поле — пиши form_alter, нужно на какой-то странице поменять заголовок — изгаляйся с nodeapi или form_alter или template.php, нужно увеличить maxlength у title в формах — form_alter и т. д.
Согласен, что очень специфичный и редко используемый контейнер. Для интереса запустил поиск по исходникам, которые когда-то писал… Примеры нашёл, хотя везде бы и ArrayList нормально сработал.

Вот пример: история введённых URL в программе с GUI. При введении нового адреса надо добавить его в начало списка, а если он уже был где-то в списке, то старый элемент удалить (чтобы не было дубликатов).

В этом случае у ArrayList по логике вещей будет больше операций (т. к. удаление будет всегда долгим, а изредка и добавление), хотя на практике еще непонятно кто будет работать быстрее.

Еще нашёлся пример с задачкой с diofant.ru: в алгоритме надо было в списке городов часто удалять из середины города по известному названию.
У меня sun-овская 1.6 + winxp.

true 12 ms
true 10 ms
true 10 ms
true 10 ms
true 10 ms
true 10 ms
true 0 ms
true 11 ms
true 10 ms
true 10 ms

Я склоняюсь к тому, чтобы вообще выпилить пинг. А ставить такую реализацию, с непонятными значениями под виндой, смысла имхо нет. Или же надо разбираться почему так получается.
есть стандартный метод java.net.IDN.toASCII
Некоторые фичи можно было бы реализовать с поддержкой прокси, но честно говорят, вряд ли я буду это реализовывать.
Этот метод всё же странный, я пытался пользоваться им и бросил это дело. Сейчас сделал тест с таким кодом:

InetAddress host = InetAddress.getByName(«ya.ru»);
for (int i = 0; i < 10; i++) {
long time = System.nanoTime();
System.out.println(host.isReachable(10000) + " " + (System.nanoTime() — time) / 1000000 + " ms");
}

Обычный пинг выдает 74 мс, а этот код печатает значения от 0 до 13.

По логике вещей, если вдруг используется TCP ECHO, то там разница должна быть больше, чем просто 67 и 72, т. к. в TCP идут пакеты на установление соединения, потом сами пакеты с данными, а потом пакеты с подтверждением о получении и уведомление о закрытии соединения.
время можно и вручную попробовать посчитать, но у TCP дополнительные накладки на установление соединения могут быть
А стандартный консольный пинг у Вас работает не под рутом?

У меня репа на hg, так что выложу на bitbucket.
Этот метод — не настоящий пинг, он пытается использовать протокол echo на 7-ом TCP порту. И время прохождения пакета он не возвращает, даже если echo вдруг есть на хосте.
в стандартном API Java нет поддержки ICMP
Да, фичи не уникальны, но 1) в винде с консолью сложновато, 2) в curl надо еще решать проблему с кодировкой результата, 3) в списке нет listen, proxy (ставить squid?).
Они включены в jar-ник, лежат вместе с class-ами. Там не очень хорошо в плане комментов, изначально прога планировалось как быстрый хак, поэтому так получилось… GUI в netbeans сделан, смотреть глазами на него не рекомендуется) Как руки дойдут, может залью на bitbucket.
Спс, буду иметь ввиду, с русскими доменами везде иксепшн вываливается. Видимо предварительно надо конвертить домены в ascii.
спс, подумаю над этим

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity