Pull to refresh
3
0
Олег @krolser

User

Send message
У меня вопрос по методу getVehicleUpdates в классе World. Вот его документация:
Возвращает значения изменяемых полей для каждой видимой техники, если хотя бы одно поле этой техники изменилось. Нулевая прочность означает, что техника была уничтожена либо ушла из зоны видимости.

Собственно вопрос: а как понять, что ты убил какого-то юнита? Т.е. сейчас если у юнита стало 0 hp, то это подразумевает два исхода (убит, спрятался). Зачем было так усложнять?
Такой вопрос.
В brackets есть возможность открывать несколько проектов (директорий).
Так вот, как открыв один файл из первого «проекта», и перейдя другой «проект», оставить открытым первоначально открытый файл из первого «проекта»?

Зачем это нужно? Для copy-paste и навигации по файлам из разных «проектов».
Слишком примитивное управление. Большую часть времени тратиться не на творчество, а на выбор нужной детальки в этом простом интерфейсе. Сильно не хватает:
1. Панели последних используемых деталей. Или же дока, в который можно было положить детальки, которые планируешь использовать.
2. Шоркатов для выбора цвета и типа деталек.
3. Возможность не только вертеть но и двигать камеру, чтобы камера не всегда смотрела на центр экрана, а на то место, куда я хочу.
У самого есть четырёхлетняя дочка. С рождения окружена компьютерами и всякими устройствами. Знает что такое планшет.

Компьютер воспринимает как устройство для просмотра интересных её мультиков (потому что в её понимании телевизор показывает всё подряд не учитывая её желаний).

Ей намного интереснее песочница, карандаши, краски, клей. Сейчас она всё разбирает. Диодных фонарик, который можно разобрать «по косточкам» вызывает у неё намного больше восторга, чем планшет.

Обычная доска с буквами, которые можно крутить делает просто чудеса. А мелки, которыми можно рисовать на асфалте «громадные» цветные рисунки ей нравятся больше чем просто рисование на планшете (компьютере).

Вывод напрашивается сам собой. Если есть эта штука с рождения, то и интереса к ней особого и нет. А детям в таком возрасте планшет не будет помехой, но и не сможет заметить простые привычные дедовские игрушки.
Ссылка вроде внизу справа от звёздочки.
Судя по вашему комментарию, вы не поняли что должна делать система.
Это не тест, где ты выбираешь правильный ответ из имеющихся.
А система, которая берёт твоё решение, компилирует его (если надо было писать на компилируемом языке) и выполняет на разных входных данных и сверяет ответ с эталонным. Т.е. как вы реализовали системе всё равно. Главное, чтобы решение выдавало верный конечный результат за приемлемое время.

Подобные системы используются на олимпиадах по программированию.
И почему сразу доморощенной. Как вариант одной из дипломных работ можно дать задание одному из способных студентов адаптировать уже сущетвующую систему к нуждам вуза. Например ejudge.ru/
Частичным решением проблемы может стать внедрение системы автоматического тестирования решений (САТР) на 1-2 курсе вуза.

Дело в том, что преподаватель физически не может полноценно проконтролировать и проверить корректность решения той или иной задачи. Отсюда и лень студентов. Ну зачем напрягаться, если преподу можно «втюхать» простое решение. И обвинять студентов в лени и взывать к их совести считаю бессмысленным занятием.

Такая система позволит отвлечься от неблагодарной проверки и сосредоточится именно на процессе обучения. Появится больше времени на то, чтобы помочь студентам и указать на их ошибки. А студенты то точно пойдут к преподавателю, так САТР непоколебим. Не прошел тест — задача не засчитана. И ничего ты ему не скажешь, на жалость не надавишь. В общем — «бездушная машина».

Есть конечно и минусы:
1. Наполнение. Необходимо наполнить систему задачами и тестами для них. Причём: желательно сделать для каждого человека отдельный вариант задания; разносторонние тесты, которые покрывают граничные случаи, не позволяют сдать «перебор», и т.д. С одно стороны это минус, но всё равно пришлось бы придумывать тесты при приёме решения задачи у студента.
2. Списывание и сдача чужих решений. Наверное единственный способ защититься от недобросовестных студентов это просто проводить с ними устную беседу. Студенты, которыс «сдались» не самостоятельно обычно быстро «тонут».

Всё это не фантазии, а описание реального опыта.
Менять конечно надо, но. Не обязательно начинать всё «по книжкам». На первом втором курсе вы пишите интересный вам проект как умеете. Потом, начиная с третьего курса, когда приходит некоторое понимание, вы постепенно его перепишите, исправите, короче, проведёте рефакторинг.

Это не голосновные заявления, а слова основанные на личном опыте.
И да, на большинство предметов можно «забить» (конечно, если вы не задались целью получить красный диплом), или учить для себя, а не для «сдачи».
Сгорит в атмосфере. Нужен вольфрам :)
У меня мать медсестра в детском отделении.
Так она и так всё записывает. Если был бы маленький тачскрин, чтобы пару раз тыкнул (именно пару раз) и укол учтён.

Но. Информация в электронном виде ну очень легко модифицируется. И уничтожить все следы махинаций становится ну просто архи просто. А вот с бумагами не всегда так просто. Большая чачть информации дублируется как минимум в двух источниках, если не полностью, так косвенно.

Конечно ели всё внесенное электронно сразу же печатать и как то складывать… Тогда да.
Мы используем такой LoginModule. Но, когда мы первоначально использовали «простой», то тоже всё работало.

  1. package .....;
  2.  
  3. import com.sun.appserv.security.AppservPasswordLoginModule;
  4. import java.util.List;
  5. import java.util.logging.Level;
  6. import java.util.logging.Logger;
  7. import javax.security.auth.login.LoginException;
  8. import javax.security.jacc.PolicyContext;
  9. import javax.security.jacc.PolicyContextException;
  10. import javax.servlet.http.HttpServletRequest;
  11.  
  12. /**
  13.  *
  14.  * @author ***
  15.  */
  16. public class LoginModule extends AppservPasswordLoginModule {
  17.  
  18.     private static final Logger log = Logger.getLogger(LoginModule.class.getName());
  19.  
  20.     @Override
  21.     protected void authenticateUser() throws LoginException {
  22.         try {
  23.             final HttpServletRequest request = (HttpServletRequest)PolicyContext.getContext("javax.servlet.http.HttpServletRequest");
  24.             final String xForwardedFor = request.getHeader("X-Forwarded-For");
  25.             final String xForwardedHost = request.getHeader("X-Forwarded-Host");
  26.  
  27.         ....
  28.        
  29.             final List<String> roles = DbRealm.authenticate(_username, _password,… );
  30.  
  31.             if (roles == null || roles.size() ==  0)
  32.                 throw new LoginException("User is not authenticated.");
  33.  
  34.             commitUserAuthentication(roles.toArray(new String[roles.size()]));
  35.  
  36.         } catch (PolicyContextException ex) {
  37.             log.log(Level.SEVERE, ex.getMessage(), ex);
  38.             throw new LoginException(ex.getMessage());
  39.         }
  40.     }
  41. }
В нашем (который мы реализовали) LoginModule кидаются различные LoginException's (с разным текстом) в зависимости от причины.
Был бы признателен, если бы ты показал, как можно показать текст LoginExcepton'а.
А то у меня так и не получилось этого сделать. Я даже просматривал исходники GlassFish и нашел место в котором этот LoginException ловится и выводится в лог. После этого про него все забывают :(
Нет. Если мы используем «j_security_check», то он нас вернет на тот ресурс, который мы запрашивали.
ananta.com/docs/j2eetutorial14/doc/Security5.html#wp483393
Сорри, что не самой первой свежести источник.
В вашем примере с сервлетом для логина мы теряем одну из приятных вещей FORM аутентификации, а именно то, что контейнер вернет вас на тот урл, который вы ему скормили и для которого ему понадобилось проверить, кто вы. А у вас редиректит на index страницу :(

Есть еще нехорошая особенность, нет возможности при использовании FORM аутентификации при возникновении ошибки сообщить причину. Просто не залогинились и всё :( Только в лог будет нормальных LoginException записан, а дальше он не пройдёт.
А FlashPlayer 10 поставить можно или нет?
Не всегда. Если всё время держатся правой стороны, то можно начать ходить по кругу. Например, если взялся за «колонну» и ходишь вокруг неё.
Если хотите учить и при этом не испытывать проблем — репетиторство в чистом виде. Преподавать таким образом можно всё.

Из плюсов можно отметить
1. Никаких обязательств. Ученик сам понимает, что ему надо учиться. Не хочешь не ходи. Балаганить в одиночку не получится. У нас менталитет своеобразный. Как только есть «перед кем покрасоваться» или толпа, так сразу найдётся пару бунтарей и отморозков. А как только один на один — глядишь и человек адекватный.
2. Видимость отдачи. На каждом занятии виден прогресс. И ученик его видит (если он конечно собственнолично заинтересован в прогрессе).
3. Гибкость программы. Глядя на ученика можно легко подстраивать программу обучения под его интересы, увлекать его, и таким образом, способствовать успешному обучению.
4. Хорошо оплачивается. Без комментариев.

Как найти «клиентов» — это уже другой вопрос.
У меня пару вопросов.
Почему только война, почему только тупое убийство?
А вы сами попытались написать хотя бы пару стратегий для вашего игрового мира?
Попробуйте и увидите, насколько окажется ограниченным их круг. Все будут похожи как одна капля, ну может немного вариаций с константами.

Посмотрите, что творят поляки itpw.mimuw.edu.pl/.
Они с 2002 года проводят подобные соревнования. И у них была только один раз «война». А потом пошли действительно стоящие задания. Чего стоит задача «бетономешалки». Вот тут точно есть где развернуться стратегам.
Нагляднее то нагляднее. А вы в курсе, во что разворачивает компилятор case?
oAuth может подойдет?

Information

Rating
Does not participate
Location
Гродно, Гродненская обл., Беларусь
Date of birth
Registered
Activity