-Поиск по дневнику

Поиск сообщений в rss_habrahabr

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 22.11.2006
Записей:
Комментариев:
Написано: 2




Интересные публикации из тематических хабов на Хабрахабре


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://www.habrahabr.ru/text/.
Данный дневник сформирован из открытого RSS-источника по адресу http://habrahabr.ru/rss/text/, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

[Перевод] Создание MVPP: минимально жизнеспособного продукта, которым можно гордиться

Среда, 28 Января 2015 г. 12:45 + в цитатник

image

День 18 ноября 2014 года стал датой публичного релиза редактора Optimizely’s для iOS. Это было весьма значимым событием, так как релиз ознаменовал собой окончание многомесячного публичного бета-тестирования, на протяжении которого сотрудники компании получили массу пользовательских отзывов, в соответствии с которыми занимались внедрением множества недостающих функций (о том, как зарабатывать на продукте или сервисе до его запуска — здесь). Но до момента запуска приложения оставалась одна проблема, в процессе решения которой сплотилась вся команда: они не чувствовали гордости за свой продукт. Для исправления этой проблемы ребята и вышли за рамки концепции MVP (англ.: «Minimum Viable Product» — «Минимально жизнеспособный продукт»), расширив её до MVPP: «минимально жизнеспособный продукт, которым мы гордимся» (англ.: «Minimum Viable Product we’re Proud of»). Ниже — история о том, как все это было, чему сотрудники из Optimizely научились по ходу работы, а также — советы по разработке, которые должны помочь читателям создавать классные продукты. Советы с точки зрения тех, кто только что прошёл этот путь. Читать дальше →

http://habrahabr.ru/post/249065/


Метки:  

Универсальный способ мониторинга Asterisk с помощью Zabbix

Среда, 28 Января 2015 г. 12:27 + в цитатник

image

Добрый день, хабровчане.

В этом посте я хотел бы рассказать о том, как мы осуществляем мониторинг серверов Asterisk. Безусловно, посты по использованию Zabbix для мониторинга Asterisk уже есть на хабре, в них мы почерпнули множество интересной информации и добавили еще ряд необходимых, на наш взгляд, вещей.

Что из этого вышло — можно посмотреть под катом.
Читать дальше →

http://habrahabr.ru/post/249055/


Метки:  

Spring — Hibernate: ассоциация один ко многим

Среда, 28 Января 2015 г. 12:22 + в цитатник

Продолжаем цикл статей — переводов по Spring и Hibernate, от krams.

Предыдущая статья:
«Spring MVC 3, Аннотации Hibernate, MySQL. Туториал по интеграции».

Введение.
В этом уроке мы познакомимся с использованием отношения один ко многим, используя аннотации Hibernate и Spring MVC 3. Мы будем использовать аннотоцию @OneToMany для указания отношений между нашими объектами. Мы не будем использовать каскадные типы или fetch-стратегии, вместо этого мы воспользуемся стандартными настройками @OneToMany.

Что такое ассоциация один-ко-многим?
Ассоциация один-ко-многим возникает тогда, когда каждой записи в таблице А, соответствует множество записей в таблице Б, но каждая запись в таблице Б имеет лишь одну соответствующую запись в таблице А.

Спецификация нашего приложения.

Приложение является простой CRUD системой управления списком записей. Каждая запись соответствует одному лицу, она содержит персональные данные и данные о кредитной карте. Каждое лицо может владеть несколькими кредитками. Так же мы добавим систему редактирования лиц и кредиток.

Ниже приведены скриншоты из будущего приложения:


Читать дальше →

http://habrahabr.ru/post/249073/


Метки:  

[Перевод] Boost.DI: внедрение зависимости в С++

Среда, 28 Января 2015 г. 11:57 + в цитатник

«Не звони нам. Мы позвоним тебе сами.» — принцип Голливуда

Внедрение зависимости (Dependency Injection — DI) означает передачу (внедрение) одной или более зависимости какому-либо объекту (клиенту, компоненту) таким образом, что после внедрения эта зависимость становится частью состояния объекта. Это немного напоминает паттерн проектирования Стратегия, с той лишь разницей, что стратегия задаётся лишь однажды — в конструкторе. DI позволяет создавать более слабо-связанную архитектуру приложения, которая лучше поддаётся поддержке и тестированию.

Итак, ещё раз плюсы:
  • Уменьшает связность компонент (отделяет бизнес-логику от создания объекта)
  • Позволяет писать более поддерживаемый код (в одни и те же объекты мы легко можем внедрять разные зависимости)
  • Позволяет писать более тестируемый код (мы можем легче использовать стабы и моки)


Без внедрения зависимости С внедрением зависимости
class example {                         
public:  
    example()                           
        : logic_(new logic{})           
        , logger_(                      
            logger_factory::create()    
          )                             
    { }  
         
