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

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

[Перевод] Поиск лучшего фронтенд-инструмента 2021 года Любой, кто начинает карьеру в сфере разработки программного обеспечения, скорее всего столкнётся с задачей выбора первого языка, фреймворка или набора инструментов. Уверен, каждому из вас это знакомо. Ответ на вопрос о том, что нужно изучать самым первым, найти не так уж и п...

Fastify.js — не только самый быстрый веб-фреймворк для node.js Последние 10 лет среди веб-фреймворков для node.js самой большой популярностью пользуется Express.js. Всем, кто с ним работал, известно, что сложные приложения на Express.js бывает сложно структурировать. Но, как говорится, привычка — вторая натура. От Express.js бывает слож...

14 самых популярных Node.js-библиотек в 2020 году Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «14 Most Useful NodeJS Libraries in 2020». В данной статье автор делится своими находками среди многочисленных пакетов Nodejs. Express Быстрый, гибкий, минималистичный, легкий в изучении фреймворк...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

Роутинг в комплексных чат-ботах с Hobot framework Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка tel...

Путеводитель по Metasploit. Разбираем примеры использования знаменитого фреймворка Для подписчиковMetasploit Framework — самый масштабный и распиаренный из всех фреймворков для эксплуатации и постэксплуатации. Однако вводной статьи по нему в «Хакере» не было, а если и была, то так давно, что не считается. Я расскажу, как именно этот фреймворк использует мо...

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

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

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

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

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

Токен авторизации на примере JSON WEB Token Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реа...

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

Уязвимость в Laravel. Разбираем эксплоит, который дает удаленное выполнение кода в популярном PHP-фреймворке Для подписчиковВ библиотеке Ignition, поставляемой с Laravel, обнаружилась уязвимость, которая позволяет неавторизованным пользователям выполнять произвольный код. В этой статье мы посмотрим, где разработчики Ignition допустили ошибку, и разберем два метода ее эксплуатации.

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

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

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

История о том, как я разработал язык программирования Привет Хабр! Меня зовут Ильдар. Мне 29 лет. Программирую с 2003 года. За свою жизнь создал 4 фреймворка и язык программирования. В этом посте я поделюсь своим опытом, инсайтами, которые я получил при разработке языка программирования BAYRELL Language. Заранее прощу прощения ...

Введение в архитектурный фреймворк для анализа данных Lena Привет, Хабр! Я расскажу об архитектурном фреймворке, который я разрабатываю. Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предостав...

[Перевод] Пришло ли время забыть о React и перейти на Svelte? Каждый год выходит исследование State of JavaScript, которое обобщает результаты опроса, изучающего текущее состояние экосистемы JavaScript. Это исследование затрагивает фронтенд-фреймворки, серверную и мобильную разработку, тестирование, популярные ресурсы для разработчиков...

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

[Перевод] Разработка более быстрых приложений на Vue.js JavaScript — это душа современных веб-приложений. Это — главный ингредиент фронтенд-разработки. Существуют различные JavaScript-фреймворки для создания интерфейсов веб-проектов. Vue.js — это один из таких фреймворков, который можно отнести к довольно популярным решениям. Vu...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

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

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

Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD Kivy и Flutter — два фреймворка с открытым исходным кодом для кроссплатформенной разработки. Flutter: создан компанией Google и выпущенный в 2017 году; в качестве языка программирования использует Dart; не использует нативные компоненты, рисуя весь интерфейс внутри со...

[Перевод] Добро пожаловать в Angular 11 Специально к старту нового потока курса «Fullstack веб-разработчик на JavaScript» представляем вам обзор новой версии популярного фреймворка JavaScript — Angular. 11.0.0 версия уже доступна, и в ней есть отличные обновления, которые затрагивают всю платформу, включая сам фре...

[Перевод] Python-пакеты для Data Science Python — это один из самых распространённых языков программирования. Хотя стандартные возможности Python достаточно скромны, существует огромное количество пакетов, которые позволяют решать с помощью этого языка самые разные задачи. Пожалуй, именно поэтому Python и пользуетс...

[Перевод] Quarkus — новый взгляд на Cloud Native Java Привет, Хабр! В наступившем новом году мы планируем всерьез развивать темы контейнеров, Cloud-Native Java и Kubernetes. Логичным продолжением этих тем на русском языке будет рассказ о фреймворке Quarkus, уже рассмотренном в хорошей статье на Хабре. Сегодняшняя статья посвящ...

Собираем свою библиотеку для SSR на React Server Side Rendering часто применяется в разных проектах. Существуют крутые фреймворки для React – NextJS и Gatsby. Но в то же время любой фреймворк диктует архитектуру приложения, а это приводит к проблемам в больших приложениях. Поэтому часто можно встретить собственные с...

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

[Из песочницы] Падение популярности PHP: не все так однозначно? Привет, Хабр! Представляю вашему вниманию перевод статьи "PHP in decline: The rise and fall of a programming language" автора Сара Шлотхауэр (Sarah Schlothauer). Когда-то PHP был одним из самых популярных языков программирования, однако на сегодняшний день он продо...

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

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

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

