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

Пишем свой плагин для IDEA для поддержки нового языка (часть 1) В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Читать далее

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

Module Federation: простая загрузка динамических модулей Всем привет! Меня зовут Евгений, я работаю frontend-разработчиком в платформенной команде. Моя задача — помогать другим frontend-разработчикам выполнять их задачи эффективнее. Мы в Delivery Club больше года назад внедрили подход с микрофронтендами, о чём писали здесь. Вы мож...

[recovery mode] Как тестировать gradle-плагины Когда я писал свой первый gradle-плагин, я проверял его работоспособность следующим образом:1. Опубликовал версию n в plugins.gradle.org2. Проверил опубликованный плагин вручную на тестовом проекте3. Нашел ошибку/доработал, увеличил версию n=n+1, затем снова пункт 1Такой во...

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

CURA - Полный перевд плагина SettingsGuide (Машинный) Доброго времени суток, извиняюсь если рубрика не та.В Cura есть весьма интересный плагин SettingsGuide - Это подробная справка о параметрах печати, весьма удобная штука, но есть момент - на Русский переведена очень малая часть текстов. Лично мне удобнее читать параметры на н...

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

Критический баг в WordPress-плагине Elementor угрожает 500 000 сайтов Критическая уязвимость, устраненная недавно в плагине Elementor для WordPress, позволяла аутентифицированным пользователям загружать произвольные файлы на уязвимые сайты, что в итоге могло привести к выполнению произвольного кода.

Уязвимости в плагинах для WordPress угрожают 84 000 сайтов Эксперты Wordfence предупредили об опасной CSRF-уязвимости, затрагивающей сразу три популярных плагина для WordPress: Login/Signup Popup, Side Cart Woocommerce и Waitlist Woocommerce.

Плагины и темы для WordPress использовались для внедрения бэкдоров Масштабная атака на цепочку поставок затронула 93 темы и плагина для WordPress, в которые были внедрены бэкдоры, дававшие злоумышленникам полный доступ к сайтам.

PVS-Studio для Visual Studio 2022 Команда PVS-Studio пишет много статей на разные интересные темы. Но вот вопросы взаимодействия с самим анализатором затрагиваются редко. Исправим этот недочёт обзорной статьёй, описывающей плагин PVS-Studio для среды Visual Studio 2022. Читать далее

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

Джентельменский набор для создания WPF-приложений Данная статья представляет собой набор рецептов по созданию WPF приложений. Поэтому скорее всего она будет интересна начинающим разработчикам. В материале описаны основные моменты использования таких пакетов как ReactiveUI, Material Design in XAML Toolkit, LiveChart2. Пример...

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

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

[Перевод] Go: рендеринг изображений в 2D-играх на примере Ebiten В статье речь идет о Ebiten 1.10.Ebiten — это хорошо продуманная библиотека для создания 2D-игр, написанная Хадзиме Хошем на языке Go. С ее помощью созданы движки ряда мобильных и десктопных игр, как например зарелиженная в Apple Store Bear's Restaurant, или OpenDiablo2 — ре...

«Ленивый сахар» PostgreSQL SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.Тем не менее, "синтаксический сахар" н...

Плагины ALSA Линукс для музыканта: плагины ALSA Здравствуй, Хабр!Перевод-справка: подсистема ALSA, краткое описание API плагинов hw, mmap_emul, shm, null, copy, linear, lfloat, mulaw, alaw, adpcm, route, rate, plug, file, multi, share, hooks, dmix, dshare, dsnoop, ladspa, asym, iec958, ...

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

WordPress-плагин с 3 000 000 установок позволял всем желающим скачивать бэкапы сайтов Разработчики WordPress пошли на редкий шаг и принудительно обновили плагин UpdraftPlus на всех сайтах, где он установлен. Это произошло из-за серьезной уязвимости, позволявшей даже пользователям с низкими привилегиями загружать последние бэкапы БД, которые часто содержат уче...

Альтернативный подход к динамическим окружениям: использование Octopod Как Octopod помогает сделать динамические окружения доступными для всехПривет, Хабр! В этой статье я хочу рассказать как мы в Typeable используем динамические окружения (review- или preview-окружения) в нашей работе, какие проблемы нам удалось решить, почему и как мы применя...

Meta создает новый переводчик речи на базе искусственного интеллекта Meta объявила о создании нового переводчика речи на базе искусственного интеллекта, программное обеспечение, по-видимому, будет работать по всему миру. Это часть планов Meta относительно ее новой Метавселенной, которая, по ее мнению, является будущим онлайна, вы можете увиде...

HTB Backdoor. Взламываем сайт на WordPress и практикуемся в разведке Для подписчиковСегодня мы с тобой на примере легкой по уровню сложности машины Backdoor с площадки Hack The Box поупражняемся в простейших атаках на веб-приложения. Поищем уязвимые плагины для WordPress, проэксплуатируем уязвимость типа path traversal, переберем информацию о...

Популярная лингвистика. Книги про языки, которые мне нравятся Количество атомов в наблюдаемой Вселенной — где-то 10^80, число Дэвидов на картинке к статье — 2. Количество книг в этой подборке находится между этими ориентирами и будет пополняться (всегда рад рекомендациям). Что же это за книги? Не будучи лингвистом, языки я люблю, поэт...

CrowdSec 1.2: изменения, дополнения, улучшения Привет, Хабр! Нам приходилось сталкиваться с мнением, что разработка — скучное занятие: cиди себе, копируй строчки кода с «Гитхаба» да компилируй готовое приложение. Но мы работаем по-другому: в каждую новую версию мы добавляем реально интересные и полезные фичи, которы...

DIY VSCode плагин для Clojure На энном году работы с использованием Clojure/Clojurescript в качестве основных языков разработки, я наконец-то дошел до стадии, когда «больше терперть уже нельзя», и написал таки свой плагин для этой цели. Это явилось результатом многолетних поисков, лишений и страданий. ...

Недельный геймдев: #73 — 5 июня, 2022 Из новостей: плагин USD Hydra для Blender версии 1.1, Epic Games представила программу Unreal Educator Accelerator.Из интересностей: серия руководств от Quixel, за кулисами TUNIC, трушный Уральский ГеймДев, на каких платформах вы должны запускать свою видеоигру в первую оч...

Работа с аудио в Unity — трассировка и облачные вычисления Всем привет! В этой статье мы рассмотрим пример работы с объемным аудио в Unity для консольных и ПК проектов. На данном примере будет описан пайплайн работы с аудио на крупном проекте с множеством источников звука, HRTF и др. Читать далее

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

[Перевод] Погружаемся в CSS: как использовать :where () Функция :where() помогает писать меньше кода, применять стили ко всему списку и снимает головную боль при использовании CSS reset. В статье разберёмся, как это работает, и посмотрим на примеры использования. Читать далее

Большому художнику – большой критик: новые версии модели ruCLIP для ранжирования результатов ruDALL-E (и не только) В ​2021 году особенно активно развивались языковые и визуальные трансформеры, что привело к появлению новых разработок в сфере мультимодального анализа данных. Ярким примером стала модель синтеза изображений по текстовым описаниям DALL-E от OpenAI. Команды Сбера - Sber AI и ...

Тест пройден: обзор плагинов и сервисов для создания викторин

Генерируем Kotlin клиент по GraphQL схеме С одной стороны, GraphQL схема однозначно определяет модель данных и доступные операции реализующего ее сервиса. С другой, Kotlin предоставляет потрясающие возможности для создания предметно-ориентированных языков (DSL). Таким образом, возможно написать предметно-ориентирова...

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

Пять историй про командное лидерство Привет, Хабр! Я работаю в сфере IT около 15 лет. За свою карьеру успел побывать support-агентом, QA-специалистом, техническим писателем, Linux-админом, DevOps-инженером и DevOps- тимлидом. Именно опытом работы в роли последнего я хотел бы поделиться. Я расскажу про методики,...

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

Идеальный каталог, пример использования Я разрабатываю библиотеку для работы с Entity Attribute Value (репозиторий), сокращенно EAV (структура базы данных для хранения произвольных данных). В конце прошлой статьи я спросил у вас о чём мне ещё надо написать, вы попросили показать пример использования и сделать заме...

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

А вы знаете, где используется Haskell? Всем привет! Мы хотим продолжить серию постов на тему “где используются эти ваши странные языки программирования”. В прошлый раз мы рассказали про Лисп, а сегодня продолжим разговор про функциональные языки и обратим внимание на Haskell.  Он является основным языком раз...

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

[Перевод] Сравниваем async/await и then/catch с примерами  В JavaScript есть два основных способа обработки асинхронного кода: Promise (ES6) и async / await (ES7). Эти синтаксисы дают нам равные базовые функции, но по-разному влияют на читаемость и область видимости. В этой статье мы увидим, как один синтаксис помогает, а друг...

[Перевод] C++20 Ranges — Полное руководство C++20 Ranges, также известная как STL v2, представляет из себя более эффективную замену существующих алгоритмов и технических средств STL. В этой статье мы пройдемся по изменениям, введенным Ranges (диапазоны/интервалы), обсудим представления (views), которые представляют со...

Proof Of Concept на Python или как портировать С/С++ Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:- объектно ориентированную парадигму- структурное программрование...

Plantuml в работе системного аналитика. Пиши uml диаграммы текстом, чтобы сэкономить время Раньше я использовала для рисования диаграмм плагин в Confluence drawio или Microsoft Visio, который позволяет в графическом виде нарисовать диаграммы. Основная боль (для меня) у этих инструментов заключалась в том, чтобы поправить множество диаграмм надо открывать каждую, д...

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

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

Недельный геймдев: #61 — 13 марта, 2022 Из новостей: вышли Blender 3.1, Defold 1.3.0 и Gaea 1.3, новые плагины Substance для Unity и Unreal Engine 5, в Godot 4 добавят возможность подключать сторонний физический движок.Из интересностей: про плотность текселей и немного теории текстур от Энтони О’Доннелла, о вид...

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

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

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

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

Подведение итогов первого года от JPA Buddy 2021-й год закончился, уже почти прошел первый месяц 2022-го. Прошлый год стал знаменательным для JPA Buddy: первый публичный релиз, встреча с первым пользователем и рост до одного из самых высокорейтинговых плагинов на IntelliJ IDEA Marketplace. А еще завтра у Баддика ...

[Перевод] Исследуем .NET 6. Часть 5. Поддержка EF Core в WebApplicationBuilder До сих пор в этой серии я рассматривал новые минимальные API хостинга, созданные с использованием WebApplication и WebApplicationBuilder. Они обеспечивают более простую модель для создания веб-приложений, сохраняя при этом те же общие функциональные возможности, что и прилож...

Текстовые игры — новый старый инструмент для автора или «Сделаем Текстовые Квесты снова Великими!» Про текстовые игры написано довольно много как на Хабре, так и на просторах интернета. Это один из самых первых жанров интерактивных развлечений с использованием ЭВМ и даже без него (просьба поделиться опытом НЕэлектронных текстовых игр в комментариях). В данной статье я хоч...

K8S для начинающих. Часть вторая В прошлой статье мы говорили о создании подов. В этой статье поговорим о том, что такое сервис, типы сервисов, метки и селекторы, а также создадим свой сервис. Читать далее

Как мы перешли с kotlinx.synthetics на Android View Binding Привет! Меня зовут Ваня, я Android-разработчик из продуктовой команды hh.ru, и в этой статье я расскажу о нашем опыте миграции на ViewBinding.В конце 2020 года в официальном блоге Android Developers объявили, что android-kotlin-extensions plugin для Gradle больше не дружит с...

Пишем чат под Android на Websocket'ах Привет Хабр!Во время локдауна я решил поупражняться в разработке под Android. Начать решил с простой гиперказуальной игры с элементами дуэли. Взаимодействие игроков решил реализовать через отдельный сервер и websocket'ы, но пока читал про все это дело, понял, что простого ту...

Просто о шаблонах C++ Статья для тех, кто боится слова template в C++. Вводная информация с примерами и их подробным разбором. Читать далее

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

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

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

Новая документация Docsvision ч. 2 — Antora Привет всем читающим! Меня зовут Владимир, я - технический писатель в компании Docsvision и я здесь, чтобы опубликовать вторую часть статьи и надрать задницу всем, кто ставил дизлайки к первой части. Статью вы можете найти ниже.В первой статье я рассказал, как мы выбирали SS...

[Перевод] Исчерпывающее руководство Getting Things Done (GTD) метода с примерами В данной статье вы узнаете о методе, помогающем привести в порядок все ваши дела от самых крупных и важных, до тех, что еще только появились в голове. Я и сама не понаслышке знаю, как сложно перейти от мыслей и планирования к реальным действиям, как не только организовать п...

[Перевод] Правила перезаписи PostgreSQL Представления (Views) — это не совсем то, о чём вы можете подумать. В этой статье мы разберём правила перезаписи PostgreSQL, как они работают, что они могут и чего не могут делать. Начиная с версии 10, PostgreSQL поддерживает концепцию правил перезаписи, которые позволяют ...

