Социальные сети Рунета
Вторник, 16 апреля 2024

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

[Из песочницы] Ещё одна библиотека для создания mock'ов Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском...

[Из песочницы] Создаем свой компонент с микро-шаблонами Всем привет. Все кто так или иначе писал на фреймворке Angular сталкивался или работал с библиотекой Angular Material. Это очень хорошо написанная библиотека компонентов способная к гибкой стилизации, которая реализована через возможность создания различных тем вашего прилож...

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

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

[Перевод] Рассказ о решении проблемы с производительностью Moment.js Moment.js — это одна из самых популярных JavaScript-библиотек для разбора и форматирования дат. В компании WhereTo используют Node.js, поэтому для них применение этой библиотеки было совершенно естественным ходом. Проблем с серверным использованием Moment.js не ожидалось. В ...

DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов Всем привет! Мы открываем цикл статей, посвященных решению практических задач, связанных с обработкой естественного языка (Natural Language Processing или просто NLP) и созданием диалоговых агентов (чат-ботов) с помощью open-source библиотеки DeepPavlov, которую разрабатывае...

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

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

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

Практика использования библиотеки lottie в мобильном приложении банка Привет, Хабр! В свое время Product Owner попросил подумать нас о создании эффективного процесса по внедрению анимации в наше приложение на android/ios. В то время мы делали задачу по предзаполнению заявки личными данными на кредитный продукт, и на ответ от сервера требовало...

Continuous delivery для вашей Kotlin Multiplatform библиотеки Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. В процессе работы мы столкнулись с тем, что в случае с Kotlin Multiplatform continuous integration и continuous del...

[Перевод] Использование Fastify и Preact для быстрого прототипирования веб-приложений Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой ht...

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

[Перевод] Автоматизация библиотек на Typescript Хочу сразу оговориться: эта статья не дает готового к использованию рецепта. Это скорее моя история путешествия в мир Typescript и NodeJS, а также результаты моих экспериментов. Тем не менее, в конце статьи будет ссылка на GitLab репозиторий, который вы можете посмотреть, и ...

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

Введение в разработку CatBoost. Доклад Яндекса Меня зовут Стас Кириллов, я ведущий разработчик в группе ML-платформ в Яндексе. Мы занимаемся разработкой инструментов машинного обучения, поддержкой и развитием инфраструктуры для них. Ниже — мой недавний доклад о том, как устроена библиотека CatBoost. В докладе я рассказал...

[Перевод] Ещё 9 проектов для оттачивания Front-End мастерства Введение Независимо от того, являетесь ли вы новичком в программировании или уже опытным разработчиком, в этой отрасли изучение новых концепций и языков/фреймворков является обязательно чтобы успевать за трендами. Возьмем, к примеру, React — код которого, Facebook открыл ...

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

[Перевод] ZIO & Cats Effect: удачный союз Cats Effect стал своего рода «Reactive Streams» для функционального Scala-мира, позволив объединить всю разнообразную экосистему библиотек вместе. Многие отличные библиотеки: http4s, fs2, doobie — реализуются только на базе тайп классов из Cats Effect. А библиотеки типа ZIO...

Портирование Qt на STM32 Добрый день! Мы в проекте Embox запустили Qt на STM32F7-Discovery и хотели бы об этом рассказать. Ранее, мы уже рассказывали как нам удалось запустить OpenCV. Qt — это кроссплатформенный фреймворк, который включает в себя не только графические компоненты, но и такие вещи ка...

Проверка обёртки OpenCvSharp над OpenCV с помощью PVS-Studio OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом, знакомая многим разработчикам на C++. Помимо C++, OpenCV также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Так как ...

Эффективное управление подключениями SignalR Здравствуй, Хабрахабр. В настоящий момент я работаю над созданием движка чата в основе которого лежит библиотека SignalR. Помимо увлекательного процесса погружения в мир real-time приложений пришлось столкнуться и с рядом вызовов технического характера. Об одном из них я и х...

Книга «Kafka Streams в действии. Приложения и микросервисы для работы в реальном времени» Привет, Хаброжители! Эта книга подойдет для любого разработчика, который хочет разобраться в потоковой обработке. Понимание распределенного программирования поможет лучше изучить Kafka и Kafka Streams. Было бы неплохо знать и сам фреймворк Kafka, но это не обязательно: я ра...

[Из песочницы] Анимация в мобильных приложениях: тестируем Lottie О библиотеке LottieFiles многие знают, но пробовать на практике не спешат. Статей на эту тему мало, поэтому я решила поделиться своим опытом создания анимации для мобильных приложений с помощью Lottie. Читать дальше

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

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

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

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

REST Assured: что мы узнали за пять лет использования инструмента REST Assured — DSL для тестирования REST-сервисов, который встраивается в тесты на Java. Это решение появилось более девяти лет назад и стало популярным из-за своей простоты и удобного функционала. В DINS мы написали с ним более 17 тысяч тестов и за пять лет использования ст...

[Перевод] Примеры C++ кода до и после Ranges Снова здравствуйте. Перевод следующего материала подготовлен специально для студентов курса «Разработчик C++», занятия по которому стартуют уже 27 июня. Библиотека Ranges была принята в C++20 на совещании стандартного комитета в Сан-Диего в ноябре прошлого года. Библиотек...