[Из песочницы] Императивный подход к реактивным данным на примере Jetbrains KTor и R2DBC Статья об использовании реактивного доступа к базам данных из корутин. Spring все упрощает, но это плохо сказывается на понимании реальных процессов работы приложения. Для демонстрации был выбран фреймворк KTor (просто потому, что мне нравится смотреть на то, что делает JetB...

[Перевод] Исследование системы типов для проверки корректности музыки Сегодня много говорят о представлении музыки с помощью языков программирования, поскольку это, с одной стороны, интересная задача для инженеров, а с другой — является частью задачи универсального описания музыки. Как это выглядит? Для многих языков созданы среды программи...

[Перевод] Почему стоит начать использовать FastAPI прямо сейчас Привет, Хабровчане! В преддверии старта занятий в группах базового и продвинутого курсов «Разработчик Python», мы подготовили для вас еще один полезный перевод. Python всегда был популярен для разработки легковесных веб-приложений благодаря потрясающим фреймворкам, таким к...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

[Перевод] Малоизвестные, но популярные JS-фреймворки для фронтенда Не так давно мы, создавая динамические веб-приложения, использовали для работы с DOM чистый JavaScript или jQuery. С тех пор появилось много замечательных JavaScript-фреймворков и библиотек. Они помогают разрабатывать проекты, которые, по привлекательности и удобству, превос...

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

Как работать с API Google Таблиц (Google Sheets API v4) на языке R с помощью нового пакета googlesheets4 Электронные таблицы по-прежнему остаются довольно популярным инструментом для работы с данными, а среди различных процессоров электронных таблиц наиболее популярными являются Google Таблицы. Во-первых, это бесплатный инструмент, во-вторых, функционал Google Таблиц достаточно...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

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

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

[Из песочницы] Как собирать проекты в Jenkins, если нужно много разных окружений На Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins? На сегодняшний...

Comet — PHP-фреймворк для быстрых REST API Два года я писал микросервисы на Go, используя генераторы кода на базе Swagger. Получались довольно компактные и очень быстрые решения. Сейчас использую PHP, поэтому решил найти средства для решения тех же самых задач в экосистеме языка. Знаю и люблю Laravel и Symfony, но т...

Khronos Group опубликовала спецификации OpenCL 3.0 Консорциум Khronos Group опубликовал предварительные спецификации фреймворка OpenCL 3.0. Данная версия призвана значительно расширить функциональные возможности платформы с целью увеличения гибкости развертывания проектов с разными задачами. OpenCL 3.0 представляет собой фре...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

[Перевод] 10 хитростей Python, о которых полезно знать По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и ...

Создание шутера с LeoECS. Часть 1 Друзья, это первая статья по фреймворку LeoECS из предстоящей серии, которая позволит вам быстрее понять, как работать с LeoECS в Unity и решить некоторые виды проблем, возникающих на практике. Все советы, изложенные в них, не представляют собою какой-то свод правил, способы...

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

Почему Flutter побеждает? Последний год я так или иначе пишу приложения на Flutter для iOS и Android. До этого у меня был и есть 5 летний опыт работы с Xamarin. Это были замечательные 5 лет. Благодаря Xamarin и моей любви к этому фреймворку я, в принципе, перешел в стан разработчиков, этот инструмент...

Руководство по Jetpack Compose Руководство по новому декларативному фреймворку Jetpack Compose от нашего любимого сайта RayWenderlich.com. В этом туториале вы научитесь использовать новую среду, разработанную командой Android, создав приложение с рецептами. Более подробно о новом фреймворке вы можете узна...

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

Какой язык выбрать для работы с данными R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно По запросу R или Python в интернете вы найдёте миллионы статей и километровых обсуждений по теме какой из них лучше, быстрее и удобнее для работы с данными. Но к сожалению особой пользы все эти статьи и споры не несут. Цель этой статьи — сравнить основные приёмы обработки д...

[Из песочницы] Почему в 2020 году мы по-прежнему выбираем Ruby? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska. Мы — опытная команда Ruby on Rails разработчиков. Некоторые из нас занимаются разработкой на Ruby уже многие годы и знают его как свои пять пальцев. Вот ...

Как Python используется в разработке мобильных приложений До определенного времени о разработке приложений под Android на языке Python не могло быть и речи. Однако энтузиасты все же смогли приспособить один из лучших языков программирования, который в основном используется для веб-разработки, к индустрии мобильных приложений. И хо...

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

Podlodka #150: Эволюция языков программирования В программировании, как и в лингвистике, языки не высечены в камне. В зависимости от решаемых задач и популярных в конкретный период времени парадигм, языки меняются и эволюционируют.

SwiftUI 2020. Что изменилось? Приветствую вас, жители Хабра и все интересующиеся разработкой под IOS. На связи Анна Жаркова, Senior iOS/Android разработчик компании Usetech Сегодня мы поговорим о тех изменениях и новшествах, которые нам представляет Apple на WWDC 2020. А именно про доработанную и даже пе...

Пентест вебсайта с помощью Owasp Zap Сегодня защита веб-приложения имеет решающее значение, поэтому осваивать пентест инструменты приходится и самим разработчикам. О мощном фреймворке WPScan для пентеста WordPress мы уже писали, но сайты бывают и на других движках. Именно поэтому сегодня разберем более универс...

OLX опубликовал рейтинг поисковых запросов украинцев за 2019 год, самые популярные запросы — квартира и велосипед, самый популярный гаджет — iPhone 7 [инфографика] Онлайн-сервис OLX опубликовал рейтинг самых популярных поисковых запросов украинцев за 2019 год. Наибольшее количество поисковых запросов в прошлом году пришлось на такие позиции, как: квартира — более 8,1 млн запросов, велосипед — 5,8 млн, диван — 4,88 млн, кроссовки — боле...

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

Обнаружена серия атак Lazarus на устройства Windows, Linux и macOS Мультиплатформенные вредоносные инструменты - редкость, так как их разработка требует значительных вложений. Соответственно, они создаются не для разового применения, а для долгосрочного использования. Так, этот фреймворк был замечен в атаках с целью краж баз данных компаний...

Рейтинг языков программирования от DOU.UA: JavaScript опередил Java, а Python — PHP Профильный украинский ресурс DOU.UA представил результаты ежегодного опроса о языках программирования, составленного по результатам опроса 10 тыс. отечественных IT-специалистов. В коммерческой разработке JavaScript наконец существенно опередил Java и стал самым популярным яз...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

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

Книга «C++ для профи» Привет, Хаброжители! С++ — популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться. «C++ для профи» адресован программистам среднего и продвину...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

Как мы подружили Flutter с CallKit Call Directory Привет! В этом лонгриде я расскажу о том, как мы в Voximplant пришли к реализации собственного Flutter плагина для использования CallKit во Flutter приложении, и в итоге оказались первыми, кто сделал поддержку блокировки/определения номеров через Call Directory для Flutter....

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

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

Kivy. Сборка пакетов под Android и никакой магии Во вчерашней статье Python в Mobile development, в которой речь шла о библиотеке KivyMD (коллекции виджетов в стиле Material Design для использования их в кроссплатформенном фреймворке Kivy), в комментариях меня попросили рассказать о процессе сборки пакета для платформы A...

[Перевод] Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture Начнем сначала В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM. Что делаем API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо н...

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим к...

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

IT-валентинка: 53 способа признаться в любви Однажды на Zoom-созвоне нашей команды нить дискуссии ушла за пределы планируемого. На удаленке такое часто случается, потому что всем не хватает обычного «кухонного» общения в офисе. Разговор начался с итальянской книги, где на всех языках мира написано «Я тебя люблю». Пото...

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

Spiral: высокопроизводительный PHP/Go фреймворк Привет, Хабр. Меня зовут Антон Титов, CTO компании Spiral Scout. Сегодня я хотел бы рассказать вам про нашего PHP-слона. А точнее про вторую версию опен-сорсного full-stack PHP/Go фреймворка — Spiral. Spiral — это компонентный full-stack фреймворк, разрабатываемый нашей к...

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

[Из песочницы] sMock — Swift mocking framework для Unit-tests (спасибо gMock за идеи) Проблема Переходя в мир Swift из ObjC/C++, я столкнулся с проблемой при написании юнит-тестов: отсутствием инструментов для создания Mock-объектов. При написании декомпозированного кода мы часто скрываем детали реализации за интерфейсами (протоколами). А также проверять функ...

[Перевод] Пол Грэм: «Краткость = сила» На HackerNews сегодня подняли обсуждение статьи Пола Грэма 2002 года и мы решили воскресить её перевод из небытия. «The quantity of meaning compressed into a small space by algebraic signs, is another circumstance that facilitates the reasonings we are accustomed to carry...

Книга «PowerShell для сисадминов» Привет, Хаброжители! PowerShell — это одновременно язык сценариев и командная оболочка, которая позволяет управлять системой и автоматизировать практически любую задачу. В книге «PowerShell для сисадминов» обладатель Microsoft MVP Адам Бертрам aka «the Automator» покажет, к...

Python & EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

[Перевод] Почему мы перешли с Webpack на Vite Миссия Replit — сделать программирование более доступным. Мы предоставляем людям бесплатные вычисления в облаке, чтобы они могли создавать приложения на любом устройстве. Одним из самых популярных способов создания приложений в Интернете на сегодняшний день является React....

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

Как мы сетапили монорепозиторий с SSR и SPA для Otus.ru В начале 2017 года в KTS поступила задача - реализовать платформу для онлайн-образования Otus.ru.От нас требовалось как можно быстрее собрать портал, на котором можно было бы посмотреть информацию о курсах. Сделать MVP нужно было как можно быстрее, а современные фронтенд-фре...

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

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

[Перевод] «Ленивая» загрузка с помощью Intersection Observer API Доброго времени суток, друзья! В данной статье мы познакомимся с Intersection Observer API, новым мощным инструментом для «ленивой» загрузки изображений и других элементов на странице, поддерживаемым всеми современными браузерами. Мы можем использовать этот инструмент для...

Новая платформа Google сокращает затраты на обучение ИИ-модулей Фреймворк SEED RL построен на платформе TensorFlow 2.0 и использует комбинацию графических и тензорных модулей для централизации модели логического вывода. Вывод затем выполняется с использованием компонента, который обучает модель.Этот компонент, как заявляют в Google, може...

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

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

В VK добавили Callback кнопки для ботов . Доброго времени суток, уважаемые жителя Хабра) Мой первый пост. Будет кратко, емко и надеюсь актуально. 9го июля ВК выкатил callback кнопки для чат-ботов. Телеграм напрягся сделал это в 199... давно. Самая популярная библиотека для разработки чат-ботов под ВК на Python — v...

Do you speak English? Лучшие приложения для изучения английского Чтобы с гордостью отвечать «Yes, I do!», стоит обратить внимание на мобильные приложения, которые помогут вам освоить иностранный язык. Мы проанализировали лучшие из них. ...

[Перевод] Бандлинг JavaScript-кода и производительность: передовые методики Сейчас, на рубеже десятилетий, самое время критически переоценить то, что считалось правильным в недалёком прошлом, и выяснить, не потеряло ли оно актуальности в наши дни. Иногда вчерашние передовые методики разработки становятся сегодняшними антипаттернами. Автор статьи,...

Полная поддержка популярных реализаций Docker Registry в werf Все популярные реализации реестров для образов контейнеров поддерживают Docker Registry HTTP API и позволяют использовать одни и те же инструменты для работы с ними. Тем не менее, часть реализаций имеет свои особенности и ограничения, а значит — если вам нужно их поддержива...

Прокачай свой CLI Сейчас многие фреймворки имеют в своем арсенале CLI (Command Line Interface) и ангуляр – не исключение. Впервые с CLI-утилитами я столкнулся, когда пробовал EmberJS и тогда мне это показалось очень удобным инструментом, который довольно сильно экономил мое время. Но, к сожал...

Сверточная нейронная сеть и ее интеграция в iOS (часть 1) Средства реализации. Различные алгоритмы машинного обучения интегрированы в множество высокоуровневых языков программирования. Наиболее популярным и быстро развивающимся из них является Python. TensorFlow — открытая программная библиотека для машинного обучения, разработа...

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

Яндекс снабдил англоязычные видео закадровым переводом 7 сентября 2021 года. Яндекс начал предлагать автоматически перевести англоязычные видеоролики. Научно-популярные передачи, кулинарные шоу, лекции Илона Маска и Ричарда Фейнмана, стендапы и видеоблоги - всё это теперь можно посмотреть в русской озвучке. Перевод получается за...

[Перевод] Интеграция чат-бота Dialogflow с Angular-приложением Существует множество публикаций о разработке чат-ботов с использованием возможностей платформы Dialogflow. Но для выхода на решение, которое применимо на практике, просто создать бота недостаточно. Бота надо подключить к веб-интерфейсу. Это — интересная и сложная задача. Чат...

[Перевод] Framework vs Platform: в чём разница? Привет, Хабр! Представляю вашему вниманию перевод статьи "Framework Vs. Platform What’s The Difference?" автора G. Harris. Исповедуюсь: я педант. Несмотря на личные неудачи на этом поприще, я глубоко верю, что использование правильного языка добавляет множество пре...

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

Делимся опытом, как показывают себя SSD в рамках RAID и какой уровень массива выгоднее В прошлом материале мы уже рассмотрели вопрос о том “Применим ли RAID на SSD” на примере накопителей Kingston, но сделали это только в рамках нулевого уровня. В текущей статье мы разберем варианты использования профессиональных и домашних NVMe-решений в самых популярных типа...

Python в Mobile development Ни для кого не секрет, что область применения Python довольно широка: начиная от web-технологий, игровой индустрии и заканчивая проектами NASA. Python работает практически везде: от карманных компьютеров и смартфонов до серверов сети и практически на всех известных платфор...

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

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

Инструменты Domain Driven Design Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. ...

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

[Перевод] Разворачиваем Jenkins как код Прим. перев.: это перевод статьи из инженерного блога компании Preply о том, как можно использовать конфигурацию как код для такого популярного CI/CD инструмента как Jenkins. В нашей компании, мы стараемся следовать практикам «Все как код», это касается не только инфраструк...

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

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

Язык REXX, к 40 летию появления REXX — довольно древний, передовой для своего времени язык. Он появился, согласно википедии, в 1979 году, то есть ему недавно исполнилось 40 лет. Не самый конечно старинный язык, но возраст достойный. Rexx это аббревиатура, означает она Restructured Extended Executor, что в...

Разработка кроссплатформенного приложения на Avalonia для Raspberry Pi с использованием Github Action ВступлениеВ связи с желанием апгрейдить свое рабочее место, появилась потребность в мониторе, на котором будут отображаться информативные виджеты, например: погода, календарь, показатели датчиков в доме -, и, так как готовые решения меня не устраивают, я решил, что сделаю св...

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

Дополнительные компоненты для кроссплатформеннной библиотеки материального дизайна KivyMD Приветствую, уважаемые любители и знатоки Python! Если вы используете в своих приложениях Python и такие кроссплатформенные инструменты как фреймворк Kivy и библиотеку материального дизайна KivyMD, тогда вам точно будет интересно эта статья, в которой я расскажу о дополнит...

