Архив за 22 августа 2017

Winamp, который мы потеряли: что случилось с некогда самым популярным музыкальным плеером - 1

Наверное, многие читатели GT помнят о Winamp — он в свое время стоял практически на каждом ПК. Простота в использовании, наличие плагинов, включая графические, качество воспроизведения звука — все это привело к тому, что Winamp стал одним из наиболее популярных плееров, если не самым популярным.

Его история началась в 1997 году, когда американец Джастин Франкель представил альфа-версию своего проекта — WinAMP 0.20a. Но уже через 18 месяцев после выхода программы ее скачало 15 миллионов человек. Это, безусловно, был успех.
Читать полностью »

Так вышло, что в данный момент я принимаю участие в разработке фронт-энд приложения (React + Redux), делающего множество запросов к REST API каждую минуту, если не секунду.

Мне надоело на каждый запрос писать REQUEST/FAILURE/SUCCESS (далее RFS) экшны, к ним кейсы для редьюсера, всё это обильно поливать тестами (ведь качество превыше всего).

Я написал очередной велосипед.

Велосипед с реактивным двигателем

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

Нейроаутентификация: введение в биометрическую аутентификацию - 1

Привет. Решил написать о применении нейронных сетей в совсем не традиционной для них сфере: аутентификация. Это лежит вне задач машинного обучения, и то от чего в ML пытаются избавиться — тут поощряется.

Минимум теории — максимум практики.

Заинтересовался? Тогда добро пожаловать под кат.
Читать полностью »

Room — это новый способ сохранить данные приложений в Android-приложении, представленный в этом году на Google I/O. Это часть новойAndroid Architecture, группа библиотек от Google, которые поддерживают уместную архитектуру приложений. Room предлагается в качестве альтернативной альтернативы Realm, ORMLite, GreenDao и многим другим.

Room — это высокоуровневый интерфейс для низкоуровневых привязок SQLite, встроенных в Android, о которых вы можете узнать больше в документации. Он выполняет большую часть своей работы во время компиляции, создавая API-интерфейс поверх встроенного SQLite API, поэтому вам не нужно работать с Cursor или ContentResolver.

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

Сегодня мы расскажем о новой поисковой технологии «Королев», которая включает в себя не только более глубокое применение нейронных сетей для поиска по смыслу, а не по словам, но и значительные изменения в архитектуре самого индекса.

Как Яндекс научил искусственный интеллект понимать смысл документов - 1

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

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

Управление памятью в Python - 1

Одна из главных проблем при написании крупных (относительно) программ на Python — минимизация потребления памяти. Однако управлять памятью здесь легко — если вас вообще это волнует. Память в Python выделяется прозрачно, управление объектами происходит с помощью системы счётчиков ссылок (reference count), и память высвобождается, когда счётчик падает до нуля. В теории всё прекрасно. А на практике вам нужно знать несколько вещей об управлении памятью в Python, чтобы ваши программы эффективно её использовали. Первая вещь, надо хорошо в ней разбираться: размеры основных объектов в Python. И вторая вещь: как устроено управление «под капотом» языка.

Начнём с размеров объектов. В Python есть много примитивных типов данных: целые числа (int), long (версия int с неограниченной точностью), числа с плавающей запятой (они же числа с двойной точностью, double), кортежи (tuple), строковые значения, списки, словари и классы.

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

Что такое модули

В MODX EVO представлены следующие типы ресурсов шаблоны, чанки, сниппеты, плагины и модули. Если вы работаете в системе то точно знаете за что отвечают первые три, но возможно лично никогда не работали с последними. Плагины — это интегрированный в MODX код который позволяет изменять механики взаимодействия с админ-интерфейсом, с помощью плагинов вы можете изменить способ отображения данных для редактирования любых ресурсов и задать какие и на каких этапах взаимодействия стоит совершать. Проще говоря с помощью плагинов вы вешаете свои обработчики.

Но в этой статье я хочу рассказать немного о другом, о модулях. Эту статью я пишу по той причине того что в интернете очень мало информации на эту тему, в русском сегменте такой я вообще не нашел.

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

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

Прежде чем прочесть публикацию, остановитесь и задумайтесь на секунду. Насколько вы удовлетворены своей повседневной жизнью? С чем это связано?

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

Кто виноват?

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

Почему вы делаете, то что делаете?

Большинство сотрудников мотивированы не только деньгами. Чувствовать личный вклад в общее дело (в стратегию компании, в индустрию или в общество) очень важно для каждого.

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

У вас есть уникальная возможность и причина для работы. Осознание своей вклада может сделать вас более целеустремленным и связанным с вашей работой.

Помните свои цели и задачи

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

Привет! Предлагаю вашему вниманию свободный перевод статьи «Schedule tasks and jobs intelligently in Android» от Ankit Sinhal.

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

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

Крупнейшие новостные телеканалы CNN и NBC начали производить контент специально для Snapchat. CNN запустила ежедневное шоу The Update посвященное новостям продолжительностью 3−5 минут.

CNN, которая первой в мире запустила формат 24-часового вещания новостей, плотно сотрудничает со Snap с начала 2015 года. Изначально ее выпуски были скорее похожи на новостной дайджест, изложенный понятным языком. Сейчас речь идет именно о новостном выпускеЧитать полностью »