[Из песочницы] Тесты на C++ без макросов и динамической памяти Многие популярные библиотеки для тестирования, например Google Test, Catch2, Boost.Test тяжело завязаны на использование макросов, так что в качестве примера тестов на этих библиотеках вы обычно увидите картину вроде такой: namespace { // Tests the default c'tor. TEST(MyStr...

Jaxb (XJC) генерация классов из XML Schema (XSD) с описаниями классов и полей в виде аннотаций. XJC плагин Думаю многие Java-разработчики которые хоть раз сталкивались с Web-сервисами, использовали генерацию Java DTO классов по описанию XML Schema (XSD). Jaxb с этим справляется на ура, не важно как его использовать, через xjc или wsimport вызов из командной строки, maven или grad...

Unity Package Manager Unity — платформа, которая существует довольно давно и постоянно развивается. Однако, работая в ней с несколькими проектами одновременно, все еще можно столкнуться со сложностями в использовании общих исходников (.cs), библиотек (.dll) и остальных ассетов (изображения, звуки...

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

Опыт перевода Maven-проекта на Multi-Release Jar: уже можно, но ещё сложно У меня есть маленькая библиотека StreamEx, которая расширяет возможности Java 8 Stream API. Библиотеку я традиционно собираю через Maven, и по большей части меня всё устраивает. Однако вот захотелось экспериментов. Некоторые вещи в библиотеке должны работать по-разному в раз...

Angular: создание и публикация библиотеки Начнем с начала Если мне не изменяет память, то с версии 6 в angular появилась возможность создавать в одном workspace проекты разных типов: application и library. До этого момента люди, которые хотели создать библиотеку компонент, скорее всего, пользовались отличным и поле...

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

[Перевод] 5 отличных способов анимировать React-приложения в 2019 году Анимация в приложениях React — популярная и обсуждаемая тема. Дело в том, что способов ее создания очень много. Некоторые разработчики используют CSS, добавляя теги в HTML-классы. Отличный способ, его стоит применять. Но, если вы хотите работать со сложными видами анимаци...

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

Книга «Знакомство с PyTorch: глубокое обучение при обработке естественного языка» Привет, Хаброжители! Обработка текстов на естественном языке (Natural Language Processing, NLP) — крайне важная задача в области искусственного интеллекта. Успешная реализация делает возможными такие продукты, как Alexa от Amazon и Google Translate. Эта книга поможет вам из...

Стохастический градиентный спуск(SGD) для логарифмической функции потерь(LogLoss) в задаче бинарной классификации Предыдущая часть (про линейную регрессию, градиентный спуск и про то, как оно всё работает) — habr.com/ru/post/471458 В этой статье я покажу решение задачи классификации сначала, что называется, «ручками», без сторонних библиотек для SGD, LogLoss'а и вычисления градиентов, ...

DEV Labs 2019. Python для решения нетривиальных задач. Онлайн-митап Уважаемые коллеги! Приглашаем принять участие в онлайн-митапе серии DEV Labs, который пройдёт 20 марта и будет посвящён языку Python. Расскажем о применении Python в сфере проектирования систем «умного дома» и рассмотрим примеры решения задач по распознаванию человеческих д...

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

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

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

Открытые библиотеки для визуализации аудиоконтента Мы изучили несколько тематических тредов на GitHub, Hacker News и Reddit, посвященных инструментам для визуализации аудиоконтента. Рассказываем о часто упоминаемых открытых библиотеках и решениях, которые пригодятся разработчикам веб-приложений или игр. Читать дальше →

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

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

[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA. Создаем пустой Gradle проект Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би...

[Перевод] Работа с часовыми поясами в JavaScript Недавно я работал над задачей добавления часовых поясов в JS-библиотеку календаря, которую ведёт моя команда. Мне было хорошо известно о никудышной поддержке часовых поясов в JavaScript, но я надеялся, что абстрагирование имеющихся объектов данных позволит легко решить бол...

Руководство для начинающих по машинному обучению и структуре Data Science Для всех, кому интересна тематика работы с данными, машинного обучения и искусственного интеллекта и для тех, кто только начинает свой путь в изучении — этот пост для вас. Все библиотеки ниже бесплатны, и большинство из них с открытым исходным кодом и выложены на GitHub. Исп...

[Из песочницы] Легкое создание отчетов на C/C++ Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотовых телефонов, то наверняка сталкивались с задачей создания отчетов, чтобы печатать их на принтере, ну или хотя бы в PDF. Существует ...

SwiftUI для прошлого конкурсного задания Telegram Charts (март 2019 года): все просто Сразу начну с замечания о том, что приложение, о котором пойдет речь в этой статье, требует Xcode 11 и MacOS Catalina , если вы хотите использовать Live Previews, и Mojave, если будете пользоваться симулятором. Код приложения находится на Github. В этом году на WWDC 2019,...

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

[Перевод] Создание приложения с использованием Styled-Components в Vue.js Привет, Хабр! На днях наткнулся на одну очень интересную статью на португальском. К счастью, удалось найти её английскую версию. Предлагаю вашему вниманию перевод на русский. Другие мои переводы вы можете найти на мой странице на хабре. Ссылка на оригинал: португальский, ан...

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

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

[recovery mode] Асинхронная библиотека для работы с API Mikrotik Категорически приветствую. Недавно мне понадобилось поработать с Mikrotik через его API. Вроде бы ничего примечательного, есть официальная библиотека , есть еще на гитхабе обёртка, но вот беда — мне надо было работать асинхронно через asyncio и использованием плюшек async/aw...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 5 ← Часть 4. Программирование периферийных устройств и обработка прерываний Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 5. Проектирование многопоточных приложений В предыдущих частях статьи мы подробно останавливались на основах программирования с ...

[Перевод] 9 библиотек веб-компонентов 1. Material components web Обычно заголовок «Material» размещает библиотеку компонентов пользовательского интерфейса прямо наверху рейтингов по количеству звездочек и загрузок. Веб-библиотека Google Material-components — это версия веб-компонента библиотеки Material-UI. По...

[Из песочницы] Особенности HttpUrlConnection из java.net Здравствуйте, сегодня постараюсь рассказать о том, как можно отправить запрос и прочитать ответ от HTTP сервера, используя URLConnection из библиотеки JRE. Сейчас изучаем Java в онлайн режиме. Вся наша команда использует Slack для работы и общения. Заинтересовала возможнос...

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

Безопасность со вкусом Google Отгремел Google I/O 2019 и пришла пора переписывать проекты на новую архитектуру изучать новинки. Так как я интересуюсь безопасностью мобильных приложений, то в первую очередь обратил внимание на новую библиотеку в семействе JetPack — security-crypto. Библиотека помогает пра...

Google Drive как хранилище для веб-приложения Предисловие Мое веб-приложение хранит данные в localStorage. Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище. Но приложение «хостится» на GitHub Pages и не имеет сервер...

[Перевод] Angular без zone.js: максимум производительности Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angula...

Разрабатываем приложение, которое отсылает данные другим приложениям (экосистемное приложение) Привет, хаброжители! Это моя вторая статья про разработку своего проекта. Тем, кто не читал предыдущая статейку: она про то, как из одного места (гугл таблицы) автоматически экспортировать данные в другое (ноушн). Сегодня я расскажу, как я писал (и проектировал) библиотеку...

[Перевод] Генерация подземелий в Diablo 1 Diablo 1 — это классический roguelike 1996 года в жанре hack and slash. Это была одна из первых успешных попыток познакомить широкие массы с roguelike, которые до этого имели нишевую графику в виде ASCII-арта. Игра породила несколько сиквелов и множество имитаций. Она извес...

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

opencv4arts: Нарисуй мой город, Винсент OpenCV — библиотека с историей непрерывной разработки в 20 лет. Возраст, когда начинаешь копаться в себе, искать предназначение. Есть ли проекты на ее основе, которые сделали чью-то жизнь лучше, кого-то счастливее? А можешь ли ты сделать это сам? В поисках ответов и желании ...

[Перевод] Редактирование текста тоже вас ненавидит Опубликованная месяц назад статья Алексис Бингесснер «Рендеринг текста вас ненавидит» очень мне близка. В далёком 2017 году я разрабатывал интерактивный текстовый редактор в браузере. Неудовлетворённый существующими библиотеками на ContentEditable, я подумал: «Эй, да просто...

Как мы тестировали drag&drop в HTML5 Так или иначе, все сталкивались с ситуациями, когда в банальной обстановке вдруг происходило что-то необычное. Примерно такой случай произошел с нами при тестировании нового приложения на проверенном сто раз окружении. Сюрпризом для нас стало использование некоторых возможно...

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

[Из песочницы] Управление несколькими шаговыми двигателями Nema 17 одновременно или NemaStepper Всем привет. Я думаю что вы, если работали с arduino+nema 17, знаете, что запустить несколько двигателей одновременно бывает очень затруднительно. Есть разные способы решения этой проблемы, самый простой, пожалуй — использование библиотеки NemaStepper. Библиотека упрощае...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 4 ← Часть 3. Косвенная адресация и управление потоком исполнения Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 4. Программирование периферийных устройств и обработка прерываний В этой части поста мы, как и обещали, займемся одним из самых востребован...

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

Angulareact У меня есть проблема. Приложение написано на Angular, а библиотека компонентов на React. Делать клон библиотеки слишком дорого. Значит, нужно использовать React-компоненты в Angular-приложении с минимальными затратами. Разбираемся как это делать. Читать дальше →

[Из песочницы] AnyStub, библиотека заглушек соединений в Java В отличие от множества платформ Java страдает от недостатка библиотек заглушек соединений. Если вы давно в этом мире, то наверняка должны быть знакомы с WireMock, Betamax или даже Spock. Многие разработчики в тестах используют Mockito для описания поведения объектов, DataJpa...

[Перевод] 56 проектов на Python с открытым исходным кодом 1. Flask Это микро-фреймворк, написанный на Python. Он не имеет валидаций для форм и уровня абстракции базы данных, но позволяет вам использовать сторонние библиотеки для общих функций. И именно поэтому это микро-фреймворк. Flask предназначен для простого и быстрого создан...

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

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

Моя жизнь с Boost Graph Library Статья, первая часть которой здесь представлена, содержит различные соображения автора, накопившиеся в ходе длительной разработки специализированной системы поиска социальных связей, базирующейся на библиотеке Boost Graph Library (BGL). В этом (техническом) разделе суммируют...

Мобильные отчеты на Oracle BI EE 12c — на раз, два, три. Методология из курса Oracle BI EE 12c CAD У многих компаний — пользователей продукта Oracle BI 12c есть общая проблема: их разработчики по разным причинам не хотят связываться с мобильной разработкой отчетов. На наших курсах по BI этот вопрос в новой версии был освещен достаточно полно, поэтому мы выкладываем факти...

[Из песочницы] Parse & Android: рекомендации начинающим разработчикам Аннотация В данной статье я бы хотел поделиться общими впечатлениями от использования BaaS – решения под названием Parse для разработки бэкэнда Android-приложения, рассказать о всех «подводных камнях», с которыми мне пришлось столкнуться в период разработки. Впервые эту плат...

Практическое применение трансформации AST-деревьев на примере Putout Введение Каждый день при работе над кодом, на пути к реализации полезного для пользователя функционала, становятся вынужденные (неизбежные, либо же просто желательные) изменения кода. Это может быть рефакторинг, обновление библиотеки или фреймворка до новой мажорной версии, ...

Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK Всем привет! Меня зовут Дмитрий Фисько, я разрабатываю Yandex Mobile Ads SDK. Наша библиотека предназначена для монетизации мобильных приложений на платформе Android и iOS. Сегодня я хочу рассказать вам о том, как мы упростили разбор сложных ошибок интеграции SDK в Android-п...

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

SPA Meetup 5: интеграция Jest с QA, мощный UIKit, библиотеки компонентов, DI для масштабирования, платформенные команды Привет! Это пост-отчёт с митапа Moscow SPA 5, серии встреч для фронтенд-разработчиков, которым интересна тематика веб-приложений (Single Page Application). Вместе с докладчиками из Mail.Ru, Яндекса, ВКонтакте, Тинькофф и Авито мы говорили об интеграции Jest с QA-инфраструкту...

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

[Из песочницы] Покупки в Android приложении — Play Billing Library И как это до сих пор на Хабре нет статьи об этом? Не дело, надо исправлять. Есть 2 способа добавить In-App покупки в Android-приложение — старый и новый. До 2017 года все пользовались библиотекой от anjlab, но с июня 2017 года ситуация изменилась, Google выпустила собстве...

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

Девушка в IT, или 5 советов для амбициозных В конце прошлого года меня пригласили выступить на мероприятии Worldwide Conversation on Women’s Higher Education and Equality in the Workplace на факультете компьютерных наук ВШЭ. Это беседа о том, как в современном мире женщина может построить успешную карьеру в области на...

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

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

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

ML на Scala с улыбкой, для тех, кто не боится экспериментов Всем привет! Сегодня будем говорить о реализации машинного обучения на Scala. Начну с объяснения, как мы докатились до такой жизни. Итак, наша команда долгое время использовала все возможности машинного обучения на Python. Это удобно, есть много полезных библиотек для подг...

[Из песочницы] Использование Context API в React для создания глобальной темы приложения Привет, это мой первый пост на Хабр. Надеюсь, Вам будет интересно. Итак, я хочу начать серию постов, напрямую или косвенно касающихся создания ui-kit. Задача данного поста: Найти решение контроля темы приложения, компоненты которого выполнены в React.js. Будем использова...

[Из песочницы] MicroPyServer простой HTTP сервер для ESP8266 и ESP32 Всем привет! Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера. Что такое MicroPyServer? MicroPyServer это простой HTTP сервер предназначенный для проектов на...

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

CMake и C++ — братья навек В процессе разработки я люблю менять компиляторы, режимы сборки, версии зависимостей, производить статический анализ, замерять производительность, собирать покрытие, генерировать документацию и т.д. И очень люблю CMake, потому что он позволяет мне делать всё то, что я хочу....

[Из песочницы] Создание библиотеки в стиле Spring Data Repository своими руками при помощи Dynamic Proxy и Spring IoC А что если бы можно было создать интерфейс, например, такой: @Service public interface GoogleSearchApi { /** * @return http status code for Google main page */ @Uri("https://www.google.com") int mainPageStatus(); } А затем просто внедрять его ...

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

Система скриптового 3д моделирования ZenCad Та работа, которую я хочу представить вашему вниманию, есть попытка еще раз написать систему скриптового 3д моделирования. Написать так, как я её хотел бы видеть. Рецепт системы ZenCad довольно прост. Концепт скриптового 3д моделирования OpenScad, геометрическое ядро OpenCas...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

Как создать крутых боссов. Опыт разработчиков Shadow Fight 3 Где искать вдохновение, как построить процесс между командами, какую механику выбрать и как добиться WOW-эффекта — рассказывает геймдизайнер Banzai Games Дмитрий Аборилов. Вы сталкивались с задачей сделать финального босса игры? Такого, чтобы он надолго запомнился много...

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

Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения Продолжаем нашу серию материалов, посвященных открытым инструментам для разработчиков. Сегодня рассказываем о фреймворках и библиотеках для МО — Transformers, Accord.NET и MLflow. Читать дальше →

[Перевод] 34 open source библиотеки Python (2019) Мы просмотрели и сравнили 10 000 open source библиотек для Python и выбрали 34 самые полезные. Мы сгруппировали эти библиотеки в 8 категорий. Читать дальше →

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

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

Разработка монолитной Unix подобной OS — Библиотека С В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали! Читать дальше →

[Перевод] Пишем API на Python (с Flask и RapidAPI) Если вы читаете эту статью, вероятно, вы уже знакомы с возможностями, которые открываются при использовании API (Application Programming Interface). Добавив в свое приложение один из многих открытых API, вы можете расширить функциональность этого приложения либо же допол...

Библиотека Symbols GOST для DipTrace Ниже на скрине представлена часть символов библиотеки. В общей сложности библиотека содержит около 300-сот УГО выполненных по стандартам ГОСТ (ЕСКД). Библиотека разрабатывается и поддерживается мной. Все предложения, пожелания по добавлению символов (УГО) или компонентов...

Опыт использования flatten-maven-plugin для упрощения версионирования в maven-проектах О нас В 1С мы разрабатываем не только платформу 1С: Предприятие на С++ и JavaScript, но и приложения на Java – в частности новую среду разработки Enterprise Development Tools на базе Eclipse и сервер глубоко интегрированного с платформой мессенджера – Системы Взаимодействия....

3D игра на three.js, nw.js Я решил выпустить новую версию своей старой браузерной игры, которая на протяжении пары лет пользовалась успехом в качестве приложения в социальных сетях. На этот раз я задался целью оформить ее также и в виде приложения под Windows (7-8-10) и разместить в различных магазина...

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

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

Уязвимый Twitter API ставит под удар тысячи iOS-приложений Устаревший API-интерфейс, который многие iOS-приложения до сих пор используют для авторизации через Twitter, содержит уязвимость, позволяющую из положения «человек посередине» получить токен доступа OAuth и выполнять различные действия в соцсети от имени жертвы. По...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

В macOS 10.15 более не поддерживаются 32-битные приложения. Что вы можете сделать? 7 октября 2019 года Apple выпустила в свет новую версию своей операционной системы для Mac, macOS Catalina. Версия 10.15 содержит множество изменений и улучшений. Одно из значимых – полный отказ от 32-битных приложений. Будучи разработчиком таких приложений для macOS, что в...

C/C++ из Python (C API) Продолжаем тему как вызывать C/C++ из Python3. Теперь используем C API для создания модуля, на этом примере мы сможем разобраться как работает cffi и прочие библиотеки упрощающие нам жизнь. Потому что на мой взгляд это самый трудный способ. Читать дальше →

[Из песочницы] Записка frontend-архитектора #1. Нельзя просто так взять и использовать Redux Дисклеймер Уважаемый читатель! Если вы не имеете понятия, что такое React и Redux, читать дальше не имеет смысла, дальше технический бред. Я серьезно, понимание к чему эта записка, требует работы с указанными библиотеками — несмотря на то, что я постараюсь писать понятно, эт...

Микросервисы на php и swoole для конвертации телеграм каналов в RSS В предыдущем посте я рассказал про то, как настроить и использовать php телеграм клиент madelineProto для парсинга постов. Но при использовании библиотеки я столкнулся с несколькими недостатками: Долгая обработка запросов из-за авторизации телеграм клиента; Неудобная нас...

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

Gorp.NET – новая библиотека для создания реверсивных шаблонов с целью извлечения данных из структурированного текста Gorp.NET – новая библиотека для создания реверсивных шаблонов с целью извлечения данных из структурированного текста, основанная на имеющейся кодовой базе Salesforce Gorp. Читать дальше →

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

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

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

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

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

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

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

Замыкание обобщенного типа в Rust В этой короткой статье я расскажу о паттерне в Rust, который позволяет "сохранять" для последующего использования тип, переданный через обобщенный метод. Этот паттерн встречается в исходниках Rust-библиотек и я тоже иногда его использую в своих проектах. Мне не удалось найт...

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

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

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

[Перевод] Почему каждый Data Scientist должен знать Dask Здравствуйте, коллеги! Возможно, название сегодняшней публикации лучше смотрелось бы с вопросительным знаком — сложно сказать. В любом случае, сегодня мы хотим предложить вам краткий экскурс, который познакомит вас с библиотекой Dask, предназначенной для распараллеливания з...

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

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

Выпущена альфа-версия Windows UI Library 3.0 На конференции Ignite 2019 компания Microsoft объявила о выпуске предварительной версии Windows UI Library 3.0. Обновлённая библиотека включает в себя полный стек пользовательского интерфейса, а значит разработчики могут использовать все нативные элементы управления и функц...

[Из песочницы] Создаем монорепозиторий с помощью lerna & yarn workspaces За последние несколько лет концепция монорепозиториев успешно зарекомендовала себя, так как позволяет значительно упростить процесс разработки модульных программных проектов, таких как инфраструктуры на основе микросервисов. Основные преимущества такого архитектурного подх...

[Из песочницы] Бюджетная водянка для GPU. Знакомство и первый опыт Хочу поделиться с Вами, как Я собирал свою первую «бюджетную», местами самодельную, систему водяного охлаждения. Где-то на пути создания встречались неудобства, а где-то удача улыбалась. Я не ожидаю от СВО каких-то чудес и рекордов, а всего лишь хочу немного снизить температ...

[Перевод] TensorFlow для начинающих. Часть 1: общие сведения, установка библиотеки TensorFlow — это опенсорсная библиотека, созданная Google, которая используется при разработке систем, использующих технологии машинного обучения. Эта библиотека включает в себя реализацию множества мощных алгоритмов, рассчитанных на решение распространённых задач машинного ...

[Перевод] NLog: правила и фильтры NLog: правила и фильтры В Confirmit мы используем библиотеку NLog для логирования в наших .NET-приложениях. Хотя для этот библиотеки существует документация, для меня было сложно понять, как все это работает. В данной статье я попытаюсь объяснить, как правила и фильтры приме...

[Из песочницы] Использование let объявлений переменных и особенности образуемых при этом замыканий в JavaScript Написать данную заметку меня сподвигло прочтение статьи на Хабре «Var, let или const? Проблемы областей видимости переменных и ES6» и комментариев к ней, а также соответствующей части книги Закаса Н. «Understanding of ECMAScript 6». Исходя из прочитанного я вынес, что не всё...

[Перевод] Не только обработка: Как мы сделали из Kafka Streams распределенную базу данных, и что из этого вышло Привет, Хабр! Напоминаем, что вслед за книгой о Kafka мы выпустили не менее интересный труд о библиотеке Kafka Streams API. Пока сообщество только постигает границы возможностей этого мощного инструмента. Так, недавно вышла статья, с переводом которой мы хотим вас позна...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 2 Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 2. Начало работы Как и планировалось, в этой части рассмотрим более подробно особенности программирования с использованием библиотеки NanoRTOS. Те, кто начал чтение с этого поста, могут ознакомиться с о...

Навигация внутри Android приложения Введение При Андроид разработке мы используем разные архитектурные решения(паттерны). Например Mvp, Mvvm, Mvi и т.д… Каждый из этих паттернов решает несколько важных задач и поскольку они не идеальны они нам оставляют кое-какие нерешенные задачи. К примеру этих задач относят...

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

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

Протокол для общения между iframe и основным окном браузера Многим разработчикам периодически требуется наладить общение между несколькими вкладками браузера: возможность посылать сообщения из одной в другую и получать ответ. Такая задача встала и перед нами. Существуют стандартные решения вроде BroadcastChannel, однако поддержка в б...

PyDERASN: как я написал ASN.1 библиотеку с slots and blobs ASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распрост...

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как ...

[Из песочницы] IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там Поехать работать в Австралию или Таиланд, когда тебе 25 и нет семьи, не так и сложно. И таких историй большое количество. А вот переехать, когда тебе под 40, жена и трое детей (8 лет, 5 лет и 2 года) — задача другого уровня сложности. Поэтому хочу поделиться своим опытом пер...

Как стать Java разработчиком за 1,5 года Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддер...

[Из песочницы] Hunt the Wumpus или опыт написания классической игры для Android Слышали ли вы когда-нибудь про Вампуса? Независимо от ответа — добро пожаловать в его владения! В этой статье я хочу поведать вам свою историю создания игры под Android. В зависимости от компетенции читателя передаваемые мною опыт, мысли и решения будут более или менее по...

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

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

Как программист в тренажерный зал ходил, и что из этого получилось Мой коллега поделился своей историей, которую я и предлагаю вашему вниманию в качестве лонгрида на уик-энд:) Привет, читатель! Меня зовут Александр Абдуллаев, я тружусь в компании Veeam вот уже 9 лет. Моя карьера в IT за это время сложилась довольно необычно — можно сказа...

[Из песочницы] Сравнение популярных CLI-библиотек для Python: click, cement, fire и другие Python — отличный язык для консольных приложений, и это подчёркивает большое количество библиотек для этих задач. Но какие вообще библиотеки существуют? А какую лучше взять? В этом материале сравниваются популярные и не очень инструменты для консольного мира и дана попытка...

[Перевод] Процедурная генерация планет От переводчика: Представляю вашему вниманию статью авторства Andy Gainey, в прошлом независимого разработчика игровых инструментов, ныне сотрудника Paradox Development Studio. На мой взгляд, автор играючи создал один из лучших процедурных генераторов планет с открытым исход...

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

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

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

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

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

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

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

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

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

Epic Games открыла бесплатный доступ к тысячам материалов Megascans для разработчиков Разработчик компьютерных игр Epic Games приобрёл компанию Quixel, создавшую крупнейшую в мире библиотеку фотограмметрических материалов Megascans. Теперь огромная библиотека из более 10 тыс. текстур и объектов, которые ранее использовались для создания фотореалистичных сцен ...

[Перевод] Обмен данными между React-компонентами с использованием библиотеки RxJS Перед вами перевод статьи Chidume Nnamdi, опубликованной на blog.bitsrc.io. Перевод публикуется с разрешения автора. Появление библиотеки RxJS открыло массу новых возможностей в мире JS. Цель RxJS — достигать многого, используя небольшое количество кода. Прочитав эту стат...

[Из песочницы] Использование GtkApplication. Особенности отрисовки librsvg Аннотация статьи. Использование GtkApplication. Каркас приложения. Makefile. Отрисовка библиотекой librsvg. Экспорт изображения в GtkImage и его масшабирование. Масштабирование SVG самописными функциями. Получение полного пути в приложениях. Тесты быстродействия GtkDrawing...

Бэкап файловых и SQL баз 1С средствами Effector Saver (в облако и с шифрованием) В этой статье я хочу поделиться опытом резервного копирования файловых и SQL баз 1С в локальное, сетевое и облачное (на примере Google Drive) хранилище с помощью Effector Saver. Писал инструкцию для друга, но думаю она пригодиться и кому-то из вас. И как всегда, в комментар...

[Из песочницы] Как я поступал в 18 университетов США Всем привет. Меня зовут Даниил, и в этой статье я хочу поделиться с вами своей историей поступления в бакалавриат 18 университетов США. В интернете достаточно много рассказов о том, как можно учиться в магистратуре или аспирантуре совершенно бесплатно, но мало кто знает, что...

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

Как подготовиться и сдать экзамен ITIL 4 Foundation ITIL (произносится как «áйтил», англ. IT Infrastructure Library — библиотека инфраструктуры информационных технологий) — библиотека, описывающая лучшие из применяемых на практике способов организации работы подразделений или компаний, занимающихся предоставлением услуг в об...

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

Хотите купить смартфон? Идите в библиотеку Apple Carnegie Library Вы всегда хотели пойти в библиотеку, почитать книгу и одновременно купить смартфон? Тогда вам очень повезло.

[Из песочницы] Библиотека генератора ассеблерного кода для микроконтроллеров AVR. Часть 1 Библиотека генератора ассеблерного кода для микроконтроллеров AVR Часть 1. Первое знакомство Добрый день, уважаемые хабаровчане. Хочу предложить Вашему вниманию очередной (из имеющегося великого множества) проект, для программирования популярных микроконтроллеров серии AVR. ...

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

[Из песочницы] Разработка приложения для старого КПК (Cybiko Xtreme) в 2019 году Введение Привет Хабр! Я хотел бы поделиться своим опытом написания приложения для очень старого карманного компьютера, который серьезно опередил свое время, а именно Cybiko Xtreme 2001 года выпуска. Тем, кому интересно как жилось мобильному разработчику в начале 2000-х, до...

[Из песочницы] От поиска идеи, до готового приложения Наверно многие задумывались над тем, как можно реализовать свои знания в готовом продукте. Кто-то больше, кто то меньше потратил на это времени. Хочу поделиться с сообществом своим опытом и видением, как это надо делать правильно, но не всегда получается. Читать дальше &rar...

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

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

[Из песочницы] Пишем telegram бота на python с помощью библиотеки telebot Лирическое отступление Боты сегодня — это многофункциональный инструмент, как для бизнеса, так и для развлечений. Лично я считаю, что за ними будущее. Конечно, прочитав эту статью, вы не сможете создавать большие проекты, но заинтересоваться и начать — вполне. Установка и н...

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

Экструдер нити для 3D принтера Добрый день!Хочу поделиться своим опытом по сборке экструдера нити для 3D принтера. Нужно признаться что собирал я не спеша ввиду разных обстоятельств. Было допущено просто колоссальное число ошибок ) Ценой как правило некоторых ошибок было как деньги так и время. В первую о...

[Перевод] Повышаем производительность разработки на примере Vue — часть 2 Если вы не читали Часть 1, вы можете исправить сиё недоразумение здесь. Переиспользование конфигураций Новая библиотека vue-cli-3 избавила от необходимости поддерживать сложные шаблоны сборки и конфигураций. Вместо этого она позволяет разработчику сосредоточиться на создании...

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

Intel PAC N3000 — FPGA для сетевых приложений В полном соответствии с тематикой выставки Mobile World Congress 2019, проходящей в эти дни в Барселоне, компания Intel представила на ней целый ряд новинок, предназначенных для телекоммуникационной отрасли. Хотим обратить внимание на одну из них; она достаточно специфична ...

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

Эмиграция из Evernote в Google Keep: мой личный опыт Хочу поделиться своим опытом переезда из одного очень удобного (но зажравшегося) заметочника, в другой (менее функциональный, но более бережно относящийся к объему моего кошелька). Я пользовался Evernote порядка четырех лет, с тех пор как поступил в университет. До этого ...

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

Об open-source реализациях хэш-функции ГОСТ Р 34.11-2012 и их влиянии на электронную подпись ГОСТ Р 34.10-2012 В свое время реализация отечественных криптографических алгоритмов в библиотеке libgcrypt очень меня вдохновила. Стало возможным задействовать эти алгоритмы и в Kleopatra и в Kmail и в GnuPg в целом, рассматривать библиотеку libgcrypt как алтернативу openssl с ГОСТ-ым engine...

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

[Из песочницы] IMaskjs — 3 года в Open Source Всем привет! Прошло 3 года с тех пор, как я начал работу над библиотекой imaskjs. Хотя opensource — это бесконечный процесс, но можно сказать что в целом работа закончена и перешла в вялотекущий багфикс. На данный момент я сделал все что хотел, других идей нет, разве тест...

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

Инженерные подходы и чеклисты: как не сойти с ума в хаосе задач Привет! Меня зовут Олег, и я frontend-разработчик в Альфа-Банке. Я хочу рассказать вам немного философскую историю — про инженерный подход к разработке, про мою первую работу и грабли, которые я там собрал, про то, почему чеклисты очень важны (и спасают жизни). А еще про ...

«Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience) В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой. Ранее мы с вами уже пробовали решить простейшую з...

