Социальные сети Рунета
Понедельник, 17 декабря 2018
30 октября 2018   00:50

[Из песочницы] Подход к реализации RBAC в ReactJS

Вступление Привет, дорогой читатель! Некоторое время (около года) назад столкнулся с необходимостью условной отрисовки компонентов в ReactJS в зависимости от текущих прав пользователя. Первым делом начал искать готовые решения и «лучшие практики». Статья "Role based authori...

Подробности на сайте: habr.com

Реализация SSD кэширования в СХД QSAN XCubeSAN Технологии повышения производительности, основанные на использовании SSD и широко применяемые в СХД, уже давно изобретены. Прежде всего – это применение SSD в качестве пространства хранения, что на 100% эффективно, но дорого. Поэтому в ход идут технологии тиринга и кэширован...

[Из песочницы] Введение в WSGI-серверы: Часть первая Данная статья является переводом статьи Кевина Голдберга «An Introduction to Python WSGI Servers: Part 1» blog.appdynamics.com/engineering/an-introduction-to-python-wsgi-servers-part-1 с небольшими дополнениями от переводчика Краткая история серверов WSGI Python WSGI-серв...

Kivy. Xamarin. React Native. Три фреймворка — один эксперимент (часть 2) Это вторая статья из цикла, где мы проводим сравнение Kivy, Xamarin.Forms и React Native. В ней я постараюсь написать такой же планировщик задач, но с использованием Xamarin.Forms. Посмотрю, как у меня это получится, и с чем мне придется столкнуться. Повторять ТЗ я не буд...

Как организовать общее состояние в react-приложениях без использования библиотек (и зачем нужен mobx) Cразу небольшой спойлер — организация состояния в mobx ничем не отличается от организации общего состояния без использования mobx на чистом реакте. Ответ на закономерный вопрос зачем тогда собственно этот mobx нужен вы найдете в конце статьи а пока статья будет посвящена воп...

[Из песочницы] Middleware и возможности Pipeline в Laravel Laravel — это поистине большая и сложная система, которая старается решить большинство бытовых задач веб разработчика максимально элегантным способом и собрать в себе как можно больше инструментов и, что очень важно — с как можно более человеческим интерфейсом. И сегодня ...

Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения Часть 2: Решение И снова здравствуйте! Сегодня я продолжу свой рассказ о том, как мы классифицируем большие объёмы данных на Apache Spark, используя произвольные модели машинного обучения. В первой части статьи мы рассмотрели саму постановку задачи, а также основные проблемы...

Настройка Jira под ваши нужды. Cовершенный флоу и идеальный тикет Если вы работаете в IT-компании, то, скорее всего, ваши процессы построены вокруг известного продукта Atlassian — Jira. На рынке есть множество таск-трекеров для решения тех же задач, в том числе open-source-решения (Trac, Redmine, Bugzilla), но, пожалуй, именно Jira имеет ...

Используем Node.js для работы с очень, очень большими файлами и наборами raw-данных Этот пост — перевод оригинальной статьи Пейдж Нидринхауз, full-stack software engineer. Ее основная специальность — JavaScript, но Пейдж изучает и другие языки и фреймворки. А полученным опытом делится со своими читателями. К слову, статья будет интересна начинающим разра...

Портирование Quake3 В операционной системе Embox (разработчиком которой я являюсь) какое-то время назад появилась поддержка OpenGL, но толковой проверки работоспособности не было, только отрисовка сцен с несколькими графическими примитивами. Я никогда особо не интересовался геймдевом, хотя, са...

[Из песочницы] Guice всемогущий: assistedinject, multibindings, generics В последнее время чаще стал встречать команды, которые используют Guice в качестве DI фреймворка. Стал его бояться (слезать с любимого Spring!?), и, как это обычно в жизни и бывает, страхи мои материализовались — я попал на проект, на котором активно используется Guice… В и...

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

InfoWatch Traffic Monitor. По лезвию багов и фич «Игорь, у него ДВА сердца!!!» Анна Попова, руководитель Блока DLP ГК Инфосекьюрити, продолжает делиться своими впечатлениями от использования разных DLP-систем. В прошлой статье она рассказала о плюсах и минусах решения КИБ SearchInform. Сегодня, как и было обещано, поговор...

[Из песочницы] Как геймификация улучшает пользовательский опыт Привет, Хабр! представляю вашему вниманию достаточно свободный перевод статьи Ника Бабича. Создание продуктов, отвечающих пользовательским нуждам, фактически стало стандартным подходом к дизайну. Проектировщики, пытаясь улучшить UX, постоянно ищут новые техники и подходы. Од...

[Перевод] Делаем проект по машинному обучению на Python. Часть 2 Перевод A Complete Machine Learning Walk-Through in Python: Part Two Собрать воедино все части проекта по машинному обучению бывает весьма непросто. В этой серии статей мы пройдём через все этапы реализации процесса машинного обучения с использованием реальных данных, и у...

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

Как запустить iOS-приложение через React Native Это перевод оригинальной статьи программистки, ведущей блог под псевдонимом Soujanya PS. Она профессионал своего дела и любит не только разрабатывать приложения и сервисы, но и писать об этом статьи. Вот ее обзор запуска iOS-приложения с использованием фреймворка React N...

[Перевод] Текстуры для 64k intro: как это делается сегодня Эта статья является второй частью нашей серии о создании H – Immersion. Первую часть можно прочитать здесь: Погружение в Immersion. При создании анимации всего лишь в 64 КБ сложно использовать готовые изображения. Мы не можем хранить их традиционным способом, потому что это...

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

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

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

«Резиновый хозяин искать на Алибаба облако»: размещаем Elasticsearch на мощностях Alibaba Cloud Некоторое время назад я рассказывал о нашем опыте решения сложных задач с помощью Elasticsearch. Это была история про колбасу, где мы разработали поиск по базе минимум из 50 000 документов, который позволяет искать ингредиенты в составе продуктов и автоматически формироват...

