Социальные сети Рунета
Четверг, 28 марта 2024

[Из песочницы] OutOfMemory и использование векторных изображений в Android Studio Привет, Хабр! В данной статье, ориентированной на новичков, я бы хотел дать несколько советов по оптимизации использования приложением памяти устройства, дабы постоянно не получать OutOfMemory, а также рассмотреть использование векторных изображений в текущей актуальной верс...

Работа с датами на языке R (базовые возможности, а также пакеты lubridate и timeperiodsR) Получить текущую дату в любом языке программирования, операция эквивалентная "Hello world!". Язык R не является исключением. В этой статье мы разберёмся с тем, как устроена работа с датами в базовом синтаксисе языка R, а также рассмотрим несколько полезных пакетов, расширяющ...

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

Простой слайдер изображений на CSS и Javascript Автор уже опубликовал скрипт карусели, который также использует только CSS и Javascript. Теперь давайте рассмотрим скрипт слайдера. Он отличается от карусели тем, что одновременно виден только один элемент, а не несколько, и элементы не прокручиваются, а медленно замещаются ...

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

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

Вышел обновлённый графический пакет CorelDRAW Technical Suite 2019 Corel объявила о выпуске новой версии комплексного графического пакета CorelDRAW Technical Suite 2019. В пакет входят разнообразные приложения для создания всевозможных материалов, включая инструкции по сборке и сложные схемы. Подробнее об этом читайте на THG.ru.

Архитектура компьютера. Цифровой логический уровень Компьютер — это машина, которая может выполнять вычисления через исполнение примитивных операций. Она может понимать только два сигнала, которые принимаются за 0 и 1. Организация архитектур машин представляется как ряд уровней, каждый из которых надстраивается над нижележа...

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

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

[Из песочницы] Архитектура компьютерных систем 1 часть. Логические вентили Логические элементы Доброго времени суток, я начинаю серию статей по написанию виртуальной машины на языке Golang. Я выбрал этот язык так как он прост для чтения и имеет в стандартной библиотеке уже необходимые функции, которые пригодятся в дальнейшем. Эта статья не несёт в...

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

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

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

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

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

Loli — новый высокопроизводительный язык В этой статье мы поговорим о новом интерпретируемом языке Loli, рассмотрим синтаксис и сравним с языками C и Python. Читать дальше →

[Из песочницы] Элементарные шифры на понятном языке Привет, Хабр! Все мы довольно часто слышим такие слова и словосочетания, как «шифрование данных», «секретные шифры», «криптозащита», «шифрование», но далеко не все понимают, о чем конкретно идет речь. В этом посте разберемся, что из себя представляет шифрование и рассмотрим...

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

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

[Из песочницы] Кастомизируем select на чистом css Как-то вечером я убивал время, читая статьи в интернете, и наткнулся на вот этот хабропост пользователя Cyapa, где расписано, как кастомизировать select на чистом css. В процессе просмотра данного решения нашел несколько весьма неудобных моментов, которые постарался исправит...

5 способов сделать Python-сервер на Raspberry Pi. Часть 2 Привет Хабр. Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, ...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 43. Протоколы маршрутизации Distance Vector и Link State Сегодняшний видеоурок о протоколах маршрутизации Distance Vector и Link State предваряет одну из самых важных тем курса CCNA – протоколы маршрутизации OSPF и EIGRP. Эта тема займет 4 или даже 6 следующих видеоуроков. Поэтому сегодня я кратко расскажу о нескольких концепциях,...

Возможности языка Q и KDB+ на примере сервиса реального времени О том, что такое база KDB+, язык программирования Q, какие у них есть сильные и слабые стороны, можно прочитать в моей предыдущей статье и кратко во введении. В статье же мы реализуем на Q сервис, который будет обрабатывать входящий поток данных и высчитывать поминутно разли...

Подключаем онлайн-карты к навигатору на смартфоне. Часть 2 – векторные карты Пишем серверное приложение, которое будет генерировать растровые PNG тайлы на основе векторных онлайн-карт. Использование веб-срейпинга с помощью Puppeteer для получения картографических данных. Читать дальше →

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

О том, что мы реализовали в EWM благодаря вашим советам Это пост о том, как мы доводим до ума English Word Mania — мобильное приложение, которое помогает обогащать лексический запас при изучении английского языка и превращает этот процесс в соревнование. После предыдущей публикации мы получили ценный фидбек от читателей, который ...

R пакет tidyr и его новые функции pivot_long и pivot_wide Пакет tidyr входит в ядро одной из наиболее популярных библиотек на языке R — tidyverse. Основное назначение пакета — приведение данных к аккуратному виду. На Хабре уже есть публикация посвящённая данному пакету, но датируюется она 2015 годом. А я хочу рассказать, о наиболее...

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

[Перевод] Ограничения 16-битных игр и их воссоздание в Unity В нашем первом туториале по ретро-играм мы показали, как настраивать инструмент 2D Pixel Perfect и как создавалась графика в эпоху 8-битных игр. В этом посте мы перенесёмся в 16-битную эру. С помощью Mega Cat Studios мы узнаем, как создавать аутентичную графику для игр в ст...

Julia и нейронные сети: Flux Прошло чуть больше года, с тех пор как MIT объявил о релизе высокопроизводительного языка общего назначения Julia. С тех пор язык набирает популярность: он используется в более чем 1500 университетах (в некоторых преподается в качестве первого ЯП), а области применения охва...

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

Кое-что о пространстве имён Я программирую на PHP. И немножко на JS. Когда-то я программировал на Java, ещё раньше — на LotusScript. Попробовал на вкус python и dart. Basic, Fortran, Pascal, Prolog, VisualBasic, С++/С, perl — на всём этом я тоже изображал что-то исполняемое. Языки программирования меня...

DEV Labs 2019. Python для решения нетривиальных задач. Онлайн-митап Уважаемые коллеги! Приглашаем принять участие в онлайн-митапе серии DEV Labs, который пройдёт 20 марта и будет посвящён языку Python. Расскажем о применении Python в сфере проектирования систем «умного дома» и рассмотрим примеры решения задач по распознаванию человеческих д...

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

В Corel обновили CorelDRAW Graphics Suite Компания Corel обновила CorelDRAW Graphics Suite, почти ничего не прибавив, но улучшив уже существующие функции. Компания также доработала свой пакет графических приложений для macOS, постаравшись учесть особенные потребностей пользователей компьютеров Mac. При разработк...

Яндекс.Клавиатура 18.15.2 Яндекс.Клавиатура — клавиатура со смайликами и котиками. Онлайн-общение давно не ограничивается обменом фразами и смайликами. Эмодзи, гифки и картинки помогают передать друзьям нужные эмоции или просто поднимают настроение, добавляют красок в чат. Бесплатная клавиатура от Ян...

Бессерверный REST API «на коленке за 5 минут» Привет, Хабр! Сегодня продолжим разговор о возможностях, которые предоставляет нам Amazon Web Services и о том, как эти возможности использовать в решении прикладных задач. На простом примере рассмотрим создание буквально за несколько минут собственного бессерверного автом...

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

[Из песочницы] Объектно-ориентированное программирование в Java и Python: сходства и отличия Привет, Хабр! Представляю вашему вниманию перевод статьи “Object-Oriented Programming in Python vs Java” автора Джона Финчера. Реализация объектно-ориентированного программирования (ООП) в языках Java и Python отличается. Принцип работы с объектами, типами переменных и прочи...

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

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

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

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

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

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

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

