Интересные публикации из тематических хабов на Хабрахабре
Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.
Исходная информация - http://www.habrahabr.ru/text/. Данный дневник сформирован из открытого RSS-источника по адресу http://habrahabr.ru/rss/text/, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты. По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.[Обновить трансляцию]
Есть несколько базовых классов, наследники и некоторый шаблонный обработчик, выполняющий какие-то действия с экземпляром наследников. Его поведение зависит от того, какие классы являются базовыми для обрабатываемого класса. Возможный вариант я хочу показать. Читать дальше →
Увы и ах, на деле орех гораздо более морщинист, чем кажется с первого взгляда, и имеются некоторые тонкости, на которые будет указано позже. А до тех пор, наденем ношеную «IL freak» майку (у кого имеется) и погрузимся в недра реализации. Погрузись, и ты узнаешь насколько глубока кроличья нора
Понедельник, 29 Декабря 2014 г. 20:35
+ в цитатник
Многие VNC-серверы не требуют установки пароля, из-за чего в интернете оказываются клиентские или серверные машины с открытым доступом по этому протоколу. Просканировав весь интернет, не всегда понятно, что же делать с ними всеми. Почему бы не сделать из них рулетку с элементами социальной сети?
srsly.de — VNC-рулетка. Обновляйте страницу, получайте каждый раз новый сервер со скриншотом. Можете подключаться к нему через веб-клиент или через обычный VNC, ставить лайки, репортить или даже добавлять свои VNC-серверы в базу!
Для сканирования использовался zmap, который сканировал порты 5900-5910, затем python-скрипт пытался подключиться к серверу и снять скриншот. Веб-часть написана на Go.
Понедельник, 29 Декабря 2014 г. 17:51
+ в цитатник
Мы публикуем перевод последней из существующих частей «книги». Обязательно будем следить за блогом автора и продолжим публикации этого материала, как только они появятся.
Теперь, когда мы понимаем основы того, как эти схемы работают с данными, давайте применим более традиционный подход, который вы наверняка уже видели где-нибудь в интернете и в других уроках и книгах. Вы вряд ли встретите, чтобы люди слишком много рассказывали о характеристиках силы. Вместо этого алгоритмы обучения машины обычно описывают с точки зрения функций потерь (или функций затрат, или целей).
По мере того, как я составляю эти математические формулы, я бы хотел начать относиться более внимательно к тому, как мы называем наши переменные и параметры. Я бы хотел, чтобы эти уравнения выглядели так же, как вы могли видеть их в книгах или других уроках, поэтому я начну использовать более стандартные наименования. Читать дальше →
Понедельник, 29 Декабря 2014 г. 17:19
+ в цитатник
Это довольно вольный перевод статьи, которая попалась мне на просторах интернета. Её автор — TJ VanToll. Он уже много лет занимает веб-разработкой и, в частности, оптимизацией сайтов для большей производительности на мобильных телефонах. Под катом рассмотрены несколько способов оптимизации, а так же приведены результаты тестирования на различных устройствах. Читать дальше →
Понедельник, 29 Декабря 2014 г. 16:19
+ в цитатник
В этой статье я расскажу о небольшом how to о разработке для Arduino в CLion www.jetbrains.com/clion/.
CLion — новая IDE для C/C++ от JetBrains. По стилю и поведению очень похожа на IDEA (IDE для Java). А так как я пишу на Java под IDEA с использованием «фишек» это IDE, то хотелось бы все эти «фишки» и use case разработки перенести на разработку для Arduino. Читать дальше →
Понедельник, 29 Декабря 2014 г. 15:32
+ в цитатник
В Java для введения порядка среди определённых объектов можно написать компаратор — класс, содержащий функцию compare, которая сравнивает два объекта. Альтернативой компаратору является естественный порядок объектов: объект реализует интерфейс Comparable, который содержит метод compareTo, позволяющий сравнить этот объект с другим. Сравнивающая функция должна вернуть 0, если объекты равны, отрицательное число (обычно -1), если первый объект меньше второго, и положительное число (обычно 1), если первый больше. Обычно реализация такой функции не представляет сложностей, но имеется один случай, о котором многие забывают.
Сравнение используется различными алгоритмами от сортировки и двоичного поиска до поддержания порядка в сортированных коллекциях вроде TreeMap. Эти алгоритмы завязаны на три важных свойства сравнивающей функции: рефлексивность (сравнение элемента с самим собой всегда даёт 0), антисимметричность (сравнение A с B и B с A должны дать разный знак) и транзитивность (если сравнение A с B и B с C выдаёт одинаковый знак, то и сравнение A с C должно выдать такой же). Если сравнивающая функция не удовлетворяет этим свойствам, алгоритм может выдать совершенно непредсказуемый результат. Причём скорее всего вы не получите никакого исключения, просто результат будет неверный.
Как обнаружилось, несоблюдение этих свойств — не такая уж редкая ситуация. Проблема возникает при сравнении вещественных чисел — float или double. Читать дальше →
Понедельник, 29 Декабря 2014 г. 15:28
+ в цитатник
Рекомендую заранее статью про то, как работать в потоке, и статью про спонтанное планирование (для тех, кто ненавидит тайм-менеджмент).
Суть простая — иногда появляются мысли у людей, типа, почему полно книг «Как...», но почти нет «Зачем...». А многие просто страдают от прокрастинации, и пытаются безуспешно жить по методикам, где требуется железная сила воли и организованность — работа по плану.
Ниже немного моих соображений, как быть тем, у кого эта тема не прет, но нужно как-то организовать свои дела. Читать дальше →
Понедельник, 29 Декабря 2014 г. 14:19
+ в цитатник
Традиционно к новогодним праздникам Plarium выпускает масштабные обновления своих проектов. В этом году для стратегии «Войны престолов» мы создавали нового юнита – Ледяного Стража.
Запасайтесь горячим чаем – под катом история о том, как был сотворен самый хладнокровный воин за всю историю Даркшайна (и много скриншотов рабочего процесса).
Понедельник, 29 Декабря 2014 г. 14:19
+ в цитатник
Disclaimer: Мы работаем в компании «Расписание вузов», делаем мобильные приложения (iOS, Android, Windows Phone), в которых публикуется учебное расписание студентов и преподавателей.
Как менять расписание в мобильном приложение
Основной функцией нашего приложения мы считаем показ расписания. Но во многих вузах считается, что без возможности изменения этого расписания, показ расписания бесполезен. Редактировать расписание можно через веб-интерфейс (это сделать проще), но надо бы дать возможность через мобильные приложения. Читать дальше →
Понедельник, 29 Декабря 2014 г. 13:55
+ в цитатник
Периодически, как правило во вторую среду месяца, можно услышать истории о том, что Windows после очередного обновления перестает загружаться, показывая синий экран смерти. В большинстве случаев причиной такой ситуации оказывается либо руткит, либо специфичное системное ПО, фривольно обращающееся со внутренними структурами ОС. Винят, конечно, все равно обновление, ведь «до него все работало». С таким отношением не удивительно, что «Майкрософт» не поощряет использование всего, что не документировано. В какой-то момент, а именно с релизом Windows Server 2003, MS заняла более активную позицию в вопросе борьбы с чудо-поделками сторонних разработчиков. Тогда появился механизм защиты целостности ядра — kernel patch protection, более известный как PatchGuard.
С самого начала он не позиционировался как механизм защиты от руткитов, поскольку руткиты работают в ядре с теми же привилегиями, а следовательно, PatchGuard может быть обезврежен. Это скорее фильтр, отсекающий ленивых разработчиков руткитов. Читать дальше →
Понедельник, 29 Декабря 2014 г. 12:27
+ в цитатник
Пятая юбилейная конференция DevCon пройдет в мае 2015 года. Наша дружная команда уже вплотную занимается подготовкой мероприятия: местом проведения, инфраструктурой и, конечно, наполнением контентом. В 2015 году мы готовим для вас много сюрпризов, много новых тем, много глубокого контента, много встреч с экспертами мировой величины. Скоро мы начнем об этом рассказывать более широко.
Сегодня мне хотелось бы рассказать о концепции конференции – нашем видением, ключевыми идеями, с помощью которых мы сделаем DevCon 2015 полезным, запоминающимся и интересным.
Разрешите представить вам “Живой код” конференции DevCon 2015 – наша история, рассказанная в картинках. Читать дальше →
Понедельник, 29 Декабря 2014 г. 12:00
+ в цитатник
Тем, кто работает с телефонией, приложениями связанных со звонками и т.п. время от времени приходится сталкиваться с вопросами: «а можно определять с какого региона этот звонок?» и «а этот номер какого мобильного оператора?»
В общем-то, ответы найти легко. На сайте Федерального агентства связи есть данные о ресурсе нумерации всех операторов связи. Заходишь на сайт, скачиваешь нужный CSV файл и находишь нужную информацию.
Но ведь можно автоматизировать этот поиск? Конечно. И многие аккуратно парсят этот CSV и складывают к себе в базу данных. А затем используют. Я тоже так делаю.
Но недавно с моим коллегой мы решили немного это упаковать и сделать npm для быстрого подключения ресурса нумерации к проекту на node.js.
Понедельник, 29 Декабря 2014 г. 11:58
+ в цитатник
Оригинал статьи 13.12.2014. Джон Эванс, Колумнист TechCrunch.
История из силиконовой долины
Базы данных — это хребет ИТ индустрии: невоспеты, невидимы, но критичны. И крайне пагубны когда они ломаются или деформируются. Это делает специалистов по БД осторожными. Годами только лишь Большая Троица — Oracle, IBM DB2, и может быть SQL Server — были единственными серьёзными опциями. Потом open source альтернативы — MySQL, ProstgreSQL — стали жизнеспособным. А потом, в течение последних пяти лет, всё стало очень интересно… Читать о FoundationDB
Понедельник, 29 Декабря 2014 г. 11:43
+ в цитатник
Одним субботним декабрьским вечером сидел я над книгой The Blind Watchmaker (Слепой Часовщик), как на глаза мне попался невероятно интересный эксперимент: возьмём любое предложение, например Шекспировскую строку: Methinks it is like a weasel и случайную строку такой же длины: wdltmnlt dtjbkwirzrezlmqco p и начнем вносить в неё случайные изменения. Через сколько поколений эта случайная строка превратится в Шекспировскую строку, если выживать будут лишь потомки более похожие на Шекспировскую?
Сегодня мы повторим этот эксперимент, но в уже совершенно другом масштабе.
Понедельник, 29 Декабря 2014 г. 11:42
+ в цитатник
Петька, ну как? Сдал экзамен?
Нет, Василий Иванович! Меня попросили квадратный трехчлен разложить. А я его не то что разложить, я его представить не могу!
Постановка вопроса
При моделировании предметной области и описании реализации мы часто используем термин событие. Однако, насколько мне известно, мало кто понимает смысл этого термина и может четко дать определение этого термина. Кроме того, часто путают событие, тип событий и класс событий.
Посмотрите на диаграмму. На ней кружочками что-то изображено. В нотации BPMN это что-то называется «Событие». Но что есть само событие? И почему операция по отправке сообщения в одном случае обозначено как событие, а в другом как операция?
Чем ИСО 15926 мне не понравился
В прошлых статьях я давал определения физического объекта.
Физический объект — это любое подмножество 4-Д пространства-времени.
Кроме того, я давал определения функционального и информационного объектов.
Физический и информационный объекты — это физические объекты в 4-Д пространстве-времени, которые с точки зрения наблюдателя выполняют определенные функции, или служат определенным целям.
Понедельник, 29 Декабря 2014 г. 11:40
+ в цитатник
Современные JavaScript фреймворки, и ReactJS не исключение, обычно требуют эксклюзивного доступа к DOM и им очень не нравится, когда кто-то без их ведома этот DOM меняет. Проблема в том, что существует огромное количество сторонних библиотек (например, плагины jQuery), которым необходимо в их подконтрольном поддереве что-нибудь да вропнуть, анвропнуть, перенести в другое место и т.д. Обычно в таких случаях мы видим в консольке нечто подобное:
К счастью, эта проблема довольно легко и быстро решается. В этом посте я попробую изложить решение пошагово, но, если вам неинтересно, или вы спешите, просто поскрольте вниз к ссылке на гист с готовым решением. Итак, начнем. Читать дальше →
Понедельник, 29 Декабря 2014 г. 10:57
+ в цитатник
Дорогие друзья,
Поздравляем вас с наступающим Новым 2015 годом!
Новых побед и новых открытий, новых проектов и новых высот, и, конечно, невероятных, больших достижений в предстоящем году!
Подводя итоги 2014 года, мы хотим поблагодарить всех наших читателей. Читать дальше →
Понедельник, 29 Декабря 2014 г. 10:50
+ в цитатник
Ранее мы уже знакомили вас с переводами статей Chris Bailey, которые он писал по мере развития своего проекта a Year of Productivity — они доступны в нашем блоге в разделе «личная продуктивность».
Сегодня мы хотели бы познакомить вас с выводами Криса о взаимосвязи между продуктивностью и счастьем.
Понедельник, 29 Декабря 2014 г. 10:19
+ в цитатник
В этой статье я хочу сделать две вещи: рассказать, почему макросы — зло и как с этим бороться, а так же продемонстрировать пару используемых мной макросов C++, которые упрощают работу с кодом и улучшают его читаемость. Трюки, на самом деле, не такие уж и грязные:
Безопасный вызов метода
Неиспользуемые переменные
Превращение в строку
Запятая в аргументе макроса
Бесконечный цикл
Заранее предупреждаю: если Вы думаете увидеть под катом что-то крутое, головоломное и сногсшибательное, то ничего такого в статье нет. Статья про светлую сторону макросов. Читать дальше →