Основные тренды ЦОД в 2022 году и примеры проектов Привет, Хабр! Компания Acer снова с вами! Мы планируем рассказывать об интересных продуктах: как своих, так и других участников рынка. В первую очередь речь пойдет о серверах и соответствующих корпоративных решениях.Сегодня же публикуем первый свой пост – это аналитика наиб...

Рецепты Nginx: авторизация через auth0 Для приготовления авторизации через auth0 нам понадобится сам nginx и его плагины encrypted-session, headers-more, auth_request, set-misc, echo, json, evaluate и jwt. Можно также воспользоваться готовым образом. Для начала

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

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

Недельный геймдев: #48 — 12 декабря, 2021 Из новостей на этой неделе: новое технодемо Unreal Engine 5 — The Matrix Awakens, вышли Flutter 2.8 и Flame Engine 1.0, бетка Unity 2022.1, первая мажорная версия O3DE Game Engine 2111.1, Agility SDK 1.700.10 и HLSL 2021, 3ds Max 2022.3 и Maya 2022.3.Из интересностей: топ...

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

Вангеры 3D: пример использования Emscripten в Rust Вангеры в 2022 году продолжают удивлять, прежде всего людьми которые когда-то полюбили эту игру, но сегодня не забывают и вкладывают много сил, делая её лучше, современнее. Оригинальная игра получила обновление с поддержкой полноценного 3D, да не абы какого, а кросс платформ...

JNI Часть 2: Примеры Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу примеры решений на JNI, кот...

Альтернатива MapReduce при поиске в распределенной БД Привет, меня зовут Сатбек, я работаю в команде Tarantool. Расскажу, как реализовать в шардированном кластере поиск, скорость которого не зависит от количества мастеров и объёма хранимых данных. Условно назову этот способ индексным слоем:- Опишу общую схему построения по...

Пример использования WebAssembly-модуля, скомпилированного из Rust, в React-приложении Привет, друзья! На днях прочитал интересную статью, в которой демонстрируется возможность использования WebAssembly-модулей (далее — Wasm), скомпилированных из Rust, в React-приложении. Так вот, статья интересная, но автор толком ничего не объясняет, видимо, исходя из пред...

[Перевод] Запускаем HAProxy Kubernetes Ingress Controller вне Kubernetes-кластера Обычно вы можете запустить HAProxy Kubernetes Ingress Controller как pod внутри Kubernetes-кластера. Как pod, он имеет доступ к другим pod, потому что они используют внутреннюю сеть Kubernetes-кластера. Это дает возможность управлять маршрутизацией и балансировать трафик к п...

Главный секрет операторов match/case в пайтоне Не так давно увидела свет версия языка пайтон 3.10. В ней был добавлен pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Er...

Отличия DeploymentConfig от Deployment и примеры использования Deployment и DeploymentConfig — это, казалось бы, похожие объекты API для OpenShift Container Platform. Но на самом деле они предлагают разные гибкие методы управления интерфейсом пользователей. Расскажем о различиях и приведём примеры, когда какие объекты лучше использовать...

Как применять Branch by Abstraction в проекте на примере Android-разработки Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request, и ... 12 конфликтов.Или другой вариант. Вы работали и посто...

Изучаем пешку (часть 5) Давно не писал продолжения курса преподавания шахмат, но на то были объективные причины - переезд в другую страну, 2020-2021 годы "дружбы с Ковидом", осмысление онлайна в педагогических шахматах... Поэтому эта статья будет состоять из двух частей - про пешку и про онлайн пре...

UX-текст на языке Шекспира: заповеди, грехи и табу Изменив одно местоимение, можно на 90% увеличить показатель кликабельности (CTR) кнопки, которая приведет новых пользователей. Дописав одно предложение, можно увеличить количество оплаченных покупок и снизить нагрузку на саппорт. Поставив одну запятую, можно было бы сохранит...

Scrum в госкомпании: миф или реальность? SCRUM закрепился и в стартапах, и в IT-гигантах, но что на счёт скрама в крупной госкомпании? Попытаемся дать ответ на примере одной из команд разработки Россельхозбанка, а в конце статьи поделимся чек-листом в помощь начинающему скрам-мастеру. Читать далее

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

Microsoft выпустила PowerToys 0.56.1 Компания Microsoft выпустила PowerToys 0.56.1. Always on Top • Исправлена избыточная загрузка GPU/CPU при включении; • Если граница имеет фокус, ее нельзя закрыть с помощью клавиши F4; • Изменение размеров границ должно корректно изменять размеры для существующих окон; • Гра...

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

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell) Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает ...

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

[Перевод] Как собрать зловредный компилятор А вы знали, что бывает такая атака на компилятор через бэкдор, защититься от которой невозможно? В этом посте я покажу вам, как реализовать такую атаку менее чем в 100 строках кода. Кен Томпсон, создатель операционной системы Unix, рассказывал о такой атаке еще в 1...

Плагин Yoast WordPress создает дубликаты файлов Sitemap И не только он.

[Перевод] Вёрстка в 2022. Часть 1: Теория "Разработчик – это человек, который переводит мысли заказчика на язык машины" @mikita_duИдея статьи появилась год назад, думал назвать «Вёрстка в 2021», но как-то затянулось… Весной 2021 года Microsoft объявила, что с 15 июня 2022 года прекращается поддержка IE11 (да, не для...

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

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

Психология языкового барьера, или Какого черта нельзя просто взять и заговорить на английском 63% россиян учили английский в школе или университете, но при этом только около 5% граждан могут похвастаться свободным владением языка. Это один из самых низких показателей в Европе по рейтингу EF English Proficiency Index.По нашему личному опыту, больше половины студентов ...

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

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

Изучаем язык ассемблера на примере TSR программы под MS-DOS. Часть 1 Эта серия статей посвящена изучению и практике программирования на языке ассемблера.Материал рассчитан на новичков в ассемблере, студентов, которым пришлось столкнуться с «динозавром» в виде MS-DOS, и может быть интересен тем, кто хочет нем...

Мой путь в SRE Артем Артемьев, Lead SRE в компании Tango Me, повидал разный SRE. Прорабатывая программу четвёртого интенсива Слёрм «SRE: внедряем DevOps от Google», мы решили провести ещё и открытое интервью с Артемом. Он пошагово и обстоятельно делится своим 12-летним опытом в этой сфере,...

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

Go, я создал: интегрируем Allure в Go красиво Привет! Меня зовут Антон, я ведущий инженер по тестированию в Ozon: занимаюсь созданием и поддержкой end-to-end Go-тестов бэкенда для QA.Мы довольно долго писали тесты в основном на Python. Go – молодой язык, и популярных устоявшихся инструментов у него пока немного. В Pytho...

PascalABC.NET, повторная проверка Приветствуем всех любителей чистого кода. Сегодня у нас на разборе проект PascalABC.NET. Ранее мы уже искали ошибки в этом проекте при помощи сразу двух инструментов статического анализа, а именно плагинов для SonarQube: SonarC# и PVS-Studio. Этому была посвящена статья в да...

Обзор манипулятора DOBOT Magician • Первые шаги в робототехнике В этой статье вы узнаете какое устройство поможет вам сделать свои первые шаги в такой интересной сфере как робототехника!Дорогие друзья, сегодня в нашем обзоре необычное устройство, настоящая робо-рука, а точнее многофункциональный, роботизированный, настольный манипулятор ...

Основы HTTPS, TLS, SSL. Создание собственных x509 сертификатов. Пример настройки TLSv1.2 в Spring Boot Привет, Хабр! В современном мире абсолютное большинство сайтов используют HTTPS (Google даже снижает рейтинг сайтов работающих по HTTP в поисковой выдаче), а подключение к различным системам происходит по протоколу TLS/SSL. Поэтому любой разработчик рано или поздно сталкивае...

Что там у PVS-Studio c покрытием Toyota ITC Benchmark? Toyota ITC Benchmark – это набор синтетических тестов для C и C++, состоящий приблизительно из 650 примеров и предназначенный для тестирования анализаторов кода. Данная статья ответит на вопрос: "Насколько хорошо статический анализатор PVS-Studio покрывает Toyota ITC Benchma...

NestJS + GraphQL + Lambda Цель данной статьи - создать GraphQL приложение, построенное на фреймворке NestJS. А также загрузить его в Лямбда-функцию при помощи Terraform. Надеюсь данный пример поможет многим сэкономить много времени. Читать далее

Разделяй и Властвуй. Разбор задач Решение задач с помощью метода "Разделяй и Властвуй" или по-английски "Divide and Conquer" является одним из базовых методов по ускорению алгоритмов. Примером тому служит переход от квадратичной сложности пузырьковой сортировки или сортировки вставками ...

FFmpeg libav с нуля. Часть 1: знакомство и начало работы Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.Отмечу то, что я не являюсь профессионалом в данной теме и моей...

Представлен Vauxhall Astra Sports Tourer Компания Vauxhall представила универсальную версию своей Astra, Vauxhall Astra Sports Tourer, автомобиль поступит в продажу в следующем году. Новый Astra Sports Tourer будет поставляться с рядом вариантов двигателей, включая плагин-гибридную модель мощностью 225 л.с., а такж...

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

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

Бесплатные ресурсы для инди-разработчиков Я изучаю гейм-дизайн и разработку игр. Когда я начала создавать свою первую игрушку (гифка оттуда) по мотивам мультсериала «We Bare Bears», то подолгу зависала, чтобы отрисовать фон, кнопочку, анимацию разрушения блока и пр. Часть артов я, по итогу, не использовала, а врем...

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

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

Создание телеграмм-бота (Spring Boot, Kafka, PostgreSQL), часть первая Всем привет, данная статья является, своего рода моей первой, но все же постараюсь максимально просто рассказать вам о том, как создать бота, прикрутив к нему все обещанные выше свистелки-тарахтелки.Статьи будут разделены на 2 части, первая часть - создание основного бота с ...

Разработан инструмент нативного запуска игр PS Vita на Nintendo Switch Плагин уже доступен для использования на прошитых консолях

[Перевод] Создание игр для NES на ассемблере 6502: приступаем к разработке Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Обновление данных в ClickHouse Всем привет! Эта статья продолжает первую часть, где я рассказывал о том, как мы в Just AI переводили пользовательскую аналитику на новую СУБД ClickHouse. В ней я на примерах показывал, как менялась схема данных и sql запросы, какие возникали сложности и удалось ли добиться ...

Книга «Изучаем C# через разработку игр на Unity. 5-е издание» Привет, Хаброжители! Изучение C# через разработку игр на Unity — популярный способ ускоренного освоения мощного и универсального языка программирования, используемого для решения прикладных задач в широком спектре предметных областей. Эта книга дает вам возможность с нуля и...

Как устроены цикл событий и стек вызовов в JavaScript Цикл событий (event loop) — ключ к асинхронному программированию на JavaScript. Сам по себе язык однопоточный, но использование этого механизма позволяет создать дополнительные потоки, чтобы код работал быстрее. В этой статье разбираемся, как устроен стек вызовов и как они с...

Как научиться работать в Blazor, делая что-то полезное. Часть I Когда я вижу, как кто-то учит кого-то языку программирования, то частенько замечаю тенденцию показывать новичкам примитивные примеры в виде ToDo list. Помимо того, что подобные примеры не учат ничему полезному в программировании, они очень однобоки и не позволяют оценить вс...

Одна из уникальных функций камеры Pixel 6 уже доступна для других смартфонов Google. Но запустить Magic Eraser можно лишь неофициально Функцию Magic Eraser, представленную эксклюзивно для Pixel 6 и Pixel 6 Pro, уже можно использовать на более старых смартфонах Google. Правда, неофициально.  Как оказалось, достаточно установить на старый Pixel приложение Goo...

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

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

[Перевод] Пишем чистый код при помощи деструктуризации объектов в JavaScript Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScriptВ этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом...

Пишем простого slack-бота на Java Привет! Я — Саша Казанцев, разработчик в hh.ru. В статье я расскажу, как сделать простого бота в Slack на java и немного о других вариантах использования slack api.Слак обладает обширной и всеобъемлющей документацией и туториалами, и чтобы написать эталонного бота, лучше про...

Яндекс выложил YaLM 100B — сейчас это крупнейшая GPT-подобная нейросеть в свободном доступе. Вот как удалось её обучить Больше примеров — в конце поста В последние годы большие языковые модели на архитектуре трансформеров стали вершиной развития нейросетей в задачах NLP. С каждым месяцем они становятся всё больше и сложнее. Чтобы обучить подобные модели уже сейчас требуются миллионы долларо...

Почему я перешёл с Python на Go: choose your fighter Привет, Хабр! Меня зовут Саша, я бэкенд-разработчик в Ozon. Пишу платформу для контента, который генерят пользователи: отзывов, комментов, вопросов, ответов. Раньше я писал на Python. Выбрал его изначально из-за лёгкого синтаксиса и большого количества вакансий для Python-ра...

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

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

Пишем без Retrofit'а, Gson'a и Kotlin Coroutines Android приложение Порой нам хочется написать код без лишних библиотек, чтобы более глубоко понять основные принципы или просто ради интереса.В качестве примера я написал простое Android приложение, которое позволяет юзерам найти значение русского слова.Давайте остановимся на каждом моменте по...

Потратил 1 000 000 $, чтобы сделать свой переводчик. Продолжение истории Начало этой истории тут:https://habr.com/ru/post/492524/ ВступлениеЯ занимаюсь переводчиками с 2012 года, и эта тема выбрана не случайно. Еще тогда было замечено, насколько сильно переводы могут влиять на показатели бизнеса. В нашем случае поддержка всего 15 языков вмес...

Как я разблокировал Upwork профиль и заработал более $250k за год Мне было страшно писать об этом до недавнего времени. Upwork стал одним из основных источников дохода для меня лично и для моего агентства, поэтому после восстановления аккаунтов я боялся, что если я опубликую это - меня снова заблокируют.Но в этой статье я поделюсь историей...

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

Flutter for Desktop — новый подход к разработке приложений Язык программирования Dart был изначально разработан как перспективная замена JavaScript в веб-приложениях (с поддержкой асинхронности, потоков, классической поддержки ООП и возможностью использования строгой типизации), но, к сожалению, в этом качестве он так и не достиг зн...

Вы неуч или отличник: 82% взрослых так и не решили правильно этот простой математический пример для школьников. А вы? ПопМем Интересно 24.12.2021, 18:41 Вы неуч или отличник: 82% взрослых так и не решили правильно этот простой математический пример для школьников. А вы? По сети гуляет множество математических задачек, которые легко умеют решать школьн...

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

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

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

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

[Перевод] Корутины в C++20 — что это и как с ними работать Прим. Wunder Fund: В статьи описаны базовые подходы к работе с корутинами в 20м стандарте С++, на паре практических примеров разбораны шаблоны классов для промисов и фьючеров. По нашему скромному мнению, можно было бы реализовать и поизящнее. Приходите к нам работать, если и...

Camunda: тестируем модели процессов Привет! Продолжаем делиться опытом о том, как можно автоматизировать бизнес-процессы в банке с помощью Camunda. В прошлой статье мы рассказали об одном из проектов, который создали на базе Spring Boot с подключенной Camunda в качестве библиотеки. В этом материале расскажем о...

Android Studio. Kotlin. Сохранение файла в общедоступной папке Download В работе над своим проектом больше всего времени я убил на то, чтобы разобраться, как правильно сохранить файл в общедоступную папку, например, Download. Мне не удалось найти четкого и ясного объяснения в интернете. Собирал информацию по частям и доходил до результата методо...

Использование AsciiDoc для управления документацией на проекте (Часть 2) Продолжение статьи об использовании подхода документация как код Читать далее

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

Установка Windows 10 с работающим звуком на старые MacBook и iMac Столкнувшись с проблемой не работающего звука при установке Windows на свой MacBook 11го года обнаружил, что материала по данной теме в русскоязычном сегменте интернета крайне мало, можно сказать что его нет вообще. Эта статья написана в помощь всем столкнувшимся с такой же ...

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

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

[Перевод] Создание игр для NES на ассемблере 6502: рефакторинг Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Лучшие игровые линейки ноутбуков: от ROG до Omen В наше время игровые ноутбуки популярны как никогда раньше. В сегодняшней статье мы расскажем о самых популярных линейках геймерских ноутбуков и приведем примеры таких систем.

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

Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих) Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux, или может быть долго были пользователями ОС Windows. Я попробую здесь показать прямое руководство к действию на примере ОС Ubuntu и тех простых инстр...

