Новости информационных технологий - 26227

Предыстория

Есть проект, в рамках которого приходится работать с большим объем данных. В частности есть одна денормализованная таблица, в которой хранятся все актуальные предложения существующих клиентов, а также устаревшие предложения, помеченные is_deleted = 1, ожидающие удаления.

Количество записей в данной таблице до недавнего времени колебалось от 30 до 50 миллионов. Обычный OPTIMIZE даже при таких условиях не всегда срабатывал. Поэтому отец-основатель (Евгений Васильевич aka haron) придумал пересобирать таблицу таким образом: все актуальные (is_deleted = 0) копировались в таблицу с идентичной структурой с добавлением префикса по дате и времени, а когда копирование завершалось, оставалось только удалить исходную таблицу, а новую переименовать в исходную.

Такой подход работал надежно, пока не потребовалось повысить скорость поиска предложений. И тут начинается наша небольшая история.Читать полностью »

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

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

Но все это в будущем, которое, благодаря отдельным компаниям, кажется, уже совсем рядом… но и не рядом одновременно.
Уверенные ли вы, что на дорогах не останется живых водителей на вашем веку?
Я, например, не уверен, а вкусить будущего хочется.

Так почему бы не взять отдельные куски будущего и не реализовать их сейчас и как можно быстрее? Давайте разделим одну большую и трудновыполнимую задачу на множество «вполне-выполнимых-трудных» задач и внедрим умные автомобили в будущее поэтапно.

Тема, безусловно, очень широкая. Поэтому предлагаю пока обсудить только одну из таких подзадач.
Предлагаю начать с навигации будущего. Что мешает мировым корпорациям заняться ей прямо сейчас? Насколько это вообще необходимо?
Читать полностью »

Здравствуйте Читатели!

Сейчас буду рассказывать об одном «дереве».

Зачем и почему нужны «деревья» – Вы знаете лучше меня.

Понадобилось для одного проекта «дерево» (tree view).
Известные реализации от:

и т.п. не устраивали по разным причинам.

Читать полностью »

Всем привет!

Так случилось, что на Хабре не было ни одного упоминания Wt, C++ Web Toolkit, кроме одного комментария.

Библиотека Wt может заинтересовать тех, кто пишет на C++ и захотел посмотреть в сторону Web, но не хочет изучать и/или использовать HTML, CSS, JavaScript, SQL и дополнительные технологии, связанные с веб-разработкой и работой с БД. В данной статье моей целью было обратить внимание сообщества на Wt, а не освещать все его возможности.
Читать полностью »

Fujitsu делает акцент на использовании в ноутбуках LIFEBOOK AH532 и LH532 новой мобильной платформы Intel, что звучит заманчиво, если посмотреть на начальные цены этих моделей: $550 и $600 соответственно. Но стоит отметить, что сочетание чипсета Intel HM76 и процессора Core i3-2350M нельзя назвать очень уж новым, ведь этот ЦП относится к поколению Sandy Bridge.

LIFEBOOK AH532

Двухъядерный процессор поддерживает технологию Hyper-Threading, работает на частоте 2,3 ГГц, оснащен кэш-памятью объемом 3 МБ иЧитать полностью »

Когда пользовательские данные попадают в запрос под оператор LIKE следует быть предельно внимательными.
Дело в том, что ни одна функция фильтрации, включая mysql_real_escape_string, и даже prepared statements не защитят от логических ошибок, связанных с wildcard символами.

В нашей практике аудита веб-приложений, данная ошибка встречается примерно в каждом пятом веб-приложении, уязвимом к SQL-инъекциям (19.3%).

Оператор LIKE используется для поиска по неточному значению, строковых типов.
Синтаксис оператора позволяет использовать wildcard семантику, где
% заменяет классический * — последовательность любых символов
_ заменяет классический? — любой одиночный символ

Частая ошибка разработчиков состоит в том, что символы % и _ не фильтруются в попадании пользовательских данных в SQL запрос. Да, нарушить синтаксис запроса, то есть выполнить внедрение операторов, в этом случае нельзя, но может пострадать логика работы веб-приложения.
Читать полностью »

Правдометр.ру
Сайту Правдометр.ру на днях исполнилось два года. 19 апреля 2010 года вышла статья на Хабре, анонсировавшая запуск проекта. Можно оценивать результаты, а также неудачи, постигшие проект за это время.
Читать полностью »

Доступен непривязанный анлок для iPhone на iOS 5.0/5.0.1

Хакер из Китая Loktar_Sun опубликовал метод разблокирования iPhone с джейлбрейком при помощи утилиты SAM — Subscriber Artifitial Module. Способ подтвержден и проверен известным разработчиком MuscleNerd, у которого процедура анлока прошла успешно. Стоит заметить, что код активации генерируется только для одной SIM-карты, после её смены требуется повторить несложную процедуру. Подходит для всех baseband (модемов).
Читать полностью »

Многим из нас приходилось принимать различные препараты в лекарственных целях. В то же время, на аспирине, виагре и тамифлю фармацевтические корпорации делают миллиарды долларов. Вот только верхушка айcберга лекарственных блокбастеров: Список самых продаваемых лекарств 2010 года

Давайте разберемся, как же разрабатываются на текущий момент подобные лекарственные препараты.
Читать полностью »

Организация Wireless Power Consortium (WPC) дополнила открытый стандарт Qi, описывающий технологию бесконтактной зарядки аккумуляторов. В него добавлена поддержка технологий магнитного резонанса, работающих на больших, чем было закреплено в прежней редакции стандарта, дистанциях.

Напомним, с помощью Qi можно зарядить батарею мобильного устройства, не подключая никакие провода, а просто поместив его на зарядную поверхность. НаличиеЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js