Архив за 19 августа 2016 - 7

Национальное управление океанических и атмосферных исследований (англ. National Oceanic and Atmospheric Administration, NOAA) и Национальное управление по воздухоплаванию и исследованию космического пространства (англ. National Aeronautics and Space Administration, NASA) подтвердили, что июль 2016 года стал самым жарким месяцем в истории.

Июль 2016 года стал самым жарким месяцем в истории

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

В базе данных китайского агентства TENAA, занимающегося сертификацией оборудования связи, появились характеристики смартфонов Xiaomi Redmi 4 и Redmi Note 4, которые, по слухам, должны быть анонсированы в ходе пресс-конференции, запланированной на 25 августа.

Характеристики смартфонов Xiaomi Redmi 4 и Redmi Note 4 опубликованы в базе TENAA

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

Смартфон Ulefone Be Pure стал первым изделием этой компании, освещенным в нашем обзоре. В момент продаж эта модель относилась к доступному ценовому сегменту, на который приходится значительная часть усилий Ulefone, так что выход обновленной модели Be Pure Lite стал вполне закономерным событием.

Приветствую тебя, читатель Гиктаймс!

Многие слышали о такой загадочной штуке, как энтропия. Обычно её называют мерой хаоса, мерой неопределённости и ещё прибавляют, что она непременно растёт. Я с огромной болью переношу употребление имени Энтропии всуе и решил, наконец, написать ликбез по этому вопросу.
Читать полностью »

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

Безопасное использование языка Go в веб-программировании - 1
Читать полностью »

В этой статье хочу рассказать, как мы решили не типовую задачу на FreePBX. Под определением «не типовую» я имею в виду, что ее нельзя решить стандартными средствами, без дополнительных инструментов.

Предыстория

Есть группа сотрудников, которая занимается обзвоном клиентов. Дабы экономить на исходящих звонках, для разных направлений используются разные номера телефонов. Это спокойно решается с помощью шаблонов (масок) номеров в Outbound Routes. Но часть направлений, например, звонки на мобильные, остается платным. Чтобы в конце месяца счет компании за телефонные услуги не перевалил XXX$, необходимо жестко контролировать и, при необходимости, ограничивать соответствующие направления звонков.

Задача

Установить индивидуальный дневной лимит для группы менедежеров. Запретить исходящие звонки на определенные направления при исчерпании лимита. При достижении пороговых значение: >50%, >90% и >100% отправлять соответствующее уведомление на email сотрудника. Если сотрудник в течении дня полностью не исчерпал свой дневной лимит, остаток должен перейти на следующий день.
Читать полностью »

О смартфоне Moto Z Play мы уже знаем почти всё. Он сохранит внешность старших моделей, также будет поддерживать модули MotoMods, но получит среднебюджетные параметры и будет выделяться наличием аудиоразъёма 3,5 мм.

Moto Z Play получит меньший экран, чем старшие собратья

В прошлом месяце компания Corning представила защитное стекло Gorilla Glass 5. Как и в случае прошлого поколения, без лишнего шума Samsung первой использовала стекло нового поколения для своего флагманского смартфона. Несложно догадаться, что речь о Galaxy Note7.

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

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

Используем модули, чтобы указать, как должны создаваться объекты

В предыдущей статье из этой серии мы рассмотрели, как Dagger 2 избавляет нас от рутины написания инициализирующего кода путем внедрения зависимостей.

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

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

В сегодняшней статье мы увидим, как предоставить Dagger'у дополнительные инструкции по созданию объектов посредством модулей (module). Модули взаимозаменяемы и могут быть использованы и в других проектах. Плюс они могут принимать аргументы в рантайме, что делает их еще более гибкими.
Читать полностью »


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