Социальные сети Рунета
Пятница, 19 апреля 2024

GPS-локатор с радионяней и рацией от GeoLoc: вся семья под присмотром Мы часто волнуемся за родных — особенно за детей-школьников или пожилых родителей. Дошёл ли ребёнок до школы, а бабушка — до поликлиники? Не попал ли сын-подросток в плохую компанию? Сохранить нервы поможет [...]

[Из песочницы] Паттерны проектирования в Cocos2d-x Привет, Хабр! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk. Статья будет интересна для разработчиков Cocos2d-x и тех, кто изучает паттерны. Она выполнена в форме краткого конспекта, в котором можно быстро посмотреть где при...

Селекторы CSS и их применение в автоматизации тестирования Программного Обеспечения Всем добра! Данную тему мы уже раскрывали на вебинаре, который проводил наш преподаватель, но решили дополнить чуть текстом (да и многим, как оказалось, так удобнее). В общем представляем статью на тему «Селекторы CSS», которую Павел Попов прорабатывал в рамках нашего курса...

Развязываем игровой код с помощью паттерна Command, и дебажим, летая на машине времени Привет! Я пишу статьи, посвященные архитектуре в игровой разработке. В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как сделать мой любимый трюк — машина времени для отладки изменений гейм стейта. Эта...

Нагрузочное тестирование «не-HTTP». Ч.2 Gatling В первой части статьи мы провели сравнительный анализ средств нагрузки на Java для JMeter, ушли от XML тест-планов и достигли 30K RPS с одной машины, нагружая «не-HTTP» сервис на примере Apache Thrift. В этой статье рассмотрим еще один инструмент для нагрузочного тестирова...