Управляем стоимостью проекта с Earned Value Management Как измерять и контролировать эффективность исполнения планов проектов — такие вопросы являются постоянной головной болью их руководителей. Подходов к решению этих задач много. В данной статье мы рассмотрим основные элементы техники по управлению освоенным объемом (Earned Va...

[Перевод] Реализация BottomAppBar. Часть 2: Меню и элемент управления Navigation Drawer В предыдущей статье мы обсудили основы BottomAppBar, который не так давно представили на Google I/O 2018 как часть Material компонентов для Android. Мы рассмотрели способ реализации BottomAppBar и изучили его атрибуты. Также BottomAppBar может отображать элементы меню и эле...

Errorx — библиотека для работы с ошибками в Go Что такое Errorx и чем он полезен Errorx — это библиотека для работы с ошибками в Go. Она предоставляет инструменты для решения проблем, связанных с механизмом ошибок в больших проектах, и единый синтаксис для работы с ними. Большинство серверных компонентов Joom пишутся на...

[Перевод] Создание GIF-анимации с помощью OpenCV Из этого туториала вы узнаете, как создавать анимированные GIF-файлы с помощью OpenCV, Python и ImageMagick. Затем объедините эти методы, чтобы создать генератор мемов с OpenCV! Нам всем нужно время от времени посмеяться. И, возможно, лучший способ найти лулзы — это мемы....

[Перевод] Собираем собственный аудио усилитель профессионального уровня не (очень) дорого Получаем потрясающий стереозвук на основе платы 3e Audio Д-класса Перевод статьи с сайта IEEE Spectrum, автор – Гленн Зорпет Несколько лет назад я решил узнать, насколько дёшево можно сделать самому усилитель Д-класса аудиофильского качества. Тогда у меня получилось $523,...

[Из песочницы] Как создать чат-бота для ВКонтакте, используя Python, Django и webhook Зачем ещё одна статья про создание чат-бота? Возможно я плохо искал, но я не смог найти подробного руководства по созданию бота на python с применением фреймворка Django и подхода webhook, работающего на хостинге от российской компании. В большинстве материалов говориться о ...

Использование libpam при настройке SOCKS сервера Dante Всем доброго дня. Столкнувшись с необходимостью настроить SOCKS5 я обнаружил, что в интернетах и в частности на Хабре при настройке авторизации для dante-server используется метод «username». Этот метод отнюдь не является безопасным. Об этом не раз писалось ( например ) и п...

Строим храмы — в коде и в жизни. Мой опыт разработки своего второго Android-приложения Приветствую читателей хабра. Вашему вниманию предлагается перевод статьи «Building Cathedrals — In Coding, And In Life. My experience with publishing my second app at 19» Kunal Shandilya. Начало роста приносит человеку новые трудности. Принимая эти трудности, человек обес...

[Из песочницы] Android navigation component. Простые вещи, которые приходится делать самому Всем привет! Хочу рассказать об особенностях в работе Navigation Architecture Component, из-за которых у меня сложилось неоднозначное впечатление о библиотеке. Эта статья не пошаговая инструкция, в ней опущены детали реализации, чтобы сосредоточить внимание на ключевых мом...

[Из песочницы] Реализация алгоритма k-means (k-средних) на примере работы с пикселями Всем привет! Недавно нужно было написать код для реализации сегментации изображения с помощью метода k – средних (англ. k-means). Ну, первым делом Google в помощь. Нашел много информации, как и с математической точки зрения (всякие там сложные математические каракули, хрен п...

[Перевод] Эмуляция литералов свойств с Java 8 Method Reference От переводчика: к переводу этой статьи меня подтолкнула обида от отсутствия оператора nameOf в языке Java. Для нетерпеливых — в конце статьи есть готовая реализация в исходниках и бинарниках. Одна из вещей, которой часто не хватает разработчикам библиотек в Java, — литерал...

[Перевод] Drag и Swipe в RecyclerView. Часть 1: ItemTouchHelper Существует множество обучающих материалов, библиотек и примеров реализации drag & drop и swipe-to-dismiss в Android c использованием RecyclerView. В большинстве из них по-прежнему используются устаревший View.OnDragListener и подход SwipeToDismiss, разработанный Романом...

[Перевод] Докеризация веб-служб на R и Python Привет, Хабр! Контейнеризация — это подход к разработке программного обеспечения, при котором приложение или служба, их зависимости и конфигурация (абстрактные файлы манифеста развертывания) упаковываются вместе в образ контейнера. В этой статье рассмотрим создание docker-об...

[Перевод] Строим систему реактивных компонентов с помощью Kotlin Всем привет! Меня зовут Анатолий Варивончик, я Android-разработчик Badoo. Сегодня я поделюсь с вами переводом второй части статьи моего коллеги Zsolt Kocsi о реализации MVI, которую мы ежедневно используем в процессе разработки. Первая часть здесь. Чего мы хотим и как мы...

[Перевод] 11 библиотек (наборов компонентов) для React Native, о которых стоит знать в 2018-м В начале года мы опубликовали несколько материалов о популярных наборах компонентов для React, Angular и Vue. Сегодня мы представляем вашему вниманию перевод статьи из той же серии, посвящённой React Native. Учитывая непрекращающийся рост популярности React, и то, что мобиль...

QSAN XCubeNAS — NAS для корпоративного использования На текущий момент предложения на рынке корпоративных NAS разделились на два полярных лагеря. В одном лагере находятся дорогие и функциональные системы типа Netapp FAS или EMC Unity. В другом – выходящие за рамки сегмента домашних устройств решения вроде QNAP или Synology, ко...

Кластер kubernetes HA с containerd. Или есть ли жизнь без docker? Развертываение kubernetes HA с containerd Добрый день уважаемые читатели Хабра! 24.05.2018 г. в официальном блоге Kubernetes была опубликована статья под названием Kubernetes Containerd Integration Goes GA, в которой говорится, что интеграция containerd с Kubernetes готова ...

Динамическое программирование или «Разделяй и Властвуй» В этой статье рассматриваются сходства и различия двух подходов к решению алгоритмических задач: динамического программирования (dynamic programing) и принципа «разделяй и властвуй» (divide and conquer). Сравнение будем производить на примере, соответственно, двух алгоритмов...

GraalVM: смешались в кучу C и Scala Не знаю, как на вас, а на меня в последнее время производят сильное впечатление статьи про новые Java-технологии — Graal, Truffle и все-все-все. Выглядит так, как будто раньше ты придумал язык, написал интерпретатор, порадовался какой язык хороший и погрустил, какой медленны...

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

Практика тестирования бэкенда на Java + Rest-Assured В предыдущей статье я поделился своим опытом автоматизации на Robot Framework. Теперь же речь пойдет о несколько другом подходе к тестированию API для проекта на Kotlin. Воспользовавшись свободой выбора стека технологий и опираясь на желание попробовать «в бою» что-то новое...

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

Один год в Фигме. О плюсах и минусах дизайн-инструмента субъективно Последний год я использую Figma. Скорее всего Вы уже о ней слышали. В этой статье я опишу недостатки и преимущества, опираясь на личные наблюдения. Всё сказанное будет носить субъективный характер. Я начал пользоваться Figma еще в тот момент, когда логика работы с компонен...

Android LiveData на Kotlin с использованием Retrofit и coroutines Статья рассказывает об использовании Android Components ViewModel, LifeCycle и LiveData. Эти компоненты позволяют не заботиться о жизненном цикле Activity. Так же рассмотрен пример применения современного Coroutines в связке с репозитарием на Retrofit fun main(args: Array&...

Компонентная архитектура UI в iOS-приложении Привет, Хабр! Меня зовут Валера, и уже два года я разрабатываю iOS-приложение в составе команды Badoo. Один из наших приоритетов — легкосопровождаемый код. Из-за большого количества новых фич, еженедельно попадающих к нам в руки, нам нужно в первую очередь думать об архит...

Зачем Сосновский продал блог? Эго: Зачем ты продал свой блог? Alter Ego: Идей для постов уже нет. За 8 лет обо всем уже написал. Статьи комментируют реже, подписчики прибавляются слабо. Все ушли в VK и Youtube. Эго: Не мог до десятки дотянуть. А на самом деле почему? Alter Ego: Мне предложили я и продал...

Java и Project Reactor. Эпизод 2 Привет! Удивительно, но первая часть статьи даже кому-то понравилась. Отдельное спасибо за ваши отзывы и комментарии. У меня для вас плохая хорошая новость: нам ещё есть о чём поговорить! А если точнее, то о некоторых деталях работы Reactor. Читать дальше →

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

Использование камеры Fish eye на Raspberry Pi 3 с ROS — часть 1 Добрый день уважаемые читатели Хабра. Несколько лет назад я писал об использовании камеры Raspberry Pi Camera Board на Raspberry Pi в связке с ROS. В этой и следующей статьях я бы хотел рассказать об использовании широкоугольной камеры типа fish eye на Raspberry Pi 3 с устан...

Подключение bootstrap в Next.js Категорически приветствую. Столкнулся я тут с необходимостью подключить Bootsrtap в Next.js. Беглый гуглёж дал несколько тем на stackoverflow, парочку монструозных (всё в одном и все пакеты устарели ) шаблонов на гитхабе, и немножечко оффдоков. На деле же всё оказалось дов...

[Из песочницы] Кратко о redux-saga каналах Добрый день, дорогие друзья. В данной статье хотел бы максимально просто и кратко описать механизм redux-saga каналов, на примерах приближенных к реальным кейсам, надеюсь у меня это вышло. Итак, начнем. Читать дальше →

КИБ «SearchInform» как рабочий инструмент аналитика или «Бойтесь данайцев, дары приносящих» Как понятно из заголовка, сегодня речь пойдет о КИБ SearchInform. К этой статье у меня родилось несколько вариантов названий и даже эпиграфов. Одним из первых был «Все счастливые семьи счастливы одинаково, каждая несчастливая семья несчастлива по-своему» из «Анны Карениной»....

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

[Перевод] Сетевой код Age of Empires: 1500 лучников на модем 28,8 кбит/с Примечание переводчика: этой статье уже 17 лет, и интересна она только с исторической точки зрения. Любопытно узнать, как удавалось разработчикам добиться плавной сетевой игры в эпоху 28,8k-модемов и первых «Пентиумов». В этой статье рассказывается об архитектуре и реализа...

Повторное использование приватных Android библиотек с помощью Sonatype Nexus Repository OSS Думаю, что у многих возникала необходимость повторно использовать отдельные модули своего Android приложения в другом проекте. Для решения этой задачи есть простые пути, например, публично разместить Android библиотеку с помощью JitPack. Решение отличное, но если нужно разме...

Еще 7 крутых игр на ПК для изучения английского Первая часть статьи «5 лучших игр на ПК для изучения английского» зашла очень хорошо, и уже в комментариях читатели нам прислали еще кучу достойных игр, с помощью которых можно прокачать свой английский. О некоторых из них мы не были в курсе, поэтому спасибо. За это время...

[Из песочницы] Внедрение зависимостей в сервис Apache Ignite.NET Разрабатывая различные приложения, использующие популярную библиотеку Castle Windsor для внедрения зависимостей и Apache Ignite.NET в качестве «ключика», который открывает дверь в «облачные» вычисления, я столкнулся с небольшим неудобством: у меня не было никакой возможности...

[Из песочницы] Реализация PPPOS на stm32f4-discovery Однажды передо мной возникла задача обеспечить выход в сеть Интернет на STM32 имея для этого только COM порт. Для решения этой задачи мне понадобился PPP, или, еcли быть точным, PPPoS (англ. Point-to-Point Protocol over Serial — один из способов реализации PPP, используется ...

Меморандум о правах киборгов Начну статью с привычной для Моторики фразы «Привет! Я — киборг.» Меня зовут Дима Кошечкин, уже почти год я пользуюсь тяговым протезом команды “Моторика”. И с  недавних пор я вступил в ряды моториканцев. Как любой сознательный киборг, я задумывался о будущем, о роли кибор...

[Из песочницы] BEM'a не должно существовать Здравствуйте. BEM'а не должно существовать. Есть огромное количество причин не использовать эту методологию, но из-за её простоты использования и непонимания работы CSS и HTML, методология широко распространилась среди фронтендеров всего мира, в большинстве случаев среди р...

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

Опыт настройки и использования WSL (подсистемы Linux в Windows 10) К написанию данной статьи меня побудил вопрос на Тостере, связанный с WSL. Я, после нескольких лет использования систем на ядре Linux, около полугода назад перешел к использованию Windows 10 на домашнем ПК. Зависимость от терминала и Linux окружения в моей работе практически...

Kivy. Xamarin. React Native. Три фреймворка — один эксперемент Приветствую всех! Как только дым от жаркой дискуссии в комментариях к моей статье Kivy — фреймворк для кроссплатформенной разработки №1 осел, и среди прочих пробился достойный внимания комментарий, мы (Mirimon, SeOd), подумали, что было бы интересно и нам и читателям самост...

[Перевод] Откровения аварийного инженера Или как сэкономить 15% и более от бюджета на разработку Я профессионально работаю с Unreal Engine уже более 9 лет. За это время я освоил множество специальностей и занимал разные должности в разработке игр: от разработчика-«пехотинца» до менеджера больших команд разработчи...

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

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

[recovery mode] Пиратская копия платного сервиса в 39 строчек Python кода Во время выполнения заказа по разработке telegram бота у меня возникла необходимость получения скриншота веб-страницы с его доставкой пользователю. Зачем задумываться над решением проблемы, когда его можно найти? Как оказалось, чтобы не платить! Подробнее пот катом. Читать ...

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

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

Поваренная книга разработчика: DDD-рецепты (3-я часть, Архитектура приложения) Введение В рамках предыдущих статей мы выделили область применения подхода и рассмотрели основные методологические принципы Domain Driven Design. В данной статье я хотел бы обозначить основные современные подходы к построению архитектуры корпоративных систем: Supple, Screami...

Глубокое обучение с использованием R и mxnet. Часть 1. Основы работы Привет, Хабр! Эта статья является первой частью руководства по приготовления нейронных сетей с использованием библиотеки mxnet на языке R. Источником вдохновения послужила онлайн-книга Deep Learning — The Straight Dope, объема которой достаточно для осознанного использова...

Мониторинг производительности дисковой подсистемы при помощи zabbix и block stat Вряд ли кто-то будет спорить, что наблюдение за производительностью дисковой подсистемы — чуть ли не важнейшая задача для всех высоконагруженных систем хранения и баз данных. Я изначально столкнулся с этим давным-давно, еще когда приходилось наблюдать за PostgreSQL. В послед...

Тестирование приложения на Go как черный ящик при помощи Rspec Хорошо написанные тесты значительно уменьшают риск “поломать” приложение при добавлении новой фитчи или исправлении ошибки. В сложных системах, состоящих из нескольких взаимосвязанных компонентов, наиболее сложным является тестирование их точек соприкосновения. В этой стат...

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

Создание игры «Like Coins» на Godot Engine. Часть 2 Я надеюсь вы заждались второй части статьи затрагивающей аспекты разработки игр при помощи "Godot Engine", на примере игры "Like Coins"? На повестке дня приготовлено много всего "вкусного" и "полезного". Сразу оговорюсь, что в этой статье мы завершим ранее начатую игру, нача...

Доработка модуля шлагбаума Doorhan GSM для управления через интернет Недавно было решено установить в многоквартирном доме шлагбаум с управлением через GSM. Причины и необходимость этого решения остаются за рамками статьи, я же хочу написать про то, как «на коленке» сделал WEB-интерфейс для управления модулем, и даже немного с блэкджеком, уп...

Как я начал любить Vue Вступление Данный пост — это логическое продолжение моего поста/статьи — Как я перестал любить Angular / How I stopped loving Angular. Рекомендуется к ознакомлению перед прочтением. Вот уже около года во всех проектах, в которых я участвую, я использую Vue вместо Angular. В...

Как мы делали БелАЗ. Часть 3 – Пусконаладка на разрезе Это третья статья из цикла о самосвале (первая, вторая). Теперь мы едем на карьер, устанавливать электрооборудование на машину и выезжать в первый рейс! Но, конечно же, так просто, с наскоку, ничего не ездит, и я расскажу про множество проблем с которыми мы столкнулись во в...

ИТОГ 3-х месяцев: Альтернатива платному отключению рекламы в бесплатном приложении Android Здравствуй, Дорогой читатель ХабраХабра! В данной мини-статье я хочу рассказать/показать итог моей альтернативы платному отключению рекламы в бесплатном приложении Android. Всем, кому интересно добро пожаловать под кат! Читать дальше →

[Из песочницы] Разбираем протокол чайника Redmond G200S и подключаем его к HomeAssistant Вступление На Гиктаймс уже была статья, посвященная разбору протокола чайника Redmond SkyKettle. Однако там речь шла о модели RK-M171S, здесь же речь пойдет о более функциональном G200S. В данной модели изменился протокол взаимодействия, из за чего подход автора предыдущей с...

Твой код решающий ДОМ.РФ проводит свой первый в Воронеже Хакатон – марафон программирования для решения инновационной задачи. За лучшее решение команда получит грант на обучение или развитие своего проекта в размере 300 000 рублей. Самым талантливым разработчикам по результатам Хакатона ДОМ.Р...

[recovery mode] DevBoy — как я создал проект устройства с открытым исходным кодом и запустил проект на Kickstarter Привет друзья! Меня зовут Николай, читателем Хабра являюсь давно, а вот с написанием статей как-то не сложилось. Пора исправлять эту ситуацию, тем более что как раз имеется повод — только что я запустил компанию на Kickstarter для реализации устройства с открытым исходным к...

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

Как написать отличную ленту новостей ВКонтакте за 20 часов Всем привет! Недавно прошёл конкурс от ВКонтакте Mobile Challenge, и моя работа заняла призовое место. По заданию второго этапа необходимо было разработать ленту новостей для мобильных устройств, а главными критериям оценки были плавность скроллинга и загрузки постов. Ещё ко...

[Перевод] Как Unsplash масштабируется силами небольшой команды Фото: Alex Smith | Unsplash Добрый день! Меня зовут Виктор Пряжников, я работаю в отделе Features компании Badoo. Основная задача нашего отдела — разработка функционала, который видят пользователи нашего сайта и приложений. Когда мне попалась на глаза статья сооснователя ...

Независимая приёмка ЦОД Всем привет! Меня зовут Кирилл Шадский, я руководитель отдела управления внешними ЦОД компании ДатаЛайн.   Эта статья посвящена наиболее важным аспектам проведения приёмо-сдаточных испытаний, а также возможным проблемам и подводным камням, которые могут попортить немало не...

Где больше платят программистам. Сравниваем 22 страны Пару месяцев назад я постила сводную таблицу-сравнение под названием «Лучшая страна для программиста». В ней было 9 стран. Статья была горячо воспринята и в силу некоторых ошибок в ней, и в силу желания читателей получить сходные данные по другим странам. Я обещала доделать ...

Бэкап для Linux, или как создать снапшот Всем привет! Я работаю в Veeam над проектом Veeam Agent for Linux. С помощью этого продукта можно бэкапить машину с ОС Linux. «Agent» в названии означает, что программа позволяет бэкапить физические машины. Виртуалки тоже бэкапит, но располагается при этом на гостевой ОС. В...

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

Проксируем файлы из AWS S3 средствами nginx Казалось бы, задача реализации фронтенда для AWS на nginx звучит как типовой кейс для StackOverflow — ведь проблем с проксированием файлов из S3 быть не может? На деле выяснилось, что готовое решение не так-то просто найти, и данная статья должна исправить эту ситуацию. З...

[Из песочницы] Работа с формами в React.js, используя базовый инструментарий Введение За время работы на React.js мне часто приходилось сталкиваться с обработкой форм. Через мои руки прошли Redux-Form, React-Redux-Form, но ни одна из библиотек не удовлетворила меня в полной мере. Мне не нравилось, что состояние формы хранится в reducer, а каждое собы...

Проверили с помощью PVS-Studio исходные коды Android, или никто не идеален Разработка больших сложных проектов невозможна без использования методологий программирования и инструментальных средств, помогающих контролировать качество кода. В первую очередь, это грамотный стандарт кодирования, обзоры кода, юнит-тесты, статические и динамические анали...

[Перевод] Станут ли воксели новой прорывной технологией? Мы пообщались с потрясающими разработчиками Atomontage, пытаясь разобраться, смогут ли воксели вернуться и победить пиксели. Воксельная разработка Бранислав: в 2000-2002 годах я участвовал в соревнованиях европейской демосцены. Я написал несколько 256-байтных демо (также н...

Пишем загрузчик ПЛИС в LabVIEW У большинства "нормальных" программистов, мягко говоря, неоднозначное отношение к технологии LabVIEW. Тут спорить можно долго и безрезультатно. Ситуацию усугубляет то, что в сети масса примеров программ на LabVIEW, но все они ориентированы на новичка и сводятся к "ой, смо...

[Перевод] Секреты JavaScript-кухни: специи Взгляните на следующие фрагменты кода, решающие одну и ту же задачу, и подумайте о том, какой из них вам больше нравится. Вот первый: Вот второй: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] .filter(int => isEven(int)) .filter(int => isBiggerThan(3, int)) .map(int => int ...

Backend United #1. Винегрет — видео, фотоотчёт, презентации и отзывы слушателей 18 апреля у нас в офисе прошел первый митап, посвященный кросс-языковым решениям для разработки серверной части. «Винегрет», судя по нашим впечатлениям и отзывам гостей митапа, удался. Значит, будем продолжать практику объединения бэкендеров, чаще встречаться и обсуждать общ...

[Из песочницы] Кто на новенького? Мой первый опыт в разработке игры – от идеи до публикации Всем привет! Меня зовут Алексей, я из Санкт-Петербурга. В этой статье расскажу про свой первый опыт разработки мобильной игры под Android на Unity3d. Если Вам близка идея создания собственной игры или приложения, но Вы находитесь в раздумьях или не уверены в своих силах —...

Краудтестинг, или Где взять опыт для первой работы в тестировании Изображение: источник Привет, Хабр! Меня зовут Евгений Кузнецов. Я работаю в Badoo, в отделе QA. Почти пять лет назад я начал интересоваться тестированием: читал книги, искал информацию в интернете. На одном из форумов наткнулся на тему про подработку, где один из участн...

Centrifugo v2 — будущее сервера real-time сообщений и библиотека для Go Возможно, некоторые из читателей уже слышали про Centrifugo раньше. В данной статье речь пойдет о разработке второй версии сервера и новой real-time библиотеке для языка Go, лежащей в его основе. Меня зовут Александр Емелин. Летом прошлого года я присоединился к команде Авит...

Amazon уступила Microsoft второе вместо в рейтинге самых дорогих компаний Капитализация компании Amazon в сентябре текущего года превысила отметку в 1 трлн долларов, что дало ей право занять второе место рейтинга самых дорогих компаний мира – сразу после Apple. Но прошло всего два месяца, и Amazon уже больше не вторая, а третья компания...

Как мы замахнулись на мобильный fast paced шутер: технологии и подходы Год назад у нас в компании был один проект — мобильный шутер War Robots с относительно медленными, но красочными и напряженными боями. Игра продолжает развиваться, у нее десятки миллионов установок и игроков по всему миру, постоянно выходят апдейты. В какой-то момент мы за...

[Перевод] Визуализация данных при помощи Angular и D3 D3.js — это JavaScript библотека для манипулирования документами на основе входных данных. Angular — фреймворк, который может похвастаться высокой производительностью привязки данных. Ниже я рассмотрю один хороший подход по использованию всей этой мощи. От симуляций D3 до S...

Как организовать ваши зависимости во Vue-приложении Все, кто знаком с Vue, знают, что у Vue-приложения одна точка входа — файл main.js. Там, помимо создания экземпляра Vue, происходит импорт и своего рода Dependency Injection всех ваших глобальных зависимостей (директив, компонентов, плагинов). Чем больше проект, тем больше с...

Поваренная книга Ruby-разработчика: Domain Driven Design рецепты ( 2-я часть, структура и взаимодействие ) Введение В первой статье мы выделили область применения обозначенных практик, для каких проектов их можно применять, а для каких не следует. В данной статье я хотел бы сделать краткий обзор основных принципов DDD, а также поделиться личным опытом их применения. Более подро...

[Перевод] Распространенные ошибки, которые допускают разработчики в UX Я занимаю должность консультанта по UX для одного из партнеров компании Mendix, и мне часто приходится работать с небольшими самоорганизованными командами, которые создают отличные приложения для решения внутренних проблем. Моя задача — совершенствовать UX в этих приложениях...

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

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

[Из песочницы] Сравнение C# и JavaScript. Основы Мой более-менее серьезный путь в программировании начался с написания программ на языке C#, иногда я пробовал писать на JavaScript, и то и дело впадал в ступор в таких ситуациях, когда неверно указывал имя переменной и узнавал об этом спустя много много лет час отладки, так...

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

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

[Из песочницы] Python Selenium и Krisha.kz. Первые в Big Data Предисловие Изучать что-то новое всегда интересно, это захватывает тебя полностью, по крайней мере у меня так. Вот и в этот раз, увлёкшись изучением программирования на языке Python, задался вопросом, где его можно применить, кроме как при создании фотосепаратора (статья про...

Как устроено S3 хранилище DataLine Привет, Хабр! Не секрет, что в работе современных приложений задействованы огромные объемы данных, и их поток постоянно растет. Эти данные нужно хранить и обрабатывать, зачастую с большого числа машин, и это непростая задача. Для ее решения существуют облачные объектные ...

RPC — повод попробовать новое в C++ 14 / 17 Несколько лет назад разработчики на C++ получили долгожданный стандарт C++ 11, принесший много нового. И у меня был интерес быстрее перейти к его использованию в повседневно решаемых задачах. Перейти к C++ 14 и 17 такого не было. Казалось, нет того набора фич, который бы заи...

На поводу у трендов, или движение навстречу RxJava и LiveData На дворе 2018 год. Всё чаще встречаются слова RxJava и LiveData. Но если вдруг так случилось, что в вашем приложении до сих пор балом правят старомодные решения вроде библиотеки android-priority-jobqueue или AsyncTask (да, бывает и так), то эта статья специально для вас. ...

Oracle Certified Associate и Oracle Certified Professional. Общее впечатление и нюансы подготовки Привет, Хабр! Меня зовут Маша, я работаю в КРОК. Сегодня я хочу рассказать вам о получении сертификатов Oracle Certified Associate и Oracle Certified Professional. Вообще, в спорах о полезности профессиональной сертификации (да и ее необходимости в принципе) среди разраб...

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

Интегрированный стенд разработки КРОК для 1С и не только Опыт разработки, накапливаемый на крупных и сложных проектах, воплощается в полезные инструменты и инженерные практики, которыми необходимо обогащать процессы разработки, переосмысливая его целиком раз за разом. Именно осознание ценности приобретенного опыта как артефакта, ж...

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

Помощь зала Как обычно начну издалека. Из чудовищного, невообразимого далека. Как я уже ранее говорил, я литератор. Пишу рассказы, повести, романы. Собираюсь написать в соавторстве с Вами роман #ДАШАНАЛУНЕ. Но речь сейчас пойдет не о нем. #ДАШАНАЛУНЕ – роман более серьёзный, реалистич...

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

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

Личное знакомство с PET-G (часть 1) Доброго всем!Спасибо многим за изложения собственного опыта в статьях\обзорах. многое пригодилось в работе с принтером, многое удивляло (он художник! он так видит!) своим противоречием. Но не будем кидаться камнями.Хотелось описать свои впечатления от PET-G пластика. Букафф ...

Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения Часть 1: Постановка задачи Привет, Хабр! Я архитектор решений в компании CleverData. Сегодня я расскажу про то, как мы классифицируем большие объемы данных с использованием моделей, построенных с применением практически любой доступной библиотеки машинного обучения. В этой с...

Идеала нет: как я искал язык программирования для себя От переводчика: этот пост — несколько сокращенный перевод оригинальной статьи Гала Шлезингера, опытного frontend-разработчика. Ему очень нравится программировать, а его хобби — изучение различных (и порою весьма неожиданных) языков программирования как для рабочих целей, ...

Первый шаг к складному смартфону Samsung: производство OLED-дисплеев скоро стартует Корейское издание ETNews сообщило, что компания Samsung готова к старту производства гибких OLED-дисплеев. Компонент найдет свое применение в инновационном складном смартфоне и первая партия панелей в количестве 100 тысяч единиц будет готова к концу текущего года. Интересно,...

[Перевод] Обзор нововведений Android Design Support Library v28 И снова здравствуйте. Приближаем к дате запуска наш новый курс «Разработчик Android», осталось всего ничего и осталось немного интересных материалов, которыми делимся со всеми, в том числе и потенциальными слушателями. Поехали. Недавно была анонсирована 28 версия Android ...

[Перевод] Оптимизация рендеринга сцены из диснеевского мультфильма «Моана». Части 4 и 5 У меня есть ветка pbrt, которую я использую для проверки новых идей, реализации интересных мыслей из научных статей и в целом для исследования всего того, что в результате обычно оказывается в новой редакции книги Physically Based Rendering. В отличие от pbrt-v3, который мы...

Реализация Spring Framework API с нуля. Пошаговое руководство для начинающих. Часть 1 Spring Framework является одним из самых сложных фремворков для понимания и изучения. Большинство разработчиков изучают его медленно, через практические задачи и гугл. Этот подход не эффективен, так как не даёт полной картины и при этом требует больших затрат. Я хотел бы ...

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

ASP.NET Razor: решение некоторых проблем с архитектурой для модели представления Введение Здравствуйте, коллеги! Сегодня хочу поделиться с вами своим опытом разработки архитектуры View Model в рамках разработки веб-приложений на платформе ASP.NET, используя шаблонизатор Razor. Описываемые в данной статье технические реализации подходят для всех актуальн...

Лучшие блокчейн-проекты. Август 2018 (голосование) В наши дни разнообразных ICO так же много, как и коррумпированных политиков, что усложняет поиск проектов, заслуживающих внимания. Однако, ICO по-прежнему не утратили своей привлекательности, поэтому есть смысл внимательно изучать их бесконечный список в поисках «бриллианта»...

[Из песочницы] Конвертирование XLS файлов в Google Spreadsheet с использованием Google Apps Script Меня зовут Александр и я фрилансер, основная моя специализация — это Google Apps Script. Одному из заказчиков потребовалось программно конвертировать файлы Microsoft Excel в Google Spreadsheets. Я раньше с такой задачей не сталкивался, поэтому призвал на помощь Google. Перер...

Akinator 6.6.3 Akinator the Genie — Программа, угадывающая задуманного Вами персонажа. Описание: Акинатор… джинн вернулся! Акинатор может читать ваши мысли и угадать загаданного вами персонажа, просто задав вам несколько вопросов. Задумайте настоящего или вымышленного персонажа и Ак...

Реализация программной платформы защищённого NAS В предыдущей статье было описано проектирование программной платформы NAS. Настало время её реализовать. Читать дальше →

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

Spark SQL. Немного об оптимизаторе запросов Всем привет. В качестве введения, хочется рассказать, как я дошел до жизни такой. До того как встретиться с Big Data и Spark, в частности, мне довелось много и часто оптимизировать SQL запросы, сначала для MSSQL, потом для Oracle, и вот теперь я столкнулся со SparkSQL. И ...

[Из песочницы] Мечтают ли приложения на Flutter о платформа-ориентированных виджетах? Привет, Хабр! Представляю вашему вниманию перевод статьи «Do Flutter apps dream of platform aware widgets?» Разрабатывая приложения на Flutter с нативным дизайном под iOS и Android, я столкнулся с тем, что мне пришлось писать кучу условий для проверки платформы на которой и...

[Перевод] Лучший Способ Программирования (Better way To Code) От переводчика: Я не являюсь ни профессиональным программистом ни профессиональным переводчиком, но появление описанного в статье инструмента от создателя популярной библиотеки D3.js произвело на меня сильное впечатление. С удивлением обнаружил, что на Хабре, да и вообще в ...

Полное руководство по правильному использованию анимации в UX Предлагаю вашему вниманию перевод очень крутой статьи по анимации интерфейса. The ultimate guide to proper use of animation in UX автора Taras Skytskyi. В настоящее время трудно впечатлить или даже удивить анимацией интерфейса. Она показывает взаимодействие между экранами...

[Из песочницы] Разработка гексапода своими руками с нуля (часть 1) Всем привет! Не так давно я начал изучать программирование под микроконтроллеры. По началу написание простых программ для мигания светодиодом и даже двумя уже не доставляло удовольствие и становилось скучно. И вот одним вечером сидя в раздумьях над тем, чем же занять свою го...

Node.js без node_modules На прошлой неделе разработчики Yarn (пакетного менеджера для Javascript) анонсировали новую фичу – Plug'n'Play установку. Эта возможность позволяет запускать Node.js проекты без использования папки node_modules, в которую обычно устанавливаются зависимости проекта перед запу...

GUI-фреймворки — на поток Приветствую вас, коллеги! Пару-тройку месяцев назад я начал приглядываться к Golang с целью использовать его для десктопных приложений. Язык понравился, объем и тематика написанных для него пакетов произвели впечатление, но вот с GUI дело обстоит не так радужно. Не буду сей...

Unity3D: Модификация делегата iOS приложения Думаю, многим в ходе разработке игры для iOS приходилось сталкиваться с тем, что возникает необходимость использовать тот или иной нативный функционал. Касаемо Unity3D, в данном вопросе может возникать очень много проблем: для того, чтобы внедрить какую-то фичу, приходится с...

[Из песочницы] Создание бота для участия в AI mini cup 2018 на основе рекуррентной нейронной сети Изначально у меня не было планов о статье, тем более о выступлении на конференции. Но случилась конференция. И после выступления на ней, у смотревших появились ко мне вопросы касательно реализации некоторых технических моментов. Так и получилось слово за слово — статья. Зап...

Unity, ECS и все-все-все Сколько уже было мануалов "Как сделать игру на Unity за 3 часа", "Делаем Counter-Strike за вечер" и т.п.? Низкий порог входа — это, несомненно, главный плюс и минус Unity. Действительно, можно накидать “ассетов”, дописать несколько простых “скриптов”, обмотать синей изолент...

Magic link или история о том, как мы упростили жизнь пользователю В статье я поделюсь личным опытом разработки и реализации “волшебных ссылок”. Расскажу зачем они нужны в нашем проекте, как функционируют и в конце даже всплакну над тем, что отсутствие такого функционала в больших системах используемых мною заставляет меня гневно рвать на с...

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

Как я начал карьеру разработчика с нуля и получил оффер всего через 10 месяцев Эта статья — перевод оригинального поста Сика Худеиба, который недавно решил резко изменить свою жизнь, сменив профессию с учителя на программиста. От автора: Моя история — о том, как у меня получилось с нуля начать карьеру frontend-разработчика, не имея никакого специа...

[Перевод] Выбираемся из кроличей норы SPA при помощи современного Rails TL;DR: Тропа SPA темна и полна ужасов. Ты можешь бесстрашно сражаться с ними… или выбрать другой путь, который приведёт тебя к нужному месту: современный Rails. Я вспоминаю, как думал, что Rails фокусируется на неправильной цели, когда DHH анонсировали Turbolinks в 2012 г...

[Перевод] WebAssembly — это возвращение апплетов Java и Flash? В последней статье по WebAssembly я сделал следующее утверждение: Некоторые сравнивают WebAssembly с Java-апплетами. В определённом смысле они правы, но с другой стороны сильно ошибаются. Как-нибудь я напишу статью о различиях, но пока поговорим о сходстве. В некотором смысл...

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

[Перевод] Комментирование кода: хороший, плохой, злой Вы наверняка это слышали: «Хороший код является самодокументированным». Я больше 20 лет зарабатываю написанием кода, и слышал эту фразу чаще всего. Это клише. И как во многих других клише, здесь есть зерно истины. Но это истиной уже столько злоупотребляли, что большинс...

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

Еще один вариант генерации превьюшек для изображений с использованием AWS Lambda & golang + nodejs + nginx Здравствуйте уважаемые пользователи Хабра! Меня зовут Никита, в текущий момент времени я тружусь backend-разработчиком в стартапе мобильного приложения. Наконец у меня появилась действительно нетривиальная и достаточно интересная задача решением которой хочу поделиться с В...

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

Реализация целочисленного БПФ на ПЛИС Всем привет! Однажды меня спросили заказчики, нет ли у меня в проектах целочисленного БПФ, на что я всегда отвечал, что это уже сделано другими в виде готовых, хоть и кривых, но бесплатных IP-ядер (Altera / Xilinx) – берите и пользуйтесь. Однако, эти ядра не оптимальны, обл...

5 книг, которые советует Билл Гейтс в 2018 году Билл Гейтс регулярно делится в своем блоге впечатлениями о прочитанных книгах и советует те, что ему понравились. В начале декабре появилась новая запись: Если вы любите на праздники дарить или получать книги, то вы похожи на меня. Хорошее чтиво – лучший подарок: вдумчивый ...

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

Разработка и тестирование смарт-контрактов Hyperledger Fabric Hyperledger Fabric (HLF) — платформа с открытым исходным кодом, использующая технологию распределенного реестра (DLT — distributed ledger technology), предназначенная для разработки приложений, работающих в среде бизнес-сетей, созданных и контролируемых консорциумом организа...

Как мы в «1С: Предприятии» решаем системы алгебраических уравнений Работа с числовыми матрицами в целом и решение систем линейных алгебраических уравнений в частности — классическая математическая и алгоритмическая задача, широко используемая при моделировании и расчёте огромного класса бизнес-процессов (например, при расчёте себестоимости)...

[Из песочницы] Сказ о том, как я в Финляндию переехала Всего год назад я сидела на Хабре и читала подобного рода статьи для того, чтобы поддержать свой боевой дух, когда решила покинуть родной Казахстан и найти работу в Европе. Но, к моему сожалению, все статьи начинались примерно одинаково: “Меня зовут username и я программирую...

[Перевод] Играем в Mortal Kombat с помощью TensorFlow.js Экспериментируя с улучшениями для модели прогнозирования Guess.js, я стал присматриваться к глубокому обучению: к рекуррентным нейронным сетям (RNN), в частности, LSTM из-за их «необоснованной эффективности» в той области, где работает Guess.js. В то же время я начал игратьс...

Топ-5 креативных и инновационных новостных сайтов на английском языке Если вам от 20 до 35 лет, и вы «живете» в интернете и соцсетях, то эта пятерка определенно вам понравится. В них очень мало всего того, к чему мы привыкли в традиционных СМИ. Смелый дизайн, необычные форматы, простота изложения и неформальный подход в общении с читателями ...

Контроль над ресурсами. Настраиваем SwiftGen Наверное, в каждом большом iOS-проекте — долгожителе можно наткнуться на иконки, которые нигде не используются, или обращения к ключам локализации, которые уже давно не существуют. Чаще всего такие ситуации возникают из-за невнимательности, а лучшее лекарство от невнимательн...

Как построить IIoT архитектуру своими руками. Часть 2: «Вещи» В предыдущей статье мы достаточно кратко рассмотрели организацию и процессинг IoT данных с помощью проекта Apache NiFi. Этой статьей мы открываем серию, в которой детально расскажем о каждом этапе, начиная от самих устройств и заканчивая DataLake платформой аналитикой, машин...

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

[Из песочницы] От API first на OAS до single contract на RAML Привет, %username%! Ты наверняка знаешь, что такое API интерфейсы и то, как много от них зависит в твоем проекте. Более того, я так же полагаю, что ты уже знаком с тем, что такое API first подход и знаешь, что Swagger и его Open API являются одними из самых популярных инс...

Мой опыт внедрения 1С (часть 1. Вводная) Всем привет! Я автор этой статьи. И пришло время написать продолжение… спустя почти 4 года. На момент написания прошлой статьи я была студенткой колледжа, сейчас я студентка вуза. На момент написания статьи я работала официанткой, сейчас я руковожу внедрениями 1С в органи...

Экструдер для шоколада - готов! Рад приветствовать тех кто следил за развитием проекта и гостей паблика!Сегодня мы поговорим про материалы из которых создан экструдер ChocoL3d.Самое главное то, что на данный момент прототип закончен и обкатан, а это значит - готов к продаже и производству.Но давайте обо вс...

[Из песочницы] Пишем стэковую виртуальную машину на Rust'e Здравствуй, Хабр! Уже несколько недель я занят разработкой своего языка программирования на Rust. Мне бы хотелось расказать о том с чем может столкнуться новичок в этом деле и о чем ему следует знать. Читать дальше →

Apache Spark — достоинства, недостатки, пожелания Мне давно хотелось изложить свои впечатления об Apache Spark, и тут как раз попалась на глаза вот эта статья от сотрудника Pivotal Robert Bennett: thenewstack.io/the-good-bad-and-ugly-apache-spark-for-data-science-work, опубликованная совсем недавно, 26 июня 2018. Это не бу...

Моя история прохождений интервью в IB IT (Java разработчик) с примерами типичных заданий Так получилось, что я хотел стать программистом еще учась в университете в Москве, но стал им уже за пределами России и не сразу — путь был долог и тернист. Я ходил на множество интервью (вначале искал я, потом уже искали меня), вникал в тонкости работы и размышлял на тему —...

[Из песочницы] SNMP + Java – невозможное возможно: пишем парсер MIB-файлов SNMP – не самый юзер-френдли протокол: MIB-файлы слишком длинные и запутанные, а OID'ы просто невозможно запомнить. А что если возникла необходимость работать с SNMP на Java? Например, написать автотесты для проверки API SNMP-сервера. Путём проб и ошибок при наличии доволь...

[recovery mode] Лента новостей: почему мы делаем это неправильно? Здравствуй, меня зовут Дмитрий Карловский и у меня для вас новость. Ну как новость, свежий взгляд на привычную вещь в виде очередной статьи. Скорее всего вы попадёте на неё из какой-либо ленты новостей. Или не попадёте, если новость будет опубликована не вовремя. Независимо ...

Менеджеры зависимостей В этой статье я расскажу, в чем менеджеры зависимостей (package manager) схожи по внутреннему устройству, алгоритму работы, и в чем их принципиальные отличия. Я рассматривал package manager’ы, предназначенные для разработки под iOS/OS X, но содержание статьи с некоторыми д...

[Из песочницы] Создаем простой API-шлюз в ASP.NET Core Привет, Хабр! Представляю вашему вниманию перевод статьи "Creating a simple API Gateway in ASP.NET Core". Время чтения: ~10 минут В моей предыдущей статье, JWT аутентификация для микросервисов в .NET, я рассмотрел процесс создания микросервиса для аутентификации пользователе...

Защитные плёнки Galaxy Note 9 испортят первое впечатление Каким должен быть флагман? Производительным, красивым, с дорогими материалами, с хорошей камерой. Но как часто вы задумываетесь о комплектации и упаковке смартфона? В случае с Note 9 потребители непременно об этом задумаются. Это сложно назвать проблемой, однако данный фак...

Раскрыта цена, которую придётся доплатить за связь 5G во флагманском смартфоне Стали известны новые подробности о готовящемся к выпуску смартфоне с поддержкой сотовой связи пятого поколения от компании OnePlus. Информацией поделился ресурс Fudzilla. По данным источника первый смартфон OnePlus с поддержкой 5G окажется на 100 долларов дороже текущей мод...

Асинхронный обмен данными с удалённым приложением через SSH Доброго времени суток, друзья и коллеги. Меня всё ещё зовут Дмитрий Смирнов, и я всё ещё, к моему вящему удовольствию, являюсь разработчиком ISPsystem. Некоторое время назад я начал работу над совершенно новым проектом, который меня очень вдохновил, поскольку новое — это в н...

[Перевод] 7 лучших практик по эксплуатации контейнеров по версии Google Прим. перев.: Автор оригинальной статьи — Théo Chamley, архитектор облачных решений Google. В этой публикации для блога Google Cloud он представил краткую выжимку из более детального руководства его компании, названного «Best Practices for Operating Containers». В нём специа...

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

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

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

[Перевод] Вся правда об ОСРВ. Статья #18. Группы флагов событий: вспомогательные службы и структуры данных Эта статья продолжает описывать группы флагов событий. Предыдущие статьи серии: Статья #17. Группы флагов событий: введение и базовые службы Статья #16. Сигналы Статья #15. Разделы памяти: службы и структуры данных Статья #14. Разделы памяти: введение и базовые службы ...

Расширение PHP и Kotlin Native. Часть третья, наверное финальная В первой части рассказываются совсем базовые вещи про настройку инструментария и общие концепции. Вторая часть про, так сказать, первый подход к снаряду, задумки, наметки, планы. В этой статье будет чуть больше хардкора про интероп Си и K/N, много макросов, боли, безысход...

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

[Перевод] Современная MVI-архитектура на базе Kotlin. Часть 1 За последние два года Android-разработчики в Badoo прошли длинный тернистый путь от MVP к совершенно иному подходу к архитектуре приложений. Мы с ANublo хотим поделиться переводом статьи нашего коллеги Zsolt Kocsi, описывающую проблемы, с которыми мы столкнулись, и их реше...

Семинар: «Объектное хранилище DataLine: выбор оборудования, возможности и сценарии использования», 31 мая, Москва Привет, Хабр! Давно мы не проводили семинары — исправляемся. 31 мая совместно с Lenovo мы расскажем о новом сервисе DataLine — объектном хранилище. Поговорим о том, как мы выбирали решение и с чем столкнулись в процессе создания сервиса. Рассмотрим основные сценарии испол...

Насколько полезна функция контроля активности из iOS 12 в реальной жизни Контроллер активности, появившийся в бета-версии iOS 12, действительно может помочь сократить время использования iPhone до двух раз. К такому выводу пришел корреспондент New York Times Брайн Чен, проведя независимый эксперимент с участием 14-летней дочери своего редактора...

[Из песочницы] Пишем компонент с «материальными» кнопками для Svelte Вдохновившись статьями SvelteJS: Релиз второй версии, Исчезающие фреймворки и Re: «Сравнение JS-фреймворков: React, Vue и Hyperapp», про «исчезающий» фреймворк Svelte (читается «свелт», а то мало ли), я захотел его попробовать. И для начала решил написать небольшой компонент...

Фантастические тимлиды и где они обитают Всем привет! Меня зовут Анатолий Панов, я работаю в ИТ уже больше 15 лет. За это время прошел путь от разработчика до руководителя тимлидов. Работал в таких компаниях как Badoo, Lazada. С начала этого года я в Авито. Руковожу разработкой новых проектов и разработкой для верт...

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

Microsoft объявила о поддержке стандарта Web Authentication в браузере Edge Сегодня компания Microsoft объявила о внедрении поддержки стандарта Web Authentication в браузере Edge в Windows 10, благодаря которой пользователи смогут использовать Windows Hello для авторизации на веб-сайтах без использования привычных паролей. Отмечается, что поддержка...

CodeRainbow: интерактивное изучение и документирование кода Часто программистам приходится разбираться с чужим незнакомым кодом. Это может быть и изучение интересных проектов с открытым кодом, и необходимость по работе — в случае присоединения к новому проекту, при анализе большого объема legacy кода и т.д. Думаю, каждый из вас ста...

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

[Из песочницы] Проблемы доступа к персональным данным от лица всех участников процесса Приветствую дорогие хабровчане. Лирическое отступлениеКак пользователь одного из «высокоразвитых» ресурсов рунета, я обнаружил довольно распространённую картину в админке своего профиля: от моего имени рассылался спам. Для меня это стало некоторым сигналом, так как за то в...

Мой опыт трудоустройства на роль Agile Coach в Европе, часть вторая И снова здравствуйте! В первой части моей статьи я рассказал о мотивации, сподвигнувшей меня на попытки перебраться в Европу, а также осветил в деталях первые 5 месяцев моих поисков. Ниже Вы найдете продолжение моей истории и несколько выводов, которые я сделал для себя. А...

Универсальное решение для UITableViewRowAction и UIContextualAction Многие сталкивались с проблемой реализации красивого отображения кнопок для UITableViewCell при сдвиге влево. Некоторые использовали стандартный функционал «из коробки», другие заморачивались над собственной реализацией, а кто-то обошелся Unicode-символами. В этой статье я...

Отзыв о Питерском офисе Top3DShop Привет всем!Очень долго искал компанию, которая смогла бы напечатать то, что мне было необходимо.После нескольких неудачных экспериментов на FDM принтерах, появилось понимание, что для реализации задуманного мне нужен DLP или SLA принтер.Так как в нашем городе такого счастья...

COBIT 5: Практика адаптации Организационных структур и Ролей в компании Проникновение ИТ в деловую среду идет повсеместно и ускоренными темпами. Цифровая трансформация – необходимое условия для развития бизнеса различной величины и направлений деятельности. Однако, как мы отмечали ранее, слаженная работа ИТ и бизнеса является одним из основных ф...

LLTR Часть 1: Первые шаги в OMNeT++ и INET OMNeT++ (Objective Modular Network Testbed in C++) Discrete Event Simulator – это модульная, компонентно‑ориентированная C++ библиотека и фреймворк для дискретно‑событийного моделирования, используемая прежде всего для создания симуляторов сетей. Попросту говоря это “симуля...

Грузим терабайты бочками или SparkStreaming vs Spring+YARN+Java В рамках проекта интеграции GridGain и хранилища на базе Hadoop (HDFS + HBASE) мы столкнулись с задачей получения и обработки существенного объема данных, примерно до 80 Тб в день. Это необходимо для построения витрин и для восстановления удаленных в GridGain данных после и...

К вопросу о пульсациях, интересных людях и индуктивностях Law 14 (Edison’s Law) ‘Better’ is the enemy of ‘good’ Недавно мой коллега, которого я неоднократно упоминаю в своих постах (как правило, в роли реинкарнации доктора Ватсона, основное предназначение которого заключается в придании большего блеска основному персонажу изложен...

Распознавание товаров на полках с помощью нейронных сетей на технологиях Keras и Tensorflow Object Detection API В статье мы расскажем о применении свёрточных нейронных сетей для решения практической бизнес-задачи восстановления реалограммы по фотографии полок с товарами. С помощью Tensorflow Object Detection API мы натренируем модель поиска/локализации. Улучшим качество поиска мелких ...

Легенда о Фреймворке Всевластия В последнее время набирает популярность тренд «исчезающих фреймворков», локомотивом которого, без сомнения, можно считать SvelteJS — buildtime-фреймворк и компилятор в ванильный javascript. Несмотря на то, что концептуально Svelte весьма прост, а в использовании еще проще,...

Реализация нового транспортного протокола NTCP2 сети I2P Транспортные протоколы I2P были разработаны почти 15 лет назад, когда основной задачей было сокрытие содержимого трафика, а не факт использования того или иного протокола. dpi и блокировку трафика в то время никто не принимал в расчет. Однако времена меняются и хотя существу...

Особенности тестирования кредитов: как один баг влияет на тысячи долларов выручки Привет. Меня зовут Ольга Михальчук, я QA engineer (Quality Assurance engineer или тестировщик) в финтех-компании ID Finance. В этом посте я расскажу, чем занимаются QA и как искать и исправлять баги в кредитных калькуляциях, пока они не привели к большим убыткам в вашей комп...

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

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

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

Еще один способ использования Webpack 4 и разделение кода Предыстория Ни для кого не секрет, что с выходом Webpack 4 стратегия разделения кода сильно поменялась. Тут даже лучше сказать, что она была заново придумана, т.к. старый подход просто перестал работать, а новый не понятно как использовать. Для тех, кто все еще не в курсе, п...

Безопасность или паранойя: временные права при запуске команд В прошлой статье «Меньше администраторов всем» я рассказывал о принципах работы без прав администратора ― в частности, о технологии Just Enough Administration (JEA). Этот механизм хоть и гибкий, но сложный в настройке, и в ряде ситуаций можно обойтись и без него. Например,...

[Из песочницы] Кроссплатформенная утилита мониторинга SNMP-трафика без зависимостей и наличия GUI Здравствуй, Хабр! В процессе своей работы (администрирование активного оборудования) столкнулся с необходимостью оперативного получения онлайн-данных (желательно с графиком) входящего/исходящего трафика на сетевом интерфейсе по SNMP. При этом всегда попадается такое оборудо...

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

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

Есть ли порох в пороховницах? Hackathon Radio Canada 2018 (Часть третья — На Старт! Внимание! Марш!) Представляю вам третью часть моего, немного затянувшегося, рассказа. Получив положительную оценку первой и второй частей, я не хотел заставлять читателей ждать слишком долго, но жизнь и реальность вносит свои коррективы. За 2 дня до начала хакатона Radio Canada прислали ...

[Перевод] AliceVision: фотограмметрия из командной строки Вам нужно автоматизировать огромное количество фотограмметрических сканов? Тогда у меня для вас хорошие новости. В видео показана программа для фотограмметрии Meshroom с открытым исходным кодом. Этот проект в разных формах существует уже довольно давно, но недавно разработ...

UHCI, или самый первый USB Доброго времени суток, дорогой читатель! Меня просили написать про UHCI — хорошо, пишу. Возможно, вам пригодиться эта статья, если, к примеру, вы не имеете достаточных навыков написания драйверов и чтение документации к хардвейру. Простой пример: хотите написать свою ОС д...

Как мы сдавали экзамен Certified Kubernetes Administrator В прошлом году у организации CNCF (Cloud Native Computing Foundation), помогающей развиваться таким Open Source-проектам, как Kubernetes и Prometheus, появилась программа сертификации CKA (Certified Kubernetes Administrator). В начале этого лета мы решили в ней поучаствова...

Динамическое ценообразование, или Как Яндекс.Такси прогнозирует высокий спрос Раньше для вызова такси приходилось звонить на разные номера диспетчерских служб и ждать подачу машины полчаса или даже больше. Теперь сервисы такси хорошо автоматизированы, а среднее время подачи автомобиля Яндекс.Такси в Москве около 3-4 минут. Но стоит пойти дождю или зак...

UI-компоненты на пиксельных шейдерах: пишем ваш первый шейдер Кого можно назвать «пиксельных шейдеров начальник и пикселов командир»? Дениса Радина, работающего в Evolution Gaming над фотореалистичными веб-играми с использованием React и WebGL: он известен многим как раз под именем Pixels Commander. В декабре на нашей конференции Holy...

История переезда системного администратора в Германию. Часть вторая: переезд и первые шаги Всем привет. Я наконец-то изыскал время и написал вторую часть своей истории об IT-эмиграции. Первую часть можно прочитать тут — История переезда системного администратора в Германию. Часть первая: поиск работы и виза. В этой части я опишу подробно, как мы с сестрой обустра...

Как правильно фотографировать: 12 простых советов для тех, кто хочет улучшить качество своих фотографий Научиться хорошо снимать трудно – наверное, стать писателем или программистом даже легче. Навести камеру и нажать кнопку легко, а вот сделать по-настоящему качественный снимок… У меня ушел год на то, чтобы создать первый по-настоящему хороший снимок. И я готов поделить...

[Из песочницы] Реализация RESTful Table в Atlassian User Interface О чём это вообще? Для тех, кто вообще не в теме: у компании Atlassian, известной своими продуктами для обеспечения рабочих процессов (прежде всего JIRA и Confluence, но, наверное, любой айтишник без труда назовёт ещё несколько), есть также SDK для разработки плагинов к этим ...

Если очень хочется: 10-гигабит на меди Всем привет! Меня зовут Александр, я сетевой инженер в компании DataLine. Сегодня я продолжу тему 10-гигабитного Ethernet-соединения для новичков. В комментариях к прошлой статье справедливо заметили, что мы не раскрыли тему меди. Постараюсь исправить этот пробел. Сразу о...

ConvNets. Создание прототипа проекта с помощью Mask R-CNN Привет, Хабр! Мы, наконец, дождались еще одной части серии материалов от выпускника наших программ “Специалист по большим данным” и “Deep Learning”, Кирилла Данилюка, об использовании популярных на сегодняшний день нейронных сетей Mask R-CNN как части системы для классификац...

К вашему полку прибыло!!! Добрый день, дамы и господа! Давно читаю на данном сайте новости, посты и пр., однако, зарегистрирован совсем недавно, в связи с тем, что определился с выбором и приобрел себе 3d принтер MAESTRO! В общем, решил я тоже начать писать различные статьи и рассказывать о своих раб...

Глубокое обучение программированию: что, зачем и как Disclaimer: эта статья подготовлена Skillbox совместно с Егором Яковишеном, ведущим разработчиком Setka Editor и трекером ФРИИ. В наше время научиться программировать на базовом уровне относительно несложно. К примеру, американский бездомный Лео Гранд, обладавший только ...

Слушать и говорить: анонс HolyJS 2018 Moscow Что главное на конференциях — доклады или общение? Свои сторонники есть и у первого варианта («информация по делу важнее разговоров»), и у второго («учиться можно и дома, а вот поговорить с экспертами дорогого стоит»). 24-25 ноября мы проведём в Москве конференцию для Ja...

[Из песочницы] Концепция идеального разума. Универсальный ИИ Что такое искусственный разум или сильный искусственный интеллект? На каком этапе создания искусственного разума (ИР) находится человечество? Опасен или полезен ИР? Эти и другие вопросы я хочу осветить в данной статье. Вопрос создания искусственного разума заинтересовал ...

Альтернатива: «Как научить Zabbix отправлять уведомления о проблемах прямо на рабочий стол» На волне статьи от Ильи (ableev) хочу рассказать об ином подходе для уведомлений от системы монторинга Zabbix на рабочем столе. Последние 3 месяца я пользуюсь расширением для браузера zabbix vue. От меня в этот проект прилетел только перевод на русский, так что это не рекла...

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

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

Использование аккумулятора от iPhone при разработке носимой электроники Приветствую, читатель. Довольно часто у меня возникает задача разработки портативных устройств с питанием от одной ячейки Li-ion аккумулятора. И, если заказчика обычно это не беспокоит, то у меня, как у опытного инженера, при виде такого ТЗ по спине пробегает дрожь. Это связ...

Как декларативно описать коллапсирующий Toolbar Хочу представить решение того, как можно описать CollapsingToolbar, с акцентом на читаемости кода. В статье не будет объясняться, что такое и как написать свой CoordinatorLayout.Behavior. Если читателю интересно в этом разобраться, есть много статей, в том числе на хабре. ...

Знакомство с обновленной линейкой игровых гарнитур SteelSeries Arctis 2019 В свое время наушники серии Arctis от SteelSeries произвели хорошее впечатление благодаря качественному звуку и удобной конструкции. В конце 2018 года компания обновила свой модельный ряд гарнитур, учтя ошибки и пожелания пользователей. В сегодняшнем обзоре речь пойдет о мод...

[Из песочницы] Играем с потоками в Node.JS 10.5.0 Доброго времени суток У меня на работе возник спор между мной и дотнетчиками насчет потоков в новой версии Node.JS и необходимости их синхронизоровать. Для начала решили выбрать задачу о параллельной записи строк в файл. Тема с worker_threads горячая, прошу под кат. Читать ...

Конвертация данных GraphQL для компонента CustomTreeData из DevExtreme-Reactive Понадобилось тут отобразить данные в виде дерева, с возможностью редактировать разные поля, удалять/добавлять строки и т.д. В процессе поиска подходящих компонентов (хотелось найти под material-ui и react) стал пробовать devextreme-reactive. Ньюанс, однако, оказался в том, ч...

[Из песочницы] Как я съездил на Droidcon Berlin Привет, меня зовут Виталий, я Android разработчик компании Tinkoff.ru, работаю в Санкт-Петербургском офисе и в этом году я впервые посетил международную конференцию Droidcon Berlin, поэтом кратко хотел рассказать о своих впечатлениях. Данная статья не содержит большого колич...

Работа с базой данных из приложения В начале я обозначу некоторые проблемы и особенности при работе с БД, покажу дыры в абстракциях. Далее мы разберем более простую абстракцию, основанную на иммутабельности. Предполагается, что читатель немного знаком с паттернами Active Record, Data Maper, Identity Map и Unit...

LG Stylo 4 стоит 180 долларов В последнее время смартфоны компании LG были достаточно дорогими и не каждый мог себе такое позволить. Бренд почему-то решил, что сейчас пользователи готовы платить больше только за известный логотип, хотя на самом деле все совершенно иначе работает на современном рынке. Теп...

Из счетчика Гейгера, спичек и ардуины. Часть первая — теория Давно не проблема купить прибор под условным названием «бытовой дозиметр» (были б деньги — в этом смысле, Фукусима радиофобам и радиофилам (TM) подгадила), но думаю, что этот прибор было бы интересно сделать своими руками. Сердцем нашего прибора будет счетчик Гейгера. Мы з...

Что такое Scholarship от Apple и почему это больше, чем просто билет на WWDC Билет на WWDC стоит $1600, и чтобы его получить, нужно участвовать в лотерее. Для студентов со всего мира Apple каждый год устраивает конкурс, в котором можно выиграть бесплатный билет на конференцию и получить другие приятные бонусы. В этом году мне повезло выиграть Schola...

История защиты персональных данных: как появился GDPR С момента вступления в силу 25 мая 2018 года европейского регламента по защите персональных данных (General Data Protection Regulation – GDPR) прошло уже 6 месяцев. Этот закон распространяет свое действие в том числе и на территорию Российской Федерации, но лишь косвенно и...

Жажда крови: интервью с основателем DonorSearch «Чудеса случаются, когда ты рискуешь всем ради мечты, которую кроме тебя не видит никто. Нужно просто верить.» — Клинт Иствуд, фильм «Малышка на миллион». Привет, Хабр! Хочу представить вам Руслана Шекурова, выпускника первого потока philtech-акселератора, который, как мн...

«Флант» и Okmeter: симбиоз на благо мониторинга Пройдя длинный путь системного администрирования Linux-серверов, в качестве базовых инструментов для сбора статистики и мониторинга мы успели попробовать разные варианты реализации. Самописные скрипты (и даже веб-приложения), Cacti, Zabbix — наиболее устоявшиеся у нас в то...

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

[Из песочницы] Внедряем Angular компоненты в React, Vue и даже JQuery если хотите Если вы нашли крутой компонент в npm, но она с приставкой ng, ngx, angular и так далее, то не стоит расстраиваться по этому поводу. Есть много решений, чтобы этот компонент оказался у вас. В данной статье рассмотрим решение, которое официально поддерживается Angular Team, а ...

Создание главного меню игры Здравствуйте, меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Разрабатывая игры каждый из нас сталкивается с необходимостью создания меню игры, в котором можно осуществлять настройки, а также выбирать режимы игры. В этой статье...

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

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

“Буст” аккаунтов вне закона: новые положения в законодательстве Южной Кореи Южная Корея – страна, где киберспорт процветает и развивается семимильными шагами. Однако на ряду с развитием, имеются и ограничения на законодательном уровне. Так, в стране принят закон о продвижении игровой индустрии, где прописаны правила регулирующие киберспорт и и...

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

[Перевод] Трюки при линковке и загрузке файлов Mach-O Представляю вашему вниманию перевод моей статьи из блога Проекта Darling. Маленькая справка по используемым понятиям: Darwin – операционная система с открытым исходным кодом, лежащая в основе macOS, iOS и других ОС от Apple; Mach-O – бинарный формат исполняемых файлов и библ...

[Перевод] Material design: Shape – советы по улучшению графического интерфейса с помощью изменения форм элементов От переводчика Здравствуйте. Этот перевод я делаю потому как сам недавно начал разбираться с Shape в Android, решил пошарить по material.io, и нашел там этот сборник советов по использованию. Мне он показался интересным, полезным, и познавательным, поэтому я решил поделить...

Нативный русский язык из Xorg в rdesktop — мелочь, а приятно У всех людей свой опыт использования Linux десктопа, но лично для меня очень важным является тандем linux desktop + rdesktop в виртуальные машины. Причины тому — определенный софт, который зачастую работает только под Windows, или работает под Windows лучше, а также необходи...

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

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

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

OAuth Authorization Provider для asp net core Начал изучать asp.net core и первое что пытался найти это некое подобие «OAuthAuthorizationServerProvider» для реализации генерации тикета и «IAuthenticationTokenProvider» для реализаций рефреш токена как в обычном asp.net, но не нашел. Не исключено, что плохо искал, и может...

[Перевод] Вся правда об ОСРВ. Статья #9. Планировщик: реализация Основные принципы работы планировщиков ОСРВ были рассмотрены в статье «Задачи и планирование». В настоящей статье мы рассмотрим возможности, которые предлагает Nucleus RTOS, а также более подробно те, которые предоставляет Nucleus SE. Читать дальше →

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

[Из песочницы] Humansnotinvited: разгадываем капчу на bash Приветствую, дорогой читатель! Многие из Вас встречались с капчей — автоматическим тестом Тьюринга. Она позволяет отделить реальных людей от различных ботов. В последнее время очень популярной стала reCAPTCHA от Google Inc. На ней Вы должны выбрать изображения, содержащие н...

[Перевод] Что происходит при создании контейнера Flexbox? Это перевод статьи Rachel Andrew, являющейся одним из разработчиков спецификаций CSS. В короткой серии статей я собираюсь потратить некоторое время на детальную распаковку Flexbox — точно так же, как я делала в прошлом с grid. Мы рассмотрим, для чего был разработан Flexbox, ...

Определение цифры на слух: реализация на Arduino В этой статье я продолжу воплощать свое вдохновение лабораторной работой №3 уже в железе. Речь пойдет о детектировании цифры по звуку в тоновом режиме набора на Arduino с помощью алгоритма Герцеля. Читать дальше →

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

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

Новые безумные проекты Илона Маска: конфетная фабрика Cryptocandy и сервис Pravda Прежде всего, не стоит крутить пальцем у виска и считать, что это шутка. Очень похожую реакцию у общественности вызвало первое сообщение Илона Маска (Elon Musk) о желании проложить сеть тоннелей под Лос-Анджелесом. Менее чем через полтора года после этого первый тоннель...

Первые впечатления от смартфона Honor Magic2: возвращение слайдеров Уставшие от «моноброви» компании постепенно начинают искать новые подходы к дизайну смартфонов – при этом не жертвуя процентом лицевой панели, отданным под дисплей. Так возвращаются в оборот слайдеры: сначала с электронным приводом (OPPO Find X), а теперь и с ручным...

НДС на внутренние покупки Должен ли разработчик платить НДС с покупок внутри условно бесплатного приложения? В предыдущей статье НДС на услуги в электронной форме мы затронули важную тему освобождения от НДС реализации по лицензионным договорам. В связи с этим у разработчиков free-to-play приложен...

Настройка Firefox/Chrome для очень медленного и лимитированного интернета     Давайте попробуем сделать из, например, Firefox броузер, который будет полезен когда у вас очень дорогой трафик, или очень низкая скорость интернета, а вам срочно нужно перелопатить кучу текстовой информации в минимально читаемом виде, конечно же без Javascript. Для этог...

Измерение времени с наносекундной точностью Пару месяцев назад для меня наступил исторический момент. Мне перестало хватать стандартных средств операционной системы для измерения времени. Понадобилось измерять время с наносекундной точностью и с наносекундными накладными расходами. Я решил написать библиотеку, кото...

Методы удержания игроков: примеры из игр различных жанров Меня зовут Оксана Фомина, я анализирую поведение пользователей и увеличиваю доходы игры, в том числе за счет повышения удержания игроков. В первой части статьи «МЕТОДЫ УДЕРЖАНИЯ ИГРОКОВ В СЛОТ-ИГРАХ: Часть 1» я рассмотрела применение методов удержания игроков на примере сло...

[Перевод] Senior Engineer в поисках работы. Как я прошел 20 собеседований с HR и что я об этом думаю Предисловие для читателей Хабра — статья поиске работы на рынке разработки в Украине (который в основном об аутсорсе на иностранных заказчиков) поэтому некоторые вещи могут показаться странными (LinkedIn, собеседования с заказчиками, обязательное требование разговорного англ...

Google запретила Nokia скрывать «чёлки» Некоторое время назад компания Essential удалили из настроек своего смартфона опцию, которая позволяла скрыть «чёлку» устройства. Тогда это объяснили тем, что реализация данного механизма вызывала конфликт с компонентами Android, которые отвечают за пользовательский интерф...

Тестируем создание библиотеки компонент для Angular с помощью новой команды для Angular/Cli — library Когда проектов становится чуть больше чем один, возникает необходимость как-то переиспользовать не только отдельные модули с кодом, но и сами UI-компоненты. Вариантов решения проблемы много — от традиционного копипаста, до настройки отдельного проекта с тестами, документаци...

Терминальный сервер для AutoCAD Терминальный сервер для CAD систем интересовал меня давно и данная статья является результатом изысканий в сети Интернет. В этой статье поговорим конкретно о терминальном сервере для Автокада. Автокад довольно ресурсоёмкое приложение требующее все ресурсы железа: и оператив...

Проблемы современной записи математических текстов В недавней статье товарищ KvanTTT поднял вопрос: Можете пояснить что вам не нравится в современной записи (математических положений и) формул и как ее можно улучшить? Я постарался ответить в одном комментарии, но размер текстового поля не позволил закончить выкладки. Данная...

Исследование файловой системы HDD видеорегистратора модели QCM-08DL Данная статья посвящена изучению файловой структуры жёсткого диска восьмиканального видеорегистратора с целью массового извлечения файлов с видеозаписями. В конце статьи приводится реализация соответствующей программы на языке С. Читать дальше →

[Из песочницы] Vanessa-Automation — инструмент тестирования прикладных решений на платформе 1С: Предприятие Не с начала Много вы знаете инструментов тестирования, которые умеют: Получать шаги на языке Gherkin сразу из того, что накликал пользователь? Создавать видео-инструкции автоматически, с субтитрами, black Jack'ом и Еленой?) Создавать *.feature файл на английском языке в рум...

Таймтрекер на Google Scripts, Docs и Spreadsheets В предыдущей статье речь шла о подходе к техническому заданию в Decart IT-production. Когда мы внедрили эти изменения, проекты велись в облачной Jira, но ее потенциал использовался на минимальном уровне. Для небольшой компании достаточно грамотной постановки задач, таймтре...

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

Два скилла, которые помогут стать отличным разработчиком От переводчика: эта статья — перевод оригинальной статьи Бара Франека, специалиста по JavaScript. В новом своем материале он решил рассказать, какие навыки помогают разработчику в его ежедневном труде. Но речь не о программных инструментах, а, скорее, ментальных. Без раз...

Псс, парень… Есть работа! Утро рабочего дня…Главред открывает рабочую почту и видит десятки писем от людей, желающих работать в команде AndroidInsider.ru. Среди них есть очень достойные кандидаты, но вот незадача — текучки кадров у нас нет. Впрочем, пришло время расширяться, а это значит...

[Перевод] Замедляем Windows, часть 2: создание процессов Windows давно упрекают за медлительность файловых операций и создания процессов. А вы когда-нибудь пробовали сделать их ещё медленнее? Эта статья покажет технику, как постепенно замедлять создание процессов в Windows (до бесконечности) незаметно для большинства пользовател...

[Из песочницы] Опыт использования Mikrotik CHR для организации виртуальной маршрутиризации В статье приведу результат решения задачи по организации маршрутизации между виртуальными машинами на VMware с использованием MikroTik CHR, причем с организацией доступа по VPN до виртуальных машин из внешней сети. Читать дальше →

Sportiduino — система электронной отметки для спортивных соревнований, часть 3 → Часть 1, Часть 2 Прошёл год после прошлой публикации, и мне часто задают вопрос, что изменилось с тех пор. Если кратко, то был произведён переход на чипы Ntag, сделаны небольшие изменения в схеме для обеспечения лучшей чувствительности, громкости сигнала и корректного х...

LG Display произведёт 2–4 млн дисплеев для 6,5-дюймового iPhone Apple — главный конкурент Samsung на рынке смартфонов. Samsung — крупнейший в мире поставщик OLED-панелей для смартфонов. Из-за этого Apple вынуждена закупать у своего соперника дисплеи для iPhone X и его преемников. Поэтому неудивительно, что купертиновцы постоянно ищут пут...

[Перевод] Введение в систему модулей Go Грядущий релиз версии 1.11 языка программирования Go принесет экспериментальную поддержку модулей — новую систему управления зависимостями для Go. (прим.перев.: релиз состоялся) Недавно я уже писал об этом небольшой пост. С тех пор кое-что слегка поменялось, да и мы стали бл...

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

External — GUI для Golang Приветствую вас, коллеги! Около месяца назад я опубликовал здесь статью GUI-фреймворки — на поток, где предлагалась технология создания GUI-фреймворков для разных языков программирования, основанная на подключении (tcp/ip или каком другом) к внешнему процессу, играющему рол...

Cursor API как альтернатива стандартному Paging Недостатки стандартного Paging API Изначально мы должны понять, почему подход с offset pagination не годится для больших датасетов с помощью следующего примера: Клиент предоставляет два параметра — LIMIT для ожидаемого максимального количества результатов и OFFSET для смеще...

[Перевод] Понимаем RBAC в Kubernetes Прим. перев.: Статья написана Javier Salmeron — инженером из хорошо известной в Kubernetes-сообществе компании Bitnami — и была опубликована в блоге CNCF в начале августа. Автор рассказывает о самых основах механизма RBAC (управление доступом на основе ролей), появившегося в...

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

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

Восход Cолнца Вручную #2: По хардкору за IDE, Cmake, и моё разочарование в животных В предыдущей статье имел наглость использовать CLion в качестве IDE. И тут же прибежал человек с вопросом: ой, проприетарная платная поделка, продался, зажрался, итп. Справедливости ради, на Хабре такой комментарий был всего один, но в реальности их тысячи. Например, крайний...

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

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

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

К вопросу о кривых Безье, быстродействии Ардуино и одном интересном сайте, или как я провел выходные «Решить парадокс Грея с дельфинами может любой, а ты попробуй сделать это без дельфинов. » Вообще то планировал я провести выходные несколько по иному, съездить на Copter Huck (не то, чтобы я был фанатом коптеров, просто посмотреть, что молодежь придумывает, потусоваться ...

[Перевод] Внедрение зависимостей в Go Недавно я создал небольшой проект на языке Go. После нескольких лет работы с Java я был сильно удивлён тем, как вяло внедрение зависимостей (Dependency Injection, DI) применяется в экосистеме Go. Для своего проекта я решил использовать библиотеку dig от компании Uber, и он...

Хитрое префиксное дерево Си реализация Введение Прошло долгих четыре месяца с момента публикации статьи о моей попытке низкоуровневой реализации префиксного дерева. Несмотря на все мои старания потолок на который оказалась способна моя прошлая реализация префиксного дерева был ~80 тыс. слов в секунду. Я потратил...

Расширение PHP и Kotlin Native. Часть первая, наивная В этой статье рассматривается самый наивный и простой подход к созданию расширения PHP с использованием Kotlin Native. Обращаю внимание, что не на, а с использованием. Это скорее некий туториал с описанием возникших при скрещивании ужа с ежом проблем и путей их решения. Отк...

Символьные вычисления средствами Python. Часть1. Основы Реализация алгоритмов на языке Python с использованием символьных вычислений и интерпретируемого языка очень удобна при решении задач математического моделирования процессов и объектов. Основываясь на библиотеке SymPy, Python с успехом справляется с решением уравнений и си...

Apple переходит на китайские компоненты для iPhone, iPad и MacBook Хотя Apple и является самой дорогой корпорацией мира и имеет максимально высокую наценку на свою продукцию, это не мешает её руководству искать новые пути снижения себестоимости товаров. По сообщению ресурса DigiTimes, за последнее время купертинцы значительно расширили…

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

Почти OCR для получения пароля VPNBook. PHP + Mikrotik Недавно VPNBook стал публиковать пароль вместо прямого текста в виде изображения. «Ну как же так» — подумал я и начал искать пути решения этой проблемы. Распознаем «картиночный» пароль VPNBook на PHP. И, конечно, скрипт для Mikrotik. Читать дальше →

«Прозрачный» HTTPS прокси для обхода блокировок Роскомнадзора Привет, хабровчане! Я думаю, многие в последнее время столкнулись с проблемами доступа к нужным ресурсам из-за попыток Роскомпозоранадзора заблокировать Телеграм. И я думаю, комментарии тут излишни. Факт — эти ресурсы ни в чем не виноваты, но они заблокированы. Проблемы возн...

Стоимость комплектующих iPhone XS Max составляет $443 iPhone XS Max с 256 ГБ памяти стоит, по оценкам, 443 долл. США, согласно предоставленным данным TechInsights в результате вскрытия нового устройства. Комплектующие iPhone XS Max почти на 50$ дороже, чем стоимость компонентов в размере $ 395,44 для iPhone X. В iPhone XS Max с...

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

Big Data resistance 1 или неуловимый Джо. Интернет анонимность, антидетект, антитрекинг для анти-вас и анти-нас Доброго времени прочтения, уважаемые читатели Хабра. Прочитал за последнее время ряд статей, в том числе на Хабре, по цифровым отпечаткам браузеров и слежке за пользователями в Интернете. Например статья Анонимная идентификация браузеров и Ловушка в интернете журнал Forbes,...

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

Создание приложения на .NET Core и Kubernetes: наш опыт Всем привет! Сегодня расскажем об опыте одного из наших DevOps проектов. Мы решили реализовать новое приложение под Linux с использованием .Net Core на микросервисной архитектуре. Мы рассчитываем, что проект будет активно развиваться, а пользователей будет всё больше и бо...

Как я создала прибыльное Android приложение по распознаванию текста Всем привет. В прошлой статье я рассказывала, как заработать свои первые 100$ в Google Play Market. В этой статье я больше расскажу о разработке и управлении проектом. Предмет статьи — Android приложение по распознаванию текста, которое в маркете 4 месяца и имеет почти 10 0...

Из Dribbble в Android Motion На просторах интернета много интересных анимированных шаблонов с красивыми пользовательскими интерфейсами мобильных приложений, но не так много примеров с реализацией этих интерфейсов. Несмотря на обилие различных встроенных фреймворков и инструментов в Android SDK, начина...

[Перевод] Dead Cells: использование 3D-конвейера для 2D-анимации Можно сказать, что девиз почти всех инди-разработчиков — это «Большие мечты при ограниченных ресурсах». Когда я начал работать над первой игрой Motion Twin для Steam Dead Cells, эта фраза стала и моим девизом. Меня зовут Тома Вассёр, в течение целого года я был единственны...

Центробанк просит полномочий для досудебной блокировки вредоносных сайтов На днях стало известно о том, что ЦБ планирует получить право без суда блокировать сайты, используемые финансовыми мошенниками. Эта идея уже вышла из стадии концепта, е обсуждали на совещании у вице-премьера Максима Акимова, пишут «Ведомости». Для реализации запрашиваемой ...

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

[на правах рекламы] Новогоднее безумие: Windows 10 Pro за $11.47, Office 2016 за Pro $25.98 и Office 2019 за $53.32 Новогодние и Рождественские каникулы не за горами, и все уже ищут лучшие праздничные скидки! На случай, если вы в последнее время пытаетесь обновить программное обеспечение компьютера, для вас есть несколько хороших предложений. *** на правах рекламы ***

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

Автоматизируем UI-тесты Android приложения с использование паттерна Page Object Паттерн Page Object появился в тестировании web и очень хорошо себя там зарекомендовал. Когда я начал автоматизировать тесты для android приложения, то первым делом подумал про него. Поискал информацию в сети, поспрашивал коллег и, в принципе, не нашел доводов не попробова...

Blizzard уменьшила поддержку Heroes of the Storm и отменила киберспортивные матчи в 2019 году Завершается очередной год — самое время оглянуться назад и обдумать планы на будущее. Именно это и сделали разработчики Heroes of the Storm из Blizzard Entertainment. Эта MOBA, объединяющая в одной вселенной героев из различных серий компании, постепенно бледн...

Деревовидный список RecyclerView (без сторонних библиотек и дочерних массивов) Доброго времени суток, уважаемые читатели. В своей статье я хочу поделиться реализацией деревовидного списка с помощью RecyclerView. Без использования каких-либо дополнительных библиотек и без использования дочернего массива. Кому интересно, прошу под кат. Постараюсь описат...

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

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

[Перевод] Сущности в DDD-стиле с Entity Framework Core Эта статья о том, как применить принципы Domain-Driven Design (DDD) к классам, которые Entity Framework Core (EF Core) использует для отображения на базу данных и почему это может быть полезно. TLDR В DDD-подходе есть множество преимуществ, но главное – DDD переносит код оп...

Навигация с архитектурными компонентами от Google. Часть 1. Знакомство Одной из проблем, с которыми сталкивается разработчик немного подразросшегося приложения — навигация между экранами. Когда сценарии становятся нелинейными, уже тяжело обойтись стандартными startActivity и changeFragment. Эту проблему каждый решал по-своему: делал какое-то св...

Цветомузыка на светодиодной ленте WS2812 Привет дорогой читатель. Предлагаю к сборке еще один вариант цветомузыки. Данный вариант построен на модуле с микроконтроллером STM32F103C8T6. Схема цветомузыки Читать дальше →

Дашборды Check Point — вот что я люблю — Зачем вы мне втираете про удобный интерфейс? Это вообще не важно. Меня интересует только функционал! (из беседы с клиентом) При выборе NGFW (или UTM) чаще всего смотрят исключительно на функционал устройства. С этим подходом трудно поспорить (да и не нужно). Устройство б...

[Из песочницы] Записки IoT-провайдера. Введение Здравствуйте, уважаемые читатели Хабра. Меня зовут Олег Плотников, я директор Центра Промышленного Интернета одной из IT-компаний. Этой статьей я бы хотел начать целый цикл заметок про Интернет Вещей и конкретно про технологию LoRa. О ней уже не раз писали на Хабре, писали и...

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

Удобный способ тестирования React-компонентов Я написал построитель дополнительных отчетов (custom reporter) для Jest и выложил на GitHub. Мой построитель называется Jest-snapshots-book, он создает HTML-книгу снимков компонентов React-приложения. В статье речь пойдет о том, что такое Jest, snapshot-тестирование, для ...

Беспроводные клавиатуры для одновременной работы с Windows, MacOS, Android и iOS Беспроводные универсальные клавиатуры стали для меня открытием совсем недавно, когда появилась необходимость в подобном устройстве. В моем случае необходимость написания статей, решения определенных задач в программировании и музыке создают некоторые сложности. Например, с...

[Из песочницы] Взлет Хелидона Привет, Хабр! Представляю вашему вниманию перевод статьи Дмитрия Корнилова Helidon Takes Flight. Я не являюсь сотрудником Oracle, но мне показалась интересной статья о новом, набирающем популярность, типе фреймворков. Итак, поехали… Сегодня хороший день. Сегодня мы представ...

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

Быстрый старт с WPF. Часть 1. Привязка, INotifyPropertyChanged и MVVM Всем привет! По разным причинам большинство из нас использует десктопные приложения, как минимум, браузер :) А у некоторых из нас возникает необходимость в написании своих. В этой статье я хочу пробежаться по процессу разработки несложного десктопного приложения с использова...

[Из песочницы] Chisel — (не совсем) новый подход к разработке цифровой логики С развитием микроэлектроники, rtl дизайны становились все больше и больше. Реюзабилити кода на verilog доставляет массу неудобств, даже с использованием generate, макросов и фишек system verilog. Chisel же, дает возможность применить всю мощь объектного и функционального пр...

[Перевод] Как обеспечивается высокая доступность в Kubernetes Прим. перев.: Оригинальная статья была написана техническим писателем из Google, работающим над документацией для Kubernetes (Andrew Chen), и директором по software engineering из SAP (Dominik Tornow). Её цель — доступно и наглядно объяснить основы организации и реализации h...

Котики vs нейросеть 2. Или запускаем SqueezeNet v.1.1 на Raspberry Zero в realtime (почти) Всем привет! После написания не совсем серьезной и не особо полезной в практическом ключе первой части меня слегка заглодала совесть. И я решил довести начатое до конца. То есть выбрать-таки реализацию нейросети для запуска на Rasperry Pi Zero W в реальном времени (конечно,...

Становление дизайнера: от фриланса из общежития до работы с топовыми компаниями и запуска своего продукта Эта статья стала самой объемной, важной, но, при этом, самой простой в написании, а все потому, что я не придумывал сюжет, не искал факты и не формировал заключение. В ней все так, как было, начиная с моего приезда в Москву из маленькой деревни, до сегодняшнего дня. (~ 17...

Hello World для получения данных с Bluetooth (BLE) устройства через C# Добрый день. Пару недель назад я столкнулся с проблемой, что нормальной и современной статьи по первому получению данных с Bluetooth просто нет. И пришлось повозиться чтобы понять с чего начать и как это вообще осуществить. И чтобы люди не повторяли мои ошибки, вот краткое э...

Веб-компоненты. Часть 3: html шаблоны и импорты Вступление Приветствую коллеги. Данная статья является третьей и последней статьей в серии статей о веб-компонентах.Первые две статьи доступны по ссылкам: Веб компоненты. Часть 1: Пользовательские элементы Веб-компоненты. Часть 2: Теневой DOM В данной статье речь пойдет о &...

Разыгрываем билеты на воркшоп «Advanced React State Management With MobX» Привет, хаброчитатели! Мы с классными новостями. Как только наши коллеги узнали, что Michel Weststrate готов сделать воркшоп в Москве, сразу собрали группу желающих. И решили разыграть два билета на мастер-класс среди читателей хаброблога. Про воркшоп и условия розыгрыша ч...

[Из песочницы] Реализация Вавилонской библиотеки В этой статье Вы узнаете всё о Вавилонской библиотеке, а самое главное — как воссоздать её, да и вообще любую библиотеку. Читать дальше →

Gartner: слишком мало организаций готовы перейти на цифровые способы работе Многие организации стремятся развивать мобильные, более гибкие подходы к работе, выполняемой в команде, и всё больше компаний ищут содействия в …

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

5 страхов разработчиков, которые мы преодолели Хэллоуин — время поговорить о страхах. Я работаю продакт-менеджером в IT-компании, поэтому речь пойдёт про кошмары разработчиков. Но не обычные, а те, что появляются во времена перемен. Когда компания развивается — меняет подход к разработке, создаёт новые продукты и расш...

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

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

Большой портальный фрезерный станок с ЧПУ своими руками Здравствуй дорогой читатель, в этой статье хочу поделиться своим опытом постройки фрезерного портального станка с числовым программным управлением. Читать дальше →

AWS re:Invent 2018 — впечатления от первого дня На Хабре мало публикаций об одной из самых масштабных технологических конференций. Это AWS re:Invent, которая стартанула сегодня (26 ноября) в Лас Вегасе. Понято, что в русскоязычном пространстве использование AWS может быть несколько ограниченно. Тем не менее, лидер облач...

Apple Metal в MAPS.ME Всем привет! В мире существует огромное количество приложений на OpenGL, и, кажется, Apple c этим не вполне согласна. Начиная с iOS 12 и MacOS Mojave, OpenGL переведен в статус устаревшего. Мы интегрировали Apple Metal в MAPS.ME и готовы поделиться своим опытом и результата...

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

Как правильно и неправильно спать Не так давно мимо нас пробегала неплохая статья об ужасном состоянии производительности современного ПО (оригинал на английском, перевод на Хабре). Эта статья напомнила мне об одном антипаттерне кода, который встречается весьма часто и в общем кое-как работает, но приводит к...

[Перевод] Применение принципов SOLID при разработке React-приложений Недавно мы публиковали материал о методологии SOLID. Сегодня мы представляем вашему вниманию перевод статьи, которая посвящена применению принципов SOLID при разработке приложений с использованием популярной библиотеки React. Автор статьи говорит, что здесь, ради краткост...

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

Ландшафт сервисов облачного машинного перевода. Лекция в Яндексе Это последний доклад с шестого Гипербатона, который мы опубликуем на Хабре. Григорий Сапунов из Intento поделился подходом к оценке качества сервисов облачного машинного перевода, рассказал о результатах оценки и главных отличиях между доступными сервисами. — Меня зовут Гр...

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

Всё под контролем. Зачем нужны системы мониторинга инженерной инфраструктуры центров обработки данных Хабр, привет! Я ведущий инженер компании «ЛАНИТ-Интеграция». Работаю здесь больше 20 лет. Последние семь лет занимаюсь инженерным обеспечением ЦОДов: устанавливаю и запускаю оборудование в работу. С каждым годом появляется всё больше требований к надежности и удобству испо...

Защита данных облачного Microsoft Office 365 с помощью решения Veeam Все больше организаций переходит к использованию облачного Microsoft Office 365, и Veeam продолжает обеспечивать для них защиту данных – наши решения работают 24х7, а разработчики следуют календарю релизов и обновлений. Так, когда многие наши читатели были на отдыхе в разгар...

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

How much is the Хабрабургер Когда у тебя возникает необходимость написать на Хабр пост про конкурс рецептов бургеров, по спине пробегает недобрый холодок. Ты пишешь-стираешь, пишешь-стираешь, уходишь пить кофе, а перед глазами мелькают комментарии: «Что это делает на Хабре?», «Причём тут хостинг?», «Чу...

Как Яндекс создавал дополненную реальность в Картах для iOS. Опыт использования ARKit Остается всё меньше людей, которых можно удивить дополненной реальностью (AR). Для кого-то эта технология ассоциируется с игрушкой на пару часов. Другие находят ей более практичное применение. Меня зовут Дмитрий, и я разрабатываю Яндекс.Карты для iOS. Сегодня я расскажу чита...

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

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

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

[Перевод] Angular 6+ полное руководство по внедрению зависимостей.  providedIn vs providers:[] В Angular 6 появился новый улучшенный синтаксис для внедрения зависимостей сервисов в приложение (provideIn). Несмотря на то, что уже вышел Angular 7, эта тема до сих пор остается актуальной. Существует много путаницы в комментариях GitHub, Slack и Stack Overflow, так что ...

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

Проектирование типами: Как сделать некорректные состояния невыразимыми на C# Как правило статьи, рассказывающие о проектировании типами, содержат примеры на функциональных языках — Haskell, F# и других. Может показаться, что эта концепция неприменима к объектно-ориентированным языкам, но это не так. В этой статье я переведу примеры из статьи Скотта В...

Foursquare 11.10.2 Foursquare - где бы ни находились вы и ваши друзья, приложение поможет вам провести время как нельзя лучше. Присоединитесь к более чем 25 миллионам людей, которые уже пользуются Foursquare. Загрузите бесплатное приложение сейчас! Записывайте свои впечатления о посещенных м...

[DotNetBook] Span: новый тип данных .NET С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом (уже готово около 200 страниц книги, так что добро пожаловать в конец статьи за ссылками). Как язык, так и платформа существуют уже много лет: и все...

IT Релокация. Обзор плюсов и минусов жизни в Бангкоке год спустя Моя история началась где-то в октябре 2016 года когда в голове поселилась мысль «А почему бы не попробовать работать за рубежом?». Сначала были простые интервью с аутсорсинг компаниями из Англии. Было очень много вакансий с описанием «возможны частые командировки в Америку...

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

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

UE4 | Инвентарь для Multiplayer #4 | Создание и подключение конейнера Список статейUE4 | Инвентарь для Multiplayer #1 | Хранилище данных на DataAsset UE4 | Инвентарь для Multiplayer #2 | Подключение Blueprint к C++ UE4 | Инвентарь для Multiplayer #3 | Структура взаимодействия UE4 | Инвентарь для Multiplayer #4 | Создание и подключение конейнер...

Ретроспектива технологических стартапов. Как это было в 90-х и чуть раньше Предыдущая статья цикла: Ретроспектива технологических стартапов. Z3 — первый релейный компьютер В этой статье продолжаю ретроспективу стартапов. Перенесёмся из Германии Второй Мировой в молодую Россию начала 90-х прошлого столетия. В этот раз будет много примеров о том к...

[Перевод] Может ли Бетховен отправлять запросы на удаление? Как немецкий профессор столкнулся с чрезмерно жадными фильтрами на закачку музыки Большая часть сопротивления происходящей в Евросоюзе реформе закона об авторских правах концентрируется на намерении законодателей потребовать от платформ внедрения обязательных фильтров на з...

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

Граали соревнования Telecom Data Cup. Самое жаркое впереди В начале ноября стартовал чемпионат по машинному обучению и анализу данных под кодовым названием Telecom Data Cup, организаторами которого являются Mail.Ru Group и МегаФон. Соревнование запущено на уже известной платформе ML Boot Camp. На ней стараемся проводить большинс...

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

[Из песочницы] А был ли Scrum*? *Scrum (Скрам (сущ.)) — это фреймворк, который помогает решать изменяющиеся в процессе работы задачи, чтобы продуктивно и творчески поставлять клиентам продукты с максимально возможной ценностью. Почему я решил написать эту статью Очень часто в рабочей среде, на просторах и...

Путь к бесконтактному детектору лжи, или Как устроить себе хакатон на максималках Когда-то Стив Джобс и Стив Возняк закрылись в гараже и выкатили первый Mac. Было бы классно, если всегда можно было закрыть программистов в гараже и получить MVP с большим потенциалом. Однако, если добавить к программистам пару людей, готовых оценивать пользовательский опыт...

«Календарь тестировщика» за декабрь. Попробуй другой подход В Новый год многие подводят итоги, анализируя прошедший год, вспоминают все свои результаты и строят планы на будущее. В 12-ом выпуске нашего календаря Анастасия Ронжина, тестировщик сервиса Контур.Маркет, расскажет о том, почему стоит пробовать что-то новое, менять свои взг...

Что нового: стали известны подробности о реализации новой архитектуры Zen 2 В начале месяца в AMD рассказали о Zen 2. Первые чипы ожидаются уже в 2019. Рассказываем об особенностях архитектуры и о том, что она даст в контексте AMD vs Intel. Читать дальше →

Мой отчет о конференции Стачка 2018 в Ульяновске Дорогие друзья, хочу поделиться с вами своими впечатлениями о конференции Стачка в Ульяновске https://nastachku.ru/, которую я посетил. Большое спасибо Александру Моисеенко за то, что пригласил меня выступить с докладом на этом мероприятии. Тему я выбрал следующую: "Методы ...

[Перевод] Разработка веб-приложения на Rust Автор материала, перевод которого мы сегодня публикуем, говорит, что его самым свежим экспериментом в области архитектуры программных проектов стало создание рабочего веб-приложения с использованием исключительно языка Rust и с минимально возможным применением шаблонного код...

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

Валидация электронных подписей на C# с использованием КРИПТО ПРО Продолжая разговор на тему электронных подписей (далее ЭП), надо сказать о проверке. В предыдущей стать я разбирал более сложную часть задачи — создание подписи. В этой статье всё несколько проще. Большая часть кода это адаптация примеров из КРИПТО ПРО .NET SDK. Проверять бу...

Новые безумные проекты Илона Маска: конфетная фабрика Cryptocandy и сервис Pravda Прежде всего, не стоит крутить пальцем у виска и считать, что это шутка. Очень похожую реакцию у общественности вызвало первое сообщение Илона Маска (Elon Musk) о желании проложить сеть тоннелей под Лос-Анджелесом. Менее чем через полтора года после этого первый тоннел...

[Из песочницы] Как из PostgreSQL и ClickHouse в Python много, быстро и сразу в numpy Сломал много копий в поисках решения для быстрого получения длинных историй цен для большого количества активов в Python. Ещё имел смелость желать работать с ценами в numpy-массивах, а лучше сразу в pandas. Стандартные подходы в лоб работали разочаровывающе, что приводило к...

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

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

Обзор Motorola Moto G6 — хороший знакомый Смартфон, разработанный, чтобы производить впечатление, так о Motorola Moto G6 говорят сами создатели. Смартфон произвел впечатление и на нас, но какое? Не будем спойлерить, об этом в конце нового обзора. Читать дальше →

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

Мой опыт знакомства и работы с Robot Framework Чуть более года назад я впервые попробовал в работе Robot Framework. За время моего участия в довольно масштабном проекте я испытал на своей шкуре два разных подхода к автоматизации тестирования с помощью этого инструмента: написание тестов на чистом DSL Robot Framework и ра...

Нагрузочное тестирование Veeam Backup&Replication Весной 2018 года Selectel запустил услугу резервного копирования для Облака на базе VMware посредством Veeam® Backup&Replication™ (далее VBR). К реализации проекта мы подошли основательно, спланировали и выполнили следующий перечень работ: Изучение документации и луч...

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

Сервис в деле: Как зарубежные ритейлеры открывают в России магазины под ключ Большая часть российского fashion-ритейла (магазины одежды, обуви, аксессуаров) представлены зарубежными брендами. Всем им однажды пришлось выйти на наш рынок, а, значит, в самом начале выбрать метод: самостоятельно перестроить бизнес под местные реалии; обратиться к с...

Дисней представила собственную систему анимации волос HairControl Одна из самых сложных проблем современной 3D-анимации до сих пор заключается в такой, на первый взгляд, простой вещи, как отрисовка волос. На самом деле создание прически — это одна из наиболее сложных и трудоемких операций, которую можно себе вообразить. Анимационные и игро...

[Из песочницы] Распознавание цвета и уровня освещенности с помощью APDS-9960 Недавно на Habr.com промелькнула статья в которой, среди прочего, сообщалось о датчике освещенности. Некоторое время назад я нашел и приобрел интересную вещь — модуль производства фирмы RobotDyn на основе датчика APDS-9960, который тоже умеет измерять уровень освещенности....

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

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

Набор в OnePlus 6T Lab открыт OnePlus начала традиционный набор испытуемых в команду OnePlus 6T Lab. Суть программы состоит в том, что несколько избранных получают неаносированные смартфоны и делятся своими впечатлениями о новинке, что помогает компании получать пользовательский отклик еще до начала реал...

Ищу senior'а без офиса и печенек: как у нас организован поиск сотрудников на 100% удаленку Наем удаленного разработчика или тестировщика, с которым до начала работы не предусмотрено личных встреч, представляется серьезным риском. Присутствие кандидата создает иллюзию контроля над ситуацией. А куда же без него? Приняв для себя идеологию удаленной работы вместе со ...

Apple отложила релиз важной функции iOS 12 Apple приняла решение отложить релиз функции групповых звонков в FaceTime, удалив ее из актуальных бета-версий iOS 12 и macOS Mojave. Об этом говорится в примечании к обновлениям. Вероятно, разработчики компании столкнулись с некоторыми проблемами в реализации нововведения...

Безопасность мобильного OAuth 2.0 Всем привет! Я Никита Ступин, специалист по информационной безопасности Почты Mail.Ru. Не так давно я провел исследование уязвимостей мобильного OAuth 2.0. Для создания безопасной схемы мобильного OAuth 2.0 мало реализовать стандарт в чистом виде и проверять redirect_uri. ...

[Перевод] Реализация BottomAppBar. Часть 1: Material компоненты для Android BottomAppBar — это один из новых Android Material компонентов, которые были представлены на Google I/O 2018. Это по сути расширение компонента Toolbar. Новый BottomAppBar располагается в нижней части окна приложения в отличие от тулбара, который находится в его верхней част...

[Из песочницы] Управление своими модулями для CMS c использованием composer Здравствуйте, друзья! Появление популярного менеджера зависимостей в PHP — является одним из важнейших событий в жизни PHP-сообщества. Composer разделил время на "до" — когда наши самописные библиотеки лежали в zip-архивах или просто разбросаны по папкам и копирова...

[Перевод] Как разыграть соседа по комнате От переводчика Студент Университета Тафтса рассказывает, как подкалывал своего соседа по комнате. Он даже меня подколол, когда начал свою историю с того, что у них в общаге висит 4K-телевизор. Читать дальше →

Как защититься от переполнения стека (на Cortex M)? Если вы программируете на «большом» компьютере, то у вас такой вопрос, скорее всего, вообще не возникает. Стека много, чтобы его переполнить, нужно постараться. В худшем случае вы нажмёте ОК на окошке вроде этого и пойдете разбираться, в чем дело. Но вот если вы программир...

[Из песочницы] Восстановление смазанных и расфокусированных изображений с помощью фильтра Винера. Реализация на C++ OpenCV В продолжении статьи про восстановление расфокусированных и смазанных изображений хочу поделиться своими результатами восстановления реальных изображений с помощью фильтра Винера. В качестве библиотеки обработки изображений использовалась OpenCV 3.4. Фотокамера – Nikon D320,...

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

GitHub анонсировал собственный CI/CD и начал раздавать инвайты На прошедшей «GitHub Universe» компания анонсировала много разного, но меня больше всего «зацепило» их собственное CI/CD решение. Основано на Docker, может собирать и выполнять контейнеры по пушу в репозиторий, появлению нового тикеты, созданию релиза. здесь можно оставить з...

Занимательный пролог #3 Так вот, сообщество, прошу предоставить мне шанс удивить вас с третьего раза, в предыдущем решении я задействовал питон, думал вот тут привлеку внимание знатоков и мне сразу скажут, да зачем это делать, вообще есть же регулярные выражения — сделал и все там точно будет работ...

[Из песочницы] Решаем проблемы типов данных в Ruby или Make data reliable again В этой статье я хотел бы рассказать о том, какие проблемы с типами данных есть в Ruby, с какими проблемами столкнулся я, как их можно решить и как сделать так, чтобы на данные, с которыми мы работаем, можно было положиться. Читать дальше →

Финтех-дайджест: капитализация Apple превысила $1 трлн, ИИ помог eBay поднять выручку на миллиарды Привет, Хабр! За неделю произошло много всего интересного, и мы, как обычно, рассказываем об этих событиях: Капитализация Apple действительно превысила $1 трлн; Искусственный интеллект помогает eBay получать больше денег за счет персонализированного подхода к пользовате...

[Из песочницы] Как я заменил RxJava на корутины в своем проекте и почему вам вероятно также стоит это сделать Привет, Хабр! Представляю вам перевод статьи автора Paulo Sato на тему использования Kotlin Coroutines вместо RxJava в своих Android проектах. RxJava как базука, большинство приложений не использует и половины её огневой мощи. В статье пойдет речь о том, как заменить её кор...

[Перевод] Drag и Swipe в RecyclerView. Часть 2: контроллеры перетаскивания, сетки и пользовательские анимации В первой части мы рассмотрели ItemTouchHelper и реализацию ItemTouchHelper.Callback, которая добавляет базовые функции drag & drop и swipe-to-dismiss в RecyclerView. В этой статье мы продолжим то, что было сделано в предыдущей, добавив поддержку расположения элементов в...

Microsoft представила приложение “Твой телефон” На конференции разработчиков Build, компания Microsoft представила новое приложение “Твой телефон” для Windows 10. Оно предназначено для использования возможностей смартфона на ПК, что позволит владельцам Windows 10 получить доступ к смс, фотографиям и уведомлени...

[Перевод] Реализация навигации в Android приложениях с помощью Navigation Architecture Component От переводчика Здравствуйте, хабрчане. Это перевод статьи-документации к новой технологии Navigation для Android-разработчиков. Технология сейчас находится в стадии разработки, но уже доступна для использования и очень даже работает в превью версии Android Studio 3.2 и выше...

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

Как новая функция iOS 12 напомнила мне, что пора лечиться Буквально на днях мой iPhone гордо сообщил мне, что стала доступна iOS 12 и предложил мне обновиться. На хабре уже было пару статей о том, что нового анонсировал Apple в этой версии. Но я не заметил там упоминания об одной полезной для смартфонозадротов вроде меня функции «Э...

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

[Из песочницы] Понижаем уровень связанности с помощью DI для улучшения тестируемости кода, пример реализации В началье статьи хочу сразу заметить, что я не претендую на новизну, а только хочу поделиться/напомнить о такой возможности как IoC DI. Также у меня почти нет опыта написания статей, это моя первая. Я старался как мог, если что не судите строго. О чем вообще речь Большая ча...

Apollo graphql client — разработка изоморфных (универсальных) приложений на react.js В предыдущем сообщении Apollo graphql client применялся для разработки чисто клиентского приложения. В документации Apollo graphql client есть (очень лаконичный) раздел, посвященный серверному рендерингу и изоморфным приложениям. Одна из сложностей серверного рендеринга в r...

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

[Перевод] Пакетный менеджер для Kubernetes — Helm: прошлое, настоящее, будущее Прим. перев.: Этой статьёй мы открываем цикл публикаций про пакетный менеджер для Kubernetes, который активно используем в повседневной работе, — Helm. Оригинальным автором материала является Matt Butcher — один из основателей проекта Helm, работающий над Open Source-проекта...

[Из песочницы] Первый опыт работы с Яндекс Диалогами. Ждем нововведений Созданием голосовых навыков я начал заниматься в начале 2017 года — устройства Echo от Amazon с ассистентом Alexa (Алекса). На тот момент инструменты для разработчиков были доступны уже полтора года, хотя не шли в сравнение с тем, что предлагают Amazon и Google сегодня. Откр...

Как это работать со Студией Лебедева: опыт Туту.ру Меня зовут Никита Иванов, я дизайн-директор Туту.ру. Наш бизнес работает с 2003 года, и в прошлый раз мы переосмыслили его айдентику почти 12 лет назад — в конце 2006. Сейчас Туту.ру из набора популярных сервисов растёт в единый продукт для путешествий. Дизайн — один из инс...

Подводный «GPS» на двух приемопередатчиках Привет дорогой хабрачитатель! Нашему подводному GPS на днях исполнилось три года. За это время система стала серийной, мы вывели на рынок еще несколько систем и устройств, но все это время меня не покидала навязчивая идея принести гидроакустику в широкие массы, сделать ее д...

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

[Перевод] Введение в процессы загрузки ядра и запуска системы Linux Всем привет! Вот мы и открыли очередной, четвёртый по счёт уже, поток курса «Администратор Linux», который уверенно занимают свою нишу рядом с девопсерским курсом. Больше преподавателей, больше информации и стендов. Ну и как всегда больше интересной информации, которую подоб...

Как уехать в Германию учиться и работать на примере моей эмиграции Идея переселиться в Европу захватывала меня много лет, но больше всего это желание я ощутил, когда побывал в Берлине первый раз в жизни – еще туристом. В один момент я принял решение: хочу жить, учиться и работать именно в Германии. Я всегда много интересовался информацио...

Россияне стали больше тратить на смартфоны Ресурс «Ведомости» сообщает о том, что жители России стали покупать более дорогие смартфоны. За первые девять месяцев текущего года средний чек в этом сегменте вырос на 20%, до 15 200 рублей. Чуть более половины продаж приходится на модели дороже 10&nbs...

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

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

Что не так с возвращением Geektimes на Хабр Не буду тянуть интригу, а то карма у меня теперь одна: да всё так, всё отлично Более того, это мой первый в серии «Что не так с» пост поддержки. Как ни крути, а комментировать тут всё равно есть что, и простор для гипотез и предположений тоже открывается немалый. В общем, н...

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

Alienware рассматривает возможность в будущем стать производителем компонентов для ПК Бренд Alienware, принадлежащий Dell, известен своими игровыми ноутбуками и настольными ПК. Вопреки тенденциям, данный бренд никогда не стремился завоёвывать новые рынки. Однако на недавнем мероприятии представитель бренда рассказал о том, что Alienware рассматривает воз...

Аутентификации на Angular и Spring без Spring Security (клиент на Angular) Часть 1. Клиент на Angular О чем эта статья В этой статье, я расскажу как написать простую аутентификацию без помощи готовых решений для данной задачи. Она может быть полезна для новичков, которые хотят написать своё AAA (Authentication, Authorization, and Accounting). Репоз...

Аутентификации на Angular и Spring без Spring Security (сервер на Spring) Часть 2. Сервер на Spring О чем эта статья В этой статье, я расскажу как написать простую аутентификацию без помощи готовых решений для данной задачи. Она может быть полезна для новичков, которые хотят написать своё AAA (Authentication, Authorization, and Accounting). Репози...

Ускоряем bootstrap больших баз данных с помощью Kubernetes Этой статьёй мы открываем череду публикаций с практическими инструкциями о том, как облегчить жизнь себе (эксплуатации) и разработчикам в различных ситуациях, случающихся буквально ежедневно. Все они собраны из реального опыта решения задач от клиентов и со временем улучшали...

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

Как пропатчить find под FreeBSD? Учим FreeBSD искать файлы по расширенным атрибутам Аннотация: в ОС FreeBSD на уровне файловой системы реализован механизм управления расширенными атрибутами файла (extattr). При помощи стандартных команд setextattr, getextattr и rmextattr можно создавать, читать и удалять ко...

Как избавить проект от лишних килограммов Всем привет! Меня зовут Илья, я — iOS разработчик в Tinkoff.ru. В этой статье я хочу рассказать о том, как уменьшить дублирование кода в presentation слое при помощи протоколов. Читать дальше →

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

GeForce RTX не тащит? Первые впечатления от игр с трассировкой лучей В официальных демонстрациях картинка всегда выглядит отлично, но как на самом деле обстоят дела с трассировкой лучей в реальном времени у видеокарт GeForce RTX. Как ни крути, но это их главная фишка, и не станет ли она очередным спорным решением NVIDIA?

Когда 2 х 3 = 2, или еще раз про виртуализацию данных Всем привет! Слышали ли вы что-нибудь о феномене Баадера-Майнхофа? Это забавное когнитивное искажение, наблюдать которое, как оказалось, довольно интересно на собственном примере. В 2016 году на Хабре вышла обзорная статья про технологию Delphix. Как любая хорошая теория, ко...

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

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

Дизайн цифровых продуктов. Цель, роль, метод Мне довелось создать с нуля подразделение дизайна в Альфа-Банке и поработать дизайн-директором. На это ушло пять лет. В результате у нас получилась дизайн-система (в коде) и подход к диайну цифровых продуктов. Собственно, про этот подход я и расскажу здесь. Точнее, это — тек...

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

Решение отсутствия prevProps в getDerivedStateFromProps Привет, друзья! Итак, разработчики Реакта решили сделать нашу работу с их либой более линейной, направить, так сказать, нас нерадивых на путь наименьшего шанса ошибиться и написать плохой код, что, на мой взгляд, является нашим неотъемлемым правом и способом совершенствовать...

GraphQL — API по-новому Что такое язык запросов GraphQL? Какие преимущества дает эта технология и с какими проблемами столкнутся разработчики при ее использовании? Как эффективно использовать GraphQL? Обо всем этом под катом. В основе статьи — доклад вводного уровня Владимира Цукура (volodymyrts...

Реализуем поддержку accessibility, не меняя визуальную составляющую мобильного приложения В этой статье не будет ни строчки кода, ни единого сложного термина. Постараюсь изложить так, чтобы даже далёкий от разработки человек понял. Речь пойдёт о реализации accessibility (специальных возможностей) в мобильном приложении. Читать дальше →

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

Как Apple выходит из бесконечного цикла. Истории старого кампуса Фото: Michelle Groskopf, Wired Я странно чувствую себя, смотря каждый год презентацию новых айфонов. Все становится лучше, больше, быстрее, сверкающее. Но в то же время будто бы укачивает от слишком разогнанного обмена веществ. Ничего не имею против Apple и современного п...

[recovery mode] Выручка и прибыль производителей электроники, или у кого маржа больше На просторах интернетов часто можно услышать/прочитать, что розничная цена продукции Apple сильно завышена по сравнению с её себестоимостью, при этом в подтверждение обычно приводится сумма стоимости отдельных компонентов iPhone (почему бы не пластика и кремниевого песка тог...

Может повторить: Шойгу резко ответил министру обороны Германии на призывы говорить с Россией силой Поводом для этого стало противоречивое заявление Урсулы фон дер Ляйен. Глава министерства Российской Федерации заявил, что, в первую очередь, Германии не стоит забывать, что она сделала России в свое время. «После всего того, что Германия сделала нашей стране, я думаю, что ...

[Перевод] Вся правда об ОСРВ. Статья #11. Задачи: конфигурация и введение в API Понятие задачи было введено в предыдущих статьях. По сути, задача – просто набор значений, которые могут быть загружены в регистры процессора (для выполняемой задачи) или могут храниться в состоянии, готовом к контекстному переключению на задачу в будущем. Чаще всего задач...

Siri VS ваше английское произношение – кто кого? Обычно, пока не доходит до необходимости произвести впечатление на англоязычных друзей или коллег по работе, мы не особо обращаем внимание на своё произношение на английском. Наши коллеги и преподаватели английского и так нас понимают. А друзья из других стран, где английски...

[Перевод] Конференция HOPE X. «Взлом лифта: от подвала до пентхауза». Часть 2. «Системы безопасности» Начало здесь: Конференция HOPE X. «Взлом лифта: от подвала до пентхауза». Часть 1. «Лифтовое оборудованиe» Дивиант Оллам: можно сказать, что в многих отношениях лифтовая индустрия застряла в прошлом. Говард Пейн: на этом слайде показана лифтовая кабина в одном казино. Я...

Обзор SSD-накопителя Kingston SKC1000/240G Недавно вышел обзор SSD Kingston A400, и отдельные читатели были недовольны скоростными характеристиками. Есть у Kinston и другой продукт, специально для тех, кто ради мегабайтов в секунду готов простить небольшой по меркам 2018 года объем — SKC1000 на 240 гигабайт.  ...

Computer History Museum — место, где логируется IT Пока СССР пылающей дорогой шел к коммунизму, в США за сексуальной революцией и борьбой с “красной угрозой” развивались компьютерные технологии, а будущие IT-гиганты рождались в скромных гаражах. И в этой битве за первый миллион нашлись те, кто предложил взглянуть назад и со...

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

Samsung выпустит складной смартфон с гибким экраном в начале будущего года Если верить изданию Wall Street Journal, компания Samsung наконец-то выпустит первый складной смартфон с гибким экраном в начале будущего года. Эти сведения перекликаются с информацией, появившейся в начале месяца. Устройство, которое носит условное наименование Winner...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.3 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

Инсайдерам Windows 10 стала доступна первая бета-версия приложения «Your Phone» Microsoft начала распространять первую публичную бета-версию приложения Your Phone для инсайдеров на круге обновлений Fast. Анонсированное в мае этого года, данное приложение позволит вам взаимодействовать с вашим телефоном с ПК без необходимости брать телефон в руки. Функц...

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

[Из песочницы] Конференц-комнаты на базе Asterisk Предисловие Добрый день. На написание данной статьи меня сподвигло 2 вещи: малое количество или вовсе отсутствие современных рабочих примеров по «фишкам» Asterisk, а так же нежелание специалистов делиться этими самыми «фишками» с остальными. Это я сейчас про РУ-комьюнити. В...

Легенды мирового колонкостороения: 225 Вт RMS за 28 000 рублей Случалось мои читатели (например, vconst) критиковали материалы этого цикла за то, что в него попадают либо винтажные, либо астрономически дорогие акустические системы (мол, всё интересно, но для покупки не пригодно). Сегодня тот редкий случай, когда речь пойдет о сравнитель...

Глава Xiaomi думает о новых аккумуляторах и обещает выпустить 5G-смартфоны в марте-апреле 2019 Формально компания Xiaomi представила первый смартфон, который сможет работать в сетях пятого поколения.  Речь идет о слайдере Xiaomi Mi Mix 3, однако есть одно «но»: соответствующая версия будет выпущена только в первом квартале следующего года. Испо...

Хватит подозревать разрабов в самозванстве. Научитесь лучше собеседовать Ну привет. Я только что с собеса, и у меня бомбит. Сколько не пишут на Хабре, как правильно собеседовать — лучше не становится. Мне кинули предложение — Senior full-stack .NET Developer, удаленно, крутой проект, куча денег. В списке требований хренова гора не связанных межд...

[Из песочницы] Ещё один telegram-бот или реализация бота для знакомств Меня зовут Влад, по роду деятельности я — военный, но подрабатываю в компании автоматизации бизнеса, где и занимаюсь программированием на .net. Краткая предыстория В момент очередного схождения-расхождения с моей бывшей(очередной) невестой, она обмолвилась, что от скуки и...

[Из песочницы] Плагин «Rainbow CSV» как альтернатива Excel Привет, Хабр! Эта статья про плагин Rainbow CSV, который я написал для 5 текстовых редакторов: VS Code, Vim, Sublime Text 3, Atom, Gedit Думаю, что многие читатели этой статьи периодически сталкиваются с CSV (comma-separated), ТSV (tab-separated) и подобными файлами. Если п...

PowerShell и Group Policy Preferences, когда счет принтеров на сотни Много копий сломано вокруг управления сетевыми принтерами на пользовательских компьютерах. В основном администраторы разбились на два лагеря: подключение логон-скриптами (bat/vbs) и управление через GPP. У обоих подходов есть свои плюсы: скрипты быстрее обрабатываются, а G...

Переустановка предустановленной Windows 8 в конце 2018 Статья о том, как восстановить лицензионную windows 8 на старом ноутбуке, в котором погиб HDD. Очень много можно почерпнуть из статьи 2013 года. Однако время внесло свои коррективы. Пошаговая инструкция (для тех кто, как и я, переставлял винду последний раз лет 10 назад) п...

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

Инверсия управления в iOS Евгений Ёлчев rsi, iOS-тимлид KODE В последнее время я все чаще слышу о DI. Им интересуются мои студенты в Geek University, его упоминают в чатах. Хотя паттерн далеко не молод, многие не совсем верно его понимают. Часто под DI подразумевают фреймворк, например, typhoon или...

Кастомный подход для нормализации и сброса стилей (custom-reset.css) Здесь я поделюсь своими наработками для нормализации и сброса стилей. За несколько лет у меня сформировался небольшой файл, за основу которого, изначально, был взят нормалайз. Почему нормалайз, а не ресет. Он заточен именно под кросбраузерность, что очень важно. Но в чист...

Визуализируем FHIR — IT-стандарт для медицины Здравствуйте. Меня зовут Андрей, я работаю в компании, создающей IT-решения в области медицины. В качестве основного языка разработки мы используем Clojure, а также (в зависимости от проекта/модуля) Python, Javascript, Go, C, C#, Rust, Objective-C и т.д. Важное место в н...

Anet A6: как я стекло на столик клал (пока неудачно) За четыре дня (и четыре ночи) эксплуатации свежеприобретенного принтера замучался подбирать покрытие и температуру столика, чтобы "липло" и "не расползалось". Поначалу пришел к такой комбинации для пластика PLA (другого у меня пока нет - новичок я в этом деле пока еще) - мал...

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

[Перевод] 7 библиотек для Android разработки на Kotlin Недавно я начал изучать Kotlin для Android-разработки, и мне это очень понравилось. Kotlin по синтаксису очень похож на Swift, и это удобно. Я всего лишь новичок в Android-разработке, поэтому скорее всего есть ещё много полезных библиотек, которые у меня ещё не было возможн...

10 веб-фреймворков Python, с которыми стоит работать в 2018 году От переводчика: сегодня мы предлагаем вам перевод статьи, размещенной на Hackernoon компанией SteelKiwi. Она занимается разработкой программных решений b2b и b2c, а опытом, накопленным в процессе работы, делится с читателями своего блога. Фреймворки облегчают жизнь разр...

[Перевод] Истерия вокруг GDPR, часть 2. Полезные советы Статья опубликована 21 мая 2018 года Первая часть статьи здесь. Если не читали её, пожалуйста, ознакомьтесь для контекста. Разобравшись с самыми распространёнными заблуждениями о GDPR, давайте посмотрим на реальное влияние GDPR. Затем рассмотрим наиболее важные полезные с...

[Из песочницы] Особенности настройки коммутаторов ExtremeXOS Данная статья призвана сократить количество времени, необходимое для понимания принципов работы с ExtremeXOS (XOS). Когда я начинал знакомство с XOS мне очень не хватало такой статьи на Хабре. Ниже я расскажу о конфигурации Экстримов и о проблемамах, с которыми я сталкивалс...

Приватное облако для Интернета Вещей Приветствую, Хабр! Мы, команда ИТ архитекторов из IBM, которая занимается созданием и продвижением на рынок индустриальных решений для разных отраслей. В свободное от основной работы время исследуем новые технологии, экспериментируем и пробуем на деле лучшие практики. По...

Arduino Due в 3D-принтере. Маленький трюк с питанием от RAMPS1.5 Печатаю (не часто) на дельте со скелетом Micromake D1, c обычными 8-ми битными мозгами на 2560-ом атмеле и RAMPS-овскими нервишками (версии 1.4).И даже редко печатая, уже познал фризы системы и "сопли" на моделях с большой плотностью полигонов.А так как появились планы собра...

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 4.2 Краткое содержание предыдущих частей Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03. Бы...

[Перевод] Реактивное программирование с JAX-RS Всем привет! Последний в этом году курс «Разработчик Java Enterprise» успешно запущен и у нас остался последний материал по данной теме, которым мы хотим поделиться с вами, где разбирается использование асинхронного подхода и стейджинга для разработки отзывчивых реактивных ...

Защита от легкого DDoS'a Совсем недавно на хабре уже появилась рекламная статья о борьбе с DDoS атаками на уровне приложения. У меня был аналогичный опыт поиска оптимального алгоритма противодействия нападениям, может кому пригодится — когда человек в первый раз сталкивается в DDoS-ом его сайта, это...

Как интегрировать ReactJS в 1С-Битрикс с автоматической генерацией шаблонов на back-end на примере сети Глобус В этом году впервые начали внедрение ReactJS для интернет-магазина сети гипермаркетов Глобус. Проект интересен тем, что расширяет возможности платформы Битрикс и при этом сохраняет возможность генерации страниц для поисковиков и не захламляет дублированием кода и верстки. В ...

Cертифицированная инфраструктура на базе HyperFlex для SAP HANA Мы продолжаем знакомить вас с гиперконвергентной системой Cisco HyperFlex и в этой статье расскажем о сертифицированной инфраструктуре на базе HyperFlex для SAP HANA. В октябре 2018-ого года компания SAP сертифицировала HyperFlex для запуска SAP HANA. SAP HANA (High-Perfo...

[Из песочницы] История рождения онлайн сервиса поиска и букинга авторских путешествий по всему миру: слово от разработчика С чего все начиналось Идейные муки Технологии и как они не однозначны Как хранить и где? Не только хранить, но и искать Это загадочное SEO CDN наше все Подытожим С чего все начиналось Я хочу поделиться нашей полугодичной историей создания онлайн сервиса поиска и букинга авт...

[Из песочницы] Так ли хорош DRY или все же он может нарушать O из SOLID Принцип DRY (Do not Repeat Yourself) давно всем вполне очевиден и любим многими программистами. И многие согласны, что Copy/Paste это совсем не круто. В этой статье я хочу привести пример того, в каких случаях в промышленном программировании использование Copy/Paste более ум...

OpenSceneGraph: Основы работы с геометрией сцены Введение OpenGL, являющийся бэкэндом для OpenSceneGraph, использует геометрические примитивы (такие как точки, линии, треугольники и полигональные грани) для построения всех объектов трехмерного мира. Эти примитивы задаются данными об их вершинах, в которые входят коорди...

[Из песочницы] Интересная задачка на С Просматривая протоколы собеседований на позицию разработчика, обнаружил такую задачу: "Предложите код, который бы выводил на печать числа в убывающем порядке от n до 0, не используя (скрыто или явно) операторы сравнения (реализация функции вывода на печать не в счет)&qu...

[Из песочницы] Пошаговое создание бандла для Symfony 4 Около года назад наша компания взяла курс на разделение огромного монолита на Magento 1 на микросервисы. Как основу выбрали только вышедшую в релиз Symfony 4. За это время я разработал несколько проектов на этом фреймворке, но особо интересной мне показалась разработка бандл...