All streams
Search
Write a publication
Pull to refresh
96
0
Огюст Дюпен @Nulldevice

User

Send message
Здравствуйте,

Идея собирать ссылки на сайты, посвященные изучению языка, откровенно говоря, не нова (возьмем хотя бы www.study.ru.)

Тем не менее, желаю вам удачи.

И за одно добавьте ресурс, программистом которого я являюсь — www.kwiz.me. Этот сайт посвящен изучению английских слов по карточкам. Слова отсортированы по частотности употребления в английском языке. Каждый пользователь может зарегистрироваться и вести свой список изучаемых слов.
Всем привет.

Ядерным реактором не управляют вручную — за ним следят промышленные контроллеры, в которые зашито специальное программное обеспечение, которое ни к Windows, ни к Linux отношение не имеет. Человек просто не успеет среагировать на критическое изменение параметров, кроме того, может неправильно среагировать, переместив стержни активной зоны в неправильном напавлении.

Подозреваю, что, как и в авиации ответственные контуры управления расчитываются на определенную вероятность отказа, и потому дублируются, потому что авария реактора хуже аварии самолета.

Изображен экран системы мониторинга (а мониторинг и управление, вобщем-то не одно и тоже), который показывает состояние инженерных систем, которые могут быть расположены во многих зданиях.

Тема зависаний сервера под управлением Windows — немного популисткая, рассчитаная на голоса сторонников OpenSource. Сертифицированный сервер (то есть собранный из хороших компонентов) не будет виснуть ни под Linux, ни под Windows, ни под Solaris.
Большое спасибо автору за очень позитивный, очень светлый топик!

Есть же у людей в мире интересные занятия! Отдал бы самое ценное, что у меня есть в жизни (пластинки АББА), чтобы только верблюжонка покормить из соски!
Ай-ай-ай! Ну как так можно!

1) Поймите, как работает оператор IN. Он не работает как «выбрать по индексу запись 1, выбрать по индексу запись 2, и т.д.» Он работает так — «просмотреть ВСЕ записи и проверить, не находятся ли они в списке IN» — то есть это fullscan — полное сканирование таблицы. Кстати, проверить, является ли ваш алгоритм полным чтением таблицы, можно и без вещей вроде разбора плана запроса. Просто замерьте время для 10000 записей, а потом для 100000. Если время одного порядка — то вы молодец, если время выросло в 10 раз — читается вся таблица и вы не молодец

2) ваш алгоритм не гарантирует 10 записей. если дважды выпадет одинаковый ключ — вы получите 9 записей. Теоретически, если экспериментировать порядка возраста Вселенной — можно вернуть вообще одну запись когда-нибудь :)
Поскольку я старший администратор баз данных, то мне чтение мануалов очень часто заменяют письма разгневанных пользователей (а иногда и сами пользователи очно) со словами «Почему все висит?». Вот такие вот «разработчики» вычитают в мануалах, что, оказывается, «при транзакции параллельные процессы и не ждут вовсе, а делают по-быстрому какие-то результаты работы». Не объяснишь ведь менеджерам, что я тут не причем.

На собеседовании мы таким «software engineer», которые транзакций и блокировок не понимают, не говорим, что они глупые. Но на работу не берем.
И еще. Если то, что запись не будет найдена с первой попытки — это не страшно, то почему бы не воспользоваться нумерацией и поиском по ключу? Ну, не найдет запись с первой попытки — найдет со второй. Зато поиск по индексу — ну ооочень быстро.
А как такую ситуацию обойти проще простого, кроме как сделать повторную попытку?
Такая история ведь может произойти не только с самой последней записью — а если в промежутке удалили 10 записей? А если кто-то слелал КОММИТ (предположим, у них база транзакционная) и снес 1000 записей?
Алгоритм повторных попыткок — это алгоритм из серии WHILE TRUE. А такие алгоритмы — это всегда плохие алгоритмы, и не только теоритически.
Вот, вы и попались!
Транзакция с блокировкой записи (а получается, что нужна такая) потребует этот процесс ждать, пока параллельные процессы закончат запись, чтобы захватить блокировку, а остальные процессы, которые хотят удалить или вставить строку, будут стоять в очереди, а кого-то вообще умирет по таймауту.
Производительность будет никакая.
Я куда клоню. Вы стоите в самом начале пути к довольно сложной вещи, как базы данных, а уже кого-то называете глупым.
1) Рандомайзер выбирает последнюю запись
2) Параллельный процесс удаляет последнюю запись
3) Выборка не находит ничего.
Здравствуйте.

Извините, но ваше решение отвратительно.

Чтобы выбрать 10 случайных записей, вы делаете 11 операций, которые в терминологии баз данных называются «full scan» (полное чтение таблицы)

SELECT COUNT(*) FROM tTable — раз фуллскан. база данных просматривает все записи, чтобы узнать их количество. (Да, база не получает данные строк, но сканировать начала записей ей надо.)
SELECT * FROM tTable LIMIT X, 1 — то же самое, еще 10 сканирований таблицы от начала до числа X.

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

И еще — некрасиво публично называть кого-то глупым.
> Пожарный кран сильно спасёт от РПГ?

Когда-то на занятии по гидравлике считали с преподавателем, струю какой силы создает водомет пожарной машины. Получилось что-то около 200 килограмм. 0.2 тонны то есть. Это на грузовике, у которого отбор мощности для насоса идет от двигателя. Теперь предстваляем себе средненткий такой танкер, на палубе которого можно играть в футбол. На его основе можно сделать значительно более мощный насос. Если память не изменяет, то тяга одного авиадвигателя — это 15 тонн. А от авиационного двигателя такая посудина просто улетит нафиг.
О штрафах. Могу ошибаться, но гражданский кодекс не устанавливает штрафы. Это делается в КоАП, по-моему. Ущерб от того, что гражданин сделал незаконную копию есть не полученная правообладателем прибыль. Скажем, если песня продается официально за 1 у.е., то ущерб тоже 1 у.е. То есть иск к такому гражданину — это этот самый 1 у.е. за использование + штраф. Статья на секьюритилаб — это триллер на тему того, как гражданина ожидают милионные иски за кеширование браузером картинки и т.п.
И вообще, к таким статьям стоит давать пруфлинк на что-нибудь серьезное, вроде российской газеты, в котором указаны точные тексты изменений. Сейчас топик скорее пиар сайта секьюритилаб
Не надо разводить панику на пустом месте. Ничего гражданин доказывать не должен. У нас принцип презумпции невиновности — никто не должен доказывать, что он невиновен, наоборот, обвинительная сторона должна доказывать вину. То есть это милиция, прокуратура, etc должна доказать, что вы используете копию не в личных целях.

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

P.S. Использовать такую поправку, чтобы специально кого-то посадить — это микрометрия.
Давайте закроем тему. Я переработался, решил съязвить. Был не прав.
невнимательно прочел комментарий. извините…
>искал на компе через гугл

сотрудники Яндекса искали через гугл — хи-хи
Меня беспокоит судьба молодых людей на слайде (рис. 1) в статье. Они стали статуями (рис. 2)?
Конечно, старо, но почему-то вспомнилось:
— Папа, а почему меня назвали '; delete from users; --

Information

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