    int run() const;                    
         
private: 
    shared_ptr logic_;          
    shared_ptr logger_;        
};                             

 class example {
 public:
     example(shared_ptr logic
           , shared_ptr logger)
       : logic_(logic), logger_(logger)
     { }

     int run() const;

 private:
     shared_ptr logic_;
     shared_ptr logger_;
 };


Читать дальше →

http://habrahabr.ru/post/248879/


Метки:  

Городские легенды о медленных вызовах виртуальных функций

Среда, 28 Января 2015 г. 11:52 + в цитатник

Традиционно компиляторы реализуют вызовы виртуальных функций через двойную косвенную адресацию — если класс содержит хотя бы одну виртуальную функцию, то в начале каждого объекта этого класса хранится адрес таблицы виртуальных функций. Если компилятор не знает конкретный тип объекта, на который указывает указатель, то для вызова виртуальной функции нужно сначала взять указатель на объект, прочитать адрес начала таблицы, затем по номеру метода прочитать адрес, где хранится реализация функции, затем вызвать функцию.

Процесс поиска конкретной функции по указателю на объект называется поздним связыванием и выполняется во время работы программы. Позднее связывание не только увеличивает накладные расходы на вызов, но и препятствует оптимизации кода компилятором. Из-за этого сами виртуальные функции принято считать замедляющими работу.

В тексте выше ключевое слово «если». Что, если компилятор знает, какую функцию на самом деле надо вызывать?
Читать дальше →

http://habrahabr.ru/post/248429/


Метки:  

[recovery mode] Ансамбль синапсов – структурная единица нейронной сети

Среда, 28 Января 2015 г. 00:22 + в цитатник



В мае прошлого года сотрудники лаборатории глубокого обучения Гугла и учёные из двух американских университетов опубликовали исследование «Intriguing properties of neural networks». Статья о нём вольно пересказывалась здесь на Хабре, и само исследование также критиковалось специалистом из ABBYY.

Гугловцы в результате своих исследований разочаровались в способностях нейронов сети распутывать признаки входных данных и стали склоняться к мысли, что нейронные сети не распутывают синтаксически значимые признаки по отдельным структурным элементам, а хранят их во всей сети в целом как в голограмме. В нижней части иллюстрации к этой статье чёрно-белыми я привёл карты активации 29, 31 и 33-его нейронов сети, которую обучил рисовать картинку. То, что тушка птицы без головы и крыльев, изображаемая для примера 29-ым нейроном, покажется людям синтаксически значимым признаком гугловцы считают всего лишь ошибкой интерпретации наблюдателя.

В статье я на реальном примере постараюсь показать, что и в искусственных нейронных сетях распутанные признаки можно обнаружить. Постараюсь объяснить, почему гугловцы увидели то, что они увидели, а распутанных признаков увидеть не смогли, и покажу, где в сети скрываются синтаксически значимые признаки. Статья является популярной версией доклада, прочитанного на конференции «Нейроинформатика — 2015» в январе этого года. Наукообразную версию статьи можно будет почитать в материалах конференции.
Очень-очень много трафика

http://habrahabr.ru/post/249031/


Метки:  

[Из песочницы] Xcode 6 Objective-C Modernization Tool

Вторник, 27 Января 2015 г. 23:52 + в цитатник

Уже довольно давно в Xсode есть возможность проверить свой код на соответствие современным особенностям Objective-C (Edit > Refactor > Convert to Modern Objective-C Syntax…). Мне всегда было интересно наблюдать за тем, что Apple продвигает в качестве хорошей практики; и даже если вы не доверяете Xcode автоматически изменять код, это простой способ проверить его на возможность внесения потенциальных улучшений.

Xcode 6 представляет несколько нововведений, а кроме того, гораздо большую гибкость, позволяя самостоятельно контролировать, какие преобразования запускать:



К сожалению, из описания преобразования не всегда очевидно, что оно делает. Некоторые полезные подробности можно прочитать в руководстве Adopting Modern Objective-C а также посмотреть на WWDC 2014 Session 417 What’s New in LLVM. Эта статья содержит мои заметки по каждому из преобразований.
Читать дальше →

http://habrahabr.ru/post/249029/


Метки:  

GHOST — уязвимость gethostbyname() в glibc

Вторник, 27 Января 2015 г. 21:12 + в цитатник

Специалисты Qualys сообщили о наличии уязвимости в gethostbyname() и gethostbyname2() в GNU
C Library (glibc), которая, как минимум в одном случае, способна привести к удаленному выполнению кода. Уязвимость позволяет перезаписать до 4 байт на 32-битных системах и до 8 байт на 64-битных системах в куче числами (0…9), точкой (.) и NULL-символом (0x00).