Samsung Galaxy A50 оказался самым популярным смартфоном в России за 2019 год Компания МТС назвала самые популярные смартфоны на российском рынке за 2019 год. Самой часто продаваемой моделью стал аппарат среднего уровня Samsung Galaxy A50 с 64 ГБ – он же оказался лучшим и в денежном выражении. По количественному выражению в десятку самых популярн...

[Из песочницы] 6 самых распространённых ошибок разработчиков при написании HTML и CSS Привет, Хабр! Представляю вашему вниманию перевод статьи «The 6 most common mistakes developers when writing HTML and CSS» автора Stas Melnikov. Использование атрибута placeholder вместо элемента label Часто разработчики используют атрибут placeholder вместо элемента label....

[Из песочницы] Ранжирование округов Москвы по стоимости аренды с Python Сейчас программирование все глубже и глубже проникает во все сферы жизни. А возможно это стало благодаря очень популярному сейчас python’у. Если еще лет 5 назад для анализа данных приходилось использовать целый пакет различных инструментов: C# для выгрузки (или ручки), Excel...

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

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

Какой язык программирования учить в 2020-м? Статей с подобными заголовками существует уже множество. Но в них постоянно какая-то дичь! Смотрите, Google ещё до основных результатов советует такое: HCL, Карл! Язык, который не просто очень далёк от «Самых Популярных», но ещё и создан для конфигурации, так что его вообще...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

Ищем уязвимости в TikTok при помощи OSINT Вступление TikTok — одно из самых популярных приложений для просмотра мобильного видео. В нём зарегистрировано 800 миллионов пользователей. Пользователи создают контент с помощью фильтров, музыки, эффектов. Видео создаются странные, но захватывающие внимание. Для столь об...

Swift 5.3: Что нового? Привет Хабр! Язык программирования Swift обладает большой популярностью ввиду его использования в написании приложений под iOS, поэтому его развитие представляет интерес для всех занятых в этой области. Давайте посмотрим что нового приготовил разработчикам Swift версии 5.3....

[Из песочницы] Простой Telegram-бот на Flask с информированием о погоде Всем привет, в этой статье я расскажу как сделать простейшего телеграмм бота на Python для отправки текущей погоды в Москве. Статья расчитана на новичков в Python, которые бы хотели узнать больше о том, как взаимодействовать с внешними сервисами по API. Технологии и API: Py...

[Перевод] Python. Язык, на котором просто мыслить Привет, Хабр! У нас возможен предзаказ долгожданного второго издания книги "Простой Python". Перевод первого издания вышел в 2016 году и по сей день остается в числе бестселлеров. Поскольку мы убеждены, что Python — лучший язык программирования для начинающих, ...

Stm32 + USB на шаблонах C++. Продолжение. Делаем CDC Продолжаю разработку полностью шаблонной библиотеки под микроконтроллеры Stm32, в прошлой статье рассказал об успешной (почти) реализации HID устройства. Еще одним популярным классом USB является виртуальный COM-порт (VCP) из класса CDC. Популярность объясняется тем, что обм...

Игрок в популярной многопользовательской игре устроил математическое испытание на выживание На популярном интернет-ресурсе Reddit появился тред, созданный пользователем Vault101manguy, в рамках которого он рассказывает о построенной им ловушке в Fallout 76. Так, для того чтобы выбраться из нее, пользователям необходимо в достаточно короткие сроки решить простенькую...

[Из песочницы] C++/Qt: пора валить?. Если бы раньше я запускал новый долгоживущий проект, в котором основные функции связаны с большим объёмом вычислений при каком-то взаимодействии с пользователем через графический интерфейс, я бы не задумываясь использовал С++/Qt. Это позволяло использовать один фреймворк/яз...

[Из песочницы] Хрестоматийный случай одного гика Киберздоровье через призму Мармока Марин Мокану, более известный как «Marmok» — один из самых популярных игровых видеоблогеров в СНГ. Его пример весьма показателен и, что самое главное, вполне характерен для любого человека, жизнь которого проходит за компьютером — вне з...

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

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

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

[Перевод] Изучаем Metaflow за 10 минут Metaflow — это Python-фреймворк, созданный в Netflix и ориентированный на сферу Data Science. А именно, он предназначен для создания проектов, направленных на работу с данными, и для управления такими проектами. Недавно компания перевела его в разряд опенсорсных. Фреймворк M...

Создаем Todo приложение c помощью Django. Часть 1 И снова здравствуйте. В преддверии старта курса «Web-разработчик на Python» наш внештатный автор подготовил интересный материал, которым с радостью делимся с вами. Джанго это мощный фреймворк для создания веб-приложений. Изначально Django был создан для того, чтобы быстро...

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы Привет Хабр. Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не ...

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

Как мы рекомендуем новинки каталога в онлайн-кинотеатре ivi (+ код на Python) В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику. В этой статье я расскажу о п...

SOLID == ООП? Наверное я не ошибусь, если скажу, что чаще всего на собеседованиях спрашивают о SOLID принципах. Технологии, языки и фреймворки разные, но принципы написания кода в целом похожи: SOLID, KISS, DRY, YAGNI, GRASP и подобные стоит знать всем. В современной индустрии уже много д...

«Связной» назвал 3 самых популярных смартфона и ноутбука к Новому году «Связной» и QIWI проанализировали покупки россиян. Выяснилось, что в период со 20 по 15 декабря многие приобретали технологичные товары, среди которых самым популярным продуктом оказался смартфон. Согласно статистике, собранной двумя компании получилось выделит ьсамые попу...

42 000 000 000 посещений. PornHub подвел итоги 2019 года 42 миллиарда посещений за год. В среднем 115 миллионов посещений в день. Это больше чем население Канады, Австралии, Польши и Нидерландов вместе взятых. 6,83 миллиона новых видео загружено за год. 1,36 млн часов = 169 лет контента. 6,597 экзабайт данных передано за год, э...

[Перевод] Расширяемые расширения в JavaScript Привет, Хабр! Обращаем ваше внимание на долгожданную допечатку книги "Выразительный JavaScript", которая только-только пришла из типографии. Тем, кто еще не знаком с творчеством автора книги (при всей энциклопедичности она понравится и начинающим разработчикам) ...

Введение в язык запросов Cypher Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher бы...

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

(Не)очевидный OSINT в Twitter Twitter — достаточно старый, но при этом все еще популярный у широкой аудитории сервис микроблогов, которым активно пользуются как рядовые пользователи, так и публичные личности. Лучший пример — официальные Twitter-аккаунты политиков, писателей, музыкантов, актеров. Конечн...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

[Из песочницы] STM32 с чистого листа Нельзя доверять коду, который вы не написали полностью сами. — Кен ТомпсонПожалуй, моя самая любимая цитата. Именно она и стала причиной по которой я решил нырнуть в самую глубь кроличьей норы. Свой путь в мир программирования я начал совсем недавно, прошло всего около месяц...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

[Из песочницы] С чего начинается Elasticsearch Elasticsearch, вероятно, самая популярная поисковая система на данный момент с развитым сообществом, поддержкой и горой информации в сети. Однако эта информация поступает непоследовательно и дробно. Самое первое и главное заблуждение — "нужен поиск, так бери эластик!&q...

Реализация автодополнения кода в Ace Editor Ace (Ajax.org Cloud9 Editor) — популярный редактор кода для веб-приложений. У него есть как плюсы, так и минусы. Одно из больших преимуществ библиотеки — возможность использования пользовательских сниппетов и подсказок. Однако, это не самая тривиальная задача, к тому же не ...

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

Знакомимся с Needle, системой внедрения зависимостей на Swift Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, есте...

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

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса gRPC — опенсорсный фреймворк для удаленного вызова процедур. В Яндекс.Маркете gRPC используется как более удобная альтернатива REST. Сергей Федосеенков, который руководит службой разработки инструментов для партнеров Маркета, поделился опытом использования gRPC в качестве пр...

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

Dapp. Vue.js + ethers.js В этой статье я попытаюсь максимально кратко и информативно пройтись по всем пунктам создания создания полноценного Децентрализованного приложения в сети Ethereum используя JavaScript фреймворк - Vue для создания веб-приложения и библиотеку ethers.js для общения со смарт кон...

Let vs where в Ocaml/Haskell Языки Ocaml и Haskell ведут родословную из языка ISWIM, описанного в знаменитой статье Питера Лендина "The next 700 programming languages". В ней автор, отталкиваясь от языка LISP, создаёт новый язык программирования и, в частности, вводит ключевые слова let, and и where, ко...

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

[Перевод] Сортировка в Scala — пример на кошках Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синтаксис языка Scala и осведомлённых о базовых инструментах стандартной библиотеки. Читать дальше →

[Из песочницы] Как подружить Electron и Webix Введение Доброе время суток! Хотелось поделиться с Вами личным опытом создания десктопного приложения на JavaScript с использованием связки Electron и Webix. Такая связка позволяет ускорить процесс верстки интерфейса, особо не тратя время на разметку и прочие web штуки, кото...

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

[Перевод] Как сделать ваш код на Python быстрым и асинхронным с Sanic Всем привет, в этой статье я расскажу о создании простых асинхронных проектов на фреймворке Sanic. Читать далее

[Перевод] REST API на Java без фреймворков Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забы...

Web-приложения на Flask: как бороться с циклическими импортами Flask – один из самых популярных фреймворков Python, но некоторые ошибки при его использовании могут привести к определенным затруднениям. В этой статье мы расскажем о том, как не допустить возникновения циклических импортов в проекте. Читать дальше →

[Перевод] Примеры GraphQL на Java для начинающих [со Spring Boot] В этой статье мы рассмотрим пример GraphQL на Java и создадим простой сервер GraphQL со Spring Boot. Таким цыпочкам тоже нравятся примеры GraphQL на Java со Spring Boot! GraphQL — это язык запросов для API, который позволяет клиентам запрашивать ограниченное множество данны...

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы. Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, ...

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