Документирование API — документация из тестов Пост в продолжение темы экспериментальных решений (https://habrahabr.ru/post/350382/), откуда будет переиспользован код для примера. В прошлом посте я затронул тему, как можно написать тесты на простой сервис, когда он выступает в роли черного ящика и из кода теста у нас нет...

Юнит тесты при использовании корутин в Android приложении Перевод статьи. Оригинал находиться здесь. В этой статье не рассматривается принцип работы корутин. Если вы не знакомы с ними, то рекомендуем прочитать введение в kotlinx git repo. Статья описывает трудности при написании юнит тестов для кода, использующего корутины. В конц...

Основы разработки под Microsoft Exchange Server На форуме TechNet Microsoft каждый день появляются новые вопросы, касающиеся разработки для Exchange\Exchange Online. Актуальными на сегодняшний день являются два метода разработки: с использованием веб-сервисов (EWS Exchange и другие) и без их использования. В этой статье р...

tdlib-ruby: как сделать Telegram-клиент на Ruby Одна из особенностей мессенджера Telegram — широкие возможности API (Bot API и Telegram API). Команда Telegram пошла ещё дальше и выпустила библиотеку TDLib (Telegram Database Library), позволяющую разрабатывать альтернативные клиенты Telegram и не задумываться о низкоуровн...

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

[Из песочницы] Java 8 и паттерн Стратегия Потенциально возможное продолжение книги Паттерны проектирования (Элизабет Фримен и другие). На дворе 2017 год. В компанию, где работает старший разработчик Джо, пришел на стажировку молодой студент Мартин. Он целый год скрупулезно изучал Java по современному учебнику с акц...

[Перевод] Медиа-запросы в адаптивном дизайне 2018 В июле 2010 года я написала статью «Как использовать CSS3 медиа-запросы для создания мобильной версии вашего сайта» для журнала Smashing. Спустя почти восемь лет эта статья по-прежнему очень популярна. Я решила вернуться к этой теме, поскольку теперь у нас есть такие метод...

[Перевод] Как работает JS: сервис-воркеры Перед вами перевод восьмой части серии материалов об особенностях работы различных механизмов JavaScript. Сегодняшняя статья посвящена сервис-воркерам. Здесь мы рассмотрим их особенности, поговорим об их жизненном цикле, об их поддержке в браузерах, и о сценариях их использо...

[Из песочницы] Почему Ramda? Пост содержит перевод статьи «Why Ramda?», которую подготовил один из контрибьютеров Скот Сайет. Статья была опубликована 10 Июня 2014 года на сайте и рассказывает о том почему стоит обратить своё внимание на библиотеку Ramda и функциональное программирование в целом. Примеч...

Тернарные операторы и логическое “И” в React.js Всем привет! Вы читаете перевод статьи Donavon West “Conditional Rendering in React using Ternaries and Logical AND” Существуют несколько способов заставить React рендерить то, что вам нужно. Вы можете использовать традиционный оператор if или switch. В этой статье мы рас...

Тестирование API сервисов и RSpec Иногда бывает необходимость написать небольшой АПИ сервис, часто в виде прототипа. И часто этот прототип потом так и остаётся в первоначально написанном виде следуя принципу «работает — не трогай». Переписывание даже относительно маленького сервиса сопряжено с возможностью...

Как переехать с BuddyBuild на GitLab CI за 4 часа Предыстория Полтора года назад команда iOS FunCorp переехала на новый сервис для простой организации CI в iOS и Android-проектах. До этого мы использовали CI на Bamboo, но с ним было много проблем, поэтому мы совсем отказались от него и перешли на BuddyBuild. Он работал ...

[Из песочницы] Управляем браузером с помощью PHP и Selenium Интро Всем привет! Сегодня я расскажу вам о том, как с помощью PHP можно работать с Selenium. Чаще всего это бывает необходимо, когда перед вами стоит задача написать автотесты для web интерфейса или свой парсер/краулер. С Википедии«Selenium — это инструмент для автоматиза...

Анатомия .NET Core: как мы настроили NTLM под Linux Мы продолжаем рассказывать про миграцию мобильного сервиса в ASP.NET Core и Docker. В этой статье будет идти речь про модуль WCF-клиента, упомянутый в предыдущей статье, NTLM-авторизацию и другие проблемы при его миграции. Сейчас расскажем, почему нам пришлось немного изучит...

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

Паттерны внедрения зависимостей. Часть 1 Давайте разберемся с внедрением зависимостей в .Net, так как данная тема является одним из обязательных к изучению для написания качественного, гибкого к изменениям и тестируемого кода. Начнем мы с самих необходимых и базовых паттернов внедрения зависимостей — внедрение чере...

Git: советы новичкам – часть 3 В финальной части нашей серии статей о работе с Git мы продолжим разговор о ветках, рассмотрим особенности работы с командой push и расскажем, что такое rebase. Первую и вторую статьи серии мы можете прочитать по ссылкам. Читать дальше →

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

[Из песочницы] Почему не стоит использовать LocalStorage Привет, Хабр! Представляю вашему вниманию перевод статьи "Please Stop Using Local Storage" автора Randall Degges. Все больше разработчиков используют localStorage для хранения данных, в том числе и конфиденциальных, даже не подозревая, что тем самым подвергают свои сайты взл...

[Перевод] Перевод книги «Социальная архитектура»: Глава 5. Дизайн, разработка, инновации «Размер и разнообразие сообщества является ключевым фактором.» Давайте рассмотрим инновации, которые Википедия определяет как «развитие новых ценностей посредством решений, которые отвечают новым требованиям, не явным потребностям или потребностям старых клиентов или рынков ...

[Перевод] Человек, который с Quantum «на ты» Что такое квантовый компьютер? Сложный, но посильный вопрос. А как он работает и для чего нужен? Вот тут уже сложнее. Наша команда Microsoft Research в рамках проекта Quantum (QuArC) занимается разработкой квантового будущего. И у них получается. В этой статье вы найдете инт...

JavaScript, Java, какая теперь разница? На прошлом JPoint пообещал написать статью про использование GraalVM для смешивания Java и JS. Вот она. В чем проблема? В повседневной практике часто встречаются приложения, состоящие из двух частей: JavaScript-фронтенд и Java-бэкенд. Организация интеропа между ними требу...

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

[Из песочницы] Можно ли использовать CQRS паттерн в GO? Паттерн (CQRS — Command and Query Responsibility Segregation) разделяющей в своей основе команды по чтению данных от команд по их модификации или добавлению по средствам различных интерфейсов. Это позволяет достичь максимальную производительность, масштабируемость и безопасн...

Объект в футляре или Optional в Java 8 и Java 9: Часть 5: Недосказанное и постер в подарок Это пятая и последняя статья серии, посвящённая использованию класса Optional при обработке объектов с динамической структурой. В первой статье было рассказано о способах избежания NullPointerException в ситуациях, когда вы не можете или не хотите использовать Optional. Вт...

[Из песочницы] Angular 5: Unit тесты С помощью unit тестов мы можем удостовериться, что отдельные части приложения работают именно так, как мы от них ожидаем. Это в некоторой степени спасает от поломок существующий код, помогает прояснить — как он будет работать в тех или иных случаях. И, в конце концов, позв...

[Перевод] Элегантные паттерны современного JavaScript: Ice Factory Предлагаем вашему вниманию перевод очередного материала Билла Соро, который посвящён шаблонам проектирования в JavaScript. В прошлый раз мы рассказывали о паттерне RORO, а сегодня нашей темой будет шаблон Ice Factory. Если в двух словах, то этот шаблон представляет собой фун...

Применение паттерна observer в Redux и Mobx Паттерн "observer" известен наверное с момента появления самого ооп. Упрощенно можно представить что есть объект который хранит список слушателей и имеет метод "добавить", "удалить" и "оповестить", а внешний код либо подписывается либо оповещает подписчиков class Observable...

Обнаружение атак на Active Directory с помощью Azure В следующем году будет 20 лет с момента создания службы каталогов Active Directory. За это время служба обросла функционалом, протоколами, различными клиентами. Но необходимость поддерживать совместимость с рядом устаревших клиентов вынуждает иметь настройки по-умолчанию, ор...

[Перевод] Элегантные паттерны современного JavaScript: RORO Автор материала, перевод которого мы публикуем сегодня, Билл Соро, говорит, что написал первые строки кода на JavaScript вскоре после появления этого языка. По его словам, если тогда ему сказали бы, что однажды он выпустит серию статей об элегантных шаблонах проектирования в...

[Из песочницы] RxJS: Не отписывайся Привет, Хабр! Представляю вашему вниманию перевод статьи "RxJS: Don’t Unsubscribe" автора Ben Lesh. Ну… ладно, просто не отказывайся от подписок. Я часто помогаю кому-нибудь в отладке проблем с их RxJS кодом, в том числе со структурированием приложений, которые н...

Обзор инструментов для создания аудиторий в мобильном ретаргетинге Эффективность любой ретаргетинговой кампании во многом зависит от правильного сегментирования аудитории. Выделение сегментов и тщательная обработка данных о пользователях — дает возможность отдельно работать с каждым из них. Это уникально, ведь каждый пользователь видит перс...

[Из песочницы] Bitcoin и Ethereum: что происходит на узлах, которые не занимаются добычей, и что с ними будет дальше? Введение В последнее время довольно часто говорят о перспективах блокчейн систем, о том, что в будущем блокчейн заменит классические платёжные системы, такие как, например, Visa или Mastercard, а затем, возможно, коренным образом изменит и юриспруденцию благодаря возможност...

[Из песочницы] Почему игровые серверы и чат должны существовать раздельно Привет, Хабр! Представляю вашем вниманию перевод статьи "Why you should run your game servers independently from your chat" Joe Hanson. Разработчики многопользовательских игр часто сталкиваются с дилеммой: Использовать уже существующие игровые серверы (на которых, непоср...

Анонс Serverless Moscow Meetup #1 Всем привет! Первый митап в России по технологии Serverless пройдет 1-ого марта в Rambler&Co. Мы поговорим о том, что такое Serverless и почему появился этот подход, а также рассмотрим два практических кейса: построение аналитической системы для мобильного приложения и ...

Resolve IP адресов в Linux: понятное и детальное описание Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным п...

Особенности национальной охоты на баги или Bug Bounty по славянски Почему крупнейший мобильный оператор платит за critical bug 3-мя месяцами бесплатного интернета, гос. авиа компания считает паспортные данные и дату рождения не конфиденциальной информацией, а служба доставки №1 в стране по скриншотам отрицает утечку данных? А тем времене...

Книга «Head First. Паттерны проектирования. Обновленное юбилейное издание» В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проекти...

Масштабирование Selenium Представьте, что у вас есть всего один тест с использованием Selenium. Что может сделать его нестабильным? Как его ускорить? Теперь представьте, что тестов стало два. Теперь представьте сотню. Как заставить быстро отработать такую кучу тестов? Что произойдет, если количество...

Изучаем и реализуем алгоритм работы правильного observer паттерна для react компонентов Итак продолжаем развивать observer-паттерн. В предыдущей статье от старого и очень простого паттерна "observer" маленькими шагами мы пришли к mobx и написали его мини-версию. В этой статье мы напишем полноценную версию mobx которая реализует алгоритм обновления зависимостей...

Generative adversarial networks В прошлой статье мы рассмотрели простейшую линейную генеративную модель PPCA. Вторая генеративная модель, которую мы рассмотрим — Generative Adversarial Networks, сокращенно GAN. В этой статье мы рассмотрим самую базовую версию этой модели, оставив продвинутые версии и сравн...

Как доказать важность тестов каждому участнику проекта Представьте, вы за два дня полностью реализовали новую фичу. Код написан, он работает и все классно. Ваш менеджер говорит, что можно сразу в релиз. «А как же тесты?» — воскликнет какой-нибудь дотошный коллега. «А зачем?» — ответите вы в один голос с менеджером. Зачем нам пис...

[Из песочницы] Совершенствуем Redux Привет, Хабр! Представляю вашему вниманию перевод статьи "Redesigning Redux" автора Shawn McKay. Должно ли управление состоянием вызывать проблемы на сегодняшний день? Интуитивно, разработчики видят скрытую правду: управление состоянием куда сложнее, чем должно бы...

Нативная инверсия зависимостей в TypeScript и React Когда я задумался о внедрении зависимостей в TypeScript, то первое, что мне посоветовали — inversify. Я посмотрел эту и другие библиотеки, реализующие паттерн Service Locator, и даже сделал свою собственную — typedin. Но когда я работал над версией typedin 2.0, то в конце к...

Почему я не люблю DevOps (и современное ПО) Предисловие Данная статья очень субъективна и основана на моём опыте в ИТ-индустрии (Я разработчик с 10-и летним стажем и опытом работы в различных проектах, командах и странах (Казахстан, Канада)). Уверен, что многие не поддержат мою точку зрения и могут назвать эту статью ...

Задействовать для простых тестов наследование, полиморфизм и шаблоны? Почему бы и нет… Язык C++ сложен. Но его сложность проистекает из сложности задач, которые решаются с помощью C++. Каждая фича, которая была добавлена в C++, была добавлена не просто так, а для того, чтобы дать возможность справиться к какой-то проблемой. Ну а уж сочетание существующих в C++...

Wi-Fi в законе В соответствии с законодательством РФ, с 2014 года все общественные точки доступа Wi-Fi обязаны идентифицировать пользователей. Под действие закона попадают владельцы публичных сетей доступа в интернет, такие как рестораны и кафе, торговые центры, отели, автосалоны и прочие...

«Computer, how is my build doing?» и другие волшебные заклинания Барух Садогурский рассказывает, как с помощью сервиса голосовых команд Alexa можно добавить голосовой интерфейс к совершенно неожиданным вещам, таким как IntelliJ IDEA и Jenkins, а также, откинувшись в кресле с бокалом любимого напитка, управлять всем, чем угодно. В основе...

Вице-президент Samsung, руководивший разработкой сервисов Bixby, Knox и Pay, перешёл работать в Google В конце прошлого года компанию Samsung покинул далеко не рядовой сотрудник – вице-президент и главный инженер мобильного подразделения Samsung Ли Инджун, в прошлом руководивших командами разработчиков системы безопасности Samsung Knox, сервиса мобильных платежей Samsung Pay ...

Глобальное освещение с использованием трассировки вокселей конусами В этой статье я расскажу о реализации одного из алгоритмов расчёта глобального (переотражённого / ambient) освещения, применяемого в некоторых играх и других продуктах, — Voxel Cone Tracing (VCT). Возможно, кто-то читал старенькую статью ([VCT]) 2011 года или смотрел видео. ...

UE4 и мобильная разработка: мифы и реальность Широко распространено мнение, что Unreal Engine 4 — слишком «тяжелая» технология для мобильных игр. В то же время число проектов, выпущенных на этом движке в мобильных сторах, растёт с каждым днём. Почему все больше разработчиков выбирают для своих проектов UE4? С какими сл...

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

Мессенджеры, пора делать следующий шаг В последние пару лет, мессенджеры изменили привычный ход потребления контента, whatsapp, telegram, viber, простите. Теперь весь контент сосредоточен в них, аудитория растет дикими темпами, они многое изменили, но самое главное — им еще предстоит — способ доставки контента,...

[Перевод] Иллюстрированное руководство по устройству сети в Kubernetes Прим. перев.: Автор статьи — Amanpreet Singh — называет себя «всё ещё начинающим в мире сетей», однако именно это и побудило его разобраться в их базовом устройстве в Kubernetes (который он использует в production), а затем — поделиться с сообществом очень доступным материал...

[Перевод] Dependency injection От переводчика Представляемый вашему вниманию перевод открывает серию статей от Jakob Jenkov, посвященных внедрению зависимостей, или DI. Примечательна серия тем, что в ней автор, анализируя понятия и практическое применение таких понятий как «зависимость», «внедрение зависи...

WhiteList vs BlackList: как реализовать проверку расширений файлов и не стать жертвой хакеров Нередко, во время анализа защищенности веб-приложений мы сталкиваемся с загрузкой каких-либо файлов на сервер – это могут быть и фотографии учетной записи, и какие-то текстовые документы, и что угодно другое. Существуют расширения файлов, с которыми многие работали и знают...

«Календарь тестировщика». Разбери бэклог В Контуре работают 100 тестировщиков. В конце прошлого года они придумали «Календарь тестировщика» — цикл из 12 ежемесячных статей с практиками, секретами и лайфхаками о тестировании. Первая статья была опубликована в январе на сайте «Сообщества тестировщиков Екатеринбурга»...

[Из песочницы] JNI: Подружим Java и C++ Введение Бывают моменты, когда в Java некоторые действия выполняются за пределами обычных Java-классов. Например, необходимо исполнить код, написанный на C/C++ или другом каком-нибудь языке. В данной статье рассмотрим данный вопрос с практической точки зрения, а именно напи...

Кто есть кто в команде разработки и стоит ли программисту работать на аутсорсе — Oh, my code Несколько месяцев назад мы запустили серию интервью Oh, My Code на образовательном канале Технострим. И сегодня хотим поделиться интервью с одним из наших гостей. Как из космоса попасть в мобильную разработку, кто есть кто в команде разработки и стоит ли программисту работат...

[Из песочницы] Ученье — свет, или как организовать мастер-класс за 2 дня Обучение новых пользователей и разработчиков служит одним из основных инструментов популяризации своего продукта или технологии. Наша компания несколько месяцев назад начала приоткрывать «завесу» над своей технологией и привлекать новых разработчиков к платформе, на которо...

Обзорная лекция и запуск 2-й части курса по разработке веб-сервисов на Go У нас две хорошие новости. На Coursera мы запустили 2-ю часть онлайн-курса по разработке веб-сервисов на Go. А 2-го марта в офисе проведем обзорную лекцию, на которой расскажем, почему вам стоит попробовать Go. Под катом подробности. Читать дальше →

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

[Перевод] Почему наследование всегда было бессмысленным Есть три типа наследования. Онтологическое наследование указывает на специализацию: вот эта штука — специфическая разновидность той штуки (футбольный мяч — это сфера и у неё такой-то радиус). Наследование абстрактного типа данных указывает на замещение: у этой штуки такие ...

Три аспекта оптимизации (БД и ПО) Предисловие Довольно часто пользователи, разработчики, администраторы и т д СУБД MS SQL Server встречаются с проблемами производительности БД или СУБД в целом. В данной статье будут даны общие рекомендации по настройке оптимизации как БД, так и всей СУБД в целом. Также буду...

[Перевод] Использование ReSwift: написание приложения Memory Game Примечание. В этой статье используются Xcode 8 и Swift 3. По мере того, как размеры iOS приложений продолжают увеличиваться, паттерн MVC постепенно теряет свою роль как «подходящего» архитектурного решения. Для iOS разработчиков доступны более эффективные архитектурные п...

[Из песочницы] Как ZFS хранит данные Zfs является достаточно популярной файловой системой для долговременного хранения данных. Кроме того она обеспечивает целостность записанных данных, сохраняя вместе с данными и их контрольные суммы. Механизм контрольных сумм позволяет выявить, и при наличии избыточности восс...

Релиз PVS-Studio для macOS: 64 weaknesses в XNU Kernel Новая версия PVS-Studio 6.23 работает под управлением macOS и позволяет проверять проекты, написанные на языке C и C++. К этому событию наша команда решила приурочить проверку XNU Kernel. PVS-Studio для macOS С выходом версии анализатора для macOS, PVS-Studio можно смело на...

[Из песочницы] NRF51822: дружим BLE и RTOS Современные тенденции в технике идут по пути все большей интеграции – прогресс позволяет делать процесс разработки электронных устройств все больше похожим на сборку конструктора. Одним из наиболее ярких примеров является огромное количество так называемых «систем на чипе»...

Как защитить свои данные: пройдите IT-тест и узнайте, что вы делаете не так Команда образовательного проекта «Кислород» разработала интерактивный тест на проверку знаний в области IT-безопасности. Во время прохождения пользователь узнает об уязвимости социальных сетей, как защитить смартфон, компьютер и безопасно работать в Интернете. Первым ша...

[Перевод] Введение в квантовые вычисления Привет, Хабр! Совсем недавно мы рассказывали вам о квантовых вычислениях и языке Q#. Сегодня же мы уйдем в теорию еще глубже и рассмотрим историю квантовых вычислений. Кроме того, в этой статье вы найдете 5 требований к квантовому компьютеру. Какими свойствами должна обладат...

Мобильное приложение на Python c kivy/buildozer. Лекция в Яндексе Не факт, что вам потребуется написать серьёзное приложение на Python. А вот быстро собрать работающий сервис, чтобы «продать» его заказчику, — почему нет? Python универсален, и опыт создания мобильного софта на этом языке может оказаться полезным. Владислав Шашков из Сбербан...

[Из песочницы] Как быстро написать и выкатить в продакшн алгоритм машинного обучения Сейчас анализ данных все шире используется в самых разных, зачастую далеких от ИТ, областях и задачи, стоящие перед специалистом на ранних этапах проекта радикально отличаются от тех, с которыми сталкиваются крупные компании с развитыми отделами аналитики. В этой статье я ра...

Keys in React. Готовим правильно Сегодня поговорим об атрибуте key в React. Часто разработчики, которые только начинают использовать React, не придают большого значения атрибуту key. А зря… Что говорит уточка, когда узнала, что ты не используешь key Чтобы представить работу ключей полностью и с различными ...

Pre-sale инженер — личный психолог сейла или человек на границе денег и техники Одной из довольно интересных вакансий на рынке труда в сфере IT является должность pre-sale инженера (к сожалению часто пишут pre-sale менеджера). И очень часто по отношению к данной профессии можно услышать вопрос: «Что входит в круг обязанностей данного специалиста?». Да...

[recovery mode] Концепции автоматического тестирования Здравствуйте, меня зовут Дмитрий Карловский и у меня, к сожалению, нет времени писать большую статью, но очень хочется поделиться некоторыми идеями. Поэтому позвольте потестировать на вас небольшую заметку о программировании. Речь сегодня пойдёт об автоматическом тестировани...

Карьера программиста В статье я описываю свое мнение о приоритетах при выборе работодателя для программистов. Главным фактором я указал размер зарплаты, обосновывая это тем, что так остается больше времени на жизнь. Далее, привожу свои доводы, почему не стоит увлекаться переработкой. Продолжаю с...

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

[Перевод] Защита целостности кода с помощью PGP. Часть 1. Базовые концепции и инструменты Если вы пишете код, который попадает в общедоступные репозитории, вам может пригодиться PGP. В этой серии статей, перевод первой из которых мы публикуем сегодня, будут рассмотрены вопросы использования PGP для обеспечения целостности кода программного обеспечения. Эти матери...

[Из песочницы] Почему ранний возврат из функций так важен? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why should you return early?» автора Szymon Krajewski В начале моего приключения в роли программиста мой код зачастую напоминал вермишель. В любых условных выражениях я только и делал, что сразу переходил к описани...

Модульное тестирование интерфейсов в Headless Chrome. Лекция Яндекса Чтобы непрерывно улучшать большие клиентские интерфейсы, нужна мощная система автотестов. Разработчик Яндекса Дмитрий Андриянов dima117 кое-что про это знает — пару месяцев назад он поделился своим опытом на Я.Субботнике в Нижнем Новгороде. — Сегодня я расскажу, как мы в ...

Наш путь ресайза изображений В интернете достаточно статей и проектов для ресайза изображений. Почему же нужна еще одна? В этой статье я расскажу почему нас не удовлетворили текущие решения и пришлось пилить собственное. Читать дальше →

[Из песочницы] ViyaDB: аналитическая база данных для несортированных данных Примерно год назад, мне довелось работать в одной компании, где я натолкнулся на интересную проблему. Представим себе массивный поток данных об использовании мобильных приложений (десятки миллиардов событий в день), который содержит в себе такую интересную информацию, как да...

[Перевод] Реактивные приложения с Model-View-Intent. Часть 3: State Reducer В предыдущей части мы обсудили, как реализовать простой экран с паттерном Model-View-Intent, использующим однонаправленный поток данных. В третьей части мы построим более сложный экран с MVI с помощью State Reducer. Читать дальше →

[Из песочницы] Как сдать тест MTCNA (Mikrotik) на 100% Эта статья будет полезна тем, кто впервые собрался получать сертификат от Mikrotik, но боятся «неизведанно» и профукать деньги. Я вчера (14-04-2018) сдал тест на MTCNA на 100% и поделюсь с Вами как я достиг этого. Читать дальше →

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

[Из песочницы] ECO Flow в Vivado или работа в режиме редактирования нетлиста Аннотация В статье рассмотрен режим работы Vivado, позволяющий вносить изменения в проект на уровне редактирования списка соединений (в дальнейшем – нетлиста). Описаны как сам режим ECO, так и некоторые нюансы, которые появляются во время работы в нём. Приведён демонстрацион...

Почему не нужно всегда получать согласие на обработку персональных данных в рамках GDPR Статья для тех, у кого клиенты в Евросоюзе. Я работаю юристом в компании ISPsystem и уже пару месяцев разбираюсь в тонкостях GDPR. В этой статье поделюсь своими мыслями о нем и расскажу, почему не надо по любому поводу спрашивать у клиента разрешение на обработку персональны...

Запуск приложений с блокчейн на SAP Cloud Platform SAP Cloud Platform — это облачная платформа, которая работает по модели PaaS или платформа-как-сервис (Platform as a Service). С её помощью компании могут разрабатывать собственные приложения, расширения или дополнения для уже существующих продуктов SAP или же создавать гибр...

Скрипт получения информации из образа Windows Имею серию статей посвящённых теме обслуживания образов Windows командами системы DISM. В моих статьях приводились примеры скриптов на языке интерпретатора командной строки cmd.exe. В результате работы исходный образ Windows (живая система или автономный файл *.wim) изменялс...

[Перевод] Как превратить веб-сайт в мобильное приложение с помощью 7 строк JSON В материале, перевод которого мы публикуем сегодня, речь пойдёт о создании мобильных приложений на базе существующих веб-проектов. Автор этой статьи демонстрирует инструменты, которые позволяют с минимальными усилиями разрабатывать приложения, пользующиеся нативными возможно...

Управление ИТ-активами: как мифы влияют на проекты (Часть 2) При внедрении ITAM-решений часто приходится сталкиваться с различными мифами. Чтобы проект был успешен, важно разобраться в природе этих ложных представлений клиента, снять все открытые вопросы, избавиться от ненужных заблуждений или убедиться, что это не миф. В предыдущей ...

QIWI приглашает дизайнеров, исследователей и аналитиков «на кухню» 15 февраля 2018 г. в офисе QIWI пройдет митап QIWI Кухня, посвященный созданию продуктов «с нуля». Спикерами выступят команды дизайнеров QIWI, а также Иван Замесин (ex- Chatfuel) и Алексей Черняк (ex-Groupon). Новый проект QIWI Кухня — это серия неформальных митапов для д...

Итоги MentorHack: чат-бот по выделению тасков из диалогов, сервисы для построения карьерных траекторий и команд Недавно мы поучаствовали в организации MentorHack – хакатона по созданию сервисов для наставничества в корпоративной среде, предпринимательстве и образовании. Под катом немного о хакатоне: сквозь будни, проверки ФСО и форум к победителях с чат-ботом для автовыделением таск...

[Перевод] Optimistic UI, CQRS and EventSourcing При разработке высоконагруженных веб-приложений для лучшего масштабирования часто применяется такой принцип, как CQRS. Он гласит, что метод должен быть либо командой, выполняющей какое-то действие, либо запросом, возвращающим данные, но не одновременно и тем, и другим. Друг...

Переход с AngularJS на Angular: проблемы и решения гибридного режима (2/3) Переход в гибридном режиме — естественная процедура, хорошо подготовленная и описанная командой Angular. Тем не менее, на практике возникают сложности и затыки, которые приходится решать на лету. В сегодняшнем продолжении нашей статьи про миграцию на Angular мы расскажем пр...

Дайджест интересных материалов для мобильного разработчика #243 (26 февраля— 4 марта) В нашем первом весеннем дайджесте продолжение истории «Микро-математики», изучение Swift за 60 секунд, Unit-тесты и анимации, интерфейсы, Flutter, ARCore и ориентиры для мобильных маркетологов. Всем весны! Читать дальше →

[Из песочницы] VLFs — Забытый враг Привет, Хабр! Представляю вам перевод статьи «VLFs — The Forgotten Foe» автора Monica Rathbun. Сколько из вас проверяет количество файлов виртуального журнала (VLF), которые есть в ваших журналах транзакций? Сейчас, работая консультантом, я вижу что часто это игнорируетс...

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

[Перевод] Эволюция войны: ИИ игр серии Total War (часть 2) Это вторая часть статьи про искусственный интеллект Total War. В первой части статьи я рассказал об игре Creative Assembly 2000 года Shogun: Total War — игре, изменившей лик стратегий реального времени. В Shogun существует три отдельных слоя систем ИИ: ИИ юнитов, управляющи...

Разработка для Sailfish OS: использование средств геолокации Здравствуйте! Данная статья является продолжением цикла статей, посвящённых разработке приложений для мобильной платформы Sailfish OS. На этот раз речь пойдёт о том, как можно реализовать в приложении получение информации о географическом положении устройства, отображение ка...

[recovery mode] Решаем загадку круглых чисел на графике выборов 2018 Данная статья является ответом на вот эту статью (Анализ результатов президентских выборов 2018 года. На федеральном и региональном уровне). В той статье меня удивила фраза автора: Вместо нормального или логнормального распределения мы видим интересную кривую, с очень стр...

[Перевод] Генерируем уровни для игры с помощью нейросетей Предисловие За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное ...

[Из песочницы] Пишем свой BitTorrent-клиент на базе библиотеки Bt Всем привет! В данной статье я расскажу о том, что из себя представляет библиотека Bt, чем она хороша и почему стоит иметь ее в виду, если для решения каких-то задач планируется использовать BitTorrent. Затем, в качестве демонстрации базовых функций и основного API, мы реали...

[Перевод] Четыре уровня одностраничных приложений, о которых вам нужно знать В этой статье мы с нуля разработаем React-приложение, обсудим домен и его сервисы, хранение, сервисы приложения и представление (view). Читать дальше →

Компания Apple купила сервис электронной подписки на журналы Texture, который называют “Netflix для периодики” Сегодня компания официально Apple объявила о покупке сервиса электронной подписки на журналы Texture, который предоставляет доступ к периодическим изданиям за ежемесячную плату. Этот сервис часто называли “Netflix в мире периодики”, а его покупка позволит Apple у...

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

Cluster of Puppets: опыт использования Amazon ECS в iFunny Несмотря на название, эта статья не имеет ничего общего с системой управления конфигурацией Puppet. Вместе с трендом «распила» больших монолитов на небольшие микросервисы в эксплуатацию веб-приложений пришёл тренд на оркестрацию контейнеров. Сразу после хайпа на Docker подн...

CleanTalk, запуск WordPress Security Занимаясь развитием Anti-Spam сервиса, мы достаточно часто сталкиваемся и с другими вопросами касающимися безопасности веб сайтов. Самыми распространенными были вопросы насчет брутфорс атак. Кроме проблем с подбором паролей к аккаунту администратора, зачастую брутфорс атаки ...

Настройка среды разработки: кофейная гуща (Часть 2) Привет, дорогой читатель! В этот раз я хочу поделиться своим результатом настройки персонального окружения для работы с различными PHP-based проектами с использованием Puppet. В данной статье описываются результаты, которые были получены в процессе изучения и написания Puppe...

Excel вместо PowerShell: запросы к AD и системные отчеты «на коленке» В комментариях к предыдущей статье вспомнили про учет в Excel вместо 1С. Что ж, проверим, насколько вы знаете Excel. Сегодня я покажу, как получать данные из Active Directory и работать с ними без макросов и PowerShell — только штатными механизмами Office. Например, можно з...

Code Conventions: как мы сохраняем быстрый темп разработки PHP-проекта Привет, Хабр. Меня зовут Евгений Удодов, я сооснователь и технический директор компании Roistat. Хочу поделиться нашим опытом разработки большого и сложного продукта — системы аналитики. TL;DR: Мы выложили на github наш Code Conventions и рассказали в статье о том, как его...

Методы расширения для типов стандартной библиотеки .NET Наверное, почти каждый .NET-разработчик сталкивался со случаями, когда для удобства кодирования рутинных действий и сокращения boilerplate-кода при работе со стандартными типами данных не хватает возможностей стандартной же библиотеки. И практически в каждом проекте появляют...

[Из песочницы] Тестирование проектов C/C++ с помощью Python Введение Хорошо известна возможность интеграции Python и C / C++. Как правило, этот прием используется для ускорения программ на Python или с целью подстройки программ на C / C++. Я хотел бы осветить возможность использование python для тестирования кода на C/C++ в IDE без п...

Docker-образы с поддержкой ГОСТ-сертификатов в openssl, curl, php, nginx В этой статье я расскажу о том, как я решал задачу об интеграции в тестовом режиме с сервисами, которые работают с использованием алгоритмов, определенных ГОСТ Р 34.10-2001 (устарел) и ГОСТ Р 34.10-2012. Приведу примеры некоторых проблем, с которыми столкнулся при решении за...

Коллтрекинг Mango Office: под капотом сервиса В первой статье мы «срывали покровы» и рассказывали, что такое коллтрекинг. Затем подробно разобрали его настройки, теперь — о том, как мы в «Манго Телеком» создавали эту услугу и какой стек технологий используем. Читать дальше →

Укрощаем числа с плавающей точкой. Возможна ли отладка шейдеров для мобильных устройств на ПК? В игровой индустрии работа над визуальным качеством эффектов ведется на стыке искусства и технологий. Особенно это касается мобильных приложений. В этой статье мы расскажем об использовании чисел с плавающей точкой при отладке шейдеров для мобильных устройств на ПК. Мы уве...

Защита ASP.NET приложений от взлома ASP.NET MVC — не самый хайповый, но довольно популярный стек в среде веб-разработчиков. С точки зрения (анти)хакера, его стандартная функциональность дает тебе кое-какой базовый уровень безопасности, но для предохранения от абсолютного большинства хакерских трюков нужна допо...

[Перевод] Создание игры на Lua и LÖVE — 6 ОглавлениеОглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игро...

Зачем ездить на Mobile World Congress в Барселону и как все сделать правильно Привет! Меня зовут Катя Франк, я ведущий маркетолог Mobile Dimension. В этой статье я приведу небольшой разбор выставки Mobile World Congress в Барселоне, немного сравню ее с этой же выставкой от GSMA в Шанхае, расскажу, кому в ней стоит участвовать, и как все организовать...

Знакомство с гео-библиотекой S2 от Google и примеры использования Привет, Хабр! Меня зовут Марко, я работаю в Badoo в команде «Платформа». Не так давно на GopherCon Russia 2018 я рассказывал, как работать с координатами. Для тех, кто не любит смотреть видео (и всех интересующихся, конечно), публикую текстовый вариант своего доклада. Вв...

Rsyslog 8. Централизованный сбор логов Всем добра. Заканчиваем в этом месяце первый поток «Администратора Linux» и запускаем потихоньку второй, который теперь будет заметно переработан и усилен новыми преподавателями. Один из них — Алексей Цыкунов, делится сегодня небольшой полезной заметкой. Поехали. Задача Е...

[Перевод] Почему фотография Скарлетт Йоханссон заставила PostgresSQL майнить Monero В рамках кампании по защите данных наших клиентов мы в Imperva рассказываем о разных методах атак на БД. Если вы не знакомы с нашим исследовательским проектом StickyDB, почитайте прошлые статьи: часть I и часть II. Там описано устройство сети ханипотов (рис. 1), которая зама...

Z̴a҉̠͚l͍̠̫͕̮̟͕g͚o̯̬̣̻F̮̫̣̩͓͟ͅu̯z̡͉͍z̪͈̞̯̳̠ͅi̴̜̹̠̲͇n̰g̱͕̫̹͉͓: использование нестандартных методов размытия пейлоадов   Использование нестандартных техник обфускации пейлоада (полезной нагрузки) при проведении тестирования на проникновение веб-приложений может позволить обходить фильтрацию защитных средств и способствовать реализации вектора атаки. В этой статье я расскажу про т.н. Z̴a҉̠͚l...

[Перевод] Странности CSS, о которых полезно знать В наших публикациях регулярно появляются статьи о CSS. Среди них — материал об истории CSS, рассказ о подборе имён для CSS-сущностей, статья о CSS-стилях для печати, о которых многие забывают. Мы писали о том, как работают CSS-селекторы, сравнивая происходящее с автосалоном,...

Телевизор Samsung The Frame UE55LS003AUXRU: умная картина на вашей стене Телевизоры Samsung линейки The Frame и, в частности, рассмотренная в данной статье модель UE55LS003AUXRU могут служить элементом интерьера, заменяя обычную картину на стене, но при этом они сохраняют всю функциональность современного «умного» телевизора, представляющего собо...

[Из песочницы] Написание Telegram-бота для Habrahabr В этой статье я хочу рассказать о том, как происходило написание Telegram-бота, который мог бы отправлять статьи Habrahabr, сначала на Python, а потом и на Go, и что из этого вышло. Читать дальше →

[Перевод] Почему SQLite не использует Git Содержание 1. Введение 1.1. Правки 2. Несколько причин, почему SQLite не использует Git 2.1. Git затрудняет поиск потомков после коммита 2.2. Ментальная модель Git излишне сложна 2.3. Git не отслеживает исторические названия ветвей 2.4. Git требует дополнительной админист...

Как я съездил на CodeFest 31 марта и 1 апреля в Новосибирске в очередной раз случился CodeFest. В этом посте я расскажу, как съездил на самую большую разработческую конференцию за Уралом и почему в следующем году вам тоже стоит поехать. Читать дальше →

[Из песочницы] Как мы разработали технологию обнаружения устройств поблизости Эта история началась с функции “Рядом” в одном из наших мобильных приложений. Мы хотели, чтобы пользователи могли быстро создать групповой чат или добавить находящихся рядом пользователей в друзья. Мы попробовали решить эту задачу при помощи геолокации, Bluetooth, Wi-Fi и ...

Mobio Talks с Натальей Шагариной (Едадил) о росте продукта, запуске кэшбэк сервиса и партнерстве с Яндекс В рамках передачи Mobio Talks основатель компании Getloyal Алексей Писаревский взял интервью у генерального директора сервиса «Едадил» Натальи Шагариной. В этом выпуске обсудили: — Основные драйверы роста в «Едадил»; — Как запускали новый сервис кэшбека «Сова»; — Будущее...

Дружим gRPC с долгоживущим проектом, PHP и фронтендом Пару лет назад мы достаточно спокойно работали нашей небольшой командой и делали хостинг. Вышло так, что каждый сервис в системе обладал собственным уникальным и неповторимым API. Но потом это стало проблемой и было решено все переделать. Мы расскажем о том, как объединить ...

[Из песочницы] Font (ещё более) Awesome — узорное изобретение Привет, Хабр! Представляю вашему вниманию перевод статьи "Font (More) Awesome — an iconic invention" автора Pubudu Dodangoda. Создаёте ли вы веб-сайт, мобильное или настольное приложение, есть несколько вещей, которых вам не удастся избежать. Правильное использован...

Обзор второго дня Data Science Weekend 2018. Data Engineering, ETL, поисковые сервисы и многое другое Несколько дней назад мы публиковали обзор первого дня Data Science Weekend 2018, который прошел 2-3 марта на Мансарде Rambler&Co. Изучив практику использования алгоритмов машинного обучения, теперь перейдем к обзору второго дня конференции, в течении которого спикеры рас...

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

[Перевод] Создание игры на Lua и LÖVE — 4 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игровой цикл Ч...

Пишем плагин для Unity правильно. Часть 2: Android В предыдущей части мы рассмотрели основные проблемы написания нативных плагинов на Unity под iOS и Android, а также методы их решения для iOS. В этой статье я опишу основные рецепты по решению этих проблем для Android, стараясь сохранить схожую структуру взаимодействия и п...

Основы программирования на SAS Base. Урок 2. Доступ к данным В предыдущей статье мы познакомились с интерфейсом SAS UE, терминологией SAS Base, типами данных, основными требованиях к синтаксису SAS Base, а также рассмотрели распространенные синтаксические ошибки. Сегодня я расскажу, как можно получить доступ к данным различных формат...

GObject: наследование и интерфейсы В комментариях к прошлой статье часто высказывалось мнение, что система GObject не нужна ввиду наличия C++ и других высокоуровневых языков. Помимо чисто технических моментов, о которых уже поговорили в комментариях, хотелось бы затронуть другой аспект. Вероятно, большинство ...

Создаем CSS кейлоггер Часто бывает так, что внешние JS файлы выглядят как угроза для клиента, в то время как внешнему CSS не придают особого значения. Казалось бы, как CSS правила могут угрожать безопасности вашего приложения, и собирать логины? Если вы считаете что это невозможно, то пост будет ...

Дайджест интересных материалов для мобильного разработчика #240 (5 февраля— 11 февраля) Заканчиваем неделю новой подборкой. В ней анимации, запрет эмодзи, лучший дизайн и большой рост, обновление строк на лету, лучшие команды мобильной разработки и неуемный фичеринг. Все самое лучшее! Читать дальше →

Kontur Mobile Test Session: 446 багов за 5 часов В декабре Контур принимал ежегодную городскую тест-сессию Екатеринбурга. На этот раз 38 тестировщиков 5 часов искали баги в новом мобильном приложении. Игорь Борисихин, специалист по тестированию и организатор мероприятия, поделился опытом, рассказал что нового для тест-сесс...

List.of() и все, все, все… Здравствуйте, хаброжители. Наконец дошли руки написать что-то на хабр. Первая статья была немного скучной и узкоспециализированной. Поэтому я пишу в песочницу во второй раз. (UPD но почему то попал не в песочницу оО) На этот раз речь пойдет о нововведениях Java. А именно п...

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

[recovery mode] Классическое наследование в JavaScript. Разбор реализации в Babel, BackboneJS и Ember В этой статье мы поговорим о классическом наследовании в JavaScript, распространённых шаблонах его использования, особенностях и частых ошибках применения. Рассмотрим примеры наследования в Babel, Backbone JS и Ember JS и попытаемся вывести из них ключевые принципы объектно-...

Как и зачем переходить от сервис-ориентированной архитектуры к микросервисам Здравствуйте, меня зовут Алексей, я главный IT-архитектор банка «Ренессанс Кредит». Лет десять назад мы, как и многие компании, ускорили свое развитие благодаря сервис-ориентированной архитектуре (SOA). Но со временем требования к архитектуре менялись, и к данной парадигме с...

[Перевод] Проектирование пользовательского интерфейса Windows 95 Три года назад мне попалась интересная научная статья сотрудника Microsoft Кента Салливана о процессе и результатах проектирования нового пользовательского интерфейса для Windows 95. С тех пор веб-страница исчезла — одна из причин, почему я такой цифровой Плюшкин. Статья оп...

[Перевод] Hyperpilot открыл исходный код своих продуктов на 100% Мы открыли исходный код всех наших продуктов, над которыми работали последний год, и в этом посте я хочу кратко рассказать о них. Последний год Hyperpilot работал в скрытом режиме, поэтому позвольте объяснить, что мы собирались делать. Наша миссия – дать интеллект инфрастру...

Трудности перевода: как найти плагиат с английского языка в русских научных статьях В нашей первой статье в корпоративном блоге компании Антиплагиат на Хабре я решил рассказать о том, как работает алгоритм поиска переводных заимствований. Несколько лет назад возникла идея сделать инструмент для обнаружения в русскоязычных текстах переведенного и заимствован...

[Из песочницы] А вы знаете где можно применить expression's в вашем проекте или оптимизация создания тестов 0. Лирика Поговорим про unit тестирование. Для больших и возрастных проектов весьма актуальна проблема «толстых» сервисов. Я сейчас говорю про большое количество зависимостей передаваемых в конструктор. Если к этому добавить несколько десятков методов, которые необходимо тес...

UX-кинотеатр – Эмоции. Чувства. Интервью Перед нами стоит задача улучшать продукты банка с учетом пользовательского опыта. Можно решить эту задачу, протестировав всё приложение, и написать отчёт на несколько сотен страниц с рекомендациями по исправлению. По времени эта работа займёт где-то 3-4 месяца (кошмар, Agi...

[Перевод] Ускоренный курс по ассемблерам Это перевод одной из статей Lin Clark. Если вы не читали остальные, мы рекомендуем начать с начала. Чтобы понять, как работает WebAssembly, неплохо понимать, что такое код на ассемблере и как компиляторы его генерируют. В статье о JIT я сравнивала взаимодействие с компьюте...

Хэш-стеганография с использованием vkapi Привет, Хабр. Некоторое время назад решил разобраться, что такое стеганография, в чем её смысл и какая она бывает. И спустя несколько ссылок наткнулся на интересную статью про хэш-стеганографию. Возник вопрос — а почему бы не попробовать реализовать такой способ передачи на ...

Мой опыт использования Google AdWords Express Несколько месяцев назад вернулся к оказанию IT-услуг в своём небольшом городе. Дабы громко заявить о себе первый раз решил попробовать контекстную рекламу в Интернете. Так как в нашей стране Яндекс и все его сервисы заблокированы, то выбор пал на корпорацию Google и его серв...

Управление hardware-продуктом: путь тяжелых компромиссов За последние несколько лет в России появилась и оформилась новая профессия – менеджер по продукту. Конечно, 10 лет назад были специалисты, которые выполняли обязанности менеджера по продукту или эти обязанности были распределены между несколькими людьми. Теперь же на рынке...

[Перевод] Как передать полиморфный объект в алгоритм STL Как мы можем прочесть в первой главе книги Effective C++, язык С++ является по сути своей объединением 4 разных частей: Процедурная часть, доставшаяся в наследство от языка С Объектно-ориентировання часть STL, пытающийся следовать функциональной парадигме Шаблоны Эти чет...

Простой менеджер ассинхронных задач для Unity 3D Введение Приветствую Вас, уважаемые читатели. В данной статье пойдет речь о реализации простого менеджера асинхронно выполняемых задач для среди разработки Unity3d. Данный менеджер использует в своей основе так называемые Coroutine, которые присутствует в движке. Читать дал...

[Из песочницы] QA в мобильном геймдеве или как выстроить процесс в инди компании Привет! Сегодня я расскажу о создании отдела тестирования на примере небольшой компании, которая уже 3 года выпускает мобильные игры. Особенность в том, что компания не зависит от спонсоров и живёт за счёт денег, которые зарабатывает. И нам, как сотрудникам, важно делать т...

[Перевод] Насколько быстр AMP на самом деле? Проект Accelerated Mobile Pages (AMP) от Google вызвал определённый переполох по идеологическим причинам, но саму технологию так и не разобрали подробно. Несколько недель назад Ферди Кристант писал про несправедливое преимущество, которое получает контент AMP за счёт предзаг...

[Из песочницы] Использование Boost.Asio с Coroutines TS Введение Использование функций обратного вызова (callback) — популярный подход к построению сетевых приложений с использованием библиотеки Boost.Asio (и не только ее). Проблемой этого подхода является ухудшение читабельности и поддерживаемости кода при усложнении логики прот...

SecaaS как вид облачных услуг и другие стандарты проекта ГОСТ «Защита информации при использовании облачных технологий» В предыдущей статье «Всё по ГОСТу. Защита информации при использовании технологий виртуализации», мы упомянули про разработанный проект ГОСТ «Защита информации при использовании облачных технологий». Несмотря на то, что он уже не первый год лежит без утверждения, мы можем ...

MobileNet: меньше, быстрее, точнее Если пять лет назад нейронная сеть считалась «тяжеловесным» алгоритмом, требующим железа, специально предназначенного для высоконагруженных вычислений, то сегодня уже никого не удивить глубокими сетями, работающими прямо на мобильном телефоне. В наши дни сети распознают ваш...

PowerAR — объединяем PowerBI и ARKit на поверхности стола Привет, Хабр! Помните недавнюю конференцию Apple, на которой был представлен ARKit? Ой, стоп-стоп, это же блог Microsoft. Хотя, почему бы и нет. Ведь наши партнеры решили поэкспериментировать и совместить новый фреймворк от Apple с возможностями сервиса PowerBi от Microsoft....

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

[Перевод] Золотое правило git rebase Всем привет! Мы тут немного переделали наш курс посвящённый web-разработке и добавили ещё целый месяц изучения JS. Ну и как обычно у нас — рассмотрим что-нибудь интересное, что разбирается у нас на курсе. В данном случае — git rebase. Поехали. Что на самом деле происходит...

Как мы сменили платный Slack на опенсорсный Rocket.Chat Недавно мы писали о том, как организуем работу с удаленными сотрудниками, и упомянули всем известный мессенджер Slack. Почти сразу после выхода статьи мы нашли его пока не очень идеальный аналог, который обещает стать лучшим среди рабочих мессенджеров в ближайшие пару лет. С...

Дискредитация специалистов или современные собеседования Представьте, что вы — IT компания. Может большая или нет, но так получилось, что вам потребовался стажер. Ведь пора, наконец, растить новое поколение в духе вашей идеологии. Но вот незадача — стажеры такие животные, которые не обладают навыками. И ранее ничего полезного о...

[Из песочницы] Копирование данных с веб-сайта с помощью R и библиотеки rvest Чтобы проводить анализ данных, необходимо сначала эти данные собрать. Для этой цели есть много разных методов. В этой статье мы будем говорить о копировании данных непосредственно с веб-сайта, или о скрейпинге (scraping). На Хабре есть несколько статей о том, как сделать коп...

Erlang, rebar3 и установка сервиса под Windows Как заставить Erlang релиз работать как сервис под Windows. Оставим за кадром вопрос зачем это делать. Просто иногда это нужно. Так что сосредоточимся на КАК. Что-бы было еще сложнее поставим себе задачу делать это с помощью wixtoolset. Читать дальше →

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

Недоверие авторитетам и экономия: главные тренды инвестиционной активности миллениалов по статистике сервиса Robinhood Популярный сервис для торговли акциями Robinhood недавно запустил новую веб-платформу. Ранее пользоваться сервисом можно было только через мобильное приложение, а в веб-версии не только представлены дополнительные функции для биржевой торговли, но и публично доступен относ...

[Из песочницы] Надоевшая почта или как отправлять сообщения с сайта в Telegram через Node.js (Express) После нескольких писем, отправленных с сайта себе на почту, понял что это достаточно неудобно, не современно (возможно), как минимум не прикольно. Задался целью отказаться от использования smtp для формы в пользу api Телеграма. Так как мое приложение работает на ноде, поду...

Анимации в Android по полочкам (Часть 3. «Низкоуровневые» анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. «Низкоуровневые» анимации Часть 4. Анимации переходов Часть 5. Библиотеки для работы с анимацией Все методы рассмотренные в предыдущих частях хороши и удобны, однако если нам нужно анимировать большое количест...

Как вернуть в Google открытие картинок в полном размере В середине февраля в поисковике Google пропала кнопка «Открыть изображение в полном размере». Тем не менее открыть загугленную картинку в исходном разрешении все же можно, причём делается это крайне просто. В данной статье мы расскажем, как вернуть пропавшую кнопку на место,...

Вопросы совместимости Tibero и Oracle. Часть 2. Разработка Java приложений Мы продолжаем цикл статей разработчиков приложений для баз данных. Эта статья затронет тему использования Tibero в Java приложениях использующих JDBC и Hibernate, а также фреймворк Spring Roo. Читать дальше →

[Из песочницы] Создание и хостинг телеграм бота. От А до Я Привет, хабрчане! Какой бы заезженной не была тема создания телеграм бота на python3, я не нашёл инструкций, где показан путь от первой строчки кода до деплоинга бота (по крайней мере все методы, что я видел, немного устарели). В этой статье я хочу показать процесс создания ...

[Перевод] Node.js + face-recognition.js: простое и надёжное распознавание лиц с помощью глубокого обучения Перевод статьи Node.js + face-recognition.js: Simple and Robust Face Recognition using Deep Learning. В этой статье мы расскажем, как реализовать надёжную систему распознавания лиц с использованием face-recognition.js. Мы искали подходящую Node.js-библиотеку, которая умел...

Когда бизнес растёт: виртуальные номера в формате DEF Ранее мы рассказывали об использовании виртуальных номеров в формате DEF с облачной IP-АТС. Появившиеся новые бизнес-кейсы подтверждают, что эта несложная схема весьма востребована для различных задач, а невысокая стоимость эксплуатации часто определяет выбор в ее пользу. Се...

Супер-полное руководство по публикации в Microsoft Store Привет, хабр! У меня часто случаются подобные ситуации: занимаюсь чем-нибудь сложным и в какой-то момент вылезает ошибка. Начинаю искать проблему в, соответственно, замороченных вещах, часто делая то, что не надо. И так проблемы нарастают. А в конце оказывается, что неполадк...

Медиатека iCloud для фото: что это такое, как настроить и пользоваться + вопросы и ответы В этой статье мы расскажем, как работать с Медиатекой iCloud, просматривать и удалять фотографии и видео, находящиеся в iCloud, а также ответим на самые часто задаваемые вопросы об этой функции.   Что такое Медиатека iCloud для Фото Медиатека iCloud для фото предоставля...

Три способа обновить запрос в Jira из ScriptRunner, используя Jira Java API В этой статье будут рассмотрены три способа обновления запроса в Jira, используя Jira Java API. Я буду использовать следующие методы Jira Java API: Issue.setCustomFieldValue(CustomField customField, Object value) CustomField.updateValue(FieldLayoutItem fieldLayoutItem, Is...

Начинаем работать с Firebase Cloud Storage на Android Работа с облачным хранилищем может быть очень трудной, особенно если вы не знаете, что делать. К счастью, Firebase упрощает ее насколько это вообще возможно. В статье мы обсудим, почему вам нужно использовать Firebase Cloud Storage вместо других облачных сервисов хранения, а...

Работа с Anaconda на примере поиска корреляции курсов криптовалют Цель этой статьи — предоставить легкое введение в анализ данных с использованием Anaconda. Мы пройдем через написание простого скрипта Python для извлечения, анализа и визуализации данных по различным криптовалютам. Читать дальше →

[Из песочницы] True XP/TDD в Пивотал изнутри: как это выглядит и возможно ли это? Ранее на хабре публиковалась статья о том, как в теории выглядит Xp/Tdd в Пивотал Лабс, и были вопросы о том, возможно\нужно ли это в действительности. Я попытаюсь объяснить, как это выглядит на практике и почему это может быть (внезапно) хорошо. В последние полгода мне при...

Дайджест интересных материалов для мобильного разработчика #245 (26 марта-1 апреля) В нашем новом дайджесте статьи о порхающих велосипедах, собеседованиях и резюме, тестировании и учебных проектах, технологиях и ключевых метриках приложений. Все это и многое другое — под катом! Читать дальше →

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

Swift vs. Kotlin. Отличия важны Этот пост является вольным переводом статьи Swift vs. Kotlin — the differences that matter by Krzysztof Turek Вы наверняка видели это сравнение Swift и Kotlin. Довольно интересное, правда? Я согласен, что в этих языках много схожего, но в этой статье я обращу внимание на не...

Централизованный сontinuous deployment за год vol 2 В нашей прошлой статье мы рассказали о том как строили централизованный конвейер, но описали его довольно поверхностно. Это породило массу вопросов, которые мы не можем оставить без ответа. Здесь мы попробуем максимально глубоко залезть «под капот» и рассказать, как работает...

[Из песочницы] Парсеры, обработка текста. Просто о сложном. CFG, BNF, LL(k), LR(k), PEG и другие страшные слова Наверное, каждому программисту приходилось сталкиваться с задачами вида «прочитать что-то в формате А и произвести с ним некие манипуляции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то еще. Хорошо, когда можно воспользоваться библиотекой, однако, по разным причи...

Архитектура приложения на Akili framework Приветствую! Сегодня хотел бы разобрать пример реализации архитектуры сайта на фреймворке Akili. В данной статье речь пойдет не столько о системе компонентов, как о полноценной реализации приложения, с использованием роутинга, ajax запросов, хранилища и т.д. прямо из коробк...

Подключение Allure-репортера к произвольному тест-фреймворку на python Автоматизация нуждается в человекочитаемых отчетах о тестировании — что тестировалось, какими тестовыми шагами, с каким результатом. Для этого существует система генерации отчетов Allure. Allure поддерживается большинством известных тестовых фреймворков, а для неизвестных тр...

Краткая сводка о заблокированных адресах Здравствуйте, друзья! По просьбе lostpassword решил написать краткую сводку о состоянии блокировки на текущий день. В данной статье используются данные полученные из неофициальной выгрузки РКН. В данной сводке не будут представлены отдельные IP-адреса различных проектов, а б...

[Перевод] Segregated Witness для чайников Масштабируемость биткоина является одной из его главных проблем, над решением которой активно работают. Одним из представителей этих решений является, например, технология Lightning network, но ее реализация пока что не представляется возможной ввиду некоторых уязвимостей. Д...

[Перевод] Параллельное программирование в Swift: Operations В параллельном программировании в Swift: Основы Я представил множество низкоуровневых способов для управления параллелизмом в Swift. Первоначальная идея состояла в том, чтобы собрать все различные подходы, которые мы можем использовать в iOS в одном месте. Но при написании э...

Зачем ритейл и бизнес по доставке товаров переходят на IaaS: обзор кейсов Сектор e-commerce растет во всем мире. Это отражается и на смежных сферах. Например, на доставке товаров. Внедрение ИТ-технологий уже изменило работу курьерских служб и других сервисов доставки. В этой статье поговорим о том, какую роль здесь играет IaaS. Читать дальше →

Погружение в шаблоны и приручение GPO Windows В очередной статье из цикла «конспект админа» мне хотелось бы освежить в памяти несколько нюансов использования групповых политик. Заодно поразвлекаемся с созданием своих шаблонов и с автоматизацией работы с этими самыми политиками. Читать дальше →

Преобразователи Time-To-Digital (TDC): что это такое и как они реализованы в FPGA На рисунке — первый в мире спутник квантовой связи «Мо-Цзы», который запустили из Китая в 2016 году, в нем летает TDC, реализованная в FPGA. Объяснить своей девушке (или парню), что такое ADC и DAC, и в каких домашних приборах они используются, может каждый человек, называ...

[Перевод] JavaScript ES6 — синтаксис оператора spread (…) Синтаксис оператора spread: Синтаксис оператора spread это просто три точки: … Оператор spread позволяет расширять выражения в тех местах, где предусмотрено использование нескольких аргументов. Эти определения могут быть непонятны без контекста. Давайте рассмотрим нескольк...

[Перевод] Matthias Noback Об Идеальной Архитектуре — Слои, Порты и Адаптеры (Часть 3 — Порты и Адаптеры) Matthias Noback (автор A year with Symfony) опубликовал цикл из трех статей, в котором описал свои взгляды на идеальную архитектру корпоративных приложений, сформировавшуюся за долгие годы практики.Первая часть является вводной и не представляет особого интереса(можно ознако...

Серия Halo в будущем появится на PC? 343 Industries в данный момент работают над улучшением текущих релизов, по типу Halo: The Master Chief Collection и Halo 5. Также 343i работает и над Halo 6, продемонстрировать которую должны уже на грядущей E3 2018. Разработчики часто общаются ос своими фанатами и на вопрос...

AMD Ryzen 7 2700X: тест лучшего процессора AMD Ryzen продолжает улучшаться, сохраняя свою либеральную ценовую политику, широкую совместимость с разными материнскими платами и высочайшую производительность. Все о самом топовом процессоре AMD читайте в нашем обзоре.

Как работают приложения Сбербанк Онлайн: Workflow API и фрэймворки Много кто пользуется приложением Сбербанк Онлайн, но немногие знают, как оно работает. Настало время приоткрыть завесу тайны – в этой статье мы расскажем о некоторых подходах, которые используем в разработке. Читать дальше →

[Перевод] Топ-10 трендов технологий искусственного интеллекта (ИИ) в 2018 году Добра! Слушатели первого курса «Разработчик BigData» вышли на финишную прямую — сегодня начался последний месяц, где выжившие займутся боевым выпускным проектом. Соответственно, открыли и набор на этот достаточно непростой курс. Поэтому давайте рассмотрим одну интересную ст...

Что стоит за чистотой в вашей квартире, или препарация Qlean Привет, хабр. Многие слышали про наш сервис, кто-то пользовался, и вот мы созрели до того, чтобы рассказать про свою внутреннюю IT-кухню. Мы начинали в 2014 году с квартиры-офиса на Арбате (с переговоркой в кухне), 300 клиентов и организацией всего “руками”. Вся информация...

[Перевод] Как сделать хорошую UI-анимацию отличной В материале, перевод которого мы сегодня публикуем, дизайнер Пабло Стэнли предлагает несколько рекомендаций по анимации микровзаимодействий в пользовательском интерфейсе. В каждом приведённом здесь примере рассмотрены два варианта анимаций. Первый вариант — хороший, второй, ...

Обзор лучших европейских и не только QA-конференций этого года Привет, Хабр! Меня зовут Влад Романенко. Я работаю инженером по тестированию в Badoo, в команде iOS. Любите заводить новые знакомства, обмениваться знаниями и опытом и быть в тренде? Тогда предлагаю вам внести в свой календарь пару—тройку предстоящих мероприятий. Я начал ...

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

[Перевод] Сравнение топ-4 популярных BI платформ. Какую выбрать? Сегодня существует огромное количество BI-платформ и инструментов визуализации данных, которые делают так, чтобы данные могли говорить, а всю аналитику можно было наглядно отобразить на экране и поделиться с клиентами. В данной статье мы сравним наиболее популярные и широко ...

[Перевод] Погружение в службы Android Перевод статьи "Deep Dive into Android Services" от Nazmul Idris. Я оставил оригинальное название автора, хотя это скорее не "погружение", а "знакомство". Думаю, текст будет полезен начинающим разработчикам. Статья отлично дополняет офф. документацию по службам на Android. ...

[Перевод] Использование переменных окружения в Node.js Материал, посвящённый переменным окружения в Node.js, перевод которого мы сегодня публикуем, написал Берк Холланд, веб-разработчик, в сферу интересов которого входят JavaScript, Node.js и VS Code. Кроме того, стоит отметить, что у него сложились непростые отношения с Java. В...

«Чип-головоломка»: по заказу DARPA будет разработан невзламываемый процессор В начале этого года информация о процессорных уязвимостях Meltdown и Spectre стала первой громкой темой кибербезопасности 2018 года. Незащищенность кэша программных команд чипов Intel, AMD и Arm, выпущенных за последние 20 лет, привела к целой плеяде судебных тяжб и до сих п...

Улучшат ли ускоренные мобильные страницы ранжирование в Google и как настроить тест AMP Перевод статьи Стефани ЛеВонн из Search Engine Land от VT Digital.

[Из песочницы] СХД NetApp — преемственность поколений, проблемы и способы их решения Кому интересна эта статья К написанию настоящей статьи меня подтолкнул кейс, случившейся c одной уважаемой компанией, которая давно и успешно эксплуатирует решения NetApp для хранения данных. Управление данными средствами NetApp происходит в международном масштабе, в том чис...

[Перевод] Конференция DEFCON 16. «Криминальная разработка iOS Cisco». Феликс Линднер, глава Recurity Labs Следующий пункт моего выступления посвящается часто задаваемому вопросу о работе центров Cisco. Почему именно Cisco? Потому что они занимают 92% рынка продажи роутеров стоимостью от $1500 и 72% рынка свитчей. Мы также обсудим программное обеспечение Juniper, которое как с то...

Убить дракона: тернистый путь к Agile Пару-тройку лет назад мы тоже с энтузиазмом взялись переходить на гибкие методологии разработки, а по-простому: внедрять Agile. Наняли внешних консультантов, выделили для обкатки процесса кусочек большого продукта, с воодушевлением начали быстро и качественно делать. Делал...

«МегаФон» запустил сервис мобильной электронной подписи Особенно актуален такой мобильный формат будет для тех, кто часто в разъездах и командировках.

[Перевод] Хуки жизненного цикла Vue.js Хуки жизненного цикла (lifecycle hooks) — важная часть любого серьёзного компонента. Нам часто нужно знать, когда компонент был создан, добавлен в DOM, обновлён или уничтожен. Хуки жизненного цикла показывают нам, как работает «за кулисами» выбранная библиотека. Они часто в...

Корпоративный IaaS-дайджест: 25 материалов о виртуализации, инфраструктуре и ИБ Сегодня мы собрали для вас статьи из «Первого блога о корпоративном IaaS»: о виртуализации, кибербезопасности и облачных сервисах. Под катом — кейсы использования облака в различных отраслях, материалы о работе IaaS-провайдера и ответы на вопросы о защите ПД. Читать дальш...

[Перевод] Менеджерам пора проснуться «Разве у тебя нет цикла, который можно написать?» Самая популярная моя статья называется «Почему ваш программист просто хочет кодировать». К настоящему моменту её прочитали более 62 000 раз. В статье рассказывается о программисте Джейми, который пришёл в компанию перепол...

[Перевод] Создание игры на Lua и LÖVE — 5 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игровой цикл Ч...

46 навыков и характеристик, из которых складывается портрет идеального менеджера продукта Product Manager очень часто выступает первым представителем продукта или сервиса для внешнего мира. Для этого успешному PM требуется опыт, энтузиазм и, конечно, профессиональные управленческие навыки, коммуникативные и другие способности. Набор этих качеств помогает специали...

Алгоритм выбора location в Nginx Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алг...

Сервис цифровых подписей GlobalSign интегрирован в облако Adobe Document Cloud 10 апреля 2018 года компания GlobalSign объявила о присоединении к консорциуму Cloud Signature и партнёрской программе Adobe Cloud Signature. Оба соглашения предусматривают, что фирменный сервис облачных подписей Digital Signing Service теперь напрямую интегрирован с решен...

[Перевод] Riot Games: анатомия технического долга Привет, меня зовут Билл «LtRandolph» Кларк. Я работаю техническим руководителем команды создания чемпионов LoL. За последние несколько лет я успел поработать в разных отделах разработки League, но единственное, чем я был постоянно одержим — это технический долг. Мне нужно на...

Java и Project Reactor Всем привет! Меня зовут Лёха, и я работаю бэкенд-разработчиком в FunCorp. Сегодня мы поговорим про реактивное программирование, библиотеку Reactor и немного про веб. Реактивное программирование часто «подвергается упоминанию», но если вы (как и автор статьи) всё ещё не знае...

[Перевод] Самые распространённые вопросы на собеседовании программиста графики Недавно я проходил собеседования в игровых студиях на младшего программиста графики. По итогу я узнал, каких навыков они ожидают от начинающего программиста и какие вопросы могут задать. В этой статье я собрал вопросы в удобный список. Смысл в том, чтобы другие начинающие пр...

Как поднять проект на PHP в Docker под Windows Чем является статья Статья является набором простых, понятных инструкций и советов для пользователей Docker под Windows. Статья поможет разработчикам на PHP быстро поднять проект. Описываются проблемы и их решения. Статья полезна тем, кто не обладает бесконечным ресурсом вре...

Mozilla разработала открытый шлюз для Интернета вещей Apple, Google, Amazon, Samsung — у каждой из этих компаний собственные стандарты и программы для управления «умными» устройствами собственной марки. В результате они зачастую могут общаться только со своими «родственниками» производства той же фирмы. Смарт-колонка Apple Ho...

Что нам стоит Scrum построить: интервью с Agile-коучем Василием Савуновым Всем привет! Сегодня у нас на связи agile-коуч Василий Савунов. Немного поговорим об организации работы команды по системе Scrum, а также получим ценные рекомендации по обучению Scrum и Kanban. Читать дальше →

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

Самые вредные советы. Как проводить внедрение Часто задают вопрос – что такое платформа «Единая фронтальная система» (ЕФС) и как ее можно пощупать. Платформа ЕФС — это единый базис, который позволяет построить омниканальные процессы, объединив множественные пользовательские сервисы в унифицированный и понятный сценарий...

Как мы в Smart Engines учили Sailfish OS распознаванию Всем привет! Как вы уже знаете по нашим статьям, мы в Smart Engines занимаемся распознаванием, причем распознавать мы стараемся на чем угодно и в любых условиях. Мы поддерживаем все популярные операционные системы: iOS, Android, Windows, Linux, MacOS, Solaris. Поддерживаем ...

WorkFlowSoft: история нашей дружбы Всем привет. Меня зовут Лидия, и вот уже семь лет я работаю в Департаменте маркетинга компании Softline. В этой статье я расскажу о том, насколько по-разному можно подходить к вопросу организации работы творческой (да, в сущности, и любой другой) команды, и насколько разных ...

Автоматизация действий атакующего, используя metasploit и Python Известно, что метасплойт написан на Ruby и не поддерживает скрипты, написанные на Python. Несмотря на это у метасплойта есть двусторонний RPC–интерфейс, при помощи которого можно запускать задачи. Есть две библиотеки, позволяющие взаимодействовать с remote procedure call (R...

Apache Ignite 2.4 — Distributed Database and Caching Platform 12 марта 2018 г., спустя 4 месяца после прошлой версии, вышел Apache Ignite 2.4. Этот релиз примечателен целым рядом нововведений: поддержка Java 9, множественные оптимизации и улучшения SQL, поддержка платформой нейронных сетей, новый подход к построению топологии при работ...

[Перевод] Lightning Network In Depth, part 2: HTLC And Payment Routing В прошлой статье мы с вами подробно разобрали работу платежных каналов, а также несколько различных методов по обеспечению безопасности платежей, проходящих через них, однако этого все еще недостаточно для построения рабочей сети каналов: даже если мы уверены в том, что внут...

[Из песочницы] Система вызова смарт-контрактов в блокчейне Ethereum Задача Часто разработчики смарт контрактов под Ethereum сталкиваются с, казалось бы, простой проблемой — вызов кода смарт-контракта в будущем или по расписанию. Но подходящего решения нет, и приходится разрабатывать отдельный сервис для вызова контрактов. Разрабатывая конт...

[Из песочницы] Смена профессии: из графического дизайнера в фронтенд-разработчика Привет, Хабр! Представляю вашему вниманию перевод статьи "How I transitioned from a graphic designer to front-end developer in 5 months" автора Vince MingPu Shao. 2017 год оказался для меня сложным, но захватывающим. Я бросил работу графического дизайнера в Марте,...

[Перевод] Магические 90%. О чём речь, когда мы говорим о производительности Описание улучшений в производительности существует на стыке математики и лингвистики. Очень часто математика используется некорректно, употребляются неверные, вводящие в заблуждение или просто неоптимальные термины. Рассмотрим условный пресс-релиз: Компания AirTrain Inc. с...

Advanced Android Testing Тестирование — одна из важнейших частей разработки качественных программных продуктов. Сегодня мы поговорим о некоторых методологиях и библиотеках, разработанных и используемых нашей командой для написания тестов Android приложений. Начнем с самых базовых вещей, потому боле...

[Перевод] Среды запуска контейнеров (container runtimes) Часть 1: Введение в среды запуска контейнеров От переводчика: Это перевод статьи Container runtimes Part 1: An Introduction to Container runtimes. Автор оригинальной публикации: Ian Lewis. Один из терминов, который вы часто слышите, имея дело с контейнерами — «container runtime» (далее «runtime» переводится как «среда ...

Исследуем минорные возможности C# 7 C# 7 добавляет ряд новых возможностей и фокусирует внимание на потреблении данных, упрощении кода и производительности. Самые большие фичи были уже рассмотрены — кортежи, локальные функции, сопоставление с образцом и throw выражения. Но есть и другие новые возможности, как б...

История ES6-модулей Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js, во второй сосредоточились на реализ...

[Из песочницы] Почему не работают Уставы и Планы управления проектом? Мы приходим к Заказчику и говорим ему: вот так мы будем планировать проект, вот так будем управлять изменениями, вот так будем управлять рисками, вот так будем проводить совещания, вот так будем эскалировать проблемы и принимать решения, вот такие сроки будут у нас на соглас...

[Перевод] Что нового в Swift 4.1? Xcode 9.3 и Swift 4.1, наконец-то, уже не являются бета! Данный релиз содержит долгожданные улучшения стандартной библиотеки и самого языка. Если вы не следите за процессом Swift Evolution, то эта статья для Вас. В этой статье вы узнаете о наиболее значительных изменениях,...

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

Реализуем промисы на Java Всем доброго времени суток. Сегодня я хочу рассказать о том, как писал реализацию механизма промисов для своего JS движка. Как известно, не так давно вышел новый стандарт ECMA Script 6, и концепция промисов выглядит довольно интересно, а также уже очень много где применяется...

Почему переход компьютеров на USB-C — достаточно далекое будущее Статья об истории переходов с одних разъемов на другие, или почему переход компьютеров на USB-C происходит так медленно.

Splunk – Установка агентов для сбора логов Windows и Linux Нам часто задают вопросы о том, как загрузить различные данные в Splunk. Одними из самых распространенных источников, представляющих интерес, оказались логи Windows и Linux, которые позволяют отслеживать неполадки операционных систем и управлять ими. Загружая данные в Splunk...

Автоматизация при разработке платформы «1С: Предприятие» В этой статье пойдет речь о том, как мы автоматизируем процессы разработки и тестирования технологической платформы «1С:Предприятие 8». Платформа «1С:Предприятие 8» — набор инструментов для создания бизнес-приложений и среда их выполнения. Это большой (более десятка миллионо...

Защита ваших приложений Xamarin с помощью Dotfuscator Это перевод рассказа Джо Сьюэлла, разработчика из команды Dotfuscator на PreEmptiveSolutions. Давайте говорить честно: выпуск библиотеки, приложения для рабочего стола или мобильного приложения может стать горьким опытом. Как только вы выкладываете вашу программу в открытый...

Состоялся релиз очередной части из серии идеальных головоломок The Room: Old Sins на Android Fireproof – наверное, любимый разработчик головоломок для мобильных устройств у большинства геймеров. Много лет он создает превосходные проекты в серии The Room, которые становятся красивее, загадки — изощреннее и даже с определенным сюжетом, следить за которым интересно. Ре...

Работа с API КОМПАС-3D → Урок 8 → Более сложные методы записи в основную надпись Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. Мы уже рассматривали работу с основной надписью в четвертой ча...

[Перевод] Rekit Studio: IDE для React-приложений Сегодня мы публикуем перевод материала Нейта Ванга, создателя Rekit. Здесь он рассказывает о новом стабильном релизе системы, Rekit Studio. Это — полноценная IDE для разработки приложений, созданных с использованием технологий React, Redux и React Router. Он говорит, что его...

Разворачиваем автоматизацию за пару часов: PHPUnit, Selenium, Composer Привет, Хабр! Меня зовут Виталий Котов, я работаю в Badoo, в отделе QA. Большую часть времени занимаюсь автоматизацией тестирования. Недавно я столкнулся с задачей максимально быстро развернуть Selenium-тесты для одного из наших проектов. Условие было простое: код должен леж...

Эффективное использование spot-инстансов AWS Spot-инстансы — это по сути продажа свободных в данный момент ресурсов со отличной скидкой. При этом инстанс могут в любой момент выключить и забрать обратно. В статье я расскажу о особенностях и практике работы с этим предложением от AWS. Читать дальше →

[Перевод] Сравниваем Tarantool с Redis и Memcached Выбираете между Tarantool и Redis или между Tarantool и Memcached? Давайте рассмотрим основные различия, чтобы вам легче было определиться. Читать дальше →

Техническая поддержка Check Point (TAC). Краткое руководство При выборе комплексного средства защиты (UTM/NGFW) обычно обращают внимание на следующие характеристики: Цена; Функционал; Качество (подкрепленное различными отчетами и тестами); Простота и удобство управления; Популярность решения. Однако, почему-то большинство всегда ...

Статья о том, как мы попробовали применить современные нейросетевые технологии, чтобы находить каски на головах людей Раньше все свои интеллектуальные модули мы строили на традиционных алгоритмах видеоанализа (далее мы будем называть их «классическими»). О нейросетях мы, конечно, знали, и пробовали их применять еще в далеком 2008. В частности, сравнивать изображения людей по кластерам. Но...

[Перевод] Эффективное использование памяти при параллельных операциях ввода-вывода в Python Существует два класса задач где нам может потребоваться параллельная обработка: операции ввода-вывода и задачи активно использующие ЦП, такие как обработка изображений. Python позволяет реализовать несколько подходов к параллельной обработке данных. Рассмотрим их применитель...

Office 365. Пример работы с Microsoft Graph API в Angular5 с помощью ADAL JS. ADAL JS vs MSAL JS В прошлый раз мы обсудили механизм авторизации для работы с Office 365 API (в частности с Microsoft Graph API): при каждом вызове API нужно передать token. Token имеет ограниченный срок жизни token выдает сервис Microsoft, так называемый “Azure AD Authorization Endpoint” п...

Нечеткий поиск (fuzzy search) в реляционных базах данных Для поиска нужной информации на веб-сайтах и в мобильных приложениях часто используется поиск по словам или фразам, которые пользователь свободно вводит с клавиатуры (а не выбирает например из списка). Естественно, что пользователь может допускать ошибки и опечатки. В этом с...

[Из песочницы] Что такое gtag.js в Google Analytics и нужен ли он вам? Вы читаете перевод статьи "What Is gtag.js with Google Analytics and Do I Need It?" автора Amanda Schroeder. Если недавно вы добавляли код отслеживания Google Analytics на сайт, то заметили совершенно другой код счётчика, который выглядит так: Сложилась какая-то ...

[Перевод] Землю унаследуют роботы? Говорят, обещанного три года ждут. Вот и я в комментарии к статье vmb обещала перевести главу из книги Zero Day, но пока собиралась — всю книгу уже перевели. Так что выкладываю тут перевод статьи Марвина Л. Мински о будущем и развитии человека. За наводку на статьи Мински с...

Понимание lvalue и rvalue в C и С++ Eli Bendersky, Understanding of lvalues and rvalues in C and C++ (https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c) От переводчика: предлагаю Вашему вниманию перевод интересной статьи об lvalue и rvalue в языках C/C++. Тема не нова, но з...

[Из песочницы] Социальная инженерия как метод атаки «Only for fun» — такой девиз мы часто использовали, атакуя какие-либо системы. За довольно короткий период своей деятельности скопилось большое количество материала. Передо мной встала задача, как его упорядочить. Целью данной статьи не является обучение взлому. Это просто и...

[recovery mode] Как мы улучшали службу технической поддержки с помощью когортного анализа Существует огромное количество инструментов визуализации графиков, умеющих делать с ними настоящие чудеса. Все они имеют разное назначение и специализацию. Но сейчас речь пойдет не о них. Речь пойдет не об инструментах, а о том как их использовать в совершенно конкретной си...

[Перевод] ITSM ликбез: Пользователи и Заказчики — кто скрывается за этими именами? Перевод статьи объясняющей пару базовых для ITSM понятий. Если не можете четко в паре слов сформулировать разницу между заказчиком и пользователем, статью стоит прочитать, она не большая. Автор: Дена Уайдер-Фреиден (Dena Wieder-Freiden) Публикация 18 октября 2016 года в ...

How to: Правильно называем методы-свойства класса Как вы называете парные методы Get/Set? Допускается ли делать их несимметричными? А если для свойства используется глагол Is? А если какой-нибудь модальный глагол вроде Can? Допускается ли вместо Get/Set использовать пары Is/Set? И если есть ограничения, то это ваш сознат...

Как провести тендер на разработку сайта Все чаще и чаще к нам обращаются с приглашением принять участие в тендере на разработку сайта. Причем львиная доля запросов выглядят так: “Сколько стоит разработка такого сайта: fb.com. Письмо разослано на 69 веб-студий. Поэтому решил поделиться своим опытом в тендерах. А оп...

Универсальные ссылки: дворец из подводных камней При том, как много мобильные приложения дали человечеству, они в то же время «сломали» интернет. Вместо понятных ссылок на сайты, которые можно скопировать и поделиться, стало нужно объяснять «поставь такое-то приложение и зайди там туда-то». К счастью, разработчики мобильн...

Создаём Android Twitter-приложение Привет, Хабр! Предлагаем вашему вниманию курс, в котором рассмотрено пошаговое создание Twitter-клиента. Читать дальше →

[Перевод] Руководство по фоновой работе в Android. Часть 4: RxJava Обработка событий — это цикл. В прошлой части мы говорили об использовании thread pool executors для фоновой работы в Android. Проблема этого подхода оказалась в том, что отправляющий события знает, как должен быть обработан результат. Посмотрим теперь, что предлагает RxJ...

Другая реальность финансового рынка «Нашей задачей было исследование возможности и потенциала HoloLens для игроков финансового рынка», — рассказали нам ребята из dxFeed. А мы не удержались и хотим рассказать про это вам. Disclaimer: данная статья не призвана научить вас разработке под HoloLens на Unity. Для...

[Перевод] JavaScript ES6: оператор расширения JavaScript постоянно развивается, в нём появляются различные новшества и улучшения. Одно из таких новшеств, появившееся в ES6 — оператор расширения. Он выглядит как троеточие (...). Этот оператор позволяет разделять итерируемые объекты там, где ожидается либо полное отсутств...

[Перевод] Почему в 2018 году я использую метод разработки, которому уже 30 лет Создавать игры сложно И самая сложная часть создания игр — это препродакшен. Это заявление может показаться обескураживающим. Все мы слышали о очень тяжёлых периодах продакшена игр и часто видели лёгкие, простые и интересные периоды препродакшена. Почему же я утверждаю, что...

Переписываем приложение под blockchain Отмечу сразу, что данная статья не о том как писать код на Solidity, а как существующую классическую архитектуру вашего приложения можно перевести на рельсы blockchain и думать в ключе децентрализации. Пару лет назад я работал над одним интересным веб приложением сервиса p2...

Блокчейн: организация сети, проверка подписи и задание для студента, часть 2 Предисловие В первой части было рассказано про возможности блокчейна, структуру и ЭЦП, в этой части будет рассказано про: проверку подписи, майнинг и примерную организацию сети. Отмечу, что не являюсь специалистом по распределенным системам (организация сети может быть не ве...

как добавить свой счетчик в PRTG. И кратенько о форматах датчиков с примерами на powershell Почему бы не добавлять в систему мониторинга показатели работы из 1С (да и вообще чего угодно)? По мере изучения оказалось что вывести можно из скриптов, батников, VB скриптов, исполняемых файлов, по SSH, прямым исполнением sql запросов и еще куча способов. Чтобы не получила...

[Перевод] Трансляция один-ко-многим: нужен ли медиасервер? TL;DR – ДА. Очередная статья нашего израильского коллеги по WebRTC и звонкам между браузерами переведена для Хабра. Мы в Voximplant разрабатываем собственное решение для организации видеоконференций через сервер и можем сказать что да, все именно так. Peer-to-Peer штука хо...

В эти выходные пройдёт первый стресс-тест Sea of Thieves Студия Rare объявила о проведении стресс-тестирования Sea of Thieves. После закрытого бета-теста команда оценивала свои планы по запуску, чтобы гарантировать стабильность работы серверов в соответствии с интересом игроков. В результате разработчики пришли к выводу, ...

Python, Delphi и C++ глазами учёного Статья про использование Python в научных вычислениях подтолкнула меня написать эту статью. Это история, случившаяся со мной и с коллегами 6 лет назад. На тот момент я уже достаточно подразобрался с Delphi и Python, но только теперь я ощущаю что достаточно поработал с C/C++,...

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

Новые возможности LISP в nanoCAD 8.5 Поддержка LISP в nanoCAD появилась давно и связывалась в первую очередь со специальной командой LSP, которая открывает LISP-консоль, предназначенную для ввода выражений и анализа переменных: Рис. 1. Окно LISP-консоли Релиз 8.5 сделал следующий важный шаг вперед, теперь вв...

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

Мобильное приложение от Google научит кодировать на JavaScript Компания Google выпустила приложение Grasshopper в рамках проекта Area 120, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый попу...

[Из песочницы] Минимизируем код React Redux приложения Мне хотелось поделиться собственными размышлениями и способом построения структуры приложения с использованием react-redux. Так как я относительно недавно стал писать код на JS и поэтому не претендую на истину и на действительно верный способ разработки. Надеюсь эта статья п...

Когда в бухгалтерии заменили принтер. «Надо всем переподключить» Если такая заявка в вашей системе сервис-деска вызывает дергающийся глаз и падение тонуса ― у вас наверняка еще не настроено удобное централизованное управление принтерами. Пора исправлять эту неувязочку. Статья скорее для тех, у кого нет этого сферического корпорейта в ва...

Почему полезно читать любые отзывы пользователей Перевод статьи UI-разработчика Dropbox Джона Саито, в которой он поделился выводами, сделанными после прочтения несколько тысяч пользовательских ревью.

«Календарь тестировщика» за февраль. Узнай своего клиента Мы продолжаем цикл статей «Календарь тестировщика», где каждый месяц тестировщики Контура делятся опытом и рабочими секретами. В предыдущей статье Максим Захаров рассказал как разобрать бэклог. В этот раз Илария Тарасова и Максим Колодкин из Контур.Эльбы, расскажут, почему...

Основы программирования на SAS. Урок 1 Привет! Я Анна Добрыченко, преподаватель учебного центра SAS в России: провожу тренинги по программированию на SAS Base, использованию SAS Enterprise Guide и SAS Visual Analytics, участвую в подготовке стажеров. Вся техническая документация и статьи продуктов и решений SAS и...

Проблемы при работе с кэшем и способы их решения Привет, Хабр! Меня зовут Виктор Пряжников, я работаю в SRV-команде Badoo. Наша команда занимается разработкой и поддержкой внутреннего API для наших клиентов со стороны сервера, и кэширование данных — это то, с чем мы сталкиваемся каждый день. Существует мнение, что в прог...

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 2 В предыдущей статье мы начали рассказывать о том, как можно реализовать асинхронную обработку входящих HTTP-запросов, внутри которой нужно выполнять асинхронные исходящие HTTP-запросы. Мы рассмотрели реализованную на C++ и RESTinio имитацию стороннего сервера, который долго ...

Сопроводительное письмо. Что стоит писать? Резюме написано. Вакансия мечты найдена. Остается одна маленькая, но порой непосильная задача – написать сопроводительное письмо. О том, что нужно писать, а чего стоит избегать в сопроводительных письмах, поделилась Alison Doyle, специалист по найму в США и основатель сервис...

Как уничтожить Интернет? Помните угрозу анонима уничтожить Интернет? Где хакер грозился «положить» 13 корневых DNS серверов сети Интернет и сделать получение информации, посредством запроса с использованием доменного имени, невозможным? В результате чего любой, кто введёт «http://www.google.com» или...

[Перевод] Кэширование и производительность веб-приложений Кэширование позволяет увеличивать производительность веб-приложений за счёт использования сохранённых ранее данных, вроде ответов на сетевые запросы или результатов вычислений. Благодаря кэшу, при очередном обращении клиента за одними и теми же данными, сервер может обслужив...

Как я прокачивал скилы личной эффективности Работа 24 на 7 «Всем привет, меня зовут Антон, и я — трудоголик. Я часто работаю по 12 часов в день. Моя семья очень страдает от этого. Я очень хочу начать жить, как все нормальные люди, но каждый раз срываюсь и засиживаясь заполночь...» — наверное так бы я начал свою реч...

Устройства с управлением через веб-интерфейс Автор: Николай Хабаров, IoT Google Developer Expert, эксперт по встраиваемым системам, DataArt. В этой статье я расскажу, как создать собственное устройство с веб-интерфейсом, которое будет доступно в локальной сети. Веб-интерфейс будет показывать текущие данные с датчика...

Интеграция Google Pay Привет, Хабр! Меня зовут Игорь, я Android-разработчик в команде Trinity Digital. Сегодня я хочу рассказать о классном инструменте — Google Pay API. Итак, если в вашем приложении можно совершать покупки, и при этом вы используете не In-app Billing (за процессинг отвечает...

Как я учусь практикам и ценностям Agile Под катом обзор и выводы с ретроспективы MeetUp-а про командную работу и рефлексию, который 3 апреля провела Елена Литвинова. Для меня он стал демонстрацией как обычная команда (далее команда 1.0), отличается от подготовленной (команда 2.0). Подготовленная означает, что ...

[Из песочницы] REST API Best Practices Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan. REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе чер...

[Из песочницы] Автоматизация UI-тестирования на PhoneGap. Кейс платежного приложения Не знаю, как вы, но я в воде чувствую себя уверенно. Однако недавно меня решили научить плавать снова, применив старый спартанский метод: кинули в воду и велели выживать. Но довольно метафор. Дано: PhoneGap-приложение с iframe, внутри которых загружается сторонний сайт;...

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

[Перевод] Создание игры на Lua и LÖVE — 7 ОглавлениеОглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игро...

[Перевод] Почему функция Heap32Next() работает так медленно на Windows 7? Если вы занимаетесь системным программированием под Windows, то могли бы заметить, что весьма полезные функции Heap32First/Heap32Next и другие из того же семейства стали работать существенно медленнее начиная с Windows 7. Что же с ними случилось? Давайте перенесёмся в далёк...

Метрики на службе у QA Апрельская статья из цикла «Календарь тестировщика» посвящена метрикам. Кирилл Раткин, тестировщик Контур.Экстерна, расскажет как повысить эффективность тестирования с их помощью и не уйти в крайности. Как часто вам приходится что-либо оценивать? Наверное, каждый день. Хо...

Возможно ли заблокировать App Store в целой стране? Еще в 2014 году Госдума РФ приняла поправки к закону, согласно которым персональные данные россиян должны обрабатываться и храниться на территории России. Новость быстро стала плацдармом для обсуждений санкций в отношении корпораций, которые не перенесут данные пользовател...

Graal: как использовать новый JIT-компилятор JVM в реальной жизни На главной сибирской Java-конференции JBreak-2018, проходившей в Новосибирске, Christian Thalinger из Twitter поделился практическим опытом использования Graal. Этот доклад мы слушали всей рабочей группой в полном составе. Вполне объяснимо, если учесть тот факт, что Graal по...

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

Тестовый пакет iXBT Application Benchmark 2018, часть 5: программы 3D-рендеринга в качестве теста процессоров и ПК В пятой статье цикла мы опишем подход к использованию программ 3D-рендеринга POV-Ray 3.7, LuxRender 1.6 и Вlender 2.79 в качестве теста процессоров и ПК для нашего нового бенчмарка iXBT Application Benchmark 2018.

Тестовый пакет iXBT Application Benchmark 2018, часть 4: программы видеоконвертирования в качестве теста процессоров и ПК В четвертой статье цикла мы опишем подход к использованию программ видеоконвертирования HandBrake 1.0.7, MediaCoder x64 0.8.52 и VidCoder 2.63 в качестве теста процессоров и ПК для нашего нового бенчмарка iXBT Application Benchmark 2018.

Amazon S3 и все-все-все: выбираем объектное хранилище Самые известные на мировом рынке объектные хранилища — это Amazon S3 (Simple Storage Service), Google Cloud Storage и Microsoft Blobs Storage. Они надежны, доступны через интернет и масштабируются до сотен петабайт. Наиболее популярный способ доступа к объектному хранилищу —...

Ключевые метрики приложений — отчет “Мобильные ориентиры 2018” В конце февраля Adjust выпустил отчет «Мобильные ориентиры 2018». В нем рассматриваются важные метрики и ключевые показатели работы приложений. Основа отчета — данные от 11,000 приложений, 10.7 миллиардов установок и 1.29 триллионов событий, случившихся с 1 января по 31 дека...

Стриминговый сервис Spotify проведёт прямое размещение акций вместо IPO В начале апреля популярный стриминговый сервис Spotify выйдет на биржу. Компания планирует привлечь $1 млрд, однако, вместо традиционного IPO проведёт прямое размещение акций. Этот способ листинга может оказаться более удобным с точки зрения бизнеса, но несёт гораздо больш...

[Перевод] Веб-воркеры в JavaScript: безопасный параллелизм Веб-воркеры дают программисту инструмент для выполнения JavaScript-кода за пределами главного потока, который отвечает за то, что происходит в браузере. Этот поток обрабатывает запросы на вывод данных на экран, он поддерживает взаимодействие с пользователем, воспринимая, в ч...

[Перевод] [1] + [2] — [3] === 9!? Исследование внутренних механизмов приведения типов в JavaScript JavaScript позволяет выполнять преобразование типов. Если это делают намеренно, то перед нами — явное приведение типов (type casting или explicit coercion). В том случае, когда это производится автоматически, при попытке выполнения каких-либо операций над значениями различны...

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

[Перевод] Создание игры на Lua и LÖVE — 2 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player 7. Player Stats and Attacks 8. Enemies 9. Director and Gameplay Loop 10. Coding Practices 11. Pas...

Информационная безопасность банковских безналичных платежей. Часть 4 — Обзор стандартов моделирования угроз В предыдущей публикации цикла мы сформировали базовые требования к системе информационной безопасности безналичных платежей и сказали, что конкретное содержание защитных мер будет зависеть от модели угроз. Для формирования качественной модели угроз необходимо учесть сущес...

Тестовый пакет iXBT Application Benchmark 2018: программы видеоредактирования и создания видеоконтента в качестве теста процессоров и ПК В третьей статье цикла мы опишем подход к использованию программ видеоредактирования Adobe Premiere Pro СС 2018, Magix Vegas Pro 15, Magix Movie Edit Pro 2017 Premium, Adobe After Effects CC 2018 и Photodex ProShow Producer 9 в качестве теста процессоров и ПК для нашего ново...

Обзор web-доступа к системе управления проектами Pilot-ICE Введение Зачем нужен web-доступ к системе управления проектами? Был ли с вами случай: когда вы забывали флешку, когда шли к заказчику или клиенту? Или оказывалось, что файл на флешке оказался другой версии? Согласно истории, именно это побудило Дрю Хьюстона, создать Dropbox....

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данны...

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

[Из песочницы] Как найти компанию спонсора визы в США. Tips and Tricks Статья для тех, кто хочет переехать работать в США. На Хабре есть несколько хороших статей про поиск работы в Америке. Тут я постараюсь добавить к ним собственный опыт и поделиться несколькими приемами, которые помогли мне получить долгожданный джоб оффер. Сперва расскажу п...

Apple купила сервис электронной подписки на журналы Texture Apple Inc. приобрела цифровой журнал Texture, который позволит пользователям читать статьи различных изданий за единую ежемесячную плату. Подробнее об этом читайте на THG.ru.

[Из песочницы] Программирование согласно контракту на JVM Привет, Хабр! Представляю вашему вниманию перевод статьи "Programming by contract on the JVM" автора Nicolas Fränkel. Читать дальше →

[Перевод] Характер Kotlin Привет, Хабр! Надеемся в обозримом будущем и до Kotlin добраться. Мимо этой статьи (февральская) пройти не смогли. Читаем и комментируем! Читать дальше →

APNIC и Cloudflare запустили самый быстрый DNS-сервис Компания Cloudflare объявила о запуске нового бесплатного DNS-сервиса 1.1.1.1. Он разработан в сотрудничестве со специалистами региональной интернет-регистратуры Азиатско-Тихоокеанского региона APNIC (Asia-Pacific Network Information Center), которой принадлежит IP-адрес 1....

DNSCrypt 2.0 и блокировка рекламы В этой статье хотелось бы рассмотреть нововведения Dnscrypt, на конкретном примере, который наверняка окажется для кого-то полезным. Для тех, кто не знает, Dnscrypt — это уникальный протокол шифрования DNS-трафика. Он даёт возможность защитить DNS-коммуникации от перехватов...

Проектирование Schemaless хранилища данных Uber Engineering с использованием MySQL Designing Schemaless, Uber Engineering’s Scalable Datastore Using MySQL By Jakob Holdgaard Thomsen January 12, 2016 https://eng.uber.com/schemaless-part-one/ Проектирование Schemaless хранилища данных Uber Engineering с использованием MySQL. Это первая часть из трех час...

[Из песочницы] Разработка высоконагруженного WebSocket-сервиса Как создать веб-сервис, который будет взаимодействовать с пользователями в реальном времени, поддерживая при этом несколько сотен тысяч коннектов одновременно? Всем привет, меня зовут Андрей Клюев, я разработчик. Недавно я столкнулся с такой задачей – создать интерактивный ...

Фреймворк для бессерверных приложений в AWS Мы решили создать небольшой фреймворк для бессерверных веб-приложений в AWS. Может более правильно назвать это не фреймворком, а заготовкой, — я не знаю. Но суть в том, чтобы создать основу для быстрой разработки бессерверных приложений в AWS. Код выложен на GitHub и открыт ...

Зачем нужна сетевая нейтральность? Термин «сетевая нейтральность» слышали многие, но, как и где он появился, по какой причине важен, стоит ли поддерживать его отмену в США и работает ли он в России? Ответы на эти вопросы я постараюсь дать в этом материале. Читать дальше →

Погружение в разработку на Ethereum. Часть 4: деплой и дебаг в truffle, ganache, infura В прошлой статье мы рассмотрели разработанное приложение на Ethereum. Но обошли стороной вопрос как происходит процесс разработки. Ясно, что это не просто написание кода, который сразу работает. Большую часть времени придется потратить на то, чтобы доводить код, который “поч...

Компилятор на JavaScript с использованием ANTLR В начале этого года я присоединилась к команде, работающей над MongoDB Compass — графическим интерфейсом для MongoDB. Пользователи Compass через Intercom запросили инструмент, позволяющий писать запросы к базе данных, используя любой удобный им язык программирования, подд...

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

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

Отслеживаем действия пользователя с помощью CSS В этом посте вы сможете узнать, почему даже с выключенным JavaScript и без плагинов, вы все равно можете отсылать поведенческие данные на сторонний сервер. Также здесь мы рассмотрим метод, как получить поведенческую информацию от пользователей используя только HTML и CSS. В...

[Перевод] Шон Пирс: настоящий лидер Перевод статьи "Шон Пирс: настоящий лидер" — о человеке, который является основателем многих проектов, в том числе Git и Gerrit Code Review. Читать дальше →

[Из песочницы] Делаем приём платежей криптовалютой своими руками Привет, Хабр! Время от времени замечаю вопросы о том, как принимать платежи Bitcoin на своём сайте без использования сторонних сервисов. Это достаточно просто, но надо учитывать, что есть подводные камни. В этой статье я постараюсь максимально подробно, без акцента на каком-...

Обзор BQ 6000L Aurora Доступный камерофон, который бы снимал селфи на пять с плюсом, не тормозил, долго работал и при этом не стоил бы заоблачных денег. В компании BQ считают, что им удалось создать подобное устройство и приводят в доказательство смартфон BQ-6000L Aurora. Так давайте протестируем...

[Из песочницы] Алгоритм Пинг-Понг или критика Обратной Польской Нотации Данная статья написана в силу возмущения тем, что в наших ВУЗах студентов простому разбору математических выражений обучают на основе как раз Обратной Польской Нотации (ОПН), что является откровенным извращением нормальной человеческой логики. Источником описания ОПН будет...

Как принимать решения 1.1 Как принимать решения, техника Квадрат Декарта. Приложение для Android «Как принимать решения» -  Квадрат Декарта техника как принимать решения является предельно простой, которая требует для своего использования очень небольшого количества времени. При помощи Квадра...

Психологический портрет с помощью нейросети и обычной камеры Хабр, привет! В этом году мы в очередной раз организовываем Imagine Cup — конкурс студенческих стартапов в сфере IT. Приглашаем всех (студентов) поучаствовать! Ну а пока рассказываем о ребятах из команды Social Globe, которые заняли третье место в прошлом году. И не зря, вед...

Реализация простой пиксельной игры в блокчейне Ethereum Всем привет! Вдохновившись r/place и желая реализовать наконец-то свой первый смарт-контракт на блокчейне, мы решили сделать всем доступное и веселое приложение в сети Ethereum, которое позволяет рисовать на холсте размером в 1000 x 1000 px, сохраняя каждый выбранный и раскр...

Модульное тестирование react компонетнов withRouter (jest, enzyme) При разработке модульных тестов для react компонента, обернутого в вызов withRouter(Component) столкнулся с сообщением об ошибке, что такой компонент может существовать только в контексте роутера. Решение этой проблемы очень простое и не должно по идее вызывать вопрсов. Хотя...

Для IoT-датчиков созданы гибкие термостойкие солнечные панели с КПД до 10% Японские и американские ученые под руководством Такао Сомэя из японского Института физико-химических исследований (RIKEN) разработали гибкие солнечные панели, устойчивые к постоянным механическим нагрузкам и пригодные к использованию в IoT-датчиках и носимой электронике. ...

[Перевод] Основы безопасности: Keychain и Хеширование Один из наиболее важных аспектов разработки программного обеспечения, который также считается одним из самых загадочных и страшных (поэтому избегается, как чума) — это безопасность приложений. Пользователи ожидают, что их приложения будут корректно работать, хранить их личну...

Softer Meetup. Как правильно иметь дело с User Story? В четверг, 29 марта (уже завтра!), в офисе сервиса путешествий Туту.ру пройдет очередной Softer Meetup. Обсудим, как на самом деле нужно записывать требования в виде (User) Story и работать с ними, оставаясь в согласии с принципами и ценностями Agile. Читать дальше →

[Перевод] Профиль неидеального клиента. Каким клиентам отказывать и почему это жизненно важно Представьте такую ситуацию: вы — основатель совсем молодой SaaS-компании, стараетесь найти первых потенциальных клиентов и заинтересовать их, и вдруг перед вами появляется огромная корпорация и начинает размахивать своими деньжищами. Они вас нашли и хотят купить то, что вы...

[Перевод] Обучение с подкреплением никогда не работало TL;DR: Обучение с подкреплением (RL) всегда было сложным. Не волнуйтесь, если стандартные техники глубинного обучения не срабатывают. В статье Алекса Ирпана хорошо изложены многие современные проблемы глубинного RL. Но большинство из них не новые — они существовали всегда. ...

Книга «Linux API. Исчерпывающее руководство» Привет, Хаброжители! Недавно у нас вышел фундаментальный труд Майкла Керриска по программным интерфейсам операционной системы Linux. В книге представлено практически полное описание API системного программирования под управлением Linux. Сейчас мы рассмотрим раздел «Потоки ...

[Перевод] Смешанная реальность помогает находить места для баз на Марсе 12 апреля 1961 года Юрий Гагарин совершил первый полет в космос. Сегодня — уже 57-ая годовщина этой памятной даты. За эти годы космическая отрасль развилась до того, что люди уже собираются колонизировать Марс. А Microsoft не остается безучастна к этому процессу. Под катом в...

[Из песочницы] Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество Предисловие Данная статья является частью моей научной работы в ВУЗе, которая звучала так: «Программный комплекс детектирования лиц в видеопотоке с использованием сверточной нейронной сети». Цель работы была — улучшение скоростных характеристик в процессе детектирования лиц ...

Создаем TUI на python Привет, Хабр! В этой статье я расскажу про npyscreen — библиотеке для создания текстовых интерфейсов для терминальных и консольных приложений. Читать дальше →

«Цифровые государства»: как они развивались В прошлой статье мы разобрались, что из себя представляют цифровые государства по своей сути, на каких идеях они базируются и какими были первые работающие системы в США и СССР. Теперь предлагаем перейти к важному периоду, когда возможность объединения разрозненных технолог...

[Из песочницы] Управление интернет модулями Laurent из RouterOS MikroTik Что такое маршрутизаторы Микротик (MikroTik), в наше время известно практически каждому, кто интересуется сетевыми технологиями чуть больше, чем просто пользователь. Благодаря надежной аппаратной части и невысокой стоимости эти роутеры становятся все более популярными не тол...

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

Команда разработки Hamster Marketplace: как наш аутсорсер стал партнёром и почему в этом виноват ИИ Краудфандинг — один, наверное, из самых шизофренических современных видов деятельности. Всё потому что краудфандеры должны фокусироваться на двух вещах одновременно: кампании по сбору средств (то есть на самом краудфандинге) и продукте, на который эти средства собираются. И ...

[Перевод] Разработка на Blockchain — что изменится для разработчиков? Эта статья является переводом поста Винсента Чена (Vincent Chen) и Рамона Рекуэро (Ramon Recuero), цели которого очень схожи с теми, что преследуем и мы, и написанного для таких разработчиков, которых мы хотели бы видеть на своих мероприятиях. Введение Если вы читаете этот ...

Почему Айфон медленно заряжается, и как это исправить? Ваш смартфон способен на многое — но только если он заряжен. К сожалению, с течением времени мобильные устройства заряжаются всё медленнее. Но почему? Для начала давайте разберемся с тем, как работает технология подзарядки. Аккумуляторная батарея содержит два электрода — оди...

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

[Из песочницы] Уязвимость​ ​ технологии​ ​ системы​ ​ идентификации пользователей​ ​ в ​ ​ публичных​ ​ wi-fi​ ​ сетях Развитие информационных технологий непременно сопровождается противоправным использованием этих технологий. В статье рассматривается исследование безопасности беспроводных сетей на примере сети Московского метрополитена. Результатом исследования является получение доступа к ...

GCCGO против «стандартной» реализации Какие Go бенчмарки показывают лучшие результаты, будучи собранными gccgo и почему? Ответы на эти вопросы под катом. Читать дальше →

[Перевод] Марвин Мински «The Emotion Machine»: Глава 1 «Как мы управляем собой» Отец искусственного интеллекта размышляет о том, как сделать машину, которая бы гордилась нами. Марвин Мински был довольно жестким ученым и то, что он своим «скальпелем познания» исследует тему чувств и эмоций, что же делает нас людьми, довольно интересно и полезно. Книга — ...

Бесплатная GPU Tesla K80 для ваших экспериментов с нейросетями Около месяца назад Google сервис Colaboratory, предоставляющий доступ к Jupyter ноутбукам, включил возможность бесплатно использовать GPU Tesla K80 с 13G видеопамяти. Если до сих пор единственным препятствием для погружения в мир нейросетей могло быть отсутствие доступа к G...

Миграция с Check Point с R77.30 на R80.10 Здравствуйте коллеги, добро пожаловать на урок по миграции баз данных Check Point R77.30 на R80.10. При использовании продуктов компании Check Point рано или поздно встает задача миграции существующих правил и базы данных объектов по следующим причинам: При покупке но...

[Перевод] Выученная беспомощность в разработке ПО Лучше зажечь одну свечку, чем проклинать темноту. За последние 24 часа, две мои статьи «Почему ваш программист просто хочет кодировать» и «Менеджерам пора проснуться» прочитаны более 96 000 раз на Medium и получили более 900 комментариев на Reddit. Похоже, проблема серьёз...

Еще не бот, но уже что-то ― получаем уведомления от Zabbix в мессенджеры Кажется, что в последнее время электронная почта больше подходит для спама, чем для оперативных оповещений системы мониторинга. В этой статье я соберу методы получения уведомлений на мобильные устройства ― как через мессенджеры, так и через традиционные каналы связи. Рассма...

Простой статический сайт на Webpack 4 После прочтения ряда статей (например, этой) решил перейти на современный подход с использованием Node.js при написании простых сайтов с подхода «динозавров». Ниже представлен разбор примера сборки простого статического сайта с помощью Webpack 4. Статья написана, так как ин...

#Ускорение4X. Адвокат дьявола Сегодня рассмотрим конкретный прием, который, при честном применении, может решить задачу ускорения до 4X, и дальнейшие статьи можно будет не читать. Этот прием называется «Адвокат дьявола», и цель его применения в нашем случае — снижение сопротивления людей. Сопротивление ...

Вам не нужны разработчики автотестов В эпоху вселенского внедрения agile-методологий и Devops уже никто не сомневается в том, что регрессия должна быть автоматизирована. Особенно, если в компании идет речь о Continuous Delivery. Все кинулись хантить разработчиков автотестов, от чего рынок становится перегретым....

Летающее такси от Uber: что о нём известно Как будут выглядеть машины, какова окажется стоимость полёта, когда будет запущен проект и почему не стоит называть этот вид транспорта «летающими автомобилями».

[Перевод] Использование шаблона render props вне рендера React представляет новое API (context API), которое использует "паттерн" (шаблон) render props (подробнее). На семинарах, встречах и в твиттере я вижу, что возникает много вопросов об использовании render props вне рендера, например, в обработчиках событий или "хуках" жизнен...

Улучшая performance review Про то, как в Avito работает performance review, я очень много раз рассказывал внутри компании, а этой весной ещё и на двух конференциях — TeamLeadConf и CodeFest. Мы активно вкладываемся в доработку процесса, проводим много экспериментов и собираем кучу полезных данных, поэ...

Обзор первого дня Data Science Weekend 2018. Практика машинного обучения, новый подход к соревнованиям и многое другое Привет, Хабр! 2-3 марта на Мансарде наших партнёров, компании Rambler&Co, прошел уже традиционный Data Science Weekend, на котором было множество выступлений специалистов в области работы с данными. В рамках этой статьи расскажем вам о самых интересных моментах первого д...

Сборка проектов с dapp. Часть 1: Java Эта статья — начало цикла о сборке dapp'ом приложений на различных языках, платформах, технологических стеках. Предыдущие статьи про dapp (см. ссылки в конце материала) были больше обзорными, описывали возможности dapp. Теперь же пора поговорить более предметно и поделитьс...

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

Корейские учёные создали прототип растягивающейся батареи Исследовательская группа из Национального института науки и технологий Ульсана (UNIST) создали растяжимые аккумуляторы, которые могут прийти на смену нынешним литий-ионным батареями для мобильных устройств. Их научная работа представлена в январском выпуске одного из самых п...

Управляем состоянием приложения без шаблонного кода и магии Хочу поделиться с сообществом своей реализацией концепции flux как единого источника данных и видением построения веб-приложений. Мотивом к созданию своего решения послужило желание избавиться от большого количества шаблонного кода и сделать взаимодействие с источником дан...

Thunkable X – бесплатная браузерная среда разработки мобильных приложений под iOS и Android IDE Thunkable X работает на платформе Thunkable, которая ранее развивалась в качестве альтернативы MIT App Inventor. В настоящее время платформа предлагает две функционально отличающиеся и независимые среды разработки – оригинальную для разработки под Android, совместимую ...

[Перевод] 20 Eloquent ORM трюков Eloquent ORM кажется простой, но под капотом существует много полускрытых функций и менее известных способов. В этой статье я покажу вам несколько трюков. Читать дальше →

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

[Перевод] Почему ваше приложение выглядит лучше в Sketch Найдите отличие Посмотрите на эти две картинки — видите разницу? Если хорошо приглядеться, можно заметить, что они слегка отличаются. На картинке справа: Тень больше Градиент темнее Слово «in» на первой строчке, а не на второй Левая картинка — скриншот из Sketch, а пра...

Ускорение сборки JavaScript-кода с использованием webpack 2–3 Появляется все больше SPA салонов. Даже лендинги люди пилят на React. А действительно сложное веб-приложение уже трудно представить с другим подходом. Одна из главных проблем современного фронтенда — это сборка таких проектов. С этим помогают справляться бандлеры. Иван Сосн...

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

[Перевод] Понимая зависимости От переводчика Мы должны внедрять, а не фантазировать! (Рина Зеленая, к/ф «Девушка без адреса») К переводу этой статьи меня побудили две причины: 1) желание лучше разобраться с фреймворком Spring, 2) небольшое количество источников по теме на русском языке. Краеугольный ...

[recovery mode] Менеджер Проекта vs Менеджер Продукта: у кого на плечах груз тяжелее? Если вы работаете в крупной компании и ваша команда состоит из разных стратегических подразделений, должностей и ролей, то вы могли сталкиваться с путаницей в понимании ролей и функционала сотрудников. В случае менеджера продукта и менеджера проекта — такая путаница случаетс...

Не изобретайте велосипед: десять проверенных хитростей для дизайнеров интерфейсов Перевод статьи UX-дизайнера Мериэл Москерьолы о том, почему не стоит сильно увеличивать шрифт для создания контраста, применять несколько оттенков чёрного и как расчёты помогают подобрать цвета.

[Перевод] Интервью портала A Cloud Guru с Келси Хайтауэром: о DevOps, Kubernetes и serverless Наверняка не все знают, что по нагрузке и числу пользователей iFunny является настоящим highload-сервисом. API обслуживает в пиках порядка 15000 запросов в секунду, система аналитики обрабатывает около 5 миллиардов событий в сутки, а для поддержки полного функционала работа...

Как IaaS помогает развивать авторынок Появление самоуправляемых автомобилей и развитие каршеринга буквально за несколько лет преобразило автомобильную индустрию и рынок пассажирских перевозок. Многие сервисы быстро показали результаты и захватили существенную долю этого рынка за счет активного использования вирт...

Java Puzzlers NG S02: всё чудесатее и чудесатее Тагир Валеев (lany) и Барух Садогурский (jbaruch) собрали новую коллекцию Java-паззлеров и спешат ими поделиться. В основе статьи – расшифровка их выступления на осенней конференции JPoint 2017. Она показывает, сколько загадок таит в себе Java 8 и едва замаячившая на гори...

[Из песочницы] Почему вы должны дать еще один шанс замыканию Привет, Хабр! Представляю вашему вниманию перевод статьи «Why you should give the Closure function another chance» автора Cristi Salcescu. В JavaScript функции могут быть вложены внутри других функций.Замыкание это когда внутренняя функция имеет доступ к переменным родитель...

Веб-компоненты. Часть 2: теневой DOM Вступление Приветствую, коллеги, и представляю вашему вниманию продолжение серии статей о веб-компонентах, первая часть которой доступна вот тут В этой статье речь пойдет о спецификации теневого DOM (shadow DOM) версии от 01.03.2018 г.. Последний черновик спецификации датиро...

Новая статья: Процессор «Байкал-Т1» и ПАК BFK 3.1: первые тесты Они существуют! К нам на тест попала первая публично доступная версия оценочной платы или, как её называют сами создатели, программно-аппаратного комплкса для разработчиков BFK 3.1 с SoC отечественной разработки «Байкал-Т1» на базе архитектуры MIPS P5600 Warrior

[Из песочницы] Многопоточность на корабликах Задача производитель/потребитель Статья рассчитана для новичков, которые недавно начали свое знакомство с миром многопоточноcти на JAVA. Читать дальше →

[Перевод] Руководство для практикующего специалиста, как читать научные статьи по языкам программирования Неделю назад я пошутил, что статьи по принципам языков программирования POPL должны соответствовать критерию «интеллектуального запугивания», чтобы их принимали для публикации. Конечно, это неправда, но факт в том, что статьи по языкам программирования выглядят особенно устр...

Работа по новой стратегии «Три свечи» Участники торговли на биржах и опционах выполняют действия, на которые влияют внешние и внутренние факторы Как раз эти паттерны помогают анализировать и прогнозировать движения цен в будущем. Многие паттерны не поддаются интерпретации, но существуют и те стратегии, которые п...

Google Song Maker создает песни прямо в браузере Компания Google пополнила коллекцию инструментов в музыкальной лаборатории Chrome (Chrome Music Lab). Новый онлайн-сервис Song Maker, как следует из названия, позволяет создавать песни прямо в браузере. Технология представляет из себя простейший секвенсор, поэтому предназнач...

10 главных качеств руководителя по мнению Google С 2008 года Google ведет проект Oxygen — исследование успешности своих руководителей. В 2018 году работу руководителей оценивали по внутреннему рейтингу и отзывам сотрудников. Оказалось, что команды с хорошими руководителями работают продуктивнее и чувствуют себя счастливыми...

[Перевод] Архитектура приложения Angular. Используем NgModules Прим. перев.: для понимания данной статьи необходимо обладать начальными знаниями Angular: что такое компоненты, как создать простейшее SPA приложение и т.д. Если Вы не знакомы с данной темой, то рекомендую для начала ознакомиться с примером создания SPA приложения из оф. до...

Обзор архитектуры управления информационной безопасности в Check Point R80.10. Часть 1 (Перевод) Экспоненциальный рост объёмов данных поступающих из различных источников, таких как сетевые, облачные, мобильные и виртуальные системы, приводит к появлению новых угроз. Организации должны быстро адаптироваться и защитить себя, требуя более мощных и высокопроизводительных ...

[Перевод] Люди не хотят чего-то действительно нового — они хотят привычное, но сделанное иначе От переводчика: это довольно старая статья 2015 года, однако, на мой скромный вкус, она по-прежнему актуальна, как и многие другие материалы от Нира Эяля. Если ваш новый продукт или сервис не набирает популярность, спросите себя: как найти мой ролл «Калифорния»? Должен приз...

В сети появились тесты AnTuTu нового флагманского смартфона ASUS На днях в синтетическом тесте AnTuTu “засветился” новый флагман компании ASUS, который имеет кодовое название Z01RD. Согласно спецификациям, которые были зафиксированы программой при проведении тестов, новинка будет работать на ОС Android 8.0 Oreo. Смартфон буде...

Nemesida WAF: интеллектуальная защита от brute-force атак   Классическими средствами защиты от brute-force являются утилиты типа fail2ban, работающие по принципу: много запросов — один источник. Это не всегда может помочь заблокировать нарушителя, а также может привести к ложным (false-positive блокировкам). В этой статье я напишу...

[Перевод] О главнейшей причине существования современных JS-фреймворков Автор материала, перевод которого мы публикуем сегодня, говорит, что ему очень и очень часто приходилось видеть, как веб-разработчики бездумно пользуются современными фреймворками вроде React, Angular или Vue.js. Эти фреймворки предлагают много интересного, но, как правило...

Семинар «Разработка vs Эксплуатация. Почему ни Agile, ни DevOps – это не волшебная пилюля», 22 марта, Москва Мы запускаем новое направление Университетов DataLine — семинары по поддержке интернет-проектов и взаимодействию разработки и эксплуатации. Новым будет и формат — теперь мы будем вести онлайн-трансляции со всех наших семинаров! Дата: 22 марта в Москве. Тема: «Разработка...

[Из песочницы] 5 уроков, которые мы получили, проведя 100500 РК на Facebook Работать на рынке интернет-рекламы — это значит постоянно учиться чему-то новому. Появляются новые инструменты, растут бюджеты, расширяются настройки таргетинга, которые помогают нам экспериментировать и запускать масштабные рекламные кампании. Мы учимся, иногда совершаем ош...

[Из песочницы] Правильная работа с закладками: как работать эффективнее и запоминать больше Когда кто-нибудь из моих знакомых открывает при мне браузер, я вижу стену из сотен старых и новых закладок. Некоторые из них настолько старые, что за время, прошедшее с добавления, фавиконки и описания страниц успели смениться несколько раз. Как правило, список продолжается ...

RequireJS для приложений Vue.js + Asp.NETCore + TypeScript Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript. В качестве системы сборки вместо Webpack используем компилятор TypeScript + Bundler&Minifier (расширение к VS2017). Загрузку модулей приложения в рантайм обеспечивает SystemJS или Requ...

Генерация кода во время работы приложения: реальные примеры и техники Генерация кода в рантайме — очень мощная и хорошо изученная техника, но многие разработчики все еще неохотно её используют. Обычно изучение Expression Trees начинают с какого-нибудь простого примера типа создания предиката (фильтра) или математического выражения. Но не Expre...

Как адаптировать игру на Unity под iPhone X к апрелю Месяц назад Apple предупредила всех разработчиков, что с апреля все приложения, которые заливаются в App Store, должны быть собраны с использованием последнего iOS 11 SDK. О том, как правильно позиционировать контент, используя новый API, уже давно можно почитать в официал...

[Из песочницы] Мониторим каналы связи посредством Juniper RPM и Zabbix На написание статьи меня натолкнул этот материал — Автоматическое переключение маршрута в Juniper SRX. Захотелось немного расширить тему использования RPM. Эта технология является аналогом механизма SLA в мире Cisco, и как и у Cisco предназначена больше не для переключения к...

Почему интерфейс должен быть доступным для всех и как это сделать Привет! Меня зовут Валерия Курмак, я ведущий аналитик пользовательского взаимодействия в Дизайн-центре Сбертеха и эксперт в accessibility. Все люди разные, но вне зависимости от их веса, роста, возраста, физических, сенсорных или ментальных особенностей, они должны иметь р...

Разбираем по косточкам: Xiaomi Mi Mix 2 против Huawei Honor View 10 Сегодня благодаря стараниям уже зарекомендовавших себя китайских брендов, можно за 500 долларов взять какой-нибудь смартфон, который по навороченности будет сопоставим с Galaxy S9 или Galaxy Note 8 от Samsung, которая раньше часто оказывалась технологическим лидером. Сегод...

SvelteJS: Релиз второй версии Буквально вчера вышла 2-я версия молодого, но весьма многообещающего фреймворка SvelteJS. Версия мажорная, а значит содержит не только новые фичи и исправленные баги, но и соответствующие «breaking changes». Что новенького предлагает разработчикам новая версия и почему Svelt...

Сбербанк запустил собственный мессенджер в мобильном приложении Нам нужно больше мессенджеров! Сбербанк запустил мессенджер в своём официальном приложении "Сбербанк Онлайн". Теперь у некоторых, у кого установлено самое свежее обновление, появилась вкладка "Диалоги", на которой пользователи могут общаться друг с другом. Однако, на ней п...

Как мы разобрали отличия между Team Lead и Software Engineering Manager и пришли к выводу, какой опыт из этих полезнее Классификация должностей в современных, особенно технологических компаниях сбивает с толку не только обилием сокращений и миксом терминов на двух языках, но и нюансами скрывающегося за ними содержания. Разобраться в сформировавшейся в совсем иных обстоятельствах современной ...

[Перевод] Руководство по фоновой работе в Android. Часть 2: Loaders Это вторая из серии статей об инструментах и методах фоновой работы в Android. Ранее уже были рассмотрены AsyncTask, в следующих выпусках — ThreadPools с EventBus, RxJava 2 и корутины в Kotlin. Читать дальше →

Почему Швеция отказывается от идеи полного перехода на безналичные платежи Изображение: Pexels Банк HSBC в своем недавнем отчете назвал переход на безналичные средства платежа одним из главных трендов текущего года наряду с развитием технологии блокчейна. Во многих странах эта тенденция видна уже сейчас — существуют даже рейтинги стран, в которы...

[Перевод - recovery mode ] Hyperapp + Parcel В данном посте, мы рассмотрим два новых инструмента из мира фронт-енд разработки. Они оба разработаны с мыслью о простоте и легкости использования. Первый инструмент это очень маленький фронт-енд фреймворк Hyperapp, а второй это бандлер Parcel. Вместе они могут быть лучшим в...

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

[Из песочницы] Blockchain на Go. Часть 4: Транзакции, часть 1 Привет, Habr! Представляю вашему вниманию перевод статьи "Building Blockchain in Go. Part 4: Transactions 1". Содержание Blockchain на Go. Часть 1: Прототип Blockchain на Go. Часть 2: Proof-of-Work Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки ...

Уязвимости вашего приложения Актуальны ли ещё угрозы XSS? Прошло около 20 лет с тех пор, как Cross Site Scripting (XSS) появился как вид атаки. С тех пор мы получили богатый опыт и знания, защита наших сайтов стала намного сложнее, а многочисленные фреймворки были призваны оберегать нас от ошибок. Но по...

[Перевод] Rust: состояния типов Раньше в Rust были состояния типов, которые были удалены из языка еще до официального релиза первой версии. В этой статье я раскрою вам тайну: Rust поддерживает состояния типов. Прошу под кат. Читать дальше →

[Из песочницы] Создание модального компонента с помощью Vue.js В этой статье вы узнаете, как создать многоразовый модальный компонент с использованием переходов и слотов. Определение структуры шаблона Начнем с определения нашего шаблона. Нам понадобится div для тени заднего плана, div, чтобы действовать как модальный блок и некоторые э...

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

Google Voice открывает тестирование VoIP-вызовов Google Voice уже давно полезен для приема телефонных звонков независимо от используемого устройства. Это предполагает, что вы хотите использовать обычный вызов, если путешествуете и обращаете внимание на роуминг. Компания Google начала привлекать пользователей к бета-тестиро...

[Перевод] Микросервисное безумие пройдет в 2018 году Именно с таким тезисом выступил Дэйв Керр, статья которого собрала за месяц 90 комментариев, вызвала бурные дискуссии на Reddit и Hacker News, а нас заинтересовала настолько, что мы решили срочно ее перевести. Пользуясь случаем, поинтересуемся: хотите ли допечатку основопола...

Angular: OAuth2 авторизация, рефрешим токен и HttpInterceptor Доброго времени суток. Опишу процесс авторизации с использованием некоторого сервера авторизации и интерфейса HttpInterceptor, который стал доступен с версии Angular 4.3+. С помощью HttpInterceptor`a будем добавлять наш токен в Header запроса перед отправкой каждого запроса...

Классификация объектов в режиме реального времени Автор: Игорь Пантелеев, Software Developer, DataArt Распознавание изображений очень широко используется в машинном обучении. В этой области существует множество различных решений, однако потребностям нашего проекта ни оно из них не удовлетворяло. Нам понадобилось полность...

[Из песочницы] Как я взломал пул для майнинга Bitcoin Сегодня веб-сайты работающие с криптовалютами являются очень «вкусной» мишенью для хакеров. И вроде бы их безопасность должна быть на высоком уровне, но нет. это далеко не всегда так. Посмотрите хотя бы на BlockChain Graveiard, где видно как крупнейшие ресурсы этой сферы бан...

[Перевод] Машина времени на Java В мире существует множество клёвых маленьких библиотек, которые как бы и не знаменитые, но очень полезные. Идея в том, чтобы потихоньку знакомить Хабр с такими вещами под тэгом #javalifehacker. Сегодня речь пойдёт о time-test, в котором всего 16 коммитов, но их хватает. Авто...

Применение методологии OWASP Mobile TOP 10 для тестирования Android приложений Согласно BetaNews, из 30 лучших приложений с более чем 500 000 установок 94% содержат по меньшей мере три уязвимости среднего риска, а 77% содержат хотя бы две уязвимости с высоким уровнем риска. Из 30 приложений 17% были уязвимы для атак MITM, подвергая все данные перехвату...

Новые стандарты для беспарольной аутентификации: как они работают На прошлой неделе были опубликованы два новых стандарта для беспарольной аутентификации на сайтах, в мобильных и веб-приложениях: WebAuthn API и CTAP. Оба были одобрены Microsoft, Mozilla и Google. Подробнее об них расскажем ниже. Читать дальше →

[Перевод] Операционная система на Rust: минимальный multiboot загрузчик Эта статья объясняет как создать минимальное ядро операционной системы, используя стандарт мультизагрузки. По факту, оно будет просто загружаться и печатать OK на экране. В последующих статьях мы расширим его, используя язык программирования Rust. Я попытался объяснить всё ...

Храните данные в облаке Привет, Хабр! Сегодня речь пойдет о сервисах синхронизации и обмена файлами и объектные облачных хранилищах. Облачные хранилища, представленные такими сервисами как SkyDrive или Dropbox, хорошо знакомы пользователям мобильных устройств и компьютеров. В последние годы они поя...

Информационная архитектура и технология DITA. По мотивам лекции в Яндексе Darwin Information Typing Architecture (DITA) — XML-технология для автоматизации процессов, связанных с технической документацией. За время существования DITA накопилось большое количество разнообразных возможностей, подходов к организации контента, а также конкретных механи...

Чего не хватает в Trello для Agile разработки и где искать альтернативы? Многие из тех, кто привык работать с Trello, отмечают удобство и универсальность инструмента, но забывают о том, что вокруг появляется много новых сервисов и функций. Trello построен на базе Kanban досок. К сожалению, Kanban доски в Trello сильно упрощены: с общими офисными...

[Перевод] Как работает JS: движки рендеринга веб-страниц и советы по оптимизации их производительности Сегодня, в переводе одиннадцатой части серии материалов, посвящённых JavaScript, мы поговорим о подсистемах браузера, ответственных за рендеринг веб-страниц. Они играют ключевую роль в деле преобразования описаний документов, выполненных с помощью HTML и CSS, в то, что мы ви...

Музыкальный сервис fizy открыл украинцам полный доступ к возможностям платформы, включая музыку, видео, концерты и онлайн-радио за 49 грн (Basic) или 59 грн (Premium) в месяц Международная музыкальная платформа fizy, которая с прошлого года работает в нашей стране совместно с оператором мобильной связи lifecell, объявила об открытии полного доступа ко всем функциям этого приложения для всех пользователей смартфонов в Украине. Загрузка приложения ...

Моделирование динамических систем: численные методы решения ОДУ Введение Очень кратко рассмотрев основы механики в предыдущей статье, перейдем к практике, ибо даже той краткой теории что была рассмотрена хватит с головой. Итак, задача: Камень бросают вертикально, без начальной скорости с высоты h = 100 м. Пренебрегая сопротивлением во...

[Перевод] Что действительно случилось с Vista См. также: «Что действительно случилось с Vista: инсайдерская ретроспектива» Я обычно пищу о вещах, которыми непосредственно занимался — или писал код, или управлял проектом. В этой статье я выбрал другой подход, чтобы написать о своём взгляде на глубинные причины фиаско Wi...

[Перевод] Как собрать сильную команду аналитиков и инженеров данных? Опыт компании Wish. Часть 2 В первой части мы рассмотрели, как в компании Wish была перестроена инфраструктура данных для того, чтобы увеличить их аналитические возможности. На этот раз уделим внимание человеческим ресурсам и поговорим о том, как дальше масштабировать компанию и создать идеальные коман...

Тесты первого мобильного процессора на базе Cofee Lake появились в Geekbench Новый мобильный процессор Intel Core i7-8750H на базе архитектуры Coffee Lake, которая уже используется в настольных CPU, появился в тестах Geekbench. Разбираемся, какой прирост производительности нас ждет в сравнении с предыдущим поколением интеловских чипов.

Управление трафиком с использованием Fiddler Автор: Ольга Еременко, QA Engineer При тестировании сайтов или мобильных приложений иногда возникает необходимость не только отловить трафик между клиентом и сервером, но и модифицировать его, чтобы посмотреть, как это обработает бэкенд и что поменяется на UI. В таких сл...

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

Apple купила сервис для чтения журналов онлайн Речь идет о сервисе Texture, который позволяет владельцам мобильных устройств на разных платформах читать свыше 200 журналов разных издателей за скромную плату. Сумма сделки между Apple и Texture не разглашается.

Сдать контакты своими руками Как работает сервис GetContact, нарушает ли он законодательство, и почему в Казахстане приложение превратилось в Pootin.

[recovery mode] 3CX v15.5 Update 4 Beta — распознавание речи через Microsoft Speech и обновленный Call Flow Designer На этой неделе произошли два приятных события. Во-первых, мы выпустили обновление 3CX v15.5 Update 4 BETA, и во вторых — очередное обновление среды разработки голосовых приложений 3CX Call Flow Designer. Обновление v15.5 Update 4 BETA В v15.5 Update 4 BETA появился перевод ...

REST-сервисы на ASP.NET Core под Linux в продакшене В основе этой статьи доклад Дениса Иванова (@DenisIvanov) на РИТ++ 2017, в котором он поделился опытом разработки и запуска в продакшен REST-сервиса на ASP.NET Core на Kubernetes. На текущий момент это сделать уже можно без особенных проблем и бояться использовать .NET Core,...

[Из песочницы] Design by Introspection Что, если бы мы умели располагать атомы один за другим как нам угодно? Ричард ФейнманСколько парадигм программирования вы сможете назвать? Список на этой странице википедии содержит ни много ни мало 76 наименований. Этот список может быть пополнен ещё одним подходом, названн...

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

Дома с Ксеомой (Видеонаблюдение и VMWARE ESXi) Системы видеонаблюдения/видеофиксации сейчас очень популярны. И хотя на рынке их великое множество (https://habrahabr.ru/company/intems/blog/322634/) желание сэкономить, особенно для использования дома или в секторе SOHO, часто приводит к мукам выбора. В частности у меня был...

[recovery mode] Интеграция 3CX с собственной CRM-системой: генератор шаблонов CRM Начиная с v15.5 SP2 в АТС 3CX появился механизм серверной CRM интеграции. Он позволяет передать входящий Caller ID в CRM-систему и найти в ней соответствующую запись о клиенте. При этом 3CX получает имя и фамилию клиента из CRM, добавляет их в корпоративную адресную книгу АТ...

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

[Из песочницы] Room: Один ко многим Всем привет. На дворе 2018 и уже почти год как Google активно работает над Architecture Components. Неплохая документация и примеры позволяют начать использование новых компонентов без каких-либо проблем и сложностей. Но всегда есть ложка дегтя в бочке меда кода. Заметки ниж...

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

[Перевод] Создание игры на Lua и LÖVE — 3 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги 9. Director and Gameplay Loop 10. Coding ...

Сколько зарабатывают разработчики игр Все мы знаем, как вы любите играть целыми днями. И как только находится какой-нибудь баг в игре, сразу вспоминаете разработчиков, передавая им пару «ласковых» слов. А что, если мы скажем вам, что разработчика игр не существует? Заинтригованы? Тогда читайте дальше.На самом де...

Как установить приложение, если его удалили из App Store Иногда модераторы App Store удаляют приложения из магазина по каким-либо причинам. Зачастую это случается из-за требований правообладателей или надзирательных ведомств, требующих заблокировать приложение для жителей конкретной страны в связи с нарушением местных законов. Тем...

Рубрика «Читаем статьи за вас». Декабрь 2017 — Январь 2018 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Читать дальше →

Рубрика «Читаем статьи за вас». Февраль — Март 2018 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Читать дальше →

[Из песочницы] Mobility Express — когда решили мигрировать и масштабировать беспроводную сеть, но как всегда, денег нет С выхода первой статьи на Хабре описывающей решении Mobility Express уже прошло более 2-х лет. И что странно, больше эту тему не трогали. Читать дальше →

Панель управления услугами. Часть 3. Рекогносцировка В предыдущей части я закончил рассказ про API и стык с фронтендом. В этой статье я расскажу про сам фронтенд и начну с темы, которая обычно раскрывается ближе к концу. Тестирование. Читать дальше →

О жизни, свободе и стремлении к счастью пользователя API Мы постоянно сталкиваемся с системами, созданными другими людьми. Будь то UI приложений в смартфоне или облачные инфраструктуры современного Интернета — именно процесс взаимодействия определяет наши ощущения, впечатления, и в конечном счёте — отношение к технологии. Мы можем...

Быстрая интерактивная схема зала на canvas Разрабатываем библиотеку для отображения больших интерактивных схем залов на canvas без фреймворков и заставляем хорошо работать в ie и мобильных устройствах. Попутно разбираемся с особенностями работы canvas. Читать дальше →

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

22-24 марта, Москва, OpenHack по контейнерам и микросервисам от Microsoft Я сейчас в Microsoft в инженерной команде отвечаю за поддержку проектов с контейнерами и микросервисами на Azure. В процессе общения с партнёрами и заказчиками возникает очень много вопросов. Часто самый первый вопрос — зачем нам контейнеры. Мой любимый ответ, если вам не ну...

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

Смартфон Ulefone Power 3S выдержал жёсткий тест выносливости аккумулятора (видео) Если вы ищете смартфон с мощным аккумулятором, вам точно стоит обратить внимание на Ulefone Power 3S с его ёмкой батареей на 6350 мАч. Подробнее об этом читайте на THG.ru.

[Из песочницы] Знакомство с Gjallarhorn.Bindable.WPF (F#) на примере выполнения тестового задания В статьях на русском языке теме использования F# совместно с WPF уделяют немного внимания. Сегодня я попробую познакомить вас с одной из F# библиотек, которая значительно упрощает такую разработку. В качестве демонстрационного примера возьмем одно из тестовых заданий по WPF,...

[Перевод] Почему я ушёл из Google и начал работать на себя Последние четыре года я работал разработчиком программного обеспечения в Google, но 1 февраля уволился, потому что они не сделали мне подарок на Рождество. Шучу, на самом деле всё немного сложнее. Первые два года Первые два года я любил Google. Когда при ежегодном опросе ...

Как стать GPU-инженером за час Нужно ли iOS-разработчику, не занимающемуся играми, уметь работать с GPU? Нужно ли ему вообще знать о том, что в айфоне есть GPU? Многие успешно работают в iOS-разработке, никогда не задумываясь об этой теме. Но GPU может быть полезен как для 3D-графики, так и для других зад...

Работа с API КОМПАС-3D → Урок 6 → Сохранение документа в различные форматы Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В этом уроке поговорим о том, как сохранять документы. Читат...

Почему опционы демотивируют сотрудников и становятся причиной разногласий в команде Партнёр юридической фирмы «Зарцын, Янковский и партнёры» Роман Янковский — о том, как работают опционы в российском праве и какие проблемы возникают у тех стартапов, кто бездумно их раздаёт.

Сервис Pandora Premium стал доступен в веб-версии Владельцы сервиса потокового аудиовещания Pandora приступили к следующей фазе монетизации предоставляемых услуг в марте 2017 года. Именно тогда была анонсирована премиум-подписка Pandora Premium стоимостью $10 в месяц, которой могли воспользоваться обладат...

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

[recovery mode] Юнит-тестирование. Чип-тюнинг Не важно, какой подход применяется при написании тестов: TDD, BDD, или какой-то другой. Юнит- тесты это первичный защитный барьер, который помогает избежать багов. А хорошо описанные кейсы помогут коллегам понять, что происходит в проекте и не наломать дров в коде. Читать ...

Прощай, Олаф Opera прекращает поддержку VPN-приложения для iOS и Android, перенаправляя пользователей на SurfEasy. Поднимем за упокой Олафа. Нет, не за очаровательного снеговика из диснеевского «Холодного сердца», а за символ бесплатного приложения VPN Opera. Компа...

Serverless приложение с реализацией CI/CD на базе AWS и Bitbucket Pipelines В статье рассказывается о развертывании Django приложения в облаке AWS с помощью Bitbucket Pipelines. Тем, кому интересна эта тема, добро пожаловать под кат. Вперед, на мины! Читать дальше →

От Excel до СЭД: как организовать удобную обработку материалов для научной конференции В этой статье я хочу поделиться опытом организации сбора, рецензирования и обсуждения материалов, присылаемых участниками научной конференции, ежегодно проводимой нашей кафедрой. Читать дальше →

«МегаФон» стал первым по тесту Speedtest По результатам тестов скорости, проведенных российскими пользователями, «МегаФон» стал оператором с наилучшим мобильным интернетом 4G.

[recovery mode] Когда в лекцию включен опыт команды 25k+: как EPAM сотрудничает с ВУЗами в Беларуси EPAM получила Международную награду CEE Shared Services and Outsourcing Awards за сотрудничество бизнеса с университетами. Читать дальше →

[Перевод] Почему же так тяжело привлекать деньги в опенсорс? Это 4-я статья из цикла переводов текстов зарубежных представителей опенсорс движения. Значительная часть предыдущих статей была посвящена анализу причин, мешающих разработчикам активнее участвовать в OS проектах. Сегодняшний текст посвящен поиску решения одной из ключевы...

Инструмент для мониторинга околороскомнадзорных пертурбаций В связи с всем известными обстоятельствами, сервис мониторинга сайтов ХостТрекер предлагает возможность бесплатного использования наших инструментов для целей информирования общественности, сбора статистики и других интересных вещей. Цель — спасти всех. Ну или хотя бы ползти...

[Перевод] [в закладки] Инструменты для тестирования JavaScript-проектов Автор материала, перевод которого мы публикуем сегодня, сотрудник Welldone Software, говорит, что если в двух словах рассказать об инструментах для тестирования JavaScript-проектов, то для модульного и интеграционного тестирования рекомендуется использовать Jest, а для тесто...

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

Теневой бан и с чем его едят — часть вторая Моя предыдущая статья про «Теневой Бан» на реддите получила порядка сотни комментариев на Хабре и, поскольку с тех пор как я ее выложил я узнал много нового по данной теме, я решил написать продолжение. В данной статье я раскрою дополнительные детали того, как работает авто...

Google добавит в Gmail возможность просмотра страниц напрямую из писем и позволит сторонним приложениям использовать функцию Smart Reply Google привнесла возможности так называемого «ускорителя Интернета» — Google Accelerated Mobile Pages (AMP) — в почтовый сервис Gmail, представив предварительную версию сервиса AMP for Email. Для начала напомним, что инициатива AMP была запущена в 2015 году. Это альтернативн...

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

15 SEO-мифов, которые никогда не умрут В статье мы рассмотрим те мифы, которые, кажется, никогда не умрут – независимо от того, насколько упорно эксперты пытаются их развенчать.

Что общего у компании Crossover, космонавтики и NASA? У удалённой работы и фриланса в буквальном смысле многовековая история. Но её современная разновидность, известная под названием telecommuting, разумеется, гораздо моложе, а к его рождению самое непосредственное отношение имеет космическое агентство NASA. В общем, день космо...

Подводные камни Service Workers В этом коротеньком очерке я опишу те вещи о service workers, о которых я бы хотел прочесть год или хотя бы полгода назад и тем самым избежать очень долгого и мучительного периода отладки приложения. Если вы попали сюда по запросу типа «какого черта мой сервис воркер не рабо...

Как сэкономить на ремонте смартфона с умом Наши смартфоны всегда под рукой и за свою жизнь переживают множество испытаний на прочность. Разбитые дисплеи, сломанные порты и залипшие кнопки — явление достаточно распространённое. Кроме этого, некоторые компоненты подвержены естественному износу: аккумуляторы теряют ёмко...

Android Go и Android One: что это такое и в чём различия В прошлом компания Google запустила несколько связанных с мобильной платформой Android проектов, между которыми легко запутаться. Изначально «корпорация добра» открыла программу Android One, но позже слегка изменила её суть и направление, в связи с чем создала Android Go. Ес...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)