<будущее здесь>
После эпидемии червя Burn.IT сгорело 1M телефонов, произошло несколько тысяч серьёзных пожаров.
Количество жертв уточняется.
<будущее здесь>
Про продолжение:
Особенно интересно про ваш вариант решения следующих вопросов:
Версионность данных (Ленинградскую область переименуют Санкт-Петербургскую). Как эти данные загрузятся из XML?
Что если в системе уже загружены данные (записи) и нужно какую-то часть этих данных удалить?
Классы связаны друг с другом, да ещё и с циклами, Сотрудники-Отделы (а у отдела есть начальник — сотрудник)
Удобство программиста = стоимость и надежность ПО.
Клиентом обычно выступает заказчик а не пользователь
Заказчику важно быстро, не дорого, надежно.
При этом, если пользователь не получает особых проблем — то все в плюсе.
Хотя, пользователь, конечно проблемы получает.
Ентерпрайз пользователи они такие — для них любой новый продукт это плохо, ему надо обучаться.
Вообще, графики могут сильно меняться в зависимости от того на каком клиенте смотреть страницу.
Старый дешевый планшет
Нетбук с атомом
Рабочая станция на последнем i7 c разгоном и наворотами
Другое дело что при разработке надо учитывать «целевую аудиторию» и соответственно нагружать клиента
Ну некоторые и заботятся.
Чуть больше 2х лет назад мы приняли решение, что на клиенте вообще не должно быть никакой логики.
Это относится и к скорости и к сложности поддержки.
Простой запрос — мало времени БД и много ОРМ.
Представим, что вы выполняете запрос «SELECT 1+1» и сравниваете его с простым вычислением 1+1
Окажется что работа с БД супер медленная штука, что выполнение 1+1 средствами самого ЯП на несколько порядков превосходит по времени время выполнения через БД. например БД (через ОРМ это делает 1 мс, а ЯП 1/1000 мс)
Но возьмем 10 таблиц, по 1-10М записей, составим запрос с несколькими JOIN и GROUP BY, UNION и т.д.
Окажется что реализованный вами алгоритм на ЯП работает не так быстро как хотелось бы, потом вы разбираетесь в узких местах, оптимизируете и оказывается что ваш вариант на 5 мс быстрее!
Круто же! в предыдущем примере было около 1мс, а тут целых 5 сэкономили.
Но само время выполнения запроса уже 100мс, и на этом фоне разница в 5 мс выглядит не существенной.
Тормоза в ОРМ от удобства. habrahabr.ru/post/140713/ вот тут я рассказывал о некоторых удобствах полученных нами.
Моя практика говорит о том что ОРМ хорош, в случае если работа происходит с изменяемой структурой данных. В данных случаях проще заплатить в несколько раз больше за более производительный сервер, чем растягивать сроки решения задач или нанимать дополнительных программистов.
Опять же для теста был задан очень простой запрос. А что будет на более сложном? как зависят типы данных, количество объектов, количество полей объектов?
Может быть в ОРМ есть какой-нибудь логгер, который отнимает много времени?
Не хотите провести более подробный анализ и поделиться с сообществом?
Да-да, я это и имел в виду. А вы не хотите написать приложение под Android/iOS/WP? Под Win, вроде неплохо получилось.
Просто то что по ссылке — не слишком «готово к употреблению».
Интересно было бы скрестить такую программу с [телефоном с] камерой и акселлерометром.
В момент фотографирования записывать возможные движения и применять фильтр для улучшения качества фото.
Интересно, а если сменить ФИО на какого-нибудь обеспеченного человека, появится ли его универсальный счет?
Возможно, там есть проверка даты рождения, но если это всё что проверяется -то атака становится очень интересной.
В детстве мне ставили пароль на компьютер (пароль в bios), я научился сбрасывать пароль через замыкание джампера на материнской плате.
По счастливому стечению обстоятельств была установлена какая-то программа которая мешала убить windows (98ую), и при запуске говорила что bios изменился, не хотите ли восстановить?
После восстановления bios-а запуск продолжался, но и биос восстанавливался, так что я мог сбросить пароль поиграть, выключить компьютер и никто ничего не заметил.
А не хотите поискать баги в Chrome и попасть сюда сюда?
После эпидемии червя Burn.IT сгорело 1M телефонов, произошло несколько тысяч серьёзных пожаров.
Количество жертв уточняется.
<будущее здесь>
Особенно интересно про ваш вариант решения следующих вопросов:
Версионность данных (Ленинградскую область переименуют Санкт-Петербургскую). Как эти данные загрузятся из XML?
Что если в системе уже загружены данные (записи) и нужно какую-то часть этих данных удалить?
Классы связаны друг с другом, да ещё и с циклами, Сотрудники-Отделы (а у отдела есть начальник — сотрудник)
Клиентом обычно выступает заказчик а не пользователь
Заказчику важно быстро, не дорого, надежно.
При этом, если пользователь не получает особых проблем — то все в плюсе.
Хотя, пользователь, конечно проблемы получает.
Ентерпрайз пользователи они такие — для них любой новый продукт это плохо, ему надо обучаться.
Старый дешевый планшет
Нетбук с атомом
Рабочая станция на последнем i7 c разгоном и наворотами
Другое дело что при разработке надо учитывать «целевую аудиторию» и соответственно нагружать клиента
Чуть больше 2х лет назад мы приняли решение, что на клиенте вообще не должно быть никакой логики.
Это относится и к скорости и к сложности поддержки.
Представим, что вы выполняете запрос «SELECT 1+1» и сравниваете его с простым вычислением 1+1
Окажется что работа с БД супер медленная штука, что выполнение 1+1 средствами самого ЯП на несколько порядков превосходит по времени время выполнения через БД. например БД (через ОРМ это делает 1 мс, а ЯП 1/1000 мс)
Но возьмем 10 таблиц, по 1-10М записей, составим запрос с несколькими JOIN и GROUP BY, UNION и т.д.
Окажется что реализованный вами алгоритм на ЯП работает не так быстро как хотелось бы, потом вы разбираетесь в узких местах, оптимизируете и оказывается что ваш вариант на 5 мс быстрее!
Круто же! в предыдущем примере было около 1мс, а тут целых 5 сэкономили.
Но само время выполнения запроса уже 100мс, и на этом фоне разница в 5 мс выглядит не существенной.
Моя практика говорит о том что ОРМ хорош, в случае если работа происходит с изменяемой структурой данных. В данных случаях проще заплатить в несколько раз больше за более производительный сервер, чем растягивать сроки решения задач или нанимать дополнительных программистов.
Опять же для теста был задан очень простой запрос. А что будет на более сложном? как зависят типы данных, количество объектов, количество полей объектов?
Может быть в ОРМ есть какой-нибудь логгер, который отнимает много времени?
Не хотите провести более подробный анализ и поделиться с сообществом?
Просто то что по ссылке — не слишком «готово к употреблению».
В момент фотографирования записывать возможные движения и применять фильтр для улучшения качества фото.
translate.google.ru/#ja|ru|%E8%87%AA%E5%88%86%E3%82%92%E6%AE%BA%E3%81%99%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%0A%E5%A3%81%E3%81%AB%EF%BC%81
будет забанен
Возможно, там есть проверка даты рождения, но если это всё что проверяется -то атака становится очень интересной.
Как пожелание — добавить поддержку resharper7/vs11 и было бы совсем здорово.
По счастливому стечению обстоятельств была установлена какая-то программа которая мешала убить windows (98ую), и при запуске говорила что bios изменился, не хотите ли восстановить?
После восстановления bios-а запуск продолжался, но и биос восстанавливался, так что я мог сбросить пароль поиграть, выключить компьютер и никто ничего не заметил.
можно ещё использовать remarks или другие теги