Это конец: «Сбербанк» закрывается Такой популярный бренд, как «Сбербанк», знаком многим россиянам с самого детства, потому что данная кредитная организация является самой популярной на уровне всей России, а ее услугами сейчас, в настоящее время, пользуются более чем 100 млн Сообщение Это конец: «Сбербанк» з...

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

MQTTv5.0: Обзор новых функций Привет всем любителям IoT и железок! В этой статье я расскажу про, пожалуй, самый популярный протокол передачи данных, используемый в сфере Интернета вещей, — MQTT. А если конкретнее, то про MQTT Version 5.0 (версия, опубликованная 7 марта 2019 года). А если еще конкретнее...

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

[Из песочницы] Что такое Flutter и почему вы должны изучать его в 2020 году Привет, Хабр! Представляю вашему вниманию перевод статьи: "What is Flutter and Why You Should Learn It in 2020" автора Gaël Thomas. Что такое Flutter? Flutter — бесплатный и открытый набор средств разработки мобильного пользовательского интерфейса, созданный компанией Google...

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

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

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

Nuxt as fullstack server: frontend + backend API Server (Часть 1) Часть 1: Nuxt as fullstack server: frontend + backend API Server Часть 2: Additional SSR performance with Nuxt fullstack server Разработчики Nuxt предлагают 3 метода доступа к API: Встроенный в Nuxt сервер Connect и использование serverMiddleware Интегрированные фреймво...

Про их работы ещё не знает Википедия Нет, эта статья не про фантазии автора, патриотические песни или популистские размышления на тему. Это рассказ о том, как оно есть на самом деле. Как в одном конкретном ВУЗе создали условия, благодаря которым работать в нём вернулись те самые "утекшие мозги", уехав...

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

Издатель 2K Games удалил свои проекты из библиотеки NVIDIA GeForce NOW Новый сервис компании NVIDIA GeForce NOW предлагает играть в игры с удаленных серверов, не используя ресурсы вашего компьютера. Многие разработчики решили отказаться от сервиса NVIDIA и отзывают свои игры из библиотеки GeForce NOW. До сегодняшнего дня такими были: Ac...

Apple назвала самые популярные игры и приложения в России в 2019 году Первое место в списке самых популярных в России бесплатных программ вновь занял мессенджер WhatsApp, а в топ-5 также вошли Instagram, приложение "Сбербанка", заблокированный в России мессенджер Telegram и YouTube.

[Из песочницы] E-learning на костылях. Исправляем курсы из Articulate Rise Рынок насыщен разными программами для разработки электронных курсов — авторскими средствами (authoring tools). Есть продукты на любой вкус: хочешь прогу, чтобы просто конвертировать электронные презентации в HTML5? Да пожалуйста! Хочешь делать одностраничники в редакторе вро...

Microsoft открыла исходный код языка программирования Project Verona Некоторое время назад стало известно, что Microsoft работает над созданием нового языка под кодовым названием Project Verona, который предназначен для безопасного программирования инфраструктуры. Новый язык включает в себя некоторые идеи из популярного языка программировани...

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

14 Python-пакетов, про которые вы скорее всего не знали Язык Python предоставляет всем пользователям возможность создавать свои пакеты и делиться ими со всем сообществом. Так появлялись очень популярные библиотеки для работы с данными (Pandas, Numpy, Matplotlib), для машинного обучения (TensorFlow, PyTorch), для веб разработки. ...

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

[Перевод] Что делает реактивную систему хорошей? Этот пост является вторым в серии статей об авто-трекинге — новой системе реактивности в Ember.js. Я также обсуждаю концепцию реактивности в целом, и как она проявляется в JavaScript. От переводчика: Крис Гарретт — работает в компании LinkedIn и является одним из core-контри...

Google представляет топ-запросы 2019 года в Украине Традиционно в конце года мы представляем итоговый рейтинг самых популярных запросов украинских пользователей Google.

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

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

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

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

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

[Перевод] The Ember Times — Выпуск 129 От переводчика: Хотя в последнее время js-фреймворк Ember переживает новый период роста, в русскоязычном js-сообществе сохраняется мнение, что его уже никто не использует и он переживает упадок, повторяя путь Backbone. Отчасти причиной этому является отсутствие материалов н...

Опасная уязвимость в популярной библиотеке Sequelize Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать да...

Kotlin: язык программирования как продукт Язык программирования — это тоже продукт. Он помогает разработчикам выражать свои идеи так, чтобы их мог интерпретировать компьютер. Может показаться, что развивать язык — это брать последние достижения теории языков программирования, реализовывать их и из года в год выкатыв...

[Из песочницы] 9 ключевых алгоритмов машинного обучения простым языком Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum. Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix...

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

Hack the web! Как проверить сайт на уязвимости и как их эксплуатируют Для подписчиковВзлом сайтов — один из самых распространенных типов атак. Если тебе интересно, как взламывают сайты и на что нужно обратить внимание, чтобы защитить свой ресурс, то эта статья для тебя. Здесь я разберу самые начала пентеста веб-приложений и на примерах покажу,...

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

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

CalyxOS: лучший способ очистить Android от следов Google Android Open Source Project — свободный проект. Однако в него очень глубоко проникла корпорация Google. К сожалению, всё больше API и библиотек Android теперь доступны только на смартфонах с предустановленными приложениями Google Apps (GApps). Таким способом Google эффектив...

[Перевод] Чем отличаются Dagger, Hilt и Koin под капотом? Dagger и Koin, без сомнения, являются двумя самыми популярными фреймворками для внедрения зависимостей на Android. Обе эти библиотеки служат одной цели и кажутся очень похожими, но работают они по-разному.А при чем здесь Hilt? Hilt — это библиотека, которая использует Dagger...

Браузер на страже API-запросов Команде разработчиков, создающей одностраничное приложение (SPA), рано или поздно придётся столкнуться с ограничениями браузерной безопасности. С одной стороны, нужно сделать так, чтобы фронтенд-сторона могла беспрепятственно общаться с бэкенд API-сервером, а с другой — защ...

Ask me anything! Задай вопрос Android-команде Badoo Предлагаем продолжить добрую традицию Ask me anything на Хабре и поговорить про разработку Android-приложений. Сегодня и завтра Android-команда Badoo будет на связи и ответит на любые вопросы о разработке и тестировании приложений с многомиллионной аудиторией, даст советы на...

Современный Web-UI для SVN в 2020 году cSvn — это web-интерфейс к Subversion репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С. В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра S...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

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

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

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

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

Чему я научился, написав библиотеку компонентов на Svelte Попробовав Svelte в личных проектах, мне захотелось двигаться дальше, и взять фреймворк в проект побольше. Для этого написал библиотеку компонентов svelte-atoms. За основу я взял UI кит на React, который используем на работе. Каким приемам Svelte я научился, читайте под кат...

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

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

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

Что значит быть эффективным? Эффективность – красивое слово. Удобно вставлять его в фразы типа: "я работаю максимально эффективно", "нужно найти эффективное решение", "повышаем эффективность процессов", "наша цель – эффективный код", "Вася – эффективный менед...

Nvidia CUDA можно использовать на GPU Intel. Для этого понадобится инструмент ZLUDA Платформа Nvidia CUDA существует на рынке уже почти 15 лет. Это программный комплекс, представляющий собой расширение языка программирования C, и предназначенный для неграфических вычислений на GPU.  При этом CUDA всегда была эксклюзивом карт Nvidia...

[Из песочницы] Запись и передача звука с устройства на устройство при помощи Multipeer Connectivity Добрый день, дорогой читатель! Некоторое время назад я решил попробовать записать и передать записанный звук с устройства на устройство. Как средство передачи записанного звука выбор пал на фреймворк MultipeerConnectivity. В этой статье я расскажу как это сделать. Первым д...

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

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

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

Немного про устройство современного радио на примере HackRF One Приветствую, Habr! Некоторое время назад в поле моего зрения очень часто попадало множество статей, видеороликов о теме SDR трансиверов. Тема представляет интерес и сегодня. Большой популярностью среди радиолюбителей и других, разного рода, «технарей» пользуются устройства H...

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

[Из песочницы] О проблемах транслятора Python и переосмысление языка — Сколько нужно архитекторов, чтобы реализовать язык программирования? — Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые г...

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

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

[Перевод] Взгляд на технологии последнего десятилетия Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, котора...

[Из песочницы] Актуальные библиотеки визуализации данных для react-разработчиков Привет, Хабр! Представляю вашему вниманию перевод статьи «Data Visualization Libraries for React Developers in 2019» автора Veronika Rovnik. Вот уже несколько лет подряд React не сдаёт позиции и входит в тройку самых любимых библиотек профессиональных разработчиков по всему...

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

Типизированные запросы OData в TypeScript Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запрос...

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

Самый популярный в мире WhatsApp добился почти невозможного Признанный самым популярным в мире приложением принадлежащий Facebook мессенджер WhatsApp достиг нового рубежа. Ранее такое удавалось только одному приложению, разработанному не Google.  Как заметил тематический ресурс AndroidPolice, количество установок WhatsApp ...

TikTok подвинул WhatsApp и стал самым популярным приложением в мире Компания SensorTower опубликовала отчет, в котором рассказала о самых популярных приложениях в мире.В 2019 году набрали невиданную популярность платформы для коротких видеороликов TikTok и ее китайский аналог Douyin. Они умудрились в декабре прошлого года сдвинуть со второго...

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

Web Security SQL Injection 2020 Статья расскажет, как использовать SQLmap и похожих инструментов для автоматизации решений заданий по sql injection на одном из популярных CTF ресурсов. В статье зайдем немного дальше, чем просто модификация risk-level «if you know what i mean». Задания не будут полностью ра...

Тридцать топовых интервью за последнее время: разработка, дизайн, научпоп и лайфстайл На новогодних праздниках ваша дорогая редакция совмещала приятное с полезным и читала интервью, которые выходили на Хабре за последние годы. Отобрали 30 штук, а теперь делимся с вами — это прям самый сок и вообще крутота! Разговоры на любой вкус: об игровой разработке, ред...

