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

[Перевод] Как написать собственную файловую систему на языке Rust Исходные данные и результаты работы программ должны где-то храниться для дальнейшего использования. Их хранение нужно организовать так, чтобы мы могли быстро получить нужную информацию. За эту задачу отвечает Файловая система (FS): она предоставляет абстракцию для устройств,...

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

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)". 1.1 Что такое Decision Tree? 1.1.1 Пример Decision Tree Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В ...

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

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

Сверхсовременные иммутабельные структуры данных Годами эксперты в С++ рассуждают о семантике значений, иммутабельности и разделении ресурсов за счет коммуникации. О новом мире без мьютексов и гонок, без паттернов Command и Observer. На деле все не так просто. Главная проблема по-прежнему в наших структурах данных. Имму...

Активация discard (TRIM) на Linux для SSD диска Современные SSD диски нуждаются в команде TRIM интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем: discard — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправл...

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

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

[Перевод] Разбираемся с not в Python В этой статье из серии про синтаксический сахар в Python я займусь на первый взгляд очень простым синтаксисом, но на самом деле, чтобы разобраться в механике его работы, нужно погрузиться вглубь на несколько слоев. Мы будем говорить о not.Определение звучит на...

Структуры данных: список, который умеет всё* * Под всё имеется в виду относительно быстрое выполнение операций над единичным элементом массива. Структур данных, которые реализуют список полно. У всех есть свои достоинства и недостатки. Например в мире Java — в зависимости от необходимых операций — можно использовать: ...

Linux Kernel Library: ядро Linux в форм-факторе so или dll Когда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

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

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

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

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

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

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

Packer, Terraform и Ansible: деплой кластера Kubernetes за час Привет, меня зовут Андрей Щукин, я помогаю крупным компаниям мигрировать сервисы и системы в Облако КРОК. Вместе с коллегами из компании Southbridge, которая проводит в учебном центре «Слёрм» курсы по Kubernetes, мы недавно провели вебинар для наших заказчиков. Я решил в...

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 4 — Чтение архива Продолжение цикла о Zip-архивах и PHP. Предыдущие статьи: Часть 1, Часть 2, Часть 3 Доброго времени суток, дорогие читатели. На этот раз я хотел бы представить, наверное, заключительную часть цикла о Zip-архивах и PHP. В этой статье я покажу как прочесть уже существующий ...

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

Что такое «сайдлоадинг» на Android, и чем он опасен Смартфоны Google Pixel могут выходить из строя, если установить Pixel Launcher для Pixel 4 С самого момента своего появления Android считался прибежищем для любителей прошивать, кастомизировать и всячески издеваться над своими смартфонами. Этому способствовала открытость опе...

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

Новая функция Android 11 стала головной болью для разработчиков Scoped Storage? Боль или не боль? Android 11 — достаточно крупное обновление. Google планирует показать его уже в мае этого года, а само обновление начнет распространяться уже в сентябре. Главными нововведениями станут улучшенная темная тема, упрощенная передача файлов...

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

Файловый сервер на Samba, видимый отовсюду В этой краткой заметке я не буду касаться настройки Samba, благо таких материалов в сети более, чем достаточно. Я хотел бы рассказать о том, как сделать доступ к файловому серверу удобнее. TL;DR: настройка Avahi и WSD, чтобы файловый сервер отображался в сетевом окружени...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

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

Анатомия юнит-теста Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). З...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

Адаптивный или отзывчивый? Разбираем структуру React-компонентов В этой статье мы разберёмся, в чем сложность написания адаптивных компонентов, поговорим о code-splitting-е, рассмотрим несколько способов организации структуры кода, оценим их достоинства и недостатки и попытаемся выбрать лучший из них (но это не точно). Читать дальше &ra...

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

Программный интернет-шлюз для небольшой организации Любой бизнесмен стремится к сокращению расходов. То же самое касается и IT-инфраструктуры. При открытии нового офиса у кого-то начинают шевелиться волосы. Ведь надо организовать: локальную сеть; выход в интернет. Лучше ещё с резервированием через второго провайдера; VPN д...

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

Замена дисков меньшего объёма на диски большего объёма в Linux Всем привет. В преддверии старта новой группы курса «Администратор Linux» публикуем полезный материал, написанный нашим студентом, а также наставником на курсах, специалистом технической поддержки корпоративных продуктов REG.RU — Романом Травиным. В данной статье будет расс...

Mac mini с процессором M1 стал доступен в облаке за 10 рублей в час Чтобы работать за Mac mini с M1, совершенно необязательно его покупать В конце прошлого года Apple представила свои первые компьютеры на базе собственного процессора M1. Несмотря на первоначальный скептицизм отраслевых экспертов, довольно быстро стало ясно, что ARM-архитекту...

[Перевод] Введение в ELF-файлы в Linux: понимание и анализ Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внут...

[Из песочницы] Введение в Traefik 2.0 Traefik — это обратный прокси-сервер с открытым исходным кодом, обеспечивающий простую работу с микросервисами и/или просто контейнерами с вашими приложениями. Обратный прокси-сервер (reverse proxy, реверс-прокси) служит для ретрансляции запросов из внешней сети к каким-либо...

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

[Перевод] Сертификация Microsoft в онлайн — вы, ваше пространство и ваш компьютер На момент написания этой статьи (апрель 2020 года) большая часть мира находится дома для сдерживания распространения COVID-19. В связи с этим было закрыто большинство центров тестирования, что нарушило планы многих людей по прохождению сертификации Microsoft. К счастью, у ва...

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

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

Бесплатный Плей Маркет на Андроид Многие современные гаджеты работают на операционной системе Андроид. Гугл Плей Маркет очень популярное приложение, с помощью которого можно загрузить игры и программы. Бесплатный плей маркет можно загрузить на сайте PlayMarket 4 ANDROID. С помощью этого приложения можно скач...

[Перевод] Как и по каким причинам провалились мои первые 5 стартапов До того, как Loki.ai стал финансово устойчивой компанией, я потерпел неудачу с первыми 5 стартапами за 5 лет. Я периодически получаю письма от людей, у которых были отклонены заявки по стажировкам и работе, а некоторые и вовсе были уволены. Они попросили дать совет на тему ...

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

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

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

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

Масштабирование андроид-тестирования в Одноклассниках Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. П...

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

Создаем CRUD API на Express и MySQL: часть вторая Всем привет. В преддверии старта курса «Разработчик Node.js», хотим поделиться продолжением материала, который был написан нашим внештатным автором. Всем еще раз привет. Мы возвращаемся к созданию приложения на Node.js и MySQL для небольшого todo — приложения на Node.js ...

Быстрее, чем C++; медленнее, чем PHP Привет, Хабр. У меня тут случайно код на хаскеле получился быстрее аналогичного кода на C++. Иногда — на 40%. (время работы, меньше — лучше, C++ снизу) Что самое смешное — я собирал хаскель-код через LLVM-бекенд, но при этом сравнивал с GCC. Если сравнивать с clang (что вро...

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

Кому еще нужен iTunes? С этим приложением можно про него забыть Были времена, когда загрузить контент на iPhone или iPad без iTunes было просто невозможно. Да что говорить, раньше без подключения к этой программе невозможно было сразу, достав устройство из коробки, его включить, так как оно требовало подключения к компьютеру с установле...

[Из песочницы] Многопоточность на Node.js. Event Loop Инфа будет полезна JS-разработчикам, которые хотят глубоко понимать суть работы с Node.js и Event Loop. Вы сможете осознанно и более гибко управлять потоком выполнения программы (web-сервера). Эту статью я составил по материалам своего недавнего доклада для коллег. В конце с...

Как на Tilda: создаем лендинг на WordPress Лендинг на WordPress, да еще и своими руками – это совсем несложно. В этой статье я расскажу о преимуществах и возможностях WordPress как открытой системы. Разберем по шагам, как сделать лендинг на WordPress с минимальными знаниями HTML и CSS. Наконец, в финале будет живой ...

Как и почему мы стали делать UI в Figma вместо Photoshop По моему опыту, большинство игровых интерфейсов все еще делаются в Adobe Photoshop ввиду их художественности и графической сложности, на которую не способны векторные редакторы. Однако и в игры пришел тренд плоских интерфейсов, и настало время пересесть с тяжелого ...

Мнение вирусолога: можно ли второй раз заразиться CoVID-19? Как думаете, что самое неприятное в пандемии нового коронавируса? Мне кажется, что это недостаток информации. Ведь если подумать, о большинстве заразных заболеваний мы знаем довольно много, а о CoVID-19, который появился всего несколько месяцев назад и унес – на момент напи...

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

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

Используем Cura для печати на SLA Photon Оговорюсь сразу  что статья была первично была опубликована на хабре, решил что тут тоже может кого заинтересовать и решил продублировать...Как это бывает, решил изучить новые технологии 3д печати и купил себе 3D SLA принтер Photon, но его софт а именно слайсер (AnyCubic Pho...

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

[Перевод] Пол Грэм: Идеи для стартапов (Ideas for Startups, 2005) (Это эссе основано на разговоре в Школе Стартапов 2005) Откуда вы берете хорошие идеи для стартапов? Из тех вопросов, которые мне задают, этот, пожалуй, номер один. Я отвечу так: а почему, собственно, люди думают, что придумать идею для стартапа настолько сложно? Может ...

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

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

The state of soft skills Так сложилось, что софт-скиллы довольно сильно помогли мне в карьере. Например, спустя всего 9 месяцев работы в Rambler, куда я приходил простым frontend-разработчиком, мне предложили стать руководителем группы, потому что мой руководитель увидел во мне потенциал и достаточн...

[Из песочницы] Как поднять свой сервер на RaspberryPI на основе docker Сказ о том, как я настраивал сервисы в docker на Raspberry PI и почему это, возможно, не лучшая идея. Введение (или как всё начиналось) Началось всё очень давно пару лет назад. Так уж вышло, что я оказался в Китае и надо было как-то связываться с внешним миром. Сторонним VPN...

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

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

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

[Перевод] Шесть советов, как сделать правильный игровой туториал Простой вопрос: в какой момент разработки нужно задуматься о туториале? Почти все мои прошлые туториалы — провал. Они часто откладывались на самый конец разработки. Когда до запуска оставалось считанные дни, всегда находился человек, который спрашивал: «А не должны ли мы ...

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

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

Okta. Управляй (доступом) и властвуй Один логин/пароль на все рабочие сервисы, или как выгодно, безопасно и удобно настроить доступ для сотрудников ко всем сервисам организации. В этом обзоре расскажу про технологии единого входа на примере нового донора программы TeploDigital – сервиса Okta. Что такое SSO ...

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

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

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

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

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

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

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

[Перевод] Руководство по Node.js для начинающих. Часть 1 Доброго времени суток, друзья! Представляю Вашему вниманию перевод этого руководства по Node.js. Введение в Node.js Node.js — это открытая и кроссплатформенная среда выполнения JavaScript. Это отличное решение почти для любого проекта. Node.js запускает «движок» Java...

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

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

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

Архитектура транзакций в Apache Ignite В этой статье мы рассмотрим, как устроены транзакции в Apache Ignite. Не будем останавливаться на концепции Key-Value хранилища, а перейдем сразу к тому, как это реализовано в Ignite. Начнем с обзора архитектуры, а затем проиллюстрируем ключевые моменты логики транзакций при...

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

API, ради которых наконец-то стоит обновиться с Java 8. Часть 2 Продолжаем рассказ про API, которые появились в новых версиях Java. 1. Files.mismatch() Появился в: Java 12 На практике довольно часто возникает необходимость проверить, являются ли два файла в точности одинаковыми или нет. С помощью метода Files.mismatch(), появившегося в ...

Истории аварий с Patroni, или Как уронить PostgreSQL-кластер В PostgreSQL нет High Availability из коробки. Чтобы добиться HA, нужно что-то поставить, настроить — приложить усилия. Есть несколько инструментов, которые помогут повысить доступность PostgreSQL, и один из них — Patroni. На первый взгляд, поставив Patroni в тестовой среде...

AnyTrans: менеджер файлов для iPhone 12, чтобы держать все данные под контролем На этой неделе многие пользователи уже получили свои iPhone 12 и iPhone 12 Pro. Как быстро перенести данные со старого iPhone? А если раньше был Android? Способов несколько, от решений, предлагаемых самой Apple, которые некоторые могут найти не самыми удобными, до специальн...

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

[Из песочницы] Docker-образ для раздачи Single Page Application Single-page Application (SPA) – это набор статических JavaScript и HTML файлов, а так же картинок и других ресурсов. Поскольку они не изменяются динамически, опубликовать их в интернете очень просто. Для этого существует большое количество дешёвых и даже бесплатных сервисов,...

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

[Из песочницы] Telegram-бот для управления инфраструктурой По мотивам статьи Телеграмм-бот для системного администратора (статья не моя, я только прочитал) захотел поделиться опытом создания Telegram-бота на PowerShell для управления серверами приложений. Будет текст, код и немножко картинок. Конструктивная критика приветствуется...

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

Магия виртуализации: вводный курс в Proxmox VE Сегодня речь пойдет о том, как быстро и достаточно просто на одном физическом сервере развернуть несколько виртуальных серверов с разными операционными системами. Любому системному администратору это позволит централизованно управлять всей IT-инфраструктурой компании и экон...

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

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

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

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

Google выпустила бета-версию Android 11. Скачать можно уже сейчас Компания Google, наконец, выпустила бета-версию Android 11 для разработчиков. Developer Preview, как правило, предназначены для тестирования и адаптации приложений разработчиками под новую версию операционной системы. На сайте обновления Google разделила нововведения на 3 р...

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

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

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

Приложение «Ваш телефон» позволяет перетаскивать файлы с ПК на телефон Приложение «Ваш телефон» в Windows 10 предлагает связь между вашим ПК и смартфоном с Android 7 или более новой версии, а также iPhone. За последние несколько лет приложение для телефона стало популярным, и теперь оно получает еще одну полезную функцию, которая поможет вам св...

IoT там, где вы не ждали. Разработка и тестирование (часть 1) Применением IoT в фитнес-трекерах, колонках, пылесосах уже никого не удивишь. Думали ли вы, что различные датчики можно установить в мусорные контейнеры и мусоровозы для контроля вывоза мусора? Звучит странно и вызывает вопрос: «А зачем?». Анатолию Коровину случилось порабо...

Современная сборка 2020 для frontend. Gulp4 Начало Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое б...

Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go» Привет, Хаброжители! Вам уже знакомы основы языка Go? В таком случае эта книга для вас. Михалис Цукалос продемонстрирует возможности языка, даст понятные и простые объяснения, приведет примеры и предложит эффективные паттерны программирования. Изучая нюансы Go, вы освоите...

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

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

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

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

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

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

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

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

[Перевод] Пишем загрузчик на Ассемблере и C. Часть 1 Эта статья представляет собой ознакомительный материал о написании загрузчика на С и Ассемблере. Сразу скажу, что здесь я не буду вдаваться в сравнение производительности итогового кода, созданного на этих языках. В этой работе я просто вкратце изложу процесс создания загр...

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

Создаем структуру простого мультиплатформенного бота Регистрация пользователей на мероприятия, автоматический поиск ответов в базе, общение с техподдержкой, обмен контактами — все это часть функций нашего бота Leader-ID. Он «живет» на трёх платформах: VK, Facebook Messenger и Telegram, при этом логика его работы пишется один р...

[Из песочницы] Как писать хорошие комментарии к коду: «зачем», а не «как» Привет, Хабр! Представляю вашему вниманию перевод статьи «Writing good comments: the why, not the how» автора Jack Franklin. Комментирование кода в программистской среде нередко считается пустой тратой времени или неким сигналом о том, что код можно и улучшить. Вот цитата...

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

Пишем простой WYSIWYG-редактор с помощью ProseMirror Когда в Sports.ru понадобился свой WYSIWYG-редактор, мы решили сделать его на основе библиотеки ProseMirror. Одной из ключевых особенностей этого инструмента является модульность и широкие возможности кастомизации, поэтому с его помощью можно очень тонко подогнать редактор п...

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

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

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

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

Сравнение Nylon от Hi-tech plast и Bestfilament Итак в этой статье пойдет рассказ о двух разных видов Nylon от всем известного Bestfilament и начинающих ребят с Hi-tech plast. Поступил мне заказ на изготовление шестерни на мясорубку, ничего необычного, стандартная шестерня. Клиент попросил как всегда попрочнее материал, я...

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

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

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

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

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

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

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

[Из песочницы] Двухфакторая аутентификация VPN/Mikrotik – просто и масштабируемо Здравствуйте! На написание данной статьи меня побудило прочтение аналогичного содержания статьи пользователя nkusnetsov. По количеству просмотров видно, что сообществу интересна данная тема. Поэтому я решил поделиться с вами собственным решением, которое было ранее реализо...

Новый Проводник в Windows 10X В 2017 году Microsoft представила Fluent Design, и постепенно многие ключевые области Windows 10 были изменены в связи с новым обновлением языка дизайна. В рамках подхода Fluent Design Microsoft обновила множество приложений, таких как «Музыка Groove», «Почта и Календарь», «...

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

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

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

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

Эффективная работа из дома: общее и личное Моё домашнее рабочее место Да, о работе из дома есть уже миллион текстов, в том числе и на Хабре. Но многие советы из них вроде «оденьтесь по-офисному, и тогда будет рабочий настрой» для меня выглядят слишком обобщающими. Люди разные, и одним формальная одежда действительно...

[Из песочницы] Как использовать консоль JavaScript: выход за пределы console.log () Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal. Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов,...

Дайджест событий для эйчаров и рекрутеров в IT на март 2020 Первый весенний дайджест получился насыщенным: курсы и вебинары погрузят вас в основы IT HR, научат правильно продвигать вакансии, помогут быстро собрать IT-команду и улучшить эйчар-бренд компании. А на встречах сообщества в Москве, Минске и Иннополисе вы сможете прокачать...

Коты в коробочках, или компактные структуры данных Как быть, если дерево поиска разрослось на всю оперативку и вот-вот подопрет корнями соседние стойки в серверной? Что делать с инвертированным индексом, жадным до ресурсов? Завязывать ли с разработкой под Android, если пользователю прилетает «Память телефона заполнена», а п...

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

Apple поделился техническим обзором Mac Pro и Pro Display XDR Технический обзор для Mac Pro и Pro Display XDR доступен в виде файла PDF. Она показывает технические характеристики и возможности на новых устройствах. Файлы также включают подробный список компонентов, набор функций и внутреннюю структуру Mac Pro. Apple объясняет подробн...

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

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

Голосовой ввод текста: топ-5 бесплатных инструментов Если вы работаете в digital-маркетинге, вам постоянно нужно взаимодействовать с текстом: записывать идеи, задачи, описывать концепции, писать статьи и многое другое. Иногда проще и быстрее надиктовать текст, чтобы не забыть важную мысль или задачу. Диктофон для этого подход...

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

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

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

Как сделать полезным приложение «Файлы» на iPhone и iPad Как только приложение «Файлы» было выпущено вместе с iOS 11, оно стало одним из моих наиболее часто используемых приложений на iPhone и iPad. Ведь помимо возможности доступа ко всем моим документам iCloud Drive, в «Файлах» есть также интеграция с другими облачными хранилища...

[Перевод] JavaScript tree shaking, like a pro Это перевод статьи об оптимизации и уменьшении размера бандла приложения. Она хороша тем, что тут описаны best practices, советы, которых стоит придерживаться, чтобы тришейкинг работал и выкидывал неиспользуемый код из сборки. Она будет полезной многим, потому что сейчас все...

Fintech на практике: как Quadcode технологии для трейдинга и банкинга разрабатывает Привет, самое хардовое IT комьюнити Рунета, я Саша, главный архитектор в компании Quadcode. Мы пришли на Хабр для того, чтобы показать “кухню” Fintech - варимся мы во всем этом много лет, поэтому уже можем поделиться опытом. В блоге будем рассказывать об архитектурах, технол...

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

NTFS изнутри. Как устроена файловая таблица MFT в Windows Для подписчиковУстройство файловой системы NTFS поражает своей грандиозностью и напоминает огромный, окутанный мраком лабиринт. Но какого любителя приключений остановит паутина, скелеты и пара ловушек с ядовитыми стрелами? Хватай факел, и отправимся в путь. Нашим первым квес...

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

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

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

Мнение: эта функция iPhone оказалась самой бесполезной Эта функция iPhone — самая бесполезная? Компания Apple с выходом каждой версии iOS радует потребителей немалым количеством новых функций. Конечно, система пока имеет ряд детских проблем. Например, нельзя удалить все контакты разом, но давай опустим все эти споры и обсу...

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

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

[Из песочницы] Краткое сравнение архитектуры SDS или поиск подходящей платформы хранения (GlusterVsCephVsVirtuozzoStorage) Данная статья написана для того, чтобы помочь выбрать для себя подходящее решение и понять отличия между такими SDS как Gluster, Ceph и Vstorage (Virtuozzo). В тексте используются ссылки на статьи с более детальным раскрытием тех или иных проблем, поэтому описания будут мак...

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

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

Проектирование и изготовление телескопа Говорят, что если человек приобрел телескоп и использует его для наблюдений, то через некоторое время он обязательно захочет другой, получше. Так случилось и со мной. У меня есть телескоп PowerSeeker 127мм, но захотелось лучшего. По этой причине я даже было дело собрался то...

Переключение контекста и простой вытесняющий планировщик для CortexM С каждым годом курсовые для моих студентов становятся все объемнее. Например, в этом году одним из заданий была разработка метеостанции, ведь только ленивый не делает метеостанции, а студенты они по определению не ленивые, поэтому должны её сделать. Её можно быстро накидат...

Google тестирует новое меню «Поделиться» в Chrome для Android. Как включить Экспериментальное меню Chrome скрывает в себе много интересного Я долго думал, за что я люблю Google Chrome. Ведь, по большому счёту, ничего уникального в нём нет. Тот же Firefox имеет и расширения, и блокировщик рекламы, да и с безопасностью у него явно получше, чем у детищ...

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

Как научиться программированию на Python? За последние несколько недель популярность онлайн-курсов и сектора онлайн-обучения в целом выросла почти в 4 раза. Почему? Во-первых, сейчас многие находятся на самоизоляции, и чтобы окончательно не потерять голову от безделья, пытаются занять себя чем-то полезным (и правил...

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

Как Zoom стала самой важной компанией в эпоху коронавируса Эрик Юань, основатель Zoom, во время IPO компании в прошлом году Коронавирус сильно ударил по мировой экономике. Акции Microsoft, Apple, Facebook, Amazon и Alphabet совместно потеряли более $1 триллиона за месяц. Но есть и те, кого кризис вывел на новые вершины. Одной из с...

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

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией Всем привет! В преддверии старта курсов «Framework Laravel» и «Backend-разработчик на PHP», продолжаем делиться интересным материалом по теме. Поехали. За последние несколько лет популярность Laravel резко возросла. Сообщество Laravel даже придерживается мнения, что Larave...

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

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

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

Сортировка выбором Всем привет. Эту статью я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. Введение Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с э...

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

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

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

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

Запустить Linux в браузере — поможет эмулятор jor1k (со встроенными Monkey Island, Doom и Frontier Elite II) В материале говорим о возможностях этого открытого инструмента и его технических параметрах. Также расскажем об аналогичных проектах, разрабатываемых в этой сфере. В предыдущих сериях: «Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боево...

Какую важную особенность получит линейка флагманов Galaxy S20? Какую важную особенность получат новые флагманы Samsung? Линейку флагманов Samsung Galaxy представят уже 11 февраля этого года в 22:00 по московскому времени на презентации Galaxy Unpacked 2020. Компания может показать складной смартфон следующего поколения Galaxy Fold 2, но...

[Из песочницы] Автоопределение кодировки текста Введение Я очень люблю программировать, я любитель и первый и последний раз заработал на программировании в далёком 1996 году. Но для автоматизации повседневных задач иногда что-то пишу. Примерно год назад открыл для себя golang. В качестве инструмента создания утилит golan...

Российское приборостроение: вертели мы ваш дизайн на пальцах Или как понять, что ваш дизайн уже пора выкинуть, и как сделать новый — Нужно делать как нужно, а как не нужно делать не нужно! Фраза из интернетов Это статья о промышленном дизайне в приборостроении: почему вы без него не обойдётесь; что делать и кого искать, если вы вс...

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

Почему я сделал личный проект учёта трат на Git+JS Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы: Зачем мне приложение учёта трат? Почему это личный проект? Почему проект на Git+JS? 1. Зачем мне приложение учёта трат? Как и многие другие люди...

Миграция из Oracle в Postgres Зачем переносить данные Тема переноса (миграции) данных из Oracle в Postgres набирает обороты. В РФ количество запросов по переходу на Postgres на волне импортозамещения, сейчас больше, чем когда либо. Oracle — очень качественный, мощный и отлично документированный инструме...

[recovery mode] Как мы проводим собеседования в Барселоне Я все-таки решил поделиться нашим опытом приема людей на работу, и решил я это сделать по двум причинам: нам удалось собрать всех самых сильных разработчиков нашего стека в городе, и люди, которые приходят — уходят от нас крайне редко (точнее, был лишь один случай ухода в со...

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

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

Вышла Android 11 Developer Preview Google преподнесла сюрприз — выкатила Android 11 Developer Preview для разработчиков. Первая сборка новой версии операционной системы вышла раньше срока, ее ждали где-то в середине марта. Но по каким-то причинам в этот раз решили раньше предложить превью Android 11, ко...

Сколько кода на C++ нужно написать для разбора HTTP-заголовка Authorization с помощью easy_parser из RESTinio? Мы продолжаем развивать бесплатный и открытый встраиваемый в С++ приложения HTTP-сервер RESTinio. В реализации RESTinio активно используются C++ные шаблоны, о чем мы здесь регулярно рассказываем (недавний пример). Одной из точек приложения C++ной шаблонной магии стал easy_p...

Как мы взвешивали товары или маленькая ода автоматизации Купили невесомый саморез за 0 рублей и теперь думаете, куда прикрутить? Размышляете о теории заговора в лице пиар-службы магазина? Хорошо, если не понимаете, о чём идёт речь. Это значит, что до вас не добрался мем с весами, которым почему-то все родственники считают важным с...

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

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

[Перевод] Новые бесплатные видео-курсы и гайды по C#, .NET, и ASP.NET для начинающих Если вы думали о том, чтобы начать изучать C#, то сейчас как раз самое время, чтобы начать! Наш коллега Скотт Хансельман работал над этим проектом несколько месяцев и рад представить страницу http://dot.net/videos  На ней вы найдете около сотни коротких видео (в ближайшее в...

Учет денег Хотел осветить тему, которая мне достаточно интересна и, возможно, кому-то тоже будет полезной – это тема учета денег. Пару слов об актуальности. Раньше я никогда бы не подумал, что бухгалтерия будет мне интересна и тем более, что чем-то подобным буду заниматься я сам. Я п...

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

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

[Перевод] Микросервисы со Spring Boot. Часть 5. Использование сервера имен Eureka В этой заключительной части нашей серии архитектур микросервисов мы научимся включать сервер имен Eureka и позволять микросервисам взаимодействовать с ним. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов ...

Опыт работы с Plesk Хочу поделиться некоторыми впечатлениями о нужности или ненужности такой вещи, как контрольная панель для коммерческого односерверного веб-проекта при наличии очень part time админа. История началась пару лет назад, когда знакомые знакомых попросили меня сопроводить покупку ...

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

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

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

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

[Из песочницы] Бакалавриат в США: Нетрадиционный путь в топ-вузики Прочитала я пару статей на хабре после того как прошла по ссылке со стороннего ресурса и мне как-то грустно стало так как я сама учусь в топ-университете в США и знаю нескольких из России. habr.com/ru/post/469275 habr.com/ru/post/230789 Однако, моя история не совсем станд...

Будни OEMщика (Часть 1) Понятие «OEMщик» очень широкое, оно может подразумевать любого сотрудника, работающего в одной из многих сфер производства. В данной статье под OEM подразумеваются продукты компании Microsoft, поставляемые вместе с производимым оборудованием. Т.е., под OEMщиком подразумевает...

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

Изучаем VoIP-движок Mediastreamer2. Часть 10 Материал статьи взят с моего дзен-канала. В прошлой статье мы сделали дуплексное переговорное устройство, выполняющее обмен звуковым сигналом через дуплексную RTP-сессию. В этой статье мы научимся писать фильтры и добавим сделанный своими руками фильтр в сделанное своими рук...

[Перевод] Как я модернизировал свою Flash-игру В этом посте я расскажу о том, как перенёс свою Flash-игру Frog Fractions на современную платформу. В результате я создал частично автоматизированный порт на Unity при помощи Haxe. Пост будет интересен всем, кто пытается модернизировать свою кодовую базу на Flash. В посте б...

Как передать ссылку с iPhone на любое устройство с браузером Нам пишет разработчик приложения LinkBridge На AppleInsider.ru довольно давно существует рубрика Dev Story. В ней разработчики рассказывают про опыт создания своих приложений. Но что-то в последнее время их почти не стало. С тех ламповых времен, когда игры имели Lite и полн...

Как превратить заметки в напоминания на Mac и iOS Заметки и Напоминания связаны даже глубже, чем кажется Apple всегда любили за её экосистему, которую ей удалось выстроить. Почти каждый продукт компании может работать в паре с другим, обладая глубокой взаимосвязью. Именно поэтому, скажем, Apple Watch позволяют разблокироват...

MMORPG Icarus M: Riders of Icarus от VALOFE вышла на iOS и Android Этот день наконец-то настал: мобильная MMORPG от издателя VALOFE — Icarus M: Riders of Icarus — увидела свет и теперь доступна по всему миру. Мы уже писали о ней и вынесли вердикт, что это типичный мобильный многопользовательский проект, коих сейчас тысячи в цифровых маркета...

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

Не «Оперой» единой. Выбираем proxy-сервис вместо Opera VPN Признаюсь, я никогда не считал себя преданным фанатом Opera. Тем не менее этот браузер был установлен на всех моих компьютерах — из-за простой и удобной функции VPN (который даже не VPN, а, скорее, продвинутый прокси), позволявшей при необходимости быстро менять внешний IP...

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

Нашли бюджетную альтернативу Final Cut Pro. Что она умеет? Многим рано или поздно приходится сталкиваться с необходимостью сделать видеоклип из нескольких роликов, наложить музыку или просто вырезать из него ненужные элементы. И без мощной утилиты здесь не обойтись — можно, конечно, ограничиться iMovie на айфоне, но возможнос...

Пишем тренажер слепой печати на чистом JavaScript. Часть 1 Здравствуйте! В преддверии старта курса «Fullstack разработчик JavaScript» один из наших авторов решил поделиться своим опытом создания тренажера для слепой печати. А мы же, в свою очередь, хотим показать вам данный материал. Всем привет! Сегодня я решил показать, как нап...

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

[Перевод] Создаём 2,5D-игру жанра Dungeon Crawling в Unity В этой статье мы расскажем, как можно воссоздать старые игры жанра dungeon crawler в Unity. Eye of the Beholder (1991 год) и SMT If (1994 год) Базовый ассет «карты» для уровня нашего подземелья. Большинство dungeon crawler-ов 90-х, в том числе и наш — это листы спрайт...

Инфографика средствами Excel и PowerPoint. Часть 2 Не жди поездку в Гагры! Давид Маркович, сериал «Ликвидация» Всем привет! За время карантина все, наверное, не по разу прочитали о том, как плодотворно А.С. Пушкин провел свой период «заточения», названный впоследствии «Болдинской осенью», поэтому не буду объяснять, что имен...

PostgreSQL Antipatterns: насколько глубока кроличья нора? пробежимся по иерархии В сложных ERP-системах многие сущности имеют иерархическую природу, когда однородные объекты выстраиваются в дерево отношений «предок — потомок» — это и организационная структура предприятия (все эти филиалы, отделы и рабочие группы), и каталог товаров, и участки работ, и ге...

Почему я отменил подписку на YouTube Premium Я подписался на YouTube Premium довольно спонтанно. Это произошло пару месяцев назад, когда мне нужно было что-то посмотреть в самолёте. Нет, конечно, у меня была пробная подписка, которую я оформил сразу после запуска, но тогда я быстро её отключил, потому что не хотел пла...

ок.tech QATOK: материалы мероприятия 11 декабря в петербургском офисе Одноклассников состоялся ок.tech: QATOK – мероприятие, посвященное обеспечение качества в ИТ проектах и всему, что с этим связанно. К нам в гости пришло более 100 человек. В рамках программы мероприятия, вместе с коллегами из OK, Mail.ru и ...

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

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

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

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

За кулисами жизни модератора Stack Overflow Недавние статьи на Хабре про опыт пользования StackOverflow сподвигли меня на написание статьи, но с позиции модератора. Сразу хочу отметить, что речь пойдёт о Stack Overflow на Русском. Мой профиль: Suvitruf. Сначала хотелось бы рассказать о причинах, побудивших меня участв...

Структура React REST API приложения + TypeScript + Styled-Components В этой статье я расскажу о том, как можно организовать структуру своего React приложения, чтобы работы протекала гораздо легче и навигация по директориям происходила быстрее. Звучит интересно

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

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

Open Collective. Прозрачный краудфандинг Слова «краудфандинг» и «краудсорсинг» уже давно вошли в обиход интернет-пользователей. Когда сообщество единомышленников помогает деньгами (на развитие проекта) или своим прямым участием в наполнении, например, карты (проставляя метки в нужных местах), то все делается быстр...

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

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

Самодельные беспроводные оконные датчики: STM32L0 + RFM69 + Android Добрый день, уважаемые хабровчане! Несколько лет назад я купился на красочную рекламу zWave и установил себе оконные датчики, базирующиеся на этом протоколе. К домашнему серверу был подключен USB zWave-Stick, который играл роль контроллера, написан небольшой модуль на Java, ...

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

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

Работаем с Cutter — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 3 В данной статье разберемся с декомпиляцией ELF файлов в Cutter на примере легеньких задач. Прошлые части введения в реверс: Часть 1: C, C++ и DotNet decompile — основы реверса Часть 2: Реверсим MIPS и Golang — основы реверса Организационная информ...

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

[Перевод] Скука на карантине. Как потратить больше всего денег в Azure одним щелчком мыши Пару дней назад Кори Куинн написал в твиттере: «Кто-то спрашивал — отвечаю. Полностью зарезервированный инстанс db.r5.24xlarge Enterprise Multi-AZ для SQL-сервера в Бахрейне стоит $3 118 367. Объявляется конкурс на самый дорогой вызов API в облаке AWS». В треде развернулась...

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

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

[Из песочницы] 3D картинка на питоне с (почти) нормальной производительностью Можно считать эту статью ответом на вот эту, где речь идет о написании подобной вещи на C++, с прицелом на новичков, то есть с упором на простой читаемый код вместо высокой производительности. После прочтения статьи у меня возникла идея повторить написанную автором программ...

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

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

(Не)стоп-кадр: как создавать видеоконтент удаленно Самоизоляция не означает, что вы не можете создавать видеоконтент для вашей организации. Снимать, монтировать и выкладывать видео можно и удаленно. Главное, найти идеи для роликов и подходящие программы для монтажа. Журналист Теплицы Екатерина Ульянова собрала рекомендации,...

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

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

Как я искал работу весной 2021 года Всем привет! Давно читаю Хабр и руки чесались тоже написать чего-нибудь. Так получилось, что повод появился только когда я начал искать новую работу. Вдохновил меня на эту статью увлекательный рассказ о собеседованиях в Яндексе. "Хм, а мне ведь тоже есть чего рассказать" - п...

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

Настройка BGP для обхода блокировок, версия 3.1. И немного Q&A Близится кожаная свадьба Роскомнадзора с Телеграмом, именно 16 апреля 2018 года начался крестовый поход, ставший фактически символом уничтожения интернета в России, хотя в глобальной войне, начавшейся в 2012 году, он был всего лишь ярким эпизодом. Ковровые блокировки в испол...

Быстрое чтение CSV в C# (fast read CSV) Уже не первый год пользуюсь своим универсальным конвертером CSV файлов в БД SQL Server - ImportExportDataSql, который имеет ряд полезных функций, необходимых любому разработчику БД MSSQL, например: перенос данных с одной БД в другую через SQL скрипт, выгрузка структуры БД...

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

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

Huawei рассказала, для каких сервисов Google у неё есть замена Huawei готова конкурировать с Google на равных. Для этого у неё есть всё, что нужно Несмотря на то что Huawei и до санкций США была довольно успешной компанией, именно они, скорее всего, станут тем триггером, который превратит её в мирового лидера. Огромные финансовые возмож...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

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

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

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

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

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

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

Мандатная модель распределения прав в FreeBSD v.2.0 Введение В данной публикации пойдёт речь о мандатной модели bsdextended, на handbook её описывают как брандмауэр файловой системы. Преимущество данного подхода над тем который я описывал в данном руководстве является тот факт, что не имеет значения какая файловая система исп...

Windows 10X – еще одна Windows RT? Когда появились первые слухи относительно Windows 10X с кодовым именем Santorini, было ясно, что эта современная версия Windows будет отличаться от привычной Windows 10. Внутри компании система позиционировалась как лёгкая для мобильных компьютеров, в том числе ноутбуков, дл...

Как передавать файлы (фото, видео, документы) с iPhone или iPad на Mac и наоборот Все пользователи iPhone знают, что к файловой системе этого устройства нельзя получить прямой доступ, как это работает с Android или Windows. В результате не удастся управлять всеми файлами внутри устройства, кроме тех, доступ к которым разрешен. Это усложняет задачу совмест...

Пишем бизнес-процесс в Битрикс24 с задатком на будущее На работе я занимаюсь поддержкой пользователей и обслуживанием коробочной версии CRM Битрикс24, в том числе и написанием бизнес-процессов. Нужно отметить, что на самом деле я не «чисто» специалист по Битриксу, а это одна из моих обязанностей. На самом деле обязанностей у мен...

Игра на WinForms + C# в 16 лет (2 часть) Предыстория Прошло довольно много времени с момента написания предыдущей статьи. Как и обещал я написал вторую часть. Хотелось бы сказать спасибо всем тем, кто давал советы в комментариях, из всех их я смог узнать что-то новое. Ну а для тех кому хочется сразу посмотреть прое...

Трюки для обработки метрик в Kapacitor Скорее всего, сегодня уже ни у кого не возникает вопрос, зачем нужно собирать метрики сервисов. Следующий логичный шаг – настроить алертинг на собираемые метрики, который будет оповещать о любых отклонениях в данных в удобные вам каналы (почту, Slack, Telegram). В сервисе он...

[инструкция] Создание аккаунта и сайта на платформе Google Site Спасибо пользователю Exosphere за помощь и конструктивную критику Часто возникает необходимость структурировать информацию, создать какой то банк данных, который будет доступен по сети интернет. Однако при этом нет необходимости создавать полноценный сайт или изменять теку...

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

Что установлено на моём iPhone в 2020 году Что установлено на моём iPhone? Всем интересно, какие приложения используют другие владельцы смартфонов. И именно поэтому я решился на написание данного материала. По правде говоря, с недавнего времени я решил существенно сократить использование телефона по одной простой при...

Blue-Green Deployment на минималках В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше...

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

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

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

Коронавирус мутировал и стал еще более заразным И снова тревожные новости о COVID-19: ученые выявили новый штамм коронавируса SARS-CoV-2, который стал доминирующим во всем мире и, по-видимому, более заразен, чем предыдущие штаммы, которые распространились в первые дни пандемии. К такому выводу пришли авторы нового исслед...

Почему приложения на Mac не могут переименовывать и удалять файлы В операционной системе macOS Catalina по умолчанию сторонним приложениям закрыт доступ к файловой системе компьютера. При первой попытке внести изменения (сохранить или отредактировать файл) программа сама попросит доступ. Если вы ошибочно запретили доступ приложению и...

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

Модульность в Java 9 Основным нововведением Java 9 было именно введение модульности. Про эту фичу было много разговоров, дата релиза несколько раз переносилась, чтобы допилить все должным образом. В этом посте речь пойдет о том, что дает механизм модулей, и чего полезного Java 9 принесла в целом...

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

Работа с объектным S3-хранилищем Mail.ru Cloud Solutions как с файловой системой Waste Pickers by GabrielBStiernstrom С объектными хранилищами чаще всего работают через API. Но если очень хочется, можно сложить туда файлы и работать с ними в объектном хранилище, как в файловой системе, с иерархией каталогов. Грубо говоря, в хранилище можно выложить фото...

Лучшие VPN для Android в 2020 году Конфиденциальность и анонимность в Интернете уже давно стали не роскошью, а необходимостью. Не говоря о том, что многие сайты недоступны в России по географическому признаку. Например, чтобы пользоваться Spotify в России, необходимо подключаться к VPN, поскольку сервис офиц...

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

[Перевод] Как линейное время превращается в Windows в O(n²) Недавно я столкнулся с многоминутными задержками на моей рабочей станции. После расследования выяснилось, что причина проблемы заключалась в блокировке, которая могла длиться по пять минут, во время которых источник блокировки в основном крутился в цикле из девяти инструкци...

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

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

Мобильная версия казино Император здесь kazinoall.com Выбирая для себя онлайн casino, которое в свою очередь, будет доставлять вам определенное удовольствие, обратите внимание на то, будет ли оно предоставлять возможность играть в азартные развлечения в любых условиях. Дело в том, что, к сожалению, азартные клубы могут время от...

Plague Inc стала самой популярной платной игрой в Китае на фоне эпидемии коронавируса Интересно, многие прошли игру до этого момента? В конце прошлого года в Китае был выявлен неизвестный вирус, который вызывает пневмонию. Меньше чем через месяц количество заболевших достигло 600 человек, для 17 болезнь закончилась летальным исходом. Из-за эпидемии власти Кит...

[Из песочницы] О команде ракетчиков, которые смогут Немного о себе Так случилось, что я после школы поступил учиться в Московский авиационный институт (МАИ) на 601 кафедру, аэрокосмический факультет. Учился я проектированию космических аппаратов и разгонных блоков. С 2004 года я пошёл работать в проектный отдел КБ «Салют» (ФГ...

Обзор подкаста «Деньги пришли» План такой: слушаю, что записывает компания, делаю заметки, пишу обзор. Alec Favale, Unsplash.com В конце прошлого года я решил написать о корпоративных подкастах и спросил в Facebook, кто ими занимается. Ответили человек 20, дали примеры программ. По мере их изучения я ...

Разбираемся с Custom Tooling в Argo CD Спустя некоторое время после написания первой статьи, где я ловко управлялся с jsonnet и гитлабом, я понял что пайплайны это конечно хорошо, но излишне сложно и неудобно. В большинстве случаев требуется типовая задача: "сгенерировать YAML и положить его в Kubernetes&qu...

Что нового в TestMace часть 1. Облачная синхронизация, обновленный интерфейс и многое другое Всем привет! После долгого перерыва TestMace вновь вылезает из норы, чтобы поведать миру о новостях, связанных с проектом. Если кто забыл либо не читал статью о нас, TestMace — это IDE для работы с API. Наша тулза ставит целью покрыть весь спектр работ с существующим API, к...

[Перевод] Как микросервисы Netflix справляются с Pub-Sub данными Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение В микросервисной архитектуре Netflix передача наборов данных от одного к нескольким конечным точкам может быть крайне сложной. Эти наборы данных могут содержать все, что уго...

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

Новые iPhone следят за пользователями? Зачем iPhone следят за нами? Между пользователями iPhone с Apple U1 внутри (в настоящий момент этот чип установлен только во всех вариантах iPhone 11) и Apple возникло недоразумение, грозящее перерасти в конфликт с судебными исками, скандалами и увлекательными разоблачениями...

Google представила технологию беспроводной передачи файлов Nearby Share — аналог AirDrop для Android Компания Google начала внедрение Nearby Share — новой технологии для Android-смартфонов, которая позволяет делиться фотографиями, файлами, ссылками и прочим контентом с другими пользователями Android-смартфонов, находящихся рядом. Принцип работы технологии очень похож на фун...

[Перевод] Обучение и оценка модели с Keras Это руководство охватывает обучение, оценку и прогнозирование (выводы) моделей в TensorFlow 2.0 в двух общих ситуациях: При использовании встроенных API для обучения и валидации (таких как model.fit(), model.evaluate(), model.predict()). Этому посвящен раздел «Использова...

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

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

[Из песочницы] Как использовать несколько языков программирования и не сойти с ума Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use multiple programming languages without losing your mind» автора Bart Copeland. Сопливое нытьё про FSF и Red HatКароч, тема такая: я им написал, а они не ответили. Ну ладно бы Массивсофт, который вообще ник...

[Перевод] Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 1 От Selectel: эта статья первая в цикле переводов очень детальной статьи об отпечатках браузера и том, как работает технология. Здесь собрано все, что вы хотели знать, но боялись спросить по этой теме. Что такое отпечатки браузера? Это метод, используемый сайтами и сервиса...

Fysetc 12864 v1.2 mini и SKR V1.3 - не видно нифига.     Данный пост для того, что бы не потерять ну и помочь кому-то, хотя для кого-то ниже написанное будет знакомо.    При установки дисплея Fysetc 12864 mini v1.2 на плату SKR V1.3 и последующей настройке с прошивкой платы вылезла у меня небольшая проблема, а именно на диспле...

Чем опасны бесплатные VPN для iOS Мне очень нравится слушать музыку в Spotify — долгое время пользовался и Apple Music, и Яндекс.Музыкой, но именно Spotify покорил своей умной подборкой плейлистов. Неудивительно, что последние несколько месяцев были проведены в ожидании официального прихода этого сервиса в ...

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

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

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

Лучшие приложение для прослушивания музыки на Android Многие пользователи мобильных устройств слушают музыку через сервисы потоковой передачи, такие как Pandora, Spotify, Google Play Music или Apple Music. При этом немалая часть меломанов предпочитает использовать собственную коллекцию медиа - и потому что потоковая передача не...

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

Опубликован финальный трейлер Final Fantasy VII Remake, релиз 10 апреля Уже 10 апреля состоится релиз Final Fantasy VII Remake — первой части масштабного ремейка одной из самых популярных частей в легендарной серии японских ролевых игр. Изначально проект будет эксклюзивом PlayStation 4, а только через год доберется до остальных платформ. Издате...

[Перевод] Post Mortem по недоступности Quay.io Прим. перев.: в начале августа Red Hat публично рассказала о решении проблем доступности, что возникали в предыдущие месяцы у пользователей её сервиса Quay.io (в его основе — реестр для образов контейнеров, доставшийся компании вместе с покупкой CoreOS). Вне зависимости от в...

[Перевод] Создание шейдерной анимации в Unity Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс. Создание двухсот мешей со скиннингом с анимацией ключевыми кадрами всего для одного спецэффекта — ...

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

Как компилировать Marlin 2 с помощью PlatformIO CORE. Более простой способ для людей, хотя бы слегка знакомых с командной строкой. Везде описан способ компиляции Marlin 2 c помощью VSCode, Atom или SublimeText, но на самом деле все эти программы лишние и добавляют свои собственные глюки в процесс сборки, реально необходим всего лишь PlatformIO Core, который запускается из командной строки.Если уже стоит...

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

[recovery mode] CRUD операции с Entities в DialogFlow (C#) Вступление Совсем недавно я начал работу над новым проектом, который включал в себя работу с уже достаточно известным сервисом (AI) от Google — DialogFlow. Суть заключалась в том, что у нас был бот (Telegram) который работал с API нескольких сайтов, а сам же DialogFlow помог...

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

2 дня с Galaxy Z Flip. Флип или флоп? Компания Samsung 11 февраля представила складной смартфон Galaxy Z Flip. Конечно, его не будут покупать много людей просто потому, что он стоит слишком много. По статистике, самым популярным телефоном в 2019 году стал iPhone XR, он оценен в 600 долларов и для многих являетс...

RE: Страх и ненависть в IT Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх...

do {Yoga} while (болит спина) Вступление Это обыкновенная история про самого обыкновенного IT-шника, которая, тем не менее, может быть интересна людям различных профессий. Статья не про то, как я добился успеха в той или иной IT-дисциплине, будь то программирование, администрирование или дизайн. Моя исто...

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

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

Используем трейты для полиморфных связей в Laravel Введение Поговорим о возможном применении трейтов вместе с полиморфными отношениями в Laravel. Содержание статьи: Описание предметной области Создание приложения Возможные структуры БД Создание сущностей Использование трейта Написание тестов Продолжение под катом

Парсер данных по произвольной грамматике в 400 строк Есть много существующих инструментов для парсинга файлов по заданной грамматике. Например, ANTLR или Yacc. Они используют конечные автоматы и генерируют большие файлы с исходным кодом для парсинга. Действительно ли это так сложно? Попробуем сделать сами. В этой статье я пока...

Моделируем поведение Quartus-проекта на Verilog в среде ModelSim В прошлой статье мы сделали достаточно сложный модуль. Разумеется, я вставил в тело статьи уже отлаженный результат. Но мне показалось, что достаточно странно, когда автор говорит «делай, как я», но при этом не показывает очень важного процесса. Давайте я покажу, как вообще ...

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

Очередная статья: STM32 для начинающих Всех приветствую! Это моя первая статья на Хабре, поэтому прошу не кидаться тяжелыми предметами. Заранее спасибо. Начнем с предыстории. Когда-то мне пришлось перейти на микроконтроллеры ARM фирмы ST. Это было связано с тем, что PIC и AVR уже не хватало и хотелось новых при...

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

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

[Перевод] Руководство Google по стилю в C++. Часть 1 Часть 1. Вступление … Часть 8. Именование Часть 9. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на...

Как восстановить файл почти любого формата на Mac или Windows Мы часто работаем с файлами различных форматов — .docx и PDF для текста, .psd и .ai в случае с графическими файлами (Photoshop и Illustrator) и многими другими. Но из-за того, что даже самое продвинутое программное обеспечение зачастую несовершенно, так называемая «ош...

Маленькие Python для маленьких embedded-программистов: CircuitPython и MicroPython для MeowBit На Хабре уже немало писали про обучающий микрокомпьютер BBC micro:bit, который в 2016 раздали всем британским школьникам, и сейчас он продаётся по $15. С прошлого года появились в продаже и micro:bit v2, в которых ОЗУ расширена с 16 КБ до 128 КБ. Неизменным остался форм-факт...

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

10 плагинов WooCommerce для Интернет-Магазина на WordPress Если у вас есть веб-сайт, разработанный с помощью WordPress, вы можете довольно просто и быстро запустить магазин с помощью плагина WooCommerce. Несмотря на то, что плагины WooCommerce предлагают множество преимуществ для веб-сайтов на WordPress, для внесения изменений и ул...

Аудитория Apple TV+ достигла 33 миллионов зрителей. Откуда такой успех Apple TV+ стал настоящим рекордсменом по скорости роста аудитории Когда Apple только представила, но не запустила Apple TV+, фанаты и инвесторы находились в приподнятом настроении. Ну, наконец-то, компания взялась за развитие по-настоящему нового и перспективного проекта. Од...

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

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

[Перевод] Прожектор угроз: Файловый вирус Neshta Салют, хабровчане! В преддверии старта курса «Реверс-инжиниринг 2.0» хотим поделиться с вами еще одним интересным переводом. Краткий обзор Neshta — довольно старый файловый вирус, который до сих пор широко распространен. Изначально он был обнаружен в 2003 году и ранее ассо...

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

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

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

[Из песочницы] Установка micropython на ESP8266 и работа с ним под Linux (для начинающих) Привет, Хабр! Это мой первый опыт с микроконтроллерами в целом, и ESP8266 (в виде Nodemcu v2) в частности. Возможно, для кого-то этот опыт окажется полезным. Почему именно micropython? Ответ простой — мой скромный опыт в области программирования ограничен Паскалем в ВУЗе,...

Google объяснила, почему Android до сих пор не умеет делать скриншот всей страницы Функциональность Android всегда была шире, чем у iOS. Шторка уведомлений, пункт управления, виджеты, замена штатных приложений сторонними – все эти и многие другие возможности появились на Android раньше и только потом, спустя время, перекочевали на iOS. Так продолжалось до...

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

Рецепты для хворающих SQL-запросов Несколько месяцев назад мы анонсировали explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL. За прошедшее время вы уже воспользовались им более 6000 раз, но одна из удобных функций могла остаться незамеченной — это структурные подска...

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

[Из песочницы] Виджеты на Android. Редкая фича, в которой придется разобраться Привет, Хабр! Меня зовут Александр Хакимов, я android-разработчик в компании FINCH. У вас бывало такое, что ваш дизайн был под iOS, а вам приходится адаптировать его под android? Если да, то часто ли ваши дизайнеры используют виджеты? К сожалению, виджет — редкий кейс для ...

Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet Написано огромное количество документации и статей о важной визуальной составляющей приложений — анимации. Несмотря на это мы смогли вляпаться в проблемы столкнулись с загвоздками при её реализации. Данная статья о проблеме и анализе вариантов её решения. Я не дам вам сере...

Kaspresso tutorials. Часть 1. Запуск первого теста Всем привет! Мы запускаем большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Статьи планируются разного уровня сложности: первые материалы будут рассчитаны на  людей, которые никогда не программировали и ничего не автоматизировали, ...

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

Какими решениями от Apple мне не хочется пользоваться В Apple может нравиться много. Возможно, даже почти все. Но исключения есть всегда. Наверное, про читателей нашего сайта одно можно сказать очень точно. Так как сайт в некоторой степени посвящен достаточно узкой теме, а именно, продуктам компании Apple и соответствующим ново...

Почему вам не надо становиться тимлидом? Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OT...

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

Внедрение CI/CD & DevOps в Enterprise (Ростелеком) — часть 2 Платформа Цифровых Продуктов Ростелеком. Как это устроеноДатой создания Платформы Цифровых Продуктов (ПЦП) можно считать лето 2017. Старое название - Digital Sandbox, или просто Песочница.В основе инфраструктуры лежат два тенанта на базе виртуализации OpenStack-KVM, размещен...

[Из песочницы] ESP32 + Arduino Core + FreeRTOS + Blynk = дом с зачатками разума Цели проекта Как то так вышло, что я построил свой дом, каркасник. В моём лакшери ауле нет газа и не предвидится в ближайшее время, потому и выбрал каркасник — всё остальное, для меня, было бы очень дорого топить электричеством. Ну и ещё потому что это одна из самых дешевых ...

Учёные создали материал со свойствами теплового коммутатора Группа учёных из Университета Карнеги-Меллона (Carnegie Mellon University) из Департамента инженерной механики разработала полимер со свойствами теплового коммутатора. Предложенный материал способен сам переключать своё состояние (структуру) из проводящего тепло в состояние ...

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

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

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

[Перевод] Докеризация приложения, построенного на базе React, Express и MongoDB Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как упаковывать в контейнеры Docker веб-приложения, основанные на React, Express и MongoDB. Здесь будут рассмотрены особенности формирования структуры файлов и папок таких проектов, создание файлов D...

3D-печать порабощает) (мысли вслух) 11 ноября 2019 года черт меня дернул) купить Anycubic Delta LP на распродаже Алиэкспресс. Ехал он ко мне месяц с российского склада. А покупал я его для того, чтобы побаловаться. К концу декабря это была довольно неплохо работающая дельта (это я уже позже понял сравнив со пе...

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

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

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

JSON Schema. Быть или не быть? Архитектура: искусство делать излишнее необходимым. Фредерик Кислер Ни для кого давно уже не секрет, что для любого web-сервиса на протоколе SOAP с сообщениями в формате XML верным и проверенным временем решением является предварительная разработка XML Schema (xsd-схемы), ...

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

[Перевод] Service Mesh: что нужно знать каждому Software Engineer о самой хайповой технологии Прим. перев.: Service mesh — явление, которое ещё не имеет устойчивого перевода на русский язык (более 2 лет назад мы предлагали вариант «сетка для сервисов», а чуть позже некоторые коллеги стали активно продвигать сочетание «сервисное сито»). Постоянные разговоры об этой те...

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

[Перевод] Создание CI/CD-цепочки и автоматизация работы с Docker Я написала мои первые сайты в конце 90-х. Тогда приводить их в рабочее состояние было очень просто. Был Apache-сервер на каком-нибудь общем хостинге, на этот сервер можно было войти по FTP, написав в браузерной строке нечто вроде ftp://ftp.example.com. Потом надо было ввести...

7 простых продуктов, которые повышают уровень холестерина Сладкая газировка Диета с повышенным содержанием сахара — одна из главных причин повышения уровня «плохого» холестерина ЛПНП, а также одновременного понижения уровня «хорошего» холестерина ЛПВП. К сожалению, сладкие напитки и фруктовые соки — самая распространенная причина п...

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

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

Как компании улучшают свои приложения с помощью A/B-тестирования A/B-тестирование делает приложения лучше Мелкие компании вряд ли станут заниматься подобным видом тестирования своих продуктов. А/B-тестирование — важная часть бизнеса, который так или иначе связан с технологиями. Его суть заключается в одновременном тестировании разли...

10 трендов дизайна креативов 2021-2022, которые цепляют сейчас и будут цеплять в ближайший год + много примеров Наш дизайнер уже давно просился написать в наш блог, собирал примеры и отслеживал тренды. И вот сегодня мы рассмотрим 10 (и еще 2 спорных) трендов в дизайне креатива, которые, на наш взгляд, способны повысить CTR объявления, поэтому, вероятно, доживут с нами оставшиеся месяц...

Google Stadia скачали больше миллиона человек. Много ли это? В прошлом году компания Google запустила новый сервис, задача которого состоит в том, чтобы пользователи могли играть в крутые игры даже на простеньком смартфоне. Пользователи долго ждали такого ”подарка” от Google, и когда дождались, начали массово скачивать это приложение...

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

Чек-лист для тестирования числового поля При тестировании встречаются как интересные задачки с замудреной логикой, так и простые, вроде проверки простой строки или числового поля. Для простых полей можно один раз написать чек-лист проверок, а потом переиспользовать, лишь немного меняя под «своё» поле. Сегодня мы р...

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

Postgresso 18 После паузы (отпуск), продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Не будем придерживаться здесь строго отображения всех релизов и событий, произошедших после последнего, еще октябрьского выпуска Postgresso #17, но важнейшее, произошедшее ещё в ко...

Разработчики головоломки Swim Out в поисках бета-тестеров для нового проекта В прошлом месяце студия Lozange Lab анонсировала свой новый проект под названием Rip Them Off. Это игра в жанре tower defense. До этого студия выпустила довольно успешную головоломку Swim Out, которая изначально вышла на мобильных устройствах в 2017 году, но сейчас она досту...

[Из песочницы] Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов В этой статье, вы увидите обзоры: Spring, Spring MVC, и Spring Boot, узнает...

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

[Перевод] Аппаратный взлом жёсткого диска Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Ad...

Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0. Но для начала давайте вооб...

Genshin Impact: кроссплей и перенос сохранений на iOS, Android, PlayStation 4 и PC Кажется, что мобильной игрой месяца определённо станет приключение Genshin Impact с элементами RPG. Это любовное письмо ещё одному приключению, только от Nintendo — The Legend of Zelda: Breath of the Wild — будет доступно на большинстве современных платформ. Также мы узнали ...

Давайте посмотрим, как менялся Google Play Каким был Google Play и насколько он хорош сегодня? Ранее я уже опубликовал статью, где подробно рассмотрел, каким был Google Play и как менялся. В этом материале я попытаюсь поделиться, скорее, своими ощущениями от магазина и тем, как они менялись с обновлениями. Я всегда х...

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

[Перевод] Go и кэши CPU Источник: unsplash.com По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике». Мартин Томпсон (создатель LMAX Disruptor) применил ...

Touch slider на JavaScript Когда я начинал изучать JavaScript, мне очень хотелось понять как работают и делаются слайдеры, которые можно перелистывать свайпами или мышью, но материалов с хорошим объяснением именно того, что мне надо, я не нашел. Через какое-то время мне удалось сделать нечто подобное....

Как научиться профессионально работать с PDF Не зря PDF по-прежнему остается одним из самых популярных форматов для обмена документами, ведь он отличается эргономичностью и удобством в использовании Формат PDF давно стал одним из самых универсальных для обмена документами. Можно писать научную работу хоть в «Блокноте»,...

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

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

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

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

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

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

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

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

[Из песочницы] Взаимодействие с NIDD через SCEF с использованием утилиты Postman. Краткий экскурс в SCEF и его возможности Данная статья позволит тем, кто еще только начинает свою разработку или уже применяет технологию NB-IoT, составить представление о том, как можно удаленно взаимодействовать с NB-IoT устройством. Краткий обзор NB-IoT легко наступает на пятки 2G и зарекомендовал себя как эн...

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

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

Проблема У вас бывает ощущение нерешенной проблемы? Такое странное, как будто ментальный зуд. Не дает думать о чем-то другом. Не дает уснуть. Постоянно отвлекает. Моей проблемой стало непонимание причины, по которой эти ощущения возникают. На интуитивном уровне все прозрачно: ест...

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

Пишем telegram бота на языке R (часть 1): Создаём бота, и отправляем с его помощью сообщения в telegram Аудитория telegram ежедневно растёт с геометрической прогрессией, этому способствует удобство мессенджера, наличие каналов, чатов, и конечно возможность создавать ботов. Боты могут использоваться в совершенно разных целях, от автоматизации коммуникации с вашими клиентами до...

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

Creality Ender-6 3d-принтер предоставлен рекламодателем в обмен на эту статью.Всем привет, расскажу про свой первый опыт работы с принтерами Creality, не ремонт и обслуживание их, а именно плотный опыт работы (3 месяца с момента получения принтера, принтер работал не выключаясь, и даже сейча...

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

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

Vivaldi 3.1 — Заметные радости Привет, Хабр! При работе на компьютере в сети мы больше всего времени проводим в браузере, а главная задача, которую мы при этом решаем — получение или создание информации. Собственно, всё просто. Но только на словах. А на самом деле за этими простыми описаниями стоит оче...

Создайте отличную презентацию со специалистами компании «TemplateMonster» Для того чтобы создать отличную интерактивную презентацию, которая произведет фурор, необходимо максимально ответственно подойти к её созданию. Следует отметить, что такого рода презентации могут сочетать в себе текст вместе с графиками, гиперссылками, картинками, анимацией,...

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

Что мне больше всего нравится в Samsung Galaxy Z Fold 2. А что меньше всего… Наконец-то Samsung разродилась своим вторым поколением складного смартфона. Его надо ценить хотя бы уже за то, что он вышел. Концепция первого складного смартфона (он был именно первым) доказала, что надо продолжать, и компания продолжила тратить огромные деньги на разработ...

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

Работа в Google. Из Украины в Кремниевую долину Он решил пару математических задач и устроился на стажировку в Facebook, уехал из Украины в Кремниевую долину, перешел в Google и теперь работает из дома 4 дня из 5. Мы пообщались с Вовой, инженером компании Google, который поделился историей, как он попал на стажировку в Fa...

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

Установка кастомов превращает Redmi Note 8 Pro в «кирпич» В сентябре нынешнего года вышел Redmi Note 8 Pro, в котором компания неожиданно установила чип от MediaTek. Далеко не всем фанатам такое решение пришлось по душе и, чтобы добавить этой модели преимущества, Xiaomi открыла исходный код ядра, запустив процесс создания кастомных...

На мобильных вышло оригинальное приключение Hue: A Color Adventure Издатель BadLand Publishing выпустил в App Store и Google Play игру под названием Hue: A Color Adventure. Это оригинальное приключение, в котором вам предоставляется возможность управлять цветами местного мира. В вашем распоряжении оказывается палитра, которую необходимо ис...

STM32 Часть 3: Первый Проект Мы наблюдаем общество, которое все больше зависит от машин, но при этом использует их все неэффективнее. — Douglas Rushkoff Эта фраза должна служить мотивацией для каждого программиста. Ведь именно вы решаете как машина использует свои ресурсы. Но как и с начала времен, чел...

[Перевод] Усложняем Sci-fi-модели процедурно: что такое Greeble и как его использовать Для начала позвольте мне пожаловаться, что «greeble» — ужасное слово, которое нужно изгнать из словаря. Ну, сняв камень с души, перейдём к объяснениям. Greeble — это мелкие повторяющиеся детали, добавляемые к модели, чтобы придать ей ощущение масштаба и определённой эстети...

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

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

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

[Из песочницы] Самый простой алгоритм для создания Филворда (Часть 1) Привет, Хабровцы. В этой статье я хочу поделиться с вами немного своим опытом и показать вам мой простой алгоритм, который я придумал для создания Филворда. Под «Филвордом» я буду иметь ввиду эту многим знакомую игру. В игре есть поле размером обычно NxN заполненное словами...

[Перевод] Ansible против Puppet Ansible и Puppet представляют собой системы управления конфигурациями (SCM), необходимые для построения повторяющихся инфраструктур. Ansible отличается простотой использования, имеет безагентную архитектуру (не требует установки агента/клиента на целевую систему) и YAML-по...

Новые функции на платформе «IT-волонтер»: собираем обратную связь Команда «Теплицы» обновила платформу «IT-волонтёр». Дизайн стал более легким и современным, добавлены новые элементы и функции, а в интерфейсе акцент сделан на работу над задачей. Это значит, что сотрудники некоммерческих организаций смогут быстрее находить волонтеров, связ...

Конкурс полезных статей PICASO3D-Club.ru Всем привет, Друзья! С Вами 3DTool!Спешим сообщить, что наши друзья, портал о 3D принтерах PICASO 3D, PICASO3D-Club.ru проводит конкурс с денежными призами на написание статей посвященных этим принтерам.Кстати, лучшие статьи с конкурса отмеченные отдельным призом редакции мы...

5 полезных приложений для владельцев Mac Подборка действительно крутых приложений для Mac Приложениям, разработанным для Mac, зачастую не уделяется столько внимания, сколько программам для iPhone и iPad. Конечно, владельцев компьютеров Apple в разы меньше, чем пользователей ее мобильных устройств, однако это вовсе ...

Пошаговая RPG Lord of Heroes доступна на Android В июле вышло достаточно пошаговых RPG, мы даже осветили большинство из них в нашем списке лучших RPG за июль, но студия CloverGames знает, что игр мало не бывает, поэтому ролевая игра под названием Lord of Heroes появилась на Android и всё благодаря глобальному запуску проек...

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

Как перестать бояться давать деньги в долг? Это приложение поможет Немногие любят давать деньги в долг в основном по одной простой причине — даже если займ просит близкий друг или родственник, нет никакой гарантии, что долг вернут в полном объеме. Если вы, конечно, не Дон Корлеоне, который точно уверен, что по итогу все равно получит свое....

Telegram Open Network: теория и практика от валидатора сети В последние несколько месяцев всё внимание мирового блокчейн-сообщества было приковано к запуску одного из самых масштабных криптовалютных проектов — Telegram Open Network (TON). Что на самом деле представляет из себя блокчейн TON? Является ли сеть TON действительно децен...

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

В поисках лучшего приложения для знакомств на Android Приложений для знакомств очень много, как выбрать лучшее? Приложений и сервисов для знакомств в Google Play можно найти очень много. Поэтому большинство устанавливает сразу несколько приложений на свой смартфон, а потом, как рыбаки, ждут, какая программа «выстрелит». Но смыс...

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

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

Что такое кадык и для чего он нужен? В английском языке «кадык» называется «Adam’s apple», что переводится как «Адамово яблоко» На передней поверхности шеи у каждого человека есть кадык. Некоторые люди ошибочно считают, что он имеется только у мужчин. На самом же деле он есть и у женщин, просто его хуже в...

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

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

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

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

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

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

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

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

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

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

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

Как мы уменьшили время простоя курьеров. Логистика в Яндекс.Еде Всем привет! Меня зовут Роман Халкечев, я руковожу отделом аналитики в Яндекс.Еде. Одно из ключевых направлений этого сервиса — логистика. Эффективность алгоритмов логистики во многом и определяет само существование сервисов доставки. Сегодня я расскажу читателям Хабра о на...

Автомобили Tesla теперь можно купить за биткоины. Почему это так важно? Tesla добавила на сайт поддержку оплаты при помощи биткоинов Автомобили Tesla теперь можно купить за биткоины. Пока эта возможность доступна только жителям США, но скоро кнопка оплаты криптовалютой появится и у людей из других стран. Новость оказалась очень неожиданной, одна...

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

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

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

Мониторинг ошибок и событий в журнале PostgreSQL (grok_exporter) Доброго дня, коллеги и хаброчитатели! Сегодня, хотел бы поделиться с Вами небольшой заметкой о том, как можно организовать оперативный мониторинг ошибок и событий появляющихся в журнале PostgreSQL используя Prometheus и экспортер метрик grok_exporter. Сразу оговорюсь, что э...

[Перевод] Джон Ромеро о Doom: 25 лет Rip & Tear Быстрый. Брутальный. Хардкорный. Беспощадный. Это Doom. «Doom – ‘nuff said!» Именно так должен выглядеть постмортем одной из самых важных игр в истории. Doom написал историю игр, Doom — это поп-культура, Doom — имя, символизирующее скоростные, хардкорные и беспощадные шуте...

[Перевод] Sysbench и распределение случайных величин Перевод статьи подготовлен специально для студентов курса «Базы данных». То, что вы, возможно, не знали о генерации случайных чисел в sysbench Sysbench — это популярный инструмент для тестирования производительности. Первоначально он был написан Петром Зайцевым в начале ...

Microsoft выпустит антивирус Defender для iOS. Зачем? Несмотря на то что для iPhone практически всегда существовала процедура джейлбрейка, позволявшая взломать iOS, именно он считался самым защищённым смартфоном на рынке. Ни один аппарат под управлением Android не мог составить ему конкуренцию, когда речь заходила о безопаснос...

[Перевод] Разница между @StateObject, @EnvironmentObject и @ObservedObject в SwiftUI Эту неделю я решил посвятить потокам данных в SwiftUI. В этой статье мы обсудим разницу между обертками свойств (property wrappers) @StateObject, @EnvironmentObject, и @ObservedObject, поскольку я знаю, что это самая запутанная тема для новичков в SwiftUI.Зачем нужны обертки...

Аутентификация в Kubernetes с помощью Dex: прикручиваем LDAP Сегодня я подробно разберу настройку аутентификации в Kubernetes с помощью Dex в связке с LDAP, а также покажу, как можно добавлять статических пользователей в Dex.  В статье не буду останавливаться на основных принципах работы Dex, а сразу перейду к установке и настройке L...

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

RabbitMQ. Часть 3. Разбираемся с Queues и Bindings Queue (очередь) — структура данных на диске или в оперативной памяти, которая хранит ссылки на сообщения и отдает их копии consumers (потребителям). Queue представляет собой Erlang-процесс с состоянием (где могут кэшироваться и сами сообщения). 1 тысяча очередей может занима...

Почему стоит присмотреться к Google Pixel 1 Google Pixel всё еще актуален? Компания Google несколько лет назад представила первое поколение Pixel. Устройство получилось достаточно интересным за счёт того, что предлагало чистый Android, частые обновления, приятную внешность и отличную камеру. С тех пор Google представи...

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

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

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

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

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

Google рассказала, почему нельзя устанавливать её сервисы на новые смартфоны Huawei В мае прошлого года США объявили Huawei угрозой национальной безопасности и запретили ей сотрудничать с американскими компаниями. В результате китайцы лишились возможности не только снабжать государственные структуры телекоммуникационным оборудованием, но и банально пользов...

Huawei поняла, как обойти запрет Google Huawei нашла способ обойти ограничение Google 15 мая прошлого года Министерство торговли США внесло Huawei в “черный список”. В это же время президент США Дональд Трамп подписал указ, запрещающий американским компаниям использовать оборудование, представляющее угрозу национа...

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

Непричёсанные мысли по поводу формата сохранения: теория Начнём с вводных. Мы разрабатываем программу, которая будет сохранять свои данные в файл, и при этом… будет расширяться, и существенно (отпадают уровни и сохранения большинства игр: после пары патчей бросаем игру и пишем новую); тем не менее программа не рассчитывает на то...

Тест-драйв смартфона Realme 6i 4/128GB Бюджетных смартфонов сегодня, как и всегда, огромное количество. При этом количество вендоров, которые пытаются что-то продать населению постоянно увеличивается. Часть из них, конечно же, в итоге отмирает. Но многие остаются. Мы до сих пор считаем realme относительным нови...

Благодаря WhatsApp злоумышленники могут красть файлы с компьютера Специалист по Javascript и безопасности Гал Вейцман (Gal Weizman) из PerimeterX раскрыл технические подробности нескольких серьёзных уязвимостей в популярном мессенджере WhatsApp.  Речь идёт о недочётах в безопасности десктопных клиентов WhatsApp на Windows...

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

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

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

Валидация ассетов в Unity3D Начнём с того, что я обожаю сериализацию в Unity. Она надёжна и очень проста в использовании. Я просто расширяю MonoBehaviour, ScriptableObject и подобные классы и настраиваю сериализуемые поля экземпляров в инспекторе. Но у неё есть и слабости. Одна из них ― человеческий...

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

Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его русскоязычная версия — ru.werf.io). Это обычный статический сайт, однако его сборка интересна тем, что построена с ...

Месяц с ноутбуком Huawei MateBook X Pro. Стоит ли он своих денег? Уже несколько недель в качестве основного своего рабочего инструмента я пользуюсь ноутбуком Huawei. Все это время у меня были несколько смешанные чувства и я не знал, что о нем рассказать. Теперь я собрался с мыслями и готов поделиться мнением о том, стоит ли его покупать. ...

[Перевод] Локализация в ASP.NET Core Razor Pages — Культуры Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также за...

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

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

[Из песочницы] Почему Rust лидирует в TechEmpower Framework Benchmark Вообще-то смотреть какого цвета потроха у Rust я не собирался. Ковырнул хобби-проект на Go, пошел на GitHub посмотреть состояние fasthttp: развивается ли? Ну хотя бы поддерживается? Вспрокрастинулось. Пошел, посмотрел где fasthttp сидит в бенчмарках TechEmpower. Смотрю: а та...

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

PostgreSQL Antipatterns: «Должен остаться только один!» На SQL вы описываете «что» хотите получить, а не «как» это должно исполняться. Поэтому проблема разработки SQL-запросов в стиле «как слышится, так и пишется» занимает свое почетное место, наряду с особенностями вычисления условий в SQL. Сегодня на предельно простых примера...

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

Изучаем английский с помощью Telegram бота Нет, это не одна из сотен статей о том, как написать свой первый Hello World бот на Python. Здесь вы не найдете подробной инструкции, как получить API-токен в BotFather или запустить бота в облаке. Взамен я вам покажу как раскрутить всю мощь Python на максимум, чтобы добить...

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

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

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