Криптографический АРМ на базе стандартов с открытым ключом. Функции разбора и просмотра ASN1-структуры Основной работой при создании утилиты cryptoarmpkcs было не разработка кода или графического интерфейса, а работа с ASN1-структурами. Именно в этих структурах хранятся сертификаты x509v3, электронные подписи документов (PKCS#7, CMS), запросы на сертификаты (PKCS#10, CSR), от...

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

Заменить Object на var: что может пойти не так? Недавно я столкнулся с ситуацией, что замена Object на var в программе на Java 10 приводит к исключению в процессе выполнения. Мне стало интересно, много ли разных способов добиться такого эффекта, и я обратился с этим вопросом к сообществу: A puzzle: provide a Java code sam...

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

Google анонсировал новые функции в поиске по картинкам На конференции I/O 2019 Google анонсировал ряд новых функций в поиске по картинкам. В их числе – поддержка изображений с высоким разрешением, 3D и возможность просмотра AMP-страниц, связанных с найденными картинками. Изображения с высоким разрешением Google заявил, что в ско...

[Перевод] Как писать Go-пакеты Пакет Go состоит из Go-файлов, расположенных в одной и той же директории, в начале которых имеется одинаковое выражение package. Пакеты, подключаемые к программам, позволяют расширять их возможности. Некоторые пакеты входят в состав стандартной библиотеки Go. А это значит, ч...

От «Цветорасширителя для ZX-Spectrum» до ZX-Poly "Цветорасширитель для ZX-Spectrum" — так называлась статья, опубликованная в эхе fido7.zx.spectrum 3 августа 1997 года. Статья описывала идею решения одной из главных проблем платформы ZX-Spectrum — конфликта атрибутов (attribute clash). Публикация вызвала в то время определ...

Сколькими способами можно записать факториал на Scheme? Злые языки утверждают, что функциональные языки программирования — «языки для написания факториалов». Чаще всего так определяют язык Haskell, мы же начнем с того функционального языка, который сильно повлиял и на Haskell, и на подмножество средств для функционального програм...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 13. Настройка VLAN Сегодняшний урок мы посвятим настройкам VLAN, то есть попробуем проделать всё то, о чем говорили на предыдущих уроках. Сейчас мы рассмотрим 3 вопроса: создание VLAN, присваивание портов VLAN и просмотр базы данных VLAN. Откроем окно программы Cisco Packer tracer с нарисован...

[Перевод] Разработка динамических древовидных диаграмм с использованием SVG и Vue.js Материал, перевод которого мы сегодня публикуем, посвящён процессу разработки системы визуализации динамических древовидных диаграмм. Для рисования кубических кривых Безье здесь используется технология SVG (Scalable Vector Graphics, масштабируемая векторная графика). Реактив...

Julia: функции и структуры-как-функции Несмотря на то, что в языке Julia по замыслу отсутствует «классическое» объектно-ориентированное программирование с классами и методами, язык предоставляет средства абстрагирования, ключевую роль в которых играет система типов и элементы функционального программирования. Рас...

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

Нарастающий итог в SQL Нарастающий (накопительный) итог долго считался одним из вызовов SQL. Что удивительно, даже после появления оконных функций он продолжает быть пугалом (во всяком случае, для новичков). Сегодня мы рассмотрим механику 10 самых интересных решений этой задачи – от оконных функци...

Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...

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

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

Получаем ссылки на профили Vk из выдачи SearchFace с помощью Python (но это не точно) Картинка для привлечения внимания: Кадр из сериала Person Of Interest Сегодня мы поговорим о лёгком распознавании лиц с помощью доступных инструментов. Используются: Python 3.6, searchface.ru, внешний сервис для преобразования ссылок на фото в id (бот в телеграме, на тек...

[Перевод] Однобитный полный сумматор на необычных микросхемах Мы привыкли к 14- и 16-выводным микросхемам, содержащим несколько логических элементов или целый узел — счётчик, дешифратор, АЛУ, и др. Но раньше были и микросборки и микросхемы, в которых помещался всего один логический элемент. После долгого забвения они вернулись в виде...

Сложности применения технологий OCR в DLP-системах, или Как мы OCR готовим Решение задачи распознавания изображений (OCR) сопряжено с различными сложностями. То картинку не получается распознать из-за нестандартной цветовой схемы или из-за искажений. То заказчик хочет распознавать все изображения без каких-либо ограничений, а это далеко не всегда в...

SciPy, оптимизация с условиями SciPy (произносится как сай пай) — это основанный на numpy математический пакет, включающий в себя также библиотеки на C и Fortran. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных, как MATLAB, IDL, Octave, R или SciLab. В это...

Короткая JS-задачка для понедельника Которая родилась в процессе изучения кошмаров LexicalEnvironment и вообще ликбеза на тему "Почему оно работает так". Задача получилась действительно из серии wtfjs, но после внимательного рассмотрения — полностью укладывается в логику работы языка. Читать дальше →

Язык Bosque — новый язык программирования от Microsoft Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — лучше быть богатым и здоровым, чем бедным и больным чтобы он был прост и понятен как для человека, так и для компьюте...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 18. Основы маршрутизации Сегодня мы приступим к изучению роутеров. Если вы прошли мой видеокурс с первого по 17-й урок, то уже изучили основы свитчей. Сейчас мы переходим к следующему устройству – роутеру. Как вы знаете из предыдущего видеурока, одна из тем курса CCNA так и называется – Cisco Switch...

Как меняется специфика работы с серверами приложений на примере OpenLiberty Привет, Хабр! Выступление Себастьяна Дашнера на java meetup в московском офисе IBM (нашел запись похожего выступления) подтолкнуло меня начать свое знакомство с легковесными серверами приложений, в частности, с OpenLiberty. И тогда я задумался: Какие преимущества дают ...

Смартфоны Huawei начали автоматически удалять загруженные из Twitter картинки в Китае Компания Huawei сейчас находится в центре торговой войны между Китаем и США. Помимо сложностей в ряде стран помимо США, некоторые из решений компании вызвали критику и от китайских пользователей.  После спорного решения о блокировке сторонних лаунчеров в EMUI 9, с...

Dell Latitude 7400 2-in-1: красивый и лёгкий корпоративный ноутбук-трансформер с металлическим корпусом Линейка корпоративных ноутбуков Dell Latitude меняется: первым гаджетом серии с совершенно новым дизайном стал трансформер Dell Latitude 7400. О нём мы и хотим вам подробно сегодня рассказать. Это очень лёгкая и компактная машина со множеством портов, потрясающей автономност...

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

Подключаем онлайн-карты к навигатору на смартфоне. Часть 3 — OverpassTurbo Превращаем созданный ранее скрипт в API для просмотра интерактивной карты с сайта OverpassTurbo.eu через навигационное приложение смартфона. Читать дальше →

Универсальный DSL. Возможно ли это? Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL. Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование...

[Перевод] Делаем стильный водопад из RiME прямо в Unity или UE4 Есть игры с таким запоминающимся визуалом, что страшно считать потраченное на его разработку время, взять хотя бы последний God of War или RDR2. А бывают проекты, которые подкупают своей атмосферной, даже если они далеки от ААА. Как пример — RiME не раз хвалили за стиль, зву...

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

[Перевод] Почему Senior Developer'ы не могут устроиться на работу Сначала о том, как 5 месяцев назад я проходил собеседование на работу. Меня посоветовал друг, и прошло уже немало времени, с момента как я ответил рекрутеру. Я был поражён, как сильно весь процесс изменился за последние 5 лет. После первичного созвона меня отправили на стор...

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

Язык программирования P4 P4 — это язык программирования, предназначенный для программирования правил маршрутизации пакетов. В отличие от языка общего назначения, такого как C или Python, P4 — это предметно-ориентированный язык с рядом конструкций, оптимизированных для сетевой маршрутизации. P4 — эт...

Angular: создание и публикация библиотеки Начнем с начала Если мне не изменяет память, то с версии 6 в angular появилась возможность создавать в одном workspace проекты разных типов: application и library. До этого момента люди, которые хотели создать библиотеку компонент, скорее всего, пользовались отличным и поле...

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

У Intel теперь есть свой T1000. Компания представила специализированные процессоры платформы Nervana Компания Intel за последние месяцы представила два специализированных процессора платформы Nervana: NNP-I и NNP-T. Первый показали в июне, а второй — в августе. Сегодня Intel решила представить новинки ещё раз, но уже более конкретно. Итак, на самом деле решения ...

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

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

[Из песочницы] Работа с JSON RPC в Symfony 4 Всем привет, сегодня поговорим о том, как подружить Symfony 4, JSON RPC и OpenAPI 3. Данная статья рассчитана не на новичков, вы уже должны понимать как работать с Symfony, Depedency Injection и другими «страшными» вещами. Сегодня рассмотрим одну конкретную реализацию JSON ...

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

Безопасный доступ к полям регистров на С++ без ущерба эффективности(на примере CortexM) Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg Всем доброго здравия! В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части про...

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

Ми-ми-ми: Гифка с Йодой вернулась на GIPHY Эта новость специально для тех, кто ещё не начал смотреть сериал Мандалорец. Дело в том, что сегодня произошёл конфуз — из-за копирайта с сайта GIPHY был удалён файл с самым милым персонажем в истории Звёздных Войн — Йода. Казалось бы магистр Йода? Но нет, здесь ...

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

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

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

Создание мозаичной картинки Наверняка вы неоднократно видели в интернете такие картинки: Я решил написать универсальный скрипт для создания подобных изображений. Читать дальше →

Английский vs. Эсперанто: за кем будущее? За последние 50 лет позиции английского языка на международной арене усилились до невиданного ранее уровня. На сегодня в мире примерно 378 миллионов людей говорят на английском в качестве родного и еще от 470 миллионов до 1 миллиарда указывают его как второй язык. Что приме...

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

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

Buildbot в примерах Потребовалось мне настроить процесс сборки и доставки на сайт пакетов программ из Git-репозитария. И увидев, ни так давно, тут на Хабре статью по buildbot (ссылка в конце) решил для этого попробовать его и применить. Так как buildbot — это распределённая система, то будет ло...

Начинаем работу с Azure Machine Learning service Сегодня рассмотрим нашу пятую итерацию по созданию продукта для машинного обучения. Чтобы подойти к этой теме, кратко напомним о предыдущих продуктах и их состоянии на текущий момент. Рассмотрим только полностью интегрированные решения, которые позволяют пройти путь от расче...

[Перевод] Отлаживаем развертывание ПО со strace Моя основная работа — это, по большей части, развертывание систем ПО, то есть уйму времени я трачу, пытаясь ответить на такие вот вопросы: У разработчика это ПО работает, а у меня нет. Почему? Вчера это ПО у меня работало, а сегодня нет. Почему? Это — своего рода отладка,...

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

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

Разработка Unix подобной OS — Драйверы символьных устройств (8) В предыдущей статье мы ввели многозадачность. Сегодня пришло время рассмотреть тему драйверов символьных устройств. Конкретно сегодня мы напишем драйвер терминала, механизм отложенной обработки прерываний, рассмотрим тему обработчиков верхних и нижних половин прерываний. ...

Топ-7 бесплатных программ для рисования: лучшие альтернативы Photoshop и Illustrator Многие бесплатные графические программы ничем не уступают их дорогим конкурентам. Мы собрали лучшие приложения для создания комиксов, векторной графики, черчения и рисования.

hellOGL: OpenGL hello world Сегодня я покажу, как открыть открыть окно и создать контекст OpenGL. Это на удивление непростая задача, OpenGL до сих пор не имеет официальных кроссплатформенных средств создания контекста, поэтому будем опираться на сторонние библиотеки (в данном случае GLFW и glad). В инт...

Apple запустила просмотр iPhone 11 в дополненной реальности Apple запустила на своём сайте инструмент, позволяющий оценить внешний вид iPhone 11 и iPhone 11 Pro в «своих руках» – новинки можно рассмотреть в дополненной реальности не выходя из дома. По одним лишь изображениям оценить внешний вид смартфонов сложно, но благодаря данной…

[Перевод] Кое-что еще: пакеты приложений Haiku? TL;DR: может ли Haiku получить надлежащую поддержку пакетов приложений, к примеру каталогов приложений (как .app в Mac) и/или образов приложений (Linux AppImage)? Мне кажется, это будет достойным дополнением, которое правильно внедрить проще, чем в других системах, поскольк...

[Перевод] Что общего между чисткой яйца и DevOps? Перед вами перевод статьи Patrick Lee Scott, размещенной на сайте hackernoon.com. Автор предлагает познакомиться с несколькими важными принципами, которые помогут вам прокачаться в DevOps. Пару дней назад я пытался почистить яйцо дурацким способом, и моя девушка Анжели сп...

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

AMD и Nvidia выпустили новые графические драйверы Компании Nvidia и AMD подготовили свежие выпуски графических драйверов. «Красные» сообщили о релизе пакета Radeon Software Adrenalin 2019 Edition 19.7.4, единственным новшеством которого стало решение «вылетов» Grand Theft Auto V на видеокартах серии....

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

Видеоурок Теплицы: приложение Figma для графического дизайна и создания прототипов сайтов Приложение Figma можно назвать узкоспециальным: оно предназначено для создания прототипов сайтов и мобильных приложений. И надо сказать, что с этими задачами Figma справляется прекрасно. Но в сети иногда можно встретить адептов Figma, которые отказались от Adobe Illustrator ...

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

ЧПУ в хоббийной мастерской (часть 2) → Первая часть В статье рассмотрим стандартное и нестандартное использование CNC-роутера. Для чего кроме вырезания деревянных картинок можно приспособить такой станок. Осторожно, трафик. Читать дальше →

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

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

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

Танцы с саппортом: виды и формы поддержки Всем привет! Меня зовут Александр Афенов, и я тимлид команды Order Processing в Lamoda. Сегодня хочу рассказать вам о том, как мы разгребаем саппорт. Сначала поговорим про то, как он встраивается в наши процессы и как в целом мы планируем свою работу, спринты и итерации. ...

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

Основы формата GLTF и GLB, часть 1 Что такое GLTF и GLB? GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный формат хоро...

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

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

Тестовый клиент TON (Telegram Open Network) и новый язык Fift для смарт-контрактов Больше года назад стало известно о планах мессенджера Telegram выпустить собственную децентрализованную сеть Telegram Open Network. Тогда стал доступен объемный технический документ, который, предположительно, был написан Николаем Дуровым и описывал структуру будущей сети. Д...

Обектно ориентированное програмирование в графических языках Объектно-ориентированное программирование (ООП) – концепция, которая призвана облегчить разработку сложных систем, за счет введения новых понятий, более приближенных к реальному миру, чем функциональные и процедурные языки программирования. Как пишет википедия, «Обычный чело...

Видеоурок Теплицы: приложение для организации личного или рабочих процессов Notion.so В последнее время мы рассмотрели сразу несколько приложений, которые совмещают в себе множество функций по организации и систематизации рабочих процессов внутри организации: CRM и таск-менеджеры. И сегодня рассмотрим еще одно такое приложение под названием Notion.so, которое...

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

Сравнение малопопулярных и не очень CLI-библиотек: cliff, plac, plumbum и другие (часть 2) В экосистеме Python существует множество пакетов для CLI-приложений, как популярных, вроде Click, так и не очень. Наиболее распространённые были рассмотрены в предыдущей статье, здесь же будут показаны малоизвестные, но не менее интересные. Читать дальше →

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

Intel представила десятое поколение процессоров Ice Lake с шагом 10 нм После не самого впечатляющего анонса нового i9-9900KS на Computex от Intel, многие могли подумать, что компания окончательно сдала позиции и не привезла ничего впечатляющего в отличие от своего прямого конкурента — компании AMD, которая показала линейку процессоров Ryzen тре...

[Перевод] Если вы не пишете программу, не используйте язык программирования Лесли Лэмпорт — автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Это он впервые, ещё в 1979 году, ввёл понятие последовательной согласованности, а его статья «How to Make a Multiprocessor Comput...

Применение DBREPLICATION при свёртке баз данных на Microsoft SQL Server Для корпоративных учетных систем характерно постепенное увеличение объёма баз данных из-за накопления исторической информации. С течением времени размер БД может достигать таких размеров, что это провоцирует ряд проблем с производительностью, сервисным обслуживанием, доступн...

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

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

Устройство компилятора Swift. Часть 1 Swift — это не только язык программирования. Это проект, в который помимо компилятора входит много других компонентов. Да и сам компилятор — это не большая и страшная коробка, которая с помощью магии превращает ваш код в набор понятных для машины инструкций. Его тоже можно ...

[recovery mode] Актуальные инновации: чего ждать от рынка ЦОД в 2019 году? Строительство центров обработки данных считается одной из наиболее динамично развивающихся отраслей. Прогресс в этой области колоссален, но появятся ли в ближайшее время на рынке какие-то прорывные технологические решения – большой вопрос. Сегодня мы попробуем рассмотреть гл...

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

gui приложение для задачи о ходе коня Это туториал по созданию интерактивного приложения для решения задачи о ходе коня на языках processing и p5.js Посмотреть саму программу можно здесь. Для управления «конём» используется метод mouseDragged(); пример программы, использующей этот метод здесь. Отмена хода осуще...

Построение поведенческих воронок на языке R, на основе данных полученных из Logs API Яндекс.Метрики Анализ воронки продаж — типичная задача для интернет маркетинга, и в частности электронной коммерции. С её помощью вы можете: Выяснить на каком из шагов к покупке вы теряете потенциальных клиентов. Моделировать объём дополнительного притока выручки, в случае расширения каж...

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

Про подсчёт битов, беззнаковые типы в Kotlin и про ситуации, когда экономия на спичках оправдана К написанию статьи подтолкнул вот этот комментарий. А точнее, одна фраза из него. … расходовать память или такты процессора на элементы в миллиардных объёмах — это нехорошо… Так сложилось, что в последнее время мне именно этим и пришлось заниматься. И, хотя, случай, которы...

Книга «Как устроен JavaScript» Большинство языков программирования выросли из древней парадигмы, порожденной еще во времена Фортрана. Гуру JavaScript Дуглас Крокфорд выкорчевывает эти засохшие корни, позволяя нам задуматься над будущим программирования, перейдя на новый уровень понимания требований к Сле...

Gearbox Software опубликовала психоделический трейлер Borderlands 3 Студия Gearbox Software выпустила новый трейлер Borderlands 3, в котором продемонстровала, насколько веселее творить хаос вместе со своими бравыми товарищами, а не в одиночку, а также показала новую четверку новых искателей хранилища (стрелка Моз, оперативника Зэйна, сирену ...

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

Бенчмаркинг Емели Основная задумка Про бенчмаркинг приложений, движков и различных программных систем писано множество книг, статей и туториалов. Вот что выдает нам старушка Википедия на сей счет: Тест производительности, бенчмарк (англ. benchmark) — контрольная задача, необходимая для опред...

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

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

this и ScopeChain в EcmaScript Привет, Хабр! В предыдущей статье мы рассматривали общую теории ООП в применении к EcmaScript и популярное заблуждение начинающих разработчиков относительно отличия ООП в JS и классических языках. Сегодня мы поговорим о двух других не менее важных концепциях EcmaScript, а...

Android: создание динамических Product Flavors и Signing Configs При работе над Android-проектом, представляющий собой платформу для создания приложений для просмотра видео-контента, возникла необходимость динамического конфигурирования product flavors с выносом информации о signing configs во внешний файл. Подробности под катом. Читать д...

[Перевод] Использование strict-модулей в крупномасштабных Python-проектах: опыт Instagram. Часть 2 Представляем вашему вниманию вторую часть перевода материала, посвящённого особенностям работы с модулями в Python-проектах Instagram. В первой части перевода был дан обзор ситуации и показаны две проблемы. Одна из них касается медленного запуска сервера, вторая — побочных э...

Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации У нас в True Engineering на одном проекте назрела необходимость в смене версии PostgreSQL с 9.6 на 11.1. Зачем? База данных на проекте уже объемом 1,5 Tb и растет. Перформанс – одно из основных требований к системе. А сама структура данных эволюционирует: добавляются новые...

Как волонтёры со всего мира создают прямой эфир ICPC-2019 Меня зовут Лида Перовская, я работаю в Яндексе, а ещё с 2015 года помогаю организовывать прямой эфир International Collegiate Programming Contest. ICPC — студенческий чемпионат мира по программированию — проводится ежегодно с 1970-х. Это чуть ли не единственная олимпиада п...

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

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

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

Криптографический АРМ на базе стандартов с открытым ключом. Конфигурирование токенов PKCS#11 Еще раз просмотрев функционал утилиты cryptoarmpkcs, обратил внимание на то, что она, в основном работая с криптографическими токенами/смаркартами PKCS#11, не имеет встроенного функционала для их конфирурирования. Речь идет об инициализации токенов, установки PIN-кодов и т.п...

RESHI.RU — робот решает и объясняет школьные текстовые задачи по математике Введение Когда я объяснял своему ребёнку в 4-м классе, как решать текстовую задачку по математике, то неожиданно понял две вещи. Во-первых, процесс объяснения решения можно автоматизировать. А во-вторых, для большинства школьных вычислительных задач подходит универсальный ме...

Настройка программы Asymptote Из всех хабов этот показался мне наиболее подходящей для этой темы. Итак. Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Я опишу этот процесс для Asymptote 2.35. Итак, вот я скачал эту программу, установил. Если м...

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети Привет Хабр. Эта статья будет в немного «пятничном» формате, сегодня мы займемся NLP. Не тем NLP, про который продают книжки в подземных переходах, а тем, который Natural Language Processing — обработка естественных языков. В качестве примера такой обработки будет использов...

Книга «Учимся кодить на JavaScript» Привет, Хаброжители! Мы издали книгу для мальчиков и девочек от 10-11 лет которая поможет самостоятельно, без помощи родителей и учителей, написать программный код. Ты любишь играть онлайн? Общаться с друзьями через ВКонтакте, Фейсбук и Инстаграм? Смотреть видеоролики на см...

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

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

У Nvidia самые мощные аппаратные решения для систем с искусственным интеллектом Компания Nvidia сообщила о том, что её графические процессоры Turing и однокристальные системы Xavier показали лучшие результаты в MLPerf Inference 0.5 — первом независимом наборе тестов логического вывода систем искусственного интеллекта. Как сообщает ком...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 38. Протокол EtherChannel для 2 уровня OSI Сегодня мы рассмотрим работу протокола агрегирования каналов Layer 2 EtherChannel для 2 уровня модели OSI. Этот протокол не слишком отличается от протокола 3-го уровня, однако прежде чем начать изучение Layer 3 EtherChannel, я должен ознакомить вас с несколькими концепциями,...

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

Субпиксельный рендеринг произвольных векторных изображений (Haarmony LCD) Субпиксельный рендеринг (вики)— способ увеличить видимое разрешение LCD или OLED дисплея путем рендеринга пикселей с учетом свойств экрана. Используется тот факт, что каждый пиксель экрана фактически состоит из отдельных красных, зеленых и синих субпикселей. В посте я хочу р...

Проектируем космическую ракету с нуля. Часть 4 — Второй закон Кеплера Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Часть 3 — Ужепочти-решение задачи двух тел Второй закон Кеплера Всем привет! В прошлый раз мы остановились на вот этих уравнениях: \begin{equation*} \begin{cases} \ddot{x} = -\mu \dfrac{x}...

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

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

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

Нескучный туториал по NumPy Меня зовут Вячеслав, я хронический математик и уже несколько лет не использую циклы при работе с массивами… Ровно с тех пор, как открыл для себя векторные операции в NumPy. Я хочу познакомить вас с функциями NumPy, которые чаще всего использую для обработки массивов данных ...

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

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

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

Сборка Android-приложения. Задачка со звёздочкой Привет, Хабр! Летом я выступал на Summer Droid Meetup с докладом про сборку Android-приложения. Видеоверсию можно найти здесь: habr.com/ru/company/funcorp/blog/462825. А для тех, кто больше любит читать, я как раз и написал эту статью. Речь пойдёт о том, что же это такое ...

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

Что почитать по PHP на русском? PHP — один из самых популярных языков программирования. А ещё это язык, для изучения которого не так просто найти качественную книгу. Что ж, мы вместе с командой GeekBrains заглянем в интернет-магазин и посмотрим, что стоящего можно найти сегодня по PHP на русском языке. Ч...

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

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

Polycom VideoConference Solutions. Воспоминания 6 лет спустя… Этап 2. Часть 1. RMX1500 Добрый день, коллеги. Наконец пришло время выполнить обещание и рассказать, чем все это продолжилось и закончилось. Приношу извинения, что так задержалась. Будет 2 части: RMX1500 CMA4000 Текст ниже будет содержать много букв и может вызвать неверную оценку моего отношен...

9 типовых проблем в сети, которые можно обнаружить с помощью анализа NetFlow (на примере Flowmon) Относительно недавно мы публиковали статью “Сетевой мониторинг и выявления аномальной сетевой активности с помощью решений Flowmon Networks”. Там мы кратко рассмотрели возможности этого продукта и процесс установки. Неожиданно для нас, после статьи и вебинара, поступило бо...

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

Google опубликовала список самых популярных гифок 2019 года GIF-анимации стали неотъемлемой частью современного общения в мессенджерах, и Google решила показать самые популярные гифки […]

Что такое логическое программирование и зачем оно нам нужно У того, кто в детстве не писал на Прологе — нет сердца, а у того, кто пишет на нём сегодня — нет мозгов. (оригинал) Если вас всегда терзали мучительные сомнения — что за фигня это Логическое Программирование (ЛП) и вообще зачем оно нужно? То это статья для вас. Можно по-раз...

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

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

«Оса» вживую. Официальные изображения смартфона Nokia 2.2 Сегодня компания HMD Global проведет пресс-конференцию, на которой должны быть представлены новые смартфоны под брендом Nokia. Одним из этих смартфонов станет смартфон под кодовым названием Nokia Wasp, который поступит в продажу под рыночным названием Nokia 2.2. Вчера п...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 35. Динамический протокол транкинга DTP Сегодня мы рассмотрим динамический протокол транкинга DTP и VTP – протокол транкинга VLAN. Как я говорил на последнем уроке, мы будем следовать темам экзамена ICND2 в том порядке, в котором они приведены на сайте Cisco. В прошлый раз мы рассмотрели пункт 1.1, а сегодня р...

[Перевод] Почему векторная графика 2D намного сложнее, чем 3D В последнее время появилось много фантастических исследований по 2D-рендерингу. Пётр Кобаличек и Фабиан Айзерман работают над Blend2D: это один из самых быстрых и точных CPU-растеризаторов на рынке, с инновационной техникой JIT. Патрик Уолтон из Mozilla изучил не один, а три...

Лучшие Linux-приложения для Chrome OS Мы уже писали статью о том, как установить Linux-приложение на Chrome OS через контейнер Debian. Эта функция изначально предназначена для разработчиков, однако будет полезна и тем, кто желает получить качественный софт, недоступный в Google Play, на Chrome OS. В этом матери...

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

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

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

Как распилить монолит на сервисы и сохранить производительность In-memory кэшей без потери консистентности Всем привет. Меня зовут Александр, я Java-разработчик в группе компаний Tinkoff. В данной статье хочу поделиться опытом решения проблем, связанных с синхронизацией состояния кэшей в распределенных системах. Мы столкнулись с ними, разбивая наше монолитное приложение на микр...

5 способов полезного использования Raspberry Pi. Часть вторая Привет Хабр. В первой части были рассмотрены 5 способов использования Raspberry Pi. Тема оказалась достаточно интересной, и сегодня я рассмотрю еще несколько вариантов того, как можно с пользой использовать этот микрокомпьютер. Фото с сайта learn.adafruit.com Как и в пре...

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

Новая игра со старой атмосферой на Three.js. Часть 2 В первой части я рассказал о проблемах, с которыми я столкнулся в процессе создания 3D игры под браузер c использованием Three.js. Теперь я хотел бы подробно остановиться на решении некоторых важных задач при написании игры, типа конструирования уровней, определения столкнов...

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

Nitter, альтернативный фронтенд для Twitter Nitter — это свободный фронтенд для Twitter, ориентированный на сохранение пользовательской конфиденциальности. Проект написан на языке Nim, и находится в стадии активной разработки, ни одного релиза пока не было. Аналогичным фронтендом для YouTube является Invidious, которы...

[Из песочницы] Преобразование черно-белых изображений в ASCII-графику при помощи неотрицательного матричного разложения В общем случае преобразование изображения в ASCII-графику представляет собой довольно трудоемкую задачу, однако существуют алгоритмы, позволяющие автоматизировать данный процесс. В данной статье рассматривается подход, предложенный исследователями Paul D. O’Grady и Scott T....

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

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

Новая технология от Nvidia мгновенно превращает любой рисунок в произведение искусства Название новой технологии обработки изображений «GauGAN», вмещает отсылку к художнику-импрессионисту Гогену и к GAN (генеративно-состязательным сетям). По мнению генерального директора nVidia, Дженсена Хуанга, именно GAN позволят решить ключевую задачу в создании ИИ: как эфф...

Лучшая программа Fotoshow Компания AMS Software является одной из самых крупных и известных производителей качественного софта. Она является разработчиком самых популярных программ по работе с видео, фото и аудио проектами. Большой популярностью пользуется программа Fotoshow Pro 14.7. На официальном ...

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

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

Software Defined Radio — как это работает? Часть 2 Привет, Хабр. В первой части были описаны основные виды SDR-устройств и кратко были приведены их характеристики. Во второй части я расскажу подробнее о плюсах и минусах SDR, также будет рассмотрен пример доступа к приемнику из языка Python. Продолжение под катом (осторож...

С новым обновлением пользоваться Google Поиском по картинкам стало значительно удобнее Технология ускоренных мобильных страниц (AMP), разрабатываемая независимыми разработчиками и активно продвигаемая Google, впервые запустилась три года назад. С момента запуска она активно распространялась по всему интернету как на десктопе, так и на мобильных устройствах. А...

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

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

[Перевод] Разбираемся с пакетом Context в Golang Пакет context в Go полезен при взаимодействиях с API и медленными процессами, особенно в production-grade системах, которые занимаются веб-запросами. С его помощью можно уведомить горутины о необходимости завершить свою работу. Ниже небольшое руководство, которое поможет ис...

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

Начало работы со службой «Машинное обучение Azure» с использованием пакета SDK для Python В рамках этой статьи будет использоваться пакет SDK для Машинного обучения Azure для Python 3 для создания и применения рабочей области Службы машинного обучения Azure. Эта рабочая область — основной блок в облаке для экспериментов, обучения и развертывания моделей машинного...

Программирование в России введут с начальной школы Одно из заданий детского курса программирования на Code.org. Справа — программа на языке Blockly Согласно предложению Министерством просвещения РФ, в курс математики для младших школьников включат основы создания кодов и языков программирования, пишут «Известия». Это преду...

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

Трогательная My Brother Rabbit на русском языке уже доступна на iOS и Android My Brother Rabbit— это трогательно приключение от создателей десятка разнообразных игр в жанре «поиск предметов». «В любящей семье заболевает дочь. Пока родители пытаются найти нужное лекарство, заботливый старший брат не хочет сидеть сложа руки и использует силу воображени...

Ответы на задачи со стенда PVS-Studio на конференциях 2018-2019 Привет! Несмотря на то, что сезон конференций 2019 года ещё в самом разгаре, мы бы хотели обсудить задачи, которые ранее предлагали посетителям нашего стенда. Осень 2019 года мы начали с новым набором задач, поэтому уже можно обнародовать решение старых задачек за 2018 год,...

Логика и эмоции в текстах Спикер: Ольга Кириенко, создатель и руководитель Лаборатории гипнотических текстов (kireenko.by). Копирайтер (опыт работы — более 15 лет). Тренер. Консультант. От спикера Поговорим о том, как выглядит процесс принятия решения на различных ста...

Для тех, кто работает в Houdini. О курсах Nature of Vex и Bites of Python Под катом вы найдете отзыв специалистов из Houdini Team краснодарской студии Plarium о видеокурсах Nature of Vex и Bites of Python от Mix Training, посвященных работе с языками Python и Vex в графической программе Houdini. Также в этом посте ребята делятся подборкой матери...

NURBS моделирование в Rhino 3D и T-Spline Существует, как минимум, два подхода к созданию 3D моделей. В одном из них, наиболее популярном, объекты состоят из множества полигонов. В другом (freeform surface modelling) — из NURBS поверхностей, которые задаются кривыми (сплайнами). Каждый из подходов имеет свои преиму...

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

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

[Из песочницы] ARM анонсировала графические решения Mali-G57 Valhall и Mali-D37, нейропроцессоры Ethos-N57 и N37 Компания ARM представила первый графический ускоритель Mali-G57, базирующийся на новой архитектуре Valhall, а также дисплейный процессор Mali-D37; линейка Ethos пополнилась двумя нейропроцессорами N57 и N37 — все четыре новинки являются продуктами среднего ценового сегмент...

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

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

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

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

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

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

C for Metal — драгоценный металл для вычислений на графических картах Intel Сколько процессорных ядер Intel в вашем компьютере? Если вы пользуетесь системой на базе Intel, то в абсолютном большинстве случаев к вашему ответу надо будет прибавить единицу. В состав почти всех процессоров Intel — от Atom и до Xeon E3, естественно, не пропуская Core, уже...

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

Pointer и Value семантика в определении получателя метода Создание новых типов данных — важная часть работы каждого программиста. В большинстве языков определение типа состоит из описания его полей и методов. В Golang помимо этого нужно решить, какую семантику получателя для методов нового типа использовать: значение (value) или ук...

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

Julia NLP. Обрабатываем тексты Анализ и обработка текстов на естественном языке является постоянно актуальной задачей, которая решалась, решается и будет решаться всеми доступными способами. На сегодня хотелось бы поговорить о средствах решения для решения этой задачи, именно, на языке Julia. Безусловно,...

[Перевод] Ленивая инициализация в Spring Boot 2.2 От переводчика: поскольку Spring Framework является одним из основных фреймворков, на которых мы строим CUBA, то новости о новых возможностях Spring не проходят незаметно для нас. Ленивая инициализация — один из способов уменьшить время первой загрузки приложения, что в наш...

Младшенькие: обзор IP-телефонов Snom D315 и D305 Вот мы и добрались до конца линейки IP-телефонов Snom D3xx — сегодня мы рассмотрим две самые младшие, самые массовые модели, D315 и D305. Читать дальше →

1. Анализ зловредов с помощью форензики Check Point. SandBlast Network Добро пожаловать на новый цикл статей, на этот раз по теме расследования инцидентов, а именно — анализу зловредов с помощью форензики Check Point. Ранее мы публиковали несколько видео уроков по работе в Smart Event, но на этот раз мы рассмотрим отчеты форензики по конкретн...

ТЕСТ: Сможете ли вы отыскать на картинках скрытые предметы? Проверьте! Давайте выясним, насколько вы внимательны и зорки. Рассмотрите картинки и разыщите на них хорошо замаскированные объекты. Например, в одном из заданий нужно будет подсчитать количество скрытых звёздочек, а в другом — обнаружить популярного супергероя. Сфокусируйтесь и покажи...

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

iOS для творчества: рисование Привет! В прошлой статье я делал обзор возможностей iOS для написания музыки, а тема сегодняшней — рисование.  Я расскажу вам про Apple Pencil и другие приложения для работы с растровой и векторной графикой, пиксель-артом и другими видами рисования. Читать дальше →

Холдинг SoftBank продал пакет акций Nvidia из-за падения их цены, но все равно заработал $3,3 млрд Изображение: Unsplash На протяжение последних месяцев акции производителя видеокарт Nvidia потеряли почти 40% своей стоимости. В результате руководство японского холдинга SoftBank приняло решение избавиться от своего пакета акций Nvidia. По данным СМИ, в 2017 году фонд пр...

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

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

Исследование топ-50 чат-бот платформ и виртуальных ассистентов 2019 года Согласно исследованию ResearchAndMarket, мировой рынок чат-ботов и виртуальных ассистентов в 2019 году составляет около 2 миллиардов долларов и растет на 30% в год. В исследовании рассмотрены наиболее популярные в мире чат-бот-платформы, среди которых есть три решения от рос...

Новый рекорд?: Яйцо с лицом Кайли Дженнер может собрать 51 млн «лайков» в Instagram Кайли Дженнер может разделить популярность с яйцом-рекордсменом. Успешная 60-летняя телеведущая из США Эллен Дедженерес не смогла не прокомментировать самую популярную фотографию в соцсети Instagram, которая по «лайкам» обогнала даже снимок новорожденной дочери Кайли Дженне...

AMD представила Ryzen Mobile 3000 – новое поколение процессоров для мобильных компьютеров Первые процессоры Ryzen трёхтысячной серии оказались вовсе не тем, чего все ждали от AMD. Пока это — всего лишь четырёхъядерные мобильные APU на базе архитектуры Zen+ с графическим ядром Vega. Но и даже такие новинки выглядят очень неплохо, ведь они вписываются в те...

Intel представила процессоры Core десятого поколения: Ice Lake становятся реальными Сегодня в рамках выставки Computex 2019 компания Intel официально представила долгожданные процессоры Ice Lake, которые производятся на базе 10-нм техпроцесса. На данный момент речь идёт о решениях для мобильного сегмента: тонких и лёгких ноутбуках и устройствах-трансформера...

Если у Вас нет Питона, но есть Керас-модель и Джава Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1]. Также, как и большинство разработчиков, Python привлекает нас своей простотой и лаконичным синтаксисом. Мы использу...

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

[Перевод] Что нового в Zabbix 4.4 Команда Zabbix с радостью сообщает о выходе Zabbix 4.4. Последняя версия поставляется с новым Zabbix агентом, написанным на языке Go, устанавливает стандарты для шаблонов Zabbix и предоставляет расширенные возможности визуализации. Давайте рассмотрим наиболее важные функц...

Как выглядит складной Samsung Galaxy Fold на официальных рендерах? Сегодня в 22 по московскому времени Samsung проведет презентацию Galaxy Unpacked, на которой представит обновлённую линейку Galaxy S, умные часы и гибкий смартфон Galaxy F. До настоящего момента было неясно, какой будет внешность складного устройства компании, но теперь всё...

Intel работает с Facebook над созданием ИИ-чипа, который выйдет в этом году Корпорация Intel сделала немало важных анонсов во время крупнейшей выставки потребительской электроники CES 2019, которая сейчас проходит в Лас-Вегасе. В частности, она заявила, что совместно с Facebook работает над созданием нового чипа для вычислений в области маш...

[Перевод] Как создать приложение дополненной реальности с помощью ARCore В этом гайде вы узнаете, как добавить 3D-модели в реальный мир. Библиотека ARCore от Google позволяет добавлять на 2D-изображение (картинка или видео) полноценные 3D-модели. Вам необходимо предоставить системе некое опорное изображение, которое ARCore будет искать в реально...

Как скачать все изображения с веб-страницы Automator можно по праву назвать одним из самых недооцененных приложений на macOS. Увы, но многие пользователи не догадываются о скрытых возможностях данной утилиты. Тем не менее потенциал заложенный в программу действительно огромен. Сегодня мы расскажем о службе, которая ...

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

SciPy, оптимизация SciPy (произносится как сай пай) — это пакет прикладных математических процедур, основанный на расширении Numpy Python. С SciPy интерактивный сеанс Python превращается в такую же полноценную среду обработки данных и прототипирования сложных систем, как MATLAB, IDL, Octave,...

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

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

[Перевод] Структура данных B-дерево Всем привет! Мы запустили новый набор на курс «Алгоритмы для разработчиков» и сегодня хотим поделиться интересным переводом, подготовленным для студентов данного курса. В деревьях поиска, таких как двоичное дерево поиска, AVL дерево, красно-чёрное дерево и т.п. каждый узе...

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

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

[Перевод] Заложники COBOL и математика. Часть 2 Сегодня публикуем вторую часть перевода материала о математике, о COBOL, и о том, почему этот язык всё ещё жив. → Первая часть Читать дальше →

Принципы работы протокола BGP Сегодня мы рассмотрим протокол BGP. Не будем долго говорить зачем он и почему он используется как единственный протокол. Довольно много информации есть на этот счет, например тут. Итак, что такое BGP? BGP — это протокол динамической маршрутизации, являющийся единственным EG...

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

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

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

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

[Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч...

Администратор НАСА считает возможным отправить «Орион» в первый рейс вокруг Луны на коммерческой ракете Кажется это конец. https://twitter.com/JimBridenstine We need to consider all options to meet the Exploration Mission-1 target launch date of June 2020, including launching on commercial rockets. /Нам необходимо рассмотреть все варианты для достижения целевой даты запуск...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 21. Дистанционно-векторная маршрутизация RIP Тема сегодняшнего урока – RIP, или протокол маршрутной информации. Мы поговорим о различных аспектах его применения, о его настройке и ограничениях. Как я уже говорил, тема RIP не входит в учебный план курса Cisco 200-125 CCNA, однако я решил посвятить этому протоколу отдель...

[Перевод] Встречайте Big Data Tools: поддержка Spark и Zeppelin-ноутбуков в IntelliJ IDEA У нас отличные новости. Мы рады объявить о выходе Big Data Tools — нового плагина для IntelliJ IDEA, который обеспечивает интеграцию со Spark и поддерживает редактирование и запуск Zeppelin-ноутбуков. Теперь вы можете создавать, редактировать и запускать Zeppelin notebooks п...

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

Valve показала тизер-изображение шлема виртуальной реальности Index, анонс намечен на май На днях компания Valve запустила специальную страничку в сервисе Steam, где опубликовала первое рекламное изображение нового шлема виртуальной реальности. Грядущая новинка называется Index. К сожалению, нормально рассмотреть устройство изображение не позволяет. Что тут скаже...

$ ls -l /home/avitotech/new_year Привет. Этот пост — поздравление с наступающим Новым годом. Тут не будет попыток пошутить, подвести итоги-2018 или пожелать всем сразу всего нужного, а будет открытка-загадка про технологии. Вот она. Мы спрятали здесь 48 самых разных технологий, языков программирования, ин...

CorelDRAW Graphics Suite 2019: новый пакет для работы на macOS и новое веб-приложение CorelDRAW Была существенно расширена линейка продукции CorelDRAW Graphics Suite. В частности, вышел новый графический пакет, разработанный специально для macOS. С помощью CorelDRAW Graphics Suite пользователи могут создавать высокоточные графические материалы, используя удобную для с...

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

ОС Фантом: оконная подсистема — делаем контролы Сегодня речь пойдёт о том, как устроен графический UI Фантома. (Что такое ОС Фантом можно узнать, прочитав вот эти статьи.) Точнее — как этот графический UI появился на свет. Ибо долгое время у Фантома был только графический вывод — донести системе что-либо с помощью мышки...

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

[Из песочницы] Кросспостинг постов из Instagram в паблик VK на Python Предисловие Решил выйти на новый рынок сбыта, тем более, целевая аудитория моего интернет-магазина, не имеющая аккаунтов в Instagram, давно интересовалась появлением дубликата в VK. Идея хорошая, но постов на странице сотни, соответственно вручную работать ctrl+c ctrl+v не...

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

GPU AMD Arcturus станет основой для ускорителей Radeon Instinct в 2020 году Графическая архитектура AMD Navi служит основой для текущих игровых видеокарт. Вместе с тем, компания также может работать над отдельной линейкой графических процессоров для рынков искусственного интеллекта и высокопроизводительных вычислений, которая заменит линейку Radeon ...

[Перевод] Создание собственных синтаксических конструкций для JavaScript с использованием Babel. Часть 1 Сегодня мы публикуем первую часть перевода материала, который посвящён созданию собственных синтаксических конструкций для JavaScript с использованием Babel. Читать дальше →

Курилы On-line Когда в СМИ мы слышим упоминания о Курильских островах чаще всего звучит тема необъятных природных ресурсов этого региона, либо это политические перипетии с Японией вокруг нескольких клочков земли раскиданных в южной части Охотского моря. С чем связана такая узость тем понят...

Эксплуатация Microsoft Edge от CVE до RCE на Windows 10 В рамках данной статьи мы достаточно подробно рассмотрим процесс написания эксплоита под уязвимость в Microsoft Edge, с последующим выходом из песочницы. Если вам интересно узнать, как выглядит этот процесс, то welcome под кат! Читать дальше →

«ЭР-Телеком Холдинг» выбирает решение Digital BSS АО «ЭР-Телеком Холдинг» (ТМ «Дом.ru Бизнес») будет использовать BSS-пакет компании Netcracker для сокращения времени выхода на рынок новых продуктов, централизации и консолидации основных процессов и систем, а также для улучшения качества обслуживания клиентов путем ...

Трейлер AMD RX 5700: преимущества новой технологии Radeon Image Sharpening К долгожданному старту продаж 7-нм видеокарт серии Radeon RX 5700 на базе новой архитектуры RDNA компания AMD представила ролик, посвящённый технологии Radeon Image Sharpening (RIS). Она поддерживается только новыми графическими ускорителями (по крайней мере, пока) и призван...

Разворачиваем Kubernetes на десктопе за несколько минут с MicroK8s Начать работать с Kubernetes не всегда бывает просто. Не у всех есть необходимая для разворачивания полноценного кластера Kubernetes инфраструктура. Для локальной работы Kubernetes предлагет утилиту Minikube. Minikube — достаточно простое и удобное средство, и есть несколько...

Секция Backend на DUMP Казань: архитектура облачных приложений, общительные микросервисы, DDD и не только Что делать, если секция Backend на конференции одна, а языков программирования несколько? Получается, либо каждому по докладу, и тогда что делать все остальное время? Либо больше внимания одному-двум языкам, а все остальные не в удел. Кажется, мы нашли выход. В Backend на DU...

Работа с API КОМПАС-3D → Урок 15 → Составные строки на основе параграфа В уроке 12 мы познакомились с составными строками и рассмотрели недокументированный способ их создания. В уроке 13 были представлены параграфы. Сегодня мы рассмотрим, как их использовать для создания составных строк. Для начала возьмем строки, включающие в свой состав отклон...

Пишем свой язык программирования, часть 2: промежуточное представление программ Введение Приветствую всех, кто заглянул почитать мою очередную статью. Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте. В первой части (линк: habr.com/post/435202) я описал этапы прое...

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

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

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

React Native: делаем draggable & swipeable список Сегодня трудно кого-то удивить возможностью свайпать элементы списка в мобильных приложениях. В одном нашем react-native приложении тоже была такая функциональность, но недавно возникла необходимость расширить её возможностью перетаскивать элементы списка. А поскольку процес...

Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е Трудно поверить, что этот ветхозаветный старец из зажиточного пригорода Cан-франциско один из отцов-основателей рунета. Joel Schatz — учёный, визионер, идеалист и бизнесмен, в молодости любил эксперименты с сознанием, психоделический опыт помог ему прочувствовать взаимос...

[Перевод] Аппаратные «характеристики» в .NET Core (теперь не только SIMD) Введение Несколько лет назад, мы решили, что настало время поддержать SIMD код в .NET. Мы представили пространство имен System.Numerics с типами Vector2, Vector3,Vector4 и Vector<T>. Эти типы представляют API общего назначения для создания, доступа и оперирования векто...

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

10 новых бесплатных курсов по когнитивным сервисам и Azure Недавно мы выложили около 20 новых курсов на нашу обучающую платформу Microsoft Learn. Сегодня я расскажу и первых десяти, а немного позже выйдет статья и о второй десятке. Среди новинок: распознавание голоса с когнитивными сервисами, создание чат-ботов с QnA Maker, обработк...

GOSINT — open source решение для управления индикаторами компрометации (IoC) Одной из горячих тем в кибербезопасности в последнее время стали SOCи (Security Operations Center), которые не очень удачно переводят на русский язык как «центры мониторинга безопасности», умаляя тем самым одну из важных функций SOC, связанную с реагированием на инциденты ИБ...

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

Google запустит единую корзину для покупок в Поиске, Картинках и YouTube Google расширит возможности для шопинга, позволив пользователям добавлять товары из разных своих сервисов – Поиска, Картинок и YouTube – в единую корзину для покупок. Это нововведение связано с редизайном Google Shopping, анонсированным в рамках Google Marketing Live 2019. Т...

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

Let's play a little game with Lamoda Привет! Меня зовут Павел Савельев, я руковожу отделом автоматизации бизнес-процессов в Lamoda. Хочу пригласить вас сыграть в PHP Quest. Для участия в квесте необходимо заполнить анкету. После заполнения анкеты мы вышлем вам на почту головоломку. До 12 августа игроки присылаю...

Magento 2: импорт продуктов прямо в базу В предыдущей статье я описал процесс импорта продуктов в Magento 2 обычным способом — через модели и репозитории. Обычный способ отличается весьма низкой скоростью обработки данных. На моём ноутбуке выходило примерно один продукт в секунду. В данном продолжении я рассматрива...

Как мы в IntelliJ IDEA ищем лямбда-выражения Важной возможностью любой IDE является поиск и навигация по коду. Один из часто используемых вариантов поиска на языке Java — поиск всех реализаций данного интерфейса. Часто такая функция называется иерархией типов (Type Hierarchy) и выглядит как на картинке справа. Перебира...

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

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

[Из песочницы] Матрёшка Си. Слойная система языка программы Попробуем представить химию без Периодической системы Менделеева (1869). Сколько же элементов надо было держать в голове, причём в произвольном порядке… (Тогда — 60.) Для этого достаточно подумать об одном или нескольких сразу языках программирования. Те же чувства, тот же...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 7. F.A.Q Сегодня мы рассмотрим ответы на часто встречающиеся вопросы, которые касаются предыдущих видеоуроков. С момента первой публикации прошло уже около года, и множество людей оставили свои комментарии под моими видеоуроками на канале YouTube. Я внимательно читал все ваши коммент...

Искусство парсинга 2 или транслитерация собственной разметки +БОНУС: как включать классы друг в друга в C++ Привет, Хабр! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу ч...

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

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

[Перевод] Компания GitLab из-за политики прекращает набор сотрудников из России и Китая 2 недели назад в публичном трекере компании GitLab, стоящей за популярным одноимённым Open Source-решением для разработчиков и DevOps-инженеров, появился issue под названием «WIP: блокировка инженерных должностей по стране проживания». Сегодня о нём стало широкой обществен...

Установка и настройка Sonata Admin на Symfony 4 Приветствую всех. В данной статье поговорим об Symfony 4 и Sonata Admin. В процессе установки я столкнулся с массой неточностей в документации и сама документация была раскидана по нескольким местам. Здесь я рассмотрю весь процесс, начиная от создания проекта и заканчивая а...

AirTest IDE и Image Recognition — автоматизация тестирования мобильных игр на основе распознавания изображений В предыдущей статье мы познакомились с AirTest IDE, но, на всякий случай, давайте повторим: AirTest IDE разработан компанией NetEase и предназначен для "hard-to-automate" приложений, таких как, например, игр. Собственно на них и делается основной упор разработчиками, хотя эт...

Роскомнадзор «напал» на Instagram за непристойное фото с флагом России Вчера Роскомнадзор потребовал от Facebook удаления картинки с изображением российского герба со свастикой. Сегодня служба добралась и до Instagram. Там обнаружилось изображение непристойных действий с флагом России.

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

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

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

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

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

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

[Из песочницы] Сборка transport-пакета без установки MODX Писать свои пакеты для MODX не просто для новичка, да и опытному разработчику иногда не сладко приходится. Но новичок пугается, а опытный разбирается :). Эта заметка рассказывает о том, как можно написать и собрать пакет компонента для MODX без установки и настройки самог...

[Перевод] Node.js для начинающих: основы работы с файлами Сегодня мы поговорим о том, как работать с файловой системой средствами Node.js, рассмотрим базовые операции, выполняемые с файлами. К таким операциям относятся следующие: Создание файла Чтение файла Запись данных в файл Удаление файла Переименование файла Необходимость в...

Переводим Лазерный гравер на 32 бита - с ARDUINO NANO на STM32 Blue pill. Переводим Лазерный гравер  на 32 бита - с ARDUINO NANO на STM32 Blue pill. После постройки лазерного гравера, описанного  в предыдущей статьеhttps://3dtoday.ru/blogs/lenivo/mini-laser-engraver-on-the-details-from-dvd-drives-and-scanners-with-w/Столкнулся с тем, что...

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

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

Sberbank AI Journey. Как мы учили нейросеть сдавать экзамен Если вы закончили школу уже во времена ЕГЭ, то вам известно, что все задания в нём имеют набор стандартных формулировок и упорядочены по типам. С одной стороны, это облегчает подготовку к экзамену: школьник уже знает, что нужно делать в задании, даже не читая его условия. С ...

Автомобильное комбо-устройство Mio MiVue i85: компактный регистратор с функциями радар-детектора Рассмотренный регистратор в плане качества видео звезд с неба не хватает, это следует признать. Однако высокое качество видеоряда — вовсе не главное требование к автомобильному регистратору, это же не видеокамера. Mio MiVue i85 умеет автоматически включаться и выключаться (п...

[Перевод] JavaScript не нужно ничем заменять — другие языки тоже столкнутся с теми же проблемами «Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно заменить каким-то другим языком. Причиной всегда становится то, что у JavaScript нак...

ThingJS v1.0-alpha Последние два года я разрабатывал собственную IoT платформу и сегодня готов показать ее альфа версию. Вместе с партнером мы создаем и поддерживаем IoT устройства. Мы разобрали не один сарай с граблями в процессе этой деятельности. ThingJS родилась не столько из желания, ско...

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

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

[Перевод] АЛУ на 12 транзисторах (на самом деле нет) Что можно сделать на 12 транзисторах? Если схема аналоговая, это может быть, например, радиоприёмник или усилитель с достойными характеристиками. Для цифровой же схемы это катастрофически мало. Даже в такой простой микросхеме, как АЛУ К155ИП3 (74181), их значительно больше...

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

Решение задания с pwnable.kr 11-coin1, 12-blackjack, 13-lotto. Ошибки в логике приложений В данной статье рассмотрим решения 3-х заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях: ...

[Перевод] Breakuot-подобная игра на PIC12F1572 Предлагаемая конструкция является доказательством того, что цветной композитный видеосигнал в системе NTSC может быть сгенерирован при помощи очень простого «железа». Краткое описание Хотя цветной композитный видеосигнал в системе NTSC генерировать сложнее, чем VGA, для э...

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

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

Make Your Database Dream of Electric Sheep: Designing for Autonomous Operation Как вы думаете, кто лучше настроит PostgreSQL — DBA или ML алгоритм? И если второй, то пора ли нам задуматься, чем заняться, когда нас заменят машины. Или до этого не дойдет, и важные решения все-таки должен принимать человек. Наверное, уровень изоляции и требования к устойч...

Нахождение объектов на картинках Мы занимаемся закупкой трафика из Adwords (рекламная площадка от Google). Одна из регулярных задач в этой области – создание новых баннеров. Тесты показывают, что баннеры теряют эффективность с течением времени, так как пользователи привыкают к баннеру; меняются сезоны и тре...

Иструменты Node.js разработчика. Очереди заданий (job queue) При реализации бэка веб-приложений и мобильных приложений, даже самых простых, уже стало привычным использование таких инструментов как: базы данных, почтовый (smtp) сервер, redis-сервер. Набор используемых инструментов постоянно расширяется. Например, очереди сообщений, суд...

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

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

[Перевод] Одинадцать скрытых жемчужин Java 11 Java 11 не представил никаких новаторских функций, но содержит несколько жемчужин, о которых вы могли ещё не слышать. Уже смотрели на новинки в String, Optional, Collection и других рабочих лошадках? Если нет, то вы пришли по адресу: сегодня мы рассмотрим 11 скрытых жемчужин...

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

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

[Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-...

2. Анализ логов Check Point: SmartEvent Здравствуйте, коллеги. В прошлый раз, в статье «1. Анализ логов Check Point: официальное приложение Check Point для Splunk» мы обсуждали разбор логов шлюза безопасности на основе официального приложения в системе логирования Splunk. В заключении пришли к выводу что хоть пр...

Кодировки, шифр сдвига, брут хешей и создание картинки с помощью PIL python. Решение задач с r0от-мi Cryto. Часть 1 Данная статья содержит решений заданий Encoding ASCII и Encoding UU направленные на кодировки, Hash Message Digest 5 и Hash SHA-2 — на нахождение прообраза хеша, Shift cipher — шифр сдвига, и Pixel Madness — на составление картинки. Организационная информацияСпециально дл...

[Перевод] Глубокое погружение в Linux namespaces В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые им...

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

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

[Перевод] Создание AR-игры с помощью Vuforia [Под катом есть объёмные GIF] Дополненная реальность (Augmented reality, AR) внезапно стала очень популярным термином. Благодаря Vuforia разработчики с лёгкостью могут дополнять физический мир цифровым контентом. Хотя выпуск ARKit и ARCore позволил повысить известность до...

Создание таблиц в дизайн системе Figma и реализация в Storybook (React) В предыдущей статье на тему дизайна таблиц в Фигме мы выяснили, что базовый элемент создания любого data grid — это компонент ячейки, внутри которого спрятано все необходимое для того, чтобы оставаться в одном экземпляре и строить таблицы ячейка-за-ячейкой. Теперь поговори...

DARPA занялось созданием искусственного интеллекта нового поколения Источник: Коммерсант Агенство Defense Advanced Research Projects Agency (DARPA), о проектах которого не раз писали на Хабре, недавно взялось за проект создания искусственного интеллекта следующего поколения Artificial Intelligence Next (AI Next). Идеологи и создатели увере...

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

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

Асинхронное программирование в JavaScript (Callback, Promise, RxJs ) Всем привет. На связи Омельницкий Сергей. Не так давно я вел стрим по реактивному программированию, где рассказывал про асинхронность в JavaScript. Сегодня я бы хотел законспектировать этот материал. Но перед тем как начать основной материал нам нужно сделать вводную. Итак...

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

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

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

PaintShop Pro 2020: новые интеллектуальные инструменты для создания фотопроектов Представлены новые комплексные решения для фоторедактирования и графического дизайна - PaintShop Pro 2020 и PaintShop Pro 2020 Ultimate. Новые продукты ориентированы на профессиональных фотографов и создателей контента. Подробнее об этом читайте на THG.ru.

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

[Из песочницы] Язык программирования, помещающийся на почтовой открытке Источник Ральф Джонсон, один из членов "Банды четырёх", однажды показал, как синтаксис языка Smalltalk-80 можно уместить на почтой открытке. Сейчас, спустя почти 30 лет после появления первой версии Smalltalk, самым быстроразвивающимся диалектом Smalltalk является...

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

Функциональная обработка ошибок в Kotlin с помощью Arrow Привет, Хабр! Все любят runtime exceptions. Нет лучшего способа узнать о том, что что-то не было учтено при написании кода. Особенно — если исключения обваливают приложение у миллионов пользователей, и эта новость приходит паническим email'ом с портала аналитики. В суббот...

[Перевод] Биосинтетический двухъядерный компьютер в живой клетке Учёные ETH интегрировали два ядра процессора на основе CRISPR-Cas9 в клетки человека. Это огромный шаг к созданию мощных биокомпьютеров. Управление экспрессией генов с помощью переключателей генов на основе модели, заимствованной из цифрового мира, долгое время было одной...

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

Первый отечественный ARM-процессор «Байкал-М» появится в продаже в этом году Разработка первого отечественного производительного ARM-процессора, кажется, приближается к финальной точке. Как сообщает источник, компания «Байкал Электроникс» готовится начать продажи процессора «Байкал-М» до конца текущего года. Стоит заметить, что выпуск этого чипа неод...

Графический пакет Minecraft Super Duper был отменен Пару лет назад, во время E3, Microsoft объявила, что выпустит собственный Super Duper Graphics Pack для Minecraft, первый кроссплатформенный графический пакет, сравнимый с некоторыми модами, которые были доступны на ПК в течение многих лет. Mojang молчал об этом с момента св...

[Из песочницы] Make it True — Разработка логической игры на Unity Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации. Осторожно, много текста! Статья не являются руководством или уроком, хотя надеюсь что читатели смогут в...

[Перевод] Решение задачи числа 42 с помощью планетарного суперкомпьютера Математикам наконец-то удалось найти три куба чисел, сумма которых равна 42. Так была решена задача, над которой ломали голову целых 65 лет: можно ли каждое из натуральных чисел от 1 до 100 выразить как сумму трёх кубов? Задача, сформулированная в 1954 году, заключается им...

Обзор фитнес-браслета Smarterra FitMaster Pulsar Быть здоровым и спортивным сегодня почти легко, при этом даже не обязательно изнурять себя тяжёлыми тренировками, если вы не стремитесь стать профессиональным спортсменом, а просто хотите поддерживать себя в тонусе. Сейчас в этом помогают ещё и различные девайсы, которые з...

[Перевод] Улучшите свой CSS с помощью этих 5 принципов Написание CSS — процесс достаточно простой и понятный, тогда почему для этого требуются еще какие-то принципы и best-practices? По мере увеличения масштабов проекта и количества людей, работающего над ним, всё более и более явно начинают проявляться новые сложности, котор...

MIUI For Watch — открытая операционная система для умных часов Компания Xiaomi наконец сообщила официальное название операционной системы, под управлением которой будут работать ее первые умные часы Xiaomi Mi Watch. Ранее считалось, что операционная система будет называться Mi Watch UI, однако официальным названием оболочки стала M...

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

Zotac готовит как минимум две модели GeForce RTX 2060 Компания Zotac готовит по меньшей мере две собственные версии графического ускорителя GeForce RTX 2060, сообщает ресурс HD Technologia, который в подтверждение своих слов опубликовал изображения готовящихся новинок. Новинки называются GeForce RTX 2060 AMP! и GeForce...

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

Мобильная разработка hh.ru и где она обитает В далеком 2000 году, когда hh.ru был совсем маленьким и ласково назывался “National Job Club”, а доступ к интернету получили всего 3% россиян, у нас, разумеется, не было никакой мобильной разработки. Тогда и смартфоны, в нынешнем их виде, были лишь далекой мечтой. Шли годы, ...

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

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

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

ASRock представила первую в мире видеокарту в формате mini-ITX и с портом Thunderbolt 3 Компания ASRock приурочила к выставке Computex 2019 анонс достаточно необычного продукта. Новинка называется RX570TM-ITX/TBT, и это первая в мире видеокарта с интерфейсом Thunderbolt 3. Да, сейчас на рынке множество внешних видеокарт с таким интерфейсом, но там использу...

CorelDRAW возвращается на Mac Канадская компания Corel сообщила, что редактор для векторных изображений CorelDRAW вернулся на Mac, спустя более 18 лет после прекращения поддержки версии для операционной системы macOS.

Pipe Push Paradise — старый добрый водопроводчик на райском острове Игра про строительство водопровода была одной из моих первых игр в жизни. Но даже сегодня с появлением новых технологий и механик авторы продолжают создавать жанровые проекты в знакомом стиле. Pipe Push Paradise – это головоломка в открытом мире, где вы оказываетесь на отда...

Поиск похожих изображений, разбор одного алгоритма Пришлось мне недавно решать задачку по оптимизации поиска дубликатов изображений. Существующее решение работает на довольно известной библиотеке, написанной на Python, — Image Match, основанной на работе «AN IMAGE SIGNATURE FOR ANY KIND OF IMAGE» за авторством H. Chi Wong...

Камерофоны Xiaomi CC9 и CC9e окажутся дешевле, чем ожидалось Официальная премьера смартфонов Xiaomi CC9 и CC9e случится сегодня через несколько часов, ну а пока мы можем скоротать время, разглядывая свежие тизеры. Так, первая картинка указывает на емкость аккумуляторной батареи – она составит 4030 мА·ч. И в этом вид...

[Перевод] JavaScript — лучший язык программирования для начинающих. Так это или нет? JavaScript, несмотря на его многочисленные недостатки, возможно, является самым лучшим языком программирования для начинающих разработчиков, и лучшим языком, с которым могут повозиться дети. Шёл 2007 год. Отличное издательство технических книг O’Reilly Media обратилось ко ...

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

[Из песочницы] (5-2) Способа перенести большую SQL таблицу Введение Всем привет! Это моя первая статья и пишу я ее от лица младшего инженера-разработчика на языке C#. Так что здесь не будет каких-то подробных сведений о SQL, лишь практические сведения и размышления по решению довольно не очевидной задачи, с которой мне пришлось стол...

Спасти содержимое vCenter Content Library Начиная с шестой версии, в VMware vSphere есть удобная фича, позволяющая следить за актуальностью виртуальной инфраструктуры на удалённых площадках и филиалах, насаждая огнём и мечом стандарты виртуальной инфраструктуры главного офиса. Называется она Content Library и занима...

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

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

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

Известны новые подробности о графических процессорах Intel Xe Как известно, Intel работает над новыми графическими решениями линейки Xe. И на этот раз в сети появились новые данные о будущих новинках. В частности, компания сообщила, что новые 7-нм графические процессоры получили название Ponte Vecchio. Подробнее об этом читайте на THG....

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

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

Как научиться говорить по-английски — Топ-5 Подсказок Как научиться говорить по-английски — Топ-5 Подсказок Можно долгое время изучать английский язык, но так и не научиться сносно разговаривать на нем. В чем проблема? — мало практики! Существует несколько подсказок для самостоятельной практики разговорного английского: ...

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

Видеокарты NVIDIA с 7-нм GPU увидят свет в 2020 году Как сообщают источники, NVIDIA планирует заказывать производство своих 7-нм чипов будущего поколения не у традиционного партнёра, TSMC, а у компании Samsung. Утверждается, что такой выбор вызван тем, что Samsung в рамках 7-нм процесса сможет предложить EUV-литографи...

[Из песочницы] Синтаксический разбор предложения на русском языке В данной статье описывается процесс синтаксического анализа предложения русского языка с использованием контекстно-свободной грамматики и алгоритма LR-анализа. Обработка естественного языка — общее направление искусственного интеллекта и математической лингвистики. Оно изуч...

Обзор ASUS ZenBook 15 — мощный, тонкий и лёгкий ультрабук ZenBook 15 — один из самых лёгких и компактных 15-дюймовых ноутбуков, доступных на рынке, но разве при компактных габаритах возможна производительность на уровне современного десктопа? Оказывается, да.

Тест монитора Philips P-line 329P9H: спер картинка в UHD и богатое оснащение UHD-монитор Philips P-Line 329P9H порадовал великолепной картинкой и отличным оснащением. С такой диагональю вы получаете идеальный экран для игровых баталий и просмотра фильмов. Каков он в деле мы расскажем в данном обзоре.

Один день из поддержки пользователей PVS-Studio Мы рады любым тематическим общениям на тему качества кода. Нам пишут клиенты, студенты и любые другие пользователи со всех уголков интернета. Независимо от страны, часового пояса или языка. Языка разговорного, конечно. Среди языков программирования нам всё же интересен огра...

Самые редкие и самые дорогие языки программирования. Часть II Недавно для читателей Habr я провела небольшое исследование языков программирования, таких как Rust, Dart, Erlang, чтобы выяснить, насколько они являются редкими на российском рынке IT. В ответ на мое исследование посыпалось больше количество комментариев и вопросов касате...

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

Создан новый базовый блок для квантового компьютера, работающий в 200 раз быстрее ближайших конкурентов Ученые из университета Нового Южного Уэльса (University of New South Wales, UNSW) создали новый тип квантового логического элемента, состоящего из двух кубитов, реализованных в виде отдельных атомов, размещенных на поверхности кремниевой подложки. Такой двух-кубитовый элемен...

[Перевод] Замена EAV на JSONB в PostgreSQL TL; DR: JSONB может значительно упростить разработку схемы БД без ущерба производительности в запросах. Введение Приведем классический пример, наверное, одного из старейших вариантов использования в мире реляционных БД (база данных): у нас есть сущность, и необходимо сохрани...

[Перевод] UDB. Что же это такое? Часть 4. Datapath ALU Как и обещали в прошлый раз, мы начинаем детальный разбор Арифметико-Логического Устройства (Arithmetic and Logic Unit, ALU). Читать дальше →

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 14. VTP, Pruning и Native VLAN Сегодня мы продолжим рассмотрение VLAN и обсудим протокол VTP, а также понятия VTP Pruning и Native VLAN. В одном из предыдущих видео мы уже говорили о VTP, и первое, что должно прийти вам на ум, когда вы слышите о VTP, это то, что он не является протоколом транкинга, несмот...

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

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

[Перевод] Kubernetes-приключение Dailymotion: создание инфраструктуры в облаках + on-premises Прим. перев.: Dailymotion — один из крупнейших в мире сервисов хостинга видео и потому заметный пользователь Kubernetes. В этом материале системный архитектор David Donchez делится итогами создания production-платформы компании на базе K8s, которая начиналась с облачной ин...

О анонимности в интернете, жизни и её относительности Warning! Дабы заранее предупредить различные вопросы, а также обеспечить удобство чтения, далее — небольшой дисклеймер: всё, что будет написано далее — основано на личном и субъективном опыте, выражает личное мнение автора и ни в коем случае не является призывом к каким либо...

One. Veeam ONE. Intelligence, карты, агенты и многое другое – уже сегодня на мониторах страны Согласно результатам нашего опроса, решение Veeam ONE для мониторинга и отчетности о состоянии виртуальных инфраструктур становится все более популярным, и читатели интересуются, что нового появилось в версии 9.5 Update 4. Сегодня мы рассмотрим наиболее значительные новинки,...

[Перевод] ZIO & Cats Effect: удачный союз Cats Effect стал своего рода «Reactive Streams» для функционального Scala-мира, позволив объединить всю разнообразную экосистему библиотек вместе. Многие отличные библиотеки: http4s, fs2, doobie — реализуются только на базе тайп классов из Cats Effect. А библиотеки типа ZIO...

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

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

Создание системы расширения на библиотеке Qt — Часть 2 Возвращаясь к первой статье хочется объяснить откуда появилась необходимость разработки механизма расширения с графическим интерфейсом (GUI) и подробней объяснить механизм создания плагинов. Было получено задание на разработку технологического программного обеспечения для ...

[Из песочницы] Создаем монорепозиторий с помощью lerna & yarn workspaces За последние несколько лет концепция монорепозиториев успешно зарекомендовала себя, так как позволяет значительно упростить процесс разработки модульных программных проектов, таких как инфраструктуры на основе микросервисов. Основные преимущества такого архитектурного подх...

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

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

[Из песочницы] Основные заблуждения о SCRUM SCRUM? Какой SCRUM? Впервые подход SCRUM (англ. scrum «схватка вокруг мяча») описали Хиротака Такэути и Икудзиро Нонака, которые заметили, что небольшие команды (5 — 9 человек), укомплектованные разнопрофильными специалистами, дают лучшие результаты. Наиболее полное описание...

Энтузиаст запустил Half-Life на восьми графических процессорах 3dfx Voodoo2 Давным-давно в нашей галактике… существовало куда больше производителей дискретных графических процессоров, чем сейчас. Одним из них была компания 3dfx Interactive, и несмотря на то, что самой компании уже давно нет, энтузиасты всё ещё продолжают экспериментировать с её граф...

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

Сравнение новых графических технологий: Nvidia Freestyle vs. Radeon Image Sharpening vs. Reshade Алгоритм RIS (Radeon Image Sharpening) превосходит DLSS с точки зрения качества изображения и очень эффективен при постобработке, скажем, картинка в игре, отображаемая в 1080p, очень похожа на свою 4K-презентацию. С незначительным влиянием на производительность графических п...

Представлена фотосистема Phase One XT Компания Phase One представила фотосистему среднего формата. Она называется XT и позиционируется как «хорошо приспособленное к путешествиям» решение для фотографов-пейзажистов. Система состоит из трех частей: камеры, цифрового задника и объектива. Что касае...

[Из песочницы] AnyStub, библиотека заглушек соединений в Java В отличие от множества платформ Java страдает от недостатка библиотек заглушек соединений. Если вы давно в этом мире, то наверняка должны быть знакомы с WireMock, Betamax или даже Spock. Многие разработчики в тестах используют Mockito для описания поведения объектов, DataJpa...

Tesla упростила линейку электромобилей Mode S и Model X Три недели назад компания Tesla заявила, что снимает с производства электромобили Model S и Model X с батареями емкостью 75 кВт·ч, а их место займут машины с АКБ ёмкостью 100 кВт·ч. Сегодня стало понятно, что Tesla не просто убрала из ассортимента младшие ...

В macOS Catalina можно подписывать документы с помощью iPhone и iPad Подпись цифровых документов — дело достаточно муторное. Как правило, чтобы подписать PDF-файл, его нужно сначала распечатать, а уже потом, подписанный, отсканировать. Apple заметно упростила эту процедуру на Mac, но раньше для подписи документов в «Просмотре» был нуже...

Китайцы стали акционерами Japan Display История о выкупе китайцами части акций японской компании Japan Display подошла к своему логическому концу. Сегодня один из крупнейших производителей LCD-дисплеев из Японии сообщил о том, что пакет акций в размере 49,8% уставного фонда переходит к китайско-тайваньскому концер...

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

Что не так с GraphQL В последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки. Кажется: "вот оно — мы нашли идеальный язык обмена данными!"... Я разрабатываю с использованием этого языка уже больше года, и скажу вам: всё далеко не так гладко. ...

Причины бросить Mac OS и выбрать Linux Если вы выбираете между Mac OS и Linux, то этот пост будет для вас. Подробно расписал — продолжать использовать Linux или переключиться на Mac OS. И Linux, и Mac OS являются Unix-подобными ОС и предоставляют доступ к командам Unix, а также к оболочкам bash и прочим. В срав...

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

MVCC-3. Версии строк Итак, мы рассмотрели вопросы, связанные с изоляцией, и сделали отступление об организации данных на низком уровне. И наконец добрались до самого интересного — до версий строк. Заголовок Как мы уже говорили, каждая строка может одновременно присутствовать в базе данных в не...

[Из песочницы] Телефонный справочник из таблиц SQL Asterisk FreePBX (web-справочник, выгрузка в xml-файл для телефонов Grandstream) Для изучения могут пригодиться следующие моменты. 1) Подключение к серверу SQL для выполнения запросов: mysql -u freepbxuser -p после нажатия Enter будет запрошен пароль для пользователя. После ввода пароля и нажатия Enter, будет выведено приглашение MySQL: mysql>_ 2)...

Quick Draw Doodle Recognition: как подружить R, C++ и нейросетки Привет, Хабр! Осенью прошлого года на Kaggle проходил конкурс по классификации нарисованных от руки картинок Quick Draw Doodle Recognition, в котором среди прочих поучаствовала команда R-щиков в составе Артема Клевцова, Филиппа Управителева и Андрея Огурцова. Подробно опи...

АНТИРЕТРОДАЙДЖЕСТ: мучаем Jetway 663AS ULTRA на VIA KT133A, создавая монстра Франкенштейна, превращаем Voodoo3 2000 в Voodoo3 3000 и аккуратно «колхозим» на нее вентилятор Вашему вниманию представляется эдакий «АНТИРЕТРОДАЙДЖЕСТ» (ощущаете, насколько круто это звучит, да?), посвященный моделированию процесса создания ретро компьютера – «Франкенштейна» на базе AMD Athlon XP и материнской платы на VIA KT133A со слотом ISA. Приятного прочтения и ...

Что мешает учить иностранный язык Сегодня есть много успешных методик изучения английского. Хочу вставить свои три копейки с другой стороны: сказать о том, что мешает язык учить. Одна из таких помех – мы учим его не тем местом. Речь не о частях тела, а о зонах мозга. Есть в префронтальной коре головного мо...

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

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

Как мы полностью поменяли собеседования Меня зовут Саша, и я руковожу backend-разработкой в Tutu.ru. Сегодня я расскажу, почему и как мы полностью поменяли процесс собеседования кандидатов за прошедший 2018 год. Итак, диспозиция на начало года Мы быстро растем – нам нужно набирать новых сотрудников Сообщество ра...

Как включить режим «Картинка в картинке» в плеере QuickTime на Mac Если вы используете приложение QuickTime Player на Mac для просмотра видео, вам понравится появившаяся в macOS Catalina новая функция. Вы можете включить режим «картинка в картинке», чтобы продолжить просмотр, занимаясь параллельно другими делами. ПО ТЕМЕ: Полезные команды S...

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

[Из песочницы] DNS прокси на Node.JS своими руками Понесло пакет по кочкам в дальний лес за DNS… Л. Каганов "Гамлет на дне"При разработке сетевого приложения иногда возникает необходимость запустить его локально, но обращаться к нему по реальному доменному имени. Стандартное проверенное решение — прописать домен в ...

[Перевод] JsonDiscovery: Меняем опыт просмотра JSON в браузере Сегодня я хочу рассказать о JsonDiscovery, браузерном расширении для просмотра JSON. Возможно вы скажите: здесь и так полно подобных расширений!.. Да, полно, но фичи JsonDiscovery отличают его от других и делают его действительно мощным. Давайте же взглянем поближе... Читат...

4. Нагрузочное тестирование Check Point Maestro Продолжаем цикл статей по решению Check Point Maestro. Мы уже опубликовали три вводных статьи: Check Point Maestro Hyperscale Network Security Типовые сценарии использования Check Point Maestro Типовой сценарий внедрения Check Point Maestro Теперь самое время перейти к ...

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

Все пять датчиков камеры Xiaomi CC9 Pro крупно на одной картинке Глава Xiaomi Лей Цзунь (Lei Jun) опубликовал в Weibo рендер основной камеры перспективного Xiaomi CC9 Pro, однако картинка эта необычная – на ней отсутствует задняя панель. Так что можно полюбоваться на «голые» модули. Ранее уже публиковалось живое фот...

[Перевод] Трагедия systemd Согласно Википедии, трагедия — это «форма драмы, основанная на человеческих страданиях, которая вызывает в аудитории сопутствующий катарсис или удовольствие». Из этого определения почерпнул вдохновение Бенно Райс в своём выступлении на конференции 2019 linux.conf.au. Его док...

[Перевод] Анатомия сокола Недавно мы объявили о разработке игры Falcon Age о выращивании взрослой птицы из птенца сокола и совместном противостоянии силам, стремящимся колонизировать планету. Falcon Age выйдет в 2019 году на PS4 и PS VR. На прошлой неделе мы показали игру на PAX и получили замечате...

На MWC-2019 состоялась презентация приложения SYNCHRO XR от Bentley Systems Bentley Systems, Incorporated, ведущий мировой поставщик комплексных программных решений для проектирования, строительства и эксплуатации объектов инфраструктуры, представил SYNCHRO XR – приложение для иммерсивной визуализации четырехмерных цифровых двойников строи...

Пишем Android приложение для киноманов — Часть 1 (Прототипирование) Доброго времени суток, Хабр! Не секрет, что недавно компания Google утвердила в качестве приоритетного языка программирования ОС Android — Kotlin. В этой и последующих статьях будет рассказываться о создании приложения на этом языке. Читать дальше →

Чат на сайте и в выдаче Яндекс В этом тексте речь пойдёт о чатах для бизнеса от Яндекс. 3 апреля 2019 г. Яндекс объявил о том, что он запустил собственную чат-платформу. Надо сказать, что появление чатов на страницах поисковой выдачи Яндекса произошло несколько ранее, но теперь Яндекс берётся и обрабаты...

[Из песочницы] Extension в Dart (Flutter) В недавном релизе языка Dart 2.6 в языке появилась новая функция, static extension или статические методы расширения, который позволяет вам добавить новые методы к существующим типам. Зачем вообще нужны extension? Как их использовать и на что они годятся? Введение Начнём ...

PVS-Studio идёт в облака: Azure DevOps Это вторая статья про использование статического анализатора PVS-Studio в облачных CI-системах, и на этот раз мы рассмотрим платформу Azure DevOps – облачное CI\CD-решение от компании Microsoft. В качестве анализируемого проекта в этот раз рассмотрим ShareX. Читать дальше ...

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

[Перевод] Указатели в Python: в чём суть? Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам упр...

Tic Tac Toe, часть 5: Бэкенд на С++ Boost.Beast, HTTP В этой статье рассмотрим реализацию бэкенда с применением C++ Boost.Beast библиотеки на примере синхронного сервера. Та же функциональность, что и в прошлой статье — получаем от бэкенда случайное число от 0 до 8 включительно. Оказалось, что поднимать контейнер для Beast ничу...

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

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

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

[Перевод] Внутренности JVM, Часть 1 — Загрузчик классов Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать дальше →

OpenCV на STM32F7-Discovery Я один из разработчиков операционной системы Embox, и в этой статье я расскажу про то, как у меня получилось запустить OpenCV на плате STM32746G. Если вбить в поисковик что-то вроде "OpenCV on STM32 board", можно найти довольно много тех, кто интересуется использованием это...

CJM для ложного срабатывания антивируса DrWeb Глава, в которой Doctor Web удаляет DLL сервиса Samsung Magician, объявив его трояном, а для того, чтобы оставить запрос в службе техподдержки, нужно не просто зарегистрироваться на портале, а указать серийный номер. Коего, разумеется нет, потому что DrWeb высылает при регис...

Xiaomi Mi Mix Alpha станет первым в мире серийным смартфоном с подэкранной камерой Xiaomi продолжает публиковать тизеры, посвященные перспективным смартфонам Mi 9 Pro 5G и Mi Mix Alpha. Очередная такая картинка касается исполнения фронтальной камеры Mi Mix Alpha. На изображении перечислены основные варианты представления фронтальной камеры — в ...

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

[Перевод] Искусство создания органических 3D-моделей: субдермальные шейдеры Daniel Bauer рассказал о создании реалистичной модели зубов и субдермальных шейдеров в ZBrush, Toolbag и Substance Painter. Ресурсы Свой проект я начал со сбора референсов в Google, Pinterest и Youtube. Сегодня можно найти огромное изобилие ресурсов и проблема заключается...

Раскрашиваем ч/б фото с помощью Python Привет Хабр. Одной из интересных и популярных (особенно перед разными юбилеями) задач является «раскрашивание» старых черно-белых фотографий и даже фильмов. Тема это достаточно интересная, как с математической, так и с исторической точки зрения. Мы рассмотрим реализацию это...

[Перевод] Высококачественная, легковесная и адаптируемая технология Text-to-Speech с использованием LPCNet Последние достижения в области глубокого обучения привносят существенные улучшения в развитие систем синтеза речи (далее – TTS). Это происходит благодаря применению более эффективных и быстрых методов изучения голоса и стиля говорящих, а также благодаря синтезу более естест...

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

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

Компания Bentley Systems представила приложение смешанной реальности для проектов инфраструктурного строительства, использующее Microsoft HoloLens 2, на выставке Mobile World Congress SYNCHRO XR от Bentley обеспечивает преимущества смешанной реальности для пользователей в сфере архитектуры, проектирования и строительства (AEC).    Bentley Systems, Incorporated, ведущий мировой поставщик комплексных программных решений для проектирования, строите...

Опубликовано фото графического процессора GeForce GTX 1660 Ti По последним данным, видеокарта NVIDIA GeForce GTX 1660 Ti будет представлена уже 22 февраля. Причем новинка выйдет в двух вариантах: с 3 и 6 ГБ памяти. Сегодня в сети появилось первое фото графического процессора, на котором будет построена новинка. Судя по сравнительному ф...

Вышел пакет драйверов GeForce 419.35 (WHQL) Сегодня Nvidia выложила на сайте geforce.com набор графических драйверов GeForce 419.35, сертифицированный лабораторией Microsoft WHQL. Свежий релиз принадлежит к разряду Game Ready и призван обеспечить «наилучший игровой опыт» в играх Apex Legends, Devil...

[Перевод] Корпус для «малинки» с RetroPie — из устройства для просмотра слайдов Компактные устройства для просмотра слайдов через линзу выпускались во всём мире, и в СССР в том числе (примеры: 1 и 2). Сегодня внутрь такого прибора можно поместить Raspberry Pi Zero с небольшим дисплеем. Практически все винтажные детали, включая линзу и выключатель, при...

[Перевод] Как в Redash заметили и исправили проблему, вызвавшую деградацию производительности Python-кода Недавно в Redash приступили к смене одной системы выполнения задач на другую. А именно — они начали переход с Celery на RQ. На первом этапе на новую платформу перевели лишь те задания, которые не выполняют запросы напрямую. Среди таких заданий — отправка электронных писем, в...

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

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

Software Defined Radio — как это работает? Часть 3 Привет Хабр. Во второй части были рассмотрены практические аспекты использования SDR. В этой части мы разберемся, как принять данные метеоспутника NOAA с помощью Python и недорогого (30$) приемника RTL-SDR. Рассмотренный код будет работать везде — на Windows, OSX, Linux и д...

Deep Learning в вычислении оптического потока С появлением множества различных архитектур нейронных сетей, многие классические Computer Vision методы ушли в прошлое. Все реже люди используют SIFT и HOG для object detection, а MBH для action recognition, а если и используют, то скорее как handcrafted-признаки для соответ...

Фурор на рынке IoT произведет новый SDK-пакет для СнК IoT Wi-Fi W600 Пекинская компания Winner Micro, специализирующаяся на проектировании интегральных схем (IC), недавно представила свой новый SDK-пакет для СнК IoT Wi-Fi W600. Открытый инструментальный пакет поддерживает процессы компиляции и отладки с использованием Eclipse + IDE + GCC + Op...

Разработка монолитной Unix подобной OS — GDT & IDT (5) В предыдущей статье мы с вами реализовали менеджер динамической памяти. Сегодня мы рассмотрим основы работы в защищенном режиме процессора Intel i386. А именно: глобальную таблицу дескрипторов и таблицу векторов прерываний. Читать дальше →

Шифрование трафика в Direct Connect, ч.2 – Ты кто??? – Я новый русский. – А я тогда кто?! Предисловие В первой части статьи мы обустраивали ADCs хаб и рассуждали о Direct Connect в целом. Сегодня нам предстоит научиться использовать такой хаб по прямому назначению. Для этого мы рассмотрим совместимые DC клиенты,...

Знакомство с Python для камрадов переросших «язык A vs. язык B» и другие предрассудки Для всех хабравчан, у которых возникло ощущение дежа-вю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ бы...

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

T+ Conf 2019 не за горами 17 июня (понедельник) в офисе Mail.ru Group пройдёт вторая ежегодная конференция Tarantool Conference, или коротко — T+ Conf. Она адресована как новичкам, так и опытным разработчикам и архитекторам в корпоративном секторе. Вас ждут новые доклады и воркшопы по использовани...

ITSM — что это такое и с чего начать внедрение Вчера мы опубликовали на Хабре подборку материалов для тех, кто хотел бы разобраться с ITSM — изучить тренды и инструменты. Сегодня продолжаем рассказывать о том, как интегрировать ITSM в бизнес-процессы компании, и какие облачные инструменты могут с этим помочь. / PxHere ...

Алгоритм машинного обучения превращает котиков в монстров На прошлой неделе внимание общественности привлек необычный сайт ThisPersonDoesNotExist.com, где можно увидеть, как искусственный интеллект всякий раз генерирует новое (и весьма странное) человеческое лицо. У этого портала сразу появилось множество подражателей, и наконец ис...

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

[Перевод] Новый курс по Python от Microsoft [на английском] Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно. Возможно, вы присматривае...

[Перевод] F#4: Let / Use / Do В этом посте мы рассмотрим привязки в F#, в частности мы рассмотрим Let / Use / Do. Теперь вы, возможно, спрашиваете себя, что такое привязки, и, поскольку мы еще не рассмотрели их, сейчас самое время поговорить об этом. Проще говоря, привязка связывает идентификатор со зна...

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

[Перевод] Протокол QUIC в деле: как его внедрял Uber, чтобы оптимизировать производительность За протоколом QUIC чрезвычайно интересно наблюдать, поэтому мы любим писать о нем. Но если предыдущие публикации о QUIC носили больше исторический (краеведческий, если хотите) характер и матчасть, то сегодня мы рады опубликовать перевод другого толка – речь пойдет про реальн...

Глава Xiaomi опубликовал живые фото смартфона Redmi X, оснащенного 48-мегапиксельной камерой Источник опубликовал изображения потенциальной новинки – смартфона Redmi X. Картинки, в свою очередь, выложил в китайской социальной сети Weibo не кто-нибудь, а Лэй Цзюнь (Lei Jun) – глава компании. Он же прокомментировал изображения: это не рендеры, а именн...

Пишем свой язык программирования, часть 1: пишем языковую ВМ Введение Доброго времени суток всем хабрачитателям! Итак, пожалуй стоит сказать, что целью моей работы, на основе которой будет написан ряд статеек было пройти весь путь создания полнофункционального ЯП самому с 0 и затем поделиться своими знаниями, наработками и опытом с и...

Пасхалки для ZX Spectrum — в музыкальном альбоме и фильме Как найти пасхальные яйца … для ZX-Spectrum в коллекционном издании музыкального альбома «OK Computer» от Radiohead и в интерактивном эпизоде-лабиринте «Черное зеркало: Брандашмыг (Black Mirror: Bandersnatch)». Читать дальше →

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