Внедрение зависимостей (Dependency Injection) с GetIt во Flutter Внедрение зависимостей - DI - Dependency injection - термин часто встречающийся на собеседованиях. Сам по себе концепт опирается на более объемный принцип инверсии зависимостей (буква D в SOLID), но намного проще и ближе к практике. Кратко можно сказать, что при внедрении за...

Wapiti — тестирование сайта на уязвимости своими силами В прошлой статье мы рассказали о бесплатном инструменте для защиты сайтов и API от хакерских атак, а в этой решили сделать обзор популярного сканера уязвимостей Wapiti. Сканирование сайта на уязвимости — необходимая мера, которая, вкупе с анализом исходного кода, позволяет ...

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

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

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

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

В Steam обнаружили дыру Исследователи Check Point Research обнаружили несколько уязвимостей в реализации GNS. Библиотека поддерживает связь в одноранговом режиме (P2P) — веб-фреймворк для связи в реальном времени — и в централизованном режиме клиент-сервер.

Что делать, если поймал HardFault? Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он...

Власти предлагают создать в России аналог GitHub В Минэкономики подтвердили “Коммерсанту”, что идея российского аналога GitHub актуальна и является одним из "ключевых мероприятий для обеспечения условий для создания открытых библиотек ИИ" в рамках реализации национальной стратегии развития ИИ до 2030 ...

[Перевод] Random Forest, метод главных компонент и оптимизация гиперпараметров: пример решения задачи классификации на Python У специалистов по обработке и анализу данных есть множество средств для создания классификационных моделей. Один из самых популярных и надёжных методов разработки таких моделей заключается в использовании алгоритма «случайный лес» (Random Forest, RF). Для того чтобы попытать...

App Annie: Color Bump 3D — самая популярная игра в России в 2019 году Компания App Annie рассказала о текущем состоянии мобильного рынка, затронув в том числе данные о России. Если Sensor Tower утверждает, что всего пользователи потратили на мобильные приложения $83,5 млрд, то по данным App Annie только $86 млрд — это мобильные игры. А уже в ...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

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

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

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

Фронтенд-разработка в компании: что это и как сделать её эффективной Мы в компании КОРУС Консалтинг СНГ уже больше десяти лет занимаемся организацией разработки веб-сервисов для наших заказчиков. У нас за плечами уже несколько десятков серьёзных проектов в банковской сфере, некоторые из них получили международное признание. За последние дв...

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

Laravel-Дайджест (22–28 июня 2020) Подборка новых статей по фреймворку Laravel. Научимся авторизировать пользователя через Гейты и Политики. Перепишем проект с веб-сокетов на Livewire. Поработаем с аутентификацией через JWT, SPA+Sanctum и Socialite+Facebook. Задеплоим приложение в Kubernetes. Читать дальше &...

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

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

История разработки SDK для приема платежей в мобильном приложении на Flutter Привет, Хабр!На связи разработчики из Mad Brains. Мы специализируемся на разработке сервисов для мобильных устройств. Имеем опыт в реализации интеграционных решений, собственные продукты в сфере мобильной электронной коммерции, а также входим в 20-ку лучших мобильных раз...

YouTube случайно прервал популярный музыкальный стрим и создал самое длинное видео в истории (13 165 часов 23 минуты и 44 секунды) На днях в популярнейшем видеохостинге YouTube произошла весьма курьезная история: случайная блокировка одного из достаточно популярных каналов привела к установлению своеобразного рекорда — созданию самого длинного музыкального ролика. Говоря конкретнее, полный хронометраж р...

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

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

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

Match-3 Framework – это «просто» Один из наших новых проектов, которые мы сейчас разрабатываем — игра в жанре Match-3. В этой статье расскажем о некоторых интересных технологических решениях, которые мы для нее используем. Речь пойдет о разрабатываемом фреймворке для Match-3 игр (M3Engine) и прилагающемся к...

Публикуем дизайн-библиотеки компонентов VKUI в Figma Библиотеки в дизайн-инструментах — это важная часть дизайн-системы. Мы считаем, что дизайнеры должны работать с элементами, которые максимально приближены к реализации в коде. Поэтому в библиотеках мы собрали для них самые актуальные компоненты, которые отражают все те же со...

Ещё 14 лет назад русский язык стал самым популярным в интернете после английского, и он остался таким по сей день 25 декабря 2005 года англоязычные пользователи интернета впервые оказались в меньшинстве в сравнении с носителями другого языка.

[Из песочницы] Пишу на C#, чтобы фронтендерам было полегче В этом декабре, как прошлые пару лет, я участвую в Advent of Code — ежегодном рождественском соревновании от автора популярного фреймворка Vanilla JS. В этом году я пишу на C#, потому что привычный мне, как фронтендеру, JavaScript я уже весь использовала в прошлом году. Про...

Локализация приложений — 10 главных языков Полезно почитать перед запуском приложения на нескольких языках. Статья основана на статистике рынка приложений и конкретных примерах локализации.

Численный FORTH Форт и сейчас известен, главным образом, среди разработки встроенных систем, как что-то вроде необычайного высокоуровневого ассемблера, например, для микроконтроллеров - AmForth и Mecrisp. Однако, когда-то давным давно был известен в другой ипостаси - как язык программирован...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

Изучаем VoIP-движок Mediastreamer2. Часть 2 Материал статьи взят с моего дзен-канала. Создаем тональный генератор В предыдущей статье мы выполнили установку библиотеки медиастримера, инструментов разработки и проверили их функционирование, собрав пробное приложение. Сегодня мы создадим приложение, которое сможет пропи...

[Из песочницы] A* pathfinding на C#: двоичные кучи и борьба с аллокациями Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат. Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия...

Интервью с Сергеем Жуком — автором книг и скринкастов по ReactPHP Мир IT полон интересных людей, что стало причиной создание проекта MoreView где я беру интервью у разных людей и познаю IT. Я достаточно давно связал свою жизнь с PHP и уже брал интервью у разработчика фреймворка Yii. Чуть более 7 лет назад в мир ворвался асинхронный PHP с б...

Киев подписал с ЕС соглашение о выделении €25 млн на цифровизацию "Вице-премьер по евроинтеграции [Дмитрий] Кулеба и еврокомиссар подписали соглашение о помощи Евросоюза на €25 млн в цифровизации нашей страны", - заявил Гончарук на совместном брифинге с комиссаром ЕС по вопросам расширения и политике соседства Оливером Варге...

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие. Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Од...

Релиз InterSystems IRIS 2020.1 В конце марта вышла новая версия платформы данных InterSystems IRIS 2020.1. Даже пандемия коронавируса не предотвратила релиз. Из важного в новом релизе — повышение быстродействия ядра, генерация REST-приложения по спецификации OpenAPI 2.0, шардинг для объектов, новый вид П...

Создание своего Publisher'a в Combine Сегодня я хотел бы показать вам, как создать свой собственный Publisher в новом фреймворке от Apple Combine. Читать дальше →

[Перевод] Trusted Types — новый способ защиты кода веб-приложений от XSS-атак Компания Google разработала API, которое позволяет современным веб-приложениям защитить свой фронтенд от XSS-атак, а конкретнее — от JavaScript инъекций в DOM (DOM-Based Cross Site Scripting). Межсайтовый скриптинг (XSS) — наиболее распространённый тип атак, связанных с уяз...

Репозиторий youtube-dl восстановили на GitHub после вмешательства EFF Сегодня на GitHub восстановили репозиторий опенсорсного проекта youtube-dl, который ранее был удален из-за нарушения DMCA. Данная Python-библиотека применяется во многих инструментах и сервисах для копирования контента с YouTube, имеет более 72 000 звезд на GitHub и представ...

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

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

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

Как iPhone с Face ID помогает делать мобильные игры лучше Разработка игр – даже мобильных – процесс очень долгий и трудоёмкий. Несмотря на то что успешной может стать даже аркада с примитивной механикой и пиксельной графикой вроде Flappy Bird, проекты вроде Fortnite или PUBG, очевидно, оказываются куда более прибыльными. Однако, ч...

[Перевод] Rust для Java разработчиков Представляю перевод статьи автора Evan Cameron, которая может помочь Java разработчикам лучше понять отличия и схожесть этих двух языков — оригинал на сайте автора. Не считая себя достаточно опытным Rust разработчиком, я вряд ли смогу аргументированно участвовать в возможных...

Где стажировку проходили, там и работайте — 4 истории стажёров Сбербанка Это истории тех, кто учится в «Школе 21», успешно прошёл стажировку и остался работать в Сбербанке. Я уже рассказывала, что этот проект — путь в IT и он крайне эффективен. Если очень коротко — мы научились готовить джунов с нуля за год, делая упор на soft skills. Учиться н...

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

AWS Meetup Terraform & Terragrunt. Антон Бабенко (2020) Terraform — это популярный инструмент компании Hashicorp, для управления вашей облачной инфраструктурой в парадигме Infrastructure as a Code. Terragrunt — это wrapper для Terraform, которая предоставляет дополнительные инструменты для хранения ваших конфигураций Terraform, ...

Решил 50 задач и ответил на вопрос — Python или JavaScript? Привет, друзья! Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но... со мной работает много людей, которые пишут код на Python вокруг много разговоров про Python повсюду преподают Python ...

[Из песочницы] Умеем ли мы готовить Java, Kotlin RestController? Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spr...

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

Фреймворконезависимый фронтенд GoF, Чистая архитектура, Совершенный код — настольные книги «true программиста». Но в мире фронтенда многие идеи из этих книг недоступны. По крайней мере сходство с реальным миром найти очень сложно. Может быть современный фронтенд опережает время? Может быть «функциональное...

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

Названы самые популярные товары распродажи 11.11 на AliExpress в России – смартфоны Xiaomi в лидерах Самым популярным продуктом стал Xiaomi POCO X3 NFC.

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

[Перевод] Всё, что нужно знать о Progressive Web App (PWA) PWA — прогрессивные веб-приложения. Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору. Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более...

Самые популярные смартфоны в России за последние 10 лет Яндекс.Маркет проанализировал историю поисковых запросов и назвал самые популярные смартфоны в России за последние 10 лет. В 2010 году самым популярным у россиян был смартфон Nokia 5530 XpressMusic, а уже с 2011 года телефоны этой компании не попадали в список самы...

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

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

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

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