Уязвимость появилась в версии glibc-2.2 от 10 ноября 2000 года и была закрыта в версии 21 мая 2013 года с glibc-2.18, поэтому уязвимы только LTS-дистрибутивы Linux: Debian 7, Red Hat Enterprise Linux 6 и 7, CentOS 6 и 7, Ubuntu 12.04.

Уязвимым является код, который отвечает за получение hostname. Для перезаписи кучи, имя хоста должно удовлетворять следующим условиям:
  • Содержать в себе только цифры и точку
  • Первый символ должен быть цифрой
  • Последний символ не должен быть точкой
  • Быть достаточно длинным, чтобы переполнить буфер (>1КБ)
Читать дальше →

http://habrahabr.ru/post/249007/


Метки:  

Новые уязвимости Flash Player эксплуатируются in-the-wild

Вторник, 27 Января 2015 г. 20:05 + в цитатник

Компания Adobe выпустила очередное обновление APSB15-03 для своего проигрывателя Flash Player, которое исправляет в нем критическую 0day уязвимость. Уязвимость с идентификатором CVE-2015-0311 использовалась атакующими для проведения атак drive-by download, т. е. скрытной установки вредоносного ПО. Для этого использовался набор эксплойтов Angler Exploit Kit, который содержал в своем арсенале эксплойт для этой уязвимости. Антивирусные продукты ESET обнаруживают различные модификации этого эксплойта как SWF/Exploit.CVE-2015-0311.A.



Читать дальше →

http://habrahabr.ru/post/249001/


Метки:  

PostgreSQL vs MySQL

Вторник, 27 Января 2015 г. 18:21 + в цитатник



В преддверии своего доклада на конференции PGCONF.RUSSIA 2015 я поделюсь некоторыми наблюдениями о важных различиях между СУБД MySQL и PostgreSQL. Этот материал будет полезен всем тем, кого уже не устраивают возможности и особенности MySQL, а также тем, кто делает первые шаги в Postgres. Конечно, не стоит рассматривать этот пост как исчерпывающий список различий, но для принятия решения в пользу той или иной СУБД его будет вполне достаточно.
Читать дальше →

http://habrahabr.ru/post/248845/


Метки:  

How-to: Автоматизация бухгалтерских задач хостинг-провайдера

Вторник, 27 Января 2015 г. 17:11 + в цитатник

image

Мы уже рассказывали об архитектуре внешних систем, формирующих хостинг-инфраструктуру нашего проекта 1cloud, однако в этом материале не раскрыт важный для бизнеса вопрос организации процесса приема платежей и формирования отчетности. Сегодня мы восполним этот пробел. Читать дальше →

http://habrahabr.ru/post/248983/


Метки:  

Пишем расширения c Roslyn к 2015 студии (часть 2)

Вторник, 27 Января 2015 г. 16:45 + в цитатник

Эта статья является продолжением первой части о написании расширений к студии с Roslyn.

Тут я буду описывать что делать, если мы хотим сгенерировать/поменять какой-нибудь код. Для генерации кода мы будем статические методы класса SyntaxFactory. Некоторые методы требуют указать ключевое слово/тип выражения/тип токена, для этого есть перечисление — SyntaxKind, который содержит все это вместе.

Хорошо, давайте для примера сгенерируем код, содержащий число 10. Это делается просто.

SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(10))

Я не шутил, когда говорил, что чтобы создать код проще всего распарсить строку. Благо, SyntaxFactory предоставляет кучу методов для этого (ParseSyntaxTree, ParseToken, ParseName, ParseTypeName, ParseExpression, ParseStatement, ParseCompilationUnit, Parse*List).

Но это не путь настоящего самурая.
Давайте генерировать по пути самурая

http://habrahabr.ru/post/248913/


Метки:  

Интервальное повторение на LinguaLeo

Вторник, 27 Января 2015 г. 16:11 + в цитатник

image

Основная проблема при изучении иностранных языков — забывание материала, изученного ранее. Плохая новость в том, что какой бы хорошей ни была ваша память, вы все равно будете забывать.

Хорошая новость: для того, чтобы поддерживать словарный запас уровня Upper-intermediate (4000 слов) на протяжении 73 лет, достаточно уделить повторению всего лишь 29 часов. Если разделить это время на количество дней за 73 года, то получится 3 секунды в день. Цифры могут показаться нереалистичными, но в модели интервального повторения такое возможно.

В этой статье мы расскажем:
  1. О методе интервального повторения, который позволяет помнить слова при сокращении общего количества повторений до минимума;
  2. О специальной тренировке для интервального повторения, с которой можно повторить до 100 слов за три минуты.

Читать дальше →

http://habrahabr.ru/post/248975/


Метки:  

27 лет арктических льдов за одну минуту

Вторник, 27 Января 2015 г. 15:35 + в цитатник



