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

[Перевод] Распознавание речи при помощи Arduino Nano: пример простой системы Разработчик по имени Питер, как и многие из нас, попал на долгое время в ловушку карантина. У него появилось свободное время, причем много, и Питер решил разработать систему распознавания речи на базе Arduino Nano. Оборудование, как можно догадаться, не особо сложное. Ос...

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

[Перевод] Как в Python реализованы очень длинные числа типа integer? Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Когда вы пишете на низкоуровневом языке, таком как С, вы беспокоитесь о выборе правильного типа данных и спецификаторах для ваших целых чисел, на каждом шаге анализируете достаточно ли будет ис...

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

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

[Из песочницы] Как развивались комментарии к коду с 1940-х до 2020 года А никак они не развивались. С самых первых языков программирования и по сей день комментарии коду — это всего лишь статичный текст (за некоторыми исключениями, о которых я расскажу). Ну а что там еще можно улучшить или придумать — спросите вы. Давайте поразмышляем на эту...

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

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

Android. Surface Дисклеймер Данная статья предназначена для начинающих андроид разработчиков с небольшим опытом работы с видео и/или камерой, особенно тех кто начал разбирать примеры grafika и кому они показались сложными — здесь будет рассмотрен похожий код с упрощенным описанием основных ш...

[Из песочницы] Техническая документация в разработке ПО: кто, зачем, когда и как описывает проект Привет! Меня зовут Даша Григорьева, я технический писатель в компании 65apps. Мы занимаемся разработкой сложных мобильных решений, и моя задача — подготовка технической документации по проектам. Очень часто роль технического писателя бывает недооцененной в компании (не у ...

Greybox Fuzzing на примере AFLSmart Наверное, все слышали про крутой фаззер AFL. Многие используют его как основной фаззер для поиска уязвимостей и ошибок. Недавно появился форк AFL, AFLSmart, который имеет интересное развитие идеи. Если верить документации, он может мутировать данные по заранее подготовлен...

Asciidoc для подготовки сложной документации В заголовке использовано слово сложной, под которым можно понимать все, что угодно. Утверждение о том, что 2 * 2 = 4, если вдуматься, тоже очень не просто. Но в данном случае всё банальнее. Речь идёт о ЕСКД, ГОСТ, ОСТ и тому подобных скучных терминах, отягчаемых бюрократиче...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

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

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

Простая самодельная VGA видеокарта Насколько мне известно, довольно многим интересно подключить микроконтроллер к обычному монитору и попробовать что-либо вывести на экран. В этой статье пойдёт речь о создании простейшей VGA-видеокарты на базе микроконтроллера atmega168-20. Читать дальше →

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

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

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

[Перевод] Исследование CSS-свойства flex Вам когда-нибудь было интересно узнать о том, как работает сокращённое CSS-свойство flex? Оно позволяет задавать значения свойств flex-grow, flex-shrink и flex-basis. Я обратил внимание на то, что данное свойство чаще всего используют в виде flex: 1, что позволяет flex-элеме...

[Перевод] Используем nftables в Red Hat Enterprise Linux 8 Статья подготовлена в преддверии старта курса «Администратор Linux» В Red Hat Enterprise Linux 8 приоритетным низкоуровневым решением является nftables. В этой статье мы поговорим о том, как начать использовать nftables. Наиболее актуальной она будет для системных администр...

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

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

[Перевод] Очень странные дела: JavaScript Никто из обычных людей не достиг в этом мире ничего значимого. Джонатан, «Очень странные дела» Автор материала, перевод которого мы сегодня публикуем, предлагает читателям взглянуть на необычные JavaScript-конструкции. А именно, речь пойдёт о коде, результаты работы которог...

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

Реактивное программирование на Java: как, зачем и стоит ли? Часть I Идея реактивного программирования появилась сравнительно недавно, лет 10 назад. Что вызвало популярность этого относительно нового подхода и почему сейчас он в тренде, рассказал на конференции РИТ++ 2020 эксперт и тренер Luxoft Training Владимир Сонькин. В режиме мастер...

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

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

STM32 Чать 2: Инициализация Программирование — это разбиение чего-то большого и невозможного на что-то маленькое и вполне реальное. Всем привет, для начала я хотел бы поблагодарить модераторов за то что пропустили мой первый (отвратительный) пост, и передать привет маме! А так же я хотел бы поблагода...

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

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

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

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

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

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

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

[Перевод] Python.org рекомендует: Программирование для НЕпрограммистов Предлагаем вашему вниманию подборку материалов от python.org о том, с чего начать первые шаги в программировании. Если Вы никогда не занимались программированием раньше, эти материалы для вас. Данные туториалы не предполагают, что у вас есть какой-то опыт. (Если у вас уж...

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

[Из песочницы] Подключение OLED дисплея ssd1306 к STM32 (SPI+DMA) В данной статье будет описан процесс подключение oled дисплея с контроллером ssd1306 разрешением 128x64 к микроконтроллеру stm32f103C8T6 по интерфейсу SPI. Также мне хотелось добиться максимальной скорости обновления дисплея, поэтому целесообразно использовать DMA, а програм...

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

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

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

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

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

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos Вместо предисловия. Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза. Что такое S...

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

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

[Из песочницы] Работа с китайской АЦП Hx711 Причина написания этого поста заключается в желании разобраться с модулем 24 разрядного дельта сигма преобразователя АЦП на основе микросхеме Hx711. Сам преобразователь собран в виде готового модуля по схеме включения рекомендованного производителем (????). Замечания о работ...

[Перевод] Расширьте возможности машинного обучения Azure с помощью расширения VS Code Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерф...

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

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

Собеседование php-developer в 2020 Так уж получилось, что в этом году я прошел ряд собеседований на позицию PHP разработчика, чего я не делал уже несколько лет. Будучи человеком ленивым практичным, перед собеседованием я попытался найти сборники вопросов-ответов, но все найденное было довольно старым, поэтому...

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

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

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

Swagger в RBK.money — про наши внешние API Хочешь сделать что-то полезное и рабочее — сделай его так, чтобы другие люди могли этим полноценно пользоваться, нормально это ревьювить, да и вообще вспоминать тебя добрым словом, а не темной стороной своего словарного запаса. Для этого, кроме того, чтобы просто хорошо дела...

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

[Перевод] “Давайте использовать Kubernetes!” Теперь у вас 8 проблем Если вы используете Docker, следующим логичным шагом кажется переход на Kubernetes, он же K8s, правильно? Ну, предположим. Однако решения, предназначенные для 500 инженеров-программистов, одновременно разрабатывающих одно приложение, достаточно сильно отличаются от решений д...

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

Galaxy S20 Ultra против Huawei P30: чей зум круче? Итак, пришло время сравнить новенький Galaxy S20 Ultra и Huawei Mate 30 Pro. Телефоны на данный момент являются лучшими в вопросе качества оптического приближения. 26 марта Huawei, конечно, должна представить P40, P40 Pro и P40 Premium Edition, и там-то мы и увидим улучшенн...

«Раз, два, три – ёлочка гори!» или мой первый взгляд на контроллер CANNY 3 tiny «Новый год» это мандарины, оливье, выходные и конечно же подарки. Как вы, уже наверняка догадались я неожиданно стал обладателем микроконтроллера CANNY 3 Tiny. Правда я особо DIY электроникой не увлекаюсь и последний раз сам пытался что-то подключить к контроллеру почти сем...

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

Программирование Modbus RTU Master на примере Simatic S7-1200 и ПЧ Sinamics V20 Давно хотел рассказать про тонкости программирования обмена по протоколу Modbus RTU в случае, когда контроллер (в нашем случае S7-1214) выступает RTU Master'ом. Недавно меня попросили помочь с обменом между ПЛК и частотным преобразователем Sinamics V20, ну и почему бы не нап...

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

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

[Из песочницы] С++, метапрограммирование и регистры микроконтроллера Привет, Хабр! Вот уже несколько лет все свои проекты для линейки микроконтроллеров stm32 я делаю на C++. За это время у меня накопилось некоторое количество материала, который может быть интересен другим разработчикам. Во избежание лишних вопросов: я использую связку QtCre...

Trio – асинхронное программирование для людей В Python существует библиотека Trio – библиотека асинхронного программирования. Знакомство с Trio в основном будет интересно тем, кто работает на Asyncio, потому что это хорошая альтернатива, позволяющая решать часть проблем, с которыми не может справиться Asyncio. В этом ...

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

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

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

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

[Перевод] Интерактивная визуализация данных при помощи Plotly: строим красивые графики с Express и Cufflinks Если Вы все еще используете Matplotlib для создания графиков в Python, самое время взглянуть на мир с высоты альтернативной библиотеки интерактивной визуализации. Plotly позволяет создавать красивые, интерактивные, экспортируемые графики с помощью всего нескольких строк к...

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

[Перевод] Зависимые типы в Haskell: почему это будущее разработки программного обеспечения В Serokell мы занимаемся не только коммерческими проектами, но стараемся изменить мир к лучшему. Например, работаем над улучшением главного инструмента всех хаскелистов – Glasgow Haskell Compiler (GHC). Мы сосредоточились на расширении системы типов под впечатлением от рабо...

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

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

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

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

Как весь мир пытался создать альтернативу Android, но не смог Были ли альтернативы Андроиду? Android-смартфоны сегодня доминируют на рынке телефонов. Многие даже не знают, что когда-либо существовали альтернативы не в виде iOS, которой уж очень тяжело тягаться с Android за счет того, что это закрытая операционная система, привязанная к...

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

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

[Из песочницы] Ваш C# уже «функциональный», просто позвольте ему это Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik. Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8....

Знание и состояние Сердце любого современного сайта или браузерного приложения (что SPA, что PWA, что любые другие три буквы) — это его State, или состояние. Мы можем сколько угодно спорить о том, что лучше — React, Vue, Svelte, Angular, можем продолжать пользоваться jQuery, но в действительно...

Мы не рабы, рабы не мы «Мы не рабы́, рабы не мы» — это фраза из первой советской азбуки «Долой неграмотность: Букварь для взрослых» от 1919 года. Данная книга стимулировала миллионы людей в нашей стране менять свой быт, сознание и даже политический строй. Прошло сто лет. И кажется на какой-то ра...

[Перевод] Thanos — масштабируемый Prometheus Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты». Фабиан Рейнарц (Fabian Reinartz) — разработчик программного обеспечения, фанат Go и любитель решать сложные задачи. Также он мэйнтейнер Prometheus и соучредитель Kubernetes SIG instr...

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

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

Общение с редакцией AppleInsider.ru Говорите — мы вас слушаем Так уж получилось, что еще лет 5-7 назад количество больших сайтов посвященных тематике Apple было несколько десятков, но со временем одни закрывались, другие перепрофилировались и расширили свою тематику, а третьи просто перестали обновляться...

[Перевод] Оптимизация времени сборки проекта Там, где я работаю (в стартапе Spot.IM, размер которого находится где-то между малым и средним), Webpack используется для сборки различных проектов. После 4 лет работы над нашим основным продуктом, когда в его код внесло вклад столько народа, что и не сосчитать, время его пе...

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

Управляем контактами GPIO из C# .NET 5 в Linux на одноплатном компьютере Banana Pi M64 (ARM64) и Cubietruck (ARM32) Когда заходит речь про программирование на C# .NET для одноплатных компьютеров, то разговоры крутятся только в основном вокруг Raspberry Pi на Windows IoT. А как же Banana/Orange/Rock/Nano Pi, Odroid, Pine64 и другие китайские одноплатные компьютеры работающие на Linux? Та...

Как энергетик изучал нейросети и обзор на бесплатный курс «Udacity: Intro to TensorFlow for Deep Learning» Всю свою сознательную жизнь, я был энергетиком (нет, сейчас речь не идет о напитке с сомнительными свойствами). Я никогда особо не интересовался миром информационных технологий, да и даже матрицы я вряд ли на листочке смогу перемножить. Да и не нужно мне это было никогда, ...

Microsoft ♥️ Python Традиционно считается, что Microsoft хорошо поддерживает языки программирования на платформе .NET: C# или F#. Но это не совсем так — облако Azure поддерживает целый спектр языков, среди которых Python занимает почетное место. А если речь заходит о машинном обучении, то Pytho...

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

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

Артемий Рябинков (Avito): Graceful Shutdown в Go-сервисах и как подружить его с Kubernetes Выступление на Go 1.10 Release Party @ Badoo Артемий рассказал про подходы к безопасному завершению работы многопоточных программ на Go, в частности о том, как контролировать горутины и управлять ими. Объяснил, почему во время выкатки сервисов в Kubernetes пользователям м...

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

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

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

4. Анализ зловредов с помощью форензики Check Point. CloudGuard SaaS Мы добрались до последнего продукта из нашего цикла статей по форензике от Check Point. На этот раз речь пойдет об облачной защите. Трудно представить компанию, которая не использует облачные сервисы (так называемый SaaS). Office 365, GSuite, Slack, Dropbox и т.д. И наибол...

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

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

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

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

[Перевод] EOF — это не символ Недавно я читал книгу «Компьютерные системы: архитектура и программирование. Взгляд программиста». Там, в главе про систему ввода-вывода Unix, авторы упомянули о том, что в конце файла нет особого символа EOF. Если вы читали о системе ввода-вывода Unix/Linux, или эксперим...

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

[Из песочницы] Использование контроллера Arduino для прерываний В данной стать я приведу пример использования arduino контроллера для вызова прерываний программы на C#. Стоит отметить, что в WindowsForms присутствует элемент Timer который включается и выполняет код через определенный промежуток времени. Я решил реализовать подобное...

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

[Перевод] Аутентификация и чтение секретов в HashiCorp's Vault через GitLab CI Доброго времени суток, читатель! 22 апреля в GitLab выпустили релиз 12.10 и сообщили о том, что теперь CI-процесс может авторизовываться в Hashicorp's Vault через JSON Web Token (JWT), и для авторизации нет необходимости хранить токен для доступа к нужным policy в переменных...

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

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

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

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

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

Инструменты Domain Driven Design Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. ...

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

[Из песочницы] Самописный таймер в виде функции для промышленного контроллера Simatic S7-1200 Еще для серии S7-300 и S7-400 под Step 7 классических версий предлагаемых разработчику таймеров вполне хватало — это и стандартные таймеры IEC, реализованные в виде функциональных блоков, и таймеры S5 (которые, к слову, до сих пор существуют для серии S7-1500). Однако в ряде...

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

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

DataMatrix или как правильно маркировать обувь С 1 июля 2019 года в России введена обязательная маркировка группы товаров. С 1 марта 2020 года под этот закон должна была попасть обувь. Не все успели подготовиться, и в результате запуск перенесли на 1 июля. Lamoda среди тех, кто успел. Поэтому мы хотим поделиться опытом ...

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

[кейс Locomizer] Как за два с половиной года ускорить расчёт тепловой карты в 20 000 раз Данная статья является продолжением серии «Кейс Locomizer», см. также Какие знания можно на самом деле извлечь из анонимизированного датасета с координатами пользователей Открываем One Ring — инструментарий для гибкой конфигурации сложных процессов обработки данных на Spar...

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

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

[Из песочницы] 3D своими руками. Часть 1: пиксели и линии Этот цикл статей я хочу посвятить читателям, желающим изучить мир 3D-программирования с нуля, людям, которые хотят узнать основы создания 3D-составляющей игр и приложений. Каждую операцию мы будем реализовывать с чистого листа, чтобы понимать каждый аспект, даже если есть ...

Почему стоит купить Google Pixel 2 XL вместо Pixel 4 XL Зачем платить больше? Каждый год производители выпускают флагманские устройства. И каждый год некоторые потребители готовы приобретать аппараты лишь потому, что это новое поколение. Однако всё не так просто, как кажется на первый взгляд, ведь купив, например, Pixel 2 XL вмес...

Развёртываем Hyperledger Fabric 2.0 на AWS Hyperledger Fabric — это блокчейн-платформа с открытым исходным кодом от Linux Foundation. С её помощью можно создавать блокчейн-приложения и управлять доступом и разрешениями для данных в цепочке блоков. Hyperledger Fabric стоит использовать в том случае, если требуется соз...

[Воркшоп] DMA-атаки на практике. Эксплоит через прямой доступ к памяти В эту субботу 1 февраля 2020 г. в нашем Хакспейсе Нейрон в Москве пройдет мастеркласс по практическому использования DMA-атак. Вместе мы будем взламывать реальный компьютер с зашифрованной файловой системой, имитирующий банкомат или платежный терминал. Ведущий воркшопа Val...

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

768 потоковых процессоров, частота 1,5 ГГц и 3 ГБ памяти. Это дискретная видеокарта Intel DG1 Известно, что первой дискретной видеокартой линейки XE окажется модель начального уровня DG1. Кое-что о ее характеристиках мы уже писали, а сейчас появилась больше подробностей — из-за того, что DG1 засветилась в базе SiSoftware. Как видно, видеокарта получила 768...

Что может сказать о вас ваш смартфон? Что о вас скажут другие? Людей очень часто упрекают за то, что они выбрали тот или иной смартфон. Если у вас не iPhone, то вы обязательно человек без определённого места жительства в глазах других людей. Однако Android-смартфоны стоят не дешевле, а некоторые даже дороже iPho...

Почему канадский английский считают «грязным» и при чем тут Киану Ривз Сегодня мы расскажем о диалекте английского языка, на котором говорит свыше 17 миллионов людей. Историческое становление английского языка в Канаде, соседство с США и французский в качестве второго государственного создали диалект со своими особенностями и интересными фишка...

[Из песочницы] Написание графического приложения на Electron JS (начало: Создание окна) Приветствую! Если вы зашли на эту статью, значит скорее всего вам крайне неохота лезть в официальную документацию (а очень зря. Она и написана подробно, и имеет перевод на русский язык) и вы пришли за простым решением вашей проблемы — написание кросс-платформенного приложени...

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

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

Эксперименты с микроконтроллерами в Jupyter Notebook Jupyter Notebook — любимый инструмент-среда для data scientist'ов, аналитиков, инженеров, математиков, студентов и даже для нас — самых обычных ученых в экспериментальной физике. Этот инструмент предназначен для работы с интерпретируемыми языками и удобного графического пре...

Холст + любовь = сердце Доброго времени суток, друзья! На дворе 14 февраля — День святого Валентина или День всех влюбленных. Об этом знают все (что, кто-то не знает?). Однако не все знают (полагаю, на Хабре таких немного), что 14 февраля 1946 года научному миру и всем заинтересованным был про...

В чём смартфоны Xiaomi уступают более дорогим телефонам? Минусы телефонов Xiaomi Не так давно я стал обладателем Xiaomi Mi 9 Lite в качестве дополнительного устройства. И сейчас готов поделиться своим мнением по поводу того, в чем дешевые смартфоны Xiaomi могут уступать более дорогим решениям популярных брендов. Простыми словами, ...

Немного SQL алхимии О популярной библиотеке SQLAlchemy для работы с разными СУБД из Python было написано довольно много статей. Предлагаю вашему вниманию обзор и сравнение запросов с использованием ORM и SQL подходов. Данное руководство будет интересно прежде всего начинающим разработчикам, пос...

Полноценная GDB отладка через USB на плате BluePill (STM32F103С8T6) В данной статье речь пойдет о программировании и полноценной отладке микроконтроллера STM32F103C8T6 через USB.Однажды, от коллег поступило предложение о участии в IoT проекте. Система предусматривала однопоточный запуск скриптов. Отладка производилась с помощью логов. И тут...

Лучший телефон за 1000 рублей Мы тут обсуждаем телефоны за 1000 долларов, но почему бы не взять и не рассмотреть варианты за 1000 рублей? У многих во владении имеются дорогие гаджеты, которые не всегда удобно носить с собой. Готовы ли вы постоянно пользоваться Galaxy Note 10? Даже на природе? И мы об эт...

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

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

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

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

Пишем расширение для Burp Suite с помощью Python Привет, Хабр!Думаю многие знают о таком инструменте, как Burp Suite от PortSwigger. Burp Suite – популярная платформа для проведения аудита безопасности веб-приложений. Помимо того, что Burp и так содержит тонну полезных функций, он еще и дает возможность пользователям созда...

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

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

[Перевод] 32 совета веб-разработчику, который хочет вырасти над собой в 2020 году Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular...

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

Network diagram as code / Схема сети как код В последние пару лет стал больше заниматься документацией. Написать поясняющий текст о том, как работает та или иная система — в целом, это достаточно просто. Нарисовать схему, на которой будут отображены все ключевые объекты, связи между этими объектами, тоже вполне легко. ...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

[Перевод] Что думают специалисты по роботизированным автомобилям про Автопилот от Tesla Об авторе: Брэд Тэмплтон — инженер-программист, евангелист робоавтомобилей с 2007 года, работал над Гуглокаром в его ранние годы. Основатель ClariNet, почетный председатель Electronic Frontier Foundation и директор Foresight Institute, основатель факультета в Singularity Uni...

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

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

[Из песочницы] Каверзы при собеседовании на project manager'а или прогулка по минному полю чудес Безумие есть неспособность видеть швы, соединяющие бред и явь. Стивен Э. Кинг Проходя в конце года собеседования на должность проджект менеджера, я повстречал много вопросов, которые могут показаться последним бредом и от лица hr’ов, и от лица квалифицированных специалисто...

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

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

Записи докладов ок.tech: Frontend Meetup #2 26 ноября в петербургском офисе Одноклассников состоялся ок.tech: Frontend Meetup #2. Вместе с коллегами из Одноклассников, ВКонтакте и Hazelcast поговорили про новый фронтенд OK.RU, сделанный на связке React + Graal, обсудили может ли “Lifting State Up” – один из двенадца...

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

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

Что такое OpenVINO? Привет всем читателем habr.com! Мы студенты НГТУ им. Р.Е. Алексеева, и хотим рассказать о своем опыте работы с набором инструментов Intel – OpenVINO (Open Visual Inference & Neural Network Optimization).Для начала давайте познакомимся. Мы- студенты 2 курса ИРИТ, каф...

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

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

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

FAST VP в СХД Unity: как это работает Сегодня речь пойдет об интересной технологии, реализованной в СХД Unity/Unity XT, – FAST VP. Если вы впервые услышали о Unity, то по ссылке в конце статьи можно ознакомиться с характеристиками системы. В проектной команде Dell EMC я работал над FAST VP более года. Сегодня хо...

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

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

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

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

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

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

Galaxy S20 Ultra за 100 тысяч рублей идеальный? Нет Samsung на презентации Unpacked не так давно представила флагманскую линейку Galaxy S20. Может показаться, что стоимость новинки не устраивает лишь российских пользователей, которым предлагается S20 Ultra не в самой максимальной комплектации за 100 тысяч рублей. Вероятно, в...

«Google Переводчик» поможет вам лучше понимать иностранную речь Google Translate научится переводить диалоги Удобство приложений и сервисов Google действительно сложно переоценить. YouTube, Google Maps, Google Assistant, Google Search – каждый из этих и многих других продуктов поискового гиганта считается лучшим в своём роде. Но успех пр...

[Перевод] Разработка веб-приложения для транскрибирования аудиозаписей с использованием Python, Streamlit и AssemblyAI Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как, пользуясь Streamlit, создать веб-приложение, которое позволяет пользователям транскрибировать аудиозаписи, выгружая их на специальный сервер. В проекте будет использован API AssemblyAI, позволяю...

Давайте отключим vacuum?! Алексей Лесовский Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!" Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum (далее по тексту просто "вакуум"). По опыту, многие наступают на э...

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

Электроника МК90: Первый советский iPad? Сегодня на тесте у нас очень необычный гаджет, который называется Электроника МК90. И мы расскажем вам, что он умеет и зачем он нужен. Электроника МК90 — это тот редкий на сегодня случай, когда интересно посмотреть на корпус. В отличие от современных смартфонов, дизайн...

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

Xamarin.Forms. Личный опыт использования В статье речь пойдет о Xamarin.Forms на примере живого проекта. Кратко поговорим о том, что такое Xamarin.Forms, сравним с похожей технологией WPF, увидим, как достигается кроссплатформенность. Также разберём узкие места, с которыми мы столкнулись в процессе разработки, и до...

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

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

Делаем страницу на React с базой сотрудников при помощи Airtable и Quarkly Слышали про такой инструмент, как Airtable, но не знали, с чего начать? Тогда приглашаем в мир визуального программирования построения БД! Этим постом мы начинаем цикл обучающих статей, в которых будем давать практические примеры работы с нашим инструментом Quarkly. В этом у...

Microsoft выпусит антивирус на Android и iOS. Вот смешные! Компания Microsoft с особенным энтузиазмом в последнее время относится к мобильным продуктам. Так, например, не так давно она выпустила отдельное приложение Office со встроенным Word, Excel и PowerPoint. Приложение хоть и выступило лишь в качестве обертки над тремя уже суще...

Первые шаги в BI-аналитике. Роль Data Engineering Добрый день, уважаемые читатели! Материал носит теоретический характер и адресован исключительно начинающим аналитикам, которые впервые столкнулись с BI-аналитикой.Что традиционно понимается под этим понятием? Если говорить простым языком, то это комплексная система (как и, ...

Почему приложение запрашивает разрешение на поиск устройств в локальной сети в iOS 14 В iOS 14 Apple серьезно пересмотрела подход к конфиденциальности пользователей. Мало того, что компания добавила в обновление продвинутые возможности Safari для предотвращения отслеживания хакерами и рекламодателями, так теперь iPhone или iPad показывает оранжевую или зелен...

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

[Из песочницы] Как я учу детей Питону Моя основная работа связана с данными и программированием на R, но в этой статье я хочу рассказать про своё увлечение, которое даже приносит некий доход. Мне всегда было интересно рассказывать и объяснять что-то друзьям, одноклассникам и однокурсникам. Ещё мне всегда прост...

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

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

SQL Server Plan Guide и другие не самые лучшие практики Обычно посты об оптимизации запросов рассказывают о том, как делать правильные вещи, чтобы помочь оптимизатору запросов выбрать оптимальный план выполнения: использовать SARGable-выражения в WHERE, доставать только те столбцы, которые нужны, использовать правильнопостроенные...

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

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

Зачем же роботу ограничиваться сбором мячей для гольфа? Есть же еще и теннис Краткая история как мы делаем свой стартап, что мы покажем во Флориде, а так же что делать, если нужна indoor навигация с высокой точностью? Мы сделали робота для сбора мячей для гольфа. Делаем его уже чуть больше года. Это лето для нас было очень плодотворным. Мы много тест...

Роскосмосу пригодился бы аналог программы Spinoff Один из ответов на вопрос «зачем нам космонавтика» заключается в том, что технологии, разрабатываемые для космической отрасли, находят применение на земле. CMOS-сенсоры, более долговечные автомобильные шины или одеяла для МЧС используют технологии, изначально созданные для к...

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

Go-swagger как основа взаимодействия микросервисов Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь? Если задать такой вопрос ...

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

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

Xiaomi под видом флагмана хочет продать бюджетник Xiaomi под видом флагмана хочет продать бюджетник Xiaomi известна не только своими возможностями выпускать крайне дешёвые смартфоны, но еще и настоящими убийцами убийц флагманов. Так, 22 августа 2018 года компания выпустила смартфон Pocophone Poco F1. Он продавался как телеф...

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

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

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

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

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

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

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

[Перевод] Файл .npmrc и оптимизация настройки Node.js-окружения Npm — это повседневный рабочий инструмент Node.js-разработчиков. Это, в буквальном смысле, нечто такое, чем мы пользуемся ежедневно и по несколько раз на дню. Это — одна из частей экосистемы Node.js, которая привела эту платформу к успеху. Одним из самых важных и полезных с...

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

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

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

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

Реактивное программирование на Java: как, зачем и стоит ли? Часть II Реактивное программирование — один из самых актуальных трендов современности. Обучение ему — сложный процесс, особенно если нет подходящих материалов. В качестве своеобразного дайджеста может выступить эта статья. На конференции РИТ++ 2020 эксперт и тренер Luxoft Training Вл...

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

[Перевод] 5 малоизвестных секретов Pandas Pandas не нуждается в представлении: на сегодняшний день это главный инструмент для анализа данных на Python. Я работаю специалистом по анализу данных, и несмотря на то, что пользуюсь pandas каждый день, не перестаю удивляться разнообразию функционала этой библиотеки. В это...

[Из песочницы] Как стать дизайнером диалогов Я предлагаю вам вперевод и выжимку со статьи моего пратнера Ханса ван Дама о том, как разрабатывать дизайн диалогов. Авторство статьи принадлежит Гансу. Я ему помогаю поделиться этими уникальными знаниями с будущими разработчиками и дизайнерами диалогов. Если люди и ИИ буд...

Подготовьте ваши компьютеры и консоли — 10 самых ожидаемых игр 2020 года 2019 год был весьма богатым на отличные игры (в отличие, скажем, от 2018) - сможет ли новый, 2020 год его затмить? Давайте в этой статье рассмотрим десятку лучших ожидаемых игр 2020 года - разумеется, речь пойдёт только о тех играх, о которых хоть что-то известно (в том числ...

Как реализовать игнор заблокированных пользователей в группах Telegram? UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжа...

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

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

Самое интересное в PHP 8 PHP 7.4 только-только объявлена stable, а нам уже подавай еще больше усовершенствований. И лучше всех о том, что ждет PHP, может рассказать Дмитрий Стогов — один из ведущих разработчиков Open Source PHP и, наверное, старейший активный контрибьютор. Все доклады Дмитрия тольк...

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

Как уменьшить размерность метрик в Prometheus, если вы не DevOps Иногда команда разработки сталкивается с задачей, в которой у неё мало экспертного опыта, и через пробы и ошибки она находит неочевидное решение. Так произошло и с нами, когда понадобилось перенести сбор метрик из Infux в Prometheus. Их итоговая размерность оказалась 1,5 мил...

Руководство по тестированию подписок на iOS Тестирование подписок в App Store невероятно важно, но провести нормальные тесты всегда было  очень сложно. Документация Apple традиционно практически отсутствует, а инструментами Apple никогда не славилась. Это руководство подробно расскажет вам о том, как протестировать ра...

Как мы интегрировали Яндекс.Музыку с Siri. Доклад Яндекса Siri — мощный инструмент с публичным API для сторонних приложений. Например, музыкальных. В докладе я рассказал, как начать разработку обработки голосовых медиазапросов от Siri, используя Intents.framework. Поделился нашим опытом — с чем пришлось столкнуться, чего нет в доку...

Почему я полюбил увеличение экрана iPhone Увеличение дисплея делает использование компактного iPhone комфортнее Я владею смартфонами Apple на протяжении нескольких лет. В 2013 году приобрел свой первый iPhone, им оказался 5s. Уже тогда экран 5s казался не таким большим, но всё еще удобным. К слову, до сих пор габари...

Nvidia CUDA можно использовать на GPU Intel. Для этого понадобится инструмент ZLUDA Платформа Nvidia CUDA существует на рынке уже почти 15 лет. Это программный комплекс, представляющий собой расширение языка программирования C, и предназначенный для неграфических вычислений на GPU.  При этом CUDA всегда была эксклюзивом карт Nvidia...

[Перевод] Второй год Q# Прошло уже больше 2 лет с момента первого публичного выпуска языка квантового программирования Q#. К случаю годовщины ребята из команды Q# подготовили рассказ про второй год этого развития. Читайте о нем под катом! Читать дальше →

Десятка лучших докладов DotNext 2019 Moscow В начале ноября прошел DotNext 2019 Moscow, и пока мы ждем следующий DotNext, самое время посмотреть десятку лучших докладов московской конференции. Хардкор, низкоуровневые подробности, максимальный перформанс, best practices, архитектура и многое другое — все детали собрали...

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

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

[Перевод] Мои любимые инструменты разработчика Chrome Доброго времени суток, друзья! Chrome Developer Tools — очень мощный набор инструментов для разработки веб приложений. С помощью этих инструментов мы можем перемещаться по DOM, осуществлять проверку запросов на сервер, настраивать производительность приложений и др. Сред...

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

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

Агломеративная кластеризация: алгоритм, быстродействие, код на GitHub Несколько лет назад мне потребовалось очень качественно кластеризовать относительно неплотные графы среднего размера (сотни тысяч объектов, сотни миллионов связей). Тогда оказалось, что алгоритма с подходящим набором свойств просто не существует, несмотря на всё разнообраз...

Размещение кучи FreeRTOS в разделе CCMRAM для STM32 При разработке одного девайса на базе STM32F407 столкнулся с проблемой нехватки оперативной памяти. Назначение самого девайса не принципиально, но важно, что изначальный код писался для десктопной системы и его нужно было просто портировать на микроконтроллер под управлением...

[Из песочницы] Валидация XML с помощью XSD, JAXB и Spring Framework Обзор Здравствуйте! В этой статье я хочу описать программу валидации XML с помощью Spring Framework. Наиболее очевидная область применения такой валидации — это программирование web-сервисов. Валидация производится через преобразование XML-Java (unmarshalling) по соответству...

Компания Unity Engine выпустила учебное пособие для разработчиков игр Unity Learn Учебное пособие Unity Learn для разработчиков игр будет бесплатным до 20 июня. Так как люди остаются дома, компания Unity Engine хочет помощь им в изучении чего-то нового. Unity Learn предоставляет доступ к игровому дизайну, программированию и искусству. Многопользовательс...

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

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

Arc — система контроля версий для монорепозитория. Доклад Яндекса Системы контроля версий уже давно стали повседневным инструментом разработчика. В больших монорепозиториях требования к ним оказываются весьма специфическими. Из-за этого компании либо адаптируют существующие решения, как это делает Facebook с Mercurial и Microsoft с Git, ли...

Из чего сделан самый лёгкий современный смартфон в мире? Да, если телефон Palm можно назвать самым легким в мире, то вы правы, мы выбрали не тот гаджет, о котором готовы прямо сейчас рассказать. Но стоит понимать, что телефон Palm — это лишь дополнительный аппарат, который станет компаньоном основному устройству. Мы же не б...

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

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

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

[Из песочницы] vuex + typescript = vuexok. Велосипед, который поехал и обогнал всех Доброго времени суток. Как и многие разработчики, я в свободное от работы время пишу свой относительно небольшой проект. Раньше писал на react, а на работе используется vue. Ну и что бы прокачаться во vue начал пилить свой проект на нем. Сначала всё было хорошо, прямо-таки ...

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

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

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

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

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

Xiaomi представила гаджет для маникюра за $12 Компания Xiaomi представила новый гаджет, который оценят специалисты и простые ценители хорошего маникюра и красивый ногтей. Электрический полировщик ногтей Xiaomi ShowSee используется не только для полировки, как можно подумать по названию. Устройство позволяет пр...

Скоро PGConf.Russia 2020 PGConf.Russia 2020 в этом году, как и в прошлом, пройдет в начале февраля, а именно – 3 февраля – мастер-классы, 4го и 5го – доклады. Это первый раз, когда нам не пришлось отодвигать дедлайн по приему заявок на доклады — то ли люди стали более самоорганизованными, то ли появ...

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

Я больше никогда не откажусь от MacBook в пользу других ноутбуков Около 4 лет использования MacBook Pro 2009 года сделали все, чтобы я больше никогда не мог пользоваться ноутбуками на Windows и Linux. Все началось с того, как в один прекрасный день на Avito в 2016 году я купил старенький MacBook 2009 года за 16 тысяч рублей. Бедный студен...

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

[recovery mode] DevOps: автоматизация инфраструктуры на примере Terraform, docker, bash, prometheus exporters, Gitlab и WireGuard Всем привет.Есть такие люди, которые работают с облачной инфраструктурой и не используют автоматизацию, потому что это долго, нужно вникать, а им надо фичи пилить. Накликали что-то там в UI, подключились по ssh, поставили всякого с помощью apt и т.д. и конфигурационные файлы...

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

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

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

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

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

Apple рассказала, почему не стоит заклеивать камеру MacBook Многие пользователи при работе с MacBook (и не только) предпочитают лишний раз закрывать камеру ноутбука, поскольку считают, что к ней могут подключиться хакеры или даже спецслужбы. А в некоторых организациях вообще действуют обязательные приказы, по которым сотрудники долж...

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

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

Алексей Грачёв: Go Frontend Kyiv Go Meetup May 2018: Ведущий: – Всем привет! Спасибо, что вы здесь собрались! Сегодня у нас два официальных спикера – Лёша и Ваня. Будет ещё два, если у нас хватит времени. Первый спикер – Алексей Грачёв, он расскажет нам о GopherJS. Алексей Грачёв (далее – АГ): – Я ...

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

Как писать музыку на Python — помогут три тематические библиотеки (для специалистов разного уровня) Продолжаем тему музыкального программирования — ранее мы говорили о языках Csound, SuperCollider и Pure Data, а сегодня рассказываем Python и библиотеках FoxDot, Pippi и Music-Code. Читать дальше →

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

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

Покайтесь, ибо грядет LDAP Channel Binding & Signing В первых строках хочу заметить, что новость это уже во первых старая, во вторых мало кому на самом деле интересная. Тем не менее, возможно кому то будет интересно узнать, что в марте 2020 года, примерно через месяц, всем использующим MS LDAP может стать немножко больно и о...

«50 оттенков коричневого» или «Как мы до этого докатились» Дисклеймер: данный материал содержит только субъективное мнение автора, наполненное стереотипами и вымыслами. Факты в материале отображены в виде метафор, метафоры могут быть искажены, гипертрофированы, приукрашены или же и вовсе выдуманы ASM До сих пор идут споры о том, кт...

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

[Перевод] Обработка сетевых данных на лету Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Аннотация Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразум...

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

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

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

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

Swift 5.3: Что нового? Привет Хабр! Язык программирования Swift обладает большой популярностью ввиду его использования в написании приложений под iOS, поэтому его развитие представляет интерес для всех занятых в этой области. Давайте посмотрим что нового приготовил разработчикам Swift версии 5.3....

Мне больше не нужен компактный смартфон Как я понял, что мне не нужен компактный смартфон Я много лет в качестве основного устройства использовал старый добрый iPhone 6. Однако пришло время обновлять свой гаджет, и я решил приобрести восстановленный iPhone 7. Однако, почитав комментарии пользователей на AppleInsid...

Свой сервер видеоконференций Jitsi. Часть 1 Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему: Свой сервер видеоконференций Jitsi. Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи ...

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

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

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

Sony и Microsoft будут разрабатывать камеры с AI Компании Sony и Microsoft сообщили о совместном проекте по созданию камер с поддержкой искусственного интеллекта. Кому они понадобятся? Два техногиганта будут работать над внедрением возможностей искусственного интеллекта Microsoft Azure в новый сенсор изображения Sony IMX50...

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

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

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

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

Siri Remote против Salt Remote Необычный пульт для Apple TV. С 30 октября 2015 года, когда одновременно с четвертым поколение Apple TV на свет появился пульт дистанционного управления с тач-падом и поддержкой голосового ассистента Siri, и вплоть до сегодняшнего дня, мир делится на три неравные части: на т...

[Перевод] В двух словах: Лучшие практики Async/Await в .NET В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала. Async/Await — Введение Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий ...

Подборка @pythonetc, январь 2020 Новая подборка советов про Python и программирование из моего авторского канала @pythonetc. ← Предыдущие публикации Порядок блоков except имеет значение: если исключение может быть поймано несколькими блоками, то его поймает верхний блок. Этот код не будет работать так,...

Почему не стоит торопиться перед покупкой Xiaomi Mi Air 2 Стоит ли покупать Air 2? После выхода AirPods я всегда присматривался к TWS-наушникам, а не так давно даже написал материал со списком лучших TWS-наушников. Что же такое вообще TWS? Это True Wireless Stereo, что означает “настоящее беспроводное стерео”. До выхода AirPods на ...

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

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

Бесплатный вебинар «Нейминг. Зачем и кому он нужен» Первая бизнес-школа клубного типа «БИЗНЕС ИНСАЙТ» приглашает Вас принять участие в бесплатном вебинаре на тему «Нейминг. Зачем и кому он нужен». Вебинар проведет Галина Вратенкова, основатель брендингового агентства Golden Marrow. Зачем: - Рассказать о подводных камнях при ...

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

Помощник или инспектор: по ком звонит робот? Привет, Хабр! Я тимлид группы продуктовых инноваций в КРОК. Технарём меня назвать можно с большой натяжкой, но зато я много общаюсь с разработчиками, техническими менеджерами, продажниками. И надеюсь, мы друг друга неплохо понимаем. Мы много работаем со стартапами, помогае...

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

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

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

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

Убийства и анализ данных Привет, Хабр. Меня зовут Алексей Кнорре, и я криминолог, аспирант в UPenn и аффилированный научный сотрудник в ЕУСПб. Подумал, что сейчас, после месяцев карантина, самое время рассказать о преступности. Неясная экономическая ситуация, рост безработицы, ухудшение общественно...

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

Парсинг фотографий с сайта cian.ru с помощью Selenium Здравствуйте дорогие хабровчане, в этом небольшом примере я хочу показать как можно распарсить страницу, данные на которую подгружаются с помощью javascript виджетов. Более того, даже если страницу в этом примере просто сохранить, то всё равно не получится спарсить из неё вс...

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

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

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

Семинары лаборатории языковых инструментов JetBrains Research Лаборатория языковых инструментов — совместная инициатива JetBrains и математико-механического факультета СПбГУ. Сотрудники лаборатории исследуют: формализацию и верификацию семантики языков программирования в контексте слабых моделей памяти; логическое и реляционное пр...

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

[Перевод] Карты высот и параллакс Из этой статьи вы узнаете о картах высот (height maps), также называемых картами параллакса (parallax maps). Что такое карта высот? Как обычно, когда я говорю «карта», то имеют в виду текстуру, содержащую информацию о внешнем виде 3D-объекта. Карта высот/параллакса — это к...

Светодиод, таймер и прерывания на RISC-V с нуля (на примере GD32VF103 и IAR C++) Сегодня речь пойдет о модном — о RISС-V микроконтроллере. Я давно хотел познакомиться с этим ядром и ждал когда появится что-то похожее на STM32 и вот дождался, встречайте — китайский GigaDevice — GD32V. Инфраструктура для этого микроконтроллера не такая обширная как для ST...

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

Amazon открывает доступ к своему квантовому компьютеру Amazon делает что-то новое! Такие технологические гиганты, как Google и IBM уже давно борются за то, чтобы стать первой компанией, которая создаст по-настоящему доступный квантовый компьютер. Между тем не менее известная компания Джеффа Безоса Amazon не сильно спешит влезать...

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

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

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

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

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

[Из песочницы] Теория игр и её применение в жизни Привет, читатель! Некоторые из вас видели набор букв“qwerty”. Qwerty — это раскладка клавиатуры. Посмотрите на вашу клавиатуру. Вы увидите в верхнем ряду буквы «q»«w»«e»«r»«t»«y». А по какой причине нам интересна раскладка клавиатуры? Ещё давно, когда люди пользовались печ...

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

Уникальная программа ВидеоМастер Компания AMS Software предлагает вниманию своих клиентов самое лучшее программное обсечение для пользователей разных сфер деятельности. На сегодняшний день большой популярностью пользуется видео редактор от этой компании ВидеоМастер. Эта программа позволяет сделать из горизо...

[Перевод] Мониторинг Kubernetes с помощью Prometheus и Thanos Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS ...

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

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

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

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

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

Основы программирования смарт-контрактов TON (FreeTON) Перед тем как мы начнем писать свой токен, а затем систему смарт-контрактов, давайте проведем краткий обзор важных элементов смарт-контрактов для FreeTON. Читать далее

Так все же, зачем нужен make? Все началось, казалось бы, с простого вопроса, который сначала ввел меня в ступор — "Зачем нужен make? Почему нельзя обойтись bash скриптами?". И я подумал — Действительно, зачем нужен make? (и самое важное) Какие проблемы он решает? Читать дальше →

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

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

MS Remote Desktop Gateway, HAProxy и перебор пароля Друзья, привет! Существует множество способов подключения из дома к рабочему месту в офисе. Один из них — это использовать Microsoft Remote Desktop Gateway. Это RDP поверх HTTP. Я не хочу здесь затрагивать настройку самого RDGW, не хочу рассуждать, почему он хорош или плох,...

Ask me anything! Задай вопрос Android-команде Badoo Предлагаем продолжить добрую традицию Ask me anything на Хабре и поговорить про разработку Android-приложений. Сегодня и завтра Android-команда Badoo будет на связи и ответит на любые вопросы о разработке и тестировании приложений с многомиллионной аудиторией, даст советы на...

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

Новый MacBook одобрен для выпуска в России В базе данных Евразийской экономической комиссии (Eurasian Economic Union, EAEU) появился новый ноутбук Apple, который пока не был представлен производителем. Модель имеет маркировку A2289. Она описывается как «Портативный персональный компьютер торговой марки Ap...

Установка SKR v1.4 (не турбо) + TMC2208 (UART) на Ender 3 с родным дисплеем     Мой первый пост. И рассчитан он для начинающих печатников (коим я и являюсь), обладателей очень популярного Creality Ender 3. Писк моторов (ночью очень раздражает) и желание печатать водорастворимым филаментом для поддержек, сподвигло на апгрейд, с условием сохранения ро...

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

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

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

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

Низкоуровневое обнаружение (LLD) в Zabbix через SQL-запросы Привет, Хабр! В этой статье поделюсь полезным подходом мониторинга в Zabbix — через обнаружение элементов данных в ответе на SQL-запрос. Этот тип мониторинга обычно используется в бизнес-мониторинге, когда собираются показатели производительности бизнес-процесса: количеств...

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

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

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

[Перевод] Стилизация старого доброго элемента button Кнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег <button></button> может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого м...

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

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

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

Ошибки в JavaScript: исправляем, обрабатываем, чиним Всем привет! Вдохновленные успехом предыдущей статьи, которая была написана в преддверии запуска курса "Fullstack разработчик JavaScript", мы решили продолжить серию статей для новичков и всех тех, кто только начинает заниматься программированием на языке JavaScript. Cегодн...

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

Пробел не так прост как кажется Всем привет! Как вы уже знаете, мы в SE занимаемся распознаванием текста (и не только) на разных документах. Сегодня мы хотели бы рассказать еще об одной проблеме при распознавании текста на сложных фонах — о распознавании пробелов. Вообще, мы будем говорить об имени на банк...

[Перевод] Node.js, Tor, Puppeteer и Cheerio: анонимный веб-скрапинг Веб-скрапинг — это метод сбора данных с веб-сайтов. Этот термин обычно используется в применении к автоматизированному сбору данных. Сегодня мы поговорим о том, как собирать данные с сайтов анонимно. Причина, по которой некто может захотеть анонимности в деле веб-скрапинга, ...

Козленок на инвалидной коляске: как инклюзивные мультфильмы меняют общество В России создают мультсериал «Волк наоборот» про козленка на инвалидной коляске. Его производством занимается творческая студия DiversityStudio, которая появилась в 2019 году. Зачем нужен такой персонаж и как поменялось отношение к людям с инвалидностью, Светлана Павликова,...

Было 10 — стало 5. Чего Huawei добивается новым складным смартфоном? Чего-то много я стал в последнее время писать про Huawei. А что делать, если она постоянно дает повод поговорить о себе? Особенно, когда делает странные и немного двусмысленные вещи, как, например, изменение нейминга смартфонов. Сейчас появилась информация, что новый складн...

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

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

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

Google значительно обновил документацию по mobile-first индексации Команда Google Webmasters сообщила о внесении «значительных изменений» в документацию по mobile-first индексации. С обновлённой документацией можно ознакомиться по ссылке. В интернет-архиве Wayback Machine доступна версия за 12 декабря. Консультант по международном...

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

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

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

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

[Перевод] Чистые тесты на PHP и PHPUnit В экосистеме PHP существует много инструментов, обеспечивающих удобное тестирование на PHP. Одним из самых известных является PHPUnit, это почти синоним тестирования на этом языке. Однако о хороших методиках тестирования пишут не так много. Есть много вариантов, для чего и ...

[Перевод] Sktime: унифицированная библиотека Python для машинного обучения и работы с временными рядами Всем привет. В преддверии старта базового и продвинутого курсов «Математика для Data Science», мы подготовили перевод еще одного интересного материала. Решение задач из области data science на Python – это непросто Почему? Существующие инструменты плохо подходят для реше...

[Перевод] Создание бесшовных карт шума Создать бесшовное изображение в Photoshop легко: обрезать изображение, взять обрезанную правую и нижнюю части, а потом приклеить их слева и сверху при помощи инструмента «Ослабить» (Fade). Но для правильной реализации бесшовных карт шума придётся хорошенько подумать. Если ...

[Перевод] Заменяем User Story на Job Story Всем привет. Перевели еще один интересный материал для студентов курса «Product Manager IT-проектов». Приятного прочтения Раньше, я уже писал о проблемах с user story (пользовательскими историями). В те времена я считал, что лучше просто попросить команду обсудить предлаг...

SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play) Данная разработка предназначена для тех, кому надоело после создания файла с g-кодом на PC, вынимать SD-карту из 3D-принтера, вставлять её в PC, записывать g-код, а после снова совать её в 3D-принтер. И, кроме того, для тех, кому не хочется разбираться с ардуино и всякими би...

WhatsApp рекомендует срочно обновить мессенджер. Что случилось WhatsApp можно «убить» одним сообщением Несмотря на то что WhatsApp пользуется более миллиарда человек по всему миру, он всё-таки далёк от того, чтобы называться идеальным мессенджером. Не то чтобы он был неудобным или недостаточно функциональным, но редкий месяц п...

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

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

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

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

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

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

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

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

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

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

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

[Перевод] Продвинутый уровень визуализации данных для Data Science на Python Как сделать крутые, полностью интерактивные графики с помощью одной строки Python Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции...

Facebook выпустит свою операционную систему назло Google Скоро на рынке появится новая ОС — от Facebook Несмотря на то что очень многие компании пытались создать собственные операционные системы для мобильных устройств, получилось это сделать только у Apple и Google, которые, собственно, сегодня не просто доминируют на рынке...

Онтол(=самое полезное) про удаленную работу [подборка 100+ статей] «Если не стыдно за первую версию продукта — вы вышли на рынок слишком поздно» Всем привет, я долго тянул, и вот решил выложить даже не MVP, а идею, над которой я сейчас работаю. Выкристаллизовалась она год назад, по итогам 7 лет писанины на Хабре. Многие слышали о пирами...

.NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров .NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С ее помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, ...

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

Разработчик Canonical выпускает Ubuntu Linux Focal Fossa Ubuntu - это самая популярная настольная операционная система на базе LInux. Операционная система стала такой популярной из-за простоты в использовании, она красива и очень стабильна. Она подходит как для начинающих, так и для экспертов. Focal Fossa кодовое название н...

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

Потоковая передача колоночных данных с помощью Apache Arrow Перевод статьи подготовлен специально для студентов курса «Data Engineer». За последние несколько недель мы с Nong Li добавили в Apache Arrow бинарный потоковый формат, дополнив уже существующий формат файлов random access/IPC. У нас есть реализации на Java и C++ и привяз...

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

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

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

Пишем Ретровейв на Angular Web Audio API существует уже давно, и про него есть немало статей. Поэтому про сам API много говорить не будем. Расскажем, что Web Audio и Angular могут стать лучшими друзьями, если их правильно познакомить. Давайте сделаем это! Читать дальше →

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

[Перевод] Почему мы перешли с Webpack на Vite Миссия Replit — сделать программирование более доступным. Мы предоставляем людям бесплатные вычисления в облаке, чтобы они могли создавать приложения на любом устройстве. Одним из самых популярных способов создания приложений в Интернете на сегодняшний день является React....

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

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

Гореть, но не сгорать – гореть, чтобы светить Привет, хабровчане. В преддверии старта курса «Team Lead 2.0», хотим поговорить о профессиональном выгорании. О профессиональном выгорании хотя бы краем уха слышал каждый второй, но по-настоящему понять, что это такое необходимо, чтобы сохранить самое важное, что у нас ес...

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

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

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

Отечественный DSP процессор 1967ВН028 от фирмы Milandr. Небольшой мануал по арифметике на языке assembler В своем первом пробном цикле статей я хочу немного обозреть некоторые особенности упомянутого выше российского DSP процессора. Про этот процессор уже были упоминания и не одно, в том числе и на хабре, например, здесь. По этому не буду разбирать его общий функционал, откуда ...

[Из песочницы] Начинаем работу с Google Sheets на Python. От регистрации до чтения данных Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака. Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным. Когда я впервые столкнулся с необходимостью работы c ...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

Пишем плагин отладки для SNES игр в IDA v7 Приветствую, Моя очень старая мечта сбылась — я написал модуль-отладчик, с помощью которого можно отлаживать SNES (Super Nintendo) игры прямо в IDA! Если интересно узнать, как я это сделал, "прошу под кат" (как тут принято говорить). Читать дальше →

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

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

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

Как управлять iPhone или iPad только голосом Голосовое управление в iOS удобно настолько, что его не хочется отключать Apple дальше других продвинулась по части развития инклюзивных технологий. Благодаря этому фирменной техникой компании могут пользоваться люди с нарушениями зрения, с парализованными конечностями и сам...

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

Samsung нагло соврала? Экран Galaxy Z Flip прикрывает обычный пластик Samsung Galaxy Z Flip добрался до рук блогера JerryRigEverything, тесты которого на этот раз оказались весьма любопытными. Если точнее, то самый первый тест, который обычно можно пропускать. Речь о тесте защитного стекла либо, в редких случаях, пластика. Напомним, у все...

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

Про их работы ещё не знает Википедия Нет, эта статья не про фантазии автора, патриотические песни или популистские размышления на тему. Это рассказ о том, как оно есть на самом деле. Как в одном конкретном ВУЗе создали условия, благодаря которым работать в нём вернулись те самые "утекшие мозги", уехав...

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

Корпоративная магистратура JetBrains в Университете ИТМО ищет новых студентов Объявляем набор на магистерскую программу JetBrains “Разработка программного обеспечения” на 2021-2023 учебные годы. Мы ждем тех, кто уже обладает базовыми знаниями в программировании и готов посвятить два года интенсивной учебе.Обучение ведется по двум специализациям: разра...

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

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

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

Обзор защиты ПО процессора S905X (secured boot) В этой статье речь пойдёт о защите програмного обеспечения на процессоре S905X. Конечная цель — запустить неавторизованный софт. S905X Процессор S905X — это ARM Cortex-A53 с тактовой частотой до 1,5GHz, напичканый всевозможными декодерами для видео и аудио потоков, как напр...

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

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

[Перевод] Введение в GitHub Actions В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения. GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие пр...

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

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

Александр Клянин: «До 2018 года я использовал OSM только в качестве подложки в своем блоге» Александр Клянин — дизайнер из Уфы, увлекающийся туризмом и фотографией. Не так давно он с помощью данных из OpenStreetMap и личного усердия нарисовал настоящую географическую карту Южного Урала. Как он ее сделал, какие для этого использовал инструменты и почему не может ос...

Шпион под прикрытием: проверяем исходный код ILSpy с помощью PVS-Studio В блоге компании PVS-Studio можно найти далеко не одну статью с результатами проверок исходного кода различных компиляторов. С другой стороны, немного обделённым вниманием PVS-Studio кажется другой класс программ - класс декомпиляторов. Дабы сделать мир более гармоничным, бы...

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

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

Xiaomi Mi A2 получает обновление до Android 10 Xiaomi Mi A2 на сегодняшний день бестселлером не является, но и определенную популярность все же заработал. Доступное устройство на чистом Android One, не отягощенное излишествами, с довольно неплохой камерой… В общем всё прилично, вот только выпущена модель летом 2018-го с ...

Sony создаёт для PS5 10 или более полностью новых игр, а Microsoft работает над одной Вчера мы узнали о том, что в недрах Sony ведётся разработка более чем 25 игр для PlayStation 5, почти половина из которых будут совершенно новыми проектами в новых вселенных. То есть можно говорить о 10 или более полностью новых игр.  А что же готовит Microsoft? Г...

[recovery mode] Разработчики — никакая не элита, а голые короли индустрии ЛОЛШТО? Пожалуйста, не поймите меня неправильно. Я профессиональный разработчик с 30-летним стажем. Я могу читать и понимать почти двадцать языков, полных по Тюрингу. Я могу писать ясный и выразительный код на доброй дюжине из них. В языках, которые я действительно люблю и и...

Укрощая зверя: legacy-код, тесты и вы Legacy-код — это «старый» код, возраст которого может быть как 2 месяца, так и 10 лет. Часто его писали разработчики, о которых в компании смутно помнят. Возможно, их вообще не было, а legacy-код родился вместе со Вселенной во время Большого Взрыва. С тех пор требования к не...

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

Язык программирования karasic Привет, друг. Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования kara...

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

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

Масштабная утечка: что нового будет в iOS 14 Мы уже выяснили, что обновления – самый надёжный источник информации о новых продуктах Apple. Ведь если Евразийская экономическая комиссия в основном сливает только названия аппаратных новинок, обозначая примерный список устройств, которые следует ждать в ближайшее время, т...

Apple разработала новый способ обмена данными между iPhone Скоро нам не придется пользоваться AirDrop Помните, как раньше для передачи фотографии или мелодии (да-да, не песни) мы клали два телефона вплотную друг другу, чтобы не потерять контакт между ИК-портами? Похоже, Apple собирается возродить некогда популярный способ обмена дан...

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

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

[Перевод] Нажималка для YubiKey Если вы работаете в сфере информационных технологий, то у вас, возможно, есть аппаратный ключ безопасности YubiKey. У меня такой имеется. Это — YubiKey 5C Nano, показанный на следующем снимке. YubiKey 5C Nano Если вы работаете в области, не связанной с компьютерами, но пр...

Фреймворконезависимый фронтенд GoF, Чистая архитектура, Совершенный код — настольные книги «true программиста». Но в мире фронтенда многие идеи из этих книг недоступны. По крайней мере сходство с реальным миром найти очень сложно. Может быть современный фронтенд опережает время? Может быть «функциональное...

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

Шпаргалка аналитику: как «раскопать» систему На конференции аналитиков Analyst days #10 было выступление архитектора с докладом как раскопать legacy систему без документации или при наличии противоречивой документации («4 правила археолога: как «раскопать» систему» Евгений Асламов). Отличный доклад. Когда аналитик при...

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

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

Древние обитатели России строили дома из костей мамонтов Около 20 тысяч лет назад территория современной России была весьма суровым местом. Земля была покрыта льдом и снегом, а вокруг ходили кровожадные хищники и огромные мамонты, поэтому местным обитателям приходилось прилагать много усилий, чтобы выжить. Да и образ жизни у них ...

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

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

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

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

Ученые научили роботов понимать разговорный язык людей Как стало известно, исследователям из Массачусетского технологического института (MIT) удалось научить роботов понимать разговорный язык людей — прежде они могли понимать лишь определенные команды. Таким образом, ученые стали еще на шаг ближе к тому, чтобы сделать из них пол...

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

Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice Хотите использовать линукс на работе, но корпоративный VPN не даёт? Тогда эта статья может помочь, хотя это не точно. Хочу заранее предупредить, что вопросы администрирования сетей я понимаю плохо, поэтому не исключено, что я всё сделал неправильно. С другой стороны не исклю...

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

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

[Из песочницы] Разработка отладочной платы для К1986ВЕ1QI (авиа) Несколько лет назад я познакомился с российскими микроконтроллерами фирмы Миландр. Это был 2013 год, когда инженеры бурно обсуждали первые результаты ФЦП «Развития электронной компонентной базы и радиоэлектроники» на 2008-2015 годы. На тот момент уже был выпущен контроллер...

Программирование ESP32 с использованием JTAG программатора ESP-Prog и ESP-IDF ESP-Prog Всем доброго времени суток. На просторах Али можно найти такой программатор, как ESP-Prog, на чипе FTDI2232H, с виртуальным COM-портом на борту: Среда разработки Как IDE мы будем использовать Visual Studio с плагином VisualGDB. Данный плагин предназначен для раз...

Интеграция интернет-магазина на 1С-Битрикс с Mindbox Для развития систем лояльности интернет-магазины обращаются к платформам автоматизации маркетинга, Customer Data Platform (CDP). При этом иногда для успешной интеграции нужно сохранять больше данных, чем указано в документации к API. Рассказываем, какие данные понадобились ...

Козырь Radeon RX 5500 XT — внушительный разгон свыше 2 ГГц. Но нужно особое ПО После анонса и публикации массы обзоров видеокарты Radeon RX 5500 XT с адаптером всё стало ясно. В версии с 4 ГБ это прямой конкурент для GeForce GTX 1650 Super, а версия с 8 ГБ переоценена, так как стоит, как более производительная GTX 1660. Однако оказалось, что RX 5...

iGo3D техничка Дорогие друзья!Наша рубрика iGo3D техничка, в которой мы подробно рассказываем Вам о 3D-принтерах, их специфике, расходных материалах, комплектующих и т.д. пополнилась сразу двумя новыми видео-обзорами!Многие из пользователей 3D-принтеров Formlabs Form 3, которые получили св...

Книга «PowerShell для сисадминов» Привет, Хаброжители! PowerShell — это одновременно язык сценариев и командная оболочка, которая позволяет управлять системой и автоматизировать практически любую задачу. В книге «PowerShell для сисадминов» обладатель Microsoft MVP Адам Бертрам aka «the Automator» покажет, к...

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

Мнение: Чем iOS в 2020 году всё еще лучше Android? Чем iOS лучше Android? Только не думайте, что мы пытаемся направить вас на ложный путь. Давайте просто попытаемся сравнить iOS с Android и понять, в чём iOS превосходит любимую нами операционную систему от Google. Признаюсь, в Android есть моменты, которые вызывают у меня и ...

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

[Перевод] C++ vtables. Часть 2 (Virtual Inheritance + Compiler-Generated Code) Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Интересно развиваться в данном направлении? Смотрите запись мастер-класса «Практика использования Google Test Framework»! Часть 3 — Виртуальное наследование В первой и второй части этой статьи мы г...

Как джуниор Python-разработчику стать мидлом за год Привет! Я Рома, менеджер продукта в Яндекс.Практикуме, где развиваю курс «Мидл Python-разработчик». Мы делаем из начинающих разработчиков крепких мидлов с инженерным мышлением. Сегодня хочу поделиться небольшими заметками о том, над чем стоит работать, если вы джуниор, котор...

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

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

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

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

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

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

«Супервидеокарты» Nvidia готовятся завоёвывать ноутбуки О том, что видеокарты GeForce Super доберутся и до ноутбуков, мы уже слышали. Пока этого не случилось, но источник раздобыл новые сведения на этот счёт. Согласно его данным, новые адаптеры станут доступны уже в мае. Запрет на публикацию должны снять 31 марта. Напомним, ...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

ML в облаке: как я попробовал Yandex DataSphere и почему его так непросто сравнить с Google Colab Привет, Хабр! Меня зовут Дмитрий (@pagin), и я специализируюсь на вопросах ускорения и уменьшения свёрточных сетей. Моя основная работа — распознавание автомобилей и классификация транспорта, поэтому я обучаю много небольших CNN и часто пользуюсь облачными сервисами для ML. ...

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

Дополнительные компоненты для кроссплатформеннной библиотеки материального дизайна KivyMD Приветствую, уважаемые любители и знатоки Python! Если вы используете в своих приложениях Python и такие кроссплатформенные инструменты как фреймворк Kivy и библиотеку материального дизайна KivyMD, тогда вам точно будет интересно эта статья, в которой я расскажу о дополнит...

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

Я устал, я ухожу. Про PewDiePie и YouTube Шведский блогер Феликс Чельберг (Felix Arvid Ulf Kjellberg), известный под ником PewDiePie, является создателем одноименного канала в YouTube, которому в августе этого года удалось преодолеть отметку в 100 миллионов подписчиков. Одна из самых ярких звезд YouTube объяви...

[Из песочницы] Все о проекте спутниковый интернет Starlink. Часть 1 Проект StarLink компании SpaceX американского миллиардера и энтузиаста космоса Илона Маска хотя и появился достаточно давно, но стал широко обсуждаться в СМИ полтора года назад. Тема спутниковой связи является весьма сложной, так как объединяет в себе не только технические...

Стив пишет заклинания на Python. Обучение детей программированию в Minecraft Хочу поделиться наработками домашнего обучения детей программированию. Даже не столько обучению, сколько привлечения детского внимания и интереса. Ведь согласно Сократу, человек - не сосуд для наполнения, а факел, который нужно зажечь. Изначально были попытки начать со Scrat...

Флагман Samsung из-за бага начал фотографировать хуже Xiaomi Флагманы Samsung имеют неприятный баг, связанный с качеством снимков, полученных на фронтальную камеру. Проблему удалось раскрыть нашим коллегам из Phonearena.com, которые пользовались Galaxy S20 Ultra, Galaxy S20+ и Galaxy S20 на протяжении двух недель и успели найти все м...

Это случилось: готовится к выходу смартфон на полноценной Windows 10 Рынку смартфонов уже давно необходима революция, и мы ощущаем, что эти времена наступят уже совсем скоро. Смартфоны должны в будущем заменить ноутбуки, компьютеры и планшеты. Почему я так считаю? А потому что всё идет именно к этому. Например, Samsung предлагает своим потре...

В Windows 10 снова были замечены вкладки в Проводнике Еще в 2018 году Microsoft анонсировала новую функцию Windows 10 под названием «Sets» (Наборы), которая стирает грань между настольными приложениями и веб-страницами. Наборы – это вкладки для Проводника, Office и любого другого приложения в Windows 10, поэтому вы можете быстр...

Sealed classes. Semantics vs performance Наверное, не я один после прочтения документации о sealed классах подумал: «Ладно. Может быть это когда-нибудь пригодится». Позже, когда в работе я встретил пару задач, где удалось успешно применить этот инструмент, я подумал: «Недурно. Стоит чаще задумываться о применении»....

Готовы ли читатели AppleInsider.ru купить iPhone совсем без разъёмов Беспроводная зарядка может стать единственным способом зарядить iPhone уже через два года Беспроводное будущее, в которое Apple пригласила нас в 2016 году, когда представила первые AirPods, так и не наступило. Прошло уже три года, аудитория тех, кто предпочитает беспроводные...

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

HUAWEI FreeBuds 3: Вкладыши с шумодавом вместо AirPods Pro У меня на тесте появился бомбический девайс. Это беспроводные наушкники: вкладыши, а не затычки. Да ещё и с шумоподавлением. И стоит это все — 11 тысяч рублей. AirPods, AirPods Pro — до свидания! Это FreeBuds 3 от HUAWEI. Я попользовался ими две недели и мне есть...

Пошаговая инструкция как использовать MkDocs для создания сайта с документацией продукта Всем привет! Мы продолжаем разбирать наши решения. Сегодня расскажем о том, как, используя генератор Material for MkDocs, можно создать несложный, но удобный статический сайт с документацией (и не только!).А ещё как встроить его в CI/CD для автосборки и автопубликации (...

Запись видео с экрана и многое другое при помощи NVIDIA ShadowPlay Уверен, многие из вас хотели бы попробовать завести свой канал в YouTube с нарезками лучших моментов из видеоигр, чтобы и народ развлечь, и себя в чем-то новом попробовать. Но вот в чем загвоздочка, как только мы слышим страшные и незнакомые слава про карту захвата и OBS, вс...

Обучение программированию 2019, или в поисках идеальной программы: Последовательность Здравствуйте, меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО. Увлекаюсь разработкой игр и обучением программированию. Предисловие Осенью 2019-го я в третий раз участвовал в курсе обучения ребят 10-15 лет программированию в качестве одного из преподава...

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

[Перевод] Как работает гистограмма Prometheus? Перевод статьи подготовлен в преддверии старта курса «Мониторинг и логирование: Zabbix, Prometheus, ELK». Ранее мы рассматривали счетчик (counter), измеритель (gauge) и сводку (summary). Теперь же давайте поговорим о том, как работает гистограмма (histogram) в Prometheus....

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

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

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

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