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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Большой комок грязи Привет, Хабр! Представляю вашему вниманию перевод статьи "Big Ball of Mud" авторов Brian Foote и Joseph Yoder. От переводчика: Статья Big Ball of Mud написана Брайаном Футе и Джозефом Йодером летом 1999 года. Она рассказывает о наиболее распространённых антипаттер...

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

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

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

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

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

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

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

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

Scrum vs Kanban: в чем разница и что выбрать? Когда существуют варианты – важно не ошибиться и изучить все детали и возможности, чтобы остановиться на лучшем. Выбирать между методами управления разработкой не всегда просто, особенно если это Scrum и Kanban. Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

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

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

Google в России заблокирован Роскомнадзором? К сожалению, оперативно следить за актуальной информацией и дезинформацией получается все труднее. Интернет уже давно не устроен по принципу один ресурс — один IP, один сервис — одна проверка. На сегодняшний день поступает большой поток жалоб, что не работают Google заклад...

Мульти-классификация Google-запросов с использованием нейросети на Python Прошло уже достаточно времени с момента публикации моей первой статьи на тему обработки естественного языка. Я продолжал активно исследовать данную тему, каждый день открывая для себя что-то новое. Сегодня я бы хотел поговорить об одном из способов классификации поисковых ...

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

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

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

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

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

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

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

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

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

Android P. Больше Bluetooth-аудиодевайсов одновременно После уже рассмотренного ранее недавнего выхода первой ознакомительной версии ОС Android P все, что касается новой программной платформы, приобрело особую актуальность. Начали появляться сообщения о ее новых функциях. Одна из них позволит одновременно подключать больше Blue...

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

Ощущения дефицита в UX: как можно манипулировать пользователями UX-дизайнер Дэвид Теодореску рассмотрел разные варианты использования дефицита товаров в интерфейсе и составил ряд правил, которые помогут применить этот метод лучше всего.

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

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

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

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

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

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

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

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

Плюсы и минусы ведения бизнеса в США: наблюдения после года развития своей компании В прошлом году я рассказывал на Хабре о том, как получил визу О1 и переехал в США развивать собственный бизнес. В комментариях читатели задавали вопросы о том, каково это работать на себя в Америке. И если тогда мой опыт был слишком скудным, чтобы ответить, то теперь после...

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

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

Бесплатный форум iPLACE для предпринимателей: прокачайте свой бизнес! 9 апреля представители малого и среднего бизнеса встретятся на 11-м форуме iPLACE в Санкт-Петербурге. Приходите и вы! Задача форума – вооружить предпринимателей актуальными инструментами и практическими знаниями для развития бизнеса. О программе: — Выступления в двух п...

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

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

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

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

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

Нативная валидация как фреймворк. Лекция в Яндексе Разработка форм — один из самых ответственных и сложных этапов создания веб-интерфейсов. Проект должен получить пользовательские данные, проверить их и дать пользователю обратную связь. Современные браузеры предоставляют разработчику встроенный API, позволяющий поэтапно реал...

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

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

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

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

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

Знакомство с облаком: как работают статические методы распределения трафика Распределение нагрузки в облаке IaaS-провайдера помогает эффективно использовать ресурсы виртуальных машин. Существует множество методов распределения нагрузки, но в сегодняшнем материале мы подробно остановимся на одних из самых популярных статических методах: round-robin, ...

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

Зачем выставлять в Интернет интерфейс управления или атака на Cisco Smart Install Недавно Cisco узнала о некоторых хакерских группировках, которые выбрали своими мишенями коммутаторы Cisco, используя при этом проблему неправильного использования протокола в Cisco Smart Install Client. Несколько инцидентов в разных странах, в том числе некоторые из которых...

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

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

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

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

Внедрение IdM. Часть 3.2. Как построить модель доступа? В предыдущих материалах мы рассмотрели, что такое IdM, каковы признаки необходимости внедрения IdM, а также обозначили необходимость постановки целей и задач (т.е. — чего вы и бизнес хотите от системы управления доступом). А ещё в предыдущей части мы отметили, насколько ва...

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

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

Что думаете по поводу англоязычной версии Хабра? Мотивация В последние дни обдумываю новый материал для Хабра, в тоже время хочу опубликовать его и на английском языке, для того чтобы ссылаться на статьи в англоязычном сегменте интернета. Чтобы добиться примерно похожего с Хабром результата, можно написать статью на Medi...

Hessian-Free оптимизация с помощью TensorFlow Добрый день! Я хочу рассказать про метод оптимизации известный под названием Hessian-Free или Truncated Newton (Усеченный Метод Ньютона) и про его реализацию с помощью библиотеки глубокого обучения — TensorFlow. Он использует преимущества методов оптимизации второго порядка ...

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

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

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

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

[Перевод] Создание игры на 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...

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

Ускоряем метод Виолы-Джонса (Viola-Jones) В последнее время метод Виолы-Джонса, который долгое время был основным способом детектирования объектов на изображении, отступает под натиском более новых и совершенных алгоритмов. Тем не менее, актуальность этого метода еще сохраняется и в настоящем времени. Да, каскадный...

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

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

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