Потрясающее видео на днях опубликовало NOAA Climate — или по-русски Национальное управление океанических и атмосферных исследований климата, на котором были совмещены данные об арктических льда, собранные на протяжении последних 27 лет — между 1987 и 2014 годом. Красочная визуализация позволяет оценить, как сезонно и из года в год меняется снежный и ледовый покров нашей северной «шапки», а также проследить влияние глобального потепления на возраст ледовых покровов.

Подробности

http://habrahabr.ru/post/248973/


Метки:  

[Из песочницы] Статический анализ PHP кода на примере Symfony2

Вторник, 27 Января 2015 г. 15:20 + в цитатник

Аннотация


О необходимости статического анализа в больших проектах уже писали не раз и, в основном, с фокусом на строго типизированные языки, например, здесь и здесь.

С PHP дело обстоит сложнее: уже писали про статический анализ PHP кода, но в целом инструментарий тут гораздо беднее, и динамическая природа языка делает процесс разработки-тестирования сложнее. Для сравнения, в той же Java компиляция проекта сама по себе помогает найти ошибки, а в PHP типизация слабая, поэтому даже тесты могут пропустить ошибки.
Читать дальше →

http://habrahabr.ru/post/248971/


Метки:  

Развитие KodiCMS

Вторник, 27 Января 2015 г. 15:10 + в цитатник

Всем привет. С момента написания последней статьи в системе произошло много изменений, о которых хотелось бы рассказать.

Приступим

http://habrahabr.ru/post/248937/


Метки:  

Vivaldi — в чём особенности нового браузера

Вторник, 27 Января 2015 г. 14:48 + в цитатник


Йон фон Течнер — один из соавторов старой Оперы, выпускает новый браузер Vivaldi.

Под катом описание, много картинок и ссылки на скачивание.
Читать дальше →

http://habrahabr.ru/post/248961/


Метки:  

Программная маршрутизация с VyOS

Вторник, 27 Января 2015 г. 14:33 + в цитатник

image

Стабильность и эффективность бизнес-процессов современной организации во многом зависит от бесперебойного функционирования ИТ-инфраструктуры. Содержание ИТ-инфраструктуры во многих случаях обходится дорого, в особенности для малых и средних компаний.

С целью оптимизации расходов многие организации прибегают сегодня к практике ИТ-аутсорсинга: вместо того, чтобы приобретать оборудование, компания арендует его в стороннем дата-центре, а для его обслуживания привлекает сторонних специалистов.
Чтобы эта практика была выгодной с организационной и с финансовой точки зрения, нужно тщательно продумать техническую сторону вопроса.

Планируя перенос части ИТ-инфраструктуры в сторонний дата-центр, следует решить, каким именно образом все информационные ресурсы организации будут объединены в единую сеть. Решения от ведущих производителей (Juniper, Cisco и других) зачастую стоят дорого; компаниям небольшого и среднего размера они могут оказаться не по карману. В этой связи вполне закономерным и объяснимым является возросший интерес к бесплатным продуктам с открытым исходным кодом, многие из которых по возможностям не уступают платным аналогам, а иногда даже превосходят их.

Важным элементом корпоративной сети является маршрутизатор — специализированное сетевое устройство, предназначенное для объединения сегментов сети и пересылки пакетов между ними. Маршрутизаторы бывают как аппаратные, так и программные. В случае, когда необходимо выстроить ИТ-инфраструктуру с минимальными расходами, использование программного маршрутизатора может оказаться вполне подходящим вариантом.

В этой статье мы расскажем о маршрутизаторе VyOS — интересном и перспективном продукте, к тому же распространяемым по свободной лицензии совершенно бесплатно, и покажем, как его можно использовать для решения практических задач.
Читать дальше →

http://habrahabr.ru/post/248907/


Метки:  

[Из песочницы] Паяльная станция своими руками на базе Arduino

Вторник, 27 Января 2015 г. 14:07 + в цитатник

Всем привет! Как-то я затронул тему паяльной станции на Arduino и сразу меня завалили вопросами (как/где/когда). Учитывая массовость запросов, я решил написать обзор простой паяльной станции (только паяльник) на базе Arduino.
Читать дальше →

http://habrahabr.ru/post/248959/


Метки:  

Aurelia — новый современный JS-фреймворк

Вторник, 27 Января 2015 г. 13:52 + в цитатник

Сегодня Rob Eisenberg представил свой JavaScript-фреймворк.

Несколько месяцев назад он покинул команду AngularJS, чтобы вернуться к своему собственному проекту, с которым можно начать работать прямо сейчас.
Читать дальше →

http://habrahabr.ru/post/248955/


Метки:  

Поиск сообщений в rss_habrahabr
Страницы: 149 ... 88 87 [86] 85 84 ..
.. 1 Календарь