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

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

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

Язык программирования Kotlin, созданный выходцами из России, стал основным для Android-приложений Большой успех российских программистов

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

Microsoft перепишет низкоуровневые компоненты Windows в рамках проекта Verona Project Verona — исследовательский проект Microsoft, призванный сделать Windows 10 более безопасной операционной системой за счёт переписывания низкоуровневых компонентов на новом языке программирования, основанном на Rust. Компания также отчиталась об успешной попытке испо...

[Перевод] Бесстрашная защита. Безопасность потоков в Rust Это вторая часть цикла статей «Бесстрашная защита». В первой мы рассказывали про безопасность памяти Современные приложения многопоточны: вместо последовательного выполнения задач программа использует потоки для одновременного выполнения нескольких задач. Все мы ежедневно ...

[Перевод] Последствия переписывания компонентов Firefox на Rust В прошлых статьях цикла мы обсудили безопасность памяти и безопасность потоков в Rust. В этой последней статье посмотрим на последствия реального применения Rust на примере проекта Quantum CSS. Движок CSS применяет правила CSS на странице. Это нисходящий процесс, который с...

[Из песочницы] Как сойти за хорошего программиста Привет, Хабр! Представляю вашему вниманию перевод статьи «How To Fake Being a Good Programmer» автора Stan Sootla. Программисты – это, своего рода, волшебники: слегка потрепанные персонажи-бедняки, которые умеют превращать кофе в строчки кода. Я не владею магией, я всего ...

Mail.Ru Group выпустила новый безопасный браузер Atom Компания Mail.Ru Group анонсировала запуск нового браузера Atom. Основной упор в новом продукте сделан на безопасность и приватность пользователей.  Для того, чтобы пользователь осознанно управлял своей безопасностью, в браузере создана специальная панель, на которой мо...

Метапрограммирование в JavaScript и TypeScript Пролог Хочу представить на Ваш суд ряд мини статеек, в которых будут описаны приемы и основы метапрограммирования. В основном я буду писать об использовании тех или иных техник в JavaScript либо в TypeScript Эта первая (и надеюсь не последняя) статья из серии. Так что же так...

[Перевод] Самые быстрые Python веб-фреймворки в 2019 В 2018 году Python укрепил свои позиции популярности среди программистов и вошел в Top 3 самых популярных языков на github. Все больше и больше людей переходит на светлую сторону…то есть Python. Появилось еще большее количество разработчиков, которые интересуются данным яз...

[Из песочницы] Мониторинг доступности хостов на Powershell Всем доброго времени суток, хочу поделиться простой инструкцией «Как можно перестать вручную пинговать десяток хостов. Без регистрации и СМС!». С просторов Интернета Важно: я не программист и не системный администратор, но мне приходиться работать одновременно с большим на...

Беспощадная автоматизация. Director's Cut Я хочу рассказать о своем опыте ускорения автоматизации в команде программистов, и о том, какие приемы мы применили на практике, и что из этого получилось. Начальные условия Наш эксперимент по ускорению работы программистов мы проводили в следующих условиях: это было террит...

Бьёрн Страуструп жалеет, что биткоин был написан на C++ – языке программирования, который он создал Создателю C++ Бьёрну Страуструпу (Bjarne Stroustrup) не нравится, что для написания исходного кода биткоина был использован именно его язык программирования. В своём недавнем интервью датский учёный-программист назвал C++ инструментом, использование которого невозможно контр...

Опровергаем четыре стереотипа о языке программирования Rust Язык программирования Rust, созданный и поддерживаемый корпорацией Mozilla, позволяет обычным программистам писать одновременно и безопасные и быстрые системы: от калькуляторов до высоконагруженных серверов. За своё относительно короткое время существования данный язык уже ...

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

Разработка ТамТам-бота на Python Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как част...

Самодокументируемый REST сервер (Node.JS, TypeScript, Koa, Joi, Swagger) Про преимущества и недостатки REST написано уже довольно много статей (и еще больше в комментариях к ним) ). И если уж так вышло, что вам предстоит разработать сервис, в котором должна быть применена именно эта архитектура, то вы обязательно столкнетесь с ее документировани...

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

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

[Перевод] 20 лет RollerCoaster Tycoon: интервью с создателем игры 31 марта 1999 года была выпущена игра RollerCoaster Tycoon, полностью созданная одним человеком и написанная на языке ассемблера x86. В честь юбилея игры мы публикуем перевод интервью с автором, записанное в 2016 году. Сегодня мало кто помнит имя шотландского программиста ...

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

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

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

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

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

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

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