Ограничение Messages API VK — что делать Как все начиналось... 2 февраля я наткнулся на интересную статью: закрытие api для сообщений. Первая моя мысль была: «блин, как теперь взламывать людей-то а?». Но потом я призадумался: наверное мой бот на лонгполе перестанет работать, и вообще, не круто это… Но 15-го феврал...

[Перевод] MotionLayout: анимации лучше, кода — меньше Google продолжает улучшать нашу жизнь, выпуская новые удобные библиотеки и API. Среди которых оказался и новый MotionLayout. Учитывая обилие анимаций в наших приложениях, мой коллега Cedric Holtz сразу же реализовал важнейшую анимацию нашего приложения — голосование в знако...

Глина → Кирпич → Печь В данной статье я хочу описать свой опыт по работе с глиной, изготовление из неё кирпичей (в формате 1:6) и создание уменьшенной модели типовой отопительной печи ПТО-2300 Читать дальше →

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

Клон NumPy Небольшой модуль для работы с массивами в Python без использования сторонних библиотек (клон NumPy, но только на чистом Python). Читать дальше →

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

[Перевод] Рассказ о том, почему я до сих пор использую jQuery Многие, когда речь заходит о jQuery, говорят так: «Просто пользуйтесь обычным JavaScript. Библиотека jQuery вам не нужна». Что тут сказать? Я не нуждаюсь во многих вещах, но, несмотря на это, хорошо, когда они есть. Так и jQuery. Я в этой библиотеке не нуждаюсь, но её, опред...

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

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

Питер — Insider Dev Tour: инсайдерская конференция для разработчиков от Microsoft 27 июня в Санкт-Петербурге мы проводим Insider Dev Tour. Инсайдерский тур для разработчиков от Microsoft предназначен для специалистов, заинтересованных в получении опыта работы с Microsoft 365 (Windows, Graph, Office, Teams) с использованием новейших технологий разработки, ...