Рынок онлайн-образования активно растет Об этом говорится в отчете "Интерфакс Академии", на который ссылатся “КоммерсантЪ” . При этом объем мирового рынка онлайн-образования составляет $74 млрд (около 4,8 трлн руб.) по итогам 2019 года, Россия, таким образом, занимает в его структуре лишь око...

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

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

IDA Pro и техники реверс-инжиниринга 0x00 start ; {EN} entry point, do nothing, just run _main {EN} Статья для начинающих “воинов тьмы”, тех, кто хочет погрузиться в темную сторону силы: реверс-инжиниринг. На нашем “операционном столе” будет небольшой кустарный сервер, который работает по протоколу TCP/IP. Для ...

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

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

Oracle сама скопировала API у Amazon S3, и это совершенно нормально Юристы Oracle сравнивают реимплементацию Java API в Android с копированием содержания «Гарри Поттера», pdf В начале этого года Верховный суд США рассмотрит важное дело Oracle против Google, которое определит правовой статус API в соответствии с законом об интеллектуальной...

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

[Из песочницы] Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ — опыт адаптации компилятора языка высокого уровня к стековому процессорному ядру. Распространенной проблемой для софт-процессоров является отсутствие средств разработки для них, особен...

Унифицируем арсенал Gatling Тестирование производительности — это непрерывный процесс оптимизации, контроля быстродействия систем и подтверждения их отказоустойчивости как на стадии моделирования и проектирования, так и на каждой итерации внесения изменений. Сейчас в Тинькофф мы активно занимаемся разв...

Евросоюз может ввести «киберсанкции» против России и Китая Об этом сообщило агентство Bloomberg со ссылкой на пять источников, пишет "КоммерсантЪ". По их словам источников агентства, переговоры ЕС начнет уже на этой неделеИсточники не стали называть, в отношении каких компаний и лиц будут введены санкции, а также за какие ...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

Оплата в телеграм боте — Платежи 2.0 — Сбербанк + Telegraf + Node.js Платежи 2.0 — В мессенджере Telegram появилась возможность принимать платежи в любом чате, включая группы и каналы. Подключить свой магазин к платформе можно самостоятельно, без согласования с Telegram. И в этом туториале мы создадим простого бота с Node.js на фреймворке Te...

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

Современный курс по Node.js в 2020 Дорогие товарищи инженеры, сообщество Метархия представляет вашему вниманию современный курс по Node.js, который включает глубокий разбор всех возможностей и аспектов платформы. Основной упор делается на то, как создавать надежные высоконагруженные сервера приложений и API ...

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

NeoML: машинное обучение от ABBYY ABBYY открыла свой фреймворк машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ML-моделей. Основной фокус в ней сделан на простом и эффективном запуске готовых моделей на различных платформах. Даже если э...

[кейс Locomizer] Как за два с половиной года ускорить расчёт тепловой карты в 20 000 раз Данная статья является продолжением серии «Кейс Locomizer», см. также Какие знания можно на самом деле извлечь из анонимизированного датасета с координатами пользователей Открываем One Ring — инструментарий для гибкой конфигурации сложных процессов обработки данных на Spar...

Знакомство с Debezium — CDC для Apache Kafka В своей работе я часто сталкиваюсь с новыми техническими решениями/программными продуктами, информации о которых в русскоязычном интернете довольно мало. Этой статьей постараюсь восполнить один такой пробел примером из своей недавней практики, когда потребовалось настроить...

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

Google опубликовала список самых популярных роликов в сервисе YouTube за 2019 год YouTube Rewind 2019 – самые популярные видео года в мире и Украине. Google рассказала, что […]

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

Microsoft «убила» Windows 10 Самой популярной и новой операционной системой компании Microsoft сейчас является Windows 10, которая изначально вышла еще летом 2015 года. С тех самых пор прошло уже почти пять лет, и за такой период времени данная платформа Сообщение Microsoft «убила» Windows 10 появились...

[Из песочницы] Разбор настройки ELK 7.5 для анализа логов Mikrotik Давно была мысль посмотреть, что можно делать с ELK и подручными источниками логов и статистики. На страницах хабра планирую показать практический пример, как с помощью домашнего мини-сервера можно сделать, например, honeypot с системой анализа логов на основе ELK стека. В э...

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

Activision Blizzard отзывает игры с сервиса GeForce Now Запуск Nvidia GeForce Now позволяет играть любую из библиотеки которая запускается с удаленного сервера. Многие разработчики игр предоставили свои проекты, но не Activision Blizzard. Студия Activision Blizzard отказалась от сервиса потоковой передачи игр NVIDIA GeForce Now...

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

Интеллектуальный Ethernet-коммутатор для планеты Земля «Создать решение (решить проблему) можно несколькими способами, но, не всегда самый дорогой или/и популярный способ — самый эффективный!» Преамбула Года три назад, в процессе разработки дистанционной модели аварийного восстановления данных, я столкнулся с одним, незамеченн...

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

Google объявила войну скрытым возможностям в Android 11 Одним из самых раздражающих изменений, которые внесла Google в Android 9 Pie, для разработчиков и энтузиастов стало ужесточение границ того, что позволено делать в системе.  Ради повышения стабильности работы приложений Google заблокировала доступ к большинству ск...

Taiga UI — библиотека компонентов под Angular, которую вам стоит попробовать Привет!Саша Инкин и я регулярно пишем на Хабр статьи по Angular. Почти все они основаны на нашем опыте разработки большой библиотеки компонентов.Эту библиотеку мы развиваем, перерабатываем и дополняем уже несколько лет, а свои идеи проверяем на нескольких десятках проектов Т...

Самый популярный Linux побил Windows 10 в тесте на производительность Основатель Phoronix Media и главный разработчик Phoronix Test Suite Майкл Ларабел (Michael Larabel) провёл интересный тест производительности Windows 10 и Ubuntu.  Ubuntu разрабатывается организацией Canonical и представляет собой самый популярный десктопны...

Система под контролем: как автоматизировать интеграционные тесты Привет! Меня зовут Ксения Якиль. Я пишу core-сервисы на C и Go в бэкенд-отделе Badoo и Bumble. Наш бэкенд — это высоконагруженная распределённая система, обслуживающая пользователей по всему миру. Она оперирует большими массивами данных и делает всю ту магию, благодаря котор...

[Перевод] Смотрим на Chapel, D, Julia на задаче вычисления ядра матрицы Введение Кажется, стоит вам отвернуться, и появляется новый язык программирования, нацеленный на решение некоторого специфического набора задач. Увеличение количества языков программирования и данных глубоко взаимосвязано, и растущий спрос на вычисления в области «Data Scien...

Эксперты назвали самые популярные характеристики смартфонов Что касается диагонали дисплея, здесь все еще работает правило «чем больше - тем лучше!». Самый популярный размер экрана - 6,4 дюйма. На него пришлось 20,1% от всех протестированных гаджетов.

Приложение «Телефон» от Google стало доступно для сторонних смартфонов Приложение «Телефон» от Google было одним из тех редких приложений, которые были созданы для конкретного устройства или для устройств, работающих под управлением упрощенной ОС Android Go. Изначально приложение «Телефон» было эксклюзивно для устройств Pixel и смартфонов Andro...

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

Хюгге для разработчиков, или как я съездила на KotlinConf Хабр, привет! Меня зовут Мария, и я программист. Пишу под Android и несколько лет делала это на Java — на фоне универских плюсо́в она мне казалась очень удобной. Но прогресс не стоит на месте, и, придя полтора года назад в Яндекс.Деньги, я познакомилась с молодым языком Ko...

Вышел Wine 5.0 21 января 2020 года состоялся официальный релиз стабильной версии Wine 5.0 — свободного инструмента для запуска нативных Windows-программ в UNIX-среде. Это альтернативная, свободная реализация Windows API. Рекурсивный акроним WINE означает "Wine Is Not an Emulator"...

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

ChaiScript — скриптовый язык для C++ Когда возникает потребность внедрить скриптовый язык в проект на C++, первым делом большинство людей вспоминает Lua. В этой статье его не будет, я расскажу о другом, не менее удобном и легком в освоении языке под названием ChaiScript. Читать дальше →

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

Android-митап в Redmadrobot 19 марта (МСК) Приглашаем Android-разработчиков обсудить, как себя как следует оснастить, чтобы повысить скорость и качество разработки, как (и зачем) применять фреймворк gRPC в мобилке, и разобрать наш «умно-домашний» кейс — как реализовать в приложении открытие кодового замка. Записать...

[Перевод] Фронтенд-разработчику: 10 направлений, в которых стоит развиваться в 2021 году Профессия «фронтенд-разработчик», без сомнения, будет одной из самых востребованных в 2021 году. Раньше тем, кто работал в этой сфере, для создания интерактивных сайтов достаточно было знать HTML, CSS и, возможно, jQuery. Но сегодня фронтенд-разработчик вынужден существоват...

[Из песочницы] Как Gitlab-CI наследует переменные окружения? Переменные в Gitlab можно задать в нескольких местах: В настройках групп В настройках проекта Внутри .gitlab-ci.yml При этом переменные в настройках групп и проекта можно задать как "файл"или "обычную переменную" и поставить галочки "защищено"...

Dell PowerEdge R740xd – универсальный сервер. Характеристики говорят ЗА! Dell EMC R740xd - это удачное и хорошо зарекомендовавшее себя наследие популярных серверов, продолжающих мощную линейку серверов Dell в корпусе 2U, который прикрыт стильной рамкой. За ней находится настраиваемая система, которая готова выполнить даже самые требовательные за...

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

Laravel-Дайджест (29 июня – 5 июля 2020) Подборка новых статей по фреймворку Laravel. Разберемся как работает шифрование во фреймворке. Аутентифицируем пользователя по отпечатку пальца. Развернём приложение по методу zero-downtime. Спарсим данные с сайтов и выведем в удобной для себя форме. И устроим видео-стриминг...