[Перевод] Почему я не использую веб-компоненты Я пишу это в основном для себя в будущем, чтобы у меня было куда сослаться, когда кто-нибудь спросит меня, почему я скептичен в отношении веб-компонентов и почему Svelte не компилируется в веб-компоненты по умолчанию. (Тем не менее, он может компилироваться в веб-компоненты,...

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

В Android исправили критические RCE-уязвимости Компания Google выпустила два комплекта обновлений для операционной системы Android. Наборы патчей, появившиеся 1 и 5 ноября 2019 года, содержат 38 заплаток, устраняющих баги в базовом фреймворке, ядре, библиотеках и других частях ОС. Разработчики также включили в ноябрьский...

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

[Перевод] До Netscape: забытые веб-браузеры начала 1990-х Кто-нибудь помнит Erwise? Viola? Cello? Давайте вспоминать. Когда в 1980-м Тим Бернерс-Ли прибыл в ЦЕРН, знаменитую европейскую лабораторию физики частиц, его наняли для обновления контрольных систем нескольких ускорителей частиц. Но изобретатель современной веб-страницы п...

IT-Хогвартс: Школа программистов hh.ru В этом году Школа программистов hh.ru отмечает свой юбилей: вот уже десять лет как мы превращаем людей в full stack разработчиков. Обучение в Школе бесплатное, и это принципиально. Учебный процесс состоит из двух больших блоков: теория и проектная работа в команде. Два основ...

[Перевод] Почему программисты продолжают использовать многословный Java, хотя есть лаконичный Python Java и Python — одинаково популярные языки программирования. Однако Python более продуктивен: в нем меньше объем кода, нужного для решения задачи. Почему же программисты до сих пор работают с Java там, где можно применить Python? Давайте разбираться. Читать дальше →

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

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

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

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

Что делать, если для постройки робота не хватает кубиков? Моя предыдущая статья была написана, в первую очередь, для менеджеров проектов и руководителей направления RPA. Эту статью я хотел бы адресовать, в первую очередь, программистам и тем, кому приходится с роботизацией сталкиваться face-to-face. Первые несколько процессов, кот...

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

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

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

Экзотические структуры данных: Modified Merkle Patricia Trie "Какого дьявола я должен помнить наизусть все эти чёртовы алгоритмы и структуры данных?". Примерно к этому сводятся комментарии большинства статей про прохождение технических интервью. Основной тезис, как правило, заключается в том, что всё так или иначе используемое уже реа...

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

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

Google Chrome получит функцию «Режим чтения» без отвлечения внимания Современные веб-сайты более загружены, чем когда-либо. Разделы с комментариями, рекламные баннеры, приглашения для подписки на новостные рассылки и многое другое заполняют большинство сайтов в Интернете. Мы стараемся придерживаться разумных соображений здесь, в ITbukva.com, ...

[Из песочницы] Разработка VPN-плагина «Континент-АП» для ОС Sailfish Введение Я работаю программистом в отделе разработки и тестирования средств защиты мобильных платформ компании «Код безопасности». Перед командой мобильной разработки была поставлена задача портировать кроссплатформенную библиотеку абонентского пункта «Континент-АП», которая...

[Перевод] Как Shopify организовала совместную работу более 1000 разработчиков Сложно организовать совместную работу большой команды, тем более над общей кодовой базой, такой как Shopify. Наш монолит меняется по 40 раз на дню. Мы отслеживаем разработку в trunk-based рабочем процессе и ежедневно вливаем в мастер по 400 коммитов. У нас три правила безо...

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

[Перевод] Заметка о void в JavaScript и TypeScript Если вы, до того, как заинтересовались JavaScript, писали на традиционных языках с сильной типизацией, то вы, возможно, знакомы с концепцией void. Это — тип, использование которого сообщает программисту о том, что соответствующие функции и методы при их вызове ничего не возв...

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

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

[Перевод] Python как предельный случай C++. Часть 2/2 Продолжение. Начало в «Python как предельный случай C++. Часть 1/2». Переменные и типы данных Теперь, когда мы окончательно разобрались с математикой, давайте определимся, что в нашем языке должны означать переменные. В С++ у программиста есть выбор: использовать автоматичес...

Управляем android устройством Это уже третья попытка подружить умный дом с android, напомню, что первая попытка контролировать android устройства посредством HTTP, была с помощью приложения Paw Server. Данное приложение позволяло с помощью языка BeanShell встраивать свой код в xhtml страницу и взаимоде...

[Перевод] Swift: ARC и управление памятью Будучи современным языком высокого уровня, Swift в основном берёт на себя управление памятью в ваших приложениях, занимаясь выделением и освобождением памяти. Это происходит благодаря механизму, который называется Automatic Reference Counting, или сокращенно ARC. В этом руко...

Дайджест IT событий марта (часть первая) С весной приходит и новый пик активности программистов в нерабочее время — нам снова приходится разбить мартовский обзор на две части. Основу светской жизни в этом месяце составляют небольшие встречи по интересам — языки (Pythpn, Lua, Elixir), веб-рзработка, тестирование. ...

Перенос сайта на статику: мотивация, стоимость, работа Недавно мы сделали то, о чём грезят все программисты и дизайнеры — переписали всё с нуля: полный редизайн нашего сайта и написание «движка» с чистого листа. Ниже поведаем о мотивации и процессе миграции с онлайн-CMS на статику. Читать дальше →

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

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

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

[Из песочницы] Продвинутый Debug Debug Area — полезная функция в работе iOS разработчика в Xcode. Как только мы начинаем осваивать разработку под iOS, и пытаемся отойти от привычного и любимого print метода, и найти более быстрые и удобные методы понимания состояния системы в определенный период мы начинаем...

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

[Перевод] Основы движков JavaScript: общие формы и Inline кэширование. Часть 2 Всем привет! Курс «Безопасность информационных систем» стартует уже через 2 недели, поэтому сегодня мы хотим опубликовать вторую часть статьи, публикация которой приурочена к его запуску. Прочитать первую часть можно тут. Итак, начнем. Inline Caches (ICs) Основной идеей, к...

BSI: Firefox — самый безопасный браузер Браузер Firefox отвечает всем современным требованиям безопасности и превосходит в этом отношении Chrome, Edge и Internet Explorer. К такому выводу пришли специалисты Федерального управления по информационной безопасности Германии (Bundesamt für Sicherheit in der Information...

[Перевод] Четыре больших ошибки, которые совершал каждый программист Фотограф — Blake Connally, источник — Unsplash Создание программного обеспечения — искусство. Написание кода позволяет нам самовыражаться. И каждый разработчик делает это по-своему. Но индивидуализм не бесплатен — в этой статье я напишу о некоторых самых распространённых оши...

[Из песочницы] Бесконечный и нелепый список того, что вам нужно знать, чтобы безопасно использовать публичные сети Wi-Fi Привет, Хабр! Представляю вашему вниманию перевод статьи «The Complete, Endless, Ridiculous List of Everything You Need to Be Safe on Public Wi-Fi» автора Patrick F. Wilbur. Wi-Fi сети, вебсайты, протоколы, которые мы используем, не обеспечивают нам необходимой безопасност...

[Перевод] Самые позорные ошибки в моей карьере программиста (на текущий момент) Как говорится, если тебе не стыдно за свой старый код, значит, ты не растешь как программист — и я согласна с таким мнением. Я начала программировать для развлечения более 40 лет назад, а 30 лет назад и профессионально, так что ошибок у меня набралось очень много. Будучи пр...

Что необходимо знать о GDPR в 2019 Сегодня поговорим о “великом и ужасном” GDPR (General Data Protection Regulation) или Общем регламенте по защите персональных данных. Не смотря на то, что закон был принят еще в мае 2018 года, многие компании до сих пор не выполняют всех его требований. Мы встретились с н...

[Перевод] Руководство по разработке, основанной на компонентах Модульность является одним из ключевых принципов разработки программного обеспечения с 1960-х годов. Применение этого принципа приносит в программирование много полезного. Модульность способствует эффективному использованию принципа разделения ответственностей, что ведёт к у...

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

Баг в BMC-контроллерах позволяет переписать их прошивку Серьезную уязвимость, связанную с реализацией AHB-мостов контроллеров удаленного доступа, обнаружил ИБ-специалист Стюарт Смит (Stewart Smith) из IBM Linux Technology Center. Баг затрагивает ряд устройств различных производителей и позволяет злоумышленникам изменять конфигура...

[Перевод] Мониторинг .NET приложений .NET – управляемая среда выполнения. Это означает, что в ней представлены высокоуровневые функции, которые управляют вашей программой за вас (из Introduction to the Common Language Runtime (CLR), 2007 г.): Среда выполнения предусматривает множество функций, поэтому их удобно...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

[Перевод] 3 популярных инструмента для организации непрерывного развертывания (Continuous Deployment) Continuous Deployment (непрерывное развертывание) — особый подход в разработке программного обеспечения, который применяется для быстрого, безопасного и эффективного внедрения различных функций в ПО. Основная идея — создание надежного автоматизированного процесса, позво...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 1 Этот текст предназначен для тех, кто только осваивает программирование. Основная идея в том, чтобы показать этап за этапом, как можно самостоятельно сделать игру à la Wolfenstein 3D. Внимание, я совершенно не собираюсь соревноваться с Кармаком, он гений и его код прекрасен. ...

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

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

Firefox получил дополнительную защиту от инъекций кода Разработчики Mozilla укрепили защиту Firefox от атак внедрением кода, запретив использование встроенных скриптов (inline scripts) и функций eval() на служебных страницах браузера. Нововведения не позволят злоумышленникам выполнить вредоносную команду, изменить настройки брау...

Когда стандарта HTTP мало. Коммитим в Micronaut Всем привет, меня зовут Дмитрий, и сегодня я расскажу о том, как производственная необходимость заставила меня стать контрибутором для фреймворка Micronaut. Наверняка многие о нём слышали. Если вкратце, то это легковесная альтернатива Spring Boot, где основной упор сделан не...

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

W3C и FIDO Alliance завершили разработку веб-стандарта для безопасного входа без пароля Консорциум World Wide Web (W3C) и FIDO Alliance объявили, что спецификация Web Authentication (WebAuthn) теперь является официальным веб-стандартом. Как сказано в совместном пресс-релизе, «это улучшение является важным шагом вперед в деле повышения безопасности и ...

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

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

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

Несколько соображений по поводу параллельных вычислений в R применительно к «enterprise» задачам Параллельные или распределенные вычисления — вещь сама по себе весьма нетривиальная. И среда разработки должна поддерживать, и DS специалист должен обладать навыками проведения параллельных вычислений, да и задача должна быть приведена к разделяемому на части виду, если тако...

Бывший программист Rockstar упомянул о работе над ПК‑версией Red Dead Redemption 2 Бывший программист Rockstar Toronto Нан Ма написал в резюме, что занимался разработкой версии Red Dead Redemption 2 для персональных компьютеров. Пользователи reddit предположили, что Ма допустил ошибку, однако в перечне других проектов, над которыми он работал, программист ...

Делфийская история успеха программиста из Улан-Удэ Мир суровый, но маленький и возможности его изменить есть у каждого. В 1996 году начиная изучать только что появившийся Delphi, я не мог себе представить, какая будет судьба у этого языка, который сильно повлиял на Java и C#, а также какая судьба будет у самой компании Borla...

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе… Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде… Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличае...

Адаптируем AutoMapper под себя AutoMapper один из основных инструментов применяемых в разработке Enterprise приложений, поэтому хочется писать как можно меньше кода определяя маппинг сущностей. Мне не нравится дублирование в MapFrom при широких проекциях. CreateMap<Pupil, PupilDto>() .ForMember(x =...

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

[Из песочницы] Подводные камни разработки Google Play Instant Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь Android-разработкой в PROFI.RU. Недавно я написал приложение с мгновенным запуском для наших клиентов. Если вы ещё не знакомы с технологией, приглашаю вас сначала посетить Android Developers. С презентации Instant Apps (G...

[Перевод] Разработка Adblock Radio tl;dr: Adblock Radio распознаёт аудиорекламу с помощью машинного обучения и Shazam-подобных техник. Основной движок с открытым исходным кодом: используйте его в своих продуктах! Можно объединить усилия для поддержки большего количества радиостанций и подкастов. Мало кому н...

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

Браузер Otter добрался до версии 1.0 После «ухода на покой» классического браузера Opera его знамя подхватили сразу несколько проектов. Первым был Vivaldi, который разрабатывают бывшие создатели «Оперы». Вторым — Otter. Этот браузер ориентирован на воссоздание классическог...

С сожалением об отсутствии в C++ полноценного static if или… … как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона? Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C...

[Перевод] 10 самых влиятельных языков программирования последних 50 лет и их создатели В IT-вселенной существует множество языков программирования. С каждым годом их становится всё больше и больше. Например, сравнительно недавно появились языки Scala, Kotlin, Go и Closure. Но история говорит нам о том, что выживут лишь немногие из них. Языки, о которых пойдёт...

Анатолий Слюсарь: «Период ЕС ЭВМ позволил нам обучить системных и прикладных программистов» Анатолий Слюсарь начинал карьеру, работая на ЭВМ ЕС-1022 в вычислительном центре Ленинградского обкома КПСС (Ленинградское отделение НИИ Автоматической аппаратуры, в дальнейшем — ЛФ НИИ «Восход»). В интервью он вспоминает, как работали программисты 1980–1990-х и дает оценк...

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

[Перевод] Продуманные запросы: стратегии кэширования в век PWA Давным-давно мы, в деле кэширования, всецело полагались на браузеры. Разработчики в те дни почти никак не могли на это повлиять. Но потом появились прогрессивные веб-приложения (Progressive Web App, PWA), сервис-воркеры, API Cache. Внезапно случилось так, что в руках програм...

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

Исследование быстродействия СУБД MS SQL Server Developer 2016 и PostgreSQL 10.5 для 1С Цели и требования к тестированию «1С Бухгалтерии» Основной целью проводимого тестирования является сравнение поведения системы 1С на двух разных СУБД при прочих одинаковых условиях. Т.е. конфигурация баз данных 1С и первоначальная заполненность данными должны быть одинаковым...

Движок отчетов в Satellite 6.5: Что это и зачем Red Hat Satellite – это решение для управления системой, упрощающее развертывание, масштабирование и управление инфраструктурой Red Hat в физических, виртуальных и облачных средах. Satellite позволяет пользователям настраивать и обновлять системы для обеспечения их эффективн...

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

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

Официально: смартфон Realme с 64-мегапиксельной камерой представят 8 августа Несколько недель назад компания Realme подтвердила разработку смартфона с 64-мегапиксельной камерой. Теперь же генеральный директор Realme Мадхав Сет (Madhav Seth) разместил в своём аккаунте в сети Twitter изображение с датой официального анонса загадочного смартфона. Презен...

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

Как мы внедряли WebAssembly в Яндекс.Картах и почему оставили JavaScript Меня зовут Валерий Шавель, я из команды разработки векторного движка Яндекс.Карт. Недавно мы внедряли в движок технологию WebAssembly. Ниже я расскажу, почему мы её выбрали, какие результаты получили и как вы можете использовать эту технологию в своём проекте. Читать даль...

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

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

[Из песочницы] Размышления на тему карьеры в IT и советы начинающим Привет, Хабр! Я тут недавно много думал насчёт карьеры, будущего нашей индустрии и так далее. Решил написать статью для тех кто только собирается сюда въезжать, да и вообще возможно кому-то будет интересно, все нижеприведенное чисто мое имхо и многое из того что я скажу прим...

Основные понятия стандартной библиотеки С++ Данная статья определяет основные понятия стандартной библиотеки С++. Она приводится для того чтобы на неё ссылаться в дальнейшем. Наибольшей частью стандартной библиотеки С++ является библиотека STL (Standard Template Library – Стандартная Библиотека Шаблонов). Библиотека S...

В Windows появится командная строка со смайлами и ядром Linux Приложение Windows Terminal появится в общем доступе летом и станет единым интерфейсом для взаимодействия пользователя со средами CMD (классическая командная строка), PowerShell (средство автоматизации, включающее в себя командную строку и язык сценариев) и Windows Subsystem...

Как мы делали свой движок Workflow Мы в компании DIRECTUM занимаемся разработкой ECM-системы DirectumRX. Основным элементом модуля Workflow для ECM-системы является движок. Он отвечает за изменение состояния экземпляра процесса (инстанса) по ходу жизненного цикла. Перед тем, как начать разрабатывать модуль Wo...

[Перевод] Грокаем DLR Предисловие переводчика Это скорее вольный пересказ, а не перевод. Я включил в эту статью только те части оригинала, которые имеют непосредственное отношение к внутренним механизмам работы DLR или объясняют важные идеи. Примечания будут заключены в квадратные скобки Многие...

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

В следующем году Apple может оснастить iPad Pro 3D-камерой Корейский ресурс The Elec со ссылкой на анонимные источники сообщает о том, что уже в следующем году компания Apple может выпустить iPad с продвинутой основной камерой. Основным поставщиком компонентов для датчика камеры станет компания Derkwoo Electronics.Читать дальше... ...

[Из песочницы] Заставляем работать MacBook Pro 2018 T2 c ArchLinux (dualboot) Достаточно много было шумихи по поводу того, что из-за нового чипа T2 невозможно установить linux на новые MacBook 2018 года с тачбаром. Шло время, и под конец 2019 года стронними разработчиками был реализован ряд драйверов и патчей ядра для взаимодействия с чипом T2. Основн...

[Перевод] Данные по-прежнему важнее Вот цитата из Линуса Торвальдса за 2006 год: Я огромный сторонник разработки кода вокруг данных, а не наоборот, и я думаю, что это одна из причин, по которой git был довольно успешным… По сути, я утверждаю, что разница между плохим программистом и хорошим заключается в том,...

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

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

Edge на Chromium смогут загрузить не инсайдеры В конце прошлого года стало известно, что браузер Edge переходит с движка EdgeHTML на движок Chromium. В начале 2019 года должна стать доступна первая тестовая сборка для скачивания нового браузера. Согласно ресурсу reddit.com стало известно, что скачать тестовый билд смогут...

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

Google выпустила экстренное обновление Chrome. Установите его как можно скорее Уязвимость Google Chrome позволяла устанавливать на компьютеры вирусы Активная аудитория Google Chrome насчитывает более двух миллиардов человек по всему миру. Несмотря на то что эти люди могут пользоваться браузером поискового гиганта на разных платформах, все они делают эт...

Обновляем macOS, iOS, Safari Компания Apple выпустила первые в этом году патчи для своих ОС, веб-браузера и Windows-клиента iCloud. В macOS Mojave, High Sierra и Sierra совокупно закрыто 23 уязвимости. Около половины из них позволяют выполнить произвольный код — таковы, например, брешь CVE-2019-6200 в к...

PyDERASN: как я написал ASN.1 библиотеку с slots and blobs ASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распрост...

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

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

[Перевод] C# является языком низкого уровня? Я большой поклонник всего, что делает Фабьен Санглард, мне нравится его блог, и я прочитал обе его книги от корки до корки (о них рассказывали в недавнем подкасте Hansleminutes). Недавно Фабьен написал отличный пост, где расшифровал крошечный рейтрейсер, деобфусцировав код ...

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

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

[Перевод] GitLab 11.7 поставляется с Releases, Multi-level Child Epics и реестром NPM Управление релизами стало намного проще GitLab 11.7 выпускает Releases в GitLab Core. Теперь у пользователей есть снэпшоты релиза, включающие не только исходный код, но и все связанные артефакты. Больше не надо вручную собирать исходный код, выходные данные сборки и прочие ...

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 5-е изд. дополненное и переработанное» Привет, Хаброжители! Язык Swift молод, он растет, развивается и изменяется, хотя основные подходы к программированию и разработке уже сформировались. В новом, пятом издании книги была полностью переработана первая часть книги, что делает знакомство с языком Swift более комф...

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

[Перевод] Полнофункциональная динамическая трассировка в Linux с использованием eBPF и bpftrace «В режиме трассировки программист видит последовательность выполнения команд и значения переменных на данном шаге выполнения программы, что позволяет легче обнаруживать ошибки» — сообщает нам Википедия. Сами будучи поклонниками Linux, мы регулярно сталкиваемся с вопросом, ...

Марсело Coldzera Давид в одиночку вытащил MIBR в полуфинал IEM Sydney Старый добрый Марсело Coldzera Давид возвращается. В матче с Mousesports он набил 66 фрагов – очень круто для двух карт. Причем его убийства в основном были очень важными и решали исход всей игры. На первой карте Mirage он остался в ситуации 1 в 3 на точке В и занял свою лю...

Мониторинг сообщений в RabbitMQ Рассмотрим классическую схему построения конвейера сообщений в RabbitMQ состоящую из элементов Producer, Exchange, Queue и Consumer. Задача состоит в том, что бы организовать мониторинг происходящего в очереди и не затронуть основное программное обеспечение (ПО), добавить...

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

[Из песочницы] Тестирование методом черного ящика Книга "A Practitioner's Guide to Software Test Design" Lee Copeland была опубликована в 2003 году. С тех пор она надежно закрепилась в списке книг, которые обязательно должен прочитать любой тестировщик. Её стоит прочитать в оригинале. Читается очень приятно: язык ...

[Перевод] Пол Грэм: Чему я научился у Hacker News Февраль 2009 Hacker News исполнилось два года на прошлой неделе. Изначально предполагалось, что это будет параллельный проект — приложение для оттачивания Arc и место обмена новостями между нынешними и будущими основателями Y Combinator. Он становился больше и требовал боль...

[Из песочницы] Duality — легкий и быстрый движок для игростроя под Windows (Доп.) Приветствую, читатель. В данной публикации речь пойдет о перспективном и достаточно молодом игровом движке, который незаслуженно остался в тени таких гигантов, как Unity или Unreal Engine. Разработчиками является объединение энтузиастов под руководством Adam's Lair. Как...

[Из песочницы] Учимся стандарту проектирования — Entity Relationship Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году. По ходу статьи простым языком на простых примера...

Страх и ненависть DevSecOps У нас было 2 анализатора кода, 4 инструмента для динамического тестирования, свои поделки и 250 скриптов. Не то, чтобы это всё было нужно в текущем процессе, но раз начал внедрять DevSecOps, то надо иди до конца. Источник. Авторы персонажей: Джастин Ройланд и Дэн Хармон. ...

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

Доступно накопительное обновление Windows 10 Build 18362.295 [KB4512508] Накопительное обновление августа 2019 года теперь распространяется на ПК с обновлением Windows 10 May 2019 Update. Обновление распространяется через Центр обновления Windows, а также доступны прямые ссылки для загрузки автономных установщиков KB4512508.В отличие от предыдущи...

Кот под колпаком. Часть 2 Всем привет! В прошлой части мы рассказали про существующие решения для «оркестрации» параллельных задач «взлома хешей» на hashcat. В этой части продолжаем рассказывать о проекте Hashtopolis. Рассмотрим подготовку компонентов веб-окружения на сервере. Разберем основные пар...

Как Windows 10 May 2019 Update улучшает общую производительность ПК Обновление Windows 10 May 2019 Update предлагает множество улучшений и незначительных изменений, которые могут в некоторой степени повысить производительность вашего компьютера. Windows 10 версии 1903 от Microsoft предлагает столь необходимые усовершенствования Центра обновл...

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

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

[Из песочницы] Что они думали о программистах Привет, Хабр! Представляю вашему вниманию перевод статьи «What They Thought of Programmers» автора Robert C. Martin. Интересно и познавательно вернуться в прошлое и посмотреть, как программисты были представлены в массовой культуре. Что люди о нас думали? Знали ли они, кто ...

Мы включили TLS 1.3. Почему вам стоит сделать то же самое В начале года, в отчете о проблемах и доступности интернета за 2018-2019 мы уже писали, что распространение TLS 1.3 неизбежно. Некоторое время назад мы сами развернули версию 1.3 протокола Transport Layer Security и, после сбора и анализа данных, наконец, готовы рассказать...

Mail.Ru Group анонсировала запуск нового безопасного браузера Atom Mail.Ru Group анонсировала запуск нового браузера Atom. Основной упор в новом продукте будет сделан на безопасность и приватность пользователей. Для проверки безопасности самого браузера компания запускает публичную программу поиска уязвимостей. Награда за нахождение серьёзн...

Samsung Compiler Bootcamp: научим создавать «программирующие программы» Каждый уважающий себя программист хотя бы раз в жизни хотел придумать свой язык программирования – и сделать для него компилятор. Подобное желание вполне понятно: сделать программу, которая в результате своей работы порождает другую программу – это, если вдуматься, волшебс...

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

[Перевод] Если вы что-то создаёте, избегайте расписания менеджера В книге ”Masters of Doom” о компании id Software и её влиянии на массовую культуру Дэвид Кушнер размышлял о необычном стиле работы ведущего программиста Джона Кармака. Чтобы повысить производительность и не отвлекаться от работы над движком Quake, тот принял агрессивный п...

«Latency numbers» на iPhone Latency Numbers Every Programmer Should Know — таблица «задержек, которые должен знать каждый программист». Там собраны средние значения времени для выполнения базовых операций компьютера в 2012-м году. Для этой таблицы есть несколько альтернативных представлений и вот одно ...

Первая прошивка для смартфона Honor View 20 улучшает 48-мегапиксельную камеру и добавляет новые темы Напомним, Honor V20 или Honor View 20 стал одним из первых смартфонов, оснащенных 48-мегапиксельной основной камерой и фронтальной камерой, которая врезана в активную область дисплея. Смартфон был представлен в конце прошлого года, а в России продажи устройства начались...

[Перевод] Пишем чистый и масштабируемый JavaScript-код: 12 советов Язык JavaScript родом из раннего веба. Сначала на нём писали простые скрипты, которые «оживляли» страницы сайтов. Теперь же JS превратился в полноценный язык программирования, который можно использовать даже для разработки серверных проектов. Современные веб-приложения силь...

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

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

[Из песочницы] Что не так с нашим IT Когда я только начинал смотреть в сторону программирования, а это, примерно, 2012 год, мои попытки нагуглить, что же учить и с чего начать, сводились к ответам с тогда еще незнакомого мне, stackoverflow и, казавшегося чуть ли ни единственным ресурсом в it — Хабре. С тех по...

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

Microsoft Edge на Chromium доступен на 32-битных устройствах Накануне Microsoft выпустила очередную сборку браузера Microsoft Edge на движке Chromium под номером 75.0.133.0 в ветке Canary (на момент написания новости актуальная сборка — 75.0.134.0), главное нововведение которой заключается в том, что теперь новый браузер доступен на ...

Скоро Microsoft Edge выпустит новую версию браузера Microsoft объявила, что скоро превратит свой браузер в движок Chromium. Microsoft Edge на движке Chromium будет выпущен 15 января 2020 года. Microsoft рекламирует браузер как лучший для потребителей и бизнеса. Microsoft Edge также представит ряд своих новых функций. Одним ...

[Перевод] Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86. Язык на выбор группы. Это была редкая возможность сравнить реализации больших программ одинаковой фу...

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

Ubisoft и Mozilla разрабатывают ИИ для помощи программистам Ubisoft совместно с Mozilla разрабатывает помощника программиста на базе искусственного интеллекта. Проект называется Clever Commit. Об этом заявил глава отдела исследований и разработок Ubisoft Ив Жакье в рамках саммита DICE 2019.

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

[Из песочницы] Инкапсуляция в Python 3 Определение Значение термина «инкапсуляция» расплывчато и отличается от источника к источнику. Принято считать, что инкапсуляция — один из основополагающих принципов ООП, хотя некоторые научные статьи вовсе упускают инкапсуляцию из списка. К примеру, Джон Митчелл в книге «К...

Основы движков JavaScript: общие формы и Inline кэширование. Часть 1 Привет, друзья. В конце апреля мы запускаем новый курс «Безопасность информационных систем». И уже сейчас хотим поделиться с вами переводом статьи, которая непременно будет очень полезной для курса. В статье описаны ключевые основы, они являются общими для всех движков Jav...

[Из песочницы] Три парадигмы Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Three Paradigms» автора Robert C. Martin (Uncle Bob). За последние 40 лет технологии аппаратного обеспечения увеличили вычислительную мощность наших устройств более чем на двадцать порядков. Теперь мы играем в Angry ...

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

Ubisoft и Mozilla создают ИИ-помощника для программистов Издатель видеоигр Ubisoft совместно с Mozilla разрабатывает помощника программиста на базе искусственного интеллекта. Проект называется Clever-Commit. Об этом заявил глава отдела исследований и разработок Ubisoft Ив Жакье (Yves Jacquier) в рамках саммита DICE 2019. ...

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

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

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

[Перевод] Шпионим за вашими программами с помощью Strace Не смогли пройти мимо и перевели ко Дню программиста комикс Джулии Эванс об утилите Strace. Полезный инструмент, который помогает отслеживать системные вызовы и доставку сигналов между процессами и ядром Linux. Читайте и вдохновляйтесь. С наступающим, друзья! Читать дальш...

Rambus расширяет семейство IP-ядер CryptoManager Root of Trust Компания Rambus недавно объявила о расширении семейства продуктов CryptoManager Root of Trust. Это серия полностью программируемых аппаратных IP-ядер, предназначенных для обеспечения безопасности в широком круге приложений, включая интернет вещей, искуственный интеллект...

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

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

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

Cron в Linux: история, использование и устройство Классик писал, что счастливые часов не наблюдают. В те дикие времена ещё не было ни программистов, ни Unix, но в наши дни программисты знают твёрдо: вместо них за временем проследит cron. Утилиты командной строки для меня одновременно слабость и рутина. sed, awk, wc, cut и ...

Группировка Silence атаковала банки более 30 стран Кибергруппировка Silence с мая 2018 года похитила миллионы долларов у финансовых учреждений в десятках стран СНГ, Европы и Азии. В новых кампаниях преступники доработали свои методы и системы, чтобы лучше избегать обнаружения. В частности, они переписали свой загрузчик TrueB...

Windows 10 19H1 и 19H2 В 2019 году нас ждёт два крупных обновления системы Windows 10 на компьютерах и полностью новая версия Windows для устройств с невысокой производительностью. Вот и наступил 2019 год, что означает множество интересных событий в жизни операционной системы Windows 10. Известно,...

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

Школьники в Пензе напишут свой первый код Новички узнают, как пишут программы: дети 8–11 лет будут осваивать Scratch, а подростки 11–16 лет — Python. Ребята, уже знакомые с программированием, примут участие в соревновании по Scratch или Python — «IT-задачник». Участники будут соревноваться, кто найдет больше о...

Управление целями в организации: Цели и инженеры (часть 3) Продолжаем цикл публикаций о Pulse Management — Управление проектной организацией (Метод Пульса). Мы уже разобрались с моделью организации, с основными принципами Метода. Теперь время рассказать о Правилах. Правила программируют организацию, а значит они должны быть определ...

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

Доверяй, но проверяй! Как проверить свою модель с помощью облака IBM (Watson OpenScale) Проблема доверия предсказаниям, сделанных моделями машинного обучения, становится все более и более актуальна. Чем существеннее решение, принимаемое на основании этого предсказания, тем меньше доверия. Вызвано это в первую очередь тем, что далеко не всегда понятно, что же ...

[Перевод] Параллельные запросы в PostgreSQL В современных ЦП очень много ядер. Годами приложения посылали запросы в базы данных параллельно. Если это отчетный запрос ко множеству строк в таблице, он выполняется быстрее, когда задействует несколько ЦП, и в PostgreSQL это возможно, начиная с версии 9.6. Понадобилось 3 ...

Как сэкономить на психотерапевте используя test-driven development У вас когда-нибудь было такое состояние? Хочу показать вам, как TDD может улучшить качество кода на конкретном примере. Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим. Так получилось, что мне довелось написать два практически иден...

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

Российские программисты снова стали лучшими в мире Финал олимпиады по программированию проходил в португальском городе Порту. Каждая команда получала один компьютер и список задач, решение которых должно быть написано на языках программирования C, C++, Java, Python или Kotlin. Зачетные баллы участники получали, если их скомп...

[recovery mode] Играем в ящик Много лет назад, когда мне впервые пришлось обучать молодых специалистов работе с Active Directory, я с тоской подсчитывал, какие вычислительные мощности мне потребуются от обучающего центра. Это было то далекое время, когда виртуализация еще только начала покорять IT. Я в с...

[Перевод] PHP GR8: повысит ли JIT производительность PHP 8 PHP — один из основных языков разработки в Badoo. В наших дата-центрах тысячи процессорных ядер заняты выполнением миллионов строк кода на PHP. Мы внимательно следим за новинками и активно ищем пути улучшения производительности, так как на наших объёмах даже небольшая опти...

Старикам здесь не место? Программируем после тридцати пяти Привет, меня зовут Дмитрий, и я программист. Прошлым летом я получил приглашение Яндекса и перебрался работать в Москву. Недавно мне исполнилось 35 лет. В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом в 3...

[Перевод] Введение в геномику для программистов Об авторе. Энди Томасон — ведущий программист Genomics PLC. Он с 70-х годов занимается графическими системами, играми и компиляторами; специализация — производительность кода. Гены: краткое введение Геном человека состоит из двух копий примерно по 3 миллиарда пар оснований...

В поисках вдохновения, или Как вытащить себя из Ж После выхода моей первой статьи «Не бойтесь пробовать, или Как я стала программистом в возрасте далеко за 18», в личку и комментариях на Хабре, а также в соцсетях стали приходить самые разные отзывы. Один из них запомнился больше всего: «Спасибо за Вашу статью. Очень грамо...

Специалисты Kaspersky нашли 0-day в Chrome Эксперты «Лаборатории Касперского» обнаружили серьезную ошибку нулевого дня в браузере Chrome. Уязвимость позволяет злоумышленникам выполнить вредоносный код, используя недостаток use-after-free в одном из компонентов интернет-обозревателя. Киберпреступники уже взя...

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

Windows в браузере без регистрации и СМС — обзор RDP-клиентов HTML5 Когда-то давно, когда деревья были высокими, а я был молодым и зеленым системным администратором, довелось мне внедрять терминальный сервер на Windows 2000. Я тогда думал, что хорошо бы, если бы для подключения к серверу не нужен был никакой отдельный клиент. Шло время, дер...

Внеочередной патч для IE устраняет уязвимость 0-day Разработчики Microsoft выпустили экстренные обновления для Internet Explorer и Microsoft Defender (ранее Windows Defender — Защитник Windows). Браузер содержат критическую уязвимость, уже используемую в атаках, поэтому его рекомендуется залатать как можно скорее. Новая пробл...

Байки из склепа (из 40 лет работы программиста) С ЭВМ (слово компьютер тогда не было в ходу) я столкнулся в году 1977, просто курс такой был на мехмате. Fortran IV, коды М-20, Algol-60, PL/1, сразу после универа попал в программисты (системные программисты!), и пошло-поехало… А несколько лет назад я активно кодировать воо...

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

Только что вышла Java 13. ZGC начал делиться памятью, CDS сам запоминает классы, и другие чудеса техники Сегодня вышла новая версия джавы — Java/JDK 13. Гонка началась с весеннего выпуска JDK 12, состоявшегося 19 марта, а форк от основной ветки произошел 13 июня. Кого-то мы там по пути потеряли вроде JEP 343: Packaging Tool, но в целом всё норм, и пора пожинать плоды. Скачать...

[Перевод] Q2VKPT: полностью переписанный Quake II с реалистичным освещением Q2VKPT — это первая играбельная игра с полным рейтрейсингом, эффективно симулирующая полностью динамическое освещение в реальном времени с помощью тех же современных технологий, которые используются в киноиндустрии (см. Disney's practical guide to path tracing). Недавний в...

Microsoft выпускает накопительные обновления для Windows 10 (KB4499147 и KB4499162) Корпорация Майкрософт выпустила два новых накопительных обновления для старых версий Windows 10, и они оба имеют множество исправлений, не связанных с безопасностью. Обновление KB4499147 предназначено для Windows 10 Fall Creators Update (версия 1709), а KB4499162 – для Windo...

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

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

Топ 10 ошибок в C++ проектах за 2018 год Вот уже три месяца, как 2018 год позади. Для многих он пролетел почти незаметно, но для нас, разработчиков PVS-Studio, он оказался весьма насыщенным. Мы трудились в поте лица, бесстрашно боролись за продвижение статического анализа в массы и искали новые ошибки в открытых пр...

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

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

«Эмпирические результаты лишь для публикации, реальные мотивы работ — эстетические». Большое интервью с Майклом Скоттом Майкл Скотт — уже 34 года как профессор Computer Science в Рочестерском университетe, а в родном универститете Wisconsin–Madison был деканом в течение пяти лет. Он занимается исследованиям в области параллельного и распределённого программирования и дизайна языков и обучает...

Анализ кода ROOT — фреймворка для анализа данных научных исследований Пока в Стокгольме проходила 118-я Нобелевская неделя, в офисе разработки статического анализатора кода PVS-Studio готовился обзор кода проекта ROOT, используемого в научных исследованиях для обработки больших данных. Премию за такой код, конечно, не дашь, а вот подробный обз...

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

Книга "{Вы не знаете JS} Типы и грамматические конструкции" Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пол...

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

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

[Перевод] История создания Norton Commander. Часть 1 / 3 Пьяный программист сидит с открытым Norton Commander на экране. На обоих панелях открыт диск С. «Ну и зачем мне два диска С с одними и теми же файлами?» — подумал он и стер все его содержимое, нажав F8 и Enter. — анекдот конца 80-х годов Нортон (Norton Commander) for DOS...

[Из песочницы] Wolfram Function Repository: открытый доступ к платформе для расширений языка Wolfram Привет, Хабр! Представляю вашему вниманию перевод поста Стивена Вольфрама "The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language". Предпосылки состоятельности языка Wolfram Сегодня мы стоим на пороге великих свершений вмест...

Ученые разработали безопасный бактериальный сахар, который не портит зубы Исследователи из Университета Тафтса разработали метод массового производства перспективного заменителя сахара. Речь идет о «тагатозе», которая на 92 % слаще сахарозы – основного компонент того сахара, что продается в магазинах. При этом ее калорийность в разы ниже, что...

[Из песочницы] Метод создания DRAG and DROP эффекта Придя впервые к технологии DRAG and DROP столкнулся с очень тяжелым её описанием (Это мое субъективное мнение. Прошу с ним не соглашаться, а перечитать все что только можно и посмотреть на этот вопрос с многих сторон). И решил написать пару статей, нацеленных на начинающих р...

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

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

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

Opera вернула сервис VPN для мобильных пользователей в виде отдельной функции основного браузера (пока только на Android) В начале прошлого года Opera Software весьма неожиданно закрыла приложение Opera VPN для Android и iOS, которое на тот момент пользовалось неслабой популярности в своей категории. Тогда поговаривали, что это связано с блокировкой мессенджера Telegram в России (сразу после бл...

Методы оптимизации кода для Redd. Часть 1: влияние кэша В первой статье цикла я активно продвигал идею, что разработка кода под Redd вторична, а первичен основной проект. Redd — вспомогательный инструмент, так что тратить на него уйму времени неправильно. То есть разработка под него должна идти быстро. Но это совсем не значит, чт...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

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

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

[Из песочницы] JavaScript в 3D: введение в Three.js Привет, Хабр! Представляю Вашему вниманию перевод статьи «JavaScript in 3D: an Introduction to Three.js» автора Брета Кемерона (Bret Cameron). Введение Three.js это мощный инструмент. Он помогает использовать 3D дизайн в браузере с приемлемой производительностью. По нач...

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

[Перевод] Must-have алгоритмы машинного обучения Хабр, привет. Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки. Метод главных компонент (PCA)/SVD Это один из основных алгоритмов машинного обучения. Позволяет уменьшить размерность данных, потер...

[Из песочницы] Решение японских кроссвордов c P̶y̶t̶h̶o̶̶n̶ Rust и WebAssembly Как сделать решатель (солвер) нонограмм на Python, переписать его на Rust, чтобы запускать прямо в браузере через WebAssembly. TL;DR Читать дальше →

[Перевод] Разбираемся в Angular Ivy: Incremental DOM и Virtual DOM Angular — наш основной инструмент для написания приложения TestMace. В одной из прошлых статей мы затронули тему Ivy рендерера. Самое время поподробнее узнать, чем Ivy отличается от предыдущего движка. В нашей компании Nrwl мы уже какое-то время находимся в предвкушении во...

Под капотом Screeps — виртуализация в MMO-песочнице для программистов В этой статье я расскажу про одну малоизвестную технологию, которая нашла ключевое применение в нашей онлайн-игре для программистов. Чтобы долго не тянуть резину, сразу спойлер: кажется, что такого шаманства в нативном коде Node.js, к которому мы пришли после нескольких лет ...

[Из песочницы] Передача знания и Нейронный машинный перевод на практике Нейронный машинные перевод (НМП, англ. Neural Machine Translation, NMT) развивается очень быстро. Сегодня, чтобы собрать свой переводчик, не нужно иметь два высших образования. Но чтобы обучить модель, нужен большой параллельный корпус (корпус, в котором предложению на исход...

Первый взгляд на Windows 10 May 2019 Update На этой неделе Microsoft выпустила новую сборку Windows 10 Build 18362 в канале Release Preview. То, что эта сборка вышла в данный канал означает, что она планируется быть в статусе RTM. Данная сборка для остальных пользователей будет доступна примерно в середине-конце мая п...

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

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

Перепрограммируем кассу и печатаем на ней Киану Ривза. Часть 2. ПО для ПК В предыдущей статье я кратко описал свою прошивку для ККТ ШТРИХ-ФР-К, которая позволяет управлять термоголовкой, движками и соответственно выводить на печать все что угодно. В этой части я покажу как написать софт, который будет общаться с кассой и форматировать картинку для...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

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

[Из песочницы] Разработка под Docker. Локальное окружение. Часть 1 Возможно, одна из самых основных причин почему мне нравится докер это то, что он позволяет избавиться от необходимости установки на компьютер различных сервисов. К их числу можно отнести и сам веб-сервер Apache или Nginx, базы данных и прочие компоненты инфраструктуры прилож...

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

Делаем процесс разработки тяжеловесного программного обеспечения под микроконтроллеры более удобным (нет) Сейчас уже никого не удивить микроконтроллерами с энергонезависимой (чаще всего Flash) памятью объемом 512 килобайт и более. Их стоимость постепенно снижается, а доступность напротив, растет. Наличие такого объема энергонезависимой памяти дает возможность писать «тяжелые» по...

[Перевод] Стандартный браузерный API Payment Request Знаете ли вы о том, что во многих современных браузерах имеется встроенный API, который называется Payment Request? Этот API описан в стандарте W3C, который направлен на поддержку работы с платёжной и контактной информацией. Вот обзор стандарта на ресурсе developers.google.c...

Как победить дракона: переписываем вашу программу на Golang Так случилось, что ваша программа написана на скриптовом языке — например, на Ruby — и встала необходимость переписать ее на Golang. Резонный вопрос: зачем вообще может понадобится переписывать программу, которая уже написана и нормально работает? Читать дальше →

Microsoft пока отложила разработку функции Sets В Интернете стала появляться информация об отмене функции Sets в Windows 10. Многие как эксперты, так и различные журналисты сводились к тому, что это было сделано из-за нового браузера Edge, который перешел на Chromium. Если вы помните, то функция Sets была завязана на стар...

Цифровая лирика: мегаподборка песен и клипов о программировании и программистах Широко распространено мнение, что музыкальные способности и талант к программированию взаимосвязаны. Многие профессиональные музыканты питают склонность к точным наукам. Например, Борис Гребенщиков окончил факультет прикладной математики СПбГУ, а гитарист Radiohead Джонни Гр...

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

Системная плата Asus Prime B365-Plus выполнена в типоразмере ATX Реакция производителей системных плат на выход набора системной логики среднего класса Intel B365 Express была довольно сдержанной, поскольку B365 Express — это всего лишь обновленный чипсет H270 Express с поддержкой процессоров Core 8 и 9 поколения. Одной из перв...

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

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

[Из песочницы] Эффективное создание компонентов с помощью styled system Для стилизации react компонентов наша команда использует styled-components. О styled-components уже есть статьи на Хабре, поэтому подробно останавливаться на этом не будем. Знакомство с Styled components Лучше, быстрее, мощнее: styled-components v4 Написав много компоне...

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

Вышло экстренное обновление для Galaxy S10. Его нужно установить всем Это как раз тот случай, когда обновлением лучше не пренебрегать В начале этой недели на AndroidInsider.ru вышла удивительная история. В ней рассказывалось о некоем пользователе Galaxy S10, который купил защитную плёнку на гелевой основе для своего смартфона и выяснил, что он...

WebFPGA — разработка на Verilog в браузере Думаю, многие программисты, начиная от питонистов-датасайентистов и заканчивая суровыми разработчиками драйверов, временами возводят очи горе и мечтательно вздыхают: «Эх, пoжёcтчe бы чего, похардкорнее...». Мы, конечно, говорим про Verilog, язык описания и моделирования элек...

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

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

Microsoft представила новый браузер для Windows и macOS На ежегодной ежегодной конференции Ignite 2019 компания Microsoft официально представила новый Microsoft Edge на движке Chromium для Windows и macOS.  Новый Microsoft Edge использует тот же движок Chromium, что и браузер Chrome от Google. Microsoft ведёт его разра...

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

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

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

Инженерный подход к разработке ПО Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Требования и спецификации — пережиток прошлого? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндексе, до ...

[Перевод] Как сделать SFINAE изящным и надежным И снова здравствуйте. Делимся с вами интересной статьёй, перевод которой подготовлен специально для студентов курса «Разработчик C++». Сегодня у нас гостевой пост Адама Балаша (Ádám Balázs). Адам является инженером-программистом в Verizon Smart Communities Hungary и зани...

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

Производители ускоряют переход на 96-слойную флеш-память 3D NAND Производители микросхем флеш-памяти уверенно повышают процент выхода годной продукции при выпуске 96-слойной флеш-памяти 3D NAND. Ожидается, что эта технология станет основной в производстве флеш-памяти в 2020 году. Переход на 96-слойную технологию 3D NAND поможет поста...

Переходите к безопасной 2FA на блокчейне СМС-сообщения — популярнейший способ двухфакторной аутентификации (2FA). Ее используют банки, электронные и крипто-кошельки, почтовые ящики и всяческие сервисы; число пользователей метода приближается к 100%. У меня такой расклад событий вызывает негодование, ведь этот мето...

Ускорение программы для синтезированного процессора комплекса Redd без оптимизации: замена тактового генератора До сих пор мы рассматривали тему, как повысить быстродействие системы, применяя какие-то интенсивные методы. Но на самом деле, есть методы и экстенсивные. Сейчас мы работаем на тактовой частоте 50 МГц, что связано с использованием компонента из набора для университетской про...

Рецепты для ELFов На русском языке довольно мало информации про то, как работать с ELF-файлами (формат ELF (Execution & Linkable Format) — основной формат исполняемых файлов Linux и многих Unix-систем). Не претендуем на полное покрытие всех возможных сценариев работы с эльфами, но надеем...

Возможно ли без Redux? На сегодняшний день можно найти уйму позиций, где требуется react/redux. React прекрасен, вопросов нет. Вопрос к Redux — возможно ли без него. Если погуглить чуть-чуть, найдется добротная статья на хабре (https://habr.com/ru/post/350850/), где автор задается таким же вопросо...

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

Послание будущему программисту Итак, вы решили стать программистом. Возможно, вам интересно создавать что-то новое. Возможно, вас манят большие зарплаты. Быть может, вы просто хотите сменить сферу деятельности. Не суть. Важно — вы решили стать программистом. Что же теперь делать? Читать дальше →

[Перевод] Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 1 Серверный код в Instagram пишут исключительно на Python. Ну, в основном это именно так. Мы используем немного Cython, а в состав зависимостей входит немало C++-кода, с которым можно работать из Python как с C-расширениями. Наше серверное приложение — это монолит, представ...

Software Defined Radio — как это работает? Часть 4 Привет Хабр. В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода. Д...

[Из песочницы] Применение формальных методов валидации моделей для UI Привет, Хабр! Представляю вашему вниманию перевод статьи «FORMALLY SPECIFYING UIS» автора Hillel Wayne. От автора Относительно недавно я наткнулся на статью про Инженерные методы в разработке ПО, где vasil-sd рассказал про формальную валидацию спецификаций к создаваемым пр...

Представлен дизайн первого процессора RISC-V для европейских суперкомпьютеров будущего Разработкой процессоров и платформ в рамках инициативы по созданию новых суперкомпьютеров на базе европейских компонентов занимается консорциум European Processor Initiative (EPI). На днях EPI представил Еврокомиссии первый дизайн процессора, который и станет основной для бу...

5. Check Point Getting Started R80.20. Gaia & CLI Добро пожаловать на 5-ый урок! В прошлый раз мы завершили установку и инициализацию менеджмент сервера, а также шлюза. Поэтому сегодня мы немного «поковыряемся» в их внутренностях, а точнее в настройках операционки Gaia. Настройки Gaia можно разделить на две большие катего...

Смартфон Nubia X с двумя экранами получил Android 9.0 Pie Представлен смартфон Nubia X с двумя дисплеями Компания Nubia, как и ожидалось, представила смартфон Nubia X, главной особенностью которого является наличие двух экранов. Основной экран занимает 93,6% площади лицевой панели, его диагональ составляет 6,26 дюйма. Вы...

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

Дж. Х. Рейнвотер «Как пасти котов»: породы программистов и особенности их разведения Об управлении людьми в целом на сегодняшний день сказано уже немало (по мнению многих, более чем достаточно). Об управлении программистами с учетом специфики их задач, организации работы и внутренних отношений в команде – в разы меньше. Любая попытка обобщить и проанализир...

Ноутбуки Lenovo перестают загружаться после обновления IE Срочное обновление браузера Internet Explorer, выпущенное 19 декабря, вызывает сбой в работе некоторых моделей ноутбуков Lenovo. По сообщениям владельцев устройств, после его установки они стали испытывать проблемы с загрузкой Windows. Компания Microsoft признала наличие нед...

Бюджетный Blackview A60 Pro с батареей на 4080 мАч набрал в Antutu более 63000 баллов и стартовал по акционной цене всего за $68.99 На прошлой неделе Blackview выпустила свой новый бюджетный телефон с каплевидным экраном A60 Pro по беспрецедентной цене в $68,99. Основная причина покупки A60 Pro, вероятно, заключается в его производительности из-за возможностей чипсета MT6761, большой батарее емкостью 408...

Отладка Angular CLI приложения в VSCode с помощью Browser Preview Привет, Хабр! В Iponweb мы не только творим магию с помощью Kubernetes, но и создаем сложные пользовательские интерфейсы. Основной фреймворк, который мы используем, — Angular (а также AngularJs для legacy частей), поэтому удобство разработки для нас — не пустой звук. Мы реши...

[Из песочницы] Изменения в протоколе 3D secure: встречайте 3-D Secure 2.0 Год за годом технологии стремительно продвигаются вперед в своих достижениях и возможностях. В самое ближайшее время обновленный протокол 3D Secure 2.0 выведет онлайн-безопасность в индустрии платежей на совершенно новый уровень. Протокол обеспечит возможность установить бе...

[Перевод] 101 совет, как стать хорошим программистом (и человеком) 1. Научитесь гуглить Быть программистом, — значит научиться искать ответы на свои вопросы. Научившись эффективно «гуглить», вы сэкономите много времени, затрачиваемого на разработку. 2. Не обещайте много, но делайте больше, чем обещали Лучше сообщать вашей команде, что вы...

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

Создание React-ивного хука usePosition() для получения и отслеживания координат браузера Если вкратце В этой статье мы создадим React-ивный хук usePosition() для отслеживания геолокации браузера. Под капотом этот хук будет использовать методы getCurrentPosition() и watchPosition() нативного браузерного объекта navigator.geolocation. Финальную версию хука я опуб...

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

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

[Перевод] Топ-17 плагинов для Android Studio Существуют сотни плагинов для Android Studio, и их число растёт с каждым днём. Это в основном происходит по двум причинам. Во-первых, Android Studio — это официальная интегрированная среда разработки для создания Android-приложений. Во-вторых — Intellij IDEA, платформа, на ...

Петербуржец снова стал лучшим программистом мира Аспирант петербургского Университета ИТМО Геннадий Короткевич в шестой раз подряд победил на конкурсе Google Code Jam, получив звание лучшего программиста мира. Об этом сообщила пресс-служба вуза.

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

[Из песочницы] Удаленный мониторинг и управление устройств на базе Lunix/OpenWrt/Lede через 80-ый порт… Всем привет, это мой первый опыт на Хабре. Хочу написать о том, как нестандартно управлять сетевым оборудованием во внешней сети. Что значит нестандартно: в большинстве случаев, для управления оборудованием во внешней сети Вам необходимо: Публичный IP-адрес. Ну, или если...

Смесь на тему программирования и около Век галантности проходит. Ему на смену приходит век софистов, экономистов и вычислителей; Слава Европы исчезнет навсегда. Э.Бек (Англия, 1792) Зачем? Прожив не короткую жизнь программиста спрашиваю себя: “Было ли в ней чего интересного от программирования и если да, то, что...

10 консольных команд, которые помогут дебажить JavaScript-код like a PRO Перевели статью Амита Соланки по отладке JavaScript-кода при помощи консольных команд. По словам автора, эти команды помогут значительно повысить производительность труда программиста при поиске багов и сэкономят кучу времени. Давайте рассмотрим команды, которые действит...

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

Edge на Chromium скоро станет доступен? Постоянно сплавают в Сети скриншоты установки и пользовательский интерфейс самого браузера Edge, который базируется на движке Chromium. Сегодняшний день не стал исключением, так как Saint Cow у себя в твиттере опубликовал скриншот установки инсайдерской версии Edge на Chromi...

[Перевод] 14 советов по написанию чистого React-кода. Часть 1 Написание чистого кода — это навык, который становится обязательным на определённом этапе карьеры программиста. Особенно этот навык важен тогда, когда программист пытается найти свою первую работу. Это, по существу, то, что делает разработчика командным игроком, и то, что сп...

[Перевод] Agile: крупнейшая идеологическая проблема в IT В 2001 году группа технологов и программистов, разделявших небанальные теории о том, как следует управлять разработкой ПО, встретились на горнолыжном курорте Сноубёрд, чтобы письменно изложить некоторые из этих концепций. Так родился «манифест Agile» — обманчиво простой до...

Microsoft продемонстрировала новый Edge на движке Chromium На конференции Build 2019, проходящей в Вашингтоне с 6 по 8 мая, корпорация Microsoft официально анонсировала новую версию собственного браузера Edge. Дату релиза пока не назвали, зато продемонстрировали основные возможности программы и окончательно подтвердили, что её основ...

[Перевод] Вышел ML.NET 1.0 RC. Что нового? ML.NET — это кроссплатформенная среда машинного обучения с открытым исходным кодом (Windows, Linux, macOS) для разработчиков .NET. Работая с ML.NET, разработчики могут использовать существующие инструменты и навыки для разработки и внедрения AI в свои приложения, создавая по...

У вас тоже есть такой друг, а может это Вы? Моему другу почти 32 и он программист (java-разработчик, если хотите). Раньше я любил читать «мотивашки», о том как люди приходят в IT, я читал их пачками, и каждая следующую, хоть и была похожа на предыдущую — давала свежий глоток позитива и оптимизма, веры в светлое будуще...

Разговорный BERT — учим нейросеть языку соцсетей Одним из главных событий в области компьютерной лингвистики и машинного обучения в 2018 году был выпуск BERT от Google AI, который признан лучшим докладом года по мнению североамериканского отделения Ассоциации компьютерной лингвистики (NACL). В этой статье мы расскажем об э...

WebComponents как фреймворки, взаимодействие компонентов Когда разговор заходит о веб компонентах, часто говорят: «Ты что хочешь без фреймворков? Там же все готовое». На самом деле есть фреймворки созданные на основе реализаций стандартов входящих в группу веб компонентов. Есть даже относительно неплохие, такие как X-Tag. Но сегод...

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

Не дожидаясь Flyme 8. Новая версия Flyme 7 для смартфонов Meizu приносит с собой систему ИИ OneMind 3.0 Одним из новшеств прошивки Flyme 7 для смартфонов Meizu стала система искусственного интеллекта One Mind 2.0, тогда как первая версия One Mind была встроена в Flyme 6. Разработчики решили не дожидаться выхода Flyme 8 и выпустили третью версию систему One Mind, которая п...

[Перевод] Десять заповедей React компонентов Написано Kristofer Selbekk, в сотрудничестве с Caroline Odden. Основано на лекции с таким же названием и с теми же людьми, состоявшейся на встрече ReactJS в Осло в июне 2019 года.От переводчика — оригинальное название The 10 Component Commandments не упоминает React, но бол...

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

MediaTek представила 12-нм чипсет Helio P65 с акцентом на геймеров Сегодня MediaTek представила новый мобильный чипсет, который получил название Helio P65. Новинка выполнена по 12-нм техпроцессу и обеспечивает в два раза большую производительность по сравнению с предшественником. Также при разработке чипа основной акцент был сделан на гейме...

Экскурсия во Всемирное семенохранилище (Global Seeds Vault) или Хранилище Судного Дня (Doomsday Vault) Об этом объекте было уже несколько публикаций на Хабре, правда все они касались не основной тематики. То речь шла о параллельной возможности хранения данных, а не только семян — раз, два, то о том, что Хранилище затапливает из-за таяния льдов вечной мерзлоты, то о том, что с...

[Из песочницы] О том, как из C# перешел в Elixir/Phoenix Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптиро...

Создан первый в мире браузер для мусульман Агентство Bloomberg сообщило о новой разработке малазийских программистов – мусульманском браузере. Salam Web, аналогично другим браузерам, дает возможность просмотра новостей и виртуального общения. Отличие программы в том, что она исключает наличие игр, относящихся к катег...

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

Обновление исправило проблему с экраном в Xiaomi Pocophone F1 После июньского обновления некоторые пользователи смартфона Xiaomi Pocophone начала жаловаться на задержку реакции сенсора на прикосновения. Сегодня китайский производитель выпустил обновление, которое исправляет эту проблему. Также обновление MIUI 10.3.6.0 с номером PEJMIXM...

Напоминания на iPhone и iPad: полезные советы по использованию приложения Системное iOS-приложение Напоминания – одна из лучших (если не самая лучшая) программ, написанных программистами Apple. В статье мы расскажем, как выжать из Напоминаний максимум полезных возможностей. ПО ТЕМЕ: Все функции кнопок оригинальных наушников из комплекта iPhone. Пр...

[Перевод] Улучшенные четыре правила проектирования ПО Привет, Хабр! Представляю вашему вниманию статью "Four Better Rules for Software Design" автора David Bryant Copeland. David Bryant Copeland — архитектор ПО и технический директор Stitch Fix. Он ведет свой блог и является автором нескольких книг. Мартин Фаулер недавно создал...

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

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

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

[Перевод] Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (2 часть) Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (1 часть) Системные тесты В разделе «Системные тесты» основное внимание уделяется тестированию в реальных условиях, с которыми сталкивается потребитель, с небольшим уклоном в пропускную способность....

Retentioneering: как мы open-source инструменты для продуктовой аналитики на Python и Pandas написали Привет, Хабр. Эта статья посвящена итогам четырехлетней разработки набора методов и инструментов обработки траекторий движения пользователей в приложении или на сайте. Автор разработки — Максим Годзи, который стоит во главе команды создателей продукта, он же — автор статьи. ...

Новинка рынка Nokia 9 PureView Система охлаждения Nokia 9 PureView представлена несъёмной испарительной камерой, плотно прилегающей к наиболее горячим компонентам системной платы, включая восьмиядерный процессор Snapdragon 845. Остальные элементы, такие как модуль динамика и порт зарядки, не вызвали пробл...

Анализ кода CUBA Platform с помощью PVS-Studio Для Java программистов существуют полезные инструменты, помогающие писать качественный код, например, мощная среда разработки IntelliJ IDEA, бесплатные анализаторы SpotBugs, PMD и другие. Всё это уже используется в разработке проекта CUBA Platform, и в этом обзоре найденных...

Стильная гонка в духе роуд-муви 70-х #DRIVE вышла в App Store 2 месяца назад студия Pixel Perfect Dude выпустила стильную гонку #DRIVE, сопроводив релиз очень оригинальным трейлером (представлен в конце новости). С тех пор развлечение загрузили больше 1 миллиона человек, а средняя оценка в Google Play – 4,6. Сегодня игра наконец-то до...

[Из песочницы] Синтез как один из методов улучшения производительности PostgreSQL Философское вступление Как известно, существует всего два метода для решения задач: Метод анализа или метод дедукции, или от общего к частному. Метод синтеза или метод индукции, или от частного к общему. Для решения проблемы “улучшить производительность базы данных” это...

[recovery mode] Google BERT — новый поисковый алгоритм. Как изменится ранжирование и что делать сейчас? Google не устает радовать своих пользователей и официально представил новый поисковый алгоритм – Google BERT. Что известно об этом и в чем суть? Давайте разбираться. Google BERT-это алгоритм поисковой системы, призванный улучшить релевантность результатов поисковой выдач...

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

[Перевод] Сколько доменных имён .com не используется? При поиске свободного имена в зоне .com меня неприятно удивило количество уже занятых, но неиспользуемых доменов. Судя по всему, зарегистрированы все произносимые комбинации букв на всех основных языках мира. И даже непроизносимые короткие комбинации. То ли существует большо...

OnePlus 8 предложит дисплей с частотой обновления 120 Гц Дисплей с частотой обновления 90 Гц — одна из главных фишек флагманов OnePlus нынешнего года. Теперь пришло сообщение, что компания может добавить экран с кадровой частотой 120 Гц в OnePlus 8.   Об этом написали инсайдеры, знакомые с планами производителя на год...

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

Как посмотреть презентацию Apple WWDC 2019 на iOS, Mac, Apple TV или Windows Это крупнейшее событие года от Apple, и, как всегда, вступительная презентация Тима Кука будет транслироваться в прямом эфире. Вот как можно посмотреть, как впервые появляются новые версии iOS, macOS, tvOS и watchOS. WWDC от Apple — это недельная конференция для разраб...

Chaos Constructions 2019 is Coming… Chaos Constructions 2019 24-25 августа, традиционно в последние выходные лета, в Санкт-Петербурге пройдет компьютерный фестиваль Chaos Constructions 2019. На конференции в рамках фестиваля вашему вниманию будут представлены более 60 докладов на разные тематики. Безопасно...

Утечка данных покупателей магазинов re:Store, Samsung, Sony Centre, Nike, LEGO и Street Beat На прошлой неделе издание Коммерсантъ сообщило, что «базы клиентов Street Beat и Sony Centre оказались в открытом доступе», но на самом деле все гораздо хуже, чем написано в статье. Подробный технический разбор данной утечки я уже делал у себя в Telegram-канале, поэтому ту...

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

Гугология (это не опечатка) для программистов О математике (так, чтобы было интересно) писать сложнее, чем о физике. Однако я надеюсь, что вы дочитаете хотя бы до примеров сумасшедших программ на C. Читать дальше →

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

Создатель Python уступил руководство проектом координационному совету Голландский программист Гвидо ван Россум, начавший разработку своего языка программирования, объявил о намерении покинуть пост «великодушного пожизненного диктатора» в июле 2018 года.

Обновление бестселлеров Samsung. Представлены смартфоны Galaxy A30s и Galaxy A50s Компания Samsung представила смартфоны Galaxy A30s и Galaxy A50s — обновлённые версии своих популярнейших моделей. Напомним, Galaxy A50 стал самым продаваемым смартфоном в Европе в прошлом квартале, значительно обойдя всех конкурентов. Итак, смартфоны ожидаемо ста...

Как технологии быстрой разработки могут стать источником неприятных уязвимостей Безопасность на реальных примерах всегда более интересна. Как тестировщик на проникновение, люблю, когда приходят проекты, построенные на фреймворках быстрой разработки (Rapid development), подобно Ruby-on-Rails, Django, AdonisJs, Express и так далее. Они позволяют очень бы...

Статическое распределение объектов FreeRTOS По умолчанию все объекты в системе FreeRTOS распределяются динамически — очереди, семафоры, таймеры, задачи (потоки), и мьютексы. Программист видит только «кучу» — область где динамически выделяется память по запросу программы или системы, а что там творится внутри – не ясно...

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1) Приветствую! Товарищи реверсеры, ромхакеры: в основном эта статья будет посвящена вам. В ней я расскажу вам, как написать свой плагин-отладчик для IDA Pro. Да, уже была первая попытка начать рассказ, но, с тех пор много воды утекло, многие принципы пересмотрены. В общем, по...

Не ждите другого небольшого обновления, такого как Windows 10 версии 1909 12 ноября Microsoft предоставила так называемым «ищущим» версию Windows 10 v1909 (обновление от ноября 2019), и компания также внедряет обновление через помощника по обновлению. Размер пакета обновлений November 2019 Update составляет всего 180 КБ, даже не мегабайт.Программн...

Уязвимость BearLPE в Windows получила микропатч Команда 0patch из компании ACROS Security выпустила свою заплатку для уязвимости в планировщике задач Windows 10, не дожидаясь выхода официального патча. Эксперты также раскрыли некоторые технические детали проблемы. Брешь нулевого дня, получившая название BearLPE, выявила и...

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

[Из песочницы] Изучаем STM8S Медленный старт. Часть 0 МК семейства STM8S относительно STM8L/32 имеет меньший арсенал периферии, но позволяет без лишних усложнений разобраться с основами и получить необходимые навыки для работы с его старшими братьями. 0. На кого ориентирован материал, зачем и почему При написании данной стать...

[Перевод] Внутри Quake: всегда рассматривайте альтернативы Программист Майкл Абраш, в середине 90-х приглашённый Джоном Кармаком для работы над движком первого Quake, написал в процессе разработки серию статей. Это вторая колонка из данной серии. Перевод первой находится здесь. Должен признаться: меня достал классический рок. В по...

Где взять аудиосемплы для ваших проектов: подборка из восьми тематических ресурсов В прошлый раз мы делали подборку ресурсов с полноценными музыкальными композициями для приложений, игр или видео. Сегодня рассказываем о площадках с библиотеками коротких звуков и семплов, распространяемых в основном по лицензиям класса Creative Commons. Читать дальше →

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

Локализация приложения и поддержка RTL. Доклад Яндекс.Такси При локализации сервиса важно внимательно отнестись к согласованию переводов между собой. Руководитель группы клиентской Android-разработки Яндекс.Такси Александр Бонель рассказал, какие практики и инструменты упрощают локализацию. Во второй части доклада Саша поделился опыт...

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

Спорт для программиста второй свежести Около 30 лет назад я написал свою первую программу. Примерно тогда же впервые взял в руки штангу. Около 30 дней назад были приобретены PlayStation и PS VR. По случаю этих славных юбилеев размышления на темы: Как продуктивно провести много лет на сидячей работе? Без выгора...

От новых API в Chromium пострадает не только uBlock Origin, но и другие расширения Три месяца разработчики Chromium обсуждают новые программные интерфейсы declarativeNetRequest API, лишающие возможности полноценно использовать webRequest API. Расширения используют данные API для блокировки контента на лету во время загрузки страницы. В новой системе блокир...

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

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

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

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

Как проходил набор в Школу системного анализа Альфа-Банка Крупные IT-компании довольно давно проводят школы для студентов и выпускников инженерных и математических специальностей. Кто не слышал о Школе анализа данных Яндекса или Школе программистов HeadHunter? Возраст этих проектов уже измеряется десятилетием. Не отстают от них и ...

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

[Из песочницы] MicroPyServer простой HTTP сервер для ESP8266 и ESP32 Всем привет! Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера. Что такое MicroPyServer? MicroPyServer это простой HTTP сервер предназначенный для проектов на...

Умный пылесос использовали для создания карт Doom Американский программист Рич Уайтхаус написал утилиту Doomba, которая позволяет создавать уровни для игры Doom 1993 года с помощью данных, которые собирает робот-пылесос.

Как мы внедряли SD-Access, и зачем это понадобилось Основная страница мониторинга. SD-Access — это реализация нового подхода к строительству локальных сетей от Cisco. Сетевые устройства объединяются в фабрику, поверх неё строится оверлей, и всем этим управляет центральный компонент — DNA Center. Выросло всё это из систем мо...

Про одного парня История реальная, я все видел своими глазами. Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании. До этого он пробовал разные специальности – 4 ...

Браузерные мобильные игры бросают тебе вызов Вы когда-нибудь слышали о браузерных онлайн играх? Теперь представьте такие же, но для бюджетных телефонов – без графики и анимации. Да, такие игры тоже существуют, и имеют большую популярность в определенных кругах. Читать дальше →

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

[Перевод] Стандарт WASI: запуск WebAssembly за пределами веба 27 марта мы в Mozilla объявили о начале стандартизации WASI, системного интерфейса WebAssembly (WebAssembly system interface). Зачем: разработчики начали применять WebAssembly за пределам браузера, потому что WASM обеспечивает быстрый, масштабируемый, безопасный способ запу...

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

[Из песочницы] CQRS: принцип «разделяй и властвуй» на службе у программиста Слоеная архитектура – это спасение в мире корпоративной разработки. С ее помощью можно разгрузить железо, распараллелить процессы и навести порядок в коде. Мы попробовали использовать паттерн CQRS при разработке корпоративного проекта. Всё стало логичнее и … сложнее. Недавно...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

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

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

[Из песочницы] Эффективные и не эффективные методы кодинга на Python Привет, Хабр! Предлагаю Вашему вниманию перевод статьи Good and Bad Practices of Coding in Python автора Duomly. Python – высокоуровневый язык программирования, акцентирующий внимание на удобочитаемости. Он разрабатывается, поддерживается и часто используется в соответствии...

[Перевод] Использование Golang для создания микросервисов в The Economist: ретроспектива Всем привет! Уже 28 мая мы запускаем первую группу по крусу «Разработчик Golang». И сегодня делимся с вами первой публикацией приуроченной к запуску этого курсу. Поехали. Ключевые выдержки The Economist требовалось больше гибкости для распространения контента на все бол...

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

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

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

[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...

360 Security 5.1.6 360 Mobile Security — эффективная и бесплатная защита вашего мобильного устройства с системой Android. Антивирусное приложение предназначено для защиты вашего смартфона от новых вирусов, вредоносных программ, уязвимостей системы и утечек конфиденциальных данных. 360 Mo...

Повышаем продуктивность на GitHub: советы для новичков и не только От переводчика: публикуем для вас статью Даррена Барнса, который делится своим опытом работы с GitHub. Его советы будут полезны, в первую очередь, новичкам. Возможно, и опытный кодер найдет что-то для себя. GitHub — отличный сервис, которым пользуются пусть не все, но ...

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

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

Компания Sphero выпустила специального робота для хакеров Производитель «умных» игрушек компания Sphero запомнилась, в первую очередь, своим вращающимся роботом ВВ-8 — однако в последнее время ее продукты все больше ориентированы на будущих программистов и народных умельцев. Последняя разработка Sphero – робот Rvr, рассчитанн...

[Перевод] Python Testing with pytest. Просто, Быстро, Эффективно и Масштабируемо. Предисловие и Ведение Дальше Систематическое тестирование программного обеспечения, особенно в сообществе Python, часто либо полностью игнорируются или выполняются специальным образом. Многие программисты на Python совершенно не подозревают о существовании pytest. Брайен Оккен берет на себя труд...

В семействе Ultrastar DC HC300 появился жесткий диск объемом 10 ТБ Хотя в последние годы увеличение объема жестких дисков связано в основном с использованием технологии заполнения гермозоны гелием, развитие накопителей с воздушным заполнением тоже продолжается. Подтверждением является модель Ultrastar DC HC330 объемом 10 ТБ, представле...

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

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

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

[Из песочницы] Headless CMS. Почему я пишу свою Всем привет! Написать эту публикацию меня побудила вот эта недавняя статья (вчера увидел). Пересказывать основные признаки Headless/content-first/api-first и т.п. CMS я не буду, материала полно и наверняка уже многие знакомы с этим трендом. А хочу я рассказать почему и ка...

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

3D игра на three.js, nw.js Я решил выпустить новую версию своей старой браузерной игры, которая на протяжении пары лет пользовалась успехом в качестве приложения в социальных сетях. На этот раз я задался целью оформить ее также и в виде приложения под Windows (7-8-10) и разместить в различных магазина...

Стэнфорд, кажется у нас проблемы… На ваш суд скорее статья-вопрос, статья-рассуждение и местами — недоумение. С одной стороны нам презентовали авторитетное мнение Лесли Лэмпорта "Programing Should Be More Than Coding", расставляющее программирование и кодирование в импровизированном табеле о рангах. С оппони...

LG представила мощные смартфоны среднего класса - K50S и K40S Компания LG представила два новых телефона среднего класса - K50 и K40. Эти телефоны должны предлагать «флагманские функции по более низким ценам». Телефоны продемонстрируют на выставке IFA 2019. Мощные новинки оснащены процессорами с тактовой частотой 2 ГГц, большой батарее...

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

Безопасность IoT. Выпуск 1. Умные часы, фитнес-трекеры и весы В своей прошлой статье я рассказывал, как съездил на DefCamp. Сегодняшняя статья — первая часть публикации о моих исследованиях в области безопасности интернета вещей, которые легли в основу выступления на конференции. IoT быстро развивается: сейчас насчитывается более 260...

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

HackerRank: JavaScript обошёл Java в качестве самого популярного языка программирования Платформа HackerRank, объединяющая более 5 млн программистов со всего мира, опубликовала результаты своего ежегодного исследования, посвящённого навыкам разработчиков – Developer Skills Report 2019. В опросе приняли участие более 71 тыс. инженеров по программному обеспечению...

Что делать при сбое оперативной памяти. Анамнез и методы лечения Оперативная память – такая деталь системы, которая реже всех выходит из строя. Но спонтанные перезагрузки системы с BSOD и без него, вылеты игр или программного обеспечения, некорректные результаты обработки заданий в тяжёлом софте – всё это и многое другое может быть симпто...

GeekUniversity обновил программу обучения веб-разработке: ещё больше практики и кейсы Delivery Club Мы рады сообщить об обновлении программы факультета веб-разработки в онлайн-университете для программистов GeekUniversity. Теперь обучение займёт полтора года вместо одного. В программе появится курс о highload-приложениях, разработанный совместно с Delivery Club. Подробнее...

Подробнее о дате выпуска Windows 10 версии 1909 Windows 10 версии 1909 (под кодовым названием 19H2) должна была появиться 2 октября, но теперь кажется, что обновление будет завершено только лишь в конце этого месяца.Windows 10 версии 1909, которая является небольшим обновлением функций для Windows 10 версии 1903, может бы...

«Лаборатория Касперского»: Больше половины пользователей в России переживают за безопасность своих аккаунтов В начале февраля весь мир отмечает День безопасного интернета. «Лаборатория Касперского» хочет ещё раз напомнить об основных правилах кибергигиены и …

Prisma-CMS как движок для быстрого создания MVP Наверняка многие слышали понятие MVP (Минимально жизнеспособный продукт вики). На хабре тоже много статей про MVP, но в основном это или просто описание что такое MVP и для чего оно, или различные success и не очень story. Но я не нашел ни одной статьи, где бы описывалось на...

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

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

[Перевод] Математики обнаружили идеальный способ перемножения чисел Разбивая крупные числа на мелкие, исследователи превысили фундаментальное математическое ограничение скорости Четыре тысячи лет назад жители Вавилонии изобрели умножение. А в марте этого года математики усовершенствовали его. 18 марта 2019 два исследователя описали самый ...

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

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

Релиз Apple iOS 12.2 закрывает полсотни уязвимостей Компания Apple пропатчила 51 уязвимость в iOS, выпустив обновление 12.2. Один из самых серьезных багов позволяет с помощью приложения подслушать разговоры вблизи телефона. Производитель мобильных гаджетов также залатал iTunes, Safari, macOS и iCloud. Согласно бюллетеню, уязв...

Обновление KB4505903 исправляет проблемы звука на некоторых ПК с Windows 10 26 июля 2019 года корпорация Майкрософт выпустила новое накопительное обновление для Windows 10 версии 1903 (May 2019 Update). Это обновление для Windows 10 версии 1903 включает в себя значительные улучшения. Например, Microsoft говорит, что это обновление решает проблемы с ...

Microsoft Azure Developer Camp Россия 23 мая | 9:30 – 19:00 Офис Microsoft, БП Крылатские Холмы, ул. Крылатская 17к1, Переговорные комнаты Уран, Юпитер, Сатурн Москва, Россия Распространение облачных технологий постепенно изменяет методы разработки приложений, и перед программистами возникают новые сложные зад...

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

Динамичная мультиплеерная гонка Renegade Racing вышла на iOS и Android Студия Not Doppler, известная серией зомби-гонок Earn to Die и недавним шутером Dead Zed, выпустила новую гонку под названием Renegade Racing. Это онлайн-игра, основанная на движке Earn to Die, из которой убрали ходячих мертвецов и оставили гонки с другими игроками. В одно...

[Из песочницы] Dagger 2 – это элементарно (Часть 1) Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинутым программистом для таких же, обычными и понятными словами В статье используется пример кода на Kotlin. Версия da...

Pure устремляется в облака В Москве состоялся форум Pure//Live Russia 2019. Компания Pure Storage провела 19 ноября в Москве форум Pure//Live Russia 2019. Основными темами мероприятия, прошедшего спустя полтора месяца после масштабной конференции Pure//Accelerate 2019 в Остине, стало представление ...

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

Автоматическое обновление Windows 10 вызывает проблемы с изображением и «синий экран смерти» Выпущенное несколько дней назад обновление безопасности для пользователей систем с установленной Windows 10 May 2019 Update (версия 1903) оказалось ещё более проблемным, чем предполагалось изначально.  Как сообщалось ранее, автоматическое обновление Windows 10 KB4...

[Перевод] Затраты на AWS, которые должен знать каждый программист Заголовок этого поста — прямая отсылка к диаграмме «Времена задержек, которые должен знать каждый программист». В настоящее время есть несколько версий этой диаграммы, и трудно установить оригинального автора. Некоторые говорят, что это Джефф Дин. Если вы работаете над прое...

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

Какой серверный язык выбрать…мобильному разработчику Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется. Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шля...

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

WWDC 2019: главное с презентации Keynote по версии роботов В противовес прошлой WWDC, где основной фокус был на быстродействие и небольшие улучшения, сегодня представили все и сразу: новый Mac Pro, новые сервисы и давно желаемые функции для разработчиков. Кто-то говорит, что это лучший WWDC с 2014 года, когда представили новый язы...

[recovery mode] Расширения Google Chrome для программиста Работа программиста настолько сложна и разнообразна, что в ней просто не обойтись без помощи различных инструментов. Подготовил для вас список полезных расширений для Google Chrome, которые облегчат вашу жизнь и сэкономят время. 1. Code Cola Плагин, который предлагает ши...

SObjectizer-5.6.0: режем по живому, чтобы расти дальше Третьего дня стала доступна новая версия SObjectizer-а: 5.6.0. Ее главная особенность — это отказ от совместимости с предыдущей стабильной веткой 5.5, поступательно развивавшейся на протяжении четырех с половиной лет. Основные принципы работы SObjectizer-5 остались прежними...

[Перевод] Осваиваем async/await на реальном примере Конструкция async/await представляет собой сравнительно новый подход к написанию асинхронного кода в JavaScript. Она основана на промисах и, в результате, не блокирует главный поток. Новшество этой конструкции заключается в том, что благодаря ей асинхронный код становится по...

Так все-таки RAML или OAS (Swagger)? В динамичном мире микросервисов измениться может все что угодно — любой компонент можно переписать на другом языке, используя иные фреймворки и архитектуру. Неизменными должны оставаться лишь контракты, для того, чтобы с микросервисом можно было взаимодействовать извне на не...

Почему Siri на iPhone плохо вас слышит? Siri на iPhone с iOS 13 Процессоры, камеры и другие компоненты iPhone развиваются с каждым новым поколением устройства — в этом мы сами убеждаемся, когда берем в руки очередное поколение iPhone. Однако одному из комплектующих Apple уделяет не слишком много внимания, а ...

[Перевод] Современное окружение для React Native приложений В этой статье мы рассмотрим настройку React Native окружения с использованием expo-cli, Typescript, и Jest. Typescript поможет нам избежать ошибок при разработке и написать более эффективное мобильное приложение. Современные разработки позволяют интегрировать Typescript в ...

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

[Перевод] 27 удивительных инструментов VS Code для современных JavaScript-разработчиков Visual Studio Code (его ещё называют VS Code и VSCode) — это экономичный но мощный кросс-платформенный редактор кода, выполненный в виде настольного приложения. По словам автора материала, перевод которого мы сегодня публикуем, VS Code поддерживает множество инструментов раз...

Парадокс Питона (The Python Paradox) В последнем выпуске подкаста "Цинковый прод" помимо всего прочего обсуждался так называемый парадокс Питона (The Python Paradox). Как ни странно, на Хабре нет практически ни одного упоминания об этом парадоксе. При том, что, несмотря на свою простоту, мысль очень интересная...

19 голов гидры. Большой обзор программы 11-12 июля в Санкт-Петербурге состоится конференция Hydra, посвященная разработке параллельных и распределенных систем. Фишка Гидры в том, что она объединяет крутых учёных (которых обычно можно найти только на зарубежных научных конференциях) и известных практикующих инженер...

Безопасность приложений, или Как внедрить security в заказную разработку. Личный опыт AGIMA Digital-агентства все больше внимания уделяют безопасности инфраструктуры, в которой ведется разработка, а также начинают смотреть в сторону обеспечения безопасности приложений. Вы наверняка читали про разновидность и критичность уязвимостей, инструменты и методы обеспечения...

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

Huawei выпустила приложение Huawei Assistant для Android. Что оно умеет Huawei представила новое приложение для Android, но в Google Play его нет Huawei очень непоследовательна в своих заявлениях. Для компании является обычным делом сначала заявить о разработке собственной операционной системы на замену Android, тут же опровергнуть это заявление...

Brave Software выпустила первую основную версию криптобраузера Компания Brave Software представила официальный релиз приватного блокчейн-браузера Brave после трех лет бета-версий. Brave releases 1.0 of new privacy-focused browser and private ad network https://t.co/anrAd7wZhX — Brave Software (@brave) November 13, 2019 Версия Brave 1.0 ...

[recovery mode] Как сделать мобильную игру командой из 2 человек с нулевым бюджетом и получить фичеринг в Google Play Мы с мужем давно хотели делать игры вместе, но времени на это никогда не хватало. Мы оба работали: он — UI-программистом в геймдеве, я — продакт-менеджером в social media, затем в финтехе, и сил на собственную игру не оставалось. Год назад мы переехали в Канаду и решили, ...

Xiaomi выпустила Redmi Note 7 без 48-Мп камеры Наряду с Redmi Note 7 Pro, на своем мероприятии в Нью-Дели, Xiaomi также представила смартфон Redmi Note 7 для индийского рынка. Главным отличием новинки от китайской версии Redmi Note 7 стала основная камера. Вместо двойной основной камеры с модулями 48+5 Мп, в индийской…

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

Новая видеокарта AMD громит конкурента из стана Nvidia, будучи при этом дешевле Компания AMD сегодня представила профессиональный графический ускоритель Radeon Pro W5700. Новинка основана на GPU Navi 10 и имеет производительность в 8,9 TFLOPS. Основной конкурент в лице Quadro RTX 4000 не только медленнее, но и дороже. И AMD решила наглядно продемо...

Удаленный мониторинг и управление устройств на базе Linux/OpenWrt/Lede через 80-ый порт, продолжение Это заключительная часть статьи, вот начало. В прошлый раз я написал о том, как реализовал мониторинг устройств, теперь речь пойдет о управлении. В дискуссиях с «технарями» со стороны Заказчика я часто встречаюсь с ограниченным восприятием возможностей таких маленьких устро...

Программист-защитник сильнее энтропии © Dragon Ball. Goku. Программист-защитник в любой момент и в любом месте кода ожидает появления потенциальных проблем и пишет код таким образом, чтобы заранее от них защититься. А если от проблемы нельзя защититься, то хотя бы сделать так, чтобы её последствия и влияние на ...

Huawei P40 Pro приписывают восемь камер Компания Huawei уже работает над разработкой нового флагманского семейство P40. По слухам интернета, новая модель Huawei P40 Pro получит сразу восемь камер: это тройная селфи камера и основная с пятью модулями. Фронтальная камера должна получить 32 + 20 Мп. А вот основная к...

Unity 2019.1 - новые возможности для разработчиков Android-игр Unity - это самый популярный игровой движок, используемый разработчиками Android-игр. Он позволяет создавать 2D- и 3D-окружение, задействуя сложную игровую механику, а его последняя версия - Unity 2019.1 - стала ещё более мощной и адаптивной. Возможности Unity 2019.1 впервы...

Google выпустила первое обновление после релиза Android 10 Ежемесячные обновления Android не такие уж и ежемесячные Меня всегда очень веселит, когда в споре о безопасности iOS и Android, фанаты “зелёного робота” ссылаются на то, что Google, в отличие от Apple, каждый месяц выпускает обновления с баг-фиксами. Поэтому, считают они, An...

[Перевод] 5 уроков, которые мы усвоили, написав более 300 000 строк инфраструктурного кода Краткий мастер-класс по разработке инфраструктурного кода В октябре этого года я выступил с докладом на конференции HashiConf 2018, где рассказал о 5 ключевых уроках, которые я и мои коллеги из Gruntwork усвоили в процессе создания и поддержки библиотеки из более чем 300 00...

Mozilla выпустит браузер Firefox для HoloLens 2 Mozilla объявила, что совместно с Microsoft работает над браузером Firefox Reality для новой гарнитуры дополненной реальности HoloLens 2. Отметим, что этот браузер организация специально разработала для гарнитур виртуальной и дополненной реальности, и сейчас он доступен для...

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

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

Google добавит в Chrome важную защитную функцию Разработчики Google намерены внедрить в Chrome для настольных платформ функцию защиты от атак типа drive-by, состоящих в самопроизвольной загрузке на устройство нежелательных компонентов. Чаще всего загрузку инициируют плавающие фреймы на скомпрометированных веб-сайтах, что...

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

Итоги Слёрма-3 В воскресенье закончился Слёрм-3: интенсив по Kubernetes. Поставили личный рекорд: 132 участника, 65 в онлайне и 67 в зале. На первом Слёрме было 50 человек, на втором 87. Растем потихоньку. 126 человек создали кластер (задание первого дня), а 115 выполнили практику до конц...

IDC: кибербезопасность требует от бизнеса все больших трат Аналитики IDC прогнозируют, что в 2019 году компании потратят на инфобезопасность $103,1 млрд — на 9,4% больше, чем в 2018-м. Основная доля затрат придется на банковскую отрасль, производственные предприятия и государственные организации, которые суммарно инвестируют свыше $...

[Из песочницы] Какой уровень востребованности PHP разработчиков на 1 квартал 2019 года? На рынке труда программисты PHP являются одними из наиболее востребованных специалистов. За последние 3 года их популярность среди работодателей выросла на более чем на 12%. PHP — самый распространенный язык программирования общего назначения с открытым исходным кодом, многи...

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

Поддержка ночного режима Nightscape появится у всех модулей основной камеры смартфона OnePlus 7 Pro Компания OnePlus в этом году выпустила не только очередного «убийцу флагманов» в лице OnePlus 7, но и полноценный флагман — OnePlus 7 Pro. Да, он уже совсем не дёшев, но и предлагает немало. В частности, большинство хвалит камеру смартфона. И в ближай...

Вице-президент Google намекнул на релиз нового смартфона Pixel Компания Google может выпустить Google Pixel 3a и 3a XL уже в самое ближайшее время. На это на своей странице в Твиттере намекнул старший вице-президент поискового гиганта по вопросам разработки программного обеспечения Хироши Локхаймер. Он сообщил, что буквально на прошлой...

Переключатели функциональности (feature toggles): виды, преимущества и работа с ними в .NET Переключатель функциональности — это инструмент, позволяющий переключаться со старой функциональности на новую, не пересобирая приложение и не выпуская его заново. Реализуется добавлением в код условного оператора (if), который дает возможность управлять поведением программ...

Математика в Gamedev по-простому. Кривые и дождь в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Продолжим говорить про математику что ли. Пожалуй, основное применение математики в геймдеве и компьютерной графики в целом – это VFX. Вот и поговорим про один такой эффект – дождь, а точнее про его основную часть, требую...

С выходом MIUI 12 все смартфоны получат тёмную тему Компания Xiaomi приступила к разработке оболочки MIUI 12. С выходом новой оболочки MIUI 12, все смартфоны Xiaomi и Redmi получат системную тёмную тему. В основном положительно скажется это на смартфоны с AMOLED-дисплеями. По слухам MIUI 12 должны анонсировать летом 2020 го...

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

[Перевод] Профилирование и трейсинг с perf Учимся дебажить с perf — целых 18 страниц про основные подкоманды, фичи и устройство инструмента. Джулия рекомендует; “Я даже использовала его несколько раз для профилирования Ruby программ!” Уровень сложности — для суперпродвинутого администратора. Когда нужно отыскать пр...

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

Доля Windows 10 на рынке увеличилась до 44% Microsoft в апреле начала предлагать пользователям Windows 7 за счет уведомлений на рабочем столе перейти на последнюю версию ОС, но последние данные исследовательского агенства NetMarketShare показывают, что пользователи Windows 7 не готовы в ближайшее время отказаться от д...

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

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

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

[Перевод] Внедрение детектора поддельных новостей в мобильной версии браузера Microsoft Edge выявляет сомнительные источники Microsoft хочет предупредить пользователей о ненадежных новостных источниках с помощью новой функции в своем браузере Edge на мобильных устройствах. В расширении партнерства «NewsGuard», оповещения начали появляться в некоторых новостных историях на «Edge mobile browser» о ...

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

Оцениваем новый Huawei nova 4e по фото за два дня до анонса До презентации Huawei и анонса смартфона nova 4e еще два дня, так как она состоится 12 марта. Как принято в индустрии мобильных устройств, если до анонса смартфона остались считанные дни, то вся основная информация о нем уже есть в сети. Таким образом мы приходим к тому, чт...

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

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

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

[Перевод] Предварительная загрузка в PHP 7.4 Перевод данной статьи подготовлен специально для студентов курса «Backend разработчик на PHP». В PHP 7.4 добавлена предварительная загрузка — возможность, которая позволяет значительно повысить производительность кода. О предзагрузке в двух словах. Для предварительной...

Как выжать максимум из Computer Science образования Большинство современных программистов получили образование в вузах. Со временем это изменится, но сейчас дела обстоят так, что хорошие кадры в IT-компании все равно приходят из университетов. В этом посте Станислав Протасов, директор Acronis по связям с университетами, расск...

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

Wolfenstein: Youngblood — гадкие утята Bethesda решила скрасить ожидание третьей части Wolfenstein спин-оффом про дочерей Жуткого Билли, и теперь мы переживаем за судьбу основной игры Wolfenstein: Youngblood Жанр FPS Платформы PlayStation 4/Xbox One/PC/Nintendo Switch Разработчики MachineGames, Arkane Studios Изд...

Mozilla ускорила работу Firefox, чтобы на равных конкурировать с Chrome Mozilla выпустила новую версию своего браузера с внутренними изменениями, которые должны существенно улучшить его производительность. Разработчики смогли определить те области, в которых браузер способен ускорить процесс загрузки веб-страниц. Новые алгоритмы распознают основ...

Три года автотестов: как повысить скорость и не только Привет, я Алексей, full-stack разработчик платформы Vimbox. Когда я пришел в Skyeng, здесь решали, стоит ли тратить время на систему автотестов и попросили меня поделиться опытом с предыдущей работы. А такой опыт у меня был: к моменту ухода с предыдущего места мы написали н...

Аккумулятор 5000 мАч, дисплей диагональю 6,2 дюйма, 4 ГБ ОЗУ, камера разрешением 12 Мп и целых восемь цветов: опубликованы все характеристики Redmi 8A В Сети наконец-то появились наиболее полные характеристики бюджетного смартфона Redmi 8A (каталожный номер — M1908C3KE) — третьей модели линейки после Redmi Note 8 и Redmi Note 8 Pro. Новинка должна поступить в продажу в сентябре, причем повсеместно. Когда и...

Julia, Градиентный спуск и симплекс метод Продолжаем знакомство с методами многомерной оптимизации. Далее предложена реализация метода наискорейшего спуска с анализом скорости выполнения, а также имплементация метода Нелдера-Мида средствами языка Julia и C++. Читать дальше →

OData сервис без написания кода Одним из наиболее важных аспектов разработки программного обеспечения является быстрое создание прототипов. Для большинства служб необходимы по крайней мере некоторые операции CRUD, и большинство приложений можно описать как приложения, управляемые данными. API, которые я п...

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

Шпионские страсти. Super Micro откажется от использования в своих серверах компонентов китайского производства Американский производитель серверов Super Micro Computer, прошлой осенью бездоказательно обвиненный в наличии шпионских «закладок» на системных платах, изготавливаемых в Китае, вынужден трансформировать цепочку поставок. Хотя в декабре производитель серверо...

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

Сильный конкурент Redmi Note 7 Pro. Смартфон Realme 3 Pro получит SoC Snapdragon 710, поддержку Super Slo-mo и большой аккумулятор Вместе с бюджетным Realme C2 только что был представлен и более любопытный смартфон — Realme 3 Pro. В Индии это прямой конкурент для уже ставших очень популярными Samsung Galaxy M30 и Redmi Note 7 Pro. Начнём с цен. В зависимости от конфигурации за новинку просят ...

В четырех бюджетных смартфонах в Германии обнаружен бэкдор Специалисты Федерального управления по информационной безопасности Германии (BSI) сообщили о вредоносных программах, обнаруженных в прошивке четырех моделей смартфонов, продаваемых в стране. Это Android-устройства Doogee BL7000, M-Horse Pure 1, Keecoo P11 и VKworld Mix Plus....

2. Типовые сценарии использования Check Point Maestro Совсем недавно компания Check Point презентовала новую масштабируемую платформу Maestro. Мы уже публиковали целую статью о том, что это такое и как оно работает. Если коротко — позволяет почти линейно увеличивать производительность шлюза безопасности путем объединения неск...

Умер изобретатель компьютерных паролей Компьютерная безопасность в конце этой недели потеряла одного из основателей. Фернандо «Корби» Корбато (Fernando Corbato), которому приписывают изобретение компьютерного пароля, умер в возрасте 93 лет. Исследователь, работавший в Массачусетском технологическ...

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

[recovery mode] Велосипедофобия Здравствуйте, меня зовут Дмитрий Карловский, и я — профессиональный велосипедист. За всю свою карьеру я сделал кучу велосипедов: больших и маленьких, быстрых и удобных, кривых и прямых. Поэтому для меня довольно дико видеть толковых программистов, делающих большие и сложные ...

Samsung 15 марта выпустит ограниченное издание Galaxy S10+ с 12 Гбайт оперативной и 1024 Гбайт флеш-памяти С большинством характеристик, функций и вариантов дизайна будущих флагманов Samsung мы уже знакомы. Ожидается не менее четырёх основных моделей и ряд различных конфигураций, так что выбрать будет из чего. Как стало известно, один вариант запоздает минимум на неделю: купить G...

Для своих дискретных видеокарт Intel изменит архитектуру GPU Ещё в начале лета программисты Intel начали готовить экспериментальный Linux-драйвер для будущих графических ускорителей, относящихся к двенадцатому поколению (Gen12). До недавних пор эта разработка отличалась достаточно вялым прогрессом, но последние изменения в драйвере ок...

Критическая уязвимость Android пряталась пять лет Уязвимость нашел сотрудник компании Positive Technologies Сергей Тошин. Поскольку она устранена в обновлении движка от 29 января 2019 года, информацию о ней стало безопасно публиковать. Подробный комментарий С. Тошина появился в четверг, 21 марта. Благодаря недоработкам в Ch...

Модули памяти Corsair Dominator Platinum RGB DDR4 украшены подсветкой на светодиодах Capellix Компания Corsair объявила о начале продаж модулей памяти Dominator Platinum RGB DDR4. Эти модули предназначены для высокопроизводительных ПК. В них используются алюминиевые радиаторы новой конструкции, отбираемые вручную микросхемы памяти и полноцветная подсветка на адр...

[Из песочницы] CSS-переход свойства height от 0px до auto Здравствуй, Хабр! Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto. Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в ...

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

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

Представлены смартфоны Huawei Nova 5, Nova 5 Pro и Nova 5i Компания Huawei только что представила несколько своих новых смартфонов. Новинок три: Nova 5, Nova 5 Pro и Nova 5i. Смартфоны отличаются друг от друга по основным характеристикам, при этом они очень похожи внешне. Nova 5 Pro и Nova 5 на самом деле отличаются в основном ...

Власти Москвы потратят 50 миллионов на мониторинг поведения пользователей в интернете Документация о тендере размещена на сайте госзакупок, на что обратило внимание издание "Роскомсвобода".Начальная максимальная стоимость контракта составляет 50 млн руб. Заявки принимаются до 5 декабря 2019 г.Следует отметить, что год назад ДИТ проводил конкурс на в...

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