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

Самодельный компилятор и игровая библиотека Raylib. Опыт стыковки Говорят, что успех того или иного языка программирования или компилятора во многом зависит от его умения взаимодействовать со сторонним кодом. Конечно, «успех» любительского компилятора нужно понимать с известной долей условности и даже иронии. Однако и здесь интеграция с ...

[Перевод] Последние версии компиляторов D Группа разработчиков LDC закрыла ушедший год версией 1.19.0 компилятора D, использующего LLVM, а основная команда начала новый год версией 2.090.0 эталонного компилятора DMD. И если вы еще не слышали, не так давно появились важные новости о D-компиляторе на базе GCC, GDC. На...

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

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

Сравниваем производительность C# и C++ в задачах обработки изображений Бытует мнение, что C# не место в вычислительных задачах, и мнение это вполне обоснованное: JIT-компилятор вынужден компилировать и оптимизировать код на лету в процессе выполнения программы с минимальными задержками, у него попросту нет возможности потратить больше вычислите...

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

Проверка компилятора GCC 10 с помощью PVS-Studio Компилятор GCC написан с обильным использованием макросов. Очередная проверка кода GCC с помощью PVS-Studio вновь подтверждает мнение нашей команды, что макросы – это плохо. В таком коде тяжело разбираться не только статическому анализатору, но и программисту. Конечно, разр...

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

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

А суть-то в чём, или Минимизация исходников — проще, чем кажется В эти чудесные январские дни всех нас, конечно, волнует вопрос минимизации исходного кода с сохранением инварианта. В смысле, не волнует?!? Зря… Вот упал у вас компилятор, а программа гигантская — как-то неудобно такое разработчикам слать. И тут начинается веселье: а если в...

ВКонтакте снова выкладывает KPHP Привет! Сейчас будет дежавю. Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся на шесть лет назад. Поясню для тех, кто не в теме: платформа ВКонтакте изначально была написана на PHP. Со времене...

Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio Авторы: Андрей Карпов, khandeliants Филипп Хандельянц. Хочется поделиться интересной ситуацией, когда вопрос, используемый нами на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь. Читать дальше &r...

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

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

Комитет ISO утвердил стандарт «C++20» На днях комитет ISO по стандартизации языка С++ (да, есть и такой) утвердил международный стандарт «С++20». Возможности, которые представлены в спецификации, поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Кроме того, стандартные библиотеки с поддержкой «...

5. Fortinet Getting Started v6.0. NAT Приветствую! Добро пожаловать на пятый урок курса Fortinet Getting Started. На прошлом уроке мы разобрались с работой политик безопасности. Теперь пришло время выпустить локальных пользователей в Интернет. Для этого на данном уроке мы рассмотрим работу механизма NAT. Пом...

Еще раз о DevOps и SRE По мотивам дискуссии в чате AWS Minsk Community В последнее время разгораются настоящие битвы на предмет определения понятия DevOps и SRE. Несмотря на то, что уже во многом дискуссии на эту тему уже набили оскомину, в том числе и мне, решил вынести на суд хабра-сообщества ...

MKS Robin Nano 2.0. Новый хит? Владельцы Robin Nano, вы еще хотите SKR, тогда мы идем к вам.

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

Исключения C++ через призму компиляторных оптимизаций На дворе 21-й век, непроизводительная реализация обработки C++ исключений на основе setjmp/longjmp уже в прошлом. Современные компиляторы, такие как gcc и clang, используют продвинутую реализацию C++ исключений, называемую zero-cost exception handling. Но насколько действи...

Книга «Эффективный Java. Тюнинг кода на Java 8, 11 и дальше. 2-е межд. издание » Привет, Хаброжители! Программирование и тестирование обычно принято относить к разным профессиональным сферам. Скотт Оукс — признанный эксперт по языку Java — уверен, что если вы хотите работать с этим языком, то обязаны понимать, как выполняется код в виртуальной машине Ja...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

Разработка веб-сайта на паскале (backend) В этой статье я расскажу о том, зачем, почему и как я начал делать сайты на паскале: Delphi / FPC. Вероятно, «сайт на паскале» ассоццируется с чем-то вроде: writeln('Content-type: text/html'); Но нет, всё гораздо интереснее! Впрочем, исходный код реального сайта (почти ве...

Книга «Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. 2-е межд. изд.» Привет, Хаброжители! Если вы побаиваетесь конкурентного и многопоточного программирования, эта книга написана для вас. Стивен Клири предоставляет в ваше распоряжение 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования. К...

Обновление для IDE EmBitz 1.11 На официальном форуме появилось обновление для IDE EmBitz 1.11. Оно включает в себя расширенный список поддерживаемых микроконтроллеров STM32, обновленные версии библиотек CMSIS, SPL, HAL и LL, а также текущую версию компилятора gcc-arm-none-eabi-9-2020-q2-update и GDB серве...

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

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

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

[Перевод] Новости из мира OpenStreetMap № 507 (31.03.2020-06.04.2020) The trend observed by Pascal Neis in the week of 16 March seems to have been broken. 1 | Pascal Neis map data OpenStreetMap contributors Картографирование [1] Паскаль Нейс обратил внимание, что в последнее время снизилась ежедневная активность картографов в OSM. Однако у ...

Книга «Экстремальный Cи. Параллелизм, ООП и продвинутые возможности» Привет, Хаброжители! Для того чтобы овладеть языком C, знания одного лишь синтаксиса недостаточно. Специалист в области разработки должен обладать четким, научным пониманием принципов и методик. Книга «Экстремальный Cи» научит вас пользоваться продвинутыми низкоуровневыми в...

Релиз Spring Native Beta Недавно команда, занимающаяся портированием Spring на GraalVM, выпустила первый крупный релиз - Spring Native Beta. Вместе с создателями GraalVM они смогли пофиксить множество багов как в самом компиляторе так и спринге. Теперь у проекта появилась официальная поддержка, свой...

Кастомные декораторы для NestJS: от простого к сложному Введение NestJS — стремительно набирающий популярность фрeймворк, построенный на идеях IoC/DI, модульного дизайна и декораторов. Благодаря последним, Nest имеет лаконичный и выразительный синтаксис, что повышает удобство разработки. Декораторы или аннотации — наследники асп...

[Перевод] 50 лет Паскаля В начале 1960-х в мире доминировали языки Фортран (Джон Бэкус из IBM) для научного и Кобол (Жан Саммет из IBM и Министерство обороны) для коммерческого применения. Программы писались на бумаге, затем перфорировались на картах, после чего результатов их выполнения ждали цел...

Атрибут cleanup Цитата из документации GCC [1]: Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна прин...

Elixir как цель развития для python async В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал ...

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

[Перевод] Статический анализ в GCC 10 Я работаю в Red Hat над GCC, GNU Compiler Collection. Для следующего основного релиза GCC, GCC 10, я реализовывал новую опцию -fanalyzer: проход статического анализа для выявления различных проблем во время компиляции, а не во время исполнения. Я думаю, что лучше выявлять ...

А что, если без Python? Julia для машинного обучения и вообще Мы всегда хотим писать код быстро, но за это приходится платить. На обычных высокоуровневых гибких языках можно быстро разрабатывать программы, но после запуска они работают медленно. Например, чудовищно медленно cчитать что-то тяжелое на чистом Python. Си-подобные языки раб...

[Перевод] Запускаем однофайловые программы в Java 11 без компилирования Пусть исходный файл HelloUniverse.java содержит определение класса и статичный метод main, который выводит в терминал одну строку текста: public class HelloUniverse{ public static void main(String[] args) { System.out.println("Hello InfoQ Universe"); ...

Java-дайджест за 6 марта Вышел очередной выпуск подкаста «Битовая Каска» с Антоном Архиповым (@antonarhipov). Антона, наверное, представлять не нужно, но всё-таки: Java-чемпион, менеджер по продукту в команде Kotlin, раньше работал в ZeroTurnaround. Подкаст помогает вести Кирилл Толкачёв, в остал...

Начинается эпоха диалогового ИИ с выходом нового ПО NVIDIA для инференса Компилятор NVIDIA TensorRT 7 обеспечивает инференс в реальном времени, совершенствуя взаимодействие человека и ИИ

Рейтинг лучших CPU для игровых ПК в 2019 году В 2019 году на рынке десктопных процессоров стало интересно. Много лет здесь доминировала Intel, но AMD выпустила Ryzen 7 — прямых конкурентов моделям Intel i7. Потом серия ударов Ryzen 3 и 5 против Intel i3 и i5 — и добивание конкурента кувалдами Ryzen Threadripper 3960X ...

[Перевод] Алан Кей: История SmallTalk (Аннотация и Введение) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

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

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

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

Многочиповые GPU Nvidia на подходе? Компания зарегистрировала торговую марку Hooper Месяц назад в Сети появилась информация о том, что следующее поколение видеокарт Nvidia будет называться Hooper в честь Грейс Хоппер (Grace Hopper) — американской учёной, известной тем, что она одной из первых писала программы для компьютера Марк I и создала первы...

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

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

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

Поговорим про градиенты в Unity Всём привет. Меня зовут Григорий Дядиченко. Я в Unity разработке около 7 лет, и за это время повидал многое. Одна из основных проблем, которая встречается, когда забираешь у неопытных ребят проект - градиенты в интерфейсах. В целом ошибки в разработке интерфейсов не редкость...

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

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

Новости CLion: релиз 2020.1, пятилетие IDE и онлайн-сессия вопросов и ответов Привет, Хабр! Столько всего хочется сегодня рассказать, что даже сложно выбрать, с чего начать. Так что сначала попробую коротко обо всем самом важном: Продукту CLion вчера исполнилось 5 лет! В честь праздника мы смонтировали небольшую видеоисторию, своеобразное воспомина...

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

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

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

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

Быстрое Изменение Готовой модели Fusion 360. Всем привет! На примере столика для Мини Шлифовки сделал небольшое видео на тему "Как быстро редактировать уже готовую модель во Fusion 360.Показал свои любимые инструменты которые выводят работу с моделями на новый уровень. Всем кому тема интересна Добро Пожаловать.Ссылка н...

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

[Перевод] Deep Q Trading: объектно-ориентированный код на R Привет! Это перевод еще одной моей статьи, посвященной обучению с подкреплением (reinforcement learning). Эту итерацию даже предложили запостить в блоге Веды аналитики. :) В двух прошлых статьях на эту тему: 1 и 2 я пробовал создать и запустить обучение с подкреплением д...

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

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

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

Изучаю Akka.NET: Сервер простой онлайн игры Привет, Хабр! Решил я значит попробовать переписать тот сервер что делал с MS Orleans на Akka.NET просто чтобы попробовать и эту технологию тоже. Если вам интересно что получилось до добро пожаловать под кат. Читать дальше →

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

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name с помощью C# SourceGenerator В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать...

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

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

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

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

Обзор Overdrive City. Стратегия в реальном времени Сегодня мы поговорим о достаточно интересной игре, которая в корне отличается от всего того, что вы можете увидеть на рынке видеоигр. Разработчики показали достаточно качественный продукт с интересным сеттингом и тематикой, который выглядит предельно привлекательно. Советую ...

Аутенти(фи?)кация Некоторые термины, заимствуемые из английского, входят в русский язык с нарушением всех языковых правил. Характерный пример из 90-х — слово флуд, непохожее ни на транскрипцию [flʌd], ни на транслитерацию flood. Более свежий пример — биткоин: окончание -оин характерно для хим...

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

[Перевод] Усложнение команд консоли, 1979−2020 Моё хобби — открыть «Философию UNIX» Макилроя на одном мониторе, одновременно читая маны на другом. Первый из принципов Макилроя часто перефразируют как «Делайте что-то одно, но делайте хорошо». Это сокращение от его слов «Создавайте программы, которые делают одну вещь хоро...

Microsoft работает над портированием extended Berkeley Packet Filter (eBPF) в Windows ZDNet сообщает, что Microsoft работает над тем, чтобы портировать инструмент extended Berkeley Packet Filter (eBPF) в Windows 10 и Windows Server 2016 (и более поздние версии). В настоящее время инструмент можно запускать в Subsystem for Linux, но Microsoft работает над нати...

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

CAT-интерфейс для трансивера «Радио-76» В предыдущей публикации о трансивере «Радио-76» упоминалось о синтезаторе частоты с CAT-интерфейсом. В этой статье тема CAT-интерфейса будет раскрыта подробней. CAT-интерфейс (Computer Aided Transceiver) предназначен для управления частотой, видами модуляции и другими функ...

[Перевод] Matlab vs. Julia vs. Python Я использовал MATLAB более 25 лет. (А до этого я даже использовал MATRIXx, земля ему пухом.) Это не первый язык, на котором я научился программировать, но это тот язык, с которым я достиг математического совершеннолетия. Знание MATLAB было полезным для моей карьеры. Тем не ...

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

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

Scarlet Nexus: все не совсем то, чем кажется на первый взгляд Добро пожаловать в brainpunk — именно этот термин используют в Bandai Namco, описывая сеттинг Scarlet Nexus. Это мир-антиутопия, в которой остатки человечества силой собственного мозга способны управлять стихиями и временем, перемещать предметы и общаться на расстоянии...

Wulfric Ransomware – шифровальщик, которого нет Порой так хочется заглянуть какому-нибудь вирусописателю в глаза и спросить: зачем и почему? С ответом на вопрос «как» мы справимся сами, а вот узнать, чем думал руководствовался тот или иной создатель вредоносного ПО, было бы очень интересно. Тем более, когда нам попадаются...

Метафизика Dependency Injection Dependency Injection — это часто используемая техника в объектно-ориентированном программировании, предназначенная для уменьшения связанности компонентов. При правильном применении, помимо достижения этой цели, она может привнести поистине магические качества вашим приложе...

Открыта программа раннего запуска смартфона Honor 9X Pro Сегодня была открыта программа раннего запуска популярного смартфона Honor 9X Pro с сервисами Huawei Mobile Services и предустановленным магазином приложений AppGallery на европейском рынке. Во Франции и Нидерландах смартфон появится первым. В связи с программой ранней досту...

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

Шпаргалка по JS-методам для работы с DOM Основные источники DOM Living Standart HTML Living Standart Document Object Model (DOM) Level 3 Core Specification DOM Parsing and Serialization Введение JavaScript предоставляет множество методов для работы с Document Object Model или сокращенно DOM (объектной моделью до...

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

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

Обзор возможностей Qt Creator 4.12 и QBS 1.16 для программирования микроконтроллеров Здравствуйте, товарищи программисты «железячники» и все кто им сочувствует. Я хотел бы продолжить обзор возможностей IDE Qt Creator в связке с системой сборки QBS в части программирования микроконтроллеров. Ранее я уже писал про улучшения в предыдущих версиях QtC 4.10 и QB...

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

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

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

7 лет хайпа нейросетей в графиках и вдохновляющие перспективы Deep Learning 2020-х Новый год все ближе, скоро закончатся 2010-е годы, подарившие миру нашумевший ренессанс нейросетей. Мне не давала покоя и лишала сна простая мысль: «Как можно ретроспективно прикинуть скорость развития нейросетей?» Ибо «Тот, кто знает прошлое — тот знает и будущее». Как бы...

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

[recovery mode] Включаем поддержку NVMe на старых материнках на примере Asus P9X79 WS Привет Хабр! В голову мне закралась мысль, и я ее думаю. И придумал. Все дело в жуткой несправедливости производителя, которому абсолютно ничего не стоило добавить модули в UEFI Bios для поддержки загрузки с NVMe через переходники на материнках без слота m.2 (что, к стати, б...

.NET Core: интринсики x86_64 на виртуальных машинах Мы живём в эпоху доминирования архитектуры x86. Все x86-совместимые процессоры похожи, но и все при этом немного отличаются. И не только производителем, частотой и количеством ядер. Архитектура x86 за время своего существования (и популярности) пережила много крупных апдейт...

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

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

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

[Перевод] Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API Кратко объясню, что будет происходить в этой статье: покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity; сам проект я подробно описывать не буду, это не имеет значения для данной статьи; использую готовую модель нейросети, преобраз...

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

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают) Я много лет занимаюсь маркетингом, написанием текстов, при этом увлекаюсь английским и использую его в работе. В русскоязычном интернете в целом не так и много статей о контент-маркетинге и продвижении бизнеса в США. А те что есть часто просто рассказывают как надо делать ...

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

[Из песочницы] Ввод данных в STM32F4xx с параллельного АЦП через DCMI Известно, что семейство микроконтроллеров STM32F4xx, имея на борту достаточно производительные ядра, вполне подходящие для «не мясорубочных» задач ЦОС не имеют полноценного интерфейса ввода данных с простейшей параллельной шины в режиме «pipe-line» (clk-data). «Покурив» «dm0...

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

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

[Перевод] Zork и Z-Machine: как разработчики перенесли игру с мейнфреймов на 8-битные домашние компьютеры Компьютерные игры существуют почти столько же, сколько и сами компьютеры. Хотя в это трудно поверить, текстовая адвенчура Zork была Fortnite-ом своего времени. Но Zork был ещё и чем-то большим. Ради портируемости и экономии пространства сам Zork был написан на Zork Implemen...

Что такое Windows PowerShell и с чем его едят? Часть 5: Доступ к внешним объектам В операционных системах Windows поддерживаются различные объектные инфраструктуры. Для доступа к ним можно использовать интерфейсы прикладного программирования (API), но разработка полноценных приложений не всегда оправдана. В PowerShell существуют специальные командлеты, ...

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

[Из песочницы] Тестирование JavaScript кода с Jest для чайников. Часть 1 Здравствуй, Хабр! Данное руководство является первой частью в запланированном цикле статей про такой замечательный фреймворк для тестирования как Jest. Материал будет полезен новичкам и тем, кто только знакомится с тестированием, и хотел бы изучить этот фреймворк. В первой ч...

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

Unsafe generic math in C# К сожалению, адекватно перевести название затеянного мной безобразия на русский язык оказалось не просто. С удивлением я обнаружил, что официальная документация MSDN называет "дженерики" "шаблонами" (по аналогии с C++ templates, я полагаю). В попавшемся мне на глаза 4-м изд...

«Лэт ми спик фром май харт» © Во время проведённого на этой неделе вебинара в чате возникло обсуждение вопроса «Нужен ли перевод ITIL4?». Опять. К сожалению, трансляция была прервана, поэтому не успели обсудить этот вопрос. Но, поскольку дискуссия возникает не первый раз, выскажусь здесь. Также в конце д...

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

Node.js в 2020: Выйди и зайди нормально За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможности, а если и узнает про них, то это не влияет на написание ежедневного кода. ...

Google представила «Быстрые команды» и 3D Touch для Android. Жаль, не для всех Копировать чужие наработки, особенно, если их владельцем является Apple, очень опасно. Samsung в этом уже убедилась на собственном опыте, хотя изначально её планы были поистине наполеоновскими. Поэтому сейчас если кто-то и заимствует идеи компании из Купертино, то старается...

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

Google выпускает обновленную библиотеку в YouTube Music Сервис YouTube Music был представлен два года назад. Хотя Google создавал его как музыкальный проигрыватель по умолчанию для Android, он пока не смог полностью заменить своего предшественника – Google Play Music. Прежде всего из-за отсутствия бесшовного интерфейса. Но ...

Анимируем RecyclerView легко без перехода на ViewPager2 Когда мы работаем с коллекциями и их отображением, перед многими из нас часто встает выбор между ViewPager (теперь ещё и ViewPager2) и RecyclerView. Эти компоненты похожи друг на друга по области применения, но серьезно отличаются интерфейсом и реализацией. Начиная с suppor...

Обучение модели естественного языка с BERT и Tensorflow Рис. 1. Фразы и предложения в векторном представлении модели естественного языка Обработка естественного языка (Natural Language Processing, NLP) – это область вычислительной лингвистики, ориентированная на разработку машин, способных понимать человеческие языки. Разработк...

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

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

[recovery mode] Кросскомпиляция выполняемых файлов Rust для Windows из Linux Наверное не будет уж очень удивительным если я тут, на IT площадке Хабра, скажу что я иногда балую себя программированием. Основная OS у меня Linux, но иногда приходится собирать исполняемые файлы и для Windows. И естественно что перегружаться в Windows только для сборки exe...

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

Java-дайджест за 10 марта Есть такая штука, Milkman — это альтернатива Postman, расширяемый воркбенч для работы с запросами и ответами с интерфейсом на JavaFx и с идеей «всё есть плагин». Несмотря на плагинную архитектуру, эта штука почти не использует reflection, и поэтому стало возможно пересобр...

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

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

First DI: Первый DI на интерфейсах для Typescript приложений Делюсь одной из своих библиотек которая называется First DI. Она уже много лет помогает мне решить проблему внедрения зависимостей в браузерных приложениях для таких библиотек как React, Preact, Mithril и другие. При написании First DI за основу была взята идеология DI библи...

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

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

Развитие компилятора C для нового мультиклета-нейропроцессора На конференции разработчиков системного и инструментального ПО – OS DAY 2016, которая прошла в г. Иннополис 9-10 июня 2016 (Казань) при обсуждении доклада о мультиклеточной архитектуре была высказана мысль, что она будет наиболее эффективной при решении задач искусственног...

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

Массивы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь. Эта статья посвящена...

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

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

Разработка простейшего логического анализатора на базе комплекса Redd В прошлой статье цикла мы потренировались сохранять данные из потокового интерфейса в память средствами DMA. Пришла пора сделать какую-то полезную поделку, используя полученные навыки. Очень полезная при удалённой отладке вещь — анализатор. Вообще, при работе с комплексом ск...

[Из песочницы] Web2Text: глубокое структурированное извлечение содержимого web-страницы Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof. Веб-страницы являются ценным источником информации для многих задач обработки естествен...

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

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

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

Эффективен ли TDD? Во время интересной дискуссии, один очень уважаемый человек «козырнул» «неубиваемым» аргументом:Есть полно исследований, демонстрирующих эффективность TDD Действительно. Если зайти на Google Scholar, забить ключевые слова «TDD» и «Эффективность» — будет много научных статей,...

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

TOTP (Time-based one-time Password algorithm) С ростом числа угроз кибербезопасности, для разработчиков становится все более и более необходимым обновлять стандарты безопасности веб-приложений и быть при этом уверенными в том, что аккаунты пользователей в безопасности. Для этого в настоящее время многие онлайн-приложени...

Ролевая игра Craft of Survival уже доступна в раннем доступе на Андроид, геймеры рекомендуют Craft of Survival — это мобильный проект с изометрической камерой. Игра выполнена в жанре RPG, хотя она заимствует элементы из симуляторов и даже рогаликов. Мы начинаем путешествие в подземной тюрьме, где надо при помощи холодного меча расправиться с бандитами и прочей нечес...

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

Учимся квантовому программированию на Python с помощью примеров. Доклад Яндекса Сегодня любой желающий может воспользоваться методами квантового программирования, написать простой код на Python и запустить его на реальном квантовом вычислителе. Ришат Ибрагимов rishat_ibrahimov разобрал основы квантовых вычислений на примерах с кодом, показал, как запуск...

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

[Перевод] Как ограничить частоту запросов в HAProxy: пошаговая инструкция Автор статьи объясняет, как реализовать в HAProxy ограничение скорости обработки запросов (rate limiting) с определенных IP-адресов. Команда Mail.ru Cloud Solutions перевела его статью — надеемся, что с ней вам не придется тратить на это столько времени и усилий, сколько пр...

Защита и взлом Xbox 360 (Часть 2) В прошлый раз мы оставили сцену Xbox 360 на моменте, когда разработчикам стало очевидно, что защита DVD-ROM легко обходится, и с этим точно нужно что-то делать. Попытки исправить ситуацию обновлением ПО самой приставки не увенчались успехом, и на поле битвы вступила компани...

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

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

Объяснение: почему wc на Haskell оказался «быстрее» аналога на С После недавних статей (№10xd34df00d, №2chapuza, №3picul) сравнивающих скорость работы реализаций упрощенной утилиты wc у меня оставался только один вопрос — Как простая реализация на Haskell оказалась быстрее [простой реализации на C ?! Читать дальше →

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

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

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

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

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

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

Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js,...

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

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

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

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

Что айтишнику делать в 2020?  Приобрести VDS со скидкой 30%, да ещё и до повышения цен. Шутка :) Но в каждой шутке есть доля правды. До нового года осталась ровно неделя и мы знаем, что почти никто из нас с вами не начнёт новую жизнь с 1 января или с понедельника. Но также мы знаем, что никто не останов...

Microsoft представила DirectX 12 Ultimate с графическими функциями следующего поколения Компания Microsoft на днях анонсировала DirectX 12 Ultimate, кульминацию лучших графических технологий от Microsoft. DirectX 12 Ultimate поставляется со всеми графическими аппаратными функциями следующего поколения, включая DirectX Raytracing, Variable Rate Shading, Mesh Sha...

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

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

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

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

[Перевод] Vulkan. Руководство разработчика. Настройка окружения Я переводчик ижевской компании CG Tribe и здесь я буду публиковать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Это моя вторая публикация, которая посвящена переводу раздела Development Environment. Содержание ...

Снова про шаблоны C++ в микроконтроллерах Идея использования шаблонов языка C++ для программирования контроллеров не является чем-то новым, в сети доступно большое количество материалов. Кратко напомню основные преимущества: перенос значительной части ошибок из runtime в compile-time за счет строгого контроля ти...

Jinja2 в мире C++, часть третья. «Теперь ты в конане» С момента публикации предыдущей части прошло больше полутора лет, была реализована большая куча фичей, сделано несколько релизов, но не об этом пойдёт речь. Пару дней назад в жизни библиотеки произошло важное событие: она была добавлена в основной репозиторий conan'а (conan...

U3Print. Geek Fil/lament ABS GF и U3PRINT ABS HP. Доброго времени суток.Приобрёл по катушке пластика от U3print ABS GF 1кг за 700 р и ABS HP 1кг за 1600р(?!).Первый пластик понравился. Заявленная производителем температура печати 230- 270. При 260 все отлично. Спекаемость слоев на высоте. Пруток без лишних вкраплений.  Цена...

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

[Из песочницы] Doctrine ResultSetMapping на примерах Doctrine ORM предоставляет разработчику удобные средства выборки данных. Это и мощный DQL для работы в объектно-ориентированном ключе, и удобный Query Builder, простой и понятный в использовании. Они покрывают большую часть потребностей, но иногда возникает необходимость исп...

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

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

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

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

Вышла Postgres Pro Standard 12.1 СУБД Postgres Pro Standard придумана для того, чтобы доставлять наши разработки пользователям быстрее, чем мы можем это сделать через PostgreSQL. Те фичи, которые еще не вошли в PostgreSQL, но находятся на твердом пути туда, мы включаем в Postgres Pro Standard. Также в Postg...

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

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

Как выглядит рабочий стол моего смартфона? Не так давно я перешел с iPhone на Xiaomi Mi 9 Lite. И, конечно, после iOS мне было достаточно сложно привыкнуть к рекламе в операционной системе, большому количеству ненужного контента, а также к недостаточно приятному внешнему виду. В iOS у вас не возникает вопросов относ...

Как на айфоне сделать входящий звонок баннером или во весь экран Несмотря на то что у меня никогда не было претензий к удобству iPhone, iOS 14 должна вывести его на качественно новый уровень. Apple учла просьбы пользователей и реализовала почти всё из того, о чём её просили: виджеты, замену штатных приложений сторонними, оплату по QR в A...

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

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

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

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

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

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

[Из песочницы] C++ и Численные Методы: Приближенное интегрование по Ньютону-Котесу Методы Ньютона-Котеса — это совокупность техник приближенного интегрирования, основанных на: разбиении отрезка интегрирования на равные промежутки; аппроксимации подинтегральной функции на выбранных промежутках многочленами; нахождении суммарной площади полученных криволин...

[recovery mode] Удаленная работа в офисе. RDP, Port Knocking, Mikrotik: просто и безопасно В связи с пандемией вируса covid-19 и всеобщим карантином во многих странах единственным выходом многих компаний, чтобы продолжать работу — удаленный доступ к рабочим местам через интернет. Есть много относительно безопасных методов для удаленной работы — но учитывая масштаб...

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

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

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

[Перевод] Начало работы с методами JavaScript-массивов .map(), .filter() и .reduce() Когда я разбирался в том, как пользоваться методами JS-массивов .map(), .filter() и .reduce(), всё, что я читал, смотрел и слушал, казалось мне очень сложным. Эти концепции рассматривались как некие самостоятельные механизмы, ни к чему другому отношения не имеющие. Мне тяжел...

Поддержка геймпада для эмулятора Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Новый PS1 графический рендерер для эмулятора Omega Red Omega Red + PS1 эмулятор = Кодзима гений PS2/PSP эмулятор + game p...

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

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

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

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

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

Google Камера 8.1 приносит новый интерфейс и кинематографическое панорамирование Приложение Google Камера 8.0 дебютировало в начале этого года, в сентябре оно обновилось с выходомPixel 5 и Pixel 4a 5G. Как и ожидалось, обновленное приложение поставляется с множеством новых функций для устройств компании — это портретный режим Night Sight, кинематографиче...

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

[Перевод] Что под капотом компиляторных оптимизаций GraalVM? Продолжаем разбираться с работой GraalVM, и на этот раз у нас перевод статьи Aleksandar Prokopec «Under the hood of GraalVM JIT optimizations», изначально опубликованной в блоге на Medium. В статье есть несколько интересных ссылок, позже мы постараемся перевести и эти статьи...

В чём камера iPhone SE 2 лучше, чем у любого другого iPhone После детального разбора iPhone SE второго поколения стало известно, что в нем установлена такая же камера, как в iPhone 8. Для многих это стало тревожным звоночком, ведь до этого ходили слухи, что Apple установила в iPhone SE 2 модуль камеры от iPhone XR. Однако это не пом...

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

Изучаю Scala: Часть 1 — Игра змейка Привет Хабр! Когда я изучаю новый язык я обычно делаю на нем змейку. Может какому нибудь новичку который тоже изучает Scala будет интересен код другого новичка в этом ЯП. У опытных скалистов скорее всего мой первый код на Scala вызовет грусть. За подробностями добро пожалов...

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

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

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

«Hadoop. ZooKeeper» из серии Технострима Mail.Ru Group «Методы распределенной обработки больших объемов данных в Hadoop» Предлагаю ознакомиться с расшифровкой лекции "Hadoop. ZooKeeper" из серии "Методы распределенной обработки больших объемов данных в Hadoop" Что такое ZooKeeper, его место в экосистеме Hadoop. Неправда о распределённых вычислениях. Схема стандартной распре...

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

Учим AI Dungeon говорить по-русски Недавно ребята из сбер(-банка) анонсировали и выложили в свободный доступ свою модель gpt-3 и я понял, что можно наконец то реализовать свою давнюю мечту - сделать AI dungeon для русского языка. Данная игра сильно выстрелила в прошлом году, про нее было написано множество ст...

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

Можно ли подключить монитор с док-станцией к настольному ПК по USB Type-C? Я долгое время не мог найти в интернете четкого ответа на вопрос — можно ли подключить док-станцию по USB-C к обычному настольному ПК, если у него есть порт USB Type-C, и переключать весь свой сетап между ноутбуком и ПК переключением одного кабеля. Если вас также интересует...

[Перевод] Go глазами Rust-программиста: первые впечатления В преддверии старта курса «Разработчик Golang» подготовили перевод интересного материала. А каким было ваше первое впечатление от Go? На протяжении последних нескольких недель мне довелось использовать Go в работе. Я впервые использовал Go на более-менее крупном и серьезно...

Анонимные функции в PHP: сеанс чёрной магии с разоблачением Начать, наверное, следует с того, что анонимная функция(замыкание) в PHP — это не функция, а объект класса Closure. Собственно, на этом статью можно было бы и закончить, но если кому-то интересны подробности — добро пожаловать под кат. Читать дальше →

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

[Перевод] Новые фронтендовые библиотеки на периферии React Привет, Хабр! Сегодня мы хотели предложить вам интересный текст о том, как развивается фронтенд в наше время, вернее, по мысли автора — после React. Вероятно, пост мог бы быть и объемнее, поэтому, если автор напишет продолжение — мы также постараемся не упустить и перевести...

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

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

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

Обзор Before Launcher — минималистичный лаунчер для Android Стандартные лаунчеры современных смартфонов многим уже надоели. К тому же они слишком перегружены и приводят к очевидной зависимости. Я стал замечать, что больше не могу провести и 10 минут без гаджета в руках, и немалую роль в этом играют в том числе и интерфейсы оболочки....

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

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

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные Так выглядит избыточность. Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранил...

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

Зачем каракатицам 3D-очки: удивительное зрение головоногих Оказалось, что, хоть глаза каракатицы (Sepia officinalis) сильно отличаются от глаз человека, их способность воспринимать мир в трех измерениях во многом похожа на наш. Они используют все ту же систему, называемую стереопсис, но делают это совсем по‑другому. Нейробиолог Рича...

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

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

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

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

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

В Google Translate появились новые языки С 2016 года компания Google не добавляла в переводчик не одного языка. Теперь разработчики компаний Google обновили сервис переводчики тем самым добавив новые языки. Теперь Google переводчик обзавелся следующими языками: татарский, одия, киньяруанда, туркменский и уйгурский...

[Перевод] 5 JavaScript-библиотек для работы со строками Работа со строками может оказаться непростым делом из-за того, что она подразумевает решение множества разноплановых задач. Например, для простого приведения строки к «верблюжьему» стилю понадобится несколько строк кода: function camelize(str) {   return str.replace(/(?:^\w...

CreateRemoteThread для Linux В WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить ...

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

[Перевод] Пол Грэм про Java и «хакерские» языки программирования (2001) Это эссе явилось развитием бесед с несколькими разработчиками на тему предвзятого отношения к Java. Это не критика Java, а скорее, наглядный пример «хакерского радара». Со временем, хакеры развивают нюх на хорошие — или же плохие — технологии. Полагаю, может оказаться инт...

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

Распространение сферического коня в вакууме по территории РФ Привет от ODS. Мы откликнулись на идею tutu.ru поработать с их датасетом пассажиропотока РФ. И если в посте Milfgard огромная таблица выводов и научпоп, то мы хотим рассказать что под капотом. Что, опять очередной пост про COVID-19? Да, но нет. Нам это было интересно именно...

[Перевод] Инстанцирование в Python Допустим, у вас есть класс Foo : class Foo(object): def __init__(self, x, y=0): self.x = x self.y = y Что происходит, когда вы создаёте его объект? f = Foo(1, y=2) Какой метод вызывается первым при этом вызове Foo? Большинство новичков, да и, возможно, не...

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

Как устроен Sporth — ЯП для музыкальных live-сессий Один из предыдущих материалов мы посвятили OpenMusic — инструменту для написания музыки на ООП. Мы также говорили о языках программирования, заточенных под создание аудиокомпозиций. Сегодня мы решили продолжить тему и рассказать о языке Sporth. Его разработали специально, ч...

30 лет ИТ: глазами «олдскулов» и «джунов» Представьте себе ситуацию: в одной проектной команде работают программисты, одному из которых – за 50, а другому – едва за 20. Вопрос не в том, смогут ли они разговаривать на одном языке и создавать работающий продукт (если оба шарят в профессии – смогут), а в том, чем разли...

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

Как улучшить звук на смартфоне Xiaomi Как улучшить звук на смартфонах Xiaomi? Смартфоны Xiaomi в России и в особенности среди наших читателей достаточно популярны. А популярны они за счет своей низкой стоимости, но, вероятно, не самого лучшего звука. Телефоны компании не могут предложить качественное звучание ме...

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

Blazor Client Side Интернет Магазин: Часть 4 — Добавления товара в корзину Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность добавления товара в корзину. За подробностями добро пожаловать под кат. Читать дальше →

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

Как задать приоритет предпочитаемых Wi-Fi сетей на Android Задать приоритет сетям Wi-Fi проще простого Беспроводной доступ в интернет сегодня присутствует повсеместно. И наш смартфон почти всегда подключен к той или иной сети Wi-Fi. Хотя ваш умный гаджет «смотрит» на уровень сигнала, когда подключается к тому или иному роу...

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

Библиотеки для декодирования видео. Сравнение на Python и Rust Многие задаются вопросом — насколько медленный Python в операциях декодирования? Правда ли, что компилируемые языки дают прирост скорости во всем, чего касаются? Что быстрее: OpenCV или ничего? Ответы на эти и другие бесполезные вопросы под катом вы прочитать не сможете. Там...

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

AMD снова пообещала аппаратную трассировку лучей и скорый выход Big Navi AMD выпустила 17-й эпизод передачи The Bring Up, в котором коснулась вопросов разработки игр и своих планов в области графических ускорителей. Обычно в это время проходит конференция разработчиков игр GDC, которая была отменена в этом году из-за пандемии, так что выбор темы ...

Как работает Object Tracking на YOLO и DeepSort Object Tracking — очень интересное направление, которое изучается и эволюционирует не первый десяток лет. Сейчас многие разработки в этой области построены на глубоком обучении, которое имеет преимущество над стандартными алгоритмами, так как нейронные сети могут аппроксимир...

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

Microsoft понадобилось 10 дней, чтобы удалить исходники Windows XP с принадлежащего им GitHub В исходниках Windows XP нашли секретную тему в стиле Mac В сентябре вся индустрия всполошилась после новости об утечке исходных кодов Windows XP и Windows Server 2003. Новость оказалась не фейком. Исходные коды настоящие, и из них скомпилировали рабочие версии обеих ОС. ...

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

4К (2160р) разрешение для игр PS1, PS2, PSP в эмуляторе Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Видео гид по эмулятору Omega Red Поддержка геймпада для эмулятора Omega Red Новый PS1 графический рендерер для эмулятора ...

Метод решения системы диофантовых уравнений Добрый день! Как и обещал в первой своей статье, я хочу ознакомить Вас с одним из методов решения системы диофантовых уравнений. Цель статьи ознакомить остальных читателей с этой методикой и донести её в более или менее понятном виде. Рассмотрим систему из двух диофантовых у...

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

Как использовать объектное S3-хранилище Mail.ru Cloud Solutions для хранения бэкапов Veeam LogiMap ASRS Unit by Vidom Veeam Backup & Replication — коммерческая платформа для резервного копирования и управления данными облачной, виртуальной и физической среды. Она поддерживает разные сценарии хранения данных, в том числе использование S3-совместимых объектных ...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

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

Каким будет дизайн мобильных приложений в ближайшем будущем? One UI Если среди наших читателей есть те, кто интересуется дизайном, вы наверняка заметили, что всё чаще в Сети можно найти примеры UI/UX-дизайна, связанного с мобильными устройствами. Для многих дизайнеров мобильный интерфейс стал главным, ведь по статистике всё больше люд...

Режим самоуничтожения: разложение эндоскопической капсулы за счет света Одним из самых распространенных и эффективных методов диагностики ЖКТ (желудочно-кишечного тракта) является эндоскопия. Пациент приходит на процедуру, ложится на бочок (как правило, но не всегда), а добрый доктор вводит ему в организм через естественные пути эндоскопически...

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

Пример event-driven приложения на основе вебхуков в объектном S3-хранилище Mail.ru Cloud Solutions Rube Goldberg coffee machine Event-driven architecture повышает ценовую эффективность используемых ресурсов, потому что они задействуются только в тот момент, когда они нужны. Существует масса вариантов, как это реализовать и не создавать дополнительные облачные сущности в...

В поиске вопросов, или как создать новый отладчик Мы уделяем много внимания инструментам разработки: участвуем в горячих спорах о редакторах (Vim или Emacs?), долго настраиваем IDE под свой вкус, и тщательно выбираем языки программирования и библиотеки, которые с каждым днем становятся все лучше и удобнее. Однако, здесь мож...

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

Какие iPhone чаще всего покупают в 2020 году Теперь смартфон – обычное бытовое устройство связи. Удобное, без него никак, но делать из него предмет поклонения, по меньшей мере, глупо. Считается, что теперь их покупают как, например, холодильники или стиральные машины. Года на три, а то и на более долгий срок. И с кажд...

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

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

Темная Вселенная. Часть 2 И вновь доброго времени суток! Данная статья является продолжением ранее опубликованной статьи о нашей «темной» Вселенной. В данной части мы продолжим рассмотрение различных интересных особенностей в космологии, над объяснением которых бьются множество ученых. В целом я пос...

Дизайн, продукт и рок-н-ролл Встречают, как водится, по одежке. И к твоему луку довольно много требований, особенно если ты — самое заметное HR-tech явление страны. Будучи сложным и нетривиальном сервисом, hh.ru бросает дизайнерам множество интересных вызовов, раздает массу уникальных и действительно сл...

Эволюция методов mesh denoising: от простых фильтров до 3D глубокого обучения В этой обзорной статье вы узнаете, что такое mesh denoising, какие методы использовались и используются для устранения шума на полигональных сетках (от классических фильтров до передовых графовых нейронных сетей), и получите общее представление о развитии направления. С пом...

[Из песочницы] Почему Array.isArray(Array.prototype) возвращает true? Сегодня мы с вами разберемся в следующем: что за метод такой Array.isArray(), как он устроен под капотом, что изменилось с ним после выхода ES6, почему он возвращает для Array.prototype значение true и еще много связанных с этим методом тем. Читать далее

UML для самых маленьких: диаграмма классов Аве, Кодер! Диаграмма классов UML иллюстрирует структуру системы, описывая классы, их атрибуты, методы и отношения между объектами. Даже самые малые детки знают, что UML происходит от Unified Modeling Language, если по русски, то — унифицированный язык моделирования, кото...

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

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

Стали известны первые особенности MIUI 12 MIUI 11 была выпущена 24 сентября 2019 года, а 23 марта 2020 года компания объявила, что разработка MIUI 11 прекращена, чтобы создать все условия для разработки MIUI 12. Кто бы мог подумать, что MIUI 12 появится так скоро — всего через 174 дня! Согласно сложившейся ранее тра...

7 французских слов, которые бесят тех, кто изучает английский Французский язык крайне сильно повлиял на английский в ходе исторического развития. Даже сейчас в языке Шекспира есть примерно 10 000 лексем, которые прямо заимствованы с французского, без изменений в орфографии. А в целом примерно 40% корней английских слов восходят к ...

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

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

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

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

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

[Перевод] Seccomp в Kubernetes: 7 вещей, о которых надо знать с самого начала Прим. перев.: Представляем вниманию перевод статьи старшего инженера по безопасности приложений британской компании ASOS.com. С ней он начинает цикл публикаций, посвящённых повышению безопасности в Kubernetes благодаря использованию seccomp. Если введение понравится читателя...

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

Как «раскирпичить» STM32 Здравствуйте! Меня зовут Дмитрий Руднев. В этой публикации я поделюсь своим горьким опытом. В современной разработке широко используются микроконтроллеры STM32. Они обладают неплохим соотношением цена/производительность, вокруг них сложилась развитая «экосистема». Для прош...

Bitstamp подумывает о листинге Ethereum Classic, Zcash, Stellar и других активов Старейшая европейская биткоин-биржа Bitstamp намерена расширить листинг рядом популярных криптоактивов. Bitstamp is exploring a number of new digital assets to expand the range of available trading options for our customers: https://t.co/dcNcWgGYrh pic.twitter.com/kL8xoxhwEm...

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

[Из песочницы] Интеграция с ЕСИА для .Net: проще, чем кажется Предисловие Однажды в далекой-далекой галактике… потребовалось нам реализовать аутентификацию пользователей с помощью учетной записи ЕСИА на ГосУслугах. Т.к. обитаем мы в галактике .Net, первым делом был изучен весь гугол на предмет готового космолета дабы не костылить все с...

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

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

Смерть Кощея в списке рекомендаций (можно ли сделать уютным и безопасным Ютюб?) Вступление коротко: хочу рассказать про онлайн плеер Ютюб для Андроида с локальными плейлистами, каналами и рекомендациями. Вступление развернутое: Некоторое время назад я столкнулся ровно с такой проблемой, как и автор замечательного приложения Channel Whitelist, и определ...

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

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

[Перевод] Transformer в картинках В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (T...

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

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

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

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

Подборка 143 переводов эссе Пола Грэма (из 184) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спек...

Движок, скриптовый язык и визуальная новелла — за 45 часов Приветствую. Так получилось, что уже три года подряд в качестве подарка на Новый год определенным людям я делаю игру. В 2018-ом году это был платформер с элементами головоломки, о котором я писал на хабре. В 2019-ом — сетевая RTS для двух игроков, о которой я ничего не писа...

Еще один взгляд на жесты в Windows 10X Windows 10X – это новая операционная система Microsoft для устройств с двумя экранами, которая, как сообщается, в какой-то момент времени выйдет на традиционные ноутбуки. Windows 10X была первоначально анонсирована на мероприятии Microsoft Surface 2 октября, и производители ...

Книга «Глубокое обучение с подкреплением. AlphaGo и другие технологии» Привет, Хаброжители! Мы издали книгу Максима Лапаня shmuma, это — подробное руководство по новейшим инструментам глубокого обучения с подкреплением и их ограничениям. Мы реализуем и проверим на практике методы кросс-энтропии и итерации по ценностям (Q-learning), а также гра...

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

Hernia, Preservative, Сrest, Absent и другие 60 английских слов, которые часто переводят неверно Наш язык имеет немало заимствованных слов. Иностранные слова в оригинале на самом деле могут иметь совсем другие значения, чем слышимые и употребляемые нами. И таких примеров довольно много. А иногда настоящий перевод в нашем языке эволюционировал и стал означать нечто связа...

Citrus: Набор стилей для AvaloniaUI В комментариях к новостям об изменениях и улучшениях в новых версиях кроссплатформенного GUI-фреймворка AvaloniaUI довольно часто можно увидеть критику тем оформления, используемых по умолчанию. Дело в том, что данные темы были созданы на основе Metro — художественного стил...

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

«ВКонтакте» сделала кликабельными слова «скидка», «купон», «Али» и другие в публикациях — они ведут на AliExpress Акция продлится до 12 ноября.При публикации постов во «ВКонтакте» слова «скидка», «распродажа», «купон» и другие автоматически становятся ссылками. Это совместный с «AliExpress Россия» спецпроект к распродаже 11 ноября, рассказал vc.ru представитель соцсети.При нажатии на вы...

Существует ли во Вселенной универсальный язык? Кадр из фильма “Прибытие” Начиная со знаменитого романа Герберта Уэллса “Война миров”, вот уже на протяжении 100 лет человечество рассматривало последствия и конфликты, которые могут возникнуть в результате первого контакта с потенциально враждебным инопланетным видом. Приме...

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

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

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

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

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

Как интерфейс рассказывает истории в видеоиграх В копилке Plarium Krasnodar набралось много интересных материалов, и мы хотим поделиться примечательными, на наш взгляд, примерами нарративного дизайна, связанного с проектированием пользовательского взаимодействия (UX) и графического интерфейса (GUI). Читать дальше →

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

[Из песочницы] Классификация Deep Sky объектов и их наблюдение Привет, Хабр! Представляю вашему вниманию адаптированный перевод статьи «Deep Sky Objects and Their Observation» с любезного резрешения автора. Интересная статья, классифицирующая объекты Deep-Sky, описывающая их разную природу образования. Также данная публикация дает край...

Разрабатываем чат на React с использованием Socket.IO Доброго времени суток, друзья! Хочу поделиться с вами опытом разработки простого чата на React с помощью библиотеки «Socket.IO». Предполагается, что вы знакомы с названной библиотекой. Если не знакомы, то вот соответствующее руководство с примерами создания «тудушки» и ч...

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

Как выпускать продукты непрерывно на 20 языках и не умереть? В этой статье мы расскажем, как мы переводили локализацию мобильных проектов в Smartcat, какие изначально у нас были боли и как мы с ними справились. Кто мы Привет всем! Мы — Екатерина Галицкая и Дарья Егорушкина из «Лаборатории Касперского» (отдел документации и локализац...

[Из песочницы] Подключение дисплея 10" ER-TFT101-1 к STM32F429 через FMC Всем доброго времени суток. В этой статье мы разберём подключение TFT дисплея ER-TFT101-1 (10 дюймов, RA8876 драйвер) к плате STM32F429L Discovery по 16-битному параллельному интерфейсу 8080 используя модуль FMC (flexible memory controller). О дисплейной сборке ER-TFT101-1 ...

[Перевод] Если данные не помещаются в память. Простейшие методы Самка трубкозуба с детёнышем. Фото: Scotto Bear, CC BY-SA 2.0 Вы пишете программу для обработки данных, она отлично проходит тест на небольшом файле, но падает на реальной нагрузке. Проблема в нехватке памяти. Если у вас 16 гигабайт ОЗУ, вы не сможете туда загрузить стоги...

[Перевод - recovery mode ] Java 14: записи (records preview) В скором времени в грядущей Java 14 появится новая синтаксическая фича — записи (records). После изучения превью, в котором вкратце описано, как выглядят записи и с “чем их едят”, я осмелился адаптировать документ на русский для хабра. Кому интересно — добро пожаловать под к...

Windows 10 20H2 может быть еще одним обновлением в стиле Service Pack Microsoft, очевидно, решила выпустить одно основное и одно второстепенное обновление в 2020 году. Это изменение, которое многие администраторы и потребители, вероятно, оценят, учитывая, что два больших обновления функций Windows 10 были излишне в году. Ранее в этом году мы с...

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

Check Point Remote Access VPN — бесплатный курс по настройке удаленного доступа Приветствую, друзья! Добро пожаловать на наш очередной новый курс! Как я и обещал, курс Getting Started был не последним. На этот раз мы будем обсуждать не менее важную тему — Remote Access VPN (т.е. удаленный доступ). С помощью этого курса вы сможете быстро познакомиться ...

[Перевод] Модели мира. Могут ли агенты учиться в своем воображении? От переводчика: вопросы, поднятые в прошлой моей статье (видимо не слишком удачной) тем не менее вывели меня (огромное спасибо комраду Kilorad за ссылку!) на материал, который я посчитал необходимым перевести и выложить сюда. Да, я, к сожалению, посредственно владею как язык...

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

Миграция с MySQL на PostgreSQL Публикация основана на докладе тренера и инженера технической поддержки Zabbix Александра Петрова-Гаврилова. Многих волнует вопрос о том как мигрировать с MySQL на PostgreSQL и воспользоваться преимуществами TimescaleDB. Зачем мигрировать Первый вопрос, который обычно воз...

В AdSense обновился интерфейс экспериментов Команда Google AdSense сообщила об обновлениях в экспериментах и запуске новой вкладки «Глобальные настройки» на странице «Объявления». Эксперименты Разработчики внесли следующие изменения в эксперименты: Обновлён интерфейс. Теперь стало проще осуществлять наблюдение и контр...

[Из песочницы] Как я веду Zettelkasten в Notion уже год: стартовый набор и полезные трюки Zettelkasten — крутой метод хранения идей и знаний — сейчас на слуху, дошел и до Хабра. Я веду такой в Notion уже год, потому что Notion лучше всех воплощает три главных принципа Zettelkasten: взаимосвязанность, категоризацию, актуальность. Метод улучшил качество моего обуч...

[Из песочницы] Кроссплатформенный многопоточный TCP/IP сервер на C++ Как-то раз встала задача по написанию простого и быстрого многопоточного TCP/IP сервера на C++ и при этом, чтобы работал из под Windows и Linux без требования как-либо изменять код за пределами класса самого сервера. Ранее, на чистом C++ без библиотек вроде Qt, Tcp-сервер не...

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

Стоит ли обновлять смартфон спустя 2 года использования? Стоит ли обновлять смартфон спустя 2 года использования? По статистике продажи смартфонов в 2019 году упали примерно на 2%. И этот тренд продолжается уже несколько лет. Причин на то несколько, и мы их, конечно же, обсудим. Однако пока стоит рассмотреть публикацию пользовател...

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

Простой service discovery в Prometheus через Consul Закон Парето (принцип Парето, принцип 80/20) — «20 % усилий дают 80 % результата, а остальные 80 % усилий — лишь 20 % результата». WikipediaПриветствую тебя, дорогой читатель! Моя первая статья на Хабр посвящена простому и, надеюсь, полезному решению, сделавшим для меня сбор...

Check Point Gaia R81 теперь EA. Первый взгляд Новая версии Gaia R81 была опубликована в ранний доступ (EA). Ранее можно было ознакомиться с планируемыми новшествами в release notes. Теперь же у нас появилась возможность посмотреть на это в реальной жизни. Для этого была собрана стандартная схема с выделенным сервером ...

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

Почему «angina» — это не «ангина», а «resin» — не «резина», или Ложные друзья переводчика У немцев, которые изучают английский как второй язык, очень распространен анекдот. Английское слово «become» и немецкое «bekommen» очень похожи по написанию и звучанию. Но означают разное. «Become» — «становиться, превращаться», а «bekommen» — «получить, найти». Немец пер...

Лучшие Gacha игры для Android: испытай и ты свою удачу Gacha(гача)-игры популярны среди геймеров и насчитывают миллионы скачиваний по всему миру. Но что они собой представляют и чем обусловлена такая популярность? Обычно для них характерны элементы old school, боевая механика в лучших традициях jRPG, длинные сюжетные линии, множ...

Нейросеть — обучение без учителя. Метод Policy Gradient Доброго времени суток, Хабр Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя. (Reinforcement Learning for Neuron Networks) В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учи...

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

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

[Перевод] Используем PowerShell для работы с REST API Многие из вас наверняка работают с разнообразными инфраструктурами, используя REST API. А поскольку все более широкие слои населения для автоматизации рутинных задач осваивают PowerShell, то почему бы и не начать применять его для работы с REST API? Сегодня вашему вниманию ...

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

Мониторим события PortSecurity коммутаторов Cisco в Zabbix Здравствуй уважаемое хабросообщество! Решился выплеснуть в онлайн пару in-house решений, которые облегчают деятельность сетевиков и прочих ИТ братьев по разуму. В этой статье речь пойдет о мониторинге событий стандартного (для многих вендоров) механизма защиты от несанкцион...

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

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

FOSS News №9 — обзор новостей свободного и открытого ПО за 23-29 марта 2020 года Всем привет! Продолжаем обзоры новостей свободного и открытого ПО и железа (и немного коронавируса). Всё самое главное про пингвинов и не только, в России и мире. В выпуске №9 за 23–29 марта 2020 г.: Open Source против COVID-19: как разработчики могут помочь в борьбе с...

Почему AMOLED-экраны «выгорают», и как с этим борются производители? Как производители решили проблему с выгоранием? Не так давно я стал обладателем смартфона Xiaomi Mi 9 Lite, устройство оснащено superAMOLED-экраном, и это, то что меня волновало перед его покупкой. Я сильно сомневался, ведь AMOLED-экраны имеют определенные недостатки. Во-пер...

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

Введение в IDAPython На русском языке (и на Хабре, в частности) не так много статей по работе с IDAPython, попытаемся восполнить этот пробел. Для кого. Для тех, кто уже умеет работать в IDA Pro, но ни разу не писал скрипты на IDAPython. Если вы уже имеете опыт написания скриптов под IDAPython, ...

Moxy Strategy plugin Иногда простые вещи очень утомляют, особенно когда их необходимо делать постоянно. Одна из таких вещей при работе с фреймворком Moxy — это добавление стратегий к функциям. Для ускорения этого процесса был написан плагин, который по "alt+enter" предоставляет выбор ...

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

Habr vs Medium: сколько можно заработать опубликовав 9 статей на Medium.com Привет Хабр. Наверное многие авторы, публикующие статьи на русскоязычных ресурсах, хотя бы раз задумывались о публикации своих текстов в англоязычном сегменте интернета. Мне тоже стало интересно узнать, как это работает и какой отзыв аудитории можно получить. Я пишу статьи ...

Первые скриншоты интерфейса оболочки MIUI 12 от Xiaomi Еще в сентябре прошлого года Xiaomi впервые представила MIUI 11 вместе со своей экспериментальной моделью Mi Mix Alpha, смартфоном Xiaomi Mi 9 Pro 5G и новой линейкой Mi TV Pro. Последняя версия MIUI представила новый анимированный Always On Display, улучшенную визуализацию ...

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

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

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

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

До свидания, Google Fonts. Последний аргумент Шрифты Google Fonts страшно популярны. Их загружают более 42,8 миллиона сайтов, в том числе Хабр. Библиотека Google Fonts содержит 1023 свободных шрифта и программные интерфейсы для их внедрения через CSS. Очень удобно, казалось бы. Во многих статьях отмечалось, в какую ц...

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

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

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

4. Fortinet Getting Started v6.0. Firewall Policies Приветствую! Добро пожаловать на четвертый урок курса Fortinet Getting Started. На прошлом уроке мы развернули макет для будущих лабораторных работ. Пришло время его использовать! На данном уроке мы разберем основы работы политик безопасности, которые разграничивают досту...

Realme UI официально: упрощенный дизайн, новые функции О том, что компания Realme разрабатывает свой пользовательский интерфейс и даже начала бета-тестирование в Китае, говорили уже давно. Сегодня бренд официально объявил о появлении пользовательского интерфейса Realme UI, который по замыслу разработчиков должен стать более удоб...

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

Почему Android и iOS никогда не изменятся кардинально Знаете, я часто пишу о том, что нам нужны новые операционные системы с совсем иным интерфейсом. Android и iOS жутко надоели, как и Windows, macOS и Linux. Все эти системы какими были на этапе зарождения, такими и остаются. Основная идея операционной системы — предоста...

[Перевод] Топ-10 книг для разработчика Совершенствоваться в сфере разработки — это не только писать хороший код, но и читать о том, как его писать. Привет, хабр! Продолжаю делиться полезными подборками. Совсем недавно я опубликовал 2 поста с перечнем Github репозиториев: Часть1 и Часть2. На этот раз предлагаю в...

Кругом враги: показано, как информация с ПК может утечь через блок питания Всего две недели назад мы сообщали о том, как хакеры могут украсть данные с компьютера, используя вибрацию корпусных вентиляторов рабочей машины. Разработчик этого метода Мордехай Гури (Mordechai Guri) из Университета имени Давида Бен-Гуриона в Негеве (Израиль) представил ин...

8. Fortinet Getting Started v6.0. Работа с пользователями Приветствую! Добро пожаловать на восьмой урок курса Fortinet Getting Started. На шестом и седьмом уроках мы познакомились с основными профилями безопасности, теперь мы можем выпускать пользователей в Интернет, защищая их от вирусов, разграничивая доступ к веб ресурсам и пр...

Umka: новый статически типизированный скриптовый язык Только что вышла первая версия разработанного мной статически типизированного встраиваемого скриптового языка Umka. Он призван сочетать гибкость привычных скриптовых языков с защитой от ошибок типов на этапе компиляции в байт-код. Основная идея языка — Explicit is better th...

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

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

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

Опоздал на 3 года: Почему Skoda Karoq не оправдывает ожидания Skoda Karoq со скрипом добрался до России. Но слишком поздно. В 2017 году Skoda Karoq была прорывом, все на нее смотрели и ждали появления в России, но дождались только сейчас. Автомобиль выглядит свежо, но, к сожалению, уже не вызывает того бурного восторга, который был 3 ...

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Canny или Arduino) и Raspberry PI Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, ...

Под капотом бота-клиента Яндекс.Музыки Введение Привет, Хабр! Вновь я с уже второй статьей, затрагивающей API Яндекс.Музыки. Дело запланированное и упоминалось в первой статье. Руки дошли, дело сделано. Сегодня я расскажу об интересных, на мой взгляд, моментах, которые присутствуют в кодовой базе моего Telegram ...

[Перевод] Опасности покупки обуви в эпоху популярности рентгеновских лучей Флюороскоп для подбора обуви был опасным и ненужным прибором, но дети его обожали Как вам ботиночки? Тесноваты в пальцах? Широковаты в щиколотке? Добро пожаловать в Foot-O-Scope – вместо досужих догадок мы предлагаем научный подход к правильному подбору обуви! Когда немец...

Как будет выглядеть iOS 14? В октябре 2012 года один из создателей операционной системы iPhone и основной кандидат на пост главы компании Скотт Форстол ушел в отставку. Разработчиков дизайна iOS и macOS включили в группу промышленного дизайна компании, которую возглавлял Джонатан Айв, и в 2013 году вн...

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

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

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

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

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

Как можно обучить детей программированию? Чем раньше ребенок начнет учиться программированию, тем лучше Apple, как известно, воспитывает программистов iOS еще на школьной скамье, в чем компании помогает приложение Swift Playgrounds. Как это происходит? Например, ученик хочет программировать дроны от Parrot или устро...

Член программного комитета PyConRu 2020 отвечает на вопросы об языке Python: актуальный взгляд и немного парселтанга Антон Патрушев – очень опытный python-разработчик, постоянный член программного комитета PyCon Russia и старый друг конференции. Он работает с языком python уже много лет, начинал свое знакомство с ним в Naumen, теперь является СТО в Spherical, а еще это была именно ид...

Blazor Client Side Интернет Магазин: Часть 5 — Просмотр корзины и работа с Stateful Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность просмотра корзины товаров и организовал работу с состоянием. За подробностями добро пожаловать под кат. Читать дальше →

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

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

Покупая новейший процессор Intel, очень тщательно выбирайте системную плату, чтобы не остаться без возможности апгрейда Вчера компания Intel представила настольные процессоры Comet Lake. Эти CPU перешли на сокет LGA 1200, хотя и не очень понятно, зачем. Но мы точно знаем, что этот же сокет будут использовать и процессоры Rocket Lake, которые якобы должны выйти в конце текущего года. Вчер...

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

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

Behringer продолжает клонировать известные синтезаторы Moog и Roland Немецкая компания Behringer продолжает пополнять свой ассортимент, клонируя классические синтезаторы. Вслед за выпущенными в прошлом году клонами моделей Korg MS-20, ARP Odyssey, Sequential Circuits Pro-One, Electronic Dream Plant (EDP) Wasp Deluxe, Roland TB-303, TR-80...

[Перевод] Знакомимся с методом обратного распространения ошибки Всем привет! Новогодние праздники подошли к концу, а это значит, что мы вновь готовы делиться с вами полезным материалом. Перевод данной статьи подготовлен в преддверии запуска нового потока по курсу «Алгоритмы для разработчиков». Поехали! Метод обратного распространени...

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

Представлена совершенно новая камера MIUI 12 для смартфонов Xiaomi и Redmi На официальной страничке разработчиков оболочки MIUI 12 было объявлено, что смартфоны с этой прошивкой получат абсолютно новое родной приложение камеры с новыми возможностями. Руководитель команды разработчиков приложения камеры для смартфонов Xiaomi и Redm поделился н...

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

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

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

Swift: Копируй-изменяй Часто бывает так, что нам нужно скопировать объект, изменив некоторые его свойства, но сохранив остальные неизменными. Для этой задачи существует функция copy().Это отрывок описания метода copy() из документации Kotlin. На нашем родном языке Swift это означает примерно таку...

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

Играем с огнем: запускаем произвольный код на девелоперском iPhone 7 Под Новый год к нам в руки попал программатор JC PCIE-7. В процессе использования выяснилось, что его функционал ограничен, однако вещица оказалась с двойным дном. Внутри этого программатора мы обнаружили плату iPhone 7 специальной отладочной версии. За новогодними приключе...

Apple представила Apple Watch Series 7 Сегодня компания Apple в рамках ежегодной осенней презентации представили нам новинку умных часов — Apple Watch Series 7. Думаю, что Apple Watch ждали все: от мала до велика. В первую очередь потому, что часы должны были получить обновленный дизайн, однако этого не на...

Windows 11 не сможет работать на Mac с Intel Windows 11, версия Windows которой не должно было быть, объявлена 24 июня. Выйдет она этой осенью. Внешне Windows 11 – просто картинка. Те кто уже смог её попробовать, в восторге от неё. Но требования новой версии к компьютерному железу делают её несовместимой ни с одним In...

LG VELVET станет первым смартфоном LG с новым дизайном На этой неделе южнокорейская компания LG продемонстрировала новый дизайн своих будущих смартфонов, хотя и не стала делиться подробностями, о том, какие устройства первыми получат новый облик. Теперь LG официально объявила, что первым смартфоном, в котором будет воплощена её ...

Как случайно продолжить писать Web-GUI для Haproxy Прошло два года и 4 дня, как я написал Как случайно написать Web-GUI для Haproxy, а воз уже давно не там — все меняется и развивается и HAProxy-WI старается соответствовать этой тенденции. За два года было проделано много работы, об основных изменениях я и хочу сейчас расска...

Я иду искать: геопозиционирование хоста по IP-адресу в глобальной сети Интернет на примере криптобиржи Binance В статье рассмотрены методы геопозиционирования сетевых интерфейсов по IP-адресу на примере API-сервиса криптобиржи Binance. Геопозиционирование основано на дистанционно-временных моделях пересчета времени кругового обхода (RTT) в дистанцию и определения примерного местопо...

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

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

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

Какого сервиса Google мне не хватает? Какого сервиса YouTube мне не хватает? Я очень много времени провожу в YouTube. Сервисы Google стали неотъемлемой частью моей жизни. Если мы зайдём на официальный сайт компании и изучим, какие продукты она предлагает своим потребителям, можно удивиться тому, насколько много ...

Прикручиваем Wi-Fi к Creality Ender 3 Pro. ESP8266, ESP3D и печать без проводов. Всем привет! Не судите строго, статья моя первая, да и в печати я новичок: купил принтер месяц назад. Я из тех технарей, которые могут что-то купить, но половину времени вместо того, чтобы использовать изделие по назначению - предпочитают ковыряться под капотом =) Спасибо ре...

Обзор и тест корпуса be quiet! Pure Base 500DX На первый взгляд перед нами модификация корпуса Pure Base 500, который уже побывал в лаборатории, но все может быть совсем не так. Очень любопытно будет выяснить, каковы же отличия. Поэтому не будем ходить кругами, а приступим к изучению модели be quiet! Pure 500DX. Среди пр...

[Перевод] Миллион спрайтов при 120 с лишним fps Если вы побродите по форуму DOTS, то можете встретить там подобные посты о том, как автор написал библиотеку, способную рендерить миллион анимированных спрайтов, и всё равно получает только 60fps. Я создал собственный рендерер спрайтов DOTS, который достаточно хорош для наш...

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

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

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

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

Podlodka #159: Здоровый сон Если у вас есть любые вопросы, связанные с тем, почему люди спят, сколько часов нужно на это тратить и как это делать правильно – добро пожаловать в выпуск!

[Из песочницы] Пять интересных способов использования Array.reduce() (и один скучный путь) Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi. Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce(). На пе...

От Apple опять требуют удалить Telegram из App Store Telegram опять в опасности удаления из App Store Apple, пожалуй, как никто умеет сочетать несочетаемое. В Купертино могут сегодня топить за свободу слова и самовыражения, а на завтра удалить из гонконгского App Store все приложения, которые используют протестующие, просто по...

Теории вероятностей: готовимся к собеседованию и разрешаем «парадоксы» Каждый год я участвую примерно в сотне собеседований в образовательных проектах JetBrains: собеседую абитуриентов в Computer Science Center и корпоративную магистратуру ИТМО (кстати, набор на программу идёт прямо сейчас). Все собеседования устроены по одному шаблону: мы про...

[Перевод] Большой гайд по A/B-тестированию В интернете масса информации об A/B-тестированиях, но многие до сих пор проводят их неправильно. Ошибиться действительно легко, поэтому подобные исследования требуют серьезной предварительной подготовки. В этой статье рассматриваются основные аспекты A/B-тестирования, которы...

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

Девелопишь на .NET Core? Го в Ubuntu, я создал Photo by Kevin Horvat Все 12 лет своей карьеры я работал с .NET и был крепко привязан к Windows и проприетарным инструментам разработки. Но, спасибо Microsoft, .NET Core все изменил и теперь разрабатывать для .NET можно почти на чем угодно и в чем угодно. Дело за малым — пе...

Как работает Windows 10 на Raspberry Pi 4 и Pi 3 Разработчики наконец установили оптимизированную для ARM версию Windows 10 на Raspberry Pi 4 после того, как некоторым людям удалось запустить ее на Raspberry Pi 3 в первой половине 2019 года. Raspberry Pi 4 и Pi 3 официально поддерживают версию Windows 10 для IoT Core, кото...

Apple не зря выбрала сервисы: количество прослушиваний выросло до 1 триллиона Скоро Apple точно станет сервисной компанией Если для приложений из App Store прошлый год стал самым успешным за всю историю существования магазина, то для рынка онлайн-музыки он выдался не менее впечатляющим. Как сообщает The Wall Street Journal, в 2019 году количество прос...

Windows 10X будет поставляться с современным Проводником Windows 10X – это новая итерация Windows 10, предназначенная для Surface Neo, Lenovo ThinkPad X1 Fold и других устройств с двумя экранами. В настоящее время Microsoft планирует выпустить Windows 10X в праздничный сезон 2020 года, и софтверный гигант все еще работает над наст...

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio Привет, Хабр. Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию м...

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

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

Очень странный рынок. В Южной Корее не покупают никаких смартфонов, кроме Samsung, LG и Apple Распределение сил на глобальном рынке смартфонов далеко не всегда хотя бы близко отражает ситуацию в той или иной конкретной стране. И сильнее всего это может проявляться в тех странах, которые являются родными для того или иного бренда. Южная Корея — родина Samsu...

Японская мобильная игра Summer Story вышла в России, помогаем местным жителям и чилим Зачастую японские игры не выходят за границы Японии, но с Summer Story история другая. Несмотря на название с иероглифами игру запустили во всём мире, включая Россию и, вероятно, страны СНГ. Это приключение с текстовыми диалогами и поиском предметов на локациях. Геймплей вер...

Android изнутри: сравнение Dalvik и ART Привет, Хабр! Около полугода назад я публиковал подробный «гайд» по JVM. Пост, в целом, зашел, а в комментариях спросили, не планируется ли “чего-то по андроиду”. Наконец, у меня дошли руки. В этом посте поговорим о среде выполнения в Android. В частности, я постараюсь кр...

Эмилия Кларк рассказала о дотракийском языке Хотя ее персонаж весь сериал говорил на вымышленном дотракийском языке, последний монолог отнял все силы актрисы. «Я знала, что эти слова очень важны, и я много времени потратила на то, чтобы их запомнить, — рассказала Кларк порталу NME, — впервые за весь период съемок в «Иг...

[Перевод] Магические сигнатуры методов в C# Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK. Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. ...

Meshtastic – оперативно-тактический радиочат без сотовой связи и интернета. Часть 3. Радиомодемы самодельные В первой части темы мы познакомились с проектом Meshtastic. Узнали, что можно построить собственный радиочат на основе Mesh-сети, обычного смартфона и радиомодема. Во второй части мы узнали о существующих фирменных решениях, о том какие заготовки для Meshtastic-модемы можно ...

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

Лучшие игры августа 2020 на iOS и Android: Brawlhalla, EVE Echoes и другие Вот медленно подходит конец августа. Лето резко началось и также неожиданно прощается с нами своими последними лучами тепла. Хотя для некоторых из нас это может быть довольно грустно, но зато за август успело выйти немало отличных мобильных игр. Про них мы обязательно вам ра...

Итоги слепого тестирования камер: iPhone, Pixel, Huawei, Samsung Неделю назад мы запустили голосование за лучшую камеру среди флагманских смартфонов. Чтобы исключить предвзятость, выбрали слепой метод и теперь подводим итоги. Больше всего участникам опроса понравились фото, сделанные на iPhone 11 Pro Max. Ему совсем чуть-чуть уступил Go...

Xbox Elite Controller Series 2 пользуется спросом Какое-то время назад компания Microsoft выпустила в продажу геймпад Xbox Elite Controller Series 2, который стоит 180 долларов и обладает довольно неплохим перечнем заметных преимуществ и особенностей. Однако многие финансовые аналитики были уверены, что компания не сможет ...

[Перевод] Видеозвонки с виртуальным фоном и опенсорсные инструменты Сейчас, когда многие из нас находятся на карантине из-за COVID-19, видеозвонки стали куда более частым явлением, чем раньше. В частности, сервис ZOOM неожиданно стал очень популярным. Вероятно, самой интересной возможностью Zoom является поддержка виртуального фона (Virtual ...

9. Fortinet Getting Started v6.0. Логирование и отчетность Приветствую! Добро пожаловать на девятый урок курса Fortinet Getting Started. На прошлом уроке мы рассмотрели основные механизмы контроля доступа пользователей к различным ресурсам. Теперь перед нами другая задача — необходимо анализировать поведение пользователей в сети, ...

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

Токен Авторизации В настоящее время киберпреступность стала проблемой мирового уровня. Например, Дмитрий Самарцев, директор BI.ZONE в сфере кибербезопасности привёл на Всемирном экономическом форуме следующие цифры. В 2018 году ущерб мировой экономики от киберпреступности составил по его слов...

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

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

Microsoft Edge стал вторым по популярности браузером в мире Уже несколько лет подряд самым популярным браузером в мире продолжает оставаться Google Chrome, а вслед за ним с огромным отставанием следовал Mozilla Firefox.Теперь же Mozilla Firefox смог обогнать по популярности Microsoft Edge. По итогам прошлого месяца доля браузера от M...

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

Гетерогенное программирование и oneAPI Toolkit. Импровизированная лекция эксперта Intel В рамках рубрики «Задайте вопрос эксперту Intel» мы попросили ведущего специалиста Intel Константина Владимирова ответить на вопросы, связанные с гетерогенным программированием, тулкитом oneAPI и смежными интересными вещами. Результат превзошел все наши ожидания. Константи...

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

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

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

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

OxygenOS обзавелась магазином тем Android наиболее известен своей индивидуальной настройкой и каждый OEM-производитель Android-гаджетов предлагает собственный пользовательский интерфейс на своих смартфонах и планшетах. OnePlus тоже радует своих потенциальных покупателей возможностью выделиться — бренд извест...

Продукты, проекты и другие звери Продукт или проект? Диспуты на тему определений этих понятий не утихают и это не праздные споры. От особенностей каждой дисциплины зависят методы управления, зависят ожидания заинтересованных лиц. Хочу представить свои определения понятий «продукт» и «проект». Сразу хочу п...

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

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

High-velocity IT На только что завершившейся неделе провёл курс ITIL® 4 High-velocity IT (HVIT). Ниже некоторые мысли после курса. Про HVIT, ITIL «и вообще». По абзацу на каждую. Книга HVIT и дополнительные материалы программы, включающие в том числе значительное количество публикаций практи...

Google тестирует «идеальный» тёмный режим Chrome для смартфонов Android Тёмная тема для смартфонов успела завоевать множество поклонников. С запуском Android 10 она стала доступна на системном уровне. Множество приложений сейчас уже имеют встроенные тёмные темы и многие способны синхронизировать этот параметр с Android 10.  На данный ...

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

Новый Проводник в Windows 11 Microsoft приступила к развертыванию Windows 11 Build 22000.51 для тестировщиков в программе Windows Insider с центрированным меню «Пуск», панелью задач и новым интерфейсом для всплывающих окон Центра уведомлений. В дополнение к этим большим улучшениям Windows 11 также имеет...

Мобильная MMORPG SoulWorker Academia обзавелась геймплеем с ЗБТ Корейская мобильная MMORPG под названием SoulWorker Academia стартовала в режиме бета-тестирования. Произошло это 18 сентября. Деталей о ней практически нету, но теперь хотя бы в Интернете начали появляться видеоролики с геймплеем. В них мы можем наблюдать не только графичес...

Новая тактика Pawn Storm На протяжении многих лет Trend Micro наблюдает за деятельностью киберпреступной группировки Pawn Storm, также известной как Fancy Bear и APT28. Исследуя эволюцию методов атак, мы обнаружили новую тактику, принятую на вооружение в 2019 году хакерами из Pawn Storm. В отчёте P...

Очередной эффект популярности Ryzen. Доля AMD в статистике известного ПО достигла 40% Уже несколько кварталов подряд компания AMD наращивает долю во всех сегментах процессорного рынка. Однако, несмотря на невероятный успех процессоров Ryzen и данные о розничных продажах таких CPU, ситуация на рынке в целом не такая, как можно было бы подумать. В частност...

Суд: Сайт не нарушает авторские права фотографа, когда встраивает изображение из Instagram Окружной суд Нью-Йорка вынес решение в одном из разбирательств, и тем самым признал, что размещение фотографий профессиональных фотографий на сайтах методом встраивания контента из социальных сетей (в частности, из Instagram) не нарушает их авторские права. Дело связано с пу...

Создаём с нуля высоконагруженное приложение на Tarantool В 2013 я пришел в Mail.ru Group, и я решал задачу, в которой мне нужна была очередь. Есть много разных инструментов для построения очередей, но я решил для начала узнать, что уже имеется в компании. Услышал, что есть такой продукт — Tarantool. Узнал, как он устроен, и мне п...

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

[Перевод] Почему не стоит пользоваться WireGuard В последнее время WireGuard привлекает к себе большое внимание, фактически — это новая «звезда» среди VPN. Но так ли он хорош, как кажется? Я хотел бы обсудить некоторые наблюдения и рассмотреть реализацию WireGuard, чтобы рассказать, почему он не является решением, которое ...

Учёт собственных публикаций Если вы используете публикации на различных сайтах и в СМИ как один из инструментов продвижения, то рано или поздно перед вами возникнет вопрос их систематизации. Тогда же появляется и обратная связь, которая обычно включает в себя: просмотры; комментарии с разным эмоционал...

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

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

Когда пандемия пойдёт на спад? Оцениваем на Python с помощью Pandas Всем привет. Видел несколько дашбордов по COVID-19, но не нашёл пока главного — прогноза времени спада эпидемии. Поэтому написал небольшой скрипт на Python. Он забирает данные из таблиц ВОЗ на Github'е, раскладывает по странам, строит линии тренда. И по ним делает прогноз...

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

Стали известны характеристики и дата выхода POCO M3 Pro 5G Недорогие и относительно недорогие смартфоны всегда стояли особняком. Флагманы живут своей заоблачной жизнью, а ультрабюджетники не так интересны из-за того, что их производители сэкономили буквально на всем. Зато именно недорогие устройства, к которым относятся все модели ...

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

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

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

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

[Перевод] Тренды UX/UI в 2020 году Мы вступаем в третье десятилетие XXI века менее чем через пару месяцев, и 2020 год принесет с собой совершенно новую волну тенденций и отличных практик в UX и UI-дизайне. От перехода к совершенно новым «областям дизайна», таким как голосовой интерфейс пользователя или диза...

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

Как снизить расход заряда в WhatsApp на Android Ночная тема может довольно серьёзно сэкономить энергию аккумулятора Ночная тема – это явление, про которое сегодня все почти забыли, а ведь ещё этим летом соперничать с ней по популярности не могла даже Huawei со своим запретом на использование сервисов Google. Тем интересне...

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

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

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

Microsoft показа новый интерфейс Windows 10 в видео Изменения коснутся меню «Пуска» Windows 10, где акцент сделан на «живых плитках» (Live Tiles). Также Microsoft планирует уменьшить цветность блоков мозаичного интерфейса в меню «Пуск», чтобы упростить процесс поиска приложений. Кроме того, появятся более современные контекст...

У Windows XP была секретная тема, делающая ее похожей на Mac Как пишет The Verge, тема, названная в файлах «Candy», почти полностью дублирует интерфейс Apple Aqua, который был впервые представлен в 2000 году на всемирной выставке-конференции Macworld Conference & Expo. Windows XP была выпущена позже, в октябре 2001 года. Найденная...

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

Анатомическая шарнирная кукла. Масштаб 1:6 Годам к 14 каждый из нас принял относительно сознательное решение – «буду врачом» или «Пойду на физтех, буду инженером». Было такое? Пошли, отучились, выпустились, получив диплом. Кто-то пошел работать по специальности, повезло, кто-то занялся тем, что предлагалось на рынке ...

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