[Перевод] Масштабируем Jetpack Compose Navigation В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigati...

Миллионы сайтов на WordPress получили принудительное обновление уязвимого плагина Уязвимость в UpdraftPlus даёт посторонним возможность скачивать базы данных

Обучение с подкреплением на Python: Пример не из «качалки» Обучение с подкреплением молодая и бурно растущая дисциплина. Это обстоятельство привело к тому что информации об этом на русском языке почти нет. Особенно, если дело касается объектно-ориентированного подхода, и практических задач не из арсенала "качалки".Представляю вам ре...

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

[Перевод] Автоматическая суммаризация текстов с помощью трансформеров Hugging Face. Часть 1 В июле 2020 года компания OpenAI выпустила свою модель машинного обучения третьего поколения, GPT-3, ориентированную на генерирование текстов. Тогда я понял, что мир уже не будет прежним. Эта модель задела меня за живое. Те системы такого рода, что выходили раньше,...

Безопасная разработка и уязвимости программного кода Часть 1. Как писать свой код без ошибокНа сегодняшний день трудно представить себе какую-либо отрасль бизнеса, в которой не использовались бы информационные технологии. Не только в банковской сфере, но и в промышленности, транспорте, сельском хозяйстве – везде ИТ играют огро...

[Перевод] RecyclerView Adapter in Android, сделай быстрее и проще Здравствуйте дорогие хабрчане. Это статья основана на статье https://blog.iamsuleiman.com/recyclerview-adapter-android-made-fast-easy/#clicklistener написанной в 2017 году на Java. А статью которую вы читаете, уже на Kotlin.Каждый раз, когда мы думаем о создании RecyclerVi...

Почему наш стартап переехал с Flask на FastAPI Как так оказалось, что стартап решил поменять стек? Это же затраты и все возникающие при этом сложности переезда. Но если хочешь получить короткий, эргономичный, хорошо читаемый код, приходится идти на жертвы. Но давайте по порядку.Алекс Морозов, co-founder & CTO в компа...

Создание внутреннего мобильного приложения «На связи»: от идеи до визуального решения Меня зовут Лена, я дизайнер интерфейсов в Tele2. И я расскажу о создании внутреннего корпоративного мобильного приложения «На связи» для сотрудников Tele2 – его проектировании и выборе визуального решения. Пройдусь по основным этапам работы над digital-продуктом с точки...

28 Атрибутов Хорошей Блок-Схемы для PCB В этом тексте написал о забытом понятии: блок-схемы для разработки электроники. В ГОСТ(е) их называли Э1 (Схема структурная). Блок-схем это хороший уровень абстракции при анализе электронного устройства или PCB. Представил несколько атрибутов, которые сформировались при созд...

Около 30% критических уязвимостей в плагинах для WordPress остаются без исправлений Аналитики компании Patchstack выпустили отчет, посвященный безопасности WordPress в 2021 году. К сожалению, картина получилась удручающая, например, оказалось, что 29% критических ошибок в плагинах WordPress вообще не получили патчей.

Аудиомодификации для Android смартфонов Предыдущая статья была посвящена теме качества мобильного звука в Android смартфонах. Углубляясь в эту тему мы подробно рассмотрим что из себя представляют аудиомодификации, требования для их установки, принципы работы magisk модуля и способы улучшения качества звука на прим...

Как создать telegram бот на C# быстро? Как создать telegram bot на C# быстро?В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в...

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

RabbitMQ Streams для сбора и обработки телеметрии умного дома Традиционно для сценариев поточной обработки с использованием Map-Reduce рассматриваются такие решения как Hadoop/Spark, либо используются конвейерные системы (например Kafka), для которых есть возможность реализовать концепцию потоков (streams) с помощью дополнительных инст...

Реальный кейс: с чем мы столкнулись при переходе на облачную модель Тема облаков не новая и, возможно, уже набила оскомину: на каждом шагу мы слышим про cloud-native, гибридное, распределённое и мультиоблако. В этой статье я не планирую рассуждать про виды облаков и их истинное предназначение. Мне бы хотелось уйти от теории и поэтапно рассмо...

Python — серьезный язык для разработки backend Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчико...

[recovery mode] Пока, Хабр Хабр я начал читать еще с самого начала его появления, он даже назывался еще тогда Хабрахабр и довольно быстро стал самым популярным IT-ресурсом в Рунете. Без преувеличения, могу сказать, что его читали большинство айтишников рунета и часть за его пределами. Ресурс был реаль...

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8 В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использов...

Выявление технических методов повышения уникальности текста с помощью PHP (в рамках создания собственной СДО). Часть 3 В процессе своей профессиональной деятельности мне приходится достаточно много работать с текстовыми документами, подготавливаемыми другими лицами. Одной из задач проверки качества документов является определение степени уникальности текста. Конечно, можно проверять каждый д...

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

Мультивибратор на компараторе Занимаясь электроникой, я столкнулся с проблемой организации разрозненных знаний в "разумное целое".Стандартный вузовский путь: читай высокоумный учебник, делай лабораторку, проходи контрольный тест — слишком долог, «лишняя» информация быстро забывается. Бессистемные опыты ...

Первый древнейший: в чём уникальность языка программирования LISP В этой статье мы поговорим об одном из самых старых языков программирования ― Lisp. Несмотря на свой внушающий уважение возраст, он всё ещё находится в строю и заставляет переосмысливать всю теорию программирования. Так что же это за язык и чем он примечателен?Лисп, или LISP...

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

Потрясающее будущее PHP-стека для карьеры Совсем недавно была позитивная новость о том, что компания JetBrains простимулировала создание специального фондаTHE PHP Foundation, который будет финансировать и координировать дальнейшее развитие PHP, как современного языка программирования. Эта отлична...

Хватит терять клиентов! Или как разработчику тестировать сайт, на примере PVS-Studio. Часть 1 Сайт с багами – горе для бизнеса. Всего одна 404-я или 500-я ошибка может лишить вашу компанию солидной суммы денег и хорошей репутации. Но есть способ избежать этого: тестировать сайт. О том, как это сделать, расскажет данная статья. Прочитав её, вы узнаете, как тестировать...

[Перевод] Создание игр для NES на ассемблере 6502: заголовки и векторы прерываний Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Том, Дик и Гарри. Что значат именные идиомы в английском и как их использовать Что общего у Джека, Тома и Боба? Верно, это самые популярные английские имена. Если вы работаете в международной компании, вы наверняка встречали хотя бы одного Боба или Джека среди коллег и клиентов. Эти имена настолько широко распространены в англоязычных странах, что давн...

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

Удаление Whitelist ноутбуков HP на примере HP Pavilion dv6-2135er Удаление Witelist ноутбука HP Pavilion dv6-2135er. Реверс-инжиниринг и модификация дампа bios. Читать далее

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

[Перевод] Создание игр для NES на ассемблере 6502: спрайтовая графика Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

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

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

Управляем подсветкой клавиатуры при смене языка ввода Недавно я купил себе клавиатуру от Corsair модели K55 RGB Pro. У нее есть модная нынче RGB-подсветка, а чтобы ее настраивать, производитель предлагает скачать программу iCUE. На сайте написано, что некоторые игры могут управлять подсветкой совместимых устройств. Я заинтересо...

Новые возможности для учителей нового поколения в зоне Наньнин Новые возможности для учителей нового поколения в национальной зоне экономического и технического развития Наньнин  НАНЬНИН (Китай), 29 ноября 2021 г. /PRNewswire/ — В первые месяцы учебного года в ряде высших учебных заведений, включая Гуансийский педагогический ...

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

Как мы используем юнит-тестирование в СУБД Oracle В некоторых технологиях и языках программирования юнит-тестирование — уже давно неотъемлемая часть написания кода. Оно интегрировано в разработку и доступно «из коробки» в виде фреймворков, как, например, JUnit для Java, xUnit/nUnit для C# и т. д. Но в Oracle культура юнит-т...

Как сделать просмотр картинок в браузере удобнее? Для прокачки подойдёт любой браузер на Chromium, поддерживающий установку плагинов из фирменного магазина Chrome. После этого ваш браузер станет не только более удобным для просмотра графики, но и даст некоторые примитивные, но весьма удобные и полезные инструменты для раб...

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

[Перевод] Возможности Java — от Java 8 до Java 17 С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегод...

Карабаш: по итогам за год Город Карабаш Челябинской области – это классический пример моногорода. Его история насчитывает почти двести лет – в 1822 году в долине вблизи одноименной горы был основан поселок, который промышлял мытьём золота. Затем появился первый медный завод, и последующие полтора сто...

Кризисное управление проектами после killpoint (авторский пример из опыта) К читателюАвтор статьи не обладает специализированными знаниями в классическом кризисном менеджменте, единственное что он уже отличает кризисное управление (управление в кризис) от антикризисного управления, что обычно путают. Автор статьи практически всегда был вовлечен в п...

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

Баг в плагине для WordPress позволяет пользователям стереть все содержимое сайтов Серьезная проблема была обнаружена в плагине для WordPress Hashthemes Demo Importer, который насчитывает более 8000 активных установок. Из-за бага аутентифицированные злоумышленники могут полностью обнулить уязвимые сайты, уничтожив весь контент.

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

[Перевод] Как написать «Пятнашки» на Flutter Возможно, вы уже читали о конкурсе Flutter Puzzle Hack и думаете о том, как проявить максимум творческих способностей. И мы вам в этом поможем, рассказав о том, как структурирована кодовая база нашего примера головоломки. Подробностями делимся к старту авторского курса по ве...

