Мы создаем множество сложных программных продуктов и требования безопасности кода становятся все актуальнее. Автоматизация везде, в том числе и в сфере безопасности: алгоритмы говорят нам, как писать код. Очень хотелось бы иметь волшебный инструмент, который бы говорил, безопасен наш код или нет. Попробуем проверить, есть ли волшебная кнопка в мире DevSecOps. Для этого мы взяли несколько статический анализаторов кода, залили в них уязвимый код и посмотрели, что получилось на выходе.
Как пелось в песне группы Технология, “Нажми на кнопку – получишь результат, и твоя мечта осуществится”. О результатах эксперимента мы и поговорим далее.
Когда у английского философа, основателя агностицизма Дэвида Юма спросили, существует ли окружающий мир, он ответил: «не знаю». То, что мы принимаем за мир, для нас существует лишь в нашем воображении.
Недавно, один мой друг тоже спросил о существовании окружающего мира. Попробуем порассуждать на эту тему. Я нисколько не претендую на строгое доказательство существования или отсутствия, сколько хотел бы понять, ваши комментарии только в моей голове?
При разработке интерфейса одного веб приложения возникла задача сделать странички, формируемые AJAX запросом, индексируемыми поисковиками. У Яндекса и Google есть механизм для индексации таких страниц (https://developers.google.com/webmasters/ajax-crawling/http://help.yandex.ru/webmaster/robot-workings/ajax-indexing.xml). Суть довольно проста, чтобы сообщить роботу о HTML версии страницы, в тело нужно включить тег . Этот тег можно использовать на всех AJAX страницах. HTML версия должна быть доступна по адресу www.example.com/чтотоеще?_escaped_fragment_=. То есть, если у нас есть страница http://widjer.net/posts/posts-430033, то статическая версия должна иметь адрес http://widjer.net/posts/posts-430033?_escaped_fragment_=.
Чтобы не быть обвиненным в клоакинге, динамическая и статическая версии не должны отличаться, поэтому возникает необходимость создания слепков ajax страниц, о чем и хотелось бы рассказать.
Давно, когда деревья были большими, меня очень увлекала 3D анимация. Но шло время, появлялись новые заботы и это увлечение было заброшено. На днях я наткнулся на очень интересный проект, который заставил вспомнить детство и полдня просидеть за довольно бесполезным, но очень увлекательным занятием.
В данной статье я бы хотел ответить на один из вопросов, сформулированных в Проблемы читателя. Рай где-то рядом?. Суть в следующем. У нас есть система в которую поступают текстовые сообщения, нам необходимо для каждого сообщения сформировать набор викистраниц, релевантных тексту. Допустим есть текст – «Барак Обама встретился с Путиным». На выходе должны быть ссылки на страницы Википедии «Барак Обама» и «Путин В.В». Опишем один из возможных алгоритмов.
Чуть больше года назад встала проблема выбора NoSQL решения для проекта. Был ряд определенных требований.
Возможность расширения (триггеры, хранимые процедуры);
Полнотекстовый поиск;
Наличие провайдера для .NET;
Поддержка POCO;
Возможность развернуть на Windows платформе;
Желательно поддержка lucene.net;
Желательно поддержка транзакций;
Желательно поддержка асинхронных запросов;
Желательно map reduce;
Желательно наличие документации и сообщества разработчиков.
После долгих поисков и сравнений выбор пал на RavenDb. Меня немного удивило, что данному продукту посвящено не так много публикаций. После года общения с данным NoSQL решением решил поделиться впечатлениями. Переписывать документацию не вижу смысла, все очень хорошо описано на сайте проекта и в официальных группах. А также блоге разработчика Ayende blog.
У каждого из нас в сети есть набор сайтов на которые мы постоянно заходим черпать новую, интересную информацию. Я много раз пытался начать пользоваться RSS агрегатором и все время отказывался от этой идеи. Терпеливо разложив все ленты по своим папочкам, я вскоре понимал, что получил не то что ожидал. Если хотел почить про .NET, то статьи были перемешаны с другими, не относящимися к теме. Иногда хочется почитать просто про информационные технологии, но увы, в моем рубрикаторе такого раздела не было. Через какое-то время я забывал о ридере.