Социальные сети Рунета
Четверг, 25 апреля 2024

[Перевод] Монада «Reader» через async/await в C# В моей предыдущей статье я описал, как реализовать паттерн "Монада Maybe" с помощью операторов async / await. В этот раз я расскажу, как реализовать другой популярный шаблон проектирования "Монада Reader", используя те же приемы. Этот шаблон позволяет неявно передать некий ...

[Перевод] 2D-тени на Signed Distance Fields Теперь, когда мы знаем основы комбинирования функций расстояний со знаком, можно использовать их для создания крутых вещей. В этом туториале мы применим их для рендеринга мягких двухмерных теней. Если вы пока не читали моих предыдущих туториалов о полях расстояний со знаком ...

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

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

[Из песочницы] Что нужно знать перед переходом на Akka toolkit для реализации Event Sourcing и CQRS Здравствуйте, уважаемые читатели Хабра. Меня зовут Рустем и я главный разработчик в казахстанской ИТ-компании DAR. В этой статье я расскажу, что нужно знать перед тем, как переходить на шаблоны Event Sourcing и CQRS с помощью Akka toolkit. Примерно с 2015 года мы начали прое...

Tic Tac Toe, часть 1 В статье "Сравнение: Svelte и React" я попробовал повторить разработку игры Tic Tac Toe. Там я выполнил только первую часть исходного туториала для React'а без поддержки истории ходов. В этой статье мы начнем разработку этой игры с применением фреймворка Svelte с поддержкой ...

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

Архитектурный шаблон «Итератор» («Iterator») во вселенной «Swift» «Итератор» – один из шаблонов проектирования, которые программисты чаще всего не замечают, потому что его реализация, как правило, встроена непосредственно в стандартные средства языка программирования. Тем не менее, это тоже один из поведенческих шаблонов, описанных в книге...

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

Amazon добавила возможность компаниям создавать голосовые команды Amazon запустила Alexa for Business, и теперь позволяет бизнес компаниям создавать голосовые команды для использования их в офисе. Участники могут использовать один из десятков шаблонов для создания своих собственных голосовых команд в Alexa без необходимости писать код....

Thymeleaf: диалект Layout + Spring Boot 2 Диалект Layout — это диалект Thymeleaf, который позволяет пользователям создавать макеты и шаблоны для повторного использования HTML кода. Он имеет иерархический подход и использует шаблон декоратора для «декорирования» файлов макета. Layout Dialect является отдельным проект...

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

Google создал галерею пользовательских шаблонов для Tag Manager Google сообщил о запуске галереи пользовательских шаблонов для Диспетчера тегов (Tag Manager) – Community Template Gallery. Новая галерея – это открытая платформа, где партнёры могут делиться своими шаблонами с другими участниками сообщества. Компании затем могут использоват...

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

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

Plasma Cash Chain как решение трилеммы масштабируемости в блокчейн Добрый день, уважаемые читатели! Данная статья посвящена Plasma Cash Chain и проливает свет на следующие темы: трилемма масштабируемости и способы ее решения; структуры данных чайлд чейна и их отображение в рутчейне; реализация ввода в рутчейн; реализация вывода из рутче...

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

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

Telegram опять раздаёт деньги за разработку простых шаблонов CSS Павел Дуров объявил о втором конкурсе Template Competition 2.0, всем участникам которого платят по $100 за каждый шаблон HTML/CSS для предпросмотра сайта СМИ в мессенджере. А также $2 за каждую ошибку, найденную в чудом шаблоне (сумма вычитается из гонорара автора). Сделат...

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

[Перевод] Монада «Maybe» через async/await в C# (без Task-oв!) Обобщенные асинхронные типы возвращаемых значений — это новая возможность появившаяся в C# 7, которая позволяет использовать не только Task в качестве возвращаемого типа асинхронных (async/await) методов, но также и любые другие типы (классы или структуры), удовлетворяющие ...

[Перевод] .NET Core Workers как службы Windows В .NET Core 3.0 мы представляем новый тип шаблона приложения под названием Worker Service. Этот шаблон предназначен для того, чтобы дать вам отправную точку для написания долго-работающих сервисов в .NET Core. В этом пошаговом руководстве мы создадим worker и запустим его в ...

В Google Tag Manager появились пользовательские шаблоны Google представил пользовательские шаблоны (Custom Templates) в Tag Manager и Tag Manager 360. Теперь специалисты смогут использовать встроенный редактор для разработки собственных определений тегов и переменных, которые затем можно будет использовать в контейнере. Custom Te...

[Перевод] Введение в юнит-тестирование в Unity Вам любопытно, как работает юнит-тестирование в Unity? Не знаете, что такое юнит-тестирование в целом? Если вы ответили положительно на эти вопросы, то данный туториал будет вам полезен. Из него вы узнаете о юнит-тестировании следующее: Что это такое Его польза Достоинств...

[Перевод] Строители против синтаксиса Java Шаблон проектирования «строитель» — один из самых популярных в Java. Он простой, он помогает делать объекты неизменяемыми, и его можно генерировать инструментами вроде @Builder в Project Lombok или Immutables. Но так ли удобен этот паттерн в Java? Читать дальше →

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

Разработка игры Breakout на Svelte На MDN есть туториал "2D игра на чистом JavaScript", в котором изучаются основы использования элемента HTML5 <canvas>. В этом туториале мы повторим разработку этой игры на Svelte. Читать дальше →

[Перевод] C# Regex в примерах Перевод статьи подготовлен специально для студентов курса «Разработчик С#». Класс Regex реализует регулярные выражения в C#. В этой статье вы узнаете, как использовать C# Regex для проверки различных пользовательских входных данных. Regex в C# реализует регулярные выра...

[Перевод] Юнит-тестирование шаблонов C++ и Mock Injection с помощью трейтов (Traits) Еще раз здравствуйте! До старта занятий в группе по курсу «Разработчик С++» остается меньше недели. В связи с этим мы продолжаем делиться полезным материалом переведенным специально для студентов данного курса. Юнит-тестирование вашего кода с шаблонами время от времени на...

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

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

Достраиваем в RESTinio четвертый этаж из C++ных шаблонов. Зачем и как? RESTinio — это относительно небольшой проект, представляющий из себя встраиваемый в C++приложения асинхронный HTTP-сервер. Его характерной особенностью является широкое, можно сказать, повсеместное применение C++ных шаблонов. Как в реализации, так и в публичном API. C++ные ш...

Хирургический шаблон из фотополимера Harz labs Dental yellow на Form2. Приветствую всех. Делал сегодня хирургические шаблоны, и наконец-то решил опробовать совет от коллег из Harz labs. Шаблоны обычные, ничего сверхъестественного, два имплантата на верхнюю челюсть, и один на нижнюю  Смысл совета в том, что обычный полимер dental yellow печатает...

Реализация сопоставления с образцом в Java Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Java в данный момент не поддерживает pattern matching, но есть надежды что в будущем все может измениться. Сопоставление с образцом раскрывают перед разработчиком возможность п...

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

[Перевод] Создаём эффект распространения цвета в Unity На этот эффект меня вдохновил эпизод Powerpuff Girls. Я хотела создать эффект распространения цвета в чёрно-белом мире, но реализовать его в координатах мирового пространства, чтобы видеть, как цвет закрашивает объекты, а не просто плоско распределяется по экрану, как в мул...

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

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

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

[Перевод] Шейдеры интерактивных карт в Unity Этот туториал посвящён интерактивным картам и их созданию в Unity при помощи шейдеров. Этот эффект может служить основой более сложных техник, например голографических проекций или даже песочного стола из фильма «Чёрная пантера». Источником вдохновения для этого туториала...

Приложение на ТСД и связь с 1С: Предприятие 8.3 через HTTP-Сервис. Часть 2 (Реализация API на стороне 1С) 1. Выбор способа обмена. Описание API. 2. Реализация API на стороне 1С. 3. Приложение на ТСД и связь с 1С: Предприятие 8.3 через HTTP-Сервис. Часть 3(BroadcastReceiver. Получаем данные) Пособий как создать HTTP-сервис в интернете предостаточно. Поэтому сразу опишу реализац...

[Перевод] Основы Signed Distance Field в 2D Хотя меши являются простейшим и наиболее универсальным способом рендеринга, существуют и другие варианты представления фигур в 2d и 3d. Одним из часто используемых способов являются поля расстояний со знаком (signed distance fields, SDF). Поля расстояний со знаком обеспечива...

[Из песочницы] Celery taskcls: новый декоратор, новые возможности Привет, Хабр! Я расскажу тебе историю своего профессионального подгорания. Так вышло, что я терпеть не могу рутинных однообразных действий. У меня за плечами несколько проектов, использующих Celery. Каждый раз, когда задача становится сложнее вывода 2 + 2 = 5, шаблон решения...

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

[Из песочницы] Ардуино и клавиатуры (полный гайд) Привет, жители Хабра! Сегодня я решил сделать полный гайд по клавиатурам для Arduino. Внимание! Статья ориентирована преимущественно на новичков! Во многих проектах появляется необходимость создания возможности ввода данных пользователем. Если вам нужно реализовать большое ...

[Перевод] Создание игры Tower Defense в Unity, часть 1 Поле Создание тайлового поля. Поиск путей с помощью поиска в ширину. Реализация поддержки пустых и конечных тайлов, а также тайлов стен. Редактирование контента в режиме игры. Опциональное отображение сетки поля и путей. Это первая часть серии туториалов, посвящённых созда...

[Перевод] Комбинирование Signed Distance Fields в 2D В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки ...

Строительные блоки распределенных приложений. Первое приближение В прошлой статье мы разобрали теоретические основы реактивной архитектуры. Пришло время поговорить о потоках данных, путях реализации реактивных Erlang/Elixir систем и шаблонах обмена сообщениями в них: Request-response Request-Chunked Response Response with Request Publis...

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

Компилятор Ангуляр в 200 строчек кода Привет. Меня зовут Роман, и я не изобретатель велосипедов. Мне нравится фреймворк Angular и экосистема вокруг него, и я разрабатываю с его помощью свои веб-приложения. С моей точки зрения, основное преимущество Angular в долгосрочной перспективе базируется на разделении кода...

Ещё раз о хирургических шаблонах Приветствую всех!В очередной раз внедряю в производство хирургические шаблоны. На этот раз, прокачали производство и хирургов, приобрели в клинику набор хирургического инструмента MiS Mguide surgical kit https://www.misimplants.com/kits/mguide-set-for-seven-implant-procedure...

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

[Из песочницы] Как я обучал нейросеть для реализации функции оценки положения на Russian AI Cup CodeBall 2018 Имея возможность качественно оценить положение в игре в какой-то момент времени и возможность симулировать игровой мир, при создании бота, для одного из решений, остается лишь стремиться совершать такие действия, которые приводят к улучшению этой оценки в ближайшем будущем. ...

Вместо NVLink и SLI. Nvidia реализовала в драйверах режим CFR, позволяющий использовать в играх несколько GPU одновременно У пользователей видеокарт Nvidia скоро появится возможность использования в играх нескольких видеокарт одновременно, причем для этого не потребуется никаких усилий – все реализовано на уровне драйвера. Новый режим уже реализован в драйвере, а включить его можно пр...

Добавление UICollectionViews в кастомный UITableViewCell который сделан через Xib Я был удивлен, узнав, сколько было препятствий для реализации UICollectionView в UITableViewCell. Поэтому этот туториал здесь, надеюсь он сэкономит вам много времени. Примечание: это туториал не для начинающих. Предполагается, что вы знаете о tableViews и создании пользоват...

[Перевод] Деревья квадрантов и распознавание коллизий Эта неделя была короткой, в понедельник и вторник я продолжал работать над системой 2D-освещения. Остальное время я потратил на реализацию деревьев квадрантов (quadtree). В этой статье я поделюсь своей реализацией и мыслями, возникшими в процессе её проектирования. Во-пер...

[Из песочницы] О целесообразности Selenium WebDriverWait Чем ближе я знакомлюсь с Selenium WebDriver, тем больше у меня возникает вопросов, почему тот или иной функционал выполнен так, а не иначе. В своем выступлении «Заморочки в Selenium WebDriver» Алексей Баранцев проливает свет на тонкости реализации этого инструмента автоматиз...

[Перевод] Практический пример использования render-функций Vue: создание типографской сетки для дизайн-системы В материале, перевод которого мы сегодня публикуем, речь пойдёт о том, как создать типографскую сетку для дизайн-системы с использованием render-функций Vue. Вот демонстрационная версия проекта, который мы будем здесь рассматривать. Здесь можно найти его код. Автор этого мат...

Кластерное хранилище для небольших web-кластеров на базе drbd+ocfs2 О чем мы расскажем: Как быстро развернуть общее хранилище для двух серверов на базе решений drbd+ocfs2. Для кого это будет полезно: Туториал станет полезен системным администраторам и всем, кто выбирает способ реализации хранилища или хотят попробовать решение. От каких р...

Что делают в офисе инженеры в Apple и Intel: профориентационный онлайн-курс современной микроэлектроники для школьников Недавно вышел бесплатный онлайн-курс в трех частях под названием «Как работают создатели умных наночипов» (1, 2, 3). Он предназначен для профориентации школьников и отличается максимальной конкретностью: вот так выглядит распределение работы в команде проектирования микросхе...

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

Туториал по Oracle Application Express. Обзор IDE Недавно я с удивлением обнаружил, что, оказывается, толковых туториалов по Oracle Application Express (он же APEX, он же апекс, но не путать с языком apex, который используется в Salesforce) в природе не существует. Это не самая распространенная технология, конечно, но, тем ...

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

gui приложение для задачи о ходе коня Это туториал по созданию интерактивного приложения для решения задачи о ходе коня на языках processing и p5.js Посмотреть саму программу можно здесь. Для управления «конём» используется метод mouseDragged(); пример программы, использующей этот метод здесь. Отмена хода осуще...

Как мы пересадили всю команду на другой язык за один день (на самом деле — нет) func main() { envs.UpdateDotenv() ctx := context_os.Context(context.Background()) res := resources.Get(ctx) ready := readiness.New() ready.AddProbe(func() { //add some initialization }) h := handlers.New(res) s := server.NewServer(ready) s.HandleFunc("/test", h.Tes...

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

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

Аппаратная кнопка "Пауза" в Marlin. Думаю, что многие обладатели экранов RepRapDiscount Smart Controller и аналогичных с кнопкой "Stop" ,  хотели найти ей более полезное применение, чем ввод контроллера в бесконечный цикл.Я решил назначить этой кнопке функцию "Пауза". Для этого открываем файл Marlin.cpp и...

DynamicData: Изменяющиеся коллекции, шаблон проектирования MVVM и реактивные расширения В феврале 2019 года состоялся релиз ReactiveUI 9  —  кроссплатформенного фреймворка для построения приложений с графическим пользовательским интерфейсом на платформе Microsoft .NET. ReactiveUI  — это инструмент для тесной интеграции реактивных расширений с шаблоном проектиро...

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

[Перевод] Создание игры Tower Defense в Unity: башни и стрельба по врагам [Первая и вторая части туториала] Размещаем на поле башни. Целимся во врагов при помощи физики. Отслеживаем их, пока это возможно. Стреляем в них лазерным лучом. Это третья часть серии туториалов о создании простой игры жанра tower defense. В ней рассмотрено создание баше...

[Перевод] Создание политики паролей в Linux И снова здравствуйте! Уже завтра начинаются занятия в новой группе курса «Администратор Linux», в связи с этим публикуем полезную статью по теме. В прошлом туториале мы рассказывали, как использовать pam_cracklib, чтобы усложнить пароли в системах Red Hat 6 или CentOS. В ...

[Перевод] Асинхронные Stream в C# 8 Функционал Async/Await появился в C# 5, чтобы улучшить скорость отклика пользовательского интерфейса и веб-доступ к ресурсам. Другими словами, асинхронные методы помогают разработчикам выполнять асинхронные операции, которые не блокируют потоки и возвращают один скалярный ре...

Лучшие программы для создания сторис в Instagram Если вы используете Instagram не первый день, то наверняка в курсе существования такой функции, как «истории». Это небольшие фото или видеоролики, которые хранятся 24 часа и доступны в специальном разделе. Однако если вы подписаны на топовых блогеров, то наверняка...

FYI: шаблоны документов FYI – платформа управления документами для компаний. Она предлагает набор из 612 шаблонов документов почти для всех направлений работы и развития.

Бэкдор и шифратор Buhtrap распространялись с помощью Яндекс.Директ Чтобы нацелить кибератаку на бухгалтеров, можно использовать рабочие документы, которые они ищут в сети. Примерно так в последние несколько месяцев действовала кибергруппа, распространяющая известные бэкдоры Buhtrap и RTM, а также шифраторы и ПО для кражи криптовалют. Больши...

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

[Из песочницы] Приложение на ТСД и связь с 1С: Предприятие 8.3 через HTTP-Сервис Для кого Выбор способа обмена. Описание API. Реализация API на стороне 1С. Android. Cтруктура приложения. BroadcastReceiver. Получаем данные ШК на примере АТОЛ Smart.Lite. Реализуем обмен и хранение данных. Используем Retrofit 2, Room, Coroutines. Пользовательский интерфейс...

[Из песочницы] BERT — state-of-the-art языковая модель для 104 языков. Туториал по запуску BERT локально и на Google Colab BERT — это нейронная сеть от Google, показавшая с большим отрывом state-of-the-art результаты на целом ряде задач. С помощью BERT можно создавать программы с ИИ для обработки естественного языка: отвечать на вопросы, заданные в произвольной форме, создавать чат-ботов, автом...

Facebook обновил инструмент для создания видеорекламы Video Creation Kit Facebook добавил новые функции в инструмент Video Creation Kit, который позволяет создавать мобильную видеорекламу из статичных изображений. Основные изменения: Возможность создать из одного видео несколько роликов с разным соотношением сторон для новостной ленты и Stories/ ...

Автоматизация управления Let's Encrypt SSL сертификатами используя DNS-01 challenge и AWS Пост описывает шаги для автоматизации управления SSL сертификатами от Let's Encrypt CA используя DNS-01 challenge и AWS. acme-dns-route53 — это инструмент, который позволит нам реализовать данную фичу. Он умеет работать с SSL сертификатами от Let's Encrypt, сохранять их в Am...

Рекомендательная система для Directum Club. Часть первая, коллаборативная Каждый день пользователи по всему миру получают большое количество различных рассылок — только через сервис MailChimp ежедневно рассылают миллиард писем. Из них открывают 20.81%. Ежемесячно пользователи наших сайтов получают рассылки с отобранными редактором материалами. Эти...

Синглтон размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4) В предыдущей статье Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора), был разобран вопрос о том, как расположить константные объекты в ROM. Теперь же я хочу рассказать, как можно использовать порождающий шаблон одиночка для создания ...

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

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

[Перевод] Использование UIViewPropertyAnimator для создание пользовательских анимаций Создание анимаций это здорово. Они являются важной частью iOS Human Interface Guidelines. Анимации помогают привлечь внимание пользователя к важным вещам или попросту делают приложение не таким скучным. Существует несколько способов реализовать анимацию в iOS. Вероятно, са...

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

Android Q будет поддерживать функцию 3D Touch Android Q будет изначально поддерживать функцию, называемую «глубокий пресс» или также известную как Force Touch или 3D Touch на языке iOS. Судя по всему, это будет именно то, чем называют - расширенная функциональность, связанная с чувствительным к давлению экраном. До с...

Контроллер-луковка. Разбиваем экраны на части В дизайне популярен atomic design и дизайн системы: это когда всё состоит из компонентов, от контролов до экранов. Программисту писать отдельные контролы несложно, но что делать с целыми экранами? Разберём на новогоднем примере: налепим всё в кучу; разделим на контроллеры: ...

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

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

[Перевод] Потоки Redis как чистая структура данных Новая структура данных Redis 5 под названием «потоки» (streams) вызвала живой интерес в сообществе. Как-нибудь я поговорю с теми, кто использует потоки в продакшне, и напишу об этом. Но сейчас хочу рассмотреть немного другую тему. Мне начинает казаться, что многие представля...

[Перевод] Что нового в Zabbix 4.4 Команда Zabbix с радостью сообщает о выходе Zabbix 4.4. Последняя версия поставляется с новым Zabbix агентом, написанным на языке Go, устанавливает стандарты для шаблонов Zabbix и предоставляет расширенные возможности визуализации. Давайте рассмотрим наиболее важные функц...

Система управления проектами по модели Open Core в госсекторе Продолжаем рассказывать вам об опенсорсных продуктам реализованных на JS фреймворке — IONDV. Framework. Сегодня поговорим о системе управления проектами, которая была одним из наших первых масштабных проектов и которую изначально мы реализовали для правительства Хабаровского...

[Перевод] Измените свой образ мышления, работая с SwiftUI На прошлой неделе я увидел, что сообщество пытается перенести наработаные шаблоны разработки c UIKit в SwiftUI. Но я уверен, что лучший способ написать эффективный код используя SwiftUI — это забыть все об UIKit и полностью изменить свое мышление с точки зрения разработки ...

[Из песочницы] Подписываемся на Kafka по HTTP или как упростить себе Веб-хуки Существует множество способов обработки сообщений из Pub-Sub систем: использование отдельного сервиса, выделение изолированного процесса, оркестрация пулом процессов/потоков, сложные IPC, Poll-over-Http и многие другие. Сегодня я хочу рассказать о том, как использовать Pub-S...

Microsoft представила облачную платформу для создания корпоративных токенов Корпорация Microsoft запустила платформу Azure Blockchain Tokens, призванную упростить предприятиям развертывание и управление токенами под различные задачи. Корпоративным клиентам предлагают набор шаблонов токенов с необходимыми свойствами, пояснил CoinDesk главный архитект...

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

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

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

Как выглядит и работает App Store на watchOS 6 Одно из главных новшеств watchOS 6 — появление собственного магазина приложений App Store. Фирменный каталог программ теперь доступен прямо на запястье — и для просмотра и загрузки приложений теперь вовсе не обязательно использовать iPhone. Конечно, Apple Watch ...

Готовое решение markdown2pdf с исходным кодом для Linux Предисловие Markdown это прекрасный способ написать небольшую статью, а иногда и достаточно объемный текст, с несложным форматированием в виде курсива и толстого шрифта. Также Markdown неплох для написания статей с включением исходного кода. Но иногда хочется без потерь, тан...

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

Погружение в Dokan. Как сделать свою файловую систему для Windows без FUSE Для подписчиковВ Linux, как известно, многие вещи реализованы как файлы в файловой системе. А если и не реализованы, то их можно реализовать самому при помощи FUSE. В Windows это менее принято, но если все же очень хочется смонтировать что-то как ФС, то это возможно. Я покаж...

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

Близкие контакты ADL-ной степени Как навсегда вписать своё имя в историю? Первыми слетать на Луну? Первым встретиться с инопланетным разумом? У нас есть способ проще — можно вписать себя в стандарт языка C++. Хороший пример показывает Эрик Ниблер — автор C++ Ranges. «Запомните это. 19 февраля 2019 года — д...

[Перевод] Семь неожиданных переменных Bash Продолжая серию заметок о менее известных функциях bash, покажу вам семь переменных, о которых вы могли не знать. 1) PROMPT_COMMAND Возможно, вы уже в курсе, как манипулировать приглашением prompt, чтобы показать различную полезную информацию, но не все знают, что каждый ра...

Новые функции Android Q: распознавание лиц, повышенная безопасность, даунгрейд приложений, более широкая настройка интерфейса Грядущая операционная система Android Q принесёт ряд новых функций и возможностей. Они порадуют как разработчиков, так и потребителей. Рассмотрим коротко те новинки, о которых стало известно на текущий момент. Начнём с того, что теперь в операционной системе будет реализован...

Архитектура нейронной сети для реализации алгоритма RL с возможностью задания одновременно выполняющихся действий Одна из классических схем нейронной сети для реализации алгоритма RL выглядит следующим образом: Где: inputs – входы в нейронную сеть; FC – (fully connected) архитектура скрытых слоев или CNN — FC – архитектура архитектура скрытых слоев (в зависимости о того, что подается ...

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

Dictionary — WordWeb 3.5 Dictionary WordWeb — бесплатный офлайн английский словарь и тезаурус с синонимами, близкими и родственными словами, с отличным поиском Поиском — и без рекламы!  Аудио произношения доступны с использованием отдельного ПЛАТНОГО приложения — WordWeb Audio Dictionary. Все...

Шаблоны в управлении Всем привет. Это очередной выпуск про управление клиентским опытом. (Р) — Роман Нохрин — Задает вопросы, (А) — Арсен Даллакян, управляющий партнер консалтинговой компании Russian Behavioral Unit — отвечает. (Р) Последние годы самые популярные слова — agile, CJM, фреймворк. ...

[Из песочницы] 9 альтернатив плохой команде (шаблону проектирования) Что это и зачем? При проектировании разработчик может столкнуться с проблемой: у существ и объектов могут быть разные способности в разных сочетаниях. Лягушки прыгают и плавают, утки плавают и летают, но не с гирей, а лягушки могут летать с веткой и утками. Поэтому удобно ...

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

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

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

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

Ozon и Почта Mail.ru первыми в России запустили интерактивную рассылку В основе интерактивных рассылок технология AMP (Accelerated mobile pages). В отличие от обычных сообщений, в AMP-письмах у пользователя есть возможность управлять полученным контентом и давать обратную связь отправителю. Для этого в интерактивные письма встраиваются виджеты,...

Рассекречено одно из отличий Android 11 Компания Google уже вовсю работает над следующей версией мобильной операционной системы Android 11. Об очередном отличии будущей платформы рассказали участники сообщества разработчиков XDA Developers.  В Android 11 компания, наконец, реализует давно ожидаемую мног...

Реализация паттерна Page Object на Python + pytest Когда я начинал изучать автоматизацию тестирования, не мог понять — “что такое Page Object и как его реализовать на Python + pytest?”. Штудируя интернет, нашел реализацию на других языках и фреймворках: обучающие статьи, которые были непонятны для меня. Поэтому решил написат...

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

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

Новые функции PowerPoint на основе искусственного интеллекта Искусственный интеллект в PowerPoint поможет сотрудникам:Быстрее находить идеи для оформления. Теперь после добавления ключевых слов на пустой шаблон презентации, "Конструктор" в Power Point будет предлагать подборку высококачественных фотографий, отражающих смысл ...

[Перевод] Структуры данных для программистов игр: bulk data Любому программисту будет полезно понимание различных структур данных и способов анализа их производительности. Но на практике мне ни разу не пригождались АВЛ-деревья, красно-чёрные деревья, префиксные деревья, списки с пропусками, и т.д. Некоторые структуры данных я исполь...

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

Блокчейн: что нам стоит PoC построить? Глаза боятся, а руки чешутся! В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализаци...

[Перевод] RxDart: магические трансформации потоков Добро пожаловать — это третья часть моей серии статей об архитектуре Flutter. Введение Основы Dart Streams RxDart: магические трансформации потоков (этот пост) Основы RxVMS: RxCommand и GetIt RxVMS: Службы и Менеджеры RxVMS: самодостаточные виджеты Аутентификация пользова...

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

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

«Основы программирования» набор на бесплатный курс с примерами на JavaScript Дорогие товарищи инженеры и будущие инженеры, сообщество Метархия открывает набор на бесплатный курс «Основы программирования», который будет доступен на youtube и github без всяких ограничений. Часть лекций уже записана в конце 2018 и начале 2019 года, а часть будет прочит...

SmartCard I2C Protocol. Обмен APDU командами через I2C интерфейс Введение Некоторое время назад я принимал участие в разработке устройства, в котором было необходимо реализовать российскую криптографию. Так как в дальнейшем предполагалось это решение сертифицировать, то к реализации криптографии выдвигались определенные требования. И как ...

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

[Из песочницы] Angular schematics, или как я писал свой шаблон для angular cli Здравствуйте, меня зовут Максим. Уже несколько лет я занимаюсь front-end разработкой. Мне часто приходится иметь дело с версткой различных html шаблонов. В своей повседневной работе я обычно пользуюсь сборщиком webpack c настроенным шаблонизатором pug, а также использую мето...

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

Clean Decomposition Об использовании чистой архитектуры в Android сказано предостаточно. На GitHub можно найти десятки шаблонов на разные вкусы: на Java или Kotlin, с Dagger2 или Koin, с Rx или с Coroutines. Но никто не говорит о том, как разбить определенный функционал при использовании «чисто...

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

[Перевод] Внутри Quake: определение видимых поверхностей Ветеран программирования трёхмерной графики Майкл Абраш на примере разработки первого Quake рассказывает о необходимости творческого мышления в программировании. Много лет назад я работал в теперь уже не существующей компании-производителе видеоадаптеров Video Seven. Там я...

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

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

Telegram. Безлимитный сетевой диск. Бесплатный Привет, Хабр. Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа. TgCloud: Виртуальная файловая система с открытым исходным г****кодом. На локальном...

[Перевод] Доступное объяснение алгоритма коллапса волновой функции Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные. (Источник) Чаще всего он используется для создания изображений, но ...

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

Концепт дня: впечатляющий гибридный Mac-iPad с огромным складным экраном Команда Luna Display, решения для превращения iPad в дополнительный монитор для Mac, опубликовала интересный концепт. Он демонстрирует, как может выглядеть гибридный складной Mac-iPad.  Выглядит концепт впечатляюще. Идея была реализована промышленным дизайнером Фе...

Xiaomi выпустила Mint Keyboard с искусственным интеллектом Смартфоны Xiaomi и Redmi поставляются с фирменной оболочкой MIUI, которая устанавливается поверх Android и имеет собственное приложение-клавиатуру. Но Xiaomi решила предложить больше вариантов набора текста и выпустила приложение Mint Keyboard с искусственным интеллектом. Но...

[Из песочницы] Openshift — красношляпые поделки OpenShift Развертка Openshift. Конфигурация после установки. Создание и подключение PV. Создание и разворачивание проекта Red Hat Decision Manager (enterprise аналог kie-workbench). Создание и разворачивание проектов AMQ (red hat active mq) и postgressql c использованием п...

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

VivaVideo 7.6.8 VivaVideo — редактор видео с удобным пользовательским интерфейсом и множеством функций. Приложение использует более 400 миллионов пользователей для создания видеороликов и слайд-шоу из фотографий. Превращайте ежедневные моменты своей жизни в уникальные видеоролики и делитесь...

Что делать, если открыл сотню сайтов и надо ещё. Google сделает браузер Chrome намного удобнее Компания Google продолжает работу над функцией групп вкладок в своём браузере Chrome, которая позволяет лучше организовывать вкладки.  Группы вкладок доступны в текущей сборке Chrome под номером 77, но функция реализована пока не слишком удобно. Пользователи не мо...

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

[Перевод] Новшества JavaScript: итоги Google I/O 2019. Часть 1 Материал, первую часть перевода которого мы сегодня публикуем, посвящён новым стандартным возможностям JavaScript, о которых шла речь на конференции Google I/O 2019. В частности, здесь мы поговорим о регулярных выражениях, о полях классов, о работе со строками. Ретроспект...

Xiaomi выпустила клавиатуру Mint с искусственным интеллектом Смартфоны Xiaomi и Redmi поставляются с фирменной оболочкой MIUI, которая устанавливается поверх Android и имеет собственное приложение-клавиатуру. Но Xiaomi решила предложить больше вариантов набора текста и выпустила приложение Mint Keyboard с искусственным интеллектом. Но...

Google отложила релиз одного из нововведений Android Q Одним из нововведений Android Q должна была стать функция Scoped Storage. Она создавала индивидуальное пространство на диске для каждого приложения в отдельности, позволяя им использовать доступную память, не посягая на отделы, которые принадлежат другому ПО. Таким образом ...

Что нам стоит IoT построить? Свой IoT на Amazon за один день Начать разбираться с IoT (Internet of Things) платформами меня останавливало отсутствие IoT устройства, которое было бы совместимо по протоколам и способам доступа. Но когда я понял, что в качестве устройства можно использовать обыкновенный смартфон, то реализация работающей...

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

[Перевод] Современная игра для NES, написанная на Lisp-подобном языке What Remains — это повествовательная игра-адвенчура для 8-битной видеоигровой консоли NES, выпущенная в марте 2019 года как бесплатный ROM, запускаемый в эмуляторе. Она создавалась небольшой командой Iodine Dynamics на протяжении двух лет с перерывами. В настоящий момент игр...

Быстросъемные инструменты для 3D принтера Иногда возникает ситуация, когда требуется заменить хотэнд. Например если сопло забилось, а нужно срочно продолжать печать, или потребовался для печати другой диаметр сопла/тип экструдера. Был выбран вариант реализации быстрой замены всего узла с инструментом принтера.  ...

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

[Перевод] Большой 7-сегментный дисплей c неоновым свечением на ESP8266 Мне нужно было сделать для работы электронный дисплей большого размера с функцией секундомера и неоновым свечением. Для управления был выбран чип ESP8266, в котором реализованы и функция часов, и секундомер. Чтобы получить неоновое свечение я применил цилиндры термоклея...

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

И никаких очередей. «Почта России» научилась принимать онлайн-платежи «Почта России» запустила сервис по оплате мобильной связи, ЖКХ и других услуг, также позволяющий совершать переводы с карты на карту. Об этом сообщила пресс-служба компании. Портал finance.pochta.ru позволяет оплачивать услуги с помощью карт националь...

6 скрытых функций историй в Instagram, о которых вы не знали Instagram на сегодняшний день — это одна из самых популярных социальных сетей. Она постоянно обрастает новыми и новыми функциями. Уже довольно давно в Instagram появились истории (или сторис), которые можно публиковать в специальной ленте и они будут доступны вашим по...

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

Простая реализация небольших CAM на ПЛИС Введение Как-то раз мне потребовалось по работе реализовать небольшой блок ассоциативной памяти. Почитав, как это делается у Xilinx на BlockRAM (BRAM) или на SRL16, я несколько опечалился, так как их реализации занимали довольно много места. Решил попробовать сделать его сам...

Кастомизация Repetier: добавляем физические кнопки для управления принтером Нравится мне repetier за относительно простую кастомизацию прошивки. Но почему-то сложилось так, что на repetier тяжелее найти какую-либо информацию из-за не слишком большой популярности. В основном все предпочитают пользоваться Марлином. Да и сообщества у Marlin побольше бу...

Трансформация кода в Android 2. Анализ AST Первая часть Пример на Github В этой статье расскажу о том, как решал проблемы, с которыми столкнулся в предыдущей части при реализации проекта. Во-первых, при анализе трансформируемого класса, нужно как-то понять, является ли этот класс наследником Activity или Fragment...

[Перевод] Дженерики в TypeScript: разбираемся вместе Всем привет! Команда TestMace публикует очередной перевод статьи из мира web-разработки. На этот раз для новичков! Приятного чтения. Развеем пелену таинственности и недопонимания над синтаксисом <T> и наконец подружимся с ним Наверное, только матёрые разработчики Java...

WordPress представила функцию платной подписки на контент CMS-платформа WordPress объявила о запуске новой функции Reccuring Payments, которая позволяет реализовать на сайте платную подписку на контент. Новая функция доступна для издателей, использующих WordPress на платной основе, а также для WP-сайтов с собственным хостингом, кот...

[Перевод] Кеширование в Laravel: основы плюс tips&tricks Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содер...

Возможности языка Q и KDB+ на примере сервиса реального времени О том, что такое база KDB+, язык программирования Q, какие у них есть сильные и слабые стороны, можно прочитать в моей предыдущей статье и кратко во введении. В статье же мы реализуем на Q сервис, который будет обрабатывать входящий поток данных и высчитывать поминутно разли...

AMP HTML теперь поддерживает функцию автозаполнения Разработчики AMP добавили в формат AMP HTML поддержку функции автозаполнения. Теперь ускоренные мобильные страницы будут более точно отражать поведение обычных HTML-страниц. Функцию автозаполнения можно будет использовать на страницах поиска и форм, чтобы ускорить время выпо...

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

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

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

[Из песочницы] Пример реализации Continuous Integration с помощью BuildBot (Image by Computerizer from Pixabay) Привет! Меня зовут Евгений Черкин, я программист команды разработчиков в горнодобывающей компании Polymetal. Приступая к любому крупному проекту начинаешь задумываться: «Какой же софт лучше использовать для его обслуживания?». IT-пр...

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

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

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

[Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной с...

[Перевод] Пространство генерации и пространство возможностей В этом туториале я расскажу о двух терминах, которые используются мной для описания процедурных генераторов: пространство генерации (generative space) и пространство возможностей (possibility space). Мы дадим определения этим двум терминам, а затем рассмотрим интерактивные п...

Профессиональный фотоколлаж от компании AMS Многие фотографы и просто любители красивых снимков по достоинству оценили качество и функционал программы ФотоКОЛЛАЖ от компании AMS. Эта компания является лидером по созданию программного обеспечения разного направления. Продукция этого бренда пользуется большим спросом и ...

Google Ads обновил шаблон для объявлений только с номером телефона Google Ads изменил шаблон для объявлений только с номером телефона (call-only ads). Обновление призвано улучшить пользовательский опыт и помочь компаниям получить более качественные звонки. В новом шаблоне название компании и заголовок объявления расположены прямо под номеро...

Обновление плагина «Лейка 3.1»: новый шаблон «Стар» с рекуррентными пожертвованиями Теплица социальных технологий обновила плагин «Онлайн-лейка» до версии 3.1. Появился новый шаблон «Стар», который оптимизирован специально под рекуррентные пожертвования. Задача плагина «Лейка» – упростить и усовершенствовать сбор пожертвований н...

20 полезных шаблонов «Google Таблиц» на все случаи жизни Для любителей всё держать под контролем.

GOSINT — open source решение для управления индикаторами компрометации (IoC) Одной из горячих тем в кибербезопасности в последнее время стали SOCи (Security Operations Center), которые не очень удачно переводят на русский язык как «центры мониторинга безопасности», умаляя тем самым одну из важных функций SOC, связанную с реагированием на инциденты ИБ...

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

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

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

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

Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...

Swift under the hood: Generic implementation Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docsКаждый, кто писал на ...

[Перевод] Физика игрового торнадо: как реализована аэродинамика в Just Cause 4 (трафик) Жак Кернер — старший инженер-разработчик ПО в Avalanche Studios. Как будто раньше игра была недостаточно безумной Введение Серия игр Just Cause и Avalanche Studios известны своей технологией открытого мира, обеспечивающего разнообразный и увлекательный игровой процесс. В ...

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

Вице-президент Oppo сомневается в точности DxOMark Сегодня вице-президент OPPO Шен Ирен поставил под сомнение достоверность данных DxOMark. Согласно его посту в Weibo, он считает, что сенсоры мобильных камер нет смысла настраивать таким образом, чтобы он набирал больше баллов в бенчмарке. Он написал: «Вам действительно нуже...

Микрофон HyperX QuadCast USB для идеальной потоковой передачи игр за $ 140 HyperX недавно вышел на сцену со своим самым первым микрофоном - HyperX QuadCast для PlayStation 4 и ПК. Микрофон оснащен четырьмя шаблонами полярности, регулировкой усиления, встроенным поп-фильтром и простой функцией приглушения звука: при ее активации отключаетс...

[Перевод] Пространственные манипуляции в 2D с помощью Signed Distance Fields При работе с полигональными ассетами можно отрисовывать только по одному объекту за раз (если не учитывать такие приёмы, как batching и instancing), но если использовать поля расстояний со знаком (signed distance fields, SDF), то мы не этим не ограничены. Если две позиции им...

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

Организация работы интернет-магазина с помощью Woocommerce-шаблона Заработок с помощью интернет-магазина – это очень популярное направление коммерческой деятельности. Если правильно решить организационные вопросы, то можно получить хороший бизнес. При выборе вида товаров рекомендуется останавливаться на понятной предпринимателю продукции. Э...

Facebook запустил настраиваемые шаблоны для рекламных «историй» Facebook представил новые настраиваемые шаблоны для рекламных Stories, которые можно использовать в самой соцсети, Instagram и Messenger. Новые шаблоны позволяют адаптировать существующие креативы под формат «историй» с минимальными усилиями. Чтобы воспользоваться новой функ...

[Из песочницы] Friendly Open Space JS: Рендеринг на стороне клиента и создание враппера «Friendly Open Space» — очень молодой фреймворк, но бегать уже умеет :-) В данной статье по освоению «Friendly Open Space», мы освоим рендеринг шаблона в браузере и запуск приложения на локальной файловой БД. Ядро фреймворка поддерживает два типа сборки шаблона на клиенте: ...

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

Книга «Spring. Все паттерны проектирования» Привет, Хаброжители! Мы издали книгу в которой дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассм...

[Перевод] PostgreSQL 11: Эволюция секционирования от Postgres 9.6 до Postgres 11 Отличной всем пятницы! Все меньше времени остается до запуска курса «Реляционные СУБД», поэтому сегодня делимся переводом еще одного полезного материала по теме. В процессе разработки PostgreSQL 11 была проделана впечатляющая работа по улучшению секционирования таблиц. Секц...

[Из песочницы] Реализация свободного перемещения частиц на ReactJS Приветствую! Хочу вам показать один из способов, как реализовать свободное перемещение частиц в указанном диапазоне. Для выполнения этой задачи я буду использовать ReactJS. Но сам алгоритм все равно будет общим, и вы можете его использовать где угодно. Читать далее

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

[Из песочницы] Дружим часы реального времени PCF8563 с Arduino по I2C Привет, Хабр. Довелось мне использовать RTC на микросхеме PCF 8563 по I2C.Так как нормальных функции для более удобной работы с Arduino я не нашел, пришлось работать напрямую через I2C. В Англоязычном интернете нашел толковый туториал с подробным описанием процесса. Данная с...

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

[Перевод] SVG фильтры 101 Это первая статья в серии об SVG фильтрах. Это руководство поможет понять, что это такое, и покажет, как использовать их для создания собственных визуальных эффектов. CSS в настоящее время предоставляет нам способ применения цветовых эффектов к изображениям, таких как насыщ...

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

Распознавание текста с помощью OCR Tesseract — это движок оптического распознавания символов (OCR) с открытым исходным кодом, является самой популярной и качественной OCR-библиотекой. OCR использует нейронные сети для поиска и распознавания текста на изображениях. Tesseract ищет шаблоны в пикселях, буквах, сл...

Внедрение платформы объединенных коммуникаций на ПАО «КОКС» ПАО «Кокс» завершило ввод в эксплуатацию системы объединенных коммуникаций на платформе Microsoft Office 365. Разработка, проектирование и реализация …

[Перевод] Теория вместо эвристики: становимся лучше как frontend-разработчики Перевод Becoming a better front-end developer using fundamentals instead of heuristics Наш опыт показывает, что не имеющие технического образования разработчики и самоучки чаще полагаются не на теоретические принципы, а на эвристические методы. Эвристика — шаблоны и пров...

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

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

Технокастет Tap Strap совмещает в себе клавиатуру и мышку Один из перспективных гаджетов прошлого года, необычный инструмент ввода данных Tap Strap, получил закономерное развитие. На этой неделе разработчики представили модель Tap Strap 2, которая обзавелась полезной опцией «воздушной мышки». Это значит, что больше не нужно барабан...

Facebook отключит Account Kit в марте 2020 года Facebook сообщил о предстоящем отключении Account Kit – инструмента для разработчиков, который позволял реализовать в приложениях быстрый вход по номеру телефона или email без ввода пароля. Доступ к Account Kit для новых приложений был закрыт 9 сентября. Для тех разработчико...

Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность Привет, Хабр! Сегодня мы начнём говорить на очень важную тему — функциональное программирование. Значение ФП в современной веб-разработке трудно переоценить. Архитектура любого крупного современного проекта включает в себя пользовательские библиотеки функций и на собеседов...

[Перевод] Thinking with Portals: создаём порталы в Unreal Engine 4 В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную. Что такое портал? Давайте начнём с примеров и объяснения...

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

В Подмосковье построят цифровой мегакластер Как сообщают в Schneider Electric, церемония подписания соглашения состоялась 17 июля 2019 года. В цемонии приняли участие Владимир Мазур, генеральный директор ООО "ИСТРАДИДЖИТАЛ" и Роман Шмаков, вице-президент подразделения SecurePower компании Schneider Electric ...

PhpStorm 2019.1: Отладка шаблонов Twig и Blade, поиск мертвого кода, улучшенное автодополнение, и многое другое Мы рады представить вам первый мажорный релиз PhpStorm в этом году! Обзор релиза можно посмотреть на странице “What’s new”. А под катом дополненный перевод этой страницы с демонстрацией наиболее интересных новых возможностей. Читать дальше →

[Перевод] Создание игры для SEGA Mega Drive/Genesis в 2019 году Даже сегодня люди по-прежнему продолжают создавать новые игры для старых консолей. Мы называем их «homebrew». Иногда это способ реализовать детскую мечту о создании игры для консоли, на которой играл ребёнком. Но кроме того это ещё и интересная задача для любого дизайнера и...

[Перевод] Краткое введение в Kustomize Прим. перев.: Статью написал Scott Lowe — инженер с большим стажем в ИТ, являющийся автором/соавтором семи печатных книг (преимущественно по VMware vSphere). Сейчас он работает в её дочерней организации VMware — Heptio (поглощена в 2016 году), специализируясь на облачных выч...

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

Атака на приложение. Используем Xposed, чтобы обойти SSLPinning на Android Для подписчиковЕсть разные подходы к анализу защищенности приложений, но рано или поздно все упирается в изучение взаимодействия программы с API. Именно этот этап дает больше всего информации о работе приложения, об используемых функциях и собираемых данных. Но что, если при...

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

[Перевод] Создание игры Tower Defense в Unity: сценарии и волны врагов [Первая, вторая, третья и четвёртая части туториала] Поддержка врагов малого, среднего и крупного размеров. Создание игровых сценариев со множественными волнами врагов. Разделение конфигурации ассетов и геймплейного состояния. Запуск, пауза, победа, поражение и ускорение и...

В конструкторе Директа появились новые шаблоны турбо-страниц В конструкторе Директа появились девять новых шаблонов турбо-страниц для разных типов бизнеса. Готовая структура шаблонов учитывает специфику определенных сфер — от услуг ремонта техники до продажи квартир. В шаблонах достаточно заменить те...

Завершающий курс специализации по Python от Mail.ru Group Python — простой и гибкий язык, применяемый во многих областях современной разработки. На нём создают веб-приложения, пишут игры, анализируют данные и выполняют многие другие задачи. Mail.ru Group запустила на платформе Coursera специализацию «Программирование на Python», ...

TDE в Apache Ignite: история major feature в большом open source проекте Многим организациям, в особенности финансовым, приходится иметь дело с различным стандартами безопасности — например, с PCI DSS. Такие сертификации требуют шифрования данных. Прозрачное шифрование данных на диске Transparent Data Encryption реализовано во многих промышленных...

FunTech iOS-meetup #1 Приглашаем вас на первый FunTech iOS-meetup, который пройдёт 23-го марта в Москве. Программа «Крутим RunLoop. Как устроена лента ВКонтакте», VK.com, Александр Терентьев В своём докладе Александр расскажет о том, с какими задачами и проблемами при реализации сложных колле...

Как устроен фреймворк tiOPF для delphi/lazarus. Шаблон «Посетитель» От переводчика Есть две причины, по которым я взялся перевести несколько материалов по разработанному двадцать лет назад для не самой популярной ныне среды программирования фреймворку: 1. Несколько лет назад я, познав многие прелести работы с Entity Framework как ORM для пл...

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

Как сделать скриншот на Galaxy S10 Процесс создания скриншотов довольно прост, а причины для их создания бывают самые разные. Так, например, чтобы сохранить какую-нибудь публикацию из Instagram или Twitter для последующей ее публикации в Facebook, нужно сделать скриншот. Полезным это может оказаться и тогда,...

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

Беты Apple живьем: мелочи, о которых не рассказали на презентации Официально новые версии операционных систем Apple появятся только через несколько месяцев, но бета-версии можно «пощупать» уже сейчас. Для этого нужен аккаунт разработчика, компьютер с iTunes, Xcode 11 beta и файлы прошивок: iOS 13, iPad OS 13, TV OS 13, Watch OS 6 и MacOS 1...

Принципы построения систем потоковой аналитики Проектирование систем потоковой аналитики и потоковой обработки данных имеет свои нюансы, свои проблемы и свой технологический стек. Об этом мы поговорили в очередном открытом уроке, прошедшим накануне запуска курса «Data Engineer». На вебинаре обсудили: когда нужна пот...

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

[Перевод] Функциональный JavaScript: что такое функции высшего порядка и зачем они нужны? «Функции высшего порядка» — это одна из тех фраз, которыми часто разбрасываются. Но редко кто может остановиться и объяснить, что это такое. Возможно, вы уже знаете, что называют функциями высшего порядка. Но как мы используем их в реальных проектах? Когда и почему они быва...

Революционная камера Samsung Galaxy S11 скопирует технологию Deep Fusion у iPhone 11 Pro Известный сетевой информатор под ником Ice Universe, который часто делится эксклюзивной информацией о новинках мобильной индустрии, затронул тему функции Deep Fusion в новом смартфоне iPhone 11 Pro. Напомним, после выхода смартфона Apple обещает выпустить обновление, ко...

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

Новый сервис Apple News+ страдает от ряда проблем, которые компания пока не спешит решать В прошлом месяце Apple представила сервис News+, предоставляющий доступ к цифровым версиям 300 различных изданий всего за 10 долларов в месяц. Предполагают, что покупка Texture, на основе которого и был создан данный сервис, обошлась Apple почти в 500 млн долларов. Как...

[Из песочницы] Взаимодействие с Asterisk сервером из Java-приложения Взаимодействие с сервером Asterisk из java-приложения через Asterisk Managment Interface (AMI) Если вы только начинаете исследования в этой области, то взаимодействие с данным сервером может показаться вам несколько запутанным, как когда-то показалось мне. Чтобы не искать ...

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

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

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

Анонсирована мобильная стратегия по известной франшизе Stellaris: Galaxy Command Студия Paradox Interactive анонсировала мобильную стратегию по известной франшизе Stellaris: Galaxy Command. Авторы обещают огромную вселенную, на которую смогут прямо влиять пользователи. Так, карта будет меняться в зависимости от того, как игроки объединяются, торгуют и в...

Симо Охава проведет бесплатный вебинар по пользовательским шаблонам в GTM Начало 10 сентября в 20.00

Первый взгляд на мастера настройки потоковой передачи игр Project xCloud на Xbox One Компания Microsoft продолжает работу над сервисом потоковой передачи игр Project xCloud, который будет выпущен в двух вариантах. В первом случае xCloud будет позволять транслировать игры напрямую с серверов Microsoft, предоставляя вам возможность игры практически в любой то...

[Из песочницы] Система генерации ландшафта лабиринта с улучшенным визуальным реализмом [перевод статьи Jinmo Kim] Привет, Хабр! В этой публикации я расскажу о статье автора Jinmo Kim: "Maze Terrain Authoring System in Immersive Virtual Reality for New Visual Realism". Она была опубликована 4.04.2019. Полный текст статьи можно посмотреть здесь. Краткое описание системы В стать...

Чем Windows 10X отличается от Windows 10? В Windows 10X реализована модульная структура Windows с со специальной надстройкой интерфейса, рассчитанной на сенсорный ввод и использование в устройствах с двумя экранами.

[Перевод] Serverless CI/CD на AWS Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к ...

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

Вред макросов для C++ кода Язык C++ открывает обширные возможности для того, чтобы обходиться без макросов. Так давайте попробуем использовать макросы как можно реже! Сразу оговорюсь, что я не являюсь фанатиком и не призываю отказываться от макросов из идеалистических соображений. Например, когда р...

[Перевод] Создание игры Tower Defense в Unity: баллистика [Первая, вторая и третья части туториала] Поддержка разных типов башен. Создание башни-мортиры. Вычисление параболических траекторий. Запуск взрывающихся снарядов. Это четвёртая часть туториала, посвящённого созданию простой игры в жанре tower defense. В ней мы добавим ба...

Dependency Injection, JavaScript и ES6-модули Ещё одна имплементация Dependency Injection в JavaScript — с ES6-модулями, с возможностью использовать один и тот же код в браузере, и в nodejs и не использовать транспиляторы. Под катом — мой взгляд на DI, его место в современных web-приложениях, принципиальная реализация...

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

Рекламные ролики сумерзума и 3D-моделирования Huawei P30 Pro Компания Huawei проводит активную маркетинговую кампанию своего флагманского камерофона Huawei P30 Pro, не сопровождая опубликованные видеоролики каким-либо комментариями, однако они говорят сами за себя. Первый видеоролик подтверждает, что смартфон будет оснащен камер...

[Перевод] Процедурные дороги в Houdini и Unity Для моей постапокалиптической игры Frameshift мне нужно было заполнить очень большой открытый мир разнообразными городами. В нашей команде всего 3 человека, поэтому я, разумеется, воспользовался процедурной мощью Houdini! Раньше, когда не знал о Houdini, я писал на C# соб...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Создаём Azure DevOps extension У нас есть проект с настроенным CI/CD-процессом. Когда разработчик заканчивает задачу и вливает свои изменения в develop\qa, автоматически запускается билд, который выкладывает новую версию приложения на тестовую среду. В идеальном мире тестировщик автоматически узнаёт о зад...

OpenSceneGraph: Процедурная анимация геометрии и атрибутов состояния Введение Говоря о приемах программирования, специфичных для OSG в прошлый раз мы говорили о механизме обратных вызовов (Callback) и его реализации в движке. Настало время посмотреть на то, какие возможности дает нам применение этого механизма для управления содержимым трехм...

Функции современных смартфонов, которые так и не появились в iPhone 11 / iPhone 11 Pro Когда речь заходит о выходе нового iPhone, многие пользователи задают одни и те же вопросы: «Добавила ли Apple, наконец, «эту» функцию?». В iPhone 11 и iPhone 11 Pro производитель реализовал некоторые ожидаемые функции, например, сверхширокоугольную камеру и новый ночной реж...

Печать стоматологических изделий SLA Печать стоматологических изделий из фотополимера по технологии SLA на принтере Formlabs Form 2. В наше время нет необходимости использовать гипс и различные эластичные полимеры для создания слепка зубов. Аддитивные технологии помогут быстро и недорого создать мастер-модели, ...

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

[Из песочницы] Опыт разработки ассета Unity для поиска пути в 3D пространстве Вас приветствует команда «Graceful Algorithms»! В качестве эксперимента нами было принято решение вести «дневники» разработчиков, в которых мы будем делиться опытом и освещать некоторые интересные результаты проводимых нами экспериментов. Это наша дебютная статья по проект...

[Из песочницы] Как не надо писать шаблоны для bootstrap Мало кто сейчас пишет дизайн сайта с нуля — зачем, если есть куча замечательных CSS фреймворков? Наиболее популярен среди них bootstrap. Тем не менее, всем хочется, чтобы сайт выглядел уникально, не так как у других — поэтому поверх часто втыкают(в меру возможностей) бесплат...

[Перевод] Управление памятью в Python Задумывались ли вы когда-нибудь о том, как данные, с которыми вы работаете, выглядят в недрах Python? О том, как переменные создаются и хранятся в памяти? О том, как и когда они удаляются? Материал, перевод которого мы публикуем, посвящён исследованиям глубин Python, в ходе ...

12 расширений для «Google Презентаций», которые помогут создавать красивые и информативные слайды Гифки, математические формулы, ноты, разные шаблоны и картинки на любой вкус.

Как быстро написать веб-сайт или веб-приложение и не увязнуть в сборщиках Это маленькое руководство описывает создание реактивного веб-приложения используя отрисовку на стороне сервера (Server-Side Rendering, SSR). Клиентская часть являет собой полноценное Vue-приложение, в моём случае используя шаблон MVVM. Серверное приложение работает на микроф...

Лаунчер Pocophone F1 поделится с MIUI 11 самым лучшим Слух о том, что в MIUI появится возможность сортировки приложений по типу той, что применяется в лаунчере Pocophone F1, подтвердился. На скриншотах ниже видно, что такая функция уже реализована в MIUI – судя по всему, версии для разработчиков. В лаунчере будет р...

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

Универсальная PRTG. Мониторим процессор, камеры видеонаблюдения и Active Directory Продолжаем серию материалов о простой и гибкой системе мониторинга PRTG. В прошлый раз речь шла о возможностях PRTG в целом. На этот раз остановимся на создании сенсоров. В базе PRTG — 200 готовых сенсоров и 100 шаблонов для создания новых. В этой статье расскажем, как работ...

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

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

Внедрение СЭД ТЕЗИС в ЦАЭК СЭД ТЕЗИС внедрена в АО «ЦАЭК», проект охватил 13 организаций холдинга. Автоматизированы процессы подключения к электросетям и закупа товаров, проведена интеграция с АСУПФиА Ellipse и 1С УПП КАДРЫ, а также унификация шаблонов документов.

Разработка монолитной Unix подобной OS — Куча (4) В предыдущей статье мы с вами реализовали системный журнал ядра. Теперь пришло время реализовать менеджер динамической памяти. Читать дальше →

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

Смартфоны Xiaomi Mi 9 и Redmi Note 7 получили обновление с новым принципом Face Unlock Смартфоны Xiaomi Mi 9 и Redmi Note 7 начали получать обновление прошивки MIUI, которое добавляет новую функцию разблокировки по лицу Face Unlock.  Теперь после успешной разблокировки по лицу смартфон не переходит на рабочий стол, а остаётся на экране блокировки, к...

Мой способ создания мастер-компонентов в Фигме Заметил, что многие продуктовые дизайнеры задаются вопросом «Как организовывать разные состояния компонентов?». Весь дизайнерский мир делится на 2 части. Первые делают один компонент, в котором несколько папок для всех состояний. Вторые делают для каждого состояния элемента ...

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

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

Книга «Kotlin. Программирование для профессионалов» Привет, Хаброжители! Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использо...

[Перевод] Как разработчики процедурно создали кучу «мусорных» мобильных игр и заработали 50 тысяч долларов Два инди-разработчика рассказывают, как использовали автоматизацию, один аккаунт Google Play и единственный шаблон игры про слот-машины для создания и публикации более тысячи приложений. На проводимой в этом году Game Developers Conference выступили два разработчика игр, с...

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

Некоммерческим организациям помогут настроить e-mail-маркетинг Email-маркетинг – это больше, чем просто рассылки. Выстраивание грамотной стратегии коммуникации требует основательного подхода. Этому и учатся студенты UniSender, которые готовы взяться за проекты НКО в качестве прохождения практики. Принцип win win в действии! Для ваше...

Строительные блоки распределенных приложений. Второе приближение Анонс Коллеги, в середине лета я планирую выпустить еще один цикл статей по проектированию систем массового обслуживания: “Эксперимент VTrade” — попытка написать фреймворк для торговых систем. В цикле будет разобрана теория и практика построения биржи, аукциона и магазина. В...

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

HTML-шаблоны на русском: бери и делай Люди хотят русских шаблонов. Их есть у TemplateMonster.

PHP Xdebug proxy: когда стандартных возможностей Xdebug не хватает Для отладки PHP-программ часто используют Xdebug. Однако стандартных возможностей IDE и Xdebug не всегда достаточно. Часть проблем можно решить с помощью Xdebug proxy — pydbgpproxy, но всё же не все. Поэтому я реализовал PHP Xdebug proxy на базе асинхронного фреймворка amph...

Способы применения и искажения меткости в играх. Наглядные графики для сравнения Вычислять факт попадания в играх на основе полученной меткости можно по разному: — сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]); — сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел; — сравнивая среднее из двух и б...

Как отправить голосовое сообщение с Apple Watch В Apple Watch можно легко создавать и пересылать сообщения, используя функцию «Диктовка», которая преобразует речь в текст. Однако иногда намного проще отправить через iMessage голосовую запись, и далее мы расскажем, как это сделать. Ранее при использовании голосового ввода ...

15 маст-хэв функций для e-commerce сайтов Какие функции должны быть обязательно реализованы на e-commerce сайте, чтобы привлекать покупателей сегодня. Сообщение 15 маст-хэв функций для e-commerce сайтов появились сначала на Searchengines.ru.

Aitarget запустил инструмент автоматического создания рекламных роликов для YouTube Aitarget запустил новый инструмент, который позволяет создавать видеообъявления по шаблону и автоматически запускать их на YouTube. Технология экономит время и ресурсы рекламодателей, доступна для бизнеса любого размера и требует минимальных креативных затрат.

One++ Calculator 1.7.4 Возможно, самый быстрый калькулятор для Android! функции: ★ 243 Пункты меню в общей сложности более 1000+ формулы ★ 5 цвет ассорти категории: день Math Конвертер физика и экономика ★ 5 Материал Темы: темное, светлое, черный, прозрачный, серый ★ 7 Меню представлени...

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

Фоторедактор Quickshot подписал контракт с блогером, которая с помощью сервиса добавляла одинаковые облака на фотографии Тупи Саравия привлекла внимание, используя шаблон Quickshot для редактирования снимков в Instagram.

Операторы связи проведут учения по отключению России от Интернета Как пишет РБК, в рабочую группу входят «МегаФон», «ВымпелКом» (бренд «Билайн»), МТС, «Ростелеком» и другие, возглавляет ее президент компании InfoWatch (занимается вопросами кибербезопасности) Наталья Касперская.Наталья Касперская подтвердила, что на заседании рабочей группы...

Vivado: Picasso mode Аннотация Безумию все возрасты покорны При проектировании каких-либо модулей на ПЛИС невольно иногда приходит в голову мысль о не совсем стандартном использовании самой среды проектирования и инструментов, которые она предоставляет для проектирования. В этой небольшой заметк...

В Viber теперь тоже можно создавать собственные стикеры Мобильная версия мессенджера Viber получила обновление, которое содержит новую функцию под названием Create a Sticker. Собственно, из названия понятно, что именно это за функция: она позволяет создавать собственные стикеры. При этом ими сразу можно делиться посредством ...

Разработка команды запроса данных из базы — часть 2 В предыдущей части я остановился на том, что разрабатываемая мной команда реализует поведение, которое можно описать вот таким тестом: it('execute should return promise', () => { request.configure(options); request.execute().then((result) => { expect(result....

[Перевод] Полное руководство по Flexbox Полное руководство по CSS flexbox. Это полное руководство объясняет все о flexbox, сосредотачиваясь на всех возможных свойствах для родительского элемента (контейнер flex) и дочерних элементов (элементы flex). Оно также включает в себя историю, демонстрации, шаблоны и таблиц...

LuaVela: реализация Lua 5.1, основанная на LuaJIT 2.0 Некоторое время назад мы анонсировали публичный релиз и открыли под лицензией MIT исходный код LuaVela – реализации Lua 5.1, основанной на LuaJIT 2.0. Мы начали работать над ним в 2015 году, и к началу 2017 года его использовали в более чем 95% проектов компании. Сейчас хоче...

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

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

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

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

[Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-...

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

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

В Android Q появится полноценная тёмная тема Впервые серьезно о темной теме заговорили с выходом Android P. В обновлении компания должна была реализовать полноценную system-wide темную тему, однако из-за недопонимания с командой AOSP реализовать задумку не удалось. В настоящее время Android поддерживает темную тему то...

5 способов сделать Python-сервер на Raspberry Pi. Часть 2 Привет Хабр. Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, ...

Приложение “Сообщения” от Google получило спам-фильтр Надоели многочисленные спам-сообщения с различных номеров? Тогда стоит обратить внимание на приложение “Сообщения” от Google. На днях компания выпустила для него существенное обновление, которое добавляет спам-фильтр.Google против спамаК слову, о предстоящей функ...

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

F#3: Форматирование текста При работе с любым языком вам, скорее всего, нужно будет отформатировать текст, и F# ничем не отличается. Поскольку F# является языком .NET, мы всегда можем использовать Console.WriteLine (..) и String.Format (..), где мы можем использовать любой из обычных форматеров, кото...

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

[Перевод] CSS Subgrid новости Несколько недель назад, я выступала на Frontend NE в Ньюкасле и большую часть выступления объясняла, что за особенности будут в CSS Grid Subgrid из Grid Level 2. Не имея реализации данного свойства(в браузерах), я смоделировала кучу демок, используя DevTools, для того выступ...

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

Pixel 4 получит Face ID и управление воздушными жестами Что-то действительно странное происходит прямо у нас на газах. Компания Google почему-то решила начать раскрывать основные фишки своего предстоящего флагмана за несколько месяцев до официального анонса. Так, в июне Google удивила нас тем, что запостила рендер с дизайном Pix...

[Из песочницы] Небольшой бэкдор на Flask или как управлять компьютером в локальной сети Привет, Хабр! Недавно я посмотрел скачанную версию стрима по программированию «Как создать свое веб-приложение на Flask». И решил закрепить свои знания в каком-нибудь проекте. Долго не знал, что написать и мне пришла идея: «А почему бы не сделать мини-бэкдор на Flask?». В ...

Спасти содержимое vCenter Content Library Начиная с шестой версии, в VMware vSphere есть удобная фича, позволяющая следить за актуальностью виртуальной инфраструктуры на удалённых площадках и филиалах, насаждая огнём и мечом стандарты виртуальной инфраструктуры главного офиса. Называется она Content Library и занима...

[Из песочницы] Снимки событий в Axonframework 3, улучшаем производительность Обзор фреймврока Axonframework Axonframework это фреймфорк реализующий несколько принципов и паттернов проектирования такие как: CQRS – разделяет обработку запросов на чтение и запись данных Event Sourcing – это когда состояние приложения хранится как цепочка событий DDD Ag...

Google добавила ИИ-функцию Smart Compose в Google Docs, но пока только для корпоративных клиентов Компания Google решила добавить функцию Smart Compose в Google Docs. Таким образом, теперь при создании документов пользователям будут доступны предположения по вводу текста, созданные посредством искусственного интеллекта. Функция Smart Compose была представлена в прошлом г...

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

Внимание! Опасный баг в реализации C++ std::map::merge в Visual Studio 2017 Если Вы используете стандарт C++17 в MS Visual Studio 2017 — будьте осторожны: текущая реализация содержит критический баг в реализации std::map::merge и std::set::merge. Подробности — под катом. Читать дальше →

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

У плагина для сбора пожертвований«Лейка» обновился сайт и тарифы платной поддержки Теплица социальных технологий обновила сайт плагина для сбора пожертвований «Онлайн Лейка». Дизайн был изменен на легкий и современный, также добавился раздел о платной поддержке. Задача плагина «Лейка» – упростить и усовершенствовать сбор пожертвований на сайтах НКО и о...

Сервис объявлений Юла запустил видеозвонки Принадлежащий Mail.ru Group классифайд Юла реализовал возможность видеозвонков в приложение на iOS и Android.  Функция внедрена для того, чтобы покупатель мог убедиться в наличии товара и оценить его качество без личной встречи или перехода в другие приложения.  Как соо...

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

Плавная прокрутка Microsoft для Chromium делает большой прогресс Недавно Microsoft выпустила первую бета-версию своего нового браузера Edge для Windows 10, Windows 7 и macOS. Microsoft Edge, созданный на основе браузера Google с открытым исходным кодом «Chromium», имеет несколько новых функций, и ожидается, что в будущем обновлении он пол...

[recovery mode] Что такое Cordentity? [Перевод статьи] Cordentity — это приложение Corda (CorDapp) позволяющее использовать возможности технологии Self Sovereign Identity (SSI) другим CorDapps. Другими словами, Cordentity = Corda + Identity. Мы рады объявить, что теперь Cordentity является проектом Hyperledger Labs с открытым и...

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

Состоялся официальный релиз Visual Studio 2019 для Windows и Mac Начиная с сегодняшнего дня разработчикам программного обеспечения стала доступна релизная версия среды разработки Visual Studio 2019 для Windows и Mac, которая принесла с собой большое количество улучшений. В Visual Studio 2019 появились новые настройки пользовательского ин...

Быстрый ввод текста, посадочные талоны, плеер, FM-радио, NFC и многое другое умещается в Xiaomi Mi Watch После анонса операционной системы MIUI For Watch, которая используется в новых умных часах Xiaomi Mi Watch, производитель вывалил огромное количество рекламных изображений, перечисляющих особенности новинки. Во-первых, Xiaomi Mi Watch будут предлагаться не в двух цвета...

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

Уязвимость в фильтрах AdBlock и uBlock позволяет выполнять произвольный код на веб-страницах При соблюдении ряда условий, опция фильтра $rewrite, внедренная в AdBlock, AdBlock Plus и uBlock с обновлением 3.2 от 17 июля 2018 года, позволяет выполнять произвольный код на отображаемой пользователю веб-странице, сообщается в блоге armin.dev. Вот как описывается проблем...

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

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

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

[Из песочницы] Длинные имена слишком длинные Привет, Хабр! Представляю вашему вниманию перевод статьи "Long Names Are Long" автора Bob Nystrom. Одно из умных вещей которые делает Google это строгие code review. Каждое изменение, прежде чем вам разрешат его внести в основную ветку, рассматривается как минимум ...

Пишем свой язык программирования, часть 2: промежуточное представление программ Введение Приветствую всех, кто заглянул почитать мою очередную статью. Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте. В первой части (линк: habr.com/post/435202) я описал этапы прое...

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

Кейс Mello: как увеличить количество лидов в 1,5 раза за те же деньги Коллеги делятся опытом, как они оптимизировали PPC-кампанию с минимумом ресурсов. А также дают несколько полезных шаблонов для расчёта.

На AMP-страницы теперь можно добавлять пользовательский JavaScript Команда Google AMP представила новый компонент amp-script, с помощью которого на ускоренные мобильные страницы теперь можно добавлять пользовательский JavaScript. Этот компонент можно использовать для реализации интерактивных функций, а также для обмена кодом между страницам...

[Из песочницы] Создание Dataflow шаблона для стриминга данных из Pub/Sub в BigQuery на базе GCP с помощью Apache Beam SDK и Python В данный момент занимаюсь задачей стриминга (и преобразования) данных. В некоторых кругах такой процесс известен как ETL, т.е. извлечение, преобразование и загрузка информации. Весь процесс включает в себя участие следующих сервисов Google Cloud Platform: Pub/Sub — сервис...

Лучшие Android-приложения для создания голосовых заметок Казалось бы, что может быть проще, чем взять и сделать голосовую заметку на телефоне? Тем более, что современные гаджеты, по большей своей части, имеют встроенное приложение «Диктофон». Однако же все не так просто. Да, если вам нужно просто быстро записать что-либ...

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

В анализаторе все должно быть прекрасно: и функциональность, и интерфейс… Изучаем новый интерфейс Solar appScreener 3.1 Как говаривал Генри Форд, все можно сделать лучше, чем делалось до сих пор. Вот и мы так подумали, когда приступили к работе над версией 3.1 нашего анализатора защищенности приложений. Нам ОООЧЕНЬ хотелось сделать наш продукт не только самым крутым по функциональности: напри...

Как мы в IntelliJ IDEA ищем лямбда-выражения Важной возможностью любой IDE является поиск и навигация по коду. Один из часто используемых вариантов поиска на языке Java — поиск всех реализаций данного интерфейса. Часто такая функция называется иерархией типов (Type Hierarchy) и выглядит как на картинке справа. Перебира...

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

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

SVG в реальной жизни. Доклад Яндекса Привет, меня зовут Артём, я руководитель одной из групп разработки интерфейсов в Яндексе. Неделю назад на Я.Субботнике я рассказал, как мы использовали SVG для создания внутреннего календаря. Это расшифровка моего доклада, несколько историй из реализации виджета календаря: м...

Apple обновляет приложения iWork Как и было обещано ранее в марте, Apple представила основные обновления для всех своих приложений iWork для iOS, включая Pages, Keynote и Numbers. Сегодняшнее обновление принесло расширенную функциональность Apple Pencil, совпавшую с добавлением поддержки Apple Pencil на нов...

[Перевод] Бессерверная архитектура и микросервисы: идеальная пара? Перевод статьи подготовлен для студентов курса «DevOps практики и инструменты» в образовательном проекте OTUS. Когда в 2015 году начали появляться первые туториалы с использованием AWS Lambda и API Gateway, было неудивительно, что они в основном были сосредоточены на копир...

Делаем облачное видеонаблюдение своими руками: новые возможности Web SDK Ivideon У нас есть несколько интеграционных компонентов, позволяющих любому партнеру создавать собственные продукты: Open API для разработки любой альтернативы личного кабинета пользователя Ivideon, Mobile SDK, с помощью которого можно разработать полноценное решение, эквивалентно...

Асинхронное программирование в JavaScript (Callback, Promise, RxJs ) Всем привет. На связи Омельницкий Сергей. Не так давно я вел стрим по реактивному программированию, где рассказывал про асинхронность в JavaScript. Сегодня я бы хотел законспектировать этот материал. Но перед тем как начать основной материал нам нужно сделать вводную. Итак...

Еще одна функция в Android Q сделает «зеленого робота» похожим на iOS В далеком 2015 году, с выходом iPhone 6s мы написали интересный материал, который был посвящён технологии Force Touch, которая помогает пользователю быстрее и точнее взаимодействовать со своим смартфоном за счёт дополнительных действий, доступных при надавливании на экран, ...

[Перевод] Lombok возвращает величие Java Мы в Grubhub почти во всём бэкенде используем Java. Это проверенный язык, который за последние 20 лет доказал свою скорость и надёжность. Но с годами возраст «старичка» всё-таки начал сказываться. Java — один из самых популярных языков JVM, но не единственный. В последние...

Обзор Sigma Theory: Global Cold War. Стратегия нового уровня На сегодняшний день очень мало появляется интересных игр. Это связано с тем, что придумать нечто удивительное может буквально каждый, а вот реализовать — единицы. А ведь этим единицам еще нужны деньги на разработку, издатель, реклама и так далее. Именно по этой причине мы пу...

Обход блокировок РКН используя DNSTap и BGP Тема довольно изъезжена, знаю. К примеру, есть отличная статья, но там рассматривается только IP-часть блоклиста. Мы же добавим еще и домены. В связи с тем, что суды и РКН блокируют всё направо и налево, а провайдеры усиленно пытаются не попасть под штрафы, выписанные "Реви...

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

[Из песочницы] F-strings или как сделать код чуть более быстрым и читаемым В Python есть 3 способа форматировать строки, и один из них лучше других. Но не будем забегать наперед — о каком именно форматировании вообще речь? Каждый раз когда мы хотим поприветствовать пользователя по имени нам нужно вставить строку с именем в строку-шаблон. Большинс...

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

Как мы делали SCRUM Страшный сон команды разработчиков — это когда до начала разработки надо «нырнуть» в неизвестную предметную область и «проэстимейтить» half-baked idea. При этом нужно буквально «подписаться кровью» за результат в назначенный срок за фиксированные деньги. На деле дать точную...

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

[Перевод] Монады за 15 минут Вступление На конференции YOW! 2013 один из разработчиков языка Haskell, проф. Филип Вадлер, показал, как монады позволяют чистым функциональным языкам осуществлять императивные по сути операции, такие, как ввод-вывод и обработку исключений. Неудивительно, что интерес аудито...

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

Яндекс.Директ представил адаптивный шаблон для создания блоков любых размеров Авторам больше не придется тратить время на создания отдельных блоков

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

В Jira Service Desk нашли критические уязвимости и Jira Service Desk Data Center, устранив угрозу раскрытия информации. Злоумышленники могли воспользоваться двумя багами, чтобы получить важные данные о корпоративной инфраструктуре и выполнить сторонний код. Уязвимости CVE-2019-14994 и CVE-2019-15001 позволяли проводить ата...

Apple выпустила новую операционную систему macOS Catalina без iTunes Компания Apple выпустила стабильную версию операционной системы macOS Catalina для пользователей своих компьютеров.  Система доступна в качестве бесплатного обновления в онлайн-магазине приложений Mac App Store. Она совместима с MacBook 2015 года выпуска или новее...

[Перевод] Как было реализовано пламя в Doom на Playstation Целая глава моей книги Game Engine Black Book: DOOM посвящена консольным портам DOOM и сложностям, с которыми сталкивались их разработчики. Можно долго рассказывать о полном провале на 3DO, о сложностях на Saturn из-за аффинного наложения текстур и о потрясающем «реверс-инж...

Переключение языка в Android-приложении Есть простой способ реализовать переключение языка в Single-Activity приложении. Стек экранов при этом подходе не сбрасывается, пользователь остается там, где переключил язык. При переходе на предыдущие экраны, они сразу отображаются переведенными. А результат локализации ч...

Как Apple определяет, какое устройство из лежащих рядом поймет команду «Привет, Siri» Еще в iOS 10 появилась функция, которая активирует голосового ассистента операционной системы по команде «Привет, Siri» не на всех устройствах сразу, а только на нужном. Но как Apple определяет нужное устройство, и чего следует ожидать, когда вокруг вас несколько устройств ...

Xiaomi рассказала о трех новых функциях MIUI 11 Несмотря на то, что MIUI 11 представили относительно недавно, работа над функциональностью прошивки не останавливается ни на минуту. Сегодня в компании сообщили, что в ней уже реализованы три новшества — возможность устанавливать любую картинку на экран Always On,...

Google Tag Manager представил пользовательские шаблоны С помощью которого можно разрабатывать собственные определения тегов и переменных

В пику Night Sight у Google Pixel. Apple добавит ночной режим новому iPhone Компания Apple сейчас работает над новым ночным режимом для приложения камеры на iPhone. Об этом рассказал один из основателей XDA Developers Макс Вейнбах (Max Weinbach) каналу EverythingApplePro на YouTube.  Функция будет автоматически включаться при плохом освещ...

[recovery mode] Написание программного обеспечения с функционалом клиент-серверных утилит Windows, part 02 Продолжая начатый цикл статей, посвященный кастомным реализациям консольных утилит Windows нельзя не затронуть TFTP (Trivial File Transfer Protocol) — простой протокол передачи файлов. Как и в прошлой раз, кратко пробежимся по теории, увидим код, реализующий функционал, ан...

Покемоны научат, как пользоваться функцией Motion Sense на смартфонах Pixel 4 Новые смартфоны Google, как известно, оснащены крошечными радарами для реализации функции Motion Sense. Это бесконтактное жестовое управление устройством. Подобное мы видели в смартфонах Samsung, Motorola и прочих достаточно давно, но у Pixel 4 это должно работать лучше...

Модельеры, использующие 3D-печать: часть 2 Аддитивная печать позволяет дизайнерам выходить за рамки, превращая в реальность самые сложные концепции. То, что когда-то было традиционным кроем и пошивом текстиля, теперь представляет собой полностью трехмерное изделие. 3D-печатные материалы позволяют включать физические ...

Ford развернула единое виртуальное пространство для разработки автомобилей Ford начала использовать единую платформу виртуальной реальности, которая позволяет специалистам компании со всего мира сообща работать над дизайном автомобилей. Речь идёт о функции Co-Creation, разработанной Gravity Sketch совместно с Ford. Для работы над 3D-моделью автомоб...

Как изменилось приложение «Файлы» в iPadOS Не так давно Apple явила миру новую ОС для планшетных компьютеров — iPadOS. Этот анонс стал полной неожиданностью для многих — мало кто ожидал, что корпорация решится на такие радикальные перемены, отказавшись от привычного наименования. Во время презентации опе...

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

Вышел CLion 2019.2: поддержка встроенной разработки, отладчик для MSVC, поиск неиспользованных заголовочных файлов Привет, Хабр! Лето за окном пролетает для нас почти незаметно, потому что все эти месяцы мы посвятили работе над новым релизом 2019.2 нашей кросс-платформенной среды для разработки на C++ — CLion. Мы успели довольно много всего: и провести внутренний Хакатон, и попробовать ...

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

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

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

[Перевод] Погружение в Move — язык программирования блокчейна Libra от Facebook Далее мы рассмотрим в деталях основные характеристики языка Move и в чем его ключевые различия с другим, уже популярным языком для смарт-контрактов — Solidity (на платформе Ethereum). Материал основан на изучении доступного он-лайн 26-страничного whitepaper-а. Введение Move...

SMARTtech: Abanix – тема для портфолио или магазина на WordPress WordPress – пластилин, из которого можно построить любой интернет ресурс. От личного портфолио картин до большого интернет магазина. Для того, чтобы выделиться на фоне других предпринимателей и любителей советуем искать под себя уникальный шаблон или тему.

[Перевод] Создаём собственный игровой контроллер Источник вдохновения На игровых выставках разработчики Objects in Space показывали демо своей игры с контроллером на кокпите огромного космического корабля. Он был дополнен загорающимися кнопками, аналоговыми приборами, световыми индикаторами состояния, переключателями и т.д...

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

Проверка FreeRDP с помощью анализатора PVS-Studio FreeRDP – свободная реализация клиента Remote Desktop Protocol (RDP), протокола, реализующего удаленное управление компьютером, разработанного компанией Microsoft. Проект поддерживает множество платформ, среди которых Windows, Linux, macOS и даже iOS с Android. Этот проект ...

[Перевод] C# или Java? TypeScript или JavaScript? Классификация языков программирования на основе машинного обучения На GitHub представлено больше 300 языков программирования, начиная с общеизвестных языков, таких как Python, Java, и Javascript, и заканчивая эзотерическими языками, такими как Befunge, известными только малым группам людей. Топ-10 языков программирования, размещенных на Gi...

«ХайТэк» завершил проект по созданию системы электроснабжения первого в России инновационного ЦОД с иммерсионным охлаждением компании DTL Системный интегратор «ХайТэк» завершил проект по разработке и вводу в эксплуатацию системы электроснабжения инновационного дата-центра с иммерсионным охлаждением для компании DIGITAL TECHNOLOGY & LAB – лидера по технологии иммерсионного охлаждения в России. Система эле...

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

Готовые логотипы и шаблоны от TemplateMonster Сервисы по созданию логотипов уже давно есть в онлайне

Сортировка и группировка чатов Telegram: новый клиент AiGram Messenger с Искусственным интеллектом Чего не хватает в мессенджере Telegram? Больше всего, пожалуй, сортировки и группировки чатов, и хотя многие пользователи давно просят об этом разработчиков приложения, они не торопятся с реализацией данных функций. И если на платформе Android еще можно найти сторонние клие...

[Из песочницы] Обзор и тестирование 3D-сканера HP 3D Structured Light Scanner Pro S3 Приветствую вас. Недавно мне на работе довелось протестировать 3д-сканер от компании Hewlett Packard – HP 3D Structured Light Scanner Pro S3. Поэтому я решил поделиться с вами своим опытом его использования. Данный сканер работает по технологии структурированного света SLS....

Реализация словаря в Python Всем привет, 30 апреля в ОТУС стартует курс «Алгоритмы для разработчиков», именно к этому приурочена публикация сегодняшнего материала. Начнём. В этой статье вы узнаете, как в Python реализованы словари. Словари индексируются с помощью ключей, и они могут рассматриваться ...

Шпаргалка по структурам данных в Go Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных да...

Первые сведения о нововведениях Android Q beta 5 Недавний отчет разработчиков с форума XDA Developers показывает, что новая бета-версия десятого Android (Android Q beta 5) будет поставляться с новыми навигационными жестами. Согласно последним сведениям, эта бета-версия от Google включает функцию бокового возврата...

AWS Elasticsearch: фундаментально дефектный продукт Перевод статьи Nick Price В настоящее время я работаю над большим проектом логирования, который изначально был реализован с использованием AWS Elasticsearch. Поработав с крупномасштабными магистральными кластерами Elasticsearch в течение нескольких лет, я совершенно повер...

Расширение макроса assert() для реализации минимальной обработки ошибок – Сир, я придумал защиту от дракона. Он нам больше не страшен! Она срабатывает от взмахов крыльев дракона и включает громкую сирену, так чтобы все слышали, что приближается дракон. – Что-нибудь ещё эта защита делает? – Нет, зачем? Мы будем предупреждены! – Да… Съедены под во...

[Из песочницы] Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis] Привет, Хабр! Представляю вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis. В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var,...

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

[Перевод] Синхронный Запрос-Ответ с использованием Apache Kafka Архитектуры, управляемые событиями (Event Driven Architecture), в целом, и Apache Kafka, в частности, привлекли в последнее время большое внимание. Для реализации всех преимуществ архитектуры, управляемой событиями, механизм делегирования событий должен быть по своей сути ас...

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

Ещё один способ отстрелить себе ногу, используя std::thread Стандарт C++11 принёс в язык стандартный механизм поддержки тредов (их часто называют потоками, но это создаёт путаницу с термином streams, так что я буду использовать оригинальный англоязычный термин в русской транскрипции). Однако, как и любой механизм в C++, этот несёт в ...

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

WearMouse, аэромышь для часов Wear OS Здравствуй, Хабр! Хочу предложить вашему вниманию немного магии для часов на Wear OS. Некоторое время назад, незадолго до выпуска Android 9.0, был представлен новый публичный API, позволяющий использовать устройства на Android в качестве Bluetooth-устройств ввода (мышь, кл...

Microsoft и Nvidia объединились, чтобы сделать Minecraft еще реалистичнее Технологии трассирования лучей в реальном времени, реализованные в новых видеокартах Nvidia, позволяют гораздо более «правдоподобно» изображать отражения, тени и другие особенности реальных объектов. Технологии трассирования лучей в реальном времени, реализованные в видео...

Сколькими способами можно записать факториал на Scheme? Злые языки утверждают, что функциональные языки программирования — «языки для написания факториалов». Чаще всего так определяют язык Haskell, мы же начнем с того функционального языка, который сильно повлиял и на Haskell, и на подмножество средств для функционального програм...

[Перевод] Как генерируются подземелья в Enter The Gungeon В последнее время я много играл в Enter The Gungeon. Это потрясающая, ужасно сложная игра в жанре bullet hell, сильно напомнившая мне Binding of Isaac. Но чем больше я играл в неё, тем больше осознавал малозаметную гениальность дизайна подземелий. Существует много процедур...

Обзор Almost Hero. Лучший кликер Большинство современных кликеров построены на основе довольно простых механик, которые очень быстро приедаются игроку. Например, в большей части подобных проектов все зависит исключительно от цифр — сейчас вы наносите тысячу урона, а если заплатите миллион золота, то будете ...

Apple планирует выпустить приложения нового поколения для Windows Apple планирует заняться разработкой ПО нового поколения под Windows Этим летом Apple сделала то, чего от неё ждали уже много лет – она отказалась от iTunes. Само собой, прекратила существование только утилита, тогда как онлайн-магазин с музыкой и фильмами, а также её ключев...

Почему мы выбрали Electron Предыстория Мы небольшая команда разработчиков, занимаемся созданием нового инструмента для работы с API Testmace. По факту это продвинутый rest клиент с возможностью создавать автоматизированные тесты API с помощью графического интерфейса, оснащенный такими приятными штукам...

Canva дарит НКО доступ к платным функциям графического редактора Canva — онлайн-редактор для создания графики и документов — объявляет о старте программы “Canva для НКО”, в рамках которой представители некоммерческих организаций России смогут воспользоваться функционалом премиум-пакета Canva Pro для создания изображений и печа...

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

Обновление Microsoft Edge Dev для Windows 10 вводит новые функции Каждую неделю Microsoft выпускает новую сборку браузера Edge Dev, и сегодня выходит новое обновление с некоторыми довольно значительными улучшениями. В Microsoft Edge Dev Build 77.0.189.3 представлена ​​функция Коллекции, интеграция с Windows 10 и многое другое.Microsoft Edg...

Вышла Android Q beta 2 с любопытной функцией Bubbles, напоминающей одну из особенностей Facebook Messenger Компания Google сегодня выпустила вторую бета-версию своей операционной системы Android Q. Одной из самых интересных особенностей, которая отсутствовала в первой версии, является функция Bubbles. Как говорит сама Google, это новый вариант многозадачности. Bubbles будет ...

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

Фоторежим будет доступен в Metro Exodus с первого же дня Deep Silver и 4A Games подтвердили, что в грядущем шутере Metro Exodus фоторежим будет доступен в день релиза. Напомним, игра выйдет на PlayStation 4, Xbox One и PC уже 15 февраля. «Одной из самых востребованных сообществом функций является фоторежим, &mdash...

[Перевод] Работа с ошибками в Go 1.13 В последнее десятилетие мы успешно пользовались тем, что Go обрабатывает ошибки как значения. Хотя в стандартной библиотеке была минимальная поддержка ошибок: лишь функции errors.New и fmt.Errorf, которые генерируют ошибку, содержащую только сообщение — встроенный интерфейс...

Почему вам нужно посмотреть сериал «Академия „Амбрелла“» Яркая экранизация отличного комикса с самой нестандартной историей супергероев, живыми персонажами и иронией над всеми шаблонами жанра.

Методология БЭМ на примере стикеров в opencart Поскольку я предпочитаю методологию БЭМ, начав работать с opencart, я сразу же столкнулся с ужасными для меня вещами, это вложенные селекторы. Они повсюду! Начиная от шаблона по умолчанию, заканчивая практически всеми модулями и авторскими шаблонами. Почему так? Мне кажетс...

Замена Action URL & URI в SIP-телефонах или управление via websockets? SIP-телефоны. Компьютеры с трубкой. По идее с ними очень многое можно что делать, а их используют только для звонков :-) Недавно был на конференции АстерКонф, и там вендоры рассказывали о своих телефонах, не будем никого выделять, все хороши, где-то лучше, где-то дешевле, п...

[Перевод] SMAA: улучшенное субпиксельное морфологическое сглаживание Данная статья основана на журнале Хорхе Хименеса, Хосе Эчеварриа, Тиаго Соуса и Диего Гутьерреса. Их демо реализации SMAA можно посмотреть здесь (файл .exe). На моём GTX 960 2GB оно работает вполне нормально. Старые способы сглаживания (антиалиасинга) Долгие годы стандарт...

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

Быть фулстеком и не быть им Я именно тот 40+ летний синглстек, который упоминался в нашумевшей статье. Когда я вижу таск, где бэкендер упоминает dTo, к которому нужно написать обвязку на фронте… Я запланировано выхожу из себя. Во-первых, я хорошо работаю, когда злой. А тут такой случай. А во-вторых (и ...

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

[Из песочницы] Token, refresh token и создание асинхронной обертки для REST-запроса В данном туториале мы кратко разберем, как реализовываются REST-запросы к API, требующие, чтобы пользователь был авторизован, и создадим асинхронную «обертку» для запроса, которая будет проверять авторизацию и своевременно ее обновлять. Читать дальше →

[Из песочницы] Унификация правил валидации на примере Asp core + VueJS В статье описывается простой способ унификации правил валидации пользовательского ввода клиент-серверного приложеия. На примере простого проекта, я покажу как это можно сделать, с использованием Asp net core и Vue js. Разрабатывая веб приложения, мы как правило сталкаваемся...

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

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

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

[Перевод] Unreal Engine4 — PostProcess эффект сканирования В эти выходные у меня появилось немного свободного времени между занятиями (прим. автор на момент статьи получал степень магистра наук), и я решил вернуться к созданию шейдеров, придумав этот postprocess эффект сканирования. Я представил, что он используется в игре как сво...

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

Как обойти проверку учетной записи Google на устройствах Android Большинство устройств Android привязаны к учетной записи Google для активации и использования. В попытке сделать гаджеты более безопасными, если ваше устройство потеряно или украдено, Google реализовали функцию под названием Factory Reset Protection (FRP). Хотя это, вне сом...

Новые подробности о режиме контроля сна новых Apple Watch Apple Watch Series 4 не превратятся в тыкву. И вот почему Уже на следующей неделе Apple представит новые Apple Watch. Новинка получит индекс «пять» в названии, а её ключевой особенностью, если верить слухам, станет функция слежения за качеством сна пользователя. Лично я дово...

Новый патент Microsoft демонстрирует устройство с двумя экранами Новый патент Microsoft демонстрирует многоэкранное устройство, которое может определять, какой из экранов используется пользователем. Есть вероятность, что этот патент относится к грядущему складному устройству Surface, но, как и в случае с другими патентами, такая реализац...

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

[Перевод] Unreal Engine 4 — шейдер горения Это небольшой шейдер, который появился, когда я думал о различных методах применения flowmap. Существуют много эффектов перехода/растворения, но большинство из них выглядит довольно статично, так как они используют статические текстуры. Данный шейдер далек от совершенства, н...

Делаем свой Google Call Screening на основе Voximplant и Dialogflow Возможно, вы слышали или читали про функцию Call Screening, которую Google выкатил для своих телефонов Pixel в США. Идея отличная – когда вам поступает входящий звонок, то виртуальный ассистент начинает общаться, в то время как вы видите этот разговор в виде чата и в любой ...

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

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

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

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

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

«Фабричный метод» и «Абстрактная фабрика» во вселенной «Swift» и «iOS» Слово «фабрика» – безусловно одно из самых часто употребляемых программистами при обсуждении своих (или чужих) программ. Но смысл в него вкладываемый бывает очень разным: это может быть и класс, порождающий объекты (полиморфно или нет); и метод, создающий экземпляры какого-л...

[Перевод] Объёмный рендеринг в WebGL Рисунок 1. Пример объёмных рендеров, выполненных описанным в посте рендерером WebGL. Слева: симуляция пространственного распределения вероятностей электронов в высокопотенциальной молекуле белка. Справа: томограмма дерева бонсай. Оба набора данных взяты из репозитория Open ...

[Перевод] Как реализовать деплой с GitHub на продакшн сервер, использовав Webhook У меня давно вошло в привычку создавать репозитории на GitHub. Это куда эффективнее, чем держать все на Google Drive или, того хуже, на жестком диске. Но здесь сразу появляется вопрос: как выполнить деплой на рабочий сервер? Большинство поисковых запросов выводили меня ...

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

Нахождение объектов на картинках Мы занимаемся закупкой трафика из Adwords (рекламная площадка от Google). Одна из регулярных задач в этой области – создание новых баннеров. Тесты показывают, что баннеры теряют эффективность с течением времени, так как пользователи привыкают к баннеру; меняются сезоны и тре...

Как использовать автозаполнение паролей из Chrome в приложениях на Android Запоминать пароли — это прошлое Пароли, каким бы надёжными они ни были, по-прежнему имеют один весомый недостаток – они требуют запоминания. Конечно, всегда можно использовать одну и ту же комбинацию, но это даже менее безопасно, чем использовать разные пароли, но хран...

[Перевод] Встраиваемые функции в Go Go позволяет писать на ассемблере. Но авторы языка написали такую стандартную библиотеку, что бы этого делать не пришлось. Есть способы писать переносимый и быстрый код одновремено. Как? Добро пожаловат под cut. Читать дальше →

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

Настройка программы Asymptote Из всех хабов этот показался мне наиболее подходящей для этой темы. Итак. Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Я опишу этот процесс для Asymptote 2.35. Итак, вот я скачал эту программу, установил. Если м...

Как создать UI kit, который продается. Этапы разработки коммерческой дизайн-системы Сегодня у любого дизайнера есть возможность заработать на собственном дизайн-продукте. Иконки, иллюстрации, шаблоны сайтов и приложений можно превратить в цифровой продукт и продавать по всему миру. Кому-то ваша поделка поможет ускорить работу и человек за нее заплатит. Др...

[Перевод] Создаём процедурные глобусы планет Искажения, бесшовный шум и как с ними работать. Генерируем планету Один из простейших способов генерации планеты — использование шума. Если мы решим выбрать его, то у нас есть пара возможных вариантов. Давайте рассмотрим каждый и определим лучший: Шум Перлина (Perlin Noi...

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

Разделение экрана на айфоне: Split Screen [видео] В этом видео я покажу как с помощью двух приложений можно сделать разделение экрана на айфоне. Функция split screen есть на ipad, и этого порой не хватает iphone. Надеюсь в iOS 13 что-то подобное будет реализовано apple. Двойной экран может быть иногда полезен! Вот приложен...

Как выключить звук на Android-смартфоне поворотом экрана Операционная система Symbian давно мертва, однако нужно отдать ей должное – в некоторых аспектах ей до сих пор нет равных. Даже Android при всех своих возможностях кое в чем недотягивает до детища Nokia, Motorola и Sony Ericsson. Мне доводилось пользоваться Symbian, а потом...

Руководство по реализации авто-возобновляемых подписок в iOS-приложениях Всем привет! Меня зовут Денис, я разрабатываю Apphud – сервис по аналитике авто-возобновляемых подписок в iOS-приложениях. В данной статье я расскажу как настроить, реализовать и валидировать авто-возобновляемые подписки в iOS 12 и iOS 13. Бонусом расскажу о тонких моментах...

Шаблоны договоров от Артемия Лебедева В помощь дизайнерам.

В новой версии Telegram появятся отложенные сообщения В грядущем обновленииTelegram для Android и iOS появится возможность отправлять отложенные сообщения. Такая информация появилась на официальной платформе переводов мессенджера. Отложенные сообщения будут реализованы в личных сообщениях, группах и каналах. Отложенное сообщени...

[Перевод] Gap — светлое будущее для отступов в Flexbox (как в Grid) Одна из моих любимых частей спецификации CSS Grid — это grid-gap. Они позволяют легко создавать отступы между элементами внутри сетки. Margins и приёмы, к которым мы прибегаем, чтобы реализовать их в разных ситуациях, долгое время были одним из главных моментов, раздражаю...

Все, что вы хотели знать о SwiftUI, но боялись спросить Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud. Как вы знаете, Apple на WWDC 2019 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложе...

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

CardInfo — API для определения логотипа, цветов банка и прочего по номеру карты Тут и демо, и документация: cardinfo.online Это API. Вы ему 6 первых цифр банковской карты, оно вам ссылку на логотип банка, его фирменные цвета, бренд (Visa, MasterCard, и т.д.) и прочее в формате JSON. CardInfo нужен тем, кто создаёт форму для приёма банковских карт у се...

Функциональные интерфейсы… в VBA "…те, кто не прочь поглазеть на любителя прилюдно свалять дурака, пусть понаблюдают, как я доказываю, что Java и Visual Basic – близнецы, разлученные при рождении, а С++ им даже не дальний родственник." Брюс Мак-Кинни “Крепкий орешек Visual Basic” Введение Постоянный инте...

What the Golf? – гольф и не только (Mac + Apple Arcade) Практически все аркадные симуляторы гольфа похожи друг на друга. Однако разработчики игры What the Golf? решили отойти от привычных шаблонов и создали проект про гольф специально для тех, кто вообще ничего не понимает в гольфе. Кстати, авторы сами честно признаются, что прак...

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

Определено пусковое окно миссии «ЭкзоМарс-2020» Глава представительства Европейского космического агентства (ЕКА) в Москве Рене Пишель сообщил, что специалисты определились с пусковым окном миссии «ЭкзоМарс-2020». Изображения ЕКА О проекте «ЭкзоМарс» мы уже неоднократно рассказывали. Первая его фаза была реализована в 201...

Приятное с полезным или разработка под ASIO на C++ Будучи потенциальным программистом и любителем электрогитар, я не мог остаться в стороне от разработки музыкального ПО. Все кто когда-либо пытался подключить электрогитару к компьютеру на ОС Windows, используя какой-либо гитарный процессор, знают, что зачастую для этих цел...

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

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

25 лучших стратегий на Андроид и IOS: строим, захватываем и грабим Не дают покоя лавры Наполеона? Что ж, у вас есть возможность проверить свои навыки стратега и правителя с помощью смартфона. Стратегические игры широко распространены на мобильных платформах, где сенсорный экран не только хорошо имитирует мышь и клавиатуру, но и обеспечивает...

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

[Перевод] Делегаты и события в C# Перевод статьи подготовлен специально для студентов курса «Разработчик С#». Что такое события в C#? Событие может быть использовано для предоставления уведомлений. Вы можете подписаться на событие, если вам нужны эти уведомления. Вы также можете создавать свои собственные...

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

Новые возможности С# 8: switch expressions В конце января группа разработчиков .NET Core выпустила новую версию фреймворка .NET Core 3 preview 2. В нем были реализованы некоторые новые возможности языка С#. Что мне кажется довольно интересным, это switch expressions. Хотя это добавление кажется простым, я думаю, что ...

Второй чемпионат по программированию: разбираем задачи ML-трека В октябре состоялся второй чемпионат по программированию. Мы получили 12 500 заявок, более 6000 человек попробовали свои силы в соревнованиях. В этот раз участники могли выбрать один из следующих треков: бэкенд, фронтенд, мобильную разработку и машинное обучение. В каждом тр...

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

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

[Перевод] Breakuot-подобная игра на PIC12F1572 Предлагаемая конструкция является доказательством того, что цветной композитный видеосигнал в системе NTSC может быть сгенерирован при помощи очень простого «железа». Краткое описание Хотя цветной композитный видеосигнал в системе NTSC генерировать сложнее, чем VGA, для э...

Реестр печати с расчетом И так, доброго всем времени суток)Данный пост начну с небольшого рассказа.Я думаю как и многие из нас, я занимаюсь печатью на заказ, правда пока в небольших объемах, но всё же столкнулся с некоторой проблемой. Я старался всегда вести какой-то учет заказов, чтобы собирать ста...

Детали предстоящих больших обновлений функции Windows 10 Следующие два обновления Windows 10 «19H2» и «20H1» запланированы на ноябрь 2019 года и весну 2020 года соответственно. Хотя Windows 10 19H2 (обновление за ноябрь 2019 г.) является небольшим обновлением, ожидается, что 20H1 будет полноценным обновлением с новыми функциями и ...

Делаем свой почти Extended Floating Action Button Всем привет. Не прошло и полгода как работает мое приложение, в котором Floating Action Button меню было реализовано сторонней библиотекой. В какой-то момент захотелось сделать его более приятным и удобным. Было Стало В процессе изменения дизайна я наткнулся на избыт...

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

Когда вредно хешировать ПредисловиеДанный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft re...

Google Pixel 4 может использовать новый способ вызова помощника Google Google встраивает ряд интересных функций в смартфоны Pixel 4 и Pixel 4 XL. И новая функция, которая позволяет пользователям Pixel 4 и Pixel 4 XL активировать Google Assistant. Новый способ - "Raise to Talk". Как сообщается, эта функция работает после того, как пользователь ...

[Из песочницы] Арифметика fixed-point на C++ Сегодня расскажу Вам что такое fixed-point, зачем он нужен и как его можно использовать. Существует такая проблема когда производительность приложения может заметно ухудшиться из-за особенностей вычисления на числах с плавающей точкой. Как правило CPU заточен под целочислен...

Blazor + MVVM = Silverlight наносит ответный удар, потому что древнее зло непобедимо Привет Хабр! Таки да, скоро выходит net core 3.0 и там будет шаблон проекта с Blazor как один из дефолтных. Название у фреймворка, по-моему, похоже на название какого-нибудь покемона. Блазор вступает в бой! Решил я значит глянуть что за зверь такой и с чем его едят поэтому с...

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

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

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

Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка») Часть 2 (часть 1) Продолжим эксперементировать с микроконтроллером STM32F103C8T6, подключим некоторые датчики/дисплеи с интерфейсом I2C к «голубой таблетке». Реализована поддержка популярных дисплеев I2C: LCD 1602 SSD1306 Реализована поддержка следующих датчиков: BH175...

Универсальный DSL. Возможно ли это? Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL. Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование...

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

Peephole микрооптимизации в С++ и C# компиляторах В школе, когда мы решали уравнения или считали формулы, мы пытались их сперва сократить несколько раз, к примеру Z = X - (Y + X) сокращается в Z = -Y. В современных компиляторах это подмножество так называемых peephole-оптимизаций, в которых мы по, грубо говоря, набору шабло...

Особенности Samsung Galaxy Note10 пришли на обычные смартфоны Galaxy Компания Samsung обновила приложение Samsung Notes и теперь некоторые функции флагманского смартфона Samsung Galaxy Note10 стали доступны другим представителям линейки Galaxy Note и устройствам Galaxy вообще. Об этом сообщил ресурс SamMobile.  По данным источника,...

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