И снова про embedded: ищем баги в проекте Embox Embox – это кросс-платформенная мультизадачная операционная система реального времени для встраиваемых систем. Она рассчитана на работу в условиях невысоких вычислительных ресурсов и позволяет запускать Linux-приложения на микроконтроллерах без использования самого Linux. К...

Какой голосовой помощник самый популярный Самым используемым на рынке голосовым помощником признали Siri. К такому выводу пришли специалисты Futuresource Consulting, проведя исследование рынка. Голосовой ассистент от Apple контролирует 35% мирового рынка, а всего в нынешнем году было поставлено 1,1 млрд устройств, ...

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

OpenID Connect: авторизация внутренних приложений от самописных к стандарту Несколько месяцев назад я занимался реализацией OpenID Connect сервера для управления доступом сотен наших внутренних приложений. От собственных наработок, удобных на меньших масштабах, мы перешли к общепринятому стандарту. Доступ через центральный сервис значительно упрощае...

Ровняем шарды "Размышления без практики приводят к заблуждению, практика без размышления приводит к затруднению." Мы ведём войну с индивидуальностью у шардов в кластере MongoDB. Это продолжение статьи Шардинг от которого невозможно отказаться, а это значит, что наступила пора к...

Как сэкономить время и силы на внедрении стандартов безопасной разработки с помощью OWASP SAMM 5 марта 2020 года в офисе OZON прошёл очередной митап Московского отделения сообщества OWASP. Кажется, что получилось здорово, а краткий отчёт с материалами встречи был недавно опубликован на Хабре. В этом же посте представлен доклад oxdef. Продолжая серию экспресс-докладов...

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него. BPF сейчас на пике популярности. Технология развивается сем...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

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

В iOS 14 и macOS Big Sur появится поддержка DNS-over-HTTPS. Что это такое и зачем нужно Безопасность пользователей всегда была для Apple главным приоритетом, который она ставила выше своих и тем более чужих интересов. Несмотря на это, мало кто ожидал, что в Купертино смогут вот так запросто подорвать сложившуюся в интернете экономическую модель, запретив межса...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

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

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

Лучший SSD 2019 года. WD Blue WD Green 240 ГБ Компания WD достаточно долго находится на рынке накопителей и отлично справляется с поставленной задачей — на текущий момент это одна из популярнейших компаний. Накопители компании легко уделывают конкурентов, но дело даже не в самой компании, а в доступн...

[Из песочницы] Основные недостатки языка Python Язык программирования Python славится своей простотой и лаконичностью. Немногословный и понятный синтаксис, похожий на псевдокод, а также сильная динамическая типизация способствуют быстрому и безболезненному обучению новичков. Интерпретатор языка берёт на себя всю низкоуров...

HMI на основе Node-red и Scadavis.io В настоящее время в связи с ростом популярности концепции IoT и развитем сопутствующих технологий многие производители программного обеспечения для промышленной автоматизации используют это в своих продуктах. Доступ к SCADA-системам через web-интерефейс — идея и реализация н...

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

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

Онлайн-лекция «Реактивные и нативные приложения на Java Spring и Quarkus» 28 июля приглашаем на онлайн-лекцию о разработке приложений на Java Spring, Quarkus, Vert.x и GraalVM с деплоем в MicroK8s. В программе лекции: Сергей Кошкинов и Андрей Смирнов покажут процесс создания приложения на Java-фреймворке Quarkus с деплоем в MicroK8s. А также ср...

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии) Я работаю программистом, и в том числе занимаюсь машинным обучением применительно к анализу текстов. При обработке естественного языка требуется предварительная подготовка документов, и одним из способов является лемматизация – приведение всех слов текста к их нормальным фор...

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

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

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

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

Шпаргалка по форматам файлов с данными в python Python понимает все популярные форматы файлов. Кроме того, у каждой библиотеки есть свой, «теплый ламповый», формат. Синтаксис, разумеется, у каждого формата сугубо индивидуален. Я собрал все функции для работы с файлами разных форматов на один лист A4, с приложением в виде ...

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

Самая плавная Android-оболочка и самые быстрые смартфоны. Новые рейтинги Master Lu Разработчики популярного бенчмарка Master Lu опубликовали рейтинги самых плавных оболочек на базе операционной системы Android, а также самых производительных смартфонов. Данные справедливы для периода времени с 1 января по 31 декабря 2020, а все смартфоны, попавшие в р...

Создаем готовый для опенсорса проект на Angular в пару кликов Недавно я публиковал статью о том, как быстро настраивать npm-пакеты перед публикацией в opensource. В ней я разобрал настройку версионирования, CI, построение воркфлоу и удобный деплой на страничку с демо. Все советы той статьи распространяются и на библиотеки Angular. Но в...

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

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

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

Парсер командной строки на .NET5 Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использ...

Google опубликовала список самых популярных гифок 2019 года GIF-анимации стали неотъемлемой частью современного общения в мессенджерах, и Google решила показать самые популярные гифки […]

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

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

3D-аркада в браузере: как мы сделали игру на React + Redux Привет, Хабр! В не такие уж далёкие годы, на первом курсе «программистского» факультета, мне нравилось задавать товарищам по учёбе вопрос: «Зачем вы вообще пошли сюда учиться?» Точной статистики ответов я, конечно, не вёл, но доподлинно помню: больше половины хотели делать и...

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

Эксперименты с микроконтроллерами в Jupyter Notebook Jupyter Notebook — любимый инструмент-среда для data scientist'ов, аналитиков, инженеров, математиков, студентов и даже для нас — самых обычных ученых в экспериментальной физике. Этот инструмент предназначен для работы с интерпретируемыми языками и удобного графического пре...

Как проходит собеседование Junior фронтенд-разработчика Меня зовут Максим Чеченёв, я фронтенд-разработчик уже почти девять лет. Работаю в компании MessageBird в Амстердаме и наставником на курсе «Веб-разработчик» в Яндекс.Практикуме. Ещё я веду канал в телеграме «Сеньор Разработчик». Прежде чем стать сеньором и начать собеседова...

TikTok раскрыла некоторые секреты и слабые места системы рекомендации контента TikTok — одна из самых популярных в мире (особенно среди подростков) социальных платформ. Центральный элемент соцсети — лента рекомендаций для пользователей. По аналогии с популярными социальными сервисами и приложениями вроде Facebook, Twitter и Instagram в TikTok за подбор...

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

Состоялся японский релиз мобильной Monster Hunter Riders Компания Capcom официально выпустила новую мобильную игру во вселенной Monster Hunter на устройствах с iOS и Android в Японии. Визуально Monster Hunter Riders очень сильно напоминает предыдущую Monster Hunter Stories, но в этот раз она создана специально для мобильных. Это ...

Как сделать API на любое Android приложение. На примере WhatsApp Приветствую! Нарисовалась у меня задача: нужно интегрировать в CRM систему мессенджеры, а то трудно анализировать работу менеджеров, когда они общаются с клиентами используя один общий «рабочий» телефон. И первым делом нужно было подключить WhatsApp, как один из самых популя...

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

Переход c Cocoapods на Swift Package Manager Cocoapods считается наиболее популярным менеджером зависимостей для iOS. Последние годы Apple работает над развитием своего нативного менеджера зависимостей Swift Package Manager (SPM). Изначально его использование было возможно только для server-side Swift или приложений...

Какой язык программирования быстрее работает, проще изучается, легче пишется и вообще всех прекрасней на свете? В преддверии дня разработчика мы решили поднять извечный вопрос: «Какой язык программирования самый лучший?» Читать дальше →

Лучшее приложение для рисования на iPad получило крупное обновление Компания Savage Interactive выпустила крупное обновление для популярного приложения Procreate для iPad. В версии Procreate 5 используется полностью переработанный графический движок и добавлены многочисленные полезные функции.  Приложение Procreate для рисования я...

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

История IT. Когда компьютеры были большими… Некоторое время назад меня попросили рассказать или дать ссылки на историю развития IT-разработки, в которой была бы видна внутренняя логика развития, а не просто факты и события. Казалось бы, об этом должны быть книги или обзорные курсы, ведь логика развития IT-разработки в...

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

Владимир Путин поручил создать цифровую платформу «Национальный словарный фонд» Такое поручение утверждено президентом РФ по итогам заседания Совета по русскому языку, состоявшегося 5 ноября 2019 года.Доклад должен быть представлен до 1 сентября 2020 года, далее - один раз в полгода, говорится в документе.Напомним, что о создании "Национального сло...

YouTube назвал самые популярные ролики года в России и мире (ВИДЕО) Традиционный ролик о самых популярных видео года под названием Rewind 2019 стал для сервиса своего рода работой над ошибками после неудачного видео с итогами 2018 года. В России видеохостинг ограничился рейтингами самых популярных роликов.

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

[Перевод] Контейнерные запросы в CSS Как фронтенд-дизайнер я за последние 6 лет не был так взволнован новой CSS-функцией, как сейчас. Благодаря усилиям Мириам Сюзанны и других умных людей прототип контейнерных запросов можно включить в Chrome CanaryО контейнерных запросах запомнилось много шуток, но они, наконе...

В Давосе представили руководящие принципы для цифровых валют центробанков Швейцарская неправительственная организация Всемирный экономический форум (ВЭФ) представила первое в своем роде руководство для центробанков, разрабатывающих собственные цифровые валюты. Об этом сообщается на сайте ВЭФ. Фреймворк CBDC Policy‑Maker Toolkit представляет собой ...