[Перевод] Что есть в новом JupyterLab для пользователей? Всем привет! Одним из основных инструментов на нашем курсе «Разработчик BigData» является Jupyter. Глянем, что его разработчики приготовили в новой итерации и что уже доступно в бета-версии. Поехали. Вкратце: JupyterLab готов к ежедневному использованию (установка, докуме...

Mikrotik RoS, полезные мелочи Распространенность оборудования Mikrotik растет с каждым днем, все больше устройств, а значит и RoS, появляется не только в корпоративном секторе, но и у обычных, домашних пользователей. К сожалению, не смотря на вполне нормальные настройки по умолчанию, которые можно сделат...

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

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

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

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

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

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

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

Как набрать много подписчиков в Instagram – 12 советов Давайте признаемся, сервис Instagram становится по-настоящему интересным, когда начинают появляться фолловеры. Тем не менее, большинство из пользователей, только зарегистрировавшихся, вряд ли обладают широкой аудиторией. Эта статья расскажет об основных методах привлечения л...

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

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

Дополнительные факторы оценки спам активности IP/Email адресов в Anti-Spam/Anti-Fraud API CleanTalk Cloud Anti-Spam в процессе работы, собирает данные о спам активности IP/Email адресов. На основе этих данных формируется база данных спам IP/email. CleanTalk предоставляет несколько API методов для работы с имеющимися у нас данными. Недавно нами были добавлены нов...

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

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

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

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

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

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

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

Шансы на успех в Европейском Суде жалоб на блокировку ресурсов Вероятнее всего жалобы в Европейский Суд на блокировки ресурсов в связи с попытками Роскомнадзора заблокировать Телеграмм могут иметь большие шансы того, что Суд может признать нарушение. Вопросы блокировки сайтов рассматривались Европейским Судом в нескольких делах. Больш...

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

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

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

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

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

[recovery mode] Анализ данных — основы и терминология В этой статье я бы хотел обсудить базовые принципы построения практического проекта по (т. н. «интеллектуальному») анализу данных, а также зафиксировать необходимую терминологию, в том числе русскоязычную. Согласно википедии, Анализ данных — это область математики и информа...

SOC for intermediate. Разбираемся в том, что защищаем, или как провести инвентаризацию инфраструктуры И снова всем привет. Цикл «SOC for …» продолжает свое движение и развитие. Первый слой внутренней кухни центров мониторинга и реагирования на инциденты мы уже успели осветить в предыдущих статьях, поэтому попробуем понемногу пойти вглубь, к техническим подробностям и более т...

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

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

Автоэнкодер в задачах кластеризации политических событий Я не люблю читать статьи, смотрю demo и кодДемо TensorBoard Projector Работает в Chrome. Открываем и нажимаем на Bookmarks в нижнем правом углу. В верхнем правом углу можем фильтровать классы. В конце статьи есть GIF картинки с примерами использования. Проект на GitHub ...

Огонь, вода и медные трубы: как мы создавали новый POS-терминал АТОЛ Optima Мы задумались о собственной разработке нового, инновационного устройства для торговли осенью 2016 года. На создание ушел целый год: проработали 8 вариантов внешнего вида, 3 варианта технических характеристик, провели личные переговоры с 4-мя производителями. Пять месяцев зан...

[Из песочницы] Как начать работать с Лямбда-выражениями в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "How to start working with Lambda Expressions in Java" автора Luis Santiago. До того как Лямбда-выражения были добавлены в JDK 8, я использовал их в таких языках как C# и С++. Когда они были добавлены в Java...

Алиса, Google Assistant, Siri, Alexa. Как писать приложения для голосовых ассистентов Рынок голосовых ассистентов расширяется, особенно для русскоязычных пользователей. 2 недели назад Яндекс рассказала впервые про платформу Яндекс.Диалоги, 2 месяца назад Google представила возможность писать диалоги для Google Assistant на русском языке, 2 года назад со сце...

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

Технострим. Учим строить интернет Интернет открывает широкие возможности для дистанционного обучения разработке и программированию. Наш YouTube-канал «Технострим» уже 5 лет знакомит с миром программирования огромное количество людей. На сегодняшний день канал предлагает более 1000 видеоуроков на самые разны...

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

Онлайн-курс по iOS-разработке для начинающих от Redmadrobot и Contented Для тех, кто уже имел дело с кодом, но пока не умеет писать для iOS, вместе с Contented мы запустили курс по разработке приложений. Читать дальше →

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

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

Установка центра сертификации на предприятии. Часть 1 Привет, Хабр! Мы начинаем новую серию статей. Она будет посвящена развертыванию службы сертификатов на предприятии на базе Windows Server 2016 с практическими примерами. Сегодня обозначим вступительные моменты и поговорим о типовых схемах развёртывания иерархии PKI: двухуров...

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

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

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

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

[Перевод] Разбираемся в redux-saga: От генераторов действий к сагам Любой redux разработчик расскажет вам, что одной из самых тяжелейших частей разработки приложений являются асинхронные вызовы — как вы будете обрабатывать реквесты, таймауты и другие коллбэки без усложнения redux действий(actions) и редьюсеров(reducers) В этой статье я опи...

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

[Перевод] Learn OpenGL. Урок 4.6 — Кубические карты Кубические карты До сих пор нам приходилось пользоваться лишь двухмерными текстурами, однако, OpenGL поддерживает гораздо больше типов текстур. И в этом уроке мы рассмотрим тип текстурной карты, на самом деле, представляющий собой комбинацию нескольких отдельных текстур – э...

[Из песочницы] Сумма сумм арифметических прогрессий Пускай у нас есть некий ряд ячеек, часть которых можно пометить как «занятые»: Нам нужно узнать, сколько всего существует вариантов расположения занятых ячеек. К этой схеме сводится множество задач. Например, разбиение периода из N + 1 календарных дней на l + 1 следующих ...

[Из песочницы] Аналоговые часы, CSS и ничего больше Что здесь не так? Здравствуйте, недавно послушал новый выпуск Веб-стандартов и там был момент с обсуждением статьи «Время переменных» где автор решил поэкспериментировать с CSS переменными и создать на основе них аналоговые часы. Все выглядит шикарно и главное работает, но у...

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

Spring AOP и JavaConfig в плагинах для Atlassian Jira В этой статье разработаем плагин для Atlassian Jira, где с помощью JavaConfig определим бин с областью видимости прототип, залогируем вызовы методов бина, используя AOP, и выведем информацию из внешних бинов (ApplicationProperties, JiraAuthenticationContext и ConstantsManag...

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

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

Увольнение за хранение на рабочем компьютере порнографии: Европейский Суд не нашел нарушения Европейски Суд изучил как порнография вредит французским железным дорогам и вынес новое постановление 22 февраля 2018 по делу, касающемуся увольнение за использование рабочего компьютера в личных целях (Libert c. France, no. 588/13). Это новое дело отличается от предыдущего ...

SEO оптимизация статьи: актуальный план Осторожно! Лонгрид. Речь пойдет об оптимизации страницы статьи для поисковых систем. Данный материал больше подходит для продвижения в Яндексе. Специально для Хабровцев, в заключении есть список всех разделов применимых к Хабрастатьям. UPD// Эта страница уже в топе Google. ...

Связка Apache PHP MySQL в Solaris 11.3 При первом знакомстве с Solaris единственным для меня недостатком был тот факт, что пакеты которые возможно установить являются довольно устарелыми, но к счастью актуальные версии можно собрать из исходного кода. В данной публикации пойдёт речь о сборке apache и php из исход...

[Перевод] Новшества React 16.3(.0-alpha) React 16.3-alpha опубликован в npm, его уже можно загружать и использовать. Сегодня мы поговорим о самых крупных и интересных нововведениях этого релиза. В частности, речь пойдёт об API Context, о новых методах жизненного цикла, о статическом методе getDerivedStateFromProps,...

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

[Перевод] Руководство по фоновой работе в Android. Часть 1 О фоновой работе приложений в Android есть много статей, но мне не удалось найти подробного руководства по реализации работы в фоне – думаю, из-за того, что появляется все больше новых инструментов для такой работы. Поэтому я решил написать серию статей о принципах, инструме...

Индексы в PostgreSQL — 10 В прошлых статьях мы рассмотрели механизм индексирования PostgreSQL и интерфейс методов доступа, а также хеш-индексы, B-деревья, GiST, SP-GiST, GIN, RUM и BRIN. Нам осталось посмотреть на индексы Блума. Bloom Общая идея Классический фильтр Блума — структура данных, позволя...

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

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

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

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

Разработка Rich Text Editor: проблемы и решения Текстовые редакторы, как тип программного обеспечения, появились чуть позже чем динозавры, и вероятнее всего это был вообще первый софт, с которым вы столкнулись в своей жизни, возможно кто-то даже застал MS-DOS Editor. Однако с переходом большой части ПО в браузеры актуал...

[Из песочницы] Плата BLE400 и разработка под nRF51822 Для разработки под микроконтроллер nRF51822 существует несколько комплектов от Nordic Semiconductor, все они достаточно дороги зато обеспечивают возможность удобной работы без возни с программаторами. При этом у китайских производителей можно обнаружить платы облегчающие отл...

[Перевод] Как я заработал 200 000 $ в 16 лет Года три назад я опубликовал рассказ о приложении Follow для Twitter, которое сделал еще в старшей школе, и о том, как оно собрало 150 000 скачиваний за два года. В той статье я мимоходом упомянул, что мои первые шаги в программировании — это отдельная, еще более пространная...

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

Splunk + Excel. Что получится? В предыдущих статьях мы много рассказывали о Splunk. Это продукт, который позволяет собирать и анализировать данные с любых IT-систем в режиме реального времени, например, это могут быть результаты работы web-сервера, почтового сервера, Windows, различных приложений и тд. Зн...

Обзор be quiet! System Power 9 500W. Недорогой блок питания с 80Plus Bronse В феврале известная компания be quiet! обновила семейство недорогих блоков питания новым поколением System Power 9. Эти модели рассчитаны на экономных пользователей и включают модели мощностью 400, 500, 600 и 700 Вт. Предыдущее поколение мы изучали на примере Be quiet! Syste...

[Перевод] Проект RealWorld: сравнение фронтенд-фреймворков Материал, перевод которого мы предлагаем сегодня вашему вниманию, представляет собой обновлённую, с учётом положения дел в 2018 году, версию статьи об исследовании фреймворков, которая была опубликована в декабре 2017. Читать дальше →

[Из песочницы] Самый выразительный. Краткое пособие по языку Red Привет всем! Сегодня я хотел бы рассказать о языке программирования Red. Язык Red является непосредственным преемником более раннего языка REBOL. Оба они малоизвестны в русскоязычном сообществе, что само по себе странно, т.к. указанные языки представляют интерес как с точки...

Прыжок в облако. Строим бюджетное решение для интернета вещей на NodeMCU + Azure IoT Hub Для подписчиковСамое популярное назначение IoT-устройств — это сбор телеметрии. На сегодняшний день цены на облачные IoT-сервисы снизились буквально до одного доллара в месяц, который, согласись, не жалко отдать даже просто ради эксперимента. :) В этой статье я расскажу, как...

9 лучших книг про IT и программирование, которые вы могли пропустить Помните, Льюис Кэрролл писал: «Здесь приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее»? Это фраза прекрасно подходит для IT-мира: технологии быстро развиваются, и каждый день нужно осваивать что...

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

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

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

[Перевод] Пять причин проникнуться симпатией к Flutter На конференции Google I/O ’17 Google представила Flutter — новую опенсорсную библиотеку, предназначенную для создания мобильных приложений. Как вы, возможно, знаете, Flutter — это решение для разработки кросс-платформенных мобильных приложений с симпатичным пользовательским...

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

Как мы общаемся с React-компонентам при помощи декораторов в TypeScript При разработке приложений на React довольно неудобно создавать независимые друг от друга компоненты, т.к. стандартным способом для обмена данными между ними является "Lifting State Up". Этот подход постепенно загрязняет ненужными свойствами промежуточные компоненты, делая их...

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

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

[Перевод] UX-исследования и сила доказательств Привет всем! Предлагаю вашему вниманию перевод статьи Dr. Philip Hodgson (@bpusability в Twitter). Он имеет BSc, MA и PhD в экспериментальной психологии. У него за спиной более чем 20-летний опыт работы в качестве исследователя, консультанта и тренера по юзабилити, пользоват...

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

Samsung работает над основой Galaxy S10? Компания Samsung сравнительно недавно порадовала своими премиальными смартфонами поколения Galaxy S9, но уже сейчас появляются сообщения, касающиеся того, чем могут укомплектовать Galaxy S10. Более того, считается, что южнокорейским технологическим гигантом уже начата работ...

Релиз Yii 2.0.15 и расширений баз данных с исправленными уязвимостями Сегодня мы выпускаем обновления Yii для нескольких последних версий 2.0.x и официальных расширений поддержки нереляционных баз данных для исправления найденных уязвимостей. Патчи исправляют проблему в методах слоя ActiveRecord: findOne() и findAll(), которые могут допустить ...

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

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

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

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

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

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

Опыт двух попыток сдачи JNCIE-SP Введение Добрый день или вечер, или даже ночь, дорогие хабравчане. В данной статье хочу поделиться своим опытом, сдачи экспертного экзамена JNCIE-SP. Я обладаю опытом двух сдач, в Москве и Амстердаме. Читать дальше →

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

Один день в Альфа-Банке: мобильная разработка Альфа-Банк стал одним из первопроходцев мобильного банкинга: приложения для iOS и Android появились у него ещё в 2010-м, когда возможность «пополнить баланс телефона с самого телефона» была непривычной. А как обстоят дела с мобильной разработкой в банке теперь, спустя все ...

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

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

Программный синтез звука на ранних персональных компьютерах. Часть 2 Это статья о первых программных синтезаторах, которые были когда-то созданы на самых обычных персональных компьютерах. Я даю несколько практических примеров по реализации простых методов звукового синтеза в историческом контексте. Перейти к первой части Читать дальше →

Intel призналась в неспособности выпустить обновление микрокода, устраняющего уязвимость Spectre Судя по данным в документе Microcode Revision Guidance Guide, опубликованном Intel, компания прекратила разработку обновлений, которые должны были устранить уязвимость Spectre. Уточним, что это касается семейств Penryn, Wolfdale, Bloomfield, Yorkfield и других, хотя и н...

Интересные факты о Python или «С днем рождения, Python!» Всем привет! Сегодня 20 февраля, а это означает, что сегодня день появления на свет языка программирования Python! Сегодня Python исполняется 27 лет. За эти года, Python стал одним из самых популярных языков программирования в мире. Что же, пожелаю дальнейшего развития и п...

Дистанционная образовательная программа по созданию игр В Высшей школе бизнес-информатики НИУ ВШЭ мы запустили новую дистанционную образовательную программу повышения квалификации «Основы создания игр». Это короткий интенсивный курс на полтора месяца, целью которого является формирование у слушателей базового понимания игровой ин...

MBO, OKR, PPR: смешивать, но не взбалтывать Давайте поговорим о методиках целеполагания. Эта тема актуальна практически во всех компаниях. Как ставить цели? Как сделать так чтобы цели достигались? Как не получить на выходе формальную отписку в стиле «я буду долго и упорно работать», но без какой-то конкретики? Такие ц...

Универсальные приложения React + Express В прошлой статье рассматривалась библиотека Next.js, которая позволяет разрабатывать универсальные приложения «из коробки». В обсуждении статьи были озвучены существенные недостатки этой библиотеки. Судя по тому, что https://github.com/zeit/next.js/issues/88 бурно обсуждаетс...

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

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

5 способов добавить рингтон на iPhone У каждого варианта есть свои плюсы и минусы. Выбирайте тот, что покажется самым удобным.

Duke Nukem Forever, которого не было Не будем таить греха, — для многих легендарный долгострой Duke Nukem Forever, который начали разрабатывать в 1997 году и выпустили лишь спустя 14 лет, в 2011-ом, - оказался настоящим разочарованием. Это, конечно, не помешало вашему покорному слуге собраться вместе с друзья...

Google проведёт редизайн веб-версии Gmail и добавит в сервис новые опции Пользователи смогут откладывать письма, плюс читать их в офлайне.

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

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

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

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

Рустам Мехмандаров и Александр Тарасов — семантические чудеса и автоматизация экспериментов на jug.msk.ru 5 апреля 2018 года, как раз накануне конференции JPoint 2018, прошла очередная встреча московского сообщества Java-разработчиков jug.msk.ru. Рустам Мехмандаров рассказал об опыте решения задач с использованием Apache Jena. Александр Тарасов поведал про использование DSL на о...

О портировании проекта MIPSfpga Перенос программного обеспечения с одной компьютерной архитектуры на другую в принципе, с некоторыми оговорками, дело относительно простое. Здесь на помощь приходят такие общеизвестные инструменты, как autoconf / automake/ libtool / gnulib. Собрать программу из исходников ...

Введение в Postman “Разработка API сложна, Postman делает её лёгкой” © Postdot Technologies, IncКогда видишь описание инструментов Postman — захватывает дух, просыпается чувство всевластия над своим будущим детищем. Кажется, что и взрощенные в прошлом "монстры" наконец-то падут перед тобой! В...

Миллион плюс один равно миллион. Теория относительности натурального ряда К читателю Несмотря на некоторое количество умных слов и фамилий, статья вполне доступна восприятию нематематика. Несмотря на провокационность заголовка, статья не является фрической. Читайте на здоровье. Пролог Начало двадцатого века было богато на революции — как полити...

Migrate API и с чем его едят. На примере миграции форума Drupal 7. Часть 1 Данное руководство является переводом статьи. Хотелось бы поделиться своим опытом миграции форума с Drupal 7 на Drupal 8, а также рассказать о проблемах, с которым пришлось столкнуться во время этого процесса, а также об инструментах, которые я использовал. Кроме этого я р...

[Из песочницы] Рекомендации по информационной безопасности для малого и среднего бизнеса (SMB) Привет, Хабр! Представляю вашему вниманию перевод и адаптацию статьи "CIS-Controls Implementation Guide for Small- and Medium-Sized Enterprises (SMEs)". Введение Утечки информации о кредитных картах, кража персональных данных, программы-вымогатели (например, Wann...

Обзор нового алгоритма уменьшения размерности UMAP. Действительно ли он лучше и быстрее, чем t-SNE? Привет, Хабр! Задача снижения размерности является одной из важнейших в анализе данных и может возникнуть в двух следующих случаях. Во-первых, в целях визуализации: перед тем, как работать с многомерными данными, исследователю может быть полезно посмотреть на их структуру, у...

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

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

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

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

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

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

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

Топ-10 популярных 3D-принтеров стоимостью менее 100 тысяч рублей Начитались 3Dtoday и осознали, что пора обзаводиться 3D-принтером? Еще не готовы обменять свой автомобиль на профессиональный аппарат? Тогда эта статья для вас. В ней мы рассмотрим десяток популярных вариантов для FDM-печати стоимостью от 10 до 99 тысяч рублей, но не дороже....

[Из песочницы] Динамическое изменение размера шрифта во всем приложении на Android Доброго времени суток, уважаемые читатели. Захотелось мне немного поделиться своими мыслями по поводу android разработки. Возникла у меня задача сделать настройку размера шрифта в приложении, чтобы каждый пользователь сам мог подобрать под себя размер. Изменение размера ш...

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

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

В следующем году Apple выпустит совершенно новый Mac Pro Компьютер Apple Mac Pro последнего поколения был представлен в далёком 2013 году. На сегодняшний день […]

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

Разработка AI для пошаговой игры на Node.js (часть 1) Всем привет! Прошло целых полтора года с момента написания моей первой статьи на Хабре. С тех пор проект FOTM претерпел ряд изменений. В начале пройдёмся вкратце по всем модернизациям, а затем перейдём к детальному разбору основной фичи — AI. Читать дальше →

FPGA для программиста, конечные автоматы (verilog) Стиль описания конечного автомата как образ мышления Когда нужно преодолеть врожденную параллельность FPGA, и появляется желание заставить схему работать последовательно, по алгоритму, на помощь приходят конечные автоматы, про которые написано не мало академических и практич...

Управление проектами по разработке программного обеспечения. Проблемы и пути решения В 2001 году, когда ещё не было Хабра и существенной доли его современных читателей, когда вотерфолл был всемогущим, а об эджайле ещё только-только начинали говорить, я немного поисследовал тему методологий разработки и их отличий друг от друга. В результате появилась статья...

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

[Из песочницы] 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: Постоянная память и интерфейс командной строки ...

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

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

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

Эпизод 0. Hack vs Mac. Xcode build time Эта статья начинает собой цикл из нескольких об использовании Hackintosh в повседневной работе и особенно с IDE Xcode 9 и будет больше интересна разработчикам под языки objc/swift. 
С другой стороны, мой первый хак был собран, когда я не был знаком с этими языками и может пр...

Webpack 4 и code splitting 25 февраля 2018 года вышел релиз webpack 4.0.0 (и на сегодняшний день 4.0.1). Одна из полезных и сравнительно новых фич webpack — code splitting, перенесена в новой версии из плагинов в основную конфигурацию. При практически полном отсутствии документации, как теперь нужно к...

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

Статистика Backblaze, научный подход к анализу надёжности накопителей Фирма Backblaze регулярно публикует статистику по отказам своих жёстких дисков, и даже выложила в свободный доступ полный архов со статистикой S.M.A.R.T параметров всех своих накопителей. В этой статье я покажу как с помощью при помощи лома и какой-то матери с помощью научны...

[Перевод] Классы и фабричные функции в JavaScript. Что выбрать? В JavaScript существуют разные способы создания объектов. В частности, речь идёт о конструкциях, использующих ключевое слово class и о так называемых фабричных функциях (Factory Function). Автор материала, перевод которого мы публикуем сегодня, исследует и сравнивает эти две...

Ардуированная кофемашина Привет, обитатели ХабраХабр! Возможно, по сути статьи я ошибся ресурсом, за мое 9 летнее отсутствие появился некий geektimes, возможно, я должен написать это там, но напишу сюда — на хабрахабр. Если не прав — не бейте ногами. Я люблю делать простые как топор вещи, но одно...

На Международном робототехническом форуме в Сколково инновации представят более 5 тысяч участников Важные технологические решения будут представлены 24 апреля в Технопарке «Сколково». На площадках Технопарка пройдёт международный робототехнический Форум Skolkovo Robotics. Генеральным партнёром самого крупного в Восточной Европе отраслевого события выступит Сбербанк, на ст...

Pygest #22. Релизы, статьи, интересные проекты, пакеты и библиотеки из мира Python [18 января 2018 — 4 февраля 2018] Всем привет! Это уже двадцать второй выпуск дайджеста на Хабрахабр о новостях из мира Python. В этом выпуске вы найдете статьи о MicroPython, сравнение производительности Python, Numba и C ++, основах веб скрапинга и многое другое. Присылайте свои интересные события из ми...

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

Визуализация данных для киноманов: скрапим рекомендации фильмов и делаем интерактивный граф Однажды я наткнулся на интерактивную карту lastfm и решил обязательно сделать подобный проект для фильмов. Под катом история о том, как собрать данные, построить граф и создать своё интерактивное демо на примере данных с кинопоиска и imdb. Мы рассмотрим фреймворк для скрапи...

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

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

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

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

Первая ракета Falcon Heavy вывела в космос не только Tesla Roadster, но и «секретный» груз Несколько дней назад компания SpaceX успешно совершила первый запуск тяжёлой ракеты-носителя Falcon Heavy. В ходе запуска полезная нагрузка в виде автомобиля Tesla Roadster была выведена на заданную орбиту, а два из трёх бустеров были успешно возвращены. Сейчас стало и...

Пять лучших конструкторов сайтов на начало 2018 года На сегодняшний день число сайтов в Интернете перевалило за 1,8 миллиарда и растет каждую секунду (официальные данные сервиса http://www.internetlivestats.com). Не важно, по каким причинам вы можете захотеть создать свой собственный сайт – но сегодня сделать это как никогда п...

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

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

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

Эталонное приложение на базе контейнеров и архитектуры микросервисов Хабр, привет. Сегодня рассказываем вам об эталонном кроссплатформенном приложении .NET Core от Microsoft, созданном на основе упрощенной архитектуры микросервисов и контейнеров Docker. В статье поделимся большим количеством технических данных, документацией, книгами по теме,...

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

Пишем масштабируемые и поддерживаемые сервера на Node.js и TypeScript Последние три года я занимаюсь разработкой серверов на Node.js и в процессе работы у меня накопились некоторые советы и решения, среди которых open-source фреймворк, которыми я хотел бы поделиться. В данной статье мы пройдемся по некоторым принципам, а так же посмотрим на р...

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

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

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

[Из песочницы] Распределённая система управления на базе SoC FPGA Реализация связки прошивки ПЛИС, ПО микроконтроллера NIOS и управляющего ПО под Linux на базе Altera Cyclone V SoC с использованием Avalon Mailbox для создания на их основе распределенной системы управления. Читать дальше →

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

Особенности настройки и запуска PVS-Studio в Docker на примере кода Azure Service Fabric Технологии контейнеризации активно используются для сборки и тестирования программного обеспечения. С появлением PVS-Studio для Linux, пользователям стала доступна возможность добавить статический анализ к другим методам тестирования своего проекта на этой платформе, в том ...

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

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

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

18 правил идеального psd-макета — полезный чек-лист для дизайнеров Общий принцип — Не делай брак. Не бери брак. Не передавай брак. Тойота. Мы редко берём в разработку проекты с уже реализованным дизайном, но такое случается. Когда макеты создаются внутри студии, на любом проблемном этапе вёрстки разработчик может уточнить у менеджера прое...

Основы информационной безопасности. Часть 4. Стандарты и спецификации Это четвертая статья в цикле статей по теме «основы информационной безопасности». Описанные ранее вопросы: Часть 1: Виды угроз Часть 2: Информация и средства ее защиты Цена ошибки Часть 3: Модели информационной безопасности Специалистам в области информационной безопасн...

agile gestalt Кажется, что гештальт подход в психотерапии и гибкие методологии разработки очень близки. Это статья — попытка развернуть эту мысль, имея в виду читателей habra. Что такое agile здесь должно быть понятно, а вот что такое психотерапия вообще и гештальт-подход в частности наве...

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

Cборка-модернизация китайского CoreXY Добрый день!В сегодняшней статье я рассмотрю сборку 3D-принтера DX-3D18930Принтер приобретён на AliExpress здесь. Продавца не рекомендую, редкий тормоз. Принтер шёл полтора месяца.  Распаковка и фото деталей есть в интернете, выкладывать не буду. Опишу свои доработки ко...

Текущая разработка Kotlin На прошлой неделе при поддержке Redmadrobot SPB в рамках SPB Kotlin User Group прошла встреча со Станиславом Ерохиным, разработчиком из JetBrains. На встрече он поделился информацией о разрабатываемых возможностях следующей мажорной версии Котлина (под номером 1.3). В этой ...

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

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

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

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

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

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

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

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

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

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

Что такое EVPN/VXLAN В этой статье я расскажу — что такое EVPN/VXLAN и почему особенности этой технологии кажутся мне привлекательными для применения в ЦОД. Я не буду глубоко погружать вас в технические детали, а остановлюсь на них лишь в той мере, в которой это необходимо для знакомства с техно...

Одноклассники запустили сервис «Моменты» на основе нейросетей Социальная сеть Одноклассники запустила новый сервис «Моменты» с использованием искусственного интеллекта и нейросетей. Социальная сеть готовит видео персонально для каждого пользователя по различным поводам. На этапе тестирования сервиса Одноклассники предложили пользовател...

Новая Toyota Supra с «шестёркой» окажется быстрее Porsche 911 На форуме SupraMkV.com были размещены сканы страниц японского издания Best Car, где указаны технические характеристики новой Toyota Supra. По данным журнала, спорткар оснастят 3,0-литровым 6-цилиндровым мотором, благодаря чему автомобиль будет быстрее легендарного Porsche 91...

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

[Перевод] Самое опасное слово в разработке программного обеспечения «Просто размести это где-нибудь на сервере». «Просто добавь кнопку “Избранного” справа от элемента». «Просто добавь [вставьте здесь сложную опцию] в экране настроек». Использование слова «просто» указывает на множество сделанных допущений. Несколько месяцев назад Брэд Фро...

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

Microsoft хочет приобрести Electronic Arts, Valve и PUBG Corp? Сайт Polygon опубликовал очень интересную статью, в которой говорится, что Microsoft задумывается о покупке крупной компании. В первую очередь, речь идет о компании Electronic Arts, чьи дела сейчас не сказать, что отличные, особенно после скандала со Star Wars: Battlefront I...

В «Одноклассниках» появились «Моменты» на основе искусственного интеллекта Социальная сеть «Одноклассники» продолжает внедрять передовые средства искусственного интеллекта и нейросети: эти технологии легли в основу нового сервиса под названием «Моменты». Соцсеть готовит видео персонально для каждого пользователя по ...

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

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

«Ростелеком» купил операционную систему Sailfish Пресс-служба «Ростелекома» сообщает, что крупнейшая российская телекоммуникационная компания приобрела 75 процентов долей в «Открытой мобильной платформе» и «Вотроне», компаниях, ответственных за разработку операционной системы Sailfish OS. Это приобретение ...

[Перевод] Обзор библиотеки react-testing-library В материале, перевод которого мы публикуем сегодня, Кент Доддс рассказывает о библиотеке собственной разработки для тестирования React-приложений, react-testing-library, в которой он видит простой инструмент, способный заменить enzyme и способствующий написанию качественных ...

Выбираем платный музыкальный сервис для android-устройств: Boom и Яндекс.Музыка На дворе 2018 год, авторы всевозможного контента серьезно взялись за защиту своих прав. По их заявкам блокируется нелицензионная музыка, видео, фильмы и даже книги. Какой же выход из данной ситуации? Вариантов тут не так немного: либо искать лазейки, либо платить за контент....

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

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

Портрет слушателей вечерних курсов Добрый день. С весны 2014 года я совмещаю разработку в области BI и преподавание основ программирования на вечерних курсах профессиональной (пере)подготовки. За четыре года у меня сложилась определенная классификация слушателей. Далее я в общих чертах расскажу какие люди вс...

[recovery mode] Как написать одностраничное приложение (SPA) с использованием Vue.js Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о...

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

Panda VPN для дома Новый домашний антивирус Panda Dome содержит модуль Panda VPN, который позволяет быстро подключить VPN и пользоваться любыми веб-сайтами, различными мессенджерами, соцсетями и разными форумами для знакомства с музыкой, фильмами и софтом. Посмотрим, что такое Panda VPN и ка...

Для борьбы с читерами Valve использует сервер с 3456 процессорами и систему VACnet, основанную на методах глубокого обучения Практически перед всеми разработчиками популярных многопользовательских игр стоит проблема читеров. Её масштабы отличаются в зависимости от проекта, так что некоторые обходятся простым ПО, а некоторым приходится изгаляться другими способами. Как сообщают источники, ком...

Топ-100 технических статей medium за 2017 год Подборка 100 технических статей с Medium за 2017 год. Парсила страницы топ-публикаций за каждый день года (например). Отсортированы по популярности и тегам. Ссылка на перевод, если он есть, идет после ссылки на оригинал. Треть статей переведена на хабре/ГТ. Читать дальше →

Новая жизнь для XMPP. Делаем мессенджер, который не получится заблокировать Идея сделать независимый от корпораций P2P мессенджер не нова, однако разработка нового протокола и клиентских приложений для него достаточно дорогой и долгий процесс. А что, если использовать старый добрый XMPP, в котором уже все давно продумано и запилено? Но это же не н...

Кухонная битва от создателей Enlisted отправит вас в бой в одних трусах Авторы Enlisted решили пойти по популярному пути и запустили тестирование Cuisine Royale. Пока многопользовательский шутер Enlisted создаётся, вы можете принять участие в популярном на сегодняшний день режиме «Королевская битва». Особенностью Cuisine Roy...

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

[Перевод] Изучаем KTX для Android Привет, «Хабр»! Прошло почти 9 месяцев с тех пор, как на Google I/O 2017 компания Google анонсировала Kotlin в качестве официального языка разработки под Android. Кто-то использует его как основной инструмент намного дольше, учитывая, что на нём можно было писать уже с серед...

[Перевод] Разработка статического блога на Gatsby и Strapi Статические веб-сайты содержат страницы с неизменным содержимым. Технически — это набор HTML-файлов, которые, для каждого посетителя сайта, выглядят одинаково. В отличие от динамических веб-сайтов, для разработки таких сайтов не нужно серверное программирование или базы данн...

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

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

На этой картинке 16 кругов, вы их видите? Пользователь форума Reddit под псевдонимом NLS83 опубликовал удивительную картинку-оптическую иллюзию, которая заставит вас часами смотреть на экран, но когда вы увидите, что скрыто под множеством линий и рамок, то уже не сможете «развидеть» изображение. На самом деле, на эт...

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

Недорогие подарки с AliExpress к 23 февраля Близится День защитника Отечества — пора закупать подарки. На всемирной торговой площадке AliExpress доступны множество товаров, которые понравятся любому представителю сильного пола. Мы собрали в этой статье лучшие из них, которые идеально подойдут в качестве подарка на 23 ...

Теперь я тебя вижу: выявление бесфайловых вредоносных программ Злоумышленники твердо намерены применять для обхода средств защиты все более сложные методы. Использование бесфайловых вредоносных программ повышает незаметность и эффективность атаки. В прошлом году бесфайловые методы применялись в ходе двух крупномасштабных кампаний по рас...

[Перевод] Angular. Рекурсивный компонент Бывают ситуации, когда нужно отобразить дерево с неопределенным количеством вложенных однотипных данных и при этом желательно не дублировать код на каждом уровне. В этой короткой статье мы создадим компонент, который будет использовать в качестве входного параметра массив ...

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

Большой комок грязи, часть 2 Продолжение перевода статьи «Big ball of Mud». ОДНОРАЗОВЫЙ КОД он же QUICK HACK (быстрый хак) KLEENEX CODE (код на салфетке) DISPOSABLE CODE (утилизируемый код) SCRIPTING (скрипт) KILLER DEMO (демо-убийца) PERMANENT PROTOTYPE (постоянный прототип) BOOMTOWN (быстро выросший ...

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

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

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

Google работает над созданием облачных блокчейн-решений Целый ряд источников сообщает о том, что Alphabet Inc. не только работает над собственной вариацией блокчейна, но и занимается разработкой ряда облачных решений на его базе. По словам Bloomberg и его осведомителей, таким образом поисковый гигант намерен укрепить свои позиц...

Galaxy S9 и S9+. Больше рендеров от Эвана Бласса С каждым днем приближается одно из самых интересных широкой публике событий мобильной индустрии — дебют новых флагманов Samsung Galaxy S9 и Galaxy S9+. Еще задолго до их появления перед аудиторией в Сети стали появляться многочисленные предположения о том, какими стан...

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

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

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

[Перевод] Разбор алгоритма консенсуса в Tendermint В этой статье описан алгоритм консенсуса BCA (Byzantine Consensus Algorithm), используемый в Tendermint. Разработанный на основе протокола DLS, он не требует никакого "активного" майнинга, как в Proof-of-Work, и может обеспечить безопасную работу сети при наличии как миниму...

Удостоверяющий Центр на базе OpenSSL, SQLite3 и Tcl/Tk Если прогуляться по просторам Хабрахабра, то можно найти различные публикации на тему создания цифровых сертификатов, организации Центров сертификации (ЦС) или даже Удостоверяющих Центров (УЦ) на базе OpenSSL. В основном эти статьи в той или иной мере полноты описывают испо...

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

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

Key transparency & Coniks для защиты структур данных Нас, как организаторов конференций для разработчиков, не обошел стороной мощный поток развивающейся технологии Blockchain. На осеннем Highload++ было несколько докладов, касающихся технологических особенностей и способов применения этой технологии в различных задачах. Под ...

Анонс Windows 10 Build 17101 (Fast) и 17604 (Skip Ahead) Привет, инсайдеры! Как и сообщалось ранее, разработка обновления Redstone 4 выходит на финишную прямую. Начиная с сегодняшнего дня вновь открыт канал Skip Ahead, на котором инсайдеры будут получать первые предварительные сборки Redstone 5, тогда как на канале Fast продолжит...

Обзор Fling Fighters. Сражения по сети Сейчас разработчики мобильных продуктов понимают, что им нужно делать не просто хорошие игры, а что-то такое, что может увлечь игрока на длительное время. Никто сейчас не хочет играть в стратегии в реальном времени, так как туда нужно вкладывать очень много своего свободного...

Понимание 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++. Тема не нова, но з...

[Перевод] Как сохранить заряд смартфона? С 23 февраля, господа! Да, день защитника отечества давно перестал быть только для защитников, но им отдельный салют! По случаю праздника мы подготовили статью о том, что любит большинство парней — об играх. Точнее, о нашей новой разработке под кодовым названием RAVEN, кото...

В Сколково на Международный робототехнический форум съедутся более 5 тысяч участников Уникальный опыт ведущих стран в сфере робототехники и новейших кибер-разработок будет представлен 24 апреля в Технопарке «Сколково». Там начнет работу Международный робототехнический Форум Skolkovo Robotics.Шестой Международный робототехнический Форум является преемником еже...

Red Hat представила систему нового поколения для автоматизации принятия решений Red Hat, поставщик решений с открытым кодом, представила платформу управления решениями Red Hat Decision Manager 7, которая упрощает разработку и развертывание приложений и сервисов на основе бизнес-правил. Red Hat Decision Manager является наследником решения JBoss BRMS и п...

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

Как отключить подсказки (предиктивный набор) на клавиатуре iPhone или iPad Компания Apple с каждым релизом нового поколения своей фирменной операционной системы iOS старается улучшить и всячески облегчить жизнь пользователей. Однако далеко не все внедренные нововведения оказываются популярными. Так например, весьма спорной является функция предикти...

Как устроены подсказки «Дадаты» по адресам «Дадата» с 2014 года пилит «Подсказки». Они помогают быстро и без ошибок вводить контактные данные: адреса, реквизиты банков и компаний, емейлы — вот это все. Штука устроена затейливо, и мы решили о ней рассказать. Возьмем подсказки по адресам, потому что они самые сложные...

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

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

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

BuzzSumo: с 2015 года количество репостов в соцсетях сократилось на 50% За период с 2015 по 2018 год количество репостов контента в социальных сетях сократилось на 50%. Об этом свидетельствуют данные нового отчёта BuzzSumo, основанного на анализе 100 млн статей. В 2015 году статьи получали в среднем 8 репостов, а на сегодняшний день эта цифра уп...

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

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

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

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

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

[Из песочницы] Руководство инструктора к книге «Программирование: Принципы и практика с использованием C++» Привет, Хабр! Представляю вашему вниманию перевод статьи "Instructor’s Guide for Programming" автора Бьярне Страуструпа (дата последнего посещения: 20.12.2017). От переводчика Бьярн Страуструп известен как разработчик языка программирования C++. Книги его авторства...

Google решает проблему с блокировкой поисковика, YouTube, Gmail и других сервисов Сегодняшний день для российского подразделения компании Google стал далеко не самым лучшим, потому как ночью Роскомнадзор внес в реестр запрещенных ресурсов важные IP-адреса компании, в результате чего многие ее сервисы перестали открываться, в том числе

Google leanback — забота большого брата Добрый день, читатели Хабра. Хотел бы поделиться своим опытом разработки приложения для Android TV на примере DetailsFragment. Есть официальные примеры тут и официальная документация тут. Что сподвигло меня выразить свое мнение? Это то, что официальные примеры не отвечают...

Как собирать данные с сайтов: онлайн-сервисы и Python 31 марта 2018 года в Перми состоялся митап Теплицы социальных технологий, посвященный технологии веб-скрейпинга с помощью программного кода. Участники обсудили необходимость сбора данных и рассмотрели сценарии использования собранных данных для исследования проблемы, из...

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

Нативно или нет? 4 мифа о кросс-платформенной разработке Смартфоны продолжают отвоевывать все больше места под солнцем не только как инструмент потребления фотографий котиков, но и в качестве рабочего инструмента. Поэтому и спрос на мобильную разработку растет. Принято считать, что тру и кул — это Objective-C/Swift для iOS и Java/...

Роботизированные картели - новая реальность В феврале 2018 года Московским и Ленинградским УФАС России возбуждены дела по признакам поддержания цен на электронных аукционах компаниями-конкурентами (п.2 ч. 1 статьи 11 Закона о защите конкуренции).В настоящее время антимонопольные органы располагают информацией об испол...

[Перевод] Чему робототехника может научить игровой ИИ Я исследователь-робототехник и в то же время моё хобби — разработка игр. Моя специализация — планирование многомерного движения манипуляторов роботов. Планирование движения — это очень важная тема для разработчиков игр, она пригождается каждый раз, когда нужно переместить у...

Роскомнадзор заблокировал 18 VPN-сервисов «На сегодняшний день ограничивается доступ к 18 VPN и прокси-сервисам», — рассказала пресс-служба Роскомнадзора.

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

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

Роскомнадзор заблокировал 18 VPN и прокси-сервисов из-за Telegram Роскомнадзор ограничил доступ к 18 VPN и прокси-серверам, которые предоставляли возможность доступа к Telegram на территории России. «На сегодняшний день ограничивается доступ к 18 VPN и прокси-сервисам», — рассказали  «Интерфаксу» в пресс-службе ведомства. Сегодня так...

[Перевод] Профилирование: измерение и анализ Привет, я Тони Альбрехт (Tony Albrecht), инженер в Riot. Мне нравится профилировать и оптимизировать. В этой статье я расскажу об основах профилирования, а также проанализирую пример С++-кода в ходе его профилирования на Windows-машине. Мы начнём с самого простого и будем п...

Microsoft анонсировала решение на базе Linux "За 43 года настал первый день, когда мы представляем и будет распространять свое ядро Linux", - заявил президент Microsoft Брэд Смит на конференции в Сан-Франциско. По его словам, растущее количество новых гаджетов, имеющих собственные процессоры, вызывает бес...

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

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

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

Интегрируем TeamCity с JIRA – без плагинов и администраторов Мы разрабатываем большое модульное UI-приложение, состоящее из большого количества плагинов с разными циклами релиза. Весь код располагается в одном репозитории, так что к разработчикам постоянно приходит QA-специалист и спрашивает: «А какой компонент поменялся? Какую версию...

«Репетитор: математика» для подготовки к ЕГЭ и ВПР — от идеи до релиза. Рассказ об уникальном образовательном проекте Содержание Вступительное слово С чего все началось? — Зарождение идеи и задач — Несколько слов о нашей команде Как перевести в цифровой формат то, что делает профессиональный репетитор? — Основные идеи приложения — Как обеспечить индивидуальный подход к каждому пользователю...

[Перевод] Квантовая телепортация на языке Q# Скажу сразу: как бы мне этого ни хотелось, квантовая телепортация не позволит перенести мою бабушку из деревни в мою квартиру. Бабуля знает, что мне нравятся всякие квантовые штуки, и решила вместо денег и носков отправить мне на день рождения квантовое состояние. Здесь мы п...

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

[Перевод] Разработка игр под NES на C. Глава 24. Приложение 2 — работа с банками памяти Завершающая часть цикла. В этой главе рассмотрим работу с маппером MMC3 на примерах <<< предыдущая Источник Раньше мы не использовали переключение банков памяти, но теперь настало время освоить маппер MMC3. Без маппера можно использовать 32 килобайта PRG ROM для ко...

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

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

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

Задай вопрос создателю Vue.js Vue — JavaScript фреймворк для разработки веб-приложений на JavaScript, созданный Эваном Ю (Evan You) в 2013 году. Vue нашел золотую середину между React и Angular и испытал взрывной рост в последние два года, попав в тройку лидирующих JS фреймворков. В отличии от Angular/...

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

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

Авторы банковского трояна Dridex осваивают новые рынки Dridex известен с 2014 года и является одной из наиболее сложных вредоносных программ в своей категории. Разработка Dridex продолжается - еженедельно выходят новые версии бота, периодически появляются крупные обновления. Так, в начале 2017 года вышла версия Dridex с поддержк...

Опять про пустые перечисления в C# На этот пост мня вдохновила свежая статья на Хабре отсылающая к уже давней проблеме (и советующей статье) о том, как же проверить, что IEnumerable является пустым. Однако в оригинальных статьях, авторы больше сфокусировались на том как оформить проверку, предположив, что про...

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

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

Как загрузить нестандартный лог в Splunk + логи Fortinet Много ли мы генерируем данных, используя информационные системы каждый день? Огромное количество! Но знаем ли мы все возможности по работе с такими данными? Определенно, нет! В рамках этой статьи мы расскажем какие типы данных мы можем загружать для дальнейшего операционного...

Cisco ASA: пропатчена критическая уязвимость межсетевых экранов В конце января компания Cisco сообщила о критической уязвимости CVE-2018-0101 в межсетевых экранах Cisco ASA. Она позволяла злоумышленникам удаленно выполнять вредоносный код, проводить DDoS-атаки и перезагружать систему. На сегодняшний день уязвимость «закрыта». Мы решили...

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

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

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

Пишем собственный хитрый thread_pool-диспетчер для SObjectizer-а О чем эта статья? Одной из основных отличительных черт C++ного фреймворка SObjectizer является наличие диспетчеров. Диспетчеры определяют где и как акторы (агенты в терминологии SObjectizer-а) будут обрабатывать свои события: на отдельной нити, на пуле рабочих нитей, на одно...

Open Source Initiative исполнилось 20 лет Двадцать лет назад произошло знаменательное событие, обозначившее начало нового движения в разработке программного обеспечения. Компания Netscape Communications Corporation опубликовала исходный код программы Netscape Communicator в качестве открытого программного обесп...

[Из песочницы] Истинная реализация нейросети с нуля. Часть 2. Распознавание цифр Dispute about eternal Сердечно приветствую всех Хабравчан! С момента выхода первой части "Истинной реализации" (рекомендую ознакомиться) прошло достаточно много времени. Как внятных обучающих статей не было, так и нет, поэтому я решил подарить Вам возможность узна...

Социальные сети следят за вами. Разбираем пример Вконтакте Ни для кого не является секретом, что все крупные социальные сети созданы для заработка - вам подсовывается реклама на основе ваших интересов. Интересуетесь вы автомобилями - получите рекламу об автомобилях, интересуетесь майнингом - получите рекламу ASIC'ов. Уже на протяжен...

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

Как размер APK зависит от метода разработки приложения В этой статье мы сравним размеры одинаковых приложений на Java, Kotlin, React Native и Flutter.

Редактор TECO: EMACS, я твой отец Впервые про TECO я прочитал в пародийной статье Real Programmers Don't Use Pascal, написанной незадолго до моего рождения. Там было написано, что настоящие программисты не используют новомодные редакторы EMACS и VI: Нет, Настоящий Программист хочет редактор вида «Просил? Так...

[Перевод] Вышел React v.16.3.0 Несколько дней назад, мы написали пост о приближающихся изменениях в наших lifecycle-методах, где также затронули стратегию постепенной миграции (обновления). В React 16.3.0 мы добавили несколько новых lifecycle-методов для помощи в этой миграции. Мы также предоставили новое...

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

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

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

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

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

Как делать лучшие сайты в России 1 марта состоялась церемония награждения конкурса «Золотой сайт-2017», на следующий день были опубликованы оценки компетентного жюри. Еще осенью прошлого года автор этой статьи решил принять участие в этом увлекательном мероприятии, и процесс из серьезного (что подразумевал...

Интерфейсы: как сообщать пользователю, если «Упс, что-то пошло не так» Здесь вы не увидите ни строчки кода. Мы поговорим об обычных людях — о наших пользователях, точнее о том, как сообщать им, если в системе возникла какая-то непредвиденная ситуация. В основе статьи доклад Антонины Хисаметдиновой с Heisenbug 2017 Moscow, которая занимается п...

[Из песочницы] Обеспечение автоматизации проверки владения доменом на основе DNS-записей в протоколе ACME [перевод] От переводчика: Это перевод статьи от EFF A Technical Deep Dive: Securing the Automation of ACME DNS Challenge Validation. Автор оригинальной статьи: Joona Hoikkala. Дата оригинальной публикации: 23 февраля 2018 Ранее в этом месяце, Let's Encrypt (бесплатный, автоматизирова...

Датчики Холла для бесколлекторного двигателя: возвращение квадратурных энкодеров Это уже третья статья, рассказывающая о квадратурных декодерах, на сей раз с применением к управлению бесколлекторными двигателями. Статья первая: принцип работы квадратурного декодера + код для ардуино. Статья вторая: квадратурный декодер на stm32. Задача: есть обычный к...

[Из песочницы] Удивительно простой обмен сообщениями с Spring Cloud Stream Привет, Хабр! Представляю вашему вниманию перевод статьи "Surprisingly simple messaging with Spring Cloud Stream" автора Richard Seroter. Существует множество вариантов взаимодействия микросервисов. Вы можете использовать обнаружение сервисов (Service Discovery, н...

«Календарь тестировщика». Протестируй безопасность Продолжаем цикл статьей «Календарь тестировщика», в этом месяце поговорим о тестировании безопасности. Многие не знают с чего начать и пугаются сложностей. Иван Румак, тестировщик безопасности веб-приложений в Контуре, поделился основами в поиске уязвимостей. Новички найдут ...

Правила и условия азартных игр в казино Вулкан Голд В наше время найдется немало пользователей, которые используют свои компьютеры. Подключенные к интернету для получения развлечения в свободное от работы или учебы время. На странице http://vulcangrand-online.com/pravila-uslovija/ найдется много полезной и актуальной информа...

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

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

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

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

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

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

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

Тренинг FastTrack. «Сетевые основы». «Свитчи от Cisco». Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

В Яндекс.Браузере для Windows появилась Алиса Команда разработчиков голосового помощника «Алиса» интегрировала свой сервис в десктопную версию «Яндекс.Браузера». Отныне, чтобы воспользоваться возможностями «Алисы» вовсе необязательно устанавливать дополнительное приложение для Windows.  Голосовой помощник в «Яндекс...

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

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

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

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

Проектирование 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. Это первая часть из трех час...

PaEndpointBundle — альтернатива контроллерам Symfony Основным способом для обработки запросов в Symfony являются контроллеры. С возможностью описывать роутинг непосредственно в контроллерах (аннотациями) жизнь стала еще лучше. Но использование аннотаций при наследовании контроллеров вызывает проблемы — для каждого дочернего ко...

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 4 — Компоненты и композиция В предыдущей части туториала мы решили проблемы изоморфного роутинга, навигации, фетчинга и начального состояния данных. В итоге, получилась довольно простая и лаконичная основа для изоморфного приложения, которую я также выделил в отдельный репозиторий — ractive-isomorphic-...

[Перевод] Этот SVG всегда показывает сегодняшнюю дату Для своей странички с контактными данными нужна была стандартная иконка календаря, чтобы люди просматривали мой ежедневник. Такие иконки почти всегда делают наподобие бумажного календаря. Но мне стало интересно, можно ли сделать календарь чуть полезнее, если добавить динамич...

Ложные срабатывания. Новая техника ловли двух зайцев Проблема ложных срабатываний. Точность и полнота. Если есть универсальная болевая точка DLP-систем, то это, без сомнения, ложные срабатывания. Они могут быть вызваны неправильной настройкой политик, но соль в том, что даже если интегратор постарался, и все внедрено-настро...

Расширение и использование Linux Crypto API [0] Интро Криптографический API в Linux введён с версии 2.5.45 ядра. С тех пор Crypto API оброс всеми популярными (и не только) международными стандартами: симметричного шифрования: AES, Blowfish, ... хэширования: SHA1/256/512, MD5, ... имитозащиты: hMAC-SHA1/256/512, hMAC-...

[Перевод] Новости из мира OpenStreetMap №392 (16.01.2018-22.01.2018) Форма для печенья от Кристиана (Christian Quest)[1] Карты Исследовательская группа GIScience из Гейдельбергского университета сообщает о новой версии OSMlanduse.org. Пробелы в данных OSM (только для Германии), теперь заполнены данными извлечёнными из спутниковых снимков, п...

Тренинг FastTrack. «Сетевые основы». «Область использования сетевых коммутаторов, ценность свитчей Cisco». Эдди Мартин Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

Как обмен данными влияет на качество рекомендаций Привет, Хабр! Мы уделяем особенное внимание проверке интеграции при подключении нового клиента к платформе и постоянно отслеживаем статус интеграции в процессе работы. Почему это критически важно? Потому что сбор данных — основа формирования качественных рекомендаций. ...

Официальные чехлы Samsung раскрыли названия и внешний вид будущих флагманов До презентации новых флагманских смартфонов Samsung остаётся три недели, а в сети практически каждый день появляются новые утечки и подробности. На этот раз ресурс Mobile Fun снял мини-обзор на официальные [...]

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

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

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 2 — Hello World В предыдущей части туториала мы узнали что такое проект RealWorld, определились целями туториала, выбрали стек технологий и написали простой веб-сервер на Express в качестве основы для изоморфного фронтенда. В этой части, мы допилим серверную часть и напишем изоморфный «Hel...

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

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

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

Специалисты Juhua Printing создали 31-дюймовую панель 4K OLED, изготавливаемую методом печати В 2016 году принадлежащая TCL компания CSoT объединила усилия с TianMa, CEC-Panda и Cynora в разработке технологии изготовления панелей OLED методом струйной печати. Объединение получило название Guangdong Juhua Printing Display Technology. На этой неделе компания TCL с...

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

Оценка человеческого капитала ИТ-компании с использованием критериев SFIA Что является главным ресурсом любой компании? Согласно современным представлениям — это, конечно, люди. Да, очень часто это могут быть лишь формальные заявления, профанация — человек превыше всего, ориентация на персонал, люди наше всё и так далее. Безусловно, все очень си...

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

Тренинг FastTrack. «Сетевые основы». «Основы беспроводной локальной сети». Часть вторая. Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

Тренинг FastTrack. «Сетевые основы». «Основы беспроводной локальной сети». Часть первая. Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

Браузер != Браузерный движок Всем привет! В данной статье я хочу поделиться мыслями на счёт создания собственного браузерного движка. Мы рассмотрим текущие браузеры и браузерные движки. Вспомним про Modest и узнаем его нелёгкую судьбу. Это будет цикл статей в которых мы создадим свой собственный минима...

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

[recovery mode] Как устроен софт-лонч: разбор от Zorka.Mobi и Nitro Games Каждый разработчик однажды понимает, что пришло время показать свой продукт будущим пользователям. Софт-лонч — первая проверка приложения на выживаемость, именно тестовый запуск раскрывает его сильные и указывает на слабые стороны. В этой практической статье опытом софт-лонч...

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

GeekBrains начинает готовить JavaScript-разработчиков полного цикла На нашем обучающем портале открывается новая профессия — Fullstack JavaScript-разработчик. С помощью актуальных фреймворков ReactJS и Node.js мы научим реализовывать и frontend сайта (то, что пользователь видит в браузере), и серверную часть. Описание и программа под катом....

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

Пользователи Samsung Galaxy S9 и Galaxy S9+ жалуются на проблемы с тачскрином Пользователи новых флагманских смартфонов Samsung Galaxy S9 и Galaxy S9+ начали жаловаться в социальных сетях и на форумах на проблемы с сенсорными экранами. У смартфонов непредсказуемым образом появляются «мёртвые зоны», которые не реагируют на прикосновения до...

[Из песочницы] Как сделать адекватное отображение horizontal scroll bar в QTreeWidget с одной колонкой Привет, Хабр. В этой статье я решил оставить решение проблемы непонятного поведения QTreeWidget – GUI компонента кроссплатформенного фреймворка Qt. Проблема, мне кажется, актуальная, потому что вопрос задаётся на многих форумах, но верного решения не приводится. Впрочем, есл...

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

ЭРА-ГЛОНАСС поможет оповестить владельцев об отзыве автомобилей Оповещение об отзыве автомобилей через систему ЭРА-ГЛОНАСС прошло одобрение Росстандарта. Новый сервис будет особенно актуален для транспортных средств, ввезенных в Россию в обход официального дилера.  Как сообщает издание «Вестник ГЛОНАСС», Росстандарт протестир...

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

Слух: в планшете iPad Pro 3 могут появиться новые процессоры собственной разработки Apple В июне 2017 года компания Apple выпустила последнюю на сегодняшний день модель планшета iPad Pro с экраном размером 10,5 дюймов. Аналитики полагают, что и в этом году новая модель в семействе Pro появится в июне.

Proof-of-Proof-of-Work на пальцах. На пути к разумному блокчейну Блокчейн-протоколы должны обеспечивать консенсус среди нод децентрализованной системы. Пожалуй, самым известным алгоритмом консенсуса можно считать «тормозунутый, но надежный, потому что тормознутый» алгоритм Proof-of-Work: каждая нода, имея набор новых транзакций перебирает...

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

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

[Перевод] Марвин Мински «The Emotion Machine»: Глава 2 «Играя с грязью» 2.1. Играя с грязью «Это не просто изучение вещей, которые важны. Это обучение тому, что делать с тем, что вы учите и познанием, почему вы изучаете все эти важные вещи» — Нортон Джастер, рассказ Фантомный Киоск (The Phantom Tollbooth) Ребенок по имени Кэрол играет с гряз...

Предварительный обзор Sharkoon Skiller SGC1. Такого никто не ожидал На протяжении достаточно длительного времени компания Sharkoon показывала интересные варианты клавиатур - у нас на сайте вы можете найти детальное описание каждого девайса, дабы понимать как компания вышла на рынок игровой периферии. Не могу сказать, что это был прямо взрыв,...

habrahabr.ru → habr.com С сегодняшнего дня Хабр доступен по адресу habr.com. Старые адреса habr.ru и habrahabr.ru теперь используются исключительно для редиректа. Хабр начинает новую большую и захватывающую историю. Читать дальше →

День рождения 4PDA: что изменилось за прошедший год? Приятная весть: сегодня, аккурат в пятницу 13-го, 4PDA исполняется 13 лет. За это время мы выросли из узкопрофильного форума про КПК в серьёзное издание, которое читают сотни тысяч людей ежедневно. Тринадцать [...]

[Перевод] Разработка игр под NES на C. Главы 11-13. Пишем и отлаживаем простой платформер В этой части появляется первая играбельная демка в стиле Марио. Для этого надо разобраться с прокруткой и способами отладки. <<< предыдущая следующая >>> Источник Прокрутка Регистр $2005 управляет прокруткой фона. Первая запись туда выставляет положение го...

Космический аппарат New Horizons сделал снимки, ставшие снимками-рекордсменами, сделанными на самом большом удалении от Земли Космический аппарат New Horizons сделал и передал на Землю несколько новых снимков, на которых показаны области пространства около орбиты Плутона, являющиеся внешними границами Солнечной системы. Данные снимки не могут похвастаться отменным качеством, но самым интересным явл...

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

Выпуск#14: ITренировка — актуальные вопросы и задачи от ведущих компаний На этой неделе мы отобрали вопросы и задачи, встречающиеся соискателям на собеседованиях на должность инженера-разработчика в DELL. Читать дальше →

Hyundai опубликовала ролик с внедорожником Santa Fe 2019 года Южнокорейская компания Hyundai разместила на официальном YouTube-канале видеозапись с Santa Fe 2019 модельного года. Ролик позволяет рассмотреть новый внедорожник со всех сторон, а также увидеть, как работают функции безопасности. На этот раз Hyundai показала на виде...

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

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

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

Приглашаем на первую международную веб-конференцию Kolesa/Web 2018 Привет, Хабр! Весна пришла на планету, а вместе с ней и многочисленные митапы и конференции. Мы продолжаем формировать IT-community в Казахстане и делиться опытом веб-разработки и использования передовых технологий. 21 апреля в г. Алматы проведем первую международную веб...

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

Управление ИТ-активами: как мифы влияют на проекты Все счастливые проекты похожи друг на друга, каждый несчастливый проект несчастлив по-своему. 6 лет занимаюсь внедрением и автоматизацией бизнес-процессов, из них 3 года – внедрением ITAM-решений. В проектах по автоматизации процессов управления ИТ-активами постоянно боремся...

Разработка драйвера PCI устройства под Linux В данной статье я рассматриваю процесс написания простого драйвера PCI устройства под OC Linux. Будет кратко изучено устройство программной модели PCI, написание собственно драйвера, тестовой пользовательской программы и запуск всей этой системы. В качестве подопытного вы...

[Из песочницы] Сравнение Material Design CSS фреймворков Доброго время суток. В статье рассказно о Material Design фреймворках для создания Web-страничек. Если вас интересует тема Material Design, также как и меня, то Добро пожаловать под кат, возможно, откроете для себя что-нибудь новое и интересное. Читать дальше →

Международный форум Skolkovo Robotics: искусственный интеллект, антропоморфные роботы и игры «Лиги Роботов» 24 апреля в Технопарке «Сколково» пройдёт международный робототехнический Форум Skolkovo Robotics. 50 инновационных предприятий из ведущих стран мира представят важные технологические решения по использованию робототехники в промышленности, сельском хозяйстве, медицине и обр...

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

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

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

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

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

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

[Из песочницы] Обзор кейсов интересных внедрений Big Data в компаниях финансового сектора Кейсы практического применения Больших данных в компаниях финансового сектора Зачем эта статья? В данном обзоре рассматриваются случаи внедрения и применения Больших данных в реальной жизни на примере «живых» проектов. По некоторым, особенно интересным, во всех смыслах, кей...

Как читать по одной книге в день Освойте приёмы скорочтения и читайте каждую свободную минуту.

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

Смартфон Galaxy S10 назвали поворотным для Samsung Компания Samsung еще только-только собирается представить смартфоны Galaxy S9 и Galaxy S9+, а в сети уже появились предварительные данные о следующем флагмане линейки смартфонов южнокорейского производителя. Как утверждается, устройство, условно обозначаемое Galaxy S10...

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

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

Каждый пятый покупатель не знает, что такое агрегатор товаров 19 апреля 2018 года на Российском Интернет Форуме (РИФ 2018) состоялся круглый стол, посвящённый доверию пользователей сервисам электронной коммерции. Организатором мероприятия выступил РОЦИТ.

Ключевые характеристики Xiaomi Mi MIX 2S подтверждены фотографией В сети появляется всё больше слухов о новом флагманском планшетофоне Xiaomi Mi MIX 2S, анонс которого пройдёт уже 27 марта. И сегодняшняя фотография проливает свет на большинство ключевых характеристик этого устройства, а также демонстрирует часть его лицевой панели. Подробн...

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

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

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

Место встречи системных инженеров 27 июля 2018 года, в Минске, пройдет мероприятие B.E.E.R для системных, devops, сетевых и многих иных IT-инженеров и всех кому интересна тематика системного инженеринга и технологий. Форум (конференция) B.E.E.R &mdash; мероприятие, которое дает возможность встречаться з...

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

Российские компании возьмут в эксплуатацию взрывозащищенную версию планшета Toughpad FZ-G1 mk4 Москва, Россия — Взрывозащищенная версия планшета Panasonic Toughpad FZ-G1 mk4 ATEX анонсирована в Москве на ежегодном Форуме «Мобильные ИТ-решения для нефтегазового сектора». В рамках форума разработчики программных и аппаратных продуктов обсудили с представителями компаний...

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

ЕК: расследования в отношении Android и AdSense «продвигаются» Еврокомиссар по вопросам конкуренции Маргрете Вестагер (Margrethe Vestager) заявила коллегам, что расследования в отношении Android и Google AdSense «продвигаются». Эти дела касаются соглашений Google с производителями смартфонов по поводу использования операционной системы ...

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

Samsung собирается вытеснить Sony с рынка мобильных камер На сегодняшний день японская компания Sony является крупнейшим производителем сенсоров для камер в смартфонах, но уже в скором времени она может уступить пальму первенства Samsung. Согласно новым [...]

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