[Из песочницы] Путь от хирургии к геймдеву или первый опыт мобильной разработки на Unity Зачем, кому и от кого Всем привет! Меня зовут Анатолий. Я хочу рассказать историю о наших первых шагах в геймдеве, чтобы поделиться пусть и небольшим, но всё же опытом. Зачем? Потому что всего 6 месяцев назад сам искал подобные публикации, перечитывал и выписывал советы. Над...

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

Signpost: когда брейкпоинтов недостаточно В предыдущей статье мы узнали о причинах нестабильности unit-тестов и способах борьбы с этим. Теперь мы хотим рассмотреть один из новых инструментов Apple для отладки и профилирования кода. Речь о представленном на WWDC 2018 фреймворке для логирования os_log, который был рас...

[Перевод] Полное руководство по useEffect Вы написали несколько компонентов с использованием хуков. Возможно — даже создали небольшое приложение. В целом результат вас вполне устраивает. Вы привыкли к API и в процессе работы обнаружили несколько неочевидных полезных приёмов. Вы даже создали несколько собственных хук...

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

Дайджест интересных материалов для мобильного разработчика #319 (21— 27 октября) В этом выпуске нашего дайджеста тестирование, профилирование, работа с подписками, стереотипы разработчиков, дизайн и UX, проектирование, права на разработки, библиотеки и книги! Подключайтесь! Читать дальше →

Решение задания с pwnable.kr 07 — input. Разбираемся с pwntools В данной статье разберем решение многоуровнего задания с помощью библиотеки pwntools. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о след...

[Из песочницы] Как сделать поддержку PCRE2 для Apache 2.4 Хочу поделится своим опытом перевода Apache 2.4 на PCRE2, так как даже PHP 7 уже давно поддерживает библиотеку PCRE2, а open source Apache Software Foundation все еще нет. Конечно я сейчас наверно опережаю релиз Apache с поддержкой PCRE2, так как я использую исходники с гита...

ResNet50. Своя реализация Всем привет. Библиотека нейросети описана в моей прошлой статье. Здесь решил показать как можно использовать обученную сеть из TF (Tensorflow) в своем решении, и стоит ли. Под катом сравнение с оригинальной реализацией TF, демо приложение для распознавания картинок, ну и… в...

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

R пакет tidyr и его новые функции pivot_long и pivot_wide Пакет tidyr входит в ядро одной из наиболее популярных библиотек на языке R — tidyverse. Основное назначение пакета — приведение данных к аккуратному виду. На Хабре уже есть публикация посвящённая данному пакету, но датируюется она 2015 годом. А я хочу рассказать, о наиболее...

Moto. Мокаем AWS Тестирование — это неотъемлемая часть процесса разработки. И иногда разработчикам требуется запустить тесты локально, до того момента коммита изменений. Если приложение использует Amazon Web Services, python библиотека moto идеально для этого подходит. Читать дальше →

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

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

3D-напечатанные вспомогательные устройства и протезы: Blue Heart Hero Амин Хасани – один из дизайнеров группы Havenlabs. Havenlabs. Это некоммерческая организация, целью которой является использование 3D-печати для помощи ветеранам войны. Молодой человек делает все возможное, чтобы облегчить жизнь людей с ампутированными конечностями. Для этог...

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

Простая игра на SFML Будем делать игру «пятнашки» на языке C++ с использованием библиотеки SFML. Пятнашки — это широко известная головоломка, которая выглядит следующим образом: На игровом поле размером 4х4 случайным образом расположены 15 плашек с номерами от 1 до 15 и одно свободное место. П...

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

[Перевод] Трагедия Common Lisp: почему популярные языки раздуваются в сложности Адаптировано из обсуждения 2015 года. Здесь Common Lisp служит лишь одним из многих наглядных примеров Будущее JavaScript? Я с 2007 года работаю в комитете по стандартам JavaScript (TC39). Мы ценим простоту языка, но со временем утратили бдительность. Сложность стала не...

Физические безумства Добрый день, уважаемый читатель! Я, начинающий Java-программист, долгое время не мог освоиться с библиотекой Box2D. Во-первых, из-за того, что она написана для C++, и по ней нет документации, а синтаксис Си я не знаю. Во-вторых, из-за того, что подробные уроки по этой библио...

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

[Перевод - recovery mode ] Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему? Несмотря на мой статус и очевидную предвзятость как одного из создателей D, я постараюсь отвечать откровенно; Я следовал путям Go и Rust, и я абсолютно точно знаю, где стирают грязное белье в D. Я поощряю людей на аналогичных позициях в сообществах Rust и Go чтобы и они дели...

Функциональные практики и frontend: монады и функторы Всем привет! Меня зовут Дмитрий Руднев, я frontend-разработчик в компании БКС. Начинал я свой путь с верстки интерфейсов различной сложности и всегда уделял повышенное внимание именно интерфейсу: насколько пользователю будет комфортно с ним взаимодействовать, смог ли я донес...

Security Week 09: 19-летняя уязвимость в WinRAR Объявляем неделю доисторических багов. Уязвимость в архиваторе WinRAR, обнаруженную и закрытую в конце января, подробно описали специалисты компании Check Point Software (новость, оригинальное исследование). В худшем случае брешь позволяет распаковать вредоносный файл в прои...

[Из песочницы] Как я делился местоположением через ВК API Недавно решил попробовать реализовать идею о том, как можно делиться местоположением через API ВКонтакте с друзьями в режиме, приближенном к реальному времени. На выходе получилось кроссплатформенное Qt-приложение для iOS/Android, веб-приложение для ВКонтакте и парочка pull ...

Одна из лучших читалок для iPhone и iPad стала еще лучше Ее уже загрузили тысячи человек. Попробуйте и вы (теперь скачать можно бесплатно!), проходите по этой ссылке, если нет времени читать всю статью. Вообще, мы уже неоднократно рассказывали вам о приложении i2Reader Cloud, которое по мнению нашей редакции является одной из луч...

Эволюция кластерного взаимодействия. Как мы внедряли ActiveMQ и Hazelcast В течение последних 7 лет я вместе с командой занимаюсь поддержкой и развитием ядра продукта RealtimeBoard: клиент-серверным и кластерным взаимодействием, работой с базой данных. У нас Java с разными библиотеками на борту. Запускается всё вне контейнера, через Maven-плагин....

[Перевод] Грокаем PyTorch Привет, Хабр! У нас в предзаказе появилась долгожданная книга о библиотеке PyTorch. Поскольку весь необходимый базовый материал о PyTorch вы узнаете из этой книги, мы напоминаем о пользе процесса под названием «grokking» или «углубленное постижение» той темы, которую вы ...

Решение задания с pwnable.kr 23 — md5 calculator. Разбираемся со Stack Canary. Подключаем библиотеки C в python В данной статье решим 23-е задание с сайта pwnable.kr, узнаем, что такое stack canary и подключим libc в python. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду п...

What Remains of Edith Finch станет временно бесплатной в Epic Games Store с 10 января На сайте Epic Games Store опубликована следующая игра, которую компания Epic Games и разработчики проектов раздают пользователям бесплатно с целью привлечения внимания к новому магазину. Ею стало приключение What Remains of Edith Finch. Пользователи Epic Games Sto...

Как мы собирали данные по рекламным кампаниям с интернет-площадок (тернистый путь к продукту) Кажется, что сфера интернет-рекламы должна быть максимально технологичной и автоматизированной. Ещё бы, ведь там работают такие гиганты и эксперты в своём деле, как Яндекс, Mail.Ru, Google и Facebook. Но, как оказалось, нет предела совершенству и всегда есть что автоматизиро...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

Проверка исходного кода библиотек .NET Core статическим анализатором PVS-Studio Библиотеки .NET Core — один из самых популярных C# проектов на GitHub. Неудивительно, с учётом его широкой известности и используемости. Тем интереснее попробовать выяснить, какие тёмные уголки можно найти в исходном коде этих библиотек, что мы и попробуем сделать с помощью...

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

Apache Ignite Zero Deployment: точно Zero? Мы — отдел развития технологий розничной сети. Однажды руководство поставило задачу ускорить объемные вычисления за счет использования Apache Ignite в связке с MSSQL, показало сайт с прекрасными иллюстрациями и примерами Java-кода. На сайте сразу понравился Zero Deployment,...

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

Вейвлет-анализ.Часть 3 Введение При проведении CWT анализа средствами библиотеки PyWavelets (бесплатное программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT) возникают проблемы с визуализацией результата. Предложенная разработчиками тестовая программа по визуализации прив...

[Из песочницы] OS1: примитивное ядро на Rust для x86 Я решил написать статью, а если получится — то и серию статей, чтобы поделиться своим опытом самостоятельного исследования как устройства Bare Bone x86, так и организации операционных систем. На данный момент мою поделку нельзя назвать даже операционной системой — это неболь...

Подключиться мобильным устройством к базе данных без написания серверного кода Привет, Хабр! Хочу поделиться своим опытом использования Форсайт мобильной платформы. Если у вас встанет задача удалённого хранения данных и при этом не писать собственный сервер, то первое, что придёт на ум это инструмент Firebase Realtime Database. Большинство читающих зн...

[Перевод] Kubernetes-приключение Dailymotion: создание инфраструктуры в облаках + on-premises Прим. перев.: Dailymotion — один из крупнейших в мире сервисов хостинга видео и потому заметный пользователь Kubernetes. В этом материале системный архитектор David Donchez делится итогами создания production-платформы компании на базе K8s, которая начиналась с облачной ин...

[Из песочницы] Senior, TechLead, Architect — что дальше? Как бороться с рабочей рутиной и куда двигаться дальше? Многие технические специалисты сталкиваются с тем, что достигают максимума в своей вертикали и не понимают, куда двигаться дальше, чтобы работа не превращалась в бесконечную рутину и давала профессиональный рост. Я уже 18 лет работаю в сфере IT, такое со мной случалось не ...

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

Динамическая генерация DAG в Airflow Всем привет! Меня зовут Антон, в Ростелекоме я занимаюсь разработкой центрального хранилища данных. Наше хранилище состоит из модулей, в качестве оркестратора которых используются несколько инстансов Informatica, часть из которых мы хотим перевести на Airflow в рамках перехо...

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

Как распилить монолит на сервисы и сохранить производительность In-memory кэшей без потери консистентности Всем привет. Меня зовут Александр, я Java-разработчик в группе компаний Tinkoff. В данной статье хочу поделиться опытом решения проблем, связанных с синхронизацией состояния кэшей в распределенных системах. Мы столкнулись с ними, разбивая наше монолитное приложение на микр...

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

Большая история маленького устройства. Как мы создавали Яндекс.Станцию Мини Только что мы представили наше новое устройство — Яндекс.Станцию Мини. Это компактная умная колонка, которая умеет воспроизводить музыку, управлять умным домом, ставить напоминания — и многое другое. А ещё это первая колонка с Алисой, управлять которой можно не только голосо...

Работа с callbacks в React За время свой работы, я периодически сталкивался с тем, что разработчики не всегда четко представляют, каким образом работает механизм передачи данных через props, в частности колбеков, и почему их PureComponents обновляется так часто. Поэтому в данной статье мы разберемся,...

Использование REST в ENM Ericsson на Python Здравствуйте. Не так давно Ericsson выпустил новую систему управления Ericsson Network Manager (ENM), которая уже успела появится у некоторых операторов сотовой связи. Было бы интересно разобрать некоторые вопросы по работе с ней и, в этой статье, коснёмся вопроса работы с н...

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

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

Открытый вебинар «Работа: своя и чужая» Добрый день, друзья! Уже в этот четверг мы запускаем новый поток по курсу «Руководитель разработки». И сегодня хотим поделиться с вами транскрипцией открытого вебинара, который прошел на прошлой неделе. Открытый вебинар «Работа: своя и чужая» С одной стороны, фраза «это н...

В популярной библиотеке для создания файлов PDF нашли опасный баг Проблема была исправлена еще в прошлом году, но многие сайты и веб-приложения по-прежнему уязвимы.

[Перевод] Вышла Preview-версия XAML Hot Reload для Xamarin.Forms На прошлой неделе на Xamarin Developer Summit мы анонсировали «Горячую перезагрузку (Hot Reload) XAML для Xamarin.Forms», которая позволяет вносить изменения в пользовательский интерфейс XAML и просматривать их в режиме реального времени, не требуя другой сборки и развертыва...

Обзор методов сегментации изображений в библиотеке scikit-image Thresholding Это самый простой способ отделить объекты от фона, выбрав пиксели выше или ниже определенного порога. Это обычно полезно, когда мы собираемся сегментировать объекты по их фону. Вы можете прочитать больше о пороге здесь. Люди, знакомы с фильмом «Терминатор», нав...

[Из песочницы] Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть первая Сразу хочу предупредить, что эта серия постов не для матёрых программистов и даже не для программистов вообще. Понимаю, что это звучит крайне вызывающе, учитывая IT-тематику ресурса, и все же позвольте объяснить… В качестве аудитории, я вижу обычных дизайнеров, которые хотел...

Особенности настройки Palo Alto: SSL VPN Несмотря на все преимущества межсетевых экранов Palo Alto, в рунете не так много материалов по настройке этих устройств, а также текстов, описывающих опыт их внедрения. Мы решили обобщить материалы, накопленные у нас за время работы с оборудованием этого вендора и рассказа...

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

[Перевод] Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения Оригинал перевода в моём блоге Пара видео о Wolfram Language Почему вы до сих пор не используете технологии Wolfram? Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технология...

Популярные приложения на Google Play содержат уязвимости Эксперты Check Point обнаружили серьезные уязвимости в представленных на Google Play приложениях с сотнями миллионов загрузок, включая продукты Facebook и Yahoo. По словам исследователей, безопасные на первый взгляд Android-программы содержат глубинные баги, грозящие исполне...

[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...

Более половины приложений из App Store собирают данные, которые им не нужны Система разрешений, которая существует в iOS довольно давно, остается одной из самых непонятых функций ОС. Она позволяет нам самостоятельно определять рамки, в которых будут работать установленные приложения. Даже если им требуется постоянный доступ к нашей геолокации, мы с...

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

Сага о тестировании: библиотека redux-saga-test-plan Фреймворк redux-saga предоставляет кучу интересных паттернов для работы с сайд-эффектами, но, как истинные кроваво-энтерпрайзные разработчики, мы должны покрывать весь свой код тестами. Давайте разберёмся, как мы будем тестировать наши саги. Читать дальше →

[Из песочницы] FFmpeg начало работы с Visual Studio Привет! Начну с того, что я занимаюсь разработкой программы определения автомобильных номеров на дешевом слабо мощном процессоре типа Intel ATOM Z8350. Мы получили достаточно хорошие результаты в определении российских номеров на статической картинке (до 97%) с не плохим быс...

[Из песочницы] Опыт автоматизации регрессионного визуального тестирования на Java + Selenium Webdriver + aShot Здравствуйте. В этой статье я бы хотел рассказать о своем опыте автоматизации визуального регрессионного тестирования. Читать дальше →

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

TDD приложений на Spring Boot: тонкая настройка тестов и работа с контекстом Третья статья в цикле и небольшое ответвление от основной серии — в этот раз я покажу как устроена и как работает библиотека интеграционного тестирования Spring, что происходит при запуске теста и как можно тонко настраивать приложение и его окружения для теста. Читать дальш...

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

Небольшая история о том, как удобство иногда стреляет в колено Артем Азарьев, руководитель направления центра компетенций дистанционных каналов обслуживания дирекции информационных технологий МКБ Привет, Хабр! Меня зовут Артем Азарьев, я тимлид Android-команды Московского кредитного банка, и сегодня хочу поговорить о безопасности при...

К вопросу о преобразованиях и прочих операциях Синяя Гусеница: А ну нас-то не собьешь. Мы себе сидим, знаем: ждут нас превращения. А что? А ничего! Сидим, курим, ждем… Алиса- кукла: Чего? Синяя Гусеница: Чего, чего! Превращений. Дом — в дым, дым- в даму, а дама — в маму. Вот так-то. Не мешайте, не заскакивайте вперед, а ...

Spring Boot 2: чего не пишут в release notes Когда у масштабного проекта происходит масштабное обновление, всё никогда не бывает просто: неизбежно возникают неочевидные нюансы (проще говоря, грабли). И тогда, как бы хороша ни была документация, с чем-то поможет только опыт — свой или чужой. На конференции Joker 2018...

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

[Перевод] Создание пиксельной туманности при помощи шума и Median Cut Я хотел, чтобы в моей игре The Last Boundary была туманность. Они потрясающе выглядят и космос без них не космос, а просто разбросанные по фону белые пиксели. Но так как игру я делаю в стиле «пиксель-арт», то мне нужно было как-то заставить мою библиотеку шума генерировать п...

Хитрости в Machine Learning — работа с несколькими моделями в Keras Это моя первая статья по теме Машинное обучение. С недавнего времени я профессионально занимаюсь машинным обучением и компьютерным зрением. В этой и будущих статьях я буду делиться наблюдениями и решениями специфических проблем при использовании TensorFlow и Keras. В этой ст...

АудиоМАСТЕР – отличное решение для работы с аудио файлами Согласитесь, в интернете развелось огромное количество блогеров, обзорщиков и других людей, которые хотят заработать денег на просмотрах и рекламе. Однако у многих возникает один единственный вопрос – какую программу использовать для обработки аудио файлов? Сегодня мы бы хот...

Пробы и ошибки при выборе HTTP Reverse Proxy Всем привет! Сегодня мы хотим рассказать о том, как команда сервиса бронирования отелей Ostrovok.ru решала проблему роста микросервиса, задачей которого является обмен информацией с нашими поставщиками. О своем опыте рассказывает undying, DevOps Team Lead в Ostrovok.ru. Чи...

[Перевод] О декораторах в Python Всем привет! Перевод статьи подготовлен для студентов курса «Web-разработчик на Python». Интересно развиваться в данном направлении? Запишитесь на День Открытых Дверей курса и пообщайтесь вживую с преподавателем: онлайн-трансляция 23 июля в 20:00 по мск.! Когда вы упражняли...

[Перевод] 8 ошибок начинающих JavaScript-разработчиков, мешающих стать профессионалом Быть JavaScript-разработчиком круто, поскольку на рынке труда постоянно растет нужда в хороших JS-программистах. В наше время очень много фреймворков, библиотек и прочего, что можно использовать в работе, — и в значительной степени мы должны быть благодарны за это opensou...

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

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

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

Использование DbTool для засеивания (seeding) баз данных в приложениях .NET (Core) Представляем вашему вниманию DbTool — утилиту командной строки для экспорта данных БД в различные форматы и open-source библиотеку Korzh.DbUtils, использование которых может значительно упростить первоначальное "засевание" базы данных в вашем .NET (Core) приложении. С помощь...

Критика протокола и оргподходов Telegram. Часть 1, техническая: опыт написания клиента с нуля — TL, MT В последнее время на Хабре стали чаще появляться посты о том, как хорош Telegram, как гениальны и опытны братья Дуровы в построении сетевых систем, и т.п. В то же время, очень мало кто действительно погружался в техническое устройство — как максимум, используют достаточно пр...

Oppo присоединилась к проекту CameraX API от Google В этом году Google представила CameraX API — это библиотека или набор AI-алгоритмов Android Jetack, предназначенных для того, чтобы облегчить разработку приложения камеры.   Их преимуществом является то, что разработчикам не нужно прописывать специальный код в сво...

Деливерим фичи быстрее. Опыт Android-разработки в Badoo Всем привет! Меня зовут Анатолий Варивончик. Я работаю в Badoo уже больше года, а мой общий стаж Android-разработки — более пяти лет. В своей практике я и мои коллеги часто сталкиваемся с необходимостью тестировать идеи максимально быстро и просто. Мы не хотим тратить много...

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

Устанавливаем Vmware ESXi на Mac Pro 1,1 В статье описываю свой опыт установки VMware ESXi на старинный Apple Mac Pro 1,1. От заказчика поставлена задача – расширить файловый сервер. Как создавался файловый сервер компании на PowerMac G5 в 2016, и какого было обслуживать созданное legacy достойно отдельной стать...

Сложности применения технологий OCR в DLP-системах, или Как мы OCR готовим Решение задачи распознавания изображений (OCR) сопряжено с различными сложностями. То картинку не получается распознать из-за нестандартной цветовой схемы или из-за искажений. То заказчик хочет распознавать все изображения без каких-либо ограничений, а это далеко не всегда в...

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

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

Новая игра со старой атмосферой на Three.js. Часть 2 В первой части я рассказал о проблемах, с которыми я столкнулся в процессе создания 3D игры под браузер c использованием Three.js. Теперь я хотел бы подробно остановиться на решении некоторых важных задач при написании игры, типа конструирования уровней, определения столкнов...

Мой опыт подключения LPS331AP к Omega Onion2 Доброго времени суток, хабровчане! Небольшое предисловие Намедни я стал счастливым владельцем одного из самых маленьких одноплатников, работающим на LEDE, и первое, что захотелось сделать (после моргания светодиодом) — домашняя метеостанция, к которой можно получить доступ ...

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

[Перевод] Использование strict-модулей в крупномасштабных Python-проектах: опыт Instagram. Часть 1 Публикуем первую часть перевода очередного материала из серии, посвящённой тому, как в Instagram работают с Python. В первом материале этой серии речь шла об особенностях серверного кода Instagram, о том, что он представляет собой монолит, который часто меняется, и о том, ка...

Основные понятия стандартной библиотеки С++ Данная статья определяет основные понятия стандартной библиотеки С++. Она приводится для того чтобы на неё ссылаться в дальнейшем. Наибольшей частью стандартной библиотеки С++ является библиотека STL (Standard Template Library – Стандартная Библиотека Шаблонов). Библиотека S...

Инструменты информирования или как мы рассказываем о своих сервисах и процессах Хабр, привет! Все, кто работал хотя бы в одной крупной территориально распределенной компании с сетью филиалов по всей стране, сталкивался с проблемой: «Как проинформировать заинтересованные лица об услугах и сервисах, которые вы предоставляете в рамках своего подразделения...

Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS» В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы паттерн использовался в «...

Синхронизация клиентских запросов в Spring Сегодня предлагаю Вам разобрать одну практическую задачу о гонке клиентских запросов, с которой я столкнулся в МаксимаТелеком при разработке back-end для нашего мобильного приложения MT_FREE. При старте клиентское приложение асинхронно отправляет «пачку» запросов к API. При...

[Перевод] Компилируем FFmpeg в WebAssembly (=ffmpeg.js): Часть 1 — Приготовления Из этой части вы узнаете: Зачем это всё нужно Как скомпилировать FFmpeg в Docker Зачем это всё нужно Главные задачи у серии публикаций такие: Создать туториал по использованию Emscripten для компиляции C/C++ библиотек в JavaScript (более детальный и полезный, чем написа...

«Ты узнаешь ее из тысячи...» или классифицируем изображения с веб-камеры в реальном времени с помощью PyTorch Вот бывает же в жизни такое. Сидишь себе не шалишь, никого не трогаешь, починяешь примус, а тут из этого примуса, из телевизора, да и вообще из каждого утюга, до тебя доносится: «нейронные сети, глубокое обучение, искусственный интеллект, цифровая экономика…». Я — человек,...

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

[Из песочницы] Своё интернет радио Многие из нас по утрам любят слушать радио. И вот в одно прекрасное утро я осознал, что не хочу слушать местные ФМ радиостанции. Не интересно. Но привычка оказалась вредной. И я решил заменить ФМ-приемник интернет приемником. Быстренько купил детали на Алиэкспресс и собрал и...

Собираем в rpm WireMock — утилиту для создания заглушек над веб-сервисами в Fedora COPR аналоге PPA в Ubuntu WireMock — утилита, библиотека на java для создания заглушек над веб-сервисами. Он создает HTTP-сервер, к которому мы могли бы подключиться, как к реальному веб-сервису. Fedora COPR — это бесплатный хостинг для размещения пользовательских репозиториев (аналог AUR в Arch Linu...

Ищем пневмонию на рентгеновских снимках с Fast.ai Наткнулся на статью в блоге компании Школа Данных и решил проверить, на что способна библиотека Fast.ai на том же датасете, который упоминается в статье. Здесь вы не найдете рассуждений о том, как важно своевременно и правильно диагностировать пневмонию, будут ли нужны врачи...

Blitz Engine & Battle Prime: ECS и сетевой код Вступление Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес...

МТС открыл огромную онлайн-библиотеку для абонентов других операторов Оператор МТС открыл свой сервис МТС Библиотека для абонентов других российских операторов.

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

[Перевод] Опыт кандидата при рекрутинге разработчиков программного обеспечения. Часть 2 Добрый день. Делимся с вами второй частью статьи о рекрутинге разработчиков ПО, которая приурочена к запуску курса «IT-Recruiter». Первую часть можно прочитать тут. Уведомление привлекательно Итак, вы сходили на свое первое свидание, а потом… ничего. Вы звоните на следую...

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

Bluetooth LE не так уж и страшен, или Как улучшить пользовательский опыт без особых усилий Недавно мы в команде придумали и реализовали функцию передачи денег по воздуху с помощью технологии Bluetooth LE. Я хочу рассказать вам, как мы это сделали и что Apple предоставляет нам из инструментов. Многие разработчики думают что Bluetooth — это сложно, ведь это достаточ...

PowerShell, дамп моего опыта Введение Эта статья адресована тем, кто уже познакомился с основами PowerShell, запускал какие-то скрипты со stackexchange и, вероятно, имеет свой текстовый файл с теми или иными сниппетами облегчающими повседневную работу. Целью её написания есть уменьшение энтропии, увелич...

[Из песочницы] Опыт использования telegram-канала для повышения узнаваемости и роста доходов игровой студии Telegram-каналов, да ещё про геймдев, не то чтобы много. Тем не менее, это хороший инструмент для привлечения партнёров и клиентов. Иногда даже работников. Делимся личным опытом, с какими сложностями можно столкнуться и какие итоги получили. Исходные данные Мы – небольшая ст...

Связный список на Python: Коты в коробках И снова здравствуйте! В преддверии старта курса «Разработчик Python» подготовили для вас небольшой авторский материал о связных списках на Python. Python очень удобный и многогранный язык, но по умолчанию не имеет такой структуры данных как связный список или LinkedList. ...

[Из песочницы] Xamarin.Forms — удобное использование иконочных шрифтов в приложении Постановка задачи Для отображения иконок в приложении Xamarin.Forms можно использовать изображения в различных форматах, например png, svg или шрифты ttf. Чаще всего для добавления стандартных иконок удобен шрифт с иконками, например google material icons. Шрифт с иконками ...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

[Перевод] Axios или Fetch: чем пользоваться в 2019 году? Axios — это широко известная JavaScript-библиотека. Она представляет собой HTTP-клиент, основанный на промисах и предназначенный для браузеров и для Node.js. Если вы работали в последние несколько лет JavaScript-программистом, то вы, совершенно определённо, этой библиотекой ...

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

WearOS теряет еще одно популярное приложение WearOS переживает не лучшие времена. С каждым месяцем эта операционная система становится еще более удобной и стабильной, а не так давно Google удалось существенно увеличить скорость её работы, но популярность WearOS, к сожалению, наоборот падает. Это связано как с недостато...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

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

Инструменты Node.js разработчика. Работа с веб-сокетами по протоколу mqtt Технология веб-сокет позволяет в веб-приложении или в мобильном приложении реализовать отправку сообщений с сервера на клиент, что невозможно сделать средствами REST-API. Для работы с веб-сокетами часто используют библиотеку socket.io, или же разработчики работают с нативным...

[Перевод] Самая популярная мобильная игра: как создавалась «Змейка» для телефонов Nokia Танели Арманто не любит рассказывать людям, что изменил мир. На самом деле я уверен, что если вы не являетесь другом его семьи, то ничего о нём не слышали. Обычно он никогда не рассказывает о своём величайшем достижении, но его дети не упускают случая им похвастаться. В кон...

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

Символьный калькулятор на C# Понадобилась мне как-то библиотека на c#, которая умеет делать символьные вычисления (время от времени дополняю возможностями одну математическую программу). Всякие исходники в сети найти можно и на разных языках, но вот что-то попроще и попонятнее найти не удавалось. Обрати...

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

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

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

[Перевод] Гибкие таблицы на CSS Grid Просмотр списка лидов («холодных» контактов) Поскольку мы уже запустились, я, наконец, могу рассказать о секретном проекте, над которым работал последние два года. Одна из интересных функций Teamwork CRM — просмотр списка (list view). Это мощный компонент, который встреч...

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

Мой опыт работы в Фирме 1С Кажется, писали уже обо всех: от Яндекса до Мэйлру, от Люксофта до Туту. Но про самую отстраненную, самобытную и изолированную компанию на ИТ рынке еще не было. Расскажу о своем опыте работы в отечественной Корпорации зла. К тому чтобы поделиться своим опытом меня подтолк...

Настраиваем top в GNU\Linux Однажды мой знакомый, который на тот момент администрировал некое веб-приложение на сервере под управлением GNU\Linux, пожаловался на одного вредного администратора сервера. Тот ни в какую не хотел устанавливать htop, несмотря на все просьбы. Я немного удивился и поинтересо...

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

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

Открытый вебинар «Fluent Validation как инструмент валидации данных» И снова здравствуйте! В рамках запуска курса «Разработчик C#» мы провели традиционный открытый урок, посвящённый инструменту Fluent Validation. На вебинаре рассмотрели, как избавиться от кучи if-ов на примере проверки корректности заполнения данных покупателя, изучили внут...

[Перевод] Быстрое введение в Svelte с точки зрения разработчика на Angular Svelte — сравнительно новый UI фреймворк, разработанный Ричем Харрисом, который также является автором сборщика Rollup. Скорее всего Svelte покажется совершенно не похожим на то, с чем вы имели дело до этого, но, пожалуй, это даже хорошо. Две самые впечатляющие особенности э...

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

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

[Перевод] Глупая причина, по которой не работает ваше хитрое приложение машинного зрения: ориентация в EXIF Я много писал о проектах компьютерного зрения и машинного обучения, таких как системы распознавания объектов и проекты распознавания лиц. У меня также есть опенсорсная библиотека распознавания лиц на Python, которая как-то вошла в топ-10 самых популярных библиотек машинного ...

[Перевод] .NET Core 3 для Windows Desktop В сентябре мы выпустили поддержку .NET Core для создания настольных приложений Windows, включая WPF и Windows Forms. С тех пор мы были рады видеть, что многие разработчики делятся своими историями о переносе настольных приложений в .NET Core. Мы постоянно слышим от .NET-разр...

ITIL и новые модные штуки В самом начале 2000-х мне, как и многим другим ребятам, было очень важно узнать: как организовать современный (на тот момент) ИТ-департамент коммерческой компании среднего размера. Скажем, на 50-200 «айтишников». То был не праздный интерес, а вполне реальная зад...

Байки разработчика 1C: эпикофейлические Все мы любим рассказывать о своих успехах и не очень любим распространяться о неудачах. Но опыт ошибок зачастую более ценен, чем профит от удачно завершенного дела. Поэтому как раз о таких случаях я и хотел бы рассказать сегодня. Итак, поехали… Читать дальше →

[Перевод] Конференция DEFCON 25. Гарри Каспаров. «Последняя битва мозга». Часть 1 Для меня большая честь присутствовать здесь, но, пожалуйста, не нужно меня взламывать. Компьютеры и так меня ненавидят, так что мне нужно подружиться с как можно большим числом людей в этом зале. Хочу привести один маленький пустяк из моей биографии, интересный для американс...

Фотогалерея дня: Valve показала как будет выглядеть обновленный интерфейс Steam Во время мероприятия GDC 2019 компания Valve продемонстрировала, как будет выглядеть обновленный интерфейс библиотеки игр магазина Steam. Разработчики пообещали запустить бета-тестирование нового интерфейса уже летом. Библиотека игр будет выглядеть более свежо, пользователь ...

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

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

Представлена референсная серверная платформа на процессорах Arm и GPU-ускорителях На конференции по суперкомпьютерам компания Nvidia представила референсную платформу, позволяющую компаниям быстро создавать серверы на процессорах Arm, оснащенные GPU-ускорителями. Предполагается, что они будут востребованы «в расширяющемся спектре научных и пром...

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

[Перевод] Использование strict-модулей в крупномасштабных Python-проектах: опыт Instagram. Часть 2 Представляем вашему вниманию вторую часть перевода материала, посвящённого особенностям работы с модулями в Python-проектах Instagram. В первой части перевода был дан обзор ситуации и показаны две проблемы. Одна из них касается медленного запуска сервера, вторая — побочных э...

OpenCV 4.0 и 4.1 — что нового? Мы возвращаемся к рассказу об open source библиотеке компьютерного зрения OpenCV. Проект живет и развивается, движимый командой разработчиков, работающих в компании Intel, а также неугасающей поддержкой community. В конце 2018 года увидел свет первый стабильный релиз из ве...

[Перевод] Анонс новой версии Styled Components v5: Звериный оскал Мы очень рады анонсировать новую пятую версию styled-components! Новая версия полностью обратно-совместима с предыдущей версией при условии использования последней версии React. Бету пятой версии можно попробовать уже сейчас: npm install styled-components@beta Нужна версия...

Apple выпустила полностью обновленную веб-версию Apple Music Apple сегодня сделала большое обновление, выпустив в публичную “Бету” свое веб-приложение потоковой музыки Apple Music. Благодаря браузерному интерфейсу подписчики Apple Music могут пользоваться сервисом из любого места без привязки к операционной системе или устройству. App...

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

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

Как сделать два приложения из одного. Опыт Тинькофф Джуниор Привет, меня зовут Андрей и я занимаюсь приложениями Тинькофф и Тинькофф Джуниор для платформы Android. Хочу рассказать о том, как мы собираем два похожих приложения из одной кодовой базы. Тинькофф Джуниор — это мобильное банковское приложение, ориентированное на детей ...

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

В пермских модельных библиотеках можно не только читать В пятницу, 8 ноября, в Перми открылась так называемая «модельная» библиотека №1 им. Л.Н. Толстого, позиционируемая как инновационное пространство с высокотехнологичными элементами библиотечного обслуживания — интерактивным столом, 3D-принтером, очками дополненной реальности,...

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

Continuous Monitoring – автоматизация проверок качества ПО в CI/CD Pipeline Сейчас на хайпе тема DevOps. Конвейер непрерывной интеграции и доставки CI/CD внедряют все, кому не лень. Но большинство не всегда уделяют должное внимание обеспечению надежности работы информационных систем на различных этапах CI/CD Pipeline. В данной статье я хотел бы пого...

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

Вредоносные Python-библиотеки воровали ключи SSH и GPG Из PyPI были удалены две вредоносные библиотеки, пойманные на краже ключей SSH и GPG из проектов разработчиков. Одна из библиотек оставалась незамеченной почти год.

Охота за ошибками, Blind-XSS и лисьи хитрости Лисы знают толк в охоте :) Многие наверняка уже слышали о BugBounty, поиске уязвимостей с вознаграждениями и сопутствующих историях об этом. Я, как один из «охотников за ошибками», начал свой путь чуть больше года назад на площадке HackerOne. За это время мне удалось много...

Стипендия Фулбрайта: как и зачем? Здравствуйте, уважаемые хабровчане. Меня зовут Андрей, я химик из Киева, выигравший стипендию Фулбрайта FRDP. Сейчас я прохожу стажировку в штате Мичиган. В этой статье я хочу рассказать мой опыт подачи документов, собеседования и поездки. Читать дальше →

Demo Day: зачем это все и как его сделать Мы приглашаем вас 3 июля на большой Open Demo Day в Райффайзенбанк, который состоится в Нагатино. Наши команды будут показывать живые демо, а вы первыми увидите то, что вот-вот появится на проде. В Райффайзенбанке мы проводим демо-дни каждый месяц, и хотим не только показа...

[recovery mode] «Быть Insight-Driven»: продвинутая аналитика и управление жизненным циклом моделей машинного обучения Сегодня мы хотим поговорить о концепции Insight-Driven и о том, как ее реализовать на практике c помощью DataOps и ModelOps. Insight-Driven подход — это комплексная тема, про которую мы подробно рассказываем в нашей недавно созданной библиотеке полезных материалов про управл...

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

[Из песочницы] Блиц-проверка алгоритмов машинного обучения: скорми свой набор данных библиотеке scikit-learn Глобальная паутина изо дня в день пополняется статьями о самых популярных, наиболее употребляемых алгоритмах машинного обучения для решения различных задач. Причём основа этих статей, немного изменённая по форме в том или ином месте, кочует от одного исследователя данных к...

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

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

Как я начал уметь в маркетинг Всем привет! Я хотел бы рассказать о своем прошлом – замечательном проекте Withme, но «без купюр». В публикациях здесь я уже пытался рассказать о всех событиях в хронологическом порядке, однако многие факты были “немного” спрятаны под смешными «факапами», безудержным весел...

[Перевод] Рассказ о том, как Linux привели в Windows Всё то время, которое я работаю в Microsoft, я занимаюсь созданием инструментов для Linux-разработчиков. Я приступила к работе в августе 2016 года, после выпуска из Виргинского университета, где изучала информатику и менеджмент. Во время учёбы я программировала, в основном, ...

Рекомендации по настройке AFA AccelStor при работе с VMware vSphere В рамках данной статьи хотелось бы рассказать об особенностях работы All Flash массивов AccelStor с одной из популярнейших платформ виртуализации – VMware vSphere. В частности, акцентировать внимание на тех параметрах, которые помогут получить максимальный эффект от использо...

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

Чем мы можем Вам помочь? Чем Вы можете помочь нам? Открытый API и вход по отпечатку пальцев. Что нового в security-приложении Cloud-Clout Приложение для безопасного хранения и обмена данными в облаках Cloud-Clout открывает свой API. Добрый день, Хабр! Прежде всего, разработчики приложения хотят поблагодарить всех хабро...

«Разработчик хочет купить самолет через три года. Моя задача ему помочь» — Денис Пушкин о мотивации в Skyeng Недавно мы были в гостях у Skyeng и уже рассказывали, зачем их компании так много продакт-менеджеров. Но разговор был большой и долгий, мы обсудили еще много интересного. Например Денис Пушкин, Head of Product Marketing, рассказал о мотивации в его команде. Как сделать так...

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

[Из песочницы] Amazon EKS Windows в GA с багами, но зато быстрее всех Добрый день, хочу поделиться с вами своим опытом по настройке и использованию сервиса AWS EKS (Elastic Kubernetes Service) для Windows контейнеров, а точнее о невозможности его использования, и найденном баге в системном контейнере AWS, тем кому интересен этот сервис для W...

[Из песочницы] Структуры данных в Java. Полезные методы вспомогательных классов Привет, habr! Я Software Engineer в EPAM. Более 8 лет я работаю с legacy-кодом, написанном на языке Java (предвосхищая комментарии, отмечу, что понимание и терпимость к legacy началась задолго до EPAM, в заключении вы найдёте ответ, почему). Часто в работе я сталкивался с ...

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

[Из песочницы] Организация поиска по веб-странице на JavaScript (без jQuery) Пару дней назад получил тестовое задание от компании на вакансию Front-end dev. Конечно же, задание состояло из нескольких пунктов. Но сейчас речь пойдет только об одном из них — организация поиска по странице. Т.е. банальный поиск по введенному в поле тексту (аналог Ctrl+F ...

Facebook опубликовал библиотеку для обработки изображений Spectrum Сегодня Facebook объявляет о запуске Spectrum - библиотеки обработки изображений.

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

[Из песочницы] Что такое быть Team Leader Всем привет! Меня зовут Артур Дементьев, я бы хотел поделиться личным опытом и написать несколько статей о том, что из себя представляет менеджмент в IT. А также рассказать о том, на какие грабли наступал и каких ошибок можно было избежать. Все статьи я буду писать, основыва...

Эксперимент — от парного программирования к программированию всей командой Очень хочу поделиться с вами переводом статьи про эксперимент с моб-программированием от одного из его создателей, Вуди Зила. Это когда вся команда сразу работает за одним компьютером. Как парное программирование, только групповое. Я бывший Java-разработчик и тимлид с 11-лет...

C, C++ и DotNet decompile — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 1 В данной статье 5 первых заданий, узнаем основы дизассемблирования, решим задачи начального уровня реверса, а также декомпилируем dotNet приложение. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и...

Smart IdReader SDK — встраиваем распознавание в проекты на Python и PHP Мы, Smart Engines, продолжаем цикл статей про то, как встроить наши технологии распознавания (паспортов, банковских карт и других) в ваши приложения. Ранее мы уже писали про встраивание на iOS и Android, показывали, как встроить распознавание в Телеграм-бота, а сегодня мы ра...

[Из песочницы] Классификация покрова земли при помощи eo-learn. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej. Предисловие Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиоте...

[Из песочницы] Разработка игры и защита диплома или «Как я убил двух зайцев первым блином» Дипломный проект О создании игр и получении высшего образования обычно говорят как о вещах несовместимых, часто вполне справедливо. Многие известные инди-разработчики бросали универы. Я же расскажу о противоположном опыте. О своём довольно необычном проекте и о том, как удал...

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

Terraformer — Infrastructure To Code Хотел бы рассказать про новый CLI tool который я написал для решения одной старой проблемы. Проблема Terraform уже давно стал стандартом в Devops/Cloud/IT сообществе. Вещь очень удобная и полезная чтоб заниматся infrastructure as code. Есть много прелестей в Terraform а т...

Code review: вредные советы для контрибьютера и ревьювера Привет! Меня зовут Николай Ижиков. В этом посте я хочу рассказать об одном важном элементе взаимодействия, с которым мы сталкиваемся в процессе разработки ПО, особенно в open source. Это прохождение и проведение code review. Я дам вредные советы, как сделать свою фичу и до...

PHP-библиотеки для e-commerce: работа с АТОЛ и Payture, парсинг кодов GS1 и другие задачи Привет, меня зовут Павел Савельев, я руководитель отдела автоматизации бизнес-процессов в Lamoda. Мы работаем с очень разными задачами, и стараемся подобрать для каждой наиболее удобный инструментарий. Соответственно, мы используем разные языки — в наших системах можно встре...

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

[Из песочницы] Ускоряем сборку веб-приложения с webpack По мере того как ваше приложение развивается и растёт, увеличивается и время его сборки — от нескольких минут при пересборке в development-режиме до десятков минут при «холодной» production-сборке. Это совершенно неприемлемо. Мы, разработчики, не любим переключать контекст в...

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

ActionDash — аналог Digital Wellbeing от Google и приложение для осознанных пользователей Digital Wellbeing – одно из главных нововведений, из-за которого я жду Android 9 на свой OnePlus 3T. В систему давно напрашивалась система для сбора статистики по использованию устройства и отдельных приложений, но ей не суждено было появиться, пока все вместе не признали, ч...

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

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

[Из песочницы] Вступление в архитектуру React Fiber Привет, Хабр! Предлагаю вашему вниманию перевод статьи "React Fiber Architecture" автора Andrew Clark. Вступление React Fiber — прогрессивная реализация ключевого алгоритма React. Это кульминационное достижение двухгодичных исследований команды разработчиков React. Цель Fibe...

[Из песочницы] Проблемы и нюансы при разработке под SmartTV с использованием React.js Хочу поделиться опытом разработки приложения с просмотром видео контента для SmartTV (Tizen и WebOS) и с какими проблемами мы столкнулись. На современных телевизорах, как мы знаем, можно устанавливать разные приложения, для облегчения работы с какими-то ресурсами и контенто...

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

Библиотека Apple Arcade уже насчитывает 100 игр Компания Apple продолжает активно наполнять библиотеку игр Apple Arcade. Сервис Apple Arcade стал доступен пользователям […]

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

Operating Systems: Three Easy Pieces. Part 1: Intro (перевод) Введение в операционные системы Привет, Хабр! Хочу представить вашему вниманию серию статей-переводов одной интересный на мой взгляд литературы — OSTEP. В этом материале рассматривается достаточно глубоко работа unix-подобных операционных систем, а именно — работа с процесс...

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

[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...

Docker — это игрушка или нет? Или всё-таки да? Всем привет! Ооочень хочется прям сразу приступить к теме, но правильнее будет немного рассказать про мою историю: Вступление Я программист с опытом разработки frontend одностраничных приложений, scala/java и nodejs на сервере. Довольно долго (уже точно пару — тройку лет), ...

[Из песочницы] Как открыть ссылку в Python. Работа с WebBrowser и решение проблемы с Internet Explorer В ходе работы на курсачом для универа столкнулся со стандартным модулем Python — WebBrowser. Через этот модуль я хотел реализовать работу голосового ассистента с дефолтным браузером, но всё пошло не так гладко как ожидалось. Давайте для начала расскажу вам что это за модуль ...

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

Retentioneering: как мы open-source инструменты для продуктовой аналитики на Python и Pandas написали Привет, Хабр. Эта статья посвящена итогам четырехлетней разработки набора методов и инструментов обработки траекторий движения пользователей в приложении или на сайте. Автор разработки — Максим Годзи, который стоит во главе команды создателей продукта, он же — автор статьи. ...

[Из песочницы] Fish Redux — новая Redux библиотека для Flutter В конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter. Однако, при разработке крупных приложений, немного больших,...

Как написать вредное API Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. Всем привет! Я работаю тимлидом команды Integration Development в сервисе онлайн-бронирования отелей Ostrovok.ru и сегодня хотел бы поделиться своим опытом работы с ра...

Замените Android на Windows. Разработчики призывают Microsoft изменить свой смартфон Surface Duo На своём недавнем мероприятии Microsoft неожиданно представила Surface Duo — складывающийся смартфон с двумя экранами, работающий под управлением Android. Позже мы узнали, что компания никогда не рассматривала для этого устройства никакую иную ОС, а о возрождении...

OpenCV на STM32F7-Discovery Я один из разработчиков операционной системы Embox, и в этой статье я расскажу про то, как у меня получилось запустить OpenCV на плате STM32746G. Если вбить в поисковик что-то вроде "OpenCV on STM32 board", можно найти довольно много тех, кто интересуется использованием это...

В популярной Ruby-библиотеке Bootstrap-Sass нашли бэкдор Скомпрометировав разработчика, злоумышленники добавили бэкдор в библиотеку Bootstrap-Sass. Вредоносную версию успели загрузить 1477 раз.

Facebook раскрыла код библиотеки функций для понимания смысла текста В соцсети в качестве преимущества PyText указывают то, что библиотека оптимизирована как для экспериментов, так и для рабочего применения.

В библиотеку за новым смартфоном. Apple Carnegie Library открывает свои двери через два дня Несколько дней назад стало известно, что Apple готовится открыть один из своих самых необычных фирменных магазинов. Он расположится внутри одной из библиотек Карнеги, на реставрацию которой Apple потратила более 30 млн долларов. Открытие магазина намечено на 11 мая, но...

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 1 Вероятно, фронтенд-разработчикам знакомо нечто подобное: вводишь в поисковике «лучшие JavaScript-фреймворки» и получаешь в ответ целую гору результатов, из которой очень непросто выбрать именно то, что нужно. Что лучше всего подходит для разработки клиентских частей веб-про...

Как мы мониторили Black Hat Europe 2018 Полгода назад я уже писал на Хабре заметку, где делился нашим опытом мониторинга различных конференций по ИТ и ИБ, в которых Cisco приглашают для обеспечения работы SOC и NOC (Black Hat, Mobile World Congress, RSAC и т.п.). Сегодня я бы хотел поделиться опытом участия в рабо...

[Перевод] Ускоряем JavaScript-код с использованием типа данных Set Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что многие JavaScript-разработчики пользуются, в основном, такими типами данных, как Number, String, Object, Array и Boolean. В большинстве случаев этого вполне достаточно. Но если нужно сдела...

Apple выпустила macOS Catalina: что нового? Вчера, 7 октября, Apple выпустила новую версию операционной системы для Mac, macOS Catalina. Ее можно скачать из Mac App Store бесплатно. Обновление доступно для всех, кто имеет совместимый Mac. macOS Catalina вносит несколько существенных изменений в Mac, устраняя iTunes в ...

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

NURBS моделирование в Rhino 3D и T-Spline Существует, как минимум, два подхода к созданию 3D моделей. В одном из них, наиболее популярном, объекты состоят из множества полигонов. В другом (freeform surface modelling) — из NURBS поверхностей, которые задаются кривыми (сплайнами). Каждый из подходов имеет свои преиму...

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

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

Прогнозирование результатов футбольных матчей Модель машинного обучения на Python c использованием библиотеки Scikit-learn, для прогнозирования результатов футбольных матчей Российской Премьер Лиги (РПЛ). Читать дальше →

[Из песочницы] 4 Причины, почему вы должны забыть о Redux в приложениях на React Я работаю с Реактом на протяжении почти 3 лет, использовал как Redux так и MobX и у меня к текущему моменту возник вопрос. Почему абсолютное большинство front-end разработчиков продолжают свято верить в то, что Redux + Redux Saga + Reselect + 100500 других библиотек «облегча...

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков В жизни многих компаний, которые имеют и развивают свой стек библиотек и компонентов, наступает момент, когда объёмы этого стека становится сложно поддерживать. В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в ...

Facebook переименовал Архив объявлений в Библиотеку рекламы Facebook объявил о запуске Библиотеки рекламы – новой версии Архива объявлений, увидевшего свет в 2018 году. Ранее на этом портале содержалась детальная информация о политической рекламе. В частности, на кого она была нацелена, сколько показов получила, кто её разместил и ка...

[recovery mode] Как я свою онлайн игру создавал. Часть 1: Работа с сетью Привет всем! У меня недавно был отпуск, и появилось время спокойно попрограммировать свои домашние проекты. Захотел я, значит, свою простенькую онлайн игру сделать на Rust. Точнее, простенькую 2D стрелялку. Решил сначала сделать сетевую часть, а там уже видно будет, что да...

[recovery mode] Мой опыт подготовки к трудоустройству в Google От переводчика: сегодня публикуем для вас статью Праякты Татавадкар, она разработчик с небольшим стажем, но знания и опыт позволили ей получить работу в Google (со второй попытки), стать членом команды разработчиков YouTube. Google была для меня компанией мечты с самого...

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

[Перевод] 10 лучших JavaScript библиотек для визуализации данных на графиках и диаграммах Есть в графиках что-то магическое. Изгиб кривой мгновенно раскрывает всю ситуацию — историю развития эпидемии, паники или периода процветания. Эта линия просвещает, пробуждает воображение, убеждает. ― Генри. Д. ХаббардОбъемы данных, с которыми нужно работать, постоянно увели...

Что можно сделать со старым ненужным смартфоном Представьте ситуацию: вы купили себе новый смартфон. Но что делать со старым гаджетом? Отдать маме\брату\бабушке? А если все родственники уже одарены телефонами или «не нуждаются в вашем старье»? Можно попробовать продать телефон на одной из виртуальных площадок. ...

Мой первый опыт восстановления базы данных Postgres после сбоя (invalid page in block 4123007 of relatton base/16490) Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем. Я работаю полу-DevOps инженером в крупной IT-к...

Пять лет рабства Задумывались ли вы когда-нибудь о собственной игре? А о собственной многопользовательской игре? Думаю, что да! Многие из вас хотели бы прильнуть к разработке собственного шедевра, где сливаются ваша многогранная фантазия и исключительный перфекционизм. Я вас понимаю и хочу р...

[Перевод] Почему я сворачиваю свою работу над Debian От переводчика: этот текст — перевод записи в личном блоге Михаэля Стапельберга (Michael Stapelberg) видного open source-разработчика (профиль GitHub), который внес значительный вклад в развитие Debian. Этот пост было сложно написать с эмоциональной точки зрения, но я и не...

Беседы о C++: РГ 21, Boost, конференции Всем привет! Недавно в Новосибирске прошла очередная C++ Siberia 2019. На конференции была уютная атмосфера и много хороших докладов. Видеозаписи докладов сейчас готовятся к публикации. Пользуясь случаем, я побеседовал с двумя нашими частыми докладчиками, которые редко пропу...

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

Cruise открывает исходный код Worldview В Cruise Automation сотни инженеров и тестировщиков работают с данными, собранными на дорогах и через симулятор. Также специальная внутренняя команда AV Tools создает приложения для визуализации, поиска и анализа этих данных. Ведь пользователи и разработчики должны понимать ...

[Из песочницы] Кросс-компиляция OpenCV 4 для Raspberry Pi и BeagleBone Black Всем привет. Когда я захотел установить OpenCV на свою малинку для одного проекта, я был сильно разочарован результатом. Оказалось, что для новых версий образов Raspbian с поддержкой Python3.7 невозможно установить из репозитория библиотеку столь привычной командой pip inst...

Популярное Android-приложение внезапно стало вредоносным Приложение CamScanner стало представлять угрозу для пользователей после того, как разработчики добавили в него рекламную библиотеку с вредоносным модулем.

Хайлайты и тренды ICCV 2019 Нейросети в компьютерном зрении активно развиваются, многие задачи еще далеки от решения. Чтобы быть в тренде в своей области, достаточно подписаться на инфлюенсеров в Твиттере и читать релевантные статьи на arXiv.org. Но у нас появилась возможность съездить на Internatina...

[Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat...

Ускорение запуска Julia при помощи PackageCompiler.jl Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска являет...

БД ClickHouse для людей, или Технологии инопланетян Алексей Лизунов, руководитель направления центра компетенций дистанционных каналов обслуживания дирекции информационных технологий МКБ В качестве альтернативы стеку ELK (ElasticSearch, Logstash, Kibana) мы проводим исследовательские работы по использованию БД ClickHouse в к...

Пришло время латать решения Oracle Компания Oracle выпустила очередную порцию плановых патчей для своих продуктов. Обновления суммарно содержат 284 заплатки; многие из них закрывают сразу несколько брешей. Согласно таблице рисков, в 33 случаях баг получил более 9 баллов по шкале CVSS и признан критическим. Бо...

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

Как мы внедряли навигацию из Jetpack в боевое приложение. Доклад Яндекс.Еды В мобильных приложениях всё чаще используются deep links. Это ссылки, которые позволяют не просто перейти в приложение извне, а попасть на конкретный экран. Android-разработчик из Яндекс.Еды Владислав Кожушко объяснил, почему мы для реализации deep links внедрили навигацию и...

Особенности тестирования веб-приложения для видеосервиса Услуги потокового вещания по запросу (VOD) стали неотъемлемой частью нашей повседневной жизни. Video on Demand — это система доставки видеоконтента, которая позволяет зрителям выбирать контент (видео) и просматривать его в удобное время (по запросу) на любом устройстве, пр...

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

Как не утонуть в рутине, или Наш опыт сравнения AWR-дампов при проведении нагрузочного тестирования Всем привет! Меня зовут Людмила, я занимаюсь нагрузочным тестированием, хочу поделиться тем, как мы выполнили автоматизацию сравнительного анализа регрессионного профиля нагрузочного тестирования системы с БД под СУБД Oracle вместе с одним из наших заказчиков. Целью статьи ...

Введение в реверсинг с нуля, с использованием IDA PRO Привет, Хабравчане! Для тех, кто не знает, в своё время я взял на себя ответственность перевести испанский курс Introduccion Al Reversing Con Ida Pro Desde Cero под авторством Ricardo Narvaja на русский язык. Прошло 2,5 года и теперь я могу смело сказать, что курс переведен...

Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации У нас в True Engineering на одном проекте назрела необходимость в смене версии PostgreSQL с 9.6 на 11.1. Зачем? База данных на проекте уже объемом 1,5 Tb и растет. Перформанс – одно из основных требований к системе. А сама структура данных эволюционирует: добавляются новые...

Памятка начинающему разработчику компьютерных игр Данная статья ориентирована на школьников, студентов, и тех, кто постарше, кто никогда не пробовал, но очень хочет начать писать компьютерные игры. Кто в детстве не играл в компьютерные игры, и не хотел написать свою игру, которая будет лучше, чем GTA или Crysis? И я хотел,...

Генерация документов с помощью ONLYOFFICE DocumentBuilder Привет, Хабр. Я хочу рассказать об утилите под названием DocumentBuilder, которая позволяет генерировать документы, таблицы и презентации, а также показать, как можно его использовать для решения ваших задач, на примере создания резюме из шаблонов. Работает билдер следующи...

Применение машинного обучения и Data Science в промышленности Хабр, привет. Написал пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и дл...

YIMP — Панель управления для Yii 2 на Bootstrap 4 Уверен, что у многих разработчиков, предпочитающих фреймворки готовым CMS, есть в запасе решение на Bootstrap или его аналогах, которое используется в для создания интерфейсов админок и прочих бэк-офисов. И у меня такое есть. Успешно работает много лет, но безнадежно устарел...

[Из песочницы] Прохождение лабораторной машины для пентеста «Hackthebox — Friendzone» Привет, Хабр! В этой статье хочу вам рассказать про свой опыт прохождения лаборатории Friendzone на портале hackthebox. Для тех, кто не слышал, что такое hackthebox — это портал, на котором вы можете проверить свои умения пентеста на практике, имеются CTF таски и собственно...

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

Как создать первое приложение для торговли на бирже: 3 начальных шага Современные биржи – очень технологичны и привлекают внимание ИТ-специалистов (об этом говорят, например, активные обсуждения моих статей по теме). Многих интересует тема написания торговых роботов – кто-то хочет самостоятельно попытаться заработать на бирже, кто-то не проч...

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

Redux. Простой как грабли Мне уже доводилось заглядывать в репозиторий библиотеки redux, но откуда-то появилась мысль углубиться в его реализацию. Своим в некотором роде шокирующим или даже разочаровывающим открытием я хотел бы поделиться с сообществом. TL;DR: базовая логика redux помещается в 7 ст...

Huawei предоставил оборудование для Львовской библиотеки Компания Huawei Ukraine 24 мая передала Львовской национальной библиотеке имени В. Стефаника современный сервер для замены устаревшего оборудования, эксплуатируемого уже почти 15 лет.

Главный секрет Google I/O 2019, о котором не узнать из интернета Титульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только р...

Отличные курсы Powershell для всех желающих Если вы хотите на профессиональном уровне уметь проводить автоматизацию задач администрирования всех серверов Windows, то вам обязательно следует посетить курсы powershell. Тут предоставят всем слушателям буквально фундаментальные знания и необходимые навыки для использовани...

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

[Из песочницы] Опыт переезда iOS Developer в Германию по визе на поиск работы Добрый день, дорогой читатель! В этом посте я бы хотел рассказать о том, как я переехал в Германию, в Берлин, как нашел работу и получил Голубую Карту, и какие подводные могут ожидать людей, решивших повторить мой путь. Я надеюсь, что моя статья будет полезна тебе, если ты ...

Поваренная книга разработчика: DDD-рецепты (5-я часть, Процессы) Введение В рамках предыдущих статей мы описали: область применения, методологические основы, пример архитектуры и структуры. В данной статье, я хотел бы рассказать как описывать процессы, о принципах сбора требований, чем отличаются бизнес требования от функциональных, как п...

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

Генерация приложения на React с бэкэндом на GraphQL за считанные минуты Мы добавили новую экспериментальную возможность в 8base CLI (Command Line Interface), которая генерирует готовое приложение на React из вашей модели данных. Это очень удобно для начала работы с GraphQL и React, а также для быстрого создания пользовательского интерфейса прило...

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

DECT-телефония в зданиях В 2007 году компания Apple выпустила свой iPhone, и с этого момента бизнес-пользователи всерьез заинтересовались возможностями применения мобильных устройств связи. Сотрудники IT-отделов изо всех сил пытались подстроиться под меняющиеся модели работы: требовалось как-то ув...

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

Разработка ТамТам-бота на Python Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как част...

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

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

Новое слово в реинжиниринге: создание челюстного имплантата с применением конвергентного моделирования Статья Максима Нехорошева, специалиста IDEAL PLM по конструкторской подготовке, описывает методику создания медицинского имплантата человеческой челюсти — от проектирования до генерации траектории для 3D-печати. На примере проектирования имплантата показаны отличительные осо...

[recovery mode] Как я отказался от Ruby в пользу Python, работая над бэкендом Перевели для вас статью Бенуа Зен, разработчика ПО в компании Sqreen. Бенуа работает над backend веб-сервиса и недавно перешел с Ruby на Python. В 2008 году, когда я еще учился на разработчика ПО, два моих друга решили основать компанию, назвав ее Feedbooks. Их целью бы...

Fluent Design System теперь обладает кроссплатформенностью На мероприятии Build 2019 Microsoft представила новый веб-сайт про Fluent Design System, который расширяет свой язык дизайна не только для Windows, но и для iOS, Android и Интернета. Это является ключом к цели Microsoft – представить свой новый язык дизайна для всех своих пр...

Facebook заплатила 10 000 долларов за DoS-уязвимость в библиотеке Fizz Хотя bug bounty программа Facebook не распространяется на уязвимости, связанные с отказом в обслуживании (DoS), но за такой баг в опенсорсной TLS-библиотеке Fizz социальная сеть выплатила крупную сумму.

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

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

[Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме...

The state of CSS В ежегодном опросе «The state of JavaScript» разработчики рассказывают о том, что они используют здесь и сейчас. Вопросы там знакомы и привычны фронтенд-сообществу. В 2019 году появился опрос «The state of CSS», который ввёл разработчиков в ступор. Оказывается, многие технол...

Atlassian Confluence: расширяем на python В Альфастраховании мы активно пользуемся "Вики", движком которого выступает Atlassian Confluence. Когда я первый раз с ним всерьез столкнулся (в попытке создать в нем контент), мне в нем не хватило "динамичности" — хотелось иметь возможность программно формировать части стра...

Зарплаты в ИТ во втором полугодии 2018 года: по данным калькулятора зарплат «Моего круга» Публикуем отчет по зарплатам в ИТ-индустрии на 2-е полугодие 2018. Отчёт построен по данным калькулятора зарплат «Моего круга»: в котором за данный период было собрано более 8500 зарплат. Посмотрим на текущие зарплаты по всем основным ИТ-специализациям, а также на их год...

Зарплаты в ИТ в первом полугодии 2019 года: по данным калькулятора зарплат «Моего круга» Публикуем отчет по зарплатам в ИТ-индустрии на 1-е полугодие 2019. Отчёт построен по данным калькулятора зарплат «Моего круга»: в котором за данный период было собрано более 7000 зарплат.  Посмотрим на текущие зарплаты по всем основным ИТ-специализациям, а также на их дин...

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