7 бесплатных курсов для специалистов по работе с данными (DS и DE) Finale! Именно этим итальянским словом можно назвать эту статью. Ведь она последняя уже во второй серии подборок бесплатных курсов от Microsoft. И сегодня у нас курсы для специалистов по анализу данных и инженеров данных. Присоединяйтесь! Кстати! Все курсы бесплатные (вы ...

Google Pay и Samsung Pay вместе не могут победить Apple Pay и... кофейное приложение Редактор популярного издания Bloomberg Джон Элрикман (Jon Erlichman) опубликовал график, который демонстрирует наиболее популярные мобильные платежные приложения на территории США. Первое место с результатом более 30 млн пользователей занимает приложение Apple Pay, что...

[Перевод] Новости из мира OpenStreetMap № 500 (11.02.2020-17.02.2020) Wochennotiz / weeklyOSM – Issue # 500 | Thank you О нас Вышел 500-й выпуск нашего еженедельного новостного проекта. Всё началось 23 июля 2010 года с небольшой заметки, в которой содержалось всего 14 новостей. Редакция проекта благодарит всех читателей, которые поддержива...

Разработчики ИИ получат налоговые льготы на десять лет "Внедрение механизма десятилетних налоговых вычетов для компаний-разработчиков ИИ-решений и компаний, внедряющих ИИ (в рамках федерального проекта "Искусственный интеллект") - 01.12.2020", - говорится в документе, разработанном Сбербанком и Российским фон...

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

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

Самые популярные смартфоны 2019 года в России Аналитики Яндекс.Маркета изучили спрос на смартфоны и назвали самые популярные модели 2019 года. В исследовании использовались данные сервиса о переходах пользователей в интернет-магазины с 1 января по 31 декабря 2019 года. Самыми популярными производителями в прошлом г...

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

Битва Charles и Fiddler: как тестировать с комфортом? Всем привет! Меня зовут Ксения Мерзлозубова, и я тестирую мобильные приложения в компании ATI.SU.Для тестирования большинства задач мобильному тестировщику необходим сниффер — инструмент для перехвата и анализа трафика. Сейчас существует множество снифферов, но самые популяр...

Книга «Head First. Изучаем Go» Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется ...

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

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

Вейвлет деревья Succinct data structures свежее веяние в алгоритмистике. В русскоязычной школе материала мало, нет даже устоявшегося перевода. Будем восполнять этот пробел. На правах первопроходцев терминологию будем вводить налету. Пусть, скажем, компактные структуры данных. На Хабре уже п...

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04 Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недоро...

Material Components Android Examples: работаем с Material Components Примеры приложений для Android с Material Components. Приложения в этом репозитории являются реализацией примеров Material Studies — каждое из них построено с использованием библиотеки MDC-Android и демонстрирует создание цветов, типографики и форм с помощью Material T...

Большинство производителей оборудования для IoT в России используют отечественные комплектующие Такие данные содержатся в результатах экспертного опроса , опубликованного Центральным научно-исследовательским институтом "Электроника".Решения для Интернета вещей широко применяются в различных решениях для складских комплексов, в транспортной отрасли, системах б...

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

Сервис Pinterest Trends выходит в открытую бету Pinterest приступил к запуску нового инструмента Pinterest Trends, который позволяет видеть самые популярные поисковые запросы в США за последние 12 месяцев. Новый инструмент находится на стадии бета-тестирования и станет доступен на десктопах в ближайшие недели. Pinterest T...

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

API, ради которых наконец-то стоит обновиться с Java 8. Часть 1 На сегодняшний день Java 8 является самой популярной версией Java и ещё довольно долго будет ей оставаться. Однако с тех пор уже выпущено пять новых версий Java (9, 10, 11, 12, 13), и совсем скоро выйдет ещё одна, Java 14. В этих новых версиях появилось гигантское количество...

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

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

Как писать музыку на Python — помогут три тематические библиотеки (для специалистов разного уровня) Продолжаем тему музыкального программирования — ранее мы говорили о языках Csound, SuperCollider и Pure Data, а сегодня рассказываем Python и библиотеках FoxDot, Pippi и Music-Code. Читать дальше →

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

Java-дайджест за 29 мая 23 мая нашей любимой Java исполнилось 25 лет. Все эти годы один из самых популярных запросов в гугле — когда же Java наконец умрёт? Не дождётесь. К летней конференции JPoint присоединяется сам Джоэл Спольски — один из двух создателей Stack Overflow. Олды должны хорошо пом...

Flutter Dev Podcast #13: Flutter глазами дизайнера Новый гость принёс не только свой уникальный опыт, но и свой взгляд на фреймворк с самой неожиданной для нас стороны.

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

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

Разработчик Canonical выпускает Ubuntu Linux Focal Fossa Ubuntu - это самая популярная настольная операционная система на базе LInux. Операционная система стала такой популярной из-за простоты в использовании, она красива и очень стабильна. Она подходит как для начинающих, так и для экспертов. Focal Fossa кодовое название н...

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

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

Популярная игра Worms находится в стадии разработки Разработчик популярной игры Worms объявил о том, что игра находится на стадии разработки. Также был показан трейлер-тизер. Разработчик не сообщил, будет ли это ремастер старой игры или будет что-то новое. Не думаю что найдется человек который не играл бы в эту игру. Старая...

[Из песочницы] Частотный анализ русского текста и облако слов на Python Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях т...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

Использование TSDuck для мониторинга IP(TS)-потоков На сегодняшний день существуют готовые (проприетарные) решения для мониторинга IP(TS)-потоков, например VB и iQ, они обладают достаточно богатым набором функций и обычно подобные решения имеются у крупных операторов, имеющих дело с ТВ-сервисами. В этой статье описывается реш...

ФНС потратит 35 миллионов на российское почтовое ПО Непосредственным заказчиком выступает федеральное казенное учреждение "Налог-сервис" ФНС. Заявки от претендентов будут приниматься до 20 февраля 2020 г. Торги намечены на 25 февраля. Победителю нужно будет предоставлять заказчику обновления и новые версии ПО в тече...

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

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

Вместе с Sony PS5 на рынок выйдет и новая гарнитура PS VR 2 Sony PlayStation VR — самая популярная гарнитура виртуальной реальности в мире. На сегодняшний день её продажи составили около 5 млн единиц, при том, что у Oculus показатель составляет лишь около 1,5 млн. Причина популярности весьма проста: относительная д...

Управление Яндекс.Станцией и другими колонками с Алисой из Home Assistant Мы привыкли называть умными устройства, которыми можем управлять, не вставая с дивана. Включить лампочку, вентилятор, кофеварку или стиральную машину. Колонки с Яндекс Алисой хоть и называются умными, но вы не можете изменить громкость не находясь рядом с колонкой (орать че...

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

Оцифровка трудовых отношений – проект постановления правительства D-Russia напоминает, что в конце апреля подписан закон о проведении краткосрочного эксперимента (до 31 марта 2021 года) по введению в некоторых организациях электронного документооборота при работе с кадрами. Проект постановления обеспечивает возможности для проведения эксп...

Paralives — инди-проект для тех, кто играл в The Sims исключительно ради строительства The Sims — одна из самых популярных серий игр в жанре симулятора жизни с большим количеством возможностей, существующая с 2000 года. Конкуренты появлялись в течение всех этих 20 лет, но ни одному и близко не удалось подобраться к тому, что предлагали игры от EA. Однако сейч...

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

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

Docker для фронтендера. Часть 2. Что ты такое? Продолжаю делать расшифровку своего доклада Docker для фронтендера с конференции FrontendConf 2019. В предыдущей части я постарался ответить на вопрос, зачем фронтенд-разработчику может понадобиться Docker. Сегодня попытаюсь простым языком рассказать, что это за инструмент,...

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

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

C2x: будущий стандарт C Я ловлю в далёком отголоске, Что случится на моём веку. («Гамлет», Борис Пастернак)Признаться, пишу на чистом C я не так уж и часто и за развитием языка уже давно не слежу. Но тут произошло два неожиданных события: С вернул себе звание популярнейшего языка программирования ...

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

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

9 четких инструментов для изучения и прокачки английской лексики В Оксфордском словаре английского языка почти 450 000 слов! Но если вы учите язык как иностранный, их совсем не нужно запоминать все и сразу. Чтобы полноценно общаться на английском языке, вполне достаточно всего лишь 2000–3000 слов. При должном усердии и небольшом количе...

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

Фронтенд митап Facebook и AvitoTech Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow. Митап пройдёт 5 марта. Будем говори...

Роскомнадзор запустил систему слежки за поисковиками и VPN По информации ТАСС, создание системы обошлось в 19,92 млн руб. Ее разработчик был определен в результате конкурсных закупочных процедур, состоявшихся в апреле 2019 г. Им стал Федеральный испытательный центр (ФИЦ) "Информатика и управление" Российской академии наук ...

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Для популярной игры из Apple Arcade, Grindstone, вышло крупное обновление Grindstone внезапно стала одной из самых популярных игр в сервисе по подписке Apple Arcade. И это при том, что он создавался для того, чтобы мотивировать разработчиков выпускать более привычные игры, а Grindstone — это три-в-ряд, представитель самого скомпрометированного жан...

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

Обзор 3Dtoday Fest 2019 3D today Fest это настоящий праздник 3D-печати, для широкого круга людей – от начинающих любителей аддитивных технологий, до профессионалов, приехавших на фестиваль в поисках новых технологичных решений.  Мы, компания iGo3D Russia, с удовольствием приняли участие в данном ...

Определены самые красивые игры 2019 года Авторы канала Digital Foundry сформировали список игр, которые имеют самую красивую графику на сегодняшний день. Так, первое место в данном рейтинге получили сразу две игры, а именно нашумевшая Death Stranding и популярный шутер Metro Exodus.

Почему мы выбрали Kotlin целевым языком компании. Часть 1: Ретроспектива Компания ДомКлик существует с 2015 года, и за это время мы успели сменить целевой язык для разработки ключевых сервисов с Java на Kotlin. Меня зовут Александр Коцюруба, я IT Lead в компании ДомКлик. Отвечая на вопрос, почему мы перешли на Kotlin, я опубликую два материала:...

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

Microsoft анонсировала WinUI 3 Preview 1 Microsoft выпустила публичную версию WinUI 3 Preview 1 (библиотека для создания пользовательского интерфейса приложений). В компании утверждают, что это самая передовая разработка на данный момент. Она помогает использовать новые дизайнерские элементы в универсальных програ...

Плыви, крути, беги: спорт терпеливых и дисциплинированных В России самые массовые старты триатлона проходят под брендом IronStar. В этом году в числе самых интересных локаций — черноморское побережье Сочи и курортный город Зеленоградск на побережье Балтийского моря. Вот уже третий год гонки IronStar проходят при генеральном партнер...

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