Ну так написано же в статье, что сайты туда попадают автоматом, если включать в браузере режим совместимости. Видать донажимались на своем же дев-сайте.
Из собственного опыта — Convex Hull Trick стоит начать с того примера, который в англоязычной статье и указан — задача USACO MAR08. Там довольно подробно вывод идет и насколько я помню, там не очень много кода, отвлекающего от собственно Convex Hull Trick. Прочитав статью и примерно с пятого раза написав решение к задаче из статьи, «Транспортировку кошек» уже смог решить сам. Если, конечно, можно сказать «сам», когда тебе подсказали каким приемом надо воспользоваться.
Обычно для выделения центра окрестности этот символ в цепочке подчеркивается, здесь этого делать не будем за неимением простой технической возможности.
Третий подход может и отличный, не то, что первый, но в первом зато вроде нет багов. Зато третий возвращает инвертированное значение для InactiveSinceTo.
А по делу, автор говорит, что первый подход плох в том, числе тем, что
… если вы решите добавить новое поле (к примеру, дополнительно фильтровать группы по признаку IsDeleted, а пользователей по признаку IsBanned) и учитывать его при многих выборках — вы рискуете пропустить какой-нибудь метод.
Третий же подход «отличный», но как он адресует эти проблемы не ясно. Сказано только про группы, а как быть если пользователей вдруг стало нужно фильтровать по IsBanned==false?
Варианты:
1. Добавляем новую спецификацию NotBanned — ее получается надо добавлять во все запросы, т.е. тот же минус, что и у исходного подхода.
2. Добавляем фильтр по IsBanned==false куда-нибудь в AllMatching. Тогда получается это не спецификации решают эту проблему, а какой-то сопутствующий подход, который мы могли спокойно и в изначальном коде применить.
3. Добавляем эту же проверку во все спецификаций. Единственным плюсом этого будет то, что надо поправить только спецификации, но не сами запросы. В остальном подход плох.
По-моему, автор мешает теплое с мягким, в результате комментарии в соотношении 50/50 пошли разными путями. Для меня «аналог против цифры» — это прежде всего способ индикации сигнала, условно говоря число вывести на экран — это «цифра», а показать шкалу с указателем (как на первых двух картинках) — «аналог». Тут же похоже идет разделение на «железное» и «софтовое», что мне кажется менее важным по сравнению с первым.
На работе приходится использовать похожую связку cvs-git, так как заказчик не дает возможности уйти от цвс.
Досадный недостаток — при уходе в гитовый бранч, редактировании там и последующем возвращении в мастер (т.е. мастер остается нетронутым по смыслу), цвс отображает бранчевые файлы как измененные из-за времени модификации. Неудобно, что они светятся при коммите (хоть по доке от цвс в хистори в конце концов и не попадают).
ИМХО, в статье немножко не хватает описания процесса апдейта гита и свн со стороны свн. Процесс создания гит-репозитория есть, почему этого нет?
ЗЫ: «обЕих систем»На работе приходится использовать похожую связку cvs-git, так как заказчик не дает возможности уйти от цвс.
Досадный недостаток — при уходе в гитовый бранч, редактировании там и последующем возвращении в мастер (т.е. мастер остается нетронутым по смыслу), цвс отображает бранчевые файлы как измененные из-за времени модификации. Неудобно, что они светятся при коммите (хоть по доке от цвс в хистори в конце концов и не попадают).
ИМХО, в статье немножко не хватает описания процесса апдейта гита и свн со стороны свн. Процесс создания гит-репозитория есть, почему этого нет?
Как раз сегодня установил СВН третьим способом, поэтому могу уточнить.
После установки этот каталог надо добавить в переменную среды PATH (не помню, возможно это делается автоматически).
Не делается автоматически. Да и переменная не нужна, если работать, к примеру, фаром.
svnadmin create c:repositoriesexample-repository
слэш все еще потерян, да и лучше такие команды, думаю, писать так: svnadmin create path_to_repository_folder
3) Создаем сервис. Команда в консоли: sc create svn_svr binpath
Утилиты sc нет в том дистрибе, у меня во всяком случае у меня не появилось :). Кажется, это отдельная утилита для создания сервиса из приложения. Так как, тот про который говорилось в мануале был не найд(404), пришлось искать другой создатель сервисов. Я использовал NT Wrapper Lite
Угу, приятно ж :)
Еще. Иногда появляется "вышел", а он возвращается, если в момент появления надписи "вышел" рисуешь, то потом после исчезновения "вышел" кисть перескакивает к курсоры - испортили мне Мону Лизу :)
Прикольный сервис, спасибо.
Подчеркивание — это просто.
А по делу, автор говорит, что первый подход плох в том, числе тем, что
Третий же подход «отличный», но как он адресует эти проблемы не ясно. Сказано только про группы, а как быть если пользователей вдруг стало нужно фильтровать по IsBanned==false?
Варианты:
1. Добавляем новую спецификацию NotBanned — ее получается надо добавлять во все запросы, т.е. тот же минус, что и у исходного подхода.
2. Добавляем фильтр по IsBanned==false куда-нибудь в AllMatching. Тогда получается это не спецификации решают эту проблему, а какой-то сопутствующий подход, который мы могли спокойно и в изначальном коде применить.
3. Добавляем эту же проверку во все спецификаций. Единственным плюсом этого будет то, что надо поправить только спецификации, но не сами запросы. В остальном подход плох.
Так что делать?
This file is neither allocated to a Premium Account, or a Collector's Account, and can therefore only be downloaded 10 times.
This limit is reached.
Дайте, пожааааааалуйста :)
Досадный недостаток — при уходе в гитовый бранч, редактировании там и последующем возвращении в мастер (т.е. мастер остается нетронутым по смыслу), цвс отображает бранчевые файлы как измененные из-за времени модификации. Неудобно, что они светятся при коммите (хоть по доке от цвс в хистори в конце концов и не попадают).
ИМХО, в статье немножко не хватает описания процесса апдейта гита и свн со стороны свн. Процесс создания гит-репозитория есть, почему этого нет?
ЗЫ: «обЕих систем»На работе приходится использовать похожую связку cvs-git, так как заказчик не дает возможности уйти от цвс.
Досадный недостаток — при уходе в гитовый бранч, редактировании там и последующем возвращении в мастер (т.е. мастер остается нетронутым по смыслу), цвс отображает бранчевые файлы как измененные из-за времени модификации. Неудобно, что они светятся при коммите (хоть по доке от цвс в хистори в конце концов и не попадают).
ИМХО, в статье немножко не хватает описания процесса апдейта гита и свн со стороны свн. Процесс создания гит-репозитория есть, почему этого нет?
ЗЫ: «обЕих систем»
Не делается автоматически. Да и переменная не нужна, если работать, к примеру, фаром.
svnadmin create c:repositoriesexample-repository
слэш все еще потерян, да и лучше такие команды, думаю, писать так: svnadmin create path_to_repository_folder
3) Создаем сервис. Команда в консоли: sc create svn_svr binpath
Утилиты sc нет в том дистрибе, у меня во всяком случае у меня не появилось :). Кажется, это отдельная утилита для создания сервиса из приложения. Так как, тот про который говорилось в мануале был не найд(404), пришлось искать другой создатель сервисов. Я использовал NT Wrapper Lite
Еще. Иногда появляется "вышел", а он возвращается, если в момент появления надписи "вышел" рисуешь, то потом после исчезновения "вышел" кисть перескакивает к курсоры - испортили мне Мону Лизу :)
Прикольный сервис, спасибо.
- Аааа, дайте дорисовать, там такой шедевр!
- Fallout 3: Oblivion