Старик Дарвин был прав? Языки программирования и «Происхождение видов» Однажды мы с коллегами задумались вот о чём. Существует хронология языков программирования – список дат «с начала времён». Понятное дело, что каждый из них появился под влиянием собственных условий и для выполнения конкретных задач. Но ведь между языками есть тесные связи, и...

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

[Перевод] Блокчейн на Python Когда я читал статью про блокчейн на JavaScript, мне было интересно познакомиться с идеями о блокчейн-разработке, которые отличаются от тех, что мне уже известны. А как только я начал читать код, мне захотелось сопоставить его с аналогичным Python-кодом, чтобы ещё и разобрат...

20 вопросов из школьного конкурса по языкознанию «Русский медвежонок» Переведите пример на гавайский язык и ответьте, чем на самом деле занимается аллигатор.

Краткий обзор российских рефлектометров ARINST VR 23 — 6200 и CABAN R60 В заметке приведен краткий обзор рефлектометров российского производства ARINST VR 23 - 6200 компании “Крокс” и CABAN R60 компании “Планар”. В качестве примера рассматривается задача измерения характеристик двухпортового устройства (кабельной сборки).По началу я хотел назват...

Как получить инвестиции на первый проект… и доделать его Вы придумали гениальную идею игры или даже подготовили прототип и теперь задаетесь вопросом: “Где взять деньги на реализацию?” Разберемся с возможными способами и подводными камнями с сооснователем студии Uniday Games Алиной Ситбаталовой на примере проекта «Puzzle Squad», ко...

[Перевод] Дженерики в Go — подробности из блога разработчиков В Go 1.18 добавлена поддержка дженериков. Это самое большое нововведение с момента первого Open Source выпуска Go. Не будем пытаться охватить все детали, затронем все важные моменты. Подробное описание со множеством примеров смотрите в документе с предложением. Материал...

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

У Unity всё плохо На просторах интернета, и в частности хабра, очень трудно встретить статьи с критикой игрового движка Unity. Я решил это исправить, и приготовил вам текст о переходе на DOTS, насилию над C#, знаменитых UI пакетах, MonoBehaviour, универсальности и о многом другом.Статья не тр...

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

[Перевод] Знакомство с трансформерами. Часть 1 Трансформеры (transformers) — это очень интересное семейство архитектур машинного обучения. Существует много хороших учебных материалов по этой теме (например — вот и вот), но в последние несколько лет трансформеры, в основном, становились всё проще. Поэтому с...

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

Динамичный экран с быстрыми обновлениями: разбираем плюсы и минусы Server driven view на примерах Всем привет, я Дима Авдеев, работаю в Туту и хочу рассказать про один из подходов, благодаря которому мы можем быстро добавлять в приложение важный для пользователей контент и обновлять его, не проходя повторные ревью в сторах. Например, если хотим быстро доносить до людей н...

[recovery mode] Python: рефлексия Я пишу на Python примерно с 15-го года. Я определённо люблю его. Он так прост... В этом эссе я хотел бы вспонить, как начались мои взаимоотношения с этим замечательным языком, что за всё это время я узнал, что заставляло меня пищать от восторга, и рвать на голове волосы от р...

[Перевод] 8 способов вызвать утечки памяти в .NET Опытные .NET-разработчики знают, что даже несмотря на наличие в .NET сборщика мусора (Garbage Collector), утечки памяти все равно возникают с завидной регулярностью. Утечки возможны не из-за ошибок в сборщике мусора, а потому что даже в управляемом коде есть множество способ...

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

Идея для языка программирования искусственного интеллекта. Свойство-ориентированный подход В данной статье предлагается новый свойство-ориентированный подход к организации объектной модели в языках программирования. Основная идея - вынести свойство из объекта и сделать понятия свойства и объекта равноправными. Это позволит получить крайнюю гибкость и универсально...

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

Как обустроить домашнюю студию звукозаписи при скромном бюджете Почему сведённый трек нужно проверять на паршивой Bluetooth-колонке, какие плагины выгоднее брать новичку и с каким синтезатором работал Ханс Циммер, создавая саундтрек к «Тёмному рыцарю», — в пересказе Pitchfork. ...

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown Напишем вместе HTTP-сервис на golang с нуля? Я уверен, что это довольно несложно. Для тех, кто каждую неделю этим занимается, моя статья не будет особенно интересна, но я все равно рекомендую взглянуть и оценить, возможно, ваши комментарии спасут кому-то жизнь. А может кое-...

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

[Перевод] Создание игр для NES на ассемблере 6502: скроллинг фона Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Как мы создавали курс по C# и боролись за секунды У сервиса онлайн-обучения программированию Хекслет есть собственный Open Source проект Code Basics, на котором выходят бесплатные курсы для начинающих на разных языках. Когда-то их было только два – PHP и JavaScript, сейчас уже более десятка. В компании Dodo Engeneering есть...

Синтаксис Python — в чем главные подводные камни на первый взгляд легкого ЯП. Перспективы языка Python - один из самых популярных языков программирования. Как мы писали, в январе 2022 года он во второй раз за свою историю стал лидером ежемесячного рейтинга языков программирования Tiobe. Рост популярности Python за год составил 1,86%.Популярность языка обусловлена его о...

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

Ещё о преподавании английского языка Какое-то время назад я начал собирать несостыковки между тем, что слышал от своих (и чужих) преподавателей и тем, что понял, изучая язык самостоятельно. Увидев недавно на Хабре похожий материал («Заблуждения об английском, которым нас научила школа»), я решил поделиться свое...

Часть 1. Создание и настройка проекта, работа в редакторах microStudio В этой статье я расскажу про создание проекта и его настройку в среде разработки видеоигр microStudio. А также расскажу про работу в редакторе кода и спрайтов. Читать далее

React Hooks простыми словами О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял пр...

Создание dungeon crawler'а с LeoECS Lite. Часть 1 Друзья, это начало нового цикла статей про создание игры жанра dungeon crawler с использованием фреймворка LeoECS Lite, и его задача – помочь вам быстро разобраться, как на практике применить LeoECS Lite для разработки игр на Unity и решить некоторые виды проблем. Перед чтен...

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

[Перевод] Как рутинное обновление гемов привело к созданию подписок на $73К Как и почему рутинное обновление Руби гемов менее чем за 1 час создало 475 новых подписок на общую сумму $73.271 долларов. Читать далее

Рецепты nginx: виджет Государственного Адресного Реестра Для приготовления виджета Государственного Адресного Реестра, кроме базы, нам также понадобится nginx и его плагины postgres и json. Можно воспользоваться готовым образом.В базе была определена большая функция gar_select от json и возвращающая json. Вот как раз она и нужна д...

[Перевод] Баги в Hello World Hello World, должно быть, самая часто создаваемая компьютерная программа. Уже десятилетия это первая программа, которую пишут люди, когда начинают изучение нового языка программирования.Конечно же эта простая программа не должна иметь баги. Верно? Читать далее

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

Игра с волчками в Учебной версии T-FLEX CAD 17 Доцент кафедры АиТТС Рязанского Политеха Стрыгин Сергей Васильевич подготовил со школьниками с Курса 3D-моделирования и прототипирования компьютерную игру в волчки в Учебной версии T-FLEX CAD 17.Игра предназначена для обучения навыкам работы в T-FLEX CAD и T-FLEX Динамика, а...

Разбираем Log4j уязвимость в деталях… с примерами и кодом Все о той же критической уязвимости в Log4j, но с примерами и кодом. Читать далее

Плагин для WordPress с миллионом установок позволяет внедрять код в уязвимые сайты Популярный плагин OptinMonster для WordPress, установленный около миллиона раз, имеет серьезную уязвимость. Проблема позволяет неавторизованной стороне получить доступ к API, что в итоге приводит к раскрытию конфиденциальной информации и внедрению кода.

[Перевод] Введение в отладку на примере Firefox DevTools, часть 3 из 4 В третьей части ищем ошибку при удалении задачи из списка дел, и попутно путешествуем во времени разбираемся со стеком вызовов в отладчике. Читать про стек вызовов

Opera запустила выделенный Crypto Browser для работы с криптовалютами Компания Opera не стала совершать ошибок конкурентов и в стремлении занять свою долю на рынке криптовалют выпустила отдельный инструмент – браузер Crypto Browser. Он распространяется отдельно от прочих браузеров Opera и предназначен для тех, кто хочет освоить «Интернет на бл...

Работают ли сейчас уровни ссылок? В блоге Collaborator недавно опубликовали интересную подборку с примерами неудачного опыта в SEO. Один из антикейсов оказался по методике многоуровневых ссылок, о которой я писал в своем блоге в 2013 году в посте "Удар шершня". Оказалось, что ребята потратили $20K на экспер...

Язык программирования типов, скрытый в TypeScript. Utility Types TypeScript — это язык, расширяющий JavaScript, добавляя в последний типизацию. Правда, так как TypeScript не имеет runtime-а (почти), он транслируется в JavaScript, в процессе чего, вся типизация теряется. Такую типизацию можно назвать лишь инструментом статического анализа ...

Controller, но не Massive: реализуем список карточек для iOS 13 и не только с учетом практик чистого кода Привет! Когда мне по работе понадобилось реализовать список карточек на связке UICollectionView и UICollectionViewCompositionalLayout для iOS 13+, я не нашел хорошего примера. Написал свой и хочу поделиться с сообществом. А заодно показать реализацию для iOS11+.Примеры можно...

Калькулятор инвестиций и скринер ценных бумаг: как мы проводили свой первый хакатон BCS Coding Days Привет! Я Люба Давыдова из компании БКС. Занимаюсь развитием ИТ бренда в компании. Расскажу об одном из наших последних мероприятий.В декабре мы с партнерами из «Сколково» провели свое первое онлайн-соревнование для разработчиков. Мы решили поделиться опытом организации меро...

Рекомендательная система торговой сети самообслуживания. Часть 2 Данная статья, является продолжением, описания хода учебного исследовательского проекта по разработке рекомендательной системы.В первой части мы остановились на том, что модель, полученная с использованием библиотеки LightFM, не оправдала моих ожиданий, можно ли сделать что-...

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

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

Новый язык обычного и параллельного программирования Planning C 2.0 Здравствуйте, уважаемые читатели.Хочу написать здесь об одном из своих проектов -- языке Planning C (v2.0). Он является расширением C++, дополняющим базовый язык рядом новых конструкций. В настоящее время проект доступен в репозитории (исходный код прототипного транслятора-п...

Нейросети (на примере трансформеров) на фондовом рынке. Коды, «граали», финансовый результат Пост в помощь тем кто интересуется практической пользой от применения нейросетей на фондовом рынке. Читать далее

Хакеры атаковали более 1,6 млн веб-сайтов на базе WordPress Специалисты компании Wordfence, работающей в сфере информационной безопасности, зафиксировали резкий рост числа хакерских атак на веб-сайты на базе WordPress. Согласно имеющимся данным, всего за 36 часов было выявлено около 13,7 млн атак с использованием уязвимостей WordPres...

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

Из грязи в RPKI-князи-2. Имплементация RPKI на сетевом оборудовании В предыдущей части я рассказывал, почему для ИБ важна валидация маршрутов в ВGP и как каждый клиент сервис-провайдера может обезопасить протоколы маршрутизации с помощью RPKI.  Но если у вас своя АС с несколькими пирингами, как это бывает у многих банков или ИТ-компан...

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.Автор надеется, что прочтение статьи поможет вам разобра...

Do you speak... 10 островов с уникальными языками Наука Гуманитарные науки 01.04.2017, 15:00 Do you speak... 10 островов с уникальными языками Сегодня на Земле насчитывается примерно 6000 языков. Они подвергаются постоянным и порой значительным изменениям – особенно там, где носители ...

Мощный смартфон среднего класса Vivo V23 5G приедет в Россию. И у нас есть примеры фото на его камеры В начале 2022 года Vivo представила свой свежий фотофлагман — Vivo V23 5G. Теперь же, судя по всему, смартфон готовится к выходу на российском рынке.

Сайты на базе Magento захлестнула волна MageCart-атак Аналитики компании Sansec обнаружили источник массовой компрометации более 500 e-commerce сайтов на платформе Magento 1. Судя по всему, источником заражения стала известная уязвимость в плагине Quickview.

RCE-уязвимости в плагине PHP Everywhere угрожают тысячам сайтов на WordPress Специалисты WordFence обнаружили три опасные RCE-уязвимости в популярном плагине PHP Everywhere, который используется на 30 000 сайтов. Все баги получили 9,9 балла из 10 возможных по шкале оценки уязвимостей CVSS и могут использоваться для удаленного выполнения произвольного...

История с пазлом продолжается Я вас категорически приветствую! В одном из своих предыдущих постов я писал про создание пазла и проект. Есть результат!История получилась интересная. Дело в том, что моя команда из института участвовала в акселераторе от ЕВРАЗ. Наша как и другие команды из Свердловской обла...

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

PHP Дайджест № 222/3 (26 марта – 25 апреля 2022) Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.Однако я взял на себя смелость временно продолжить дело Романа и написать новый дайджест за тот месяц, что прошел с выхода ...

PHP Дайджест № 222/2 (22 февраля – 25 марта 2022) Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.Однако я взял на себя смелость временно продолжить дело Романа и написать новый дайджест за тот месяц, что прошел с выхода ...

Руководство по NestJS. Часть 1 Привет, друзья! В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой...

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

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

Как построить сетевой клиент в большом приложении, написать плагин на Kotlin и работать с UI-библиотекой Сегодня делимся видео для мобильных разработчиков с IT-конференции ЮMoneyDay. Начнём с процессов в UI. Что помогает команде работать быстро и слаженно и как срезать углы в работе с дизайн-системой? В первом докладе поделились, как наладить разработку в iOS-команде....

Недельный геймдев: #49 — 19 декабря, 2021 Из новостей на этой неделе: новый тип ассетов от Quixel — Megascans Trees, Maxon купила создателя ZBrush, разработчик ArmA, DayZ анонсировал собственный игровой движок Enfusion Engine, Unity выпустила ассет с примерами по работе с террейном.Из интересностей: как рисуют пе...

Грокаем алгоритмы Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих от Бхаргава А. Эта книга рекомендована Яндекс Практикум при подготовке к алгоритмическому собеседованию. Сам автор указывает, что книга для самоучек, студентов, выпускников и тех, у кого про...

[Перевод] Акторы Swift под капотом Акторы (Actors) — это фича, являющаяся частью структурированного параллелизма (Structured Concurrency) Swift, которая предлагает совершенно новый формат для написания и обработки асинхронного кода. Хотя они и являются чем-то инновационным для языка Swift, сама технология нов...

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

Простой математический пример со скобками, который оказался не по зубам даже умникам из интернета: проверьте свои силы ПопМем Интересно 28.12.2021, 18:22 Простой математический пример со скобками, который оказался не по зубам даже умникам из интернета: проверьте свои силы Этот математический пример со скобками давненько сводит с ума пользователей Твитт...

[Перевод] Исследуем .NET 6. Часть 6. Поддержка интеграционных тестов в WebApplicationFactory В предыдущей статье я описал обходной путь, который был добавлен в .NET 6, чтобы инструменты EF Core, которые ранее полагались на существование определённых методов, таких как CreateHostBuilder, продолжали работать с новыми минимальными API хостинга.В этой статье я рассмотрю...

Язык программирования C∀(CForAll) Мой интерес к дизайну языков программирования приводит меня иногда к интересным, но почти неизвестным в широких кругах проектам. Один из таких проектов - язык C∀ (CForAll), разрабатываемый Университетом Ватерлоо. C∀ является расширением ISO C и обеспечивает обратную совмести...

Как расти быстрее подчинённых. Вширь и вглубь Много лет руковожу программистами, при этом продолжая писать код, придумывать архитектуру, управлять проектами и т.д. Короче, я как все, только ещё хожу на совещания.Рядом много других команд программистов, и у них тоже есть свои начальники. И вот странное дело - сильно они ...

Обзор ORM для C#: что подойдет для проекта Одна из проблем использования языков объектно-ориентированного программирования (ООП) и баз данных в сложности их согласования между собой. Знание языка структурированных запросов (SQL) и умение писать запросы позволяют взаимодействовать с БД напрямую. Но использование «чист...

Компактный сгусток знания. Часть II — история систематики животных с античности до начала XIX века Систематика животных почти так же стара, как и само человечество. Представители самых примитивных племён превосходно знают природу и имеют особые названия для местной флоры и фауны. В языке одного из папуасских племён, обитающих в горах Новой Гвинеи, обнаружено 137 видовых н...

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

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

Обзор 3D принтера Creality HALOT-LITE После выпуска принтеров Halot Sky и Halot One компания Creality выпустила третий принтер серии Halot - Halot Lite.Это настольный фотополимерный 3D-принтер среднего размера, который, может потягаться с такими моделями, как Elegoo Saturn. Что конкретно из себя представляет Hal...

Миграция данных из различных RDBMS в HADOOP В статье будет рассмотрен процесс экспорта данных в Hadoop из различных РСУБД посредством фреймворка Spark. Для взаимодействия с фреймворком Spark будет использован язык программирования Python с применением api pySpark. Читать далее

4 года Q# В этой статье мы решили собрать все самые важные новинки в языке Q# за этот год. Среди них Azure Quantum, QIR Alliance, Python и многое другое. Подробности под катом.Здесь вы можете увидеть все примечания к выпускам за год. Читать далее

[Перевод] Reversing для чайников — ассемблер x86 и код на С (для начинающих/ADHD friendly) До того как заняться реверс-инжинирингом, исполняемые файлы казались мне черной магией. Я всегда интересовался, как все работает под капотом, как двоичный код представлен внутри .exe файлов, и насколько сложно модифицировать “исполняемый код” без доступа к исходникам.Но одни...

Как я переписывал свой init.vim в init.lua Статья рассказывает о том, как я с нуля переписывал свой nvim-конфиг (init.vim) в конфиг с поддержкой lua (init.lua). Читать далее

Создание своего серверного ядра на Go для Minecraft Java. Часть #1 — Основное о идее Тема, которая будет писаться в многих частях будет в основном предствалять этапы написания своего серверного ядра для мультиплеера популярной игры Minecraft. Читать далее

Включение метрик Apache Camel в Spring Boot Actuator Prometheus В данной статье я привёл решение проблемы интеграции Apache Camel метрик с Spring Boot Actuator Prometheus, которое мне не встречалось в интернете. Читать далее

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

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

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

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

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

Golang для Embedded Linux При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет н...

[Перевод] Создание игр для NES на ассемблере 6502: движение спрайтов Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Первая функция из Android 13. Новая ОС получит возможность устанавливать язык для каждого приложения отдельно Android 12 только начинает своё шествие по рынку смартфонов, а в Сети уже появились подробности об одной из функций Android 13.  Называется функция Panlingual. Суть её достаточно простая: она позволит пользователям выбирать язык отдельно для ка...

WEKA. Руководство по использованию Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой. Читать далее

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

Старые песни о главном Программисты старшего (и очень старшего) возраста наверняка помнят такую книгу Фролова и Олюнина: «Практический курс программирования на языке PL/1», изданную в 80-х массовым тиражом. В те времена не было Интернета, и поэтому получить нужную информацию можно было, только куп...

Из Java в Kotlin: туда и обратно В статье рассмотрены проблемы и решения, которые возникли при добавлении Kotlin в небольшой существующий микросервис на Spring Boot, написанный на Java. В рамках статьи не будут рассматриваться плюсы и минусы того или иного языка - здесь и так сломано много копий. В рамках п...

Простой шутер от третьего лица на Unreal Engine. Часть 2 До прочтения этой статьи рекомендую прочитать первую часть.План на сегодня:Сегодня мы создадим простеньких противников, который будут ходить туда-сюда. Научимся наносить им урон. Читать далее

Elementary: новый взгляд на архитектуру Flutter-приложений Elementary — это архитектурный пакет, который создали в Surf на основе опыта разработки приложений на Flutter и лучших практик современной разработки. Решение позволяет чётко разделить слои согласно ответственностям, сделать код прозрачнее, а тестирование проще. На примере р...

[Перевод] Полезные и неизвестные возможности Java В этой статье вы узнаете о некоторых полезных функциях Java, о которых вы, вероятно, не слышали. Это мой личный список функций, использованных мной недавно или с которыми я столкнулся при чтении статей о Java. Я сосредоточусь не на языковых аспектах, а на API. ...

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

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

О том, как мы с сочувствием смотрим на вопрос на StackOverflow, но молчим Иногда на сайте stackoverflow.com мы видим очередной вопрос, как искать баги определённого типа. И знаем, что решением проблемы может стать использование PVS-Studio. К сожалению, мы вынуждены молчать, иначе ответ будет интерпретирован как неприкрытая реклама. Это статья про...

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

[Перевод] Как устроен современный веб-синтезатор За годы развития браузеры обзавелись множеством API и функциональных возможностей, благодаря которым превратились в невероятно мощные платформы приложений. Яркий пример — это современный веб-синтезатор, подробностями об устройстве которого делимся к старту курса по Fullstack...

Можно ли обойтись без фразовых глаголов в разговорном английском? Этим вопросом довольно часто задаются те, кто изучают фразовые глаголы в английском как часть разговорной речи на уровне intermediate, upper-intermediate и выше и пытаются употреблять их в своей речи. Причина этого вопроса вполне понятна – понимание и использование фразовых ...

Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегод...

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

Почему DevOps и Agile не работают в России, часть первая, Enterprise Пару лет назад, человек из Wrike написал серию статей про красную корпоративную культуру, причём во второй части буквально в 3 абзацах был весь смысл 4 статей. Было написано очень завуалировано и мягко, я же сегодня распишу, по сути, этот абзац в целую статью на примере круп...

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

Unity: 8 причин отказаться от Coroutine в пользу Async Когда речь заходит об асинхронных операциях в Unity, на ум первым делом приходит coroutine. И это не удивительно, так как большинство примеров в сети реализованы именно через них. Но мало кто знает, что Unity поддерживает работу с async/await еще с 2017 версии.Так почему же ...

WorldSkills VR как пример того, как нельзя организовывать олимпиады по современным направлениям Привет! Хотелось бы поделится своими впечатлениями о проведении одного из самых популярных технических соревнований в России и проблемами применения классического олимпиадного подхода к современным направлениям. Читать далее

Перевод аудио-сообщений в текст в telegram при помощи Wit Я абсолютно уверен что скоро в telegram - перевод аудио-сообщений в текст будет функцией по-умолчанию, ну а пока хотел бы показать простенький пример как реализовать такой функционал в telegram-боте (которых уже сотни, но почему бы не посмотреть как это работает на примере)....

[Перевод] PyQt6 — полное руководство для новичков. Продолжение В первом материале мы рассказали о создании первого окна, о сигналах, слотах и событиях, а также о виджетах. Сегодня, к старту курса по Fullstack-разработке на Python, делимся продолжением — о макетах, работе с панелями инструментов и меню при помощи QAction, дополнительных ...

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

Kincony KC868-A4: ультимативный гайд. Часть 3: управление контроллером через Telegram-бота В предыдущей статье цикла о Kincony KC868-A4 было рассмотрено «атомарное» программирование компонентов этого контроллера, в этой статье будем разбирать более продвинутый пример работы с KC868-A4 — управление вашей (IoT) системой через интернет. Способов управления контрол...

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

Кажется, Winamp возвращается… Снова и не совсем тот, что был Медиаплеер WinAMP является едва ли не сакральным проигрывателем музыки (а позже и видео) для миллионов пользователей. И действительно, он отличается минимализмом, широким спектром функций, потребляет мало ресурсов, благодаря чему хорошо и без лагов работает практически на л...

О Thread и ThreadPool в .NET подробно (часть 2) В предыдущей публикации мы рассмотрели некоторые базовые вопросы относительно потоков и пулов потоков и готовы двигаться дальше. Давайте проведём эксперимент и найдём правильный объём работы для пула потоков. Чтобы его издержки не давлели над объёмом полезной работы⚠️ М...

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

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 3 — NAT и сетевые соединения) В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический хара...

Что необходимо знать, чтобы написать свою Embedded RTOS (часть 1) Хотел бы написать небольшой цикл статей посвященных тому, как я написал свою RTOS с какими трудностями столкнулся и зачем вообще писать свою RTOS если уже есть FreeRTOS, RTX, embOS и т.д. список достаточно большой. Начнем с того, что по мере работы я сталкивался с тем, что ...

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

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

[Перевод] Машинное стереозрение для новичков: две камеры Raspberry Pi и Python Стажируясь в правительственном технологическом агентстве Сингапура, автор материала работал над экспериментом по созданию альтернативы камере Intel Relsence. Оказалось, что учебных материалов на тему машинного зрения мало, поэтому он решил помочь новичкам. К старту флагманск...

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

Как я научился не волноваться и полюбил управление состояниями Flutter. MVI и Clean Code в комплекте Цель статьи — показать, как сделать ваш проект на Flutter более понятным для усовершенствования и удобным в сопровождении. Текст может быть полезным как для тех, кто только начинает изучать Flutter, так и более продвинутых пользователей, так как здесь мы рассмотрим актуальны...

Китай рассказал о планах создания многоразовой ракеты к 2025 году Пример Илона Маска и SpaceX доказал как реализуемость подобной идеи, так и финансовые выгоды

Создание API на основе протокола MTProto В уже  далеком 2019 Telegram объявил конкурс на создание веб-версии своего мессенджера, в котором мне удалось поучаствовать. По итогу у меня осталась библиотека, которая может работать с API Telegram по протоколу MTProto. Полученный опыт вдохновил меня реализовать прото...

WireGuard клиент для Windows на основе BoringTun В начале 2019 года компания Cloudflare представила BoringTun, реализацию WireGuard протокола, написанную на языке Rust. Код проекта распространяется под лицензией BSD-3-Clause и включает в себя библиотеку, которая может использоваться для интеграции функц...

Как устроены облачные сети и чем они отличаются от On-premise Cloud Station — Photoshop Art by PhaseRunner Принципы построения облачных и On-premise-сетей различаются: в облаке много новых сетевых сущностей и подходов к построению инфраструктуры. Но новое не значит сложное. Меня зовут Болат Кажкенов, я архитектор VK Cloud Solutions....

«Право на забвение» или как просто удалять персональные данные по запросу пользователя Удалять персональные данные пользователя по его запросу, чтобы продукт соответствовал законам CCPA или GDPR, можно по-разному. Хоть вручную каждую заявку на почте разбирать. Главное — сделать процесс максимально простым и понятным для пользователя. А это уже хороший повод за...

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

Простой математический пример от китайского школьника ввел в ступор сотни российских учителей: угадаете, в чем секрет? Наука Математика 09.12.2021, 13:14 Простой математический пример от китайского школьника ввел в ступор сотни российских учителей: угадаете, в чем секрет? В Твиттере опять воюют! Снимок китайского мальчика, который ломает голову над при...

Need for Speed с открытым миром перенесут на смартфоны Издатель Tencent заручится поддержкой создателей Call of Duty Mobile для разработки мобильной Need for Speed. TiMi Studios работала над несколькими популярными проектами — PUBG Mobile, Pokemon Unite, а также Arena of Valor. Теперь ветераны индустрии займутся франшизой Need ...

[Перевод] Continuous integration в Go с GitHub Actions В этой статье мы рассмотрим, каким образом можно использовать GitHub Actions для создания конвейера непрерывной интеграции, который автоматически тестирует, проверяет и анализирует ваш код Go. Читать далее

Автоматизация наполнения Changelog через CI В этой статье я постараюсь рассказать, как на моей работе я реализовал автоматическую генерацию Changelog из коммитов и создание тегов на их основе. Читать далее

[Перевод] Исследуем .NET 6. Часть 4. Создание конвейера промежуточного ПО в WebApplication В моем предыдущем посте я рассмотрел код WebApplicationBuilder, включая некоторые из его вспомогательных классов, таких как ConfigureHostBuilder и BootstrapHostBuilder. В конце поста мы создали экземпляр WebApplicationBuilder и вызвали Build() для создания WebApplication. В ...

Гайд по UIKeyboardLayoutGuide Обработка показа клавиатуры – это распространенная задача при создании интерфейса приложения. С выходом iOS 14 это работает автоматически для SwiftUI компонентов. Но что со старым-добрым UIKit? Раньше мы использовали нотификации клавиатуры, проверяли ее высоту и обновляли н...

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

Секреты запуска Flutter в production. Создаем IT-верфи Про нас Привет! Мы Даниил Левицкий и Дмитрий Дронов, мобильные разработчики компании ATI.SU — крупнейшей в России и СНГ Бирже грузоперевозок. Хотим поделиться с вами своим видением разработки приложений на Flutter. У нас несколько команд мобильной разработки, и раньше мы п...

Видеокарты AMD подорожали. Все, кроме Radeon RX 6900 XT Несколько дней тому назад мы писали о том, что AMD приняла решение повысить стоимость актуальных видеокарт серии Radeon RX 6000. И вот, как пишет источник, подорожание состоялось – для всех моделей, кроме Radeon RX 6900 XT. Для примера взяты видеокарты Gigabyte (...

Проблема многоязычности Question Answering over Knowledge Graphs и новый датасет QALD-9-Plus, способный её решить Для разнородных групп пользователей (прим. язык, возраст), возможность одинаково эффективно взаимодействовать с веб-приложениями является одним из важнейших факторов такого понятия как "доступность" (англ. Accessibility). Это относится и к системам автоматического ответа на ...

Что у ECS под капотом Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)В данной статье я опишу общий принцип "подкапотной" работы ECS фреймв...

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

Конкурентный анализ приложений из App Store на основе открытых данных В этой статье я покажу, как можно без программирования парсить, анализировать и визуализировать данные из RSS- и Atom-лент на примере загрузки и парсинга фида Apple iTunes, а также проведения последующего конкурентного анализа приложений. Представим, что мы собираемся публик...

Foreign Affairs: США начинают серьезно отставать от России и Китая в области военного искусственного интеллекта Как пишет Газета.ru со ссылкой на публикацию Foreign Affairs, военные США начали отставать от своих главных конкурентов – России и Китая – в разработке и использовании технологий искусственного интеллекта. В Foreign Affairs отметили, что, хотя США и явл...

Путеводитель по ID для JPA сущностей. Часть 1: ID, генерируемые на сервере Разработка инструментария – очень познавательное занятие, потому что заставляется задуматься над теми вещами, которые в процессе разработки иногда не замечаешь. Казалось бы, создание @Id атрибута в JPA – рутинное занятие и каждый разработчик может сделать айдишник, даже не в...

Мой опыт проведения курса по Android Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS. В 2019 году я вместе с платформой для онлайн-обучения Skillbox начал делать курс для начинающих мобильных разработчиков. На создание курса у меня ушло полтора года. Надеюсь, мой опыт поможет спец...

Новое слово в расчётах систем видеоконференцсвязи — часть №2: расчёт диагонали ТВ и VR-визуализация 360˚ В прошлой статье Часть №1: подбираем видеокамеру, используя 3D-моделирование мы показали удобные современные инструменты для подбора оптимальной камеры для переговорной комнаты или конференц-зала.Этому проекту посвящается цикл статей:Часть 1: Подбираем видеокамеру, используя...

[Перевод] Работа с API на языке R, введение в пакет httr2 Цель этой статьи - показать вам основы httr2. httr2 - переосмысленная реализация пакета httr, т.е. интерфейс для работы с HTTP запросами на языке R.Из статьи вы узнаете, как создавать и отправлять HTTP-запросы и работать с полученными HTTP-ответами. httr2 разработа...

Программный терминал видеосвязи – главный помощник ВКС-джедая Приветствую вас, хабражители! Меня зовут Димитрий Зуйков из компании TrueConf – российского вендора видеоконференцсвязи (ВКС). Пандемия подтолкнула к бурному развитию технологий совместной работы, без которых нельзя представить ни одного рабочего дня. Мы уже рассказывали вам...

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

Электропривод с ШИМ – способ улучшения динамики контура тока В продолжение темы модельно ориетированного проектирования, публикую очередную статью Калачева Юрия Николаевича, автора книги Моделирование в электроприводе. Инструкция по пониманию. В новой статье раскрываются рецепты лечения "вялого" электропривода. Данный текст ...

Какой JS-фреймворк выбрать новичку — мнения шести экспертов Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Frontend в СберМаркете. В первой статье о JS-фреймворках я рассказал о самых популярных из них: Angular, React, Vue и других. В комментариях опытные разработчики спорили о том, какой ...

Создаем и тестируем свой plugin для Gradle 7.0+ Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в д...

Автоматизируем работу с ArchiMate в CI пайплайнах В этой статье я дам краткую вводную, что такое Archi и ArchiMate. Расскажу о коллективной работе с Archi используя расширение coArchi, после чего предоставлю контейнер позволяющий автоматизировать работу по созданию HTML и PDF документов с ArchiMate моделями. Завершим же, со...

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

Копаемся в TypeScript: пишем свои Utility Types. Ключевое слово infer Йо, Хабр! Меня зовут Алексей Акулов. Я разрабатываю клиентскую часть продукта BIMeister.Почти каждый сталкивался с типами Partial или Record. Там таких еще много, но суть в том, что они входят в ту самую группу Utility Types. Такие штуки представляют из себя разные преобразо...

GraphQL-gRPC API Gateway на Java В данной статье я хочу рассказать про процесс создания концепта API Gateway для обеспечения взаимодействия фронтенда, использующего GraphQL, и бэкенда, использующего gRPC, на Java с использованием фреймворка Quarkus. Читать далее

Создание Native Images со Spring Native и GraalVM В этой статье я хочу исследовать возможности технологии Java Native Image, поделиться опытом взаимодействия с ней и со средствами Spring для генерации нативных образов. Читать далее

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

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

[Перевод] Rust — будущее инфраструктуры JavaScript Rust - это быстрый, надежный и экономичный, с точки зрения памяти, язык программирования. Его признавали одним из самых любимых языков программирования шесть лет подряд (на основании опросов).Созданный Mozilla, он теперь используется в Facebook,...

5 жутких случаев массовой истерии в истории Массовой истерией называют явление в психологии толпы, когда люди в толпе проявляют признаки общего расстройства. Издание Ancient Origins привело 5 жутких примеров такого явления.

Изменение расширенных настроек печати через API nanoCAD Расширенные настройки печати в nanoCAD являются дополнением к базовым настройкам.Через пользовательский интерфейс nanoCAD невозможно увидеть, какая настройка является базовой, а какая – расширенной, однако при работе с API nanoCAD разница видна четко. В качестве примера можн...

FOSS News №103 — дайджест материалов о свободном и открытом ПО за 20—26 декабря 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Новости о распространении и борьбе с катастрофической уязвимостью в Log4...

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

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

[Перевод] Меняем std::sort для Google Мы меняем std::sort в библиотеке libcxx проекта LLVM. В этой статье мы подробно расскажем о том, как мы пришли к этому решению и какими будут возможные последствия, о багах, с которыми вы можете столкнуться в примерах из open source. Мы покажем несколько бенчмарков, объясни...

Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция Привет! Меня зовут Сергей Курочкин, я руковожу Android-разработкой в СберМаркете. Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс ...

[Перевод] Как сервис Repl.it (W18) хакнул хакеров Во время месячной атаки у нас были деньки передышки и мы умудрились сгонять на стартап-тусу от BloombergBeta. Хороший способ выпустить пар перед предстоящими бессонными ночами. (Repl.it — сервис, который позволяет писать код на большинстве языков прямо в браузере, без уст...

Способны ли животные к фотосинтезу, подобно растениям: отвечают учёные Фотосинтез - один из самых эффективных методов образования питательных веществ. Животные тоже обладают способностью к фотосинтезу. Один из примеров - пятнистая саламандра. Подробнее - в статье BBC Science Focus Magazine.

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

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

Пассивная слежка. Часть 1 Статья о наших попытках пассивно мониторить интересующие нас объекты на карте нашего мира. В публикации используются API, Яндекс, Телеграм. Надеемся Вам будет интересно. Читать далее

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

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

[Перевод] Состояние PHP в 2021 году: тенденции в разработке и прогнозы развития В 2021 году благодаря его новым фичам и возрастающей потребности в безупречно проработанном цифровом взаимодействии с клиентами PHP продолжал жить и здравствовать. Что же ждет PHP в будущем?В этой статье мы рассмотрим текущие реалии PHP landscape 2021, ответим на некоторые о...

IO_URING. Часть 2. Let's GO Всем привет! Продолжаем разбираться с io_uring. Сегодня попробуем использовать io_uring для решения прикладных задач. А именно напишем полноценный TCP сервер. Для этого мигрируем наши приложения с C на GO. Не буду писать длинные вступления, вперед экспериментировать! Читать ...

Обзор Yeelight Aurora Lightstrip Plus YLDD04YL. Умная светодиодная лента В рамках «Лаборатории» мы уже рассматривали освещение от Yeelight, работающее как в рамках элементов от самого производителя, так и как часть экосистемы Mi Home. Сегодня поделимся опытом эксплуатации Yeelight LED Lightstrip Plus с поддержкой выбора цвета и управления с экран...

Техническая разведка Привет, Хабр. Я знаю, что вы любите статьи «Чему я научился…». Обычно в них рассматривается либо личный опыт работы, либо различные книги с полезными советами. Сегодня я предлагаю вам посмотреть какой полезный опыт можно извлечь из методичек ЦРУ на примере материала Robert M...

Визуализация данных с помощью веб-фреймворка Dash (часть 2) В предыдущей части статьи мы разбирали, что такое dash в общем, и создавали одностраничный дэшборд, взяв за основу датасет драгоценных камней с kaggle.Но! Задачи, которые падают на нас ,не всегда просты и не всегда возможно ограничить себя  одной страницей на Дашборде. ...

Трудности перехода: каков Elixir на вкус после Ruby Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir. Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, ...

Самые популярные языки программирования. Хабратоп 2021 года В прошлом декабре мы подбивали предварительные итоги и выкатили рейтинг популярности языков программирования. Пришло время для обновлений! В Хабратопе-2021 рассказываем, как менялись позиции  ЯП в рейтингах TIOBE, PyPL и Stack Overflow. Поехали! Читать далее

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

PCIExpress 1.0 2.5GT/s analyzer на базе ПЛИС своими руками На работе я занимаюсь созданием PCIExpress устройств на ПЛИС. Некоторые из ПЛИС имеют встроенное PCIExpress ядро, позволяющее работать с этим интерфейсом на уровне пользовательского приложения. ПЛИС серии ECP5UM фирмы Lattice использует Soft-IP Core для реализации протокола,...

Зачем айтишнику писать статьи? Каждый день (да что там, каждый час) кто-то пишет на Хабр, а кто-то его читает. Авторы приходят на Хабр по-разному: чаще через песочницу или корпоративное приглашение, реже через инвайт друга, ещё реже — через общение с кураторами или модераторами. Они пишут обо всём: от сло...

Ирина — опенсорс русский голосовой помощник. Offline-ready - Ирина, таймер...- Ставлю таймер на пять минут.Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.TL;DR> Ирина вполне неплохо работает дома 24x7. Потребуется установить Python 3.5+ и зависимости через pip (немного зна...

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 1 — теория) В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический хара...

Microsoft откроет бизнесу доступ к языковым моделям GPT-3 от OpenAI Решение может применяться в широком спектре сценариев, от преобразования естественного языка в программный код до обобщения больших объемов текста и генерации ответов на вопросы.

Нейросеть, способная объяснить себе задачу: P-tuning для YaLM Мы уже рассказывали о том, как применили семейство генеративных нейросетей YaLM для подготовки ответов в Поиске, Алисе или даже в Балабобе. Главная особенность наших моделей — метод few-shot learning, который позволяет без дополнительного обучения решать большинство задач в...

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

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

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

Маленькие «малинки» в крупном дата-центре (часть 3 — Kea DHCP) Мы двигаемся к финалу нашей саги об интеграции Raspberry Pi 4 в выделенные серверы. В первом тексте я рассказал об отличиях процесса загрузки «малинок» от «классических» серверов. Во втором — собрал образ, способный после загрузки файлов по TFTP-протоколу запускаться и рабо...

Изучаем протоколы со Scapy Статья расскажет, как можно использовать Scapy для создания пакетов UDP и TCP протокола, так же попробуем реализовать взаимодействие по сети, отправив короткое сообщение с использованием каждого из протоколов. Читать далее

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

HTB BountyHunter. Ломаем сайт на PHP через XXE и пентестим приложение на Python Для подписчиковВ этой статье на примере простой по сложности машины BountyHunter с Hack The Box я продемонстрирую эксплуатацию уязвимости XXE, работу с обертками в PHP и эксплуатацию бага в программе на Python. Это не самые хитрые уязвимости, зато они встречаются в реальных ...

Субботник в эдеме — история ботаники. Часть I История ботаники, как и история зоологии, не украшена возвышенными героическими поступками и гениальными прозрениями. Зародившись как сугубо прикладная наука, со временем она превратилась в широкую отрасль естественнонаучных знаний. Ботаника берёт своё начало в древней Греци...

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

[Перевод] Как работать с числами с плавающей точкой в Python К старту курса по Fullstack-разработке на Python делимся решениями классической проблемы неточности чисел с плавающей точкой для новичков. В материале вы найдёте примеры работы с функциями и классами, предназначенными специально для решения проблем чисел с плавающей точкой. ...

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

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

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

Telegram-бот на вебхуках — Java+Spring, Redis, клавиатуры и деплой на Heroku — снова для самых маленьких В предыдущих сериях Это вторая статья в моей серии «для самых маленьких» — предыдущая была посвящена «классическому» Telegram-боту, наследуемому от TelegramLongPollingBot. Для кого написано Если вы ни разу не писали Telegram-ботов на Java с использованием вебхуков и тольк...

Как устроена система игровых событий в проектах Playrix В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents. Читать далее

Собеседование наоборот: EPAM, Хоум Кредит, Леруа Мерлен и Usetech (часть 2) По следам недели аналитиков на Хабр Карьере мы продолжаем разбираться в тонкостях работы и карьеры аналитиков с ребятами из Usetech, Хоум Кредит, Леруа Мерлен и EPAM. На прошлой неделе вышла первая часть «Собеседования наоборот» о трудоустройстве аналитиков в России и зарубе...

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

[Перевод] Почему важно учитывать дальтонизм в дизайне: пример игры Among Us Дальтонизм (недостаток цветового зрения) означает снижение способности видеть цвет или различия в цвете. Согласно данным сайта colourblindawarness.org, недостаток цветового зрения есть у 8% мужчин и 0,5% женщин. Всего в мире более 300 миллионов человек страдают той или ...

Static Reverse engineering для web Львиная доля всех статей, которые посвящены вопросу обратной разработки посвящены темам анализа низкоуровневого представления приложений и работы прошивок устройств. Только ли в этих областях можно применять подходы, которые использует обратная разработка? Попробуем разобрат...

От Й до Я: история создания отечественных смартфонов На протяжении последнего десятилетия в России создают отечественные смартфоны. И если первые попытки были чем-то сродни романтическому желанию иметь свой аналог «Айфонов» и «Гуглафонов», то к началу 2020-х пришло понимание, что нужна собственная программная платформа, собств...

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

Двигаем биты — или как реализовать свой стандарт UUID Я работаю над открытой реализацией предложенного стандарта идентификаторов UUIDv7. На данный момент спецификация существует в виде IETF черновика. Черновик уже пережил два переиздания, и мы постоянно обновляем спецификации. Но сам документ — это дело простое. Для того чтобы...

Зачем писать ботов ВК на C++? Постараюсь поделиться своей библиотекой для работы API VK. Читать далее

Применение exception при накате Python-скрипта на Huawei Обычно мы можем встретить три проблемы при попытке запустить Python-скрипт на сети Huawei (впрочем, и на любой другой): это отсутствие L3 связности с устройством, это неверные имя пользователя или пароль, и это SSH-неполадки. Можно заметить, что любая из этих проблем остано...

ULE — самописное MC Java ядро. Часть #1.1 — HelloWorld и изменения… Дальше создаю серверное ядро на языке Rust, в данной часте был сделан переход с Go и добавлено несколько интересный изменений.Переход с Go на Rust дал огромный прирост производительности и теперь ядро сверх быстрое. Ядро использует всего 128KB ОЗУ и запускается за менее 1мс)...

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

10 вещей, которые можно делать в верстке с помощью псевдоэлементов before и after Привет, Хабр! Меня зовут Максим Васянович, я спикер курса “Веб-верстка” в Skillbox. Сегодня поговорим о верстке, а точнее - о нюансах работы с псевдоэлементами before и after. Статья будет полезна, прежде всего, начинающим верстальщикам. Но, возможно, и профи будет интересно...

Генератор компонентов Vue.js? Разработка веб-приложения это не только решения интересных задач, работа с логикой, или с интересной версткой. Это также рутина, которая преследует каждого разработчика в процессе работы. Начиная от создания разных файлов, и написания шаблонного boilerplate кода, заканчивая ...

Состоялся релиз Kali Linux 2022.2 Состоялся релиз Kali Linux 2022.2, который содержит много обновлений и нововведений: обновление графических сред, новые инструменты, поддержка создания снимков и поддержка Kali NetHunter для умных часов. Читать далее

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

Почему арабский и иврит пишутся справа налево ПопМем Интересно 31.12.2021, 15:42 Почему арабский и иврит пишутся справа налево Те, кто встречал тексты, написанные на арабском и иврите, возможно, заметили, что они читаются не слева направо, а справа налево. Арабский и иврит – не ед...

[Перевод] Зачем нужен протокол языкового сервера (LSP)? LSP (протокол языкового сервера) сегодня весьма популярен. Есть стандартное объяснение этого феномена. Возможно, ранее вам уже попадалась эта картинка, у нас также являющаяся заглавной.Считаю, что такое стандартное объяснение популярности LSP – неверное. Ниже предложу вам ал...

От КАМАЗа до природного газа. Самые интересные статьи про дата-центры за год Привет, Хабр! В прошлом году мы много писали про дата-центры. Статьи про необычные локации ЦОД, новые технологии и личный опыт. Будем рады, если вы найдете материалы, которые еще не читали, и поделитесь мнением в комментариях. Приятного чтения! Читать да...

Язык программирования Ficus для вычислений и не только Здравствуйте, уважаемые хабровчане. Меня зовут Вадим Писаревский, я являлся лидером OpenCV (Open Source Computer Vision Library) на протяжении примерно 20 лет, и продолжаю участие в этом замечательном проекте. В этой статье я рад представить вашему вниманию результат другого...

Как мы тестируем Rest API в SM 2.0 с помощью Postman: сценарии, запросы, переменные окружения и немного автотестов Всем привет! Сегодня я расскажу о том, как мы тестируем Rest API в SM 2.0 с помощью инструмента Postman. И сделаю это на примере реальной задачи — посмотрим сценарий пользователя (как оформляется заказ у нас на сайте), посмотрим, как это работает все изнутри, пару слов ...

Имитационная модель пула потоков для сервера баз данных В работе построена объектная имитационная модель пула потоков, за основу которой взята реализация, используемая в СУБД MySQL, MariaDB и Percona Server. Описаны входные потоки модели и примеры их распределений. Приведены результаты апробации модели, согласующиеся с известными...

Российская виртуализация на российском железе: обзор платформы АЭРОДИСК MACHINE-V Здравствуйте, Хабровчане! В этой статье мы проведем обзор новой линейки программно-аппаратных комплексов АЭРОДИСК Machine-V с предустановленной российской системой виртуализации АИСТ и гиперконвергентой системой vAIR. Идею создания готовых программно-аппаратных комплексов (П...

Недельный геймдев: #53 — 16 января, 2022 Из новостей на этой неделе: Github показал игры с Game Off 2021 с наивысшими оценками, Godot 3.5 beta 1, Unity 2022.1.0 Beta 3, Axiom 2.1, UVPackmaster 3.Из интересностей: видео про громадных боссов в играх, «Сапёр» на движке Doom, доклад с GDC про создание правдоподобных...

Как htmx помогает разработке на HTML htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, алтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборк...

Уроки форензики. Расследуем взлом веб-сервера с Linux, Apache и Drupal Для подписчиковВ этой статье я покажу ход расследования киберинцидента на примере лабораторной работы Hacked с ресурса CyberDefenders. Мы научимся извлекать артефакты из образа диска системы Linux, анализировать их и по этим данным выясним, как злоумышленник скомпрометировал...

Гранат помог укрепить иммунитет и привести в норму давление Из-за повышенного артериального давления могут в будущем возникнуть болезни сердца. Однако существуют продукты, способные нормализовать давление. Один из примеров таких продуктов - гранат. Об этом сообщает турецкое издание Türkiye.

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

[Перевод] Введение в отладку на примере Firefox DevTools, часть 1 из 4 Используете для отладки JavaScript-кода только console.log? Есть способ получше! Отладчик в Firefox DevTools помогает быстро находить ошибки в коде и бережёт ваши нервы и время. Узнать, как сберечь нервы и время

Стоит ли учить PHP в 2022 году IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрез...

Какую СУБД выбрать и почему? (Статья 2) После публикации статьи “Какую СУБД выбрать и почему? (Статья 1)” ко мне поступили справедливые комментарии о том, что я не упомянул такие типы СУБД, как Time Series и Spatial. В этой статье я кратко опишу их и добавлю еще два типа — Search engines и Object-oriented (объект...

Повышаем производительность файлового I/O в JVM на Linux Все кто хоть раз касался разработки I/O интенсивных приложений, наверное, задумывался о повышении их производительности. Особенно когда у проекта много внешних хранилищ и они находятся по всему миру. Давайте разберем какие есть инструменты с их плюсами и минусами и как их лу...

Kincony KC868-A4: ультимативный гайд. Часть 2. Программирование компонентов Продолжаем ультимативный гайд по контроллеру Kincony KC868-A4, начатый в предыдущей статье. Сегодня мы подробно разберём распиновку KC868-A4 и познакомимся с принципами программирования компонентов (функциональных блоков) этого контроллера. Все примеры будут сопровождаться...

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Теория и подготовка Привет, Хабр! Если вы работаете с микросервисами, то знаете, что они имеют свойство образовывать некоторую связанность. Хорошо, когда связи между микросервисами однонаправленные, но всё становится сложнее, если возникают циклические зависимости.Такие зависимости приводят к с...

[Перевод] Производительность Unity C#: советы и приемы С чем бы вы ни работали – ПК, мобильным устройством или консолью, наступит такой момент, когда вы захотите оптимизировать вашу игру. В этой статье приведено несколько советов о том, что нужно и чего не нужно делать, чтобы ваш код на Unity стал бегать немного быстрее. Читать...

Архитектура Вселенной, часть 3: Идея Перед прочтением рекомендуется ознакомиться с предыдущими статьями цикла "Архитектура Вселенной":• Часть 1: Сознание• Часть 2: Относительность• Часть 3: ИдеяВ прошлой части "Архитектуры Вселенной" мы говорили об относительной природе пространства и времени, а сейчас я хотел ...

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. Campaign Management (далее для краткости Campaign) предназначен ...

Создание Single Page Application на Marko.js — ZSPA Boilerplate В данной статье вы познакомитесь с Marko.js актуальной на данный момент пятой версии. Пару лет назад на Хабре уже была отличная статья (за авторством apapacy) о том, как работает этот замечательный реактивный фреймворк, разработанный где-то в недрах eBay.В своем комментарии ...

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

ruDALL-E: генерируем изображения по текстовому описанию, или Самый большой вычислительный проект в России 2021 год в машинном обучении ознаменовался мультимодальностью — активно развиваются нейросети, работающие одновременно с изображениями, текстами, речью, музыкой. Правит балом, как обычно, OpenAI, но, несмотря на слово «open» в своём названии, не спешит выкладывать модели в о...

Уроки форензики. Расследуем киберинцидент CyberCorp Case 1 Для подписчиковСпециалисты по атакующей безопасности оттачивают навыки на Hack The Box, Root Me и VulnHub, а специально для защитников существует платформа CyberDefenders. В этой статье я покажу ход расследования киберинцидента на примере лабораторной работы с ресурса CyberC...

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

[Перевод] Создание игр для NES на ассемблере 6502: краткая история NES Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. З...

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

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

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

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

Оумуамуа — решение парадокса Ферми (2) Предыдущая статья Оумуамуа — решение парадокса Ферми вызвала довольно живой интерес несмотря на свою довольно узкую специализацию. Изначально она задумывалась довольно короткой, но оказалось, что довольно сложно лаконично описать. Это также отчасти является причиной критики ...

Яндекс.Практикум и “вхождение в айти” Зачем статья с отзывом о курсе на Хабре? Большая часть аудитории скорее всего уже работает в it, но у многих есть знакомые, которые интересуется вопросом “входа в айти”, и я пишу эту статью для того, чтобы её можно этим знакомым скинуть. На Хабре недавно был отзыв на Яндекс....

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

[Перевод] Рейтинг языков программирования 2022. C# обошел Java, TypeScript сравнялся с PHP, а Dart – наиболее комфортный язык Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования. Python уже второй год подряд демонстрирует негативную динамику. Java тоже теряет позиции – в этом году она на третьем месте по популярности. На второе место поднялся язы...

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

Что нам стоит Blockchain-игру построить: 10 пунктов, которые нужно учесть команде проекта Блокчейн-технологии постепенно проникают в разные (все еще относительно немногие) направления бизнеса, включая логистику, страхование, финансы и т.п. В России с блокчейном связаны, например, М.Видео, Альфа-Банк и СберФакторинг — эти компании используют открытую блокчейн-плат...

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

[Перевод] Mikrotik CHR на хостинге vpsserver.com Mikrotik CHR на vpsserver.comРазвертывание виртуального устройства Mikrotik может иметь разные задачи. В моем случае предстоит настройка собственного VPN т.к. доверия к сторонним у меня нет (и нет, я не параноик).Вроде бы достаточно простая задача, есть куча инструкций... но...

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

IT радио (SDR) для яхты Ещё в 2015 году хотел опробовать минимальное устройство на яхте для приёма AIS сигнала через плагин OpenCPN.Теперь у меня появилось такое устройство, в условиях городских помех на него и обычные станции принимаются со значительным фоновым шумом. Связано это с настройкой анте...

Илон Маск планирует открыть собственный университет с пикантным названием ПопМем Интересно 30.10.2021, 13:03 Илон Маск планирует открыть собственный университет с пикантным названием Основатель SpaceX Илон Маск периодически выдвигает разнообразные и порой шокирующие идеи. Например, в эту пятницу он заявил, ч...

Конвертируй это — с Yandex Message Queue Довольно прозаичный и понятный в быту термин порой все еще вызывает вопросы в IT. Зачем при разработке приложений использовать очереди или сервисы очередей, чтобы автоматизировать этот процесс? Ответим на этот вопрос практическими примером — напишем в serverless-стеке Yandex...

Проект под кодовым названием: «Бульболёт». Часть 1. Погружение в MPU6050 (или нет) Всем привет! Сегодня, а именно с этой статьи, я бы хотел начать свою историю разработки летательного средства на радио управление. В интернете я натыкался на множество статей где так или иначе собирали Р.У модели, и в основном это делалась на основе каких-то модулей или уже ...

Британский и американский английский – какой язык учить? Увлекательные истории из жизни слов Какой английский учить – британский или американский? Если назвать брюки trousers, поймут ли американцы, что я имею в виду? Елена Рабинович преподает английский язык разработчикам в ЕРАМ уже 5 лет и часто слышит подобные вопросы. В этой статье она ответила на них, а еще расс...

Java 17 для тех, кто не следил. Часть 1 Уже вышла Java 18, но для всех, кто сидит на LTS, по-прежнему остаётся актуальной версия 17. Такие люди могут не отслеживать постоянно фичи каждой новой версии, а спокойно заниматься своими делами и иногда навёрстывать сразу всё. И как раз на такое «навёрстывание» рассчитан...

Библиотека Pygame / Часть 1. Введение Это первая часть серии руководств «Разработка игр с помощью Pygame». Она предназначена для программистов начального и среднего уровней, которые заинтересованы в создании игр и улучшении собственных навыков кодирования на Python. Читать далее

В России прекращена поддержка корпоративных пользователей ОС Linux Ubuntu В рамках своего антироссийского "протеста" Canonical лишила все российские компании, пользующиеся ее операционной системой, возможности получения ее коммерческих сервисов, пишет CNews . То же касается и платной техподдержки - она теперь тоже недоступна российским п...

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

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

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

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

Bluetooth для андроида. Портируем с Linux на Android драйвер USB-адаптера Для подписчиковНе все USB-устройства начинают работать на Android сразу после подключения. В этой статье я покажу, как решить проблему, на примере широко распространенного Bluetooth-адаптера CSR 4.0. Нам понадобится собрать из исходников ядро Linux и покопаться в интерфейсно...

Как PVS-Studio защищает от поспешных правок кода, пример N3 Продолжаем серию маленьких заметок про то, как анализатор PVS-Studio может быстро находить новые ошибки в коде. При условии, конечно, что он регулярно используется :). Итак, перед нами очередной баг в проекте Blender. Читать дальше →

Функциональный Kotlin. Часть 2. Каррированные функции и где они обитают Вторая статья из цикла о функциональном программировании на Kotlin с разбором принципа работы, концепции и способов применения каррирования на практике. Читать далее

Айтишная профессия бесплатно: стань тестировщиком, аналитиком или инженером обеспечения доступности Друзья, осталось совсем немного времени, когда вы можете записаться на наши бесплатные курсы. Старшекурсники российских вузов и выпускники 2021 — для вас открыты несколько учебных направлений: - ручное тестирование;- автоматизированное тестирование;- системная аналитика...

Дата-центры кампуса IXcellerate Moscow North глазами оператора FirstVDS Операторы в двух наших дата-центрах дежурят круглосуточно. Один из них, Павел, работает с нами давно и знает, как там всё устроено. В своей статье он рассказывает про современную площадку IXcellerate Moscow North. Хочу рассказать вам про дата-центр, а точнее уже кампус ...

[Перевод] Способы переписать логические параметры в С++ Программисты читают код намного чаще, чем пишут его, поэтому важно писать понятный, последовательный, однозначный код. Автор книги С++17 in detail написал о способах избегать путаницы. Делимся его материалом к старту курса по разработке на С++. Читать далее

Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM) Привет, Хабр!Меня зовут Кирилл Васильев, и я хотел бы рассказать, как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM). КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со вр...

[Перевод] Табличные тесты в Go с использованием Gomock Чтобы эффективнее тестировать работу программы, можно использовать табличные юнит-тесты. В этой статье пошагово рассказываем, как писать такие тесты с помощью фреймворка Gomock.Этот текст написал Golang-разработчик Арек Ностер. С разрешения автора мы перевели статью. Читать ...

Нужен ли Mockito, если у вас Kotlin? Салют, коллеги.В рамках пятничной статьи предлагаю посмотреть на интересный способ создания моков в Kotlin, без использования сторонних библиотек.Я занимаюсь разработкой аддонов для Atlassian-стека в компании Stiltsoft и, из-за технических ограничени...

Technical Product Manager или Business Product Manager? Часть 2 Всем привет. Как и обещал, публикую вторую часть статьи на тему того, кто приносит больше пользы, Business Product Manager или Technical Product Manager. Напомню, что первую часть статьи, где я рассказываю, какая ситуация сложилась у меня в бизнесе и какой управленчески...

Представляем онлайн-самоучитель по Kubernetes и деплою с werf для разработчиков Рады представить новую версию онлайн-самоучителя по werf, нашей CI/CD-утилите с открытым кодом!Общая идея самоучителя — познакомить разработчиков с Kubernetes, показав на простых приложениях (готовы примеры для Ruby on Rails, Node.js и Laravel), как можно развертывать прилож...

TikTok начал исполнять новые требования Роскомнадзора После вступления в силу 1 января 2022 года закона «о приземлении» в России иностранных медийных компаний, Apple, соцсеть Likee и мессенджер Viber начали выполнение закона, открыв на сайтах формы для обращения российских пользователей. Их примеру последовала и соцсеть TikTok,...

10 неожиданных вещей, созданных автомобильными компаниями Автомобили Другое 25.02.2017, 15:20 10 неожиданных вещей, созданных автомобильными компаниями Автомобильные компании создают автомобили – согласитесь, чертовски логичное утверждение. Но, кроме того, они могут выпускать массу других вещ...

Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта Хабр, привет!Меня зовут Борис. Я Mobile QA lead в Vivid Money.Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.В рамках эт...

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

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

Пошаговое руководство, как создать собственный Kubernetes оператор В статье разберет базовые понятия, которые нужны для создания оператора (CRD - Custom Resource Definition, контроллеры) и покажем на практике как можно написать собственный оператор с использованием инструмента Operator SDK без единой строчки кода. Читать далее

Мультиплеер в Unreal Engine: Подключение и Хостинг Привет Хабр!В этой статье я хочу раскрыть механику создания онлайн сессии и подключения к ней. Все выполнено в с использованием Online Subsystem для возможного расширения вашей игры в контексте Steam, Origin, Play Station Store и т.д Читать далее

Потратить миллион, чтобы нанять двух джунов: профит и около него Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). Осенью у нас окончилось обучение в двух школах Java. По итогам работы мы приняли в штат двух учеников школы Java, а несколько сотрудников банка сменили с...

Из медицины в машинное обучение и не только: как люди приходят в IT Так сложилось, что если мы пишем о людях, то почти всегда — о сделавших некий прорывной проект. Сегодня в определённом смысле не исключение. Мы расскажем о ребятах, которые реализовали крупные проекты в своей жизни — сменили сферу деятельности и пришли в IT через «Школу 21»....

[Перевод] Не самые популярные методы Django ORM Все мы знаем, что Django предоставляет ORM прямо из коробки, что не позволяет нам писать SQL-запросы. В этом механизме есть большой потенциал. Однако большинство из нас знакомы только с методами filter(), get(), update() и delete() из Django ORM.В Django ORM есть много други...

Знакомство с p-адическими числами. Часть 1 Изображение с сайта Mathematical Art Galleries В этой серии из двух статей я приглашаю вас заглянуть в один любопытный и не самый популярный уголок математики, в котором обитают необычные создания — p-адические числа, а попутно хочу рассказать о написанной мной Haskell-библ...

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

Как создать работающий Impact Map Больше 8 лет я использую Impact Map для аналитики IT-продуктов. Я довольно активно делился знаниями об этом подходе: писал статьи, выступал на конференциях с докладами и мастер-классами, рассказывал студентам в университетах и интернам в компании. Слушатели и участники масте...

[Перевод] Дзен Nim 1. Копирование плохого дизайна — плохой дизайн.2. Если компилятор не может рассуждать о коде, то и программист не может.3. Не стой на пути у программиста.4. Перенеси работу на этап компиляции: программы запускаются гораздо чаще, чем компилируются.5. Настраиваемое управление ...

Собственный голосовой помощник off-line Никогда не был любителем голосового интерфейса, но пробовал дома и Amazon Echo, и Алису. Все-таки очень долго это и недостаточно надежно - произносить фразу и думать потом - правильно ли меня поняли и всё ли сделано, как я хотел.Но после прочтения статьи и, главное, обсужден...

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

Как составить личный финансовый план на 2022 год. Часть 1 Речь в статье пойдет не только о финансовом планировании, а скорее здесь будут описаны мои злоключения, в результате которых и родился мой будущий финансовый план на следующий год. А, ну еще и о том, как я смог заработать лишнюю 13 зарплату по факту ничего не делая.Если вы ч...

"Arbalest" Prototype-00. Стройка боевого робота с нуля (почти). Цели этой статьи.Популяризация 3d печати и попытка вдохновить людей на творчество.Показать создание робота, используя копеечные ресурсы.Если лениво читать стену текста, то пролистывайте до конца и просто смотрите последнее фото готового робота)Вместо вступленияЭто вторая ста...

Про Flutter: как бекендер в мобильную кроссплатформу лез Flutter – это полноценная SDK, позволяющая писать нативные приложения на ненативном языке (dart), имеющем высокую скорость работы (выше конкурентов, но немного ниже натива), отклика/отрисовки. Этот набор средств разработки позволяет писать достаточно сложные с точки зрения и...

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

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

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