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

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...

Структуры против Классов С самого начала, когда я начинал заниматься программированием, вставал вопрос, что использовать для улучшения быстродействия: структуру или класс; какие массивы лучше использовать и как. По поводу структур, Apple приветствует их использование, объясняя это тем, что они лучше...

[Из песочницы] Структуры данных в Java. Полезные методы вспомогательных классов Привет, habr! Я Software Engineer в EPAM. Более 8 лет я работаю с legacy-кодом, написанном на языке Java (предвосхищая комментарии, отмечу, что понимание и терпимость к legacy началась задолго до EPAM, в заключении вы найдёте ответ, почему). Часто в работе я сталкивался с ...

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

Пять студентов и три распределённых key-value хранилища Или как мы писали клиентскую C++ библиотеку для ZooKeeper, etcd и Consul KV В мире распределённых систем существует ряд типовых задач: хранение информации о составе кластера, управление конфигурацией узлов, детекция сбойных узлов, выбор лидера и другие. Для решения этих зада...

[Из песочницы] История одного удачного применения SPR в Legacy проекте В этой статье я расскажу на примере эволюции своего проекта историю перехода и видение контрактного программирования. Сначала хотел назвать статью — «Контрактное программирование», постольку поскольку используемый подход заключается в разделении всей бизнес-логики на дата-...

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

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

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

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

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

[Перевод] 10 советов, как ревьюить код, который вам не нравится Я постоянно делаю коммиты в проекты open source (Red Hat и др.). И заметил, что больше всего времени отнимают негативные код-ревью, субъективные по сути. Чаще всего такое происходит с коммитами, где мейнтейнеру по какой-то причине не нравится ваше изменение. В лучшем случае ...

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

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

[Из песочницы] Как создать модель точнее transfermarkt и не предсказывать или что больше всего влияет на стоимость трансферов Я постараюсь рассказать вам насколько легко получить интересные результаты, просто применив совершенно стандартный подход из тьюториала курса по машинному обучению к не самым используемым в Deep Learning данным. Суть моего поста в том, это может каждый из нас, надо просто по...

FreeBSD планирует перейти на ZFSonLinux На прошлой неделе один из разработчиков FreeBSD Matt Macy выдвинул предложение об использовании реализации ZFS от проекта ZFSonLinux. Таким образом все требуемые изменения для FreeBSD будут сразу интегрированы в кодовую базу ZFSonLinux. Предложением это не завершилось, уже с...

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

Plasma Cash Chain как решение трилеммы масштабируемости в блокчейн Добрый день, уважаемые читатели! Данная статья посвящена Plasma Cash Chain и проливает свет на следующие темы: трилемма масштабируемости и способы ее решения; структуры данных чайлд чейна и их отображение в рутчейне; реализация ввода в рутчейн; реализация вывода из рутче...

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

[Перевод] Новый GitLab 12.0 с визуальными ревью и списком зависимостей Dev, Sec и Ops GitLab 12.0 — это ключевой выпуск на пути к реализации подхода, который будет охватывать все элементы DevSecOps и позволит всем вносить свой вклад. У нас был очень увлекательный год — мы много работали над решением, которое объединило бы все команды. Сообщест...

Ускорение файлового ввода-вывода C/C++, не особо напрягаясь Предисловие Есть на свете такая простая и очень полезная утилита — BDelta, и так вышло, что она очень давно укоренилась в нашем производственном процессе (правда её версию установить не удалось, но она точно была не последней доступной). Используем её по прямому назначению...

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

[Из песочницы] Миграция данных с mongoDB и Spring Boot Каждый разработчик рано или поздно встречается с необходимостью миграции данных в базе данных. На нашем проекте мы используем mongoDB в качестве базы данных. Мы подходили к миграции данных разными способами: писали js скрипты и запускали непосредственно в базе данных исполь...

Нормализация данных в распределенной БД, микросервисах и ERP Привет, Хабр! Эта маленькая заметка родилась в процессе обсуждения статьи «Распределенные монолиты...», а поскольку тема требует дальнейшего раздумья — я решил зафиксировать ее у себя в блоге. Автор статьи фактически описывает распределенную базу данных, доказывая, что един...

[Из песочницы] Структура Data Science-проекта с высоты птичьего полета Как узнать наверняка, что внутри у колобка? Может, ты его проглотишь, а внутри него река? © Таня Задорожная Что такое Data Science сегодня, кажется, знают уже не только дети, но и домашние животные. Спроси любого котика, и он скажет: статистика, Python, R, BigData, маш...

[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 1 В этой статье я разберу использование утилиты Liquibase в Spring Boot приложениях для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую. В первой части разберем базовый пример, а во второй поговорим об использовании liquibase-mave-pl...

Как выгружать данные с вложенной структурой из Google BigQuery на примере пользовательских параметров Google Analytics Google BigQuery — популярная облачная база данных, которой пользуются компании по всему миру. Она особенно удобна для работы с “сырыми” данными Google Analytics: в GA 360 интеграция с BigQuery настраивается в несколько кликов, а для бесплатной версии существуют сторонние ск...

[Перевод] MVC без C: Что изменит SwiftUI в архитектуре приложений? MVC был давним стандартом в паттернах проектирования, используемых для написания iOS приложений. Структура iOS приложений, которые создавались ранее, была основана на одном базовом компоненте, который присутствует везде, и называется он — Controller. На WWDC19 был представле...

Что же такое «Модель предметной области»? Привет, Хабр. Сегодня зашел в канал #school в русскоязычном GoCommunity в Slack и обнаружил там один интересный диалог. Данный диалог навел меня на некоторые мысли относительно того, как коллеги интерпретируют понятие “модель предметной области (домена)”. Как оказалось, су...

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

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

[Перевод] Деревья квадрантов и распознавание коллизий Эта неделя была короткой, в понедельник и вторник я продолжал работать над системой 2D-освещения. Остальное время я потратил на реализацию деревьев квадрантов (quadtree). В этой статье я поделюсь своей реализацией и мыслями, возникшими в процессе её проектирования. Во-пер...

Inside The JeMalloc. Базовые Структуры Данных: Pairing Heap & Bitmap Tree Тема Аллокаторов частенько всплывает на просторах интернета: действительно, аллокатор — эдакий краеугольный камень, сердце любого приложения. В этой серии постов я хочу в подробностях рассказать о одном весьма занимательном и именитом аллокаторе — JeMalloc, поддерживаемый ...

Упрощенный доступ к данным внутренней FAT12 для STM32 В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить н...

[Из песочницы] Тестирование API с использованием Postman и Excel Всем привет, я руководитель отдела тестирования, и недавно по работе появилась задача на тестирование API. Для ее решения освоил новый для меня инструмент Postman и JavaScript. Первоначально на каждый API я писал свои коллекции и готовил тестовые данные в JSON формате. Это ...

[Из песочницы] Liqubase и Maven Введение Liquibase представляет из себя систему управления версиями базы данных, в основном это касается структуры и в меньшей степени содержимого базы. При этом описание базы с одной стороны достаточно абстрактно и позволяет использовать на нижнем уровне различные СУБД, и с...

Топологическая оптимизация двигателя Стирлинга. №2. Любой мог додуматься, но не суть.Не суть, идея до смешного проста, но имеет отношение к топологической оптимизации====quote====Если говорить сухим академическим языком, топологическая оптимизация – это процесс изменения конструкции, структуры детали и ее варьирующихся параме...

Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32) В достаточно крупных приложениях немалую часть проекта составляет бизнес-логика. Эту часть программы удобно отлаживать на компьютере, после чего встраивать в состав проекта для микроконтроллера, ожидая, что эта часть будет выполняться в точности так, как было задумано без ...

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

[Из песочницы] Улучшение UX при работе с клавишей «Tab» При разработке приложений «фронтендеры» редко обращают внимание на то, как пользователь будет использовать предоставляемые браузером функции клавиш. Я не являюсь исключением, но в один день мне была дана задача касаемо UX и переходов с помощью нажатия «Tab» и «Shift + Tab». ...

Яндекс решил изменить структуру управления компанией Совет директоров Яндекса предложил внести изменения в структуру корпоративного управления компании. Чтобы вступить в силу, эти изменения должны быть одобрены на специальном собрании акционеров, которое состоится 20 декабря 2019 года. В структуре управления Яндекса появится с...

Структура DNS пакета Предисловие Решил как то написать снифер DNS, так сказать just for fun. Просто посмотреть какие адреса в моей системе резолвятся. Протокол старый, документации должно быть много. Много. Но все статьи очень не полные и заканчиваются, на самом интересном моменте. Да, есть rf...

[Из песочницы] Redux-symbiote — пишем действия и редьюсеры почти без боли React-redux замечательная штука. При правильном использовании архитектура приложения эффективна, а структура проекта и легко читаемая. Но как и в любом решении есть свои особенности. Описание действий и редьюсеров одна из таких особенностей. Классическая реализация двух эти...

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

Часть вторая. Как проходить code review по версии Google Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод"). Так как статья набрала много лайков, пишу обещанное продолжение про код ревью с другой стороны — со стороны автора из...

[Из песочницы] Реляционно-сетевая модель данных Реляционная модель потеряла свою исключительность Требования функциональности и структурированности баз данных (БД), наиболее полно реализованные в реляционных системах, сейчас находятся под давлением новых требований. Первая проблема – низкая эффективность для больших дан...

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

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

Security Week 47: нетривиальные уязвимости В прошлом году у нас уже был дайджест про нетривиальные атаки. Тогда речь шла про DoS-атаку на ПК через акустическое воздействие на жесткий диск и кражу пользовательских данных через хак со стилями CSS. А на прошлой неделе как раз было опубликовано два исследования про уязви...

Запускаем php скриптики через php-fpm без web сервера. Или свой FastCgi клиент (под капотом) Приветствую всех читателей "Хабра". Дисклеймер Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение" Вступление В данной статье хотелось бы рассказать о решении довольно нестандартной задачи, с...

[Перевод] Понимание разницы между СI и СD: «если что-то вызывает боль, делайте это почаще» Disclaimer. Костис Капелонис — Developer advocate (человек, защищающий и отстаивающий принципы программной разработки) Codefresh, первой платформы CI/CD для Kubernetes и контейнеров. Миссия Codefresh «Автоматизировать и упрости всё, от кода до облака». Как инженер-программис...

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

Как поморгать 4 светодиодами на CortexM используя С++17, tuple и извращенное воображение Всем доброго здравия! При обучении студентов разработке встроенного программного обеспечения для микроконтроллеров в университете я использую С++ и иногда даю особо интересующимся студентам всякие задачки на определения особо больных на голову одаренных учеников. В очеред...

Как мы в QIWI пришли к единому стилю взаимодействия между View и ViewModel в рамках MVVM Изначально весь проект был написан на Objective-C и использовал ReactiveCocoa версии 2.0 Взаимодействие между View и ViewModel осуществлялось посредствам биндингов свойств вью модели, и все бы ничего, за исключением того, что отладкой такого кода заниматься было очень сложно...

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

План прокачки для получения профессии Data engineer Последние восемь лет я работаю руководителем проектов (не пишу код на работе), что естественно негативно влияет на мой технологический бекэнд. Я решил сократить своё технологическое отставание и получить профессию Data engineer. Основной навык Data engineer — способность раз...

Прекрасное знание школьной программы как показатель не самого высокого интеллекта Добрый день! Сегодня достаточно часто по TV и каналам на youtube можно увидеть эксперименты по “определению уровня интеллекта” у населения. Суть их заключается в том, что взрослым людям задают вопрос из школьной программы. Обычно такие “эксперименты” набирают множество просм...

[Перевод] Потоки Redis как чистая структура данных Новая структура данных Redis 5 под названием «потоки» (streams) вызвала живой интерес в сообществе. Как-нибудь я поговорю с теми, кто использует потоки в продакшне, и напишу об этом. Но сейчас хочу рассмотреть немного другую тему. Мне начинает казаться, что многие представля...

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

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

В Calltouch нашли новое применение голосовым помощникам В компании Calltouch нашли новое применение голосовым помощникам. Теперь их можно использовать не только в общении с клиентами, но и внутри компании. Суть сервиса в том, чтобы сообщать операторам колл-центров данные о входящих вызовах. В основе нового подхода – синтез речи д...

[Перевод] Монады за 15 минут Вступление На конференции YOW! 2013 один из разработчиков языка Haskell, проф. Филип Вадлер, показал, как монады позволяют чистым функциональным языкам осуществлять императивные по сути операции, такие, как ввод-вывод и обработку исключений. Неудивительно, что интерес аудито...

Вариант клонирования БД для разработки/тестирования Вкратце опишу как организовал клонирование БД (создание нескольких экземпляров БД из одного бэкапа) на текущем проекте. Способ позволяет сэкономить время и место на жестком диске. Ситуация: есть толстая БД (скажем, сотня Гб). Хочется иметь эту базу со всеми данными отдельно...

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

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

PHP: изменение стуктуры БД в командной разработке В мире PHP хорошо известны инструменты миграций структуры БД — Doctrine, Phinx от CakePHP, от Laravel, от Yii — это то первое, что пришло в голову. Наверняка, есть еще с десяток. И большинство из них работают с миграциями — командами для внесения инкрементных изменений в с...

«Электронная путевка» меняет направление. У проекта сокращаются функции, зато растет финансирование Система «Электронная путевка» (аналог ЕГАИС для туристической отрасли), в разработку которой структуры «Ростеха» готовы вложить 2 млрд руб., может быть запущена в усеченном варианте. В новую версию, возможно, будут собраны лишь данные о стоимости проданных туров и финансовых...

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

Делаем JaCarta Editor «О Царстве Теней я могу сказать только одно: есть реальность и есть её Тень; в этом суть всего. В реальном Мире существует лишь Амбер, реальный город на реальной Земле, в котором собрано всё. А Царство Теней — лишь бесконечность ирреальности. Здесь тоже можно обнаружить всё ...

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

Sony реорганизуется. Мобильного подразделения больше не будет Корпорация Sony на этой неделе объявила о реорганизации. Суть изменений сводится к объединению трех ранее независимых направлений деятельности в одно. Говоря более конкретно, из структуры компании исчезнут подразделения Imaging Products & Solutions (IP&S), Home ...

Пост-анализ: что известно о последней атаке на сеть серверов криптоключей SKS Keyserver Хакеры использовали особенность протокола OpenPGP, о которой известно более десяти лет. Рассказываем, в чем суть и почему её не могут закрыть. Читать дальше →

[Из песочницы] Обзор нового javascript фреймворка Htmlix В данной статье постараюсь описать все основные возможности нового javascript фреймворка Htmlix, а также рассмотреть принцип его работы на примере создания небольшого приложения. Данное приложение — это страница простого фильтра товаров по категориям, с различными частями ш...

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

Домен-фронтинг на базе TLS 1.3 Введение Современные корпоративные системы фильтрации контента, от таких именитых производителей как Cisco, BlueCoat, FireEye имеют довольно много общего с более мощными их собратьями — DPI системами, которые усиленно внедряются на национальном уровне. Суть работы и тех и д...

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

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

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

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

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

[Перевод] Пишем свой сетевой слой на Swift: протокол-ориентированный подход Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого с...

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

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

[Из песочницы] Обходим лимит поиска LinkedIn, играя с API Лимит Есть на LinkedIn такое ограничение — Лимит коммерческого использования. Крайне вероятно, что вы, как и я до недавнего времени, никогда не сталкивались и не слышали о нем. Суть лимита в том, что если вы используете поиск людей вне ваших контактов слишком часто (точн...

Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов. Что такое web-сервисы 1с? Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки...

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

HTTP Request smuggling — новые подходы 7 октября 2019 года директор отдела исследований PortSwigger (производителя BurpSuite) опубликовал исследование о новых подходах к HTTP Request smuggling. С их помощью он заработал на bugbounty около $70000. В этой заметке мы коротко выясним суть атаки, инструментарий, а так...

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

[Перевод] Поиск на скорости 1 ТБ/с TL;DR: Четыре года назад я покинул Google с идеей нового инструмента для мониторинга серверов. Идея состояла в том, чтобы объединить в одну службу обычно изолированные функции сбора и анализа логов, сбора метрик, оповещений и панели мониторинга. Один из принципов — сервис до...

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

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

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

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

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

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

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

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

[Из песочницы] Какой дистрибутив лучше использовать для вашей embedded системы? Какой дистрибутив лучше использовать для embedded систем. Этот вопрос является актуальным на сегодняшний день. Существует три актуальных подхода для решения этой задачи: Использовать готовый дистрибутив для вашего одно платного компьютера(Armbian, Openwrt и т.д.) Собрать...

Разрушение Silo через адаптацию VeriSM™ подхода Силосная культура – бич современного бизнеса любого уровня. Главный признак ее возникновения – замкнутость подразделений внутри своих бизнес-процессов, что непременно ведет к смещению фокуса с глобальных задач компании на удовлетворение собственных. Силос по своей сути это б...

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

[Из песочницы] Один день из жизни DBA Microsoft SQL Server В арсенале Microsoft SQL Server есть одна интересная штука – service broker. По сути своей это очередь сообщений, встроенная в СУБД, способная обеспечить транзакционную целостность данных. Вещь удобная и, в грамотных руках, способная выстроить систему обмена между SQL Server...

[Из песочницы] LTSP сервер на базе CentOS7 Доброго времени суток, уважаемые жители Хабра. Вдохновившись статьей LTSP: Терминальный сервер на Linux решил сделать тоже самое только на CentOS 7. Побродив по просторам интернета и найдя лишь обрывки информации, а так же старенькую инструкцию для CentOS 5 взялся проходит...

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

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

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

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

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

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

Распределенная компиляция C/C++ проектов с помощью ICECC … Работаете вы, например, над очень большим проектом. Проект реально очень большой, написан на C или C++, и его билд «с нуля» может занять несколько часов, да и сборка после каких-то фиксов или патчей тоже требует немало времени, особенно если изменения коснулись чего-то фу...

Анализируем тональность текстов с помощью Fast.ai В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использование...

[Из песочницы] Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси» В данной статье хотелось бы раскрыть возможности прозрачного проксирования, которое позволяет абсолютно незаметно для клиентов перенаправлять весь либо часть трафика через внешние прокси-серверы. Когда я начинал решать данную задачу то столкнулся с тем, что её реализация ...

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

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

Google открывает исходный код парсера robots.txt Сегодня компания Google анонсировала черновик RFC стандарта Robots Exclusion Protocol (REP), попутно сделав доступным свой парсер файла robots.txt под лицензией Apache License 2.0. До сегодняшнего дня какого-либо официального стандарта для Robots Exclusion Protocol (REP) и...

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

Clean Decomposition Об использовании чистой архитектуры в Android сказано предостаточно. На GitHub можно найти десятки шаблонов на разные вкусы: на Java или Kotlin, с Dagger2 или Koin, с Rx или с Coroutines. Но никто не говорит о том, как разбить определенный функционал при использовании «чисто...

Бенчмарк как основание для принятия решения об изменении кода Билл Кеннеди в одной из лекций своего замечательного курса Ultimate Go programming сказал: Многие разработчики стремятся оптимизировать свой код. Они берут строчку и переписывают ее, говоря, что так станет быстрее. Нужно остановиться. Говорить, что тот или иной код быстрее, ...

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

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

Что не так с Copy-on-Write под Linux при копировании Предупреждение: суть этой статьи относится ко всем CoW файловым системам, поддерживаемыми Linux и поддерживающими reflink при копировании. В данный момент это: BTRFS, XFS и OCFS2. Прошу воздержаться от холиваров о том какая ФС лучше: Btrfs, XFS, Reiser4, NILFS2, ZFS или к...

Хватит думать, что SLA вас спасет. Оно нужно, чтобы успокоить и создать ложное чувство безопасности SLA, оно же «service-level agreement» —соглашение-гарантия между заказчиком и поставщиком услуг о том, что получит клиент в плане обслуживания. Также в нем оговариваются компенсации в случае простоев по вине поставщика и так далее. По сути SLA — это верительная грамота, с ...

Разновидности координат используемые в GUI Unity3d Почему разновидности и сколько их? Часто сталкиваюсь с тем, что люди просто не понимают как подвинуть объект в UI на какое то значение, и удивляются что результат зачастую непредсказуем. Или допустим как получить правильные координаты объекта в UI. Если мы через дебагер выве...

[Из песочницы] Абстрактная фабрика на пальцах Написать данную статью меня заставили две причины. Совсем недавно я познакомился с паттерном Абстрактная фабрика. Как говорится – «Не умеешь сам, научи товарища». Известно, что один из лучших способов закрепления материала – это объяснение кому-либо ранее изученного. Вторая ...

Основы архитектуры приложений на Flutter: Vanilla, Scoped Model, BLoC (оригинал статьи на английском языке опубликован на Medium) Flutter предоставляет современный реактивный фреймворк, большой набор виджетов и тулов. Но, к сожалению, в документации нет ничего похожего на руководство по рекомендуемой архитектуре приложения для Android. Не сущ...

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

[Перевод] Стрелочные функции в PHP 7.4 Стрелочные функции, также называемые короткими замыканиями (short closures), станут хорошим способом писать чистый код в PHP. Такая форма записи будет полезной при передаче замыканий в такие функции как array_map или array_filter. Пример: // Коллекция объектов Post $posts =...

[Перевод] На что способен формат Mini PCI-e Мне очень нравится формат Mini PCI-e. Это крохотный форм-фактор, служащий базовым для mSATA и M.2, но в основном он используются для подключения карт WiFi и Bluetooth в ноутбуках или маленьких ПК. Но по сути это просто PCI-e, поэтому с его помощью можно сделать гораздо бол...

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

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

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здр...

Система управления проектами Agilean Система управления проектами Agilean Применение: Данная система отлично подходит для любых проектов по внедрению новых подходов и методологий, R&D проектов, проектов Lean-трансформации, культурной трансформации и в общем любых проектов, связанных с изменениями в орган...

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

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

Космические селфи. Воздушный шар проекта Samsung SpaceSelfie приземлился на ферме в Мичигане Недавно мы писали о том, что Samsung решила отпраздновать своё 50-летие в том числе занятным проектом SpaceSelfie, в рамках которого на специальном воздушном шаре в стратосферу будет запущен смартфон Galaxy S10. Тогда говорилось, что желающие поучаствовать в проекте мо...

Если связь — просто жесть, то ее нужно закопать Любой советский школьник, собиравший подобную схему знал, что без заземления — никак. Нынешнее поколение Z, взращенное айфонами, сомневается даже в необходимости антенн! Эта статья показывает важность и необходимость двух данных элементов в условиях слабого сигнала. У истин...

[Из песочницы] Импорт отчета по звонкам из CoMagic в BigQuery по расписанию с помощью Google Cloud Functions Для чего При сложной структуре рекламных кампаний и большого количества звонков становятся необходимы дополнительные инструменты хранения, обработки и анализа информации о поступающих обращениях. Часто нужен быстрый доступ к данным за большой период времени. Иногда необходим...

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

Кастомизация Django ORM на примере ZomboDB Кастомизация Django ORM на примере ZomboDB Часто при работе с Django и PostgreSQL возникает необходимость в дополнительных расширениях для базы данных. И если например с hstore или PostGIS (благодаря GeoDjango) всё достаточно удобно, то c более редкими расширениями — вроде p...

[Перевод] Apple 2019 в году — это Linux в 2000 году Примечание: этот пост — ироничное наблюдение на тему цикличности истории. Это самое наблюдение не несет какой-либо практической пользы, но в сути своей — весьма меткое, так что я решил, что им стоит поделиться с аудиторией. Ну и конечно же, встретимся в комментариях. На п...

Проблемы пакетной обработки запросов и их решения (часть 2) Это продолжение статьи «Проблемы пакетной обработки запросов и их решения». Рекомендуется сначала ознакомиться с первой частью, так как в ней подробно описана суть задачи и некоторые подходы к ее решению. Здесь же мы рассмотрим другие методы. Читать дальше →

[Перевод] Node.js-проекты, в которых лучше не использовать lock-файлы Автор материала, перевод которого мы сегодня публикуем, говорит, что одна из проблем, с которыми приходится сталкиваться программистам, заключается в том, что у них их код работает, а у кого-то другого выдаёт ошибки. Эта проблема, возможно, одна из самых распространённых, во...

Поиск задач в JIRA (простым языком). Часть 1: Быстрый и базовый поиск В последнее время JIRA активно используют организации, не имеющие прямой связи с IT. Специалистам, не знакомым ранее с JIRA, бывает сложно понять структуру JQL-запросов, если не привести примеры. Для упрощения восприятия, мы решили собрать всю документацию, локализовать и р...

Как писать полиморфические программы c помощью Arrow Привет, Хабр! Меня зовут Артём Добровинский, я работаю в компании Finch. Предлагаю к прочтению статью одного из отцов библиотеки функционального программирования Arrow о том, как писать полиморфические программы. Часто люди, которые только начинают писать в функциональном...

Перевод и интерпретация рекламы с английского языка на русский Реклама — двигатель торговли. И ее значение за последние 10 лет выросло просто астрономически. По сути никакой товар или услуга не может рассчитывать на нормальные продажи, если его активно не рекламируют. По данным агентства Dentsu Aegis Network, в 2019 году глобальный рын...

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

Собираем окружение для современного TDD на JavaScript + VS code TDD уже давно не является чем-то диковинным: на хабре можно найти об этом подходе сотни статей, а каждый новичок знает, какую книгу об экстремальном программировании ему нужно прочитать. Многие мои коллеги тоже используют TDD. Они добавляют тест, пишут код, рефакторят, по...

Извините, но все ваши базы принадлежат Google. Презентация Google на Game Development Conference 2019, проект Stadia Вчера вечером, 19 марта, Google провели собственную презентацию в рамках Game Developers Conference. Суть происходящего — новый видеостриминговый сервис, позволяющий играть с любого устройства без необходимости иметь мощный компьютер или консоль, и специальный геймпад для не...

Выбор читателей ITC.ua: лучшие игры, фильмы и сериалы 2018 г. Редакция ITC.ua уже выбрала Лучшие игры, фильмы и сериалы 2018 г. Сейчас же, как и в прошлом году, предоставим слово цифрам. Представленные ниже рейтинги составлены на основе посещаемости соответствующих страниц сайта. Это то, что вы, уважаемые посетители, читали в 2018 г., ...

На DVD уже давно можно записывать 150 Гбайт. Почему это никому не нужно? 9 июля 2005 года компании Philips удалось записать на двухслойный DVD 150 Гбайт информации. Для этого была применена технология near-field optical recording, суть которой заключается в достижении минимального расстояния между головкой, производящей чтение/запись, и носителем...

Вы уверены, что ваш смартфон защищён от вирусов? Австрийская компания AV-Comparatives, специализирующаяся на тестировании антивирусных продуктов, опубликовала новый отчёт, согласно которому около двух третих антивирусов для Android работают не так, как рекламируется.     В ходе длительного тестирования 250 антив...

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

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

Конференция для фанатов DevOps-подхода Речь, конечно, о DevOpsConf. Если не вдаваться в детали, то 30 сентября и 1 октября мы проведем конференцию об объединении процессов разработки, тестирования и эксплуатации, а если вдаваться — прошу под кат. В рамках DevOps-подхода все части технологического развития проект...

Система управления проектами по модели Open Core в госсекторе Продолжаем рассказывать вам об опенсорсных продуктам реализованных на JS фреймворке — IONDV. Framework. Сегодня поговорим о системе управления проектами, которая была одним из наших первых масштабных проектов и которую изначально мы реализовали для правительства Хабаровского...

[Из песочницы] uJVM: платформа для запуска Java-приложений на микроконтроллерах (MCU) Добрый день, уважаемые хабровчане. В этом цикле статей я попытаюсь рассказать Вам о Java Virtual Machine и запуске Java программ на микроконтроллерах. Тема достаточно спорная: Зачем Java на микроконтроллерах, где и так мало ресурсов? Лучше нативного кода написаного на чистом...

Текстовая криминальная MMORPG TORN появится на iOS 31 января  На заре существования App Store одной из самых популярных игр в нём была Mafia Wars от Zynga, вдохновлённая , в свою очередь феноменом из Facebook под названием Mob Wars – обе они, так или иначе, являлись хорошо знакомой нам игрой в "мафию". Mafia Wars давно прекратила своё ...

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

Как настроить типы задач и не сойти с ума Вводная частьВ предыдущем посте я писал как организовать процесс “грумминга” задач в системе JIra так чтобы “Менеджеру продукта” было удобно осуществлять навигацию по всему Беклогу продукта. Продолжая продуктовую тему напишу о том как я долго шел к пониманию того — что такое...

Google хочет сделать свой Face ID. Почему это непросто На сегодняшний день Apple использует самую продвинутую систему распознавания лиц в iPhone. Android-вендоры уже используют сканер лица Face Unlock, однако данная технология значительно уступает Face ID в iPhone XS. В смартфонах используется 2D-сканирование и распознавание ра...

[Из песочницы] Обзор и тестирование 3D-сканера HP 3D Structured Light Scanner Pro S3 Приветствую вас. Недавно мне на работе довелось протестировать 3д-сканер от компании Hewlett Packard – HP 3D Structured Light Scanner Pro S3. Поэтому я решил поделиться с вами своим опытом его использования. Данный сканер работает по технологии структурированного света SLS....

Интерактивная игра на XSLT Когда-то давным-давно придумали люди язык XML и увидели, что это хорошо. И стали использовать его везде, где можно, и даже там, где не следует. Форматы хранения и передачи данных, конфиги, веб-сервисы, базы данных… Казалось, оглянись вокруг — XML, XML повсюду. Время прошло...

[Перевод] Демонстрация AresDB: инструмент анализа в реальном времени с открытым исходным кодом на основе GPU от Uber Благодаря анализу в реальном времени мы, сотрудники компании Uber, получаем представление о состоянии дел и эффективности работы и на основе данных решаем, как повысить качество работы на платформе Uber. Например, проектная команда мониторит состояние рынка и выявляет потенц...

Как проводить Code Review по версии Google Вопросы код-ревью меня интересуют очень давно. Много раз возникали те или иные проблемы то с качеством кода, то с климатом в коллективе. И действительно, code review — это если не единственное, то одно из самых главных мест для возникновения конфликтов в коллективе разработч...

[Из песочницы] Логирование всех запросов к Базе данных в Asp.Net Boilerplate 4.3 .Net Core 2.1 Часто в проекте возникает непонятная ошибка для которой необходимо максимальное логирование всех запросов к Базе данных. Статья поможет тем, кто пишет (развертывает на сервере) один из своих первых проектов на Asp.Net Boilerplate. Читать дальше →

Мольберт для программиста микроконтроллеров Доброго времени суток. В этой небольшой статье я хочу рассказать о том, как мне пришла в голову идея изготовить большую макетную доску и о том, как я эту идею реализовал. Началось всё… Да в общем, неважно. Суть идеи такова: сделать очень большую макетную доску на основе маке...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 27. Введение в AСL. Часть 2 Еще одна вещь, о которой я забыл упомянуть – ACL не только фильтрует трафик по принципу разрешить/отказать, он выполняет ещё много функций. Например, ACL используется для шифрования трафика VPN, однако для сдачи экзамена CCNA достаточно знать, как он применяется для фильтрац...

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

[Из песочницы] Создание REST API с Node.js и базой данных Oracle Привет, Хабр! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics». Часть 1. Создание REST API: основы веб-сервера Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав нескольк...

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

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

Empire ERP. Занимательная бухгалтерия: главная книга, счета, баланс В данной статье мы осуществим попытку проникновения в самое сердце "кровавого энтерпрайза" — в бухгалтерию. Вначале мы проведем исследование главной книги, счетов и баланса, выявим присущие им свойства и алгоритмы. Используем Python и технологию Test Driven Development. Здес...

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

[Перевод] Об удобочитаемом именовании тестов в JS и поведенческом паттерне В ходе очередного ревью толстого Pull Request'а наткнулся на Unit Test'ы с некорректным именованием тест-кейсов. Обсуждение формулировок в тест-кейсах получилось похожим на разговор Янычара и Легкоступова в к/ф "72 метра" ("если б мне в школе так доходчиво..."). В разговоре ...

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

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

[Из песочницы] Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Top 20 C++ multithreading mistakes and how to avoid them» автора Deb Haldar. Сцена из фильма «Петля времени (2012) Многопоточность— одна из наиболее сложных областей в программировании, особенно в C++. За годы разраб...

PHP-модуль для работы с иерархическими данными в БД InterSystems IRIS PHP с начала своих времён славен (и критикуем) тем, что поддерживает интеграцию с массой библиотек, а также с практически со всеми БД существующими на рынке. Однако в силу каких-то странных причин в нём не было поддержки иерархических баз данных на глобалах. Глобалы — это ...

Как выполнить 70 задач за день: жизнь в таск-трекерах — хорошая жизнь Систематически вести задачи я пытался, наверное, раз 20-25. И каждая попытка срывалась, как теперь я понимаю, по двум причинам. Во-первых, для того, чтобы выделять время ведению задач, нужно понять — зачем это делается. Ты начинаешь вести задачи, тратить на это время, дел...

[Перевод] PostgreSQL 11: Эволюция секционирования от Postgres 9.6 до Postgres 11 Отличной всем пятницы! Все меньше времени остается до запуска курса «Реляционные СУБД», поэтому сегодня делимся переводом еще одного полезного материала по теме. В процессе разработки PostgreSQL 11 была проделана впечатляющая работа по улучшению секционирования таблиц. Секц...

Анализ подходов к связыванию модулей в Node.js Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода: Жёсткие завис...

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

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е В конце 90-х монополия интеллектуалов на рунет была нарушена. В царство завлабов и филологов ворвались два юных хулигана — Константин Рыков по кличке Jason Foris, и Егор Лавров по кличке Skele...

В переписи населения задействуют большие данные "Это будет первая цифровая перепись в Российской Федерации. По сути дела, все процессы проходят через информационные технологии <...> Будем использовать данные операторов мобильной связи, будем использовать административные данные других органов власти для обогаще...

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

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

Ретроклокинг: великий Gallatin Название статьи отражает всю суть и напоминает об одном выдающемся ядре, принадлежащем к модельному ряду процессоров Intel. Не так давно мною уже делалось сравнение трех представителей Socket 478, среди которых был Intel Pentium 4 Extreme Edition как раз на ядре Gallatin. Но...

Shiftеd Сraft: коллекция 3D-напечатаных украшений и туфель от Ганит Ганит Гольдштейн, бывшая студентка иерусалимской Академии дизайна и искусств, — инновационный дизайнер, активно использующий аддитивную технологию. Не так давно девушка представила свою экспериментальную коллекцию под названием «Shiftеd Сraft» на модном ...

[Из песочницы] IBM Integration Bus и с чем его едят Добрый день, уважаемый читатель. Существует такой класс продуктов как ESB. Как упоминается в Википедии это — связующее программное обеспечение, обеспечивающее централизованный и унифицированный событийно-ориентированный обмен сообщениями между… и далее по тексту. Примеров...

Как подружить Progress OpenEdge и СУБД Oracle С 1999 года для обслуживания бэк-офиса в нашем банке используется интегрированная банковская система БИСКВИТ на платформе Progress OpenEdge, которая достаточно широко используется во всем мире, в том числе и в финансовом секторе. Производительность данной СУБД позволяет чита...

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

Java Native Image: проверка возможности использования Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фре...

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

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

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

О чём писать в White Paper и как её использовать для продвижения ИТ-продукта? В начале 2019 года один ИТ-клиент поставил передо мной задачу — написать White Paper (она же «белая книга», официальная публикация, «вайт пейпер» и т. д.). А я никогда этого раньше не делал, хотя контент-копирайтингом занимаюсь давно. Решил поискать в Рунете — одна «SEO-вода...

[Перевод] Перенос десктопных приложений на .NET Core С тех пор, как я начала работать с сообществом над переносом десктопных приложений с .NET Framework на .NET Core, я заметила, что существует «два лагеря»: представители одного хотят очень простой и короткий список инструкций для переноса своих приложений на .NET Core, в то в...

Как мы спасали код-ревью Я ведущий Java-разработчик в Яндекс.Деньгах. Каждое рабочее утро в 2018 году меня встречали около 30 пулл-реквестов, ожидающих ревью, а у меня не хватало времени разобрать их все за день. В конце лета я ушел в отпуск, а когда вернулся, обнаружил очередь из 50 PR, назначенн...

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

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

[Перевод] Не в момент выполнения, а в момент проектирования Давным-давно мудрый старый разработчик дал мне совет, который до недавнего времени я не очень ценил. Во время код ревью мы рассматривали некоторую функцию, которая требовала, чтобы программа выводила список букв A-Z (например, список контактов с набором кнопок, которые по...

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

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

Деплоим код напрямую в docker-контейнер. Или как не прокрастинировать после каждого коммита Пришла задача WEB-12982 Создаешь ветку web-12982 в репозитории Пока ветка собирается, читаешь тз и пьешь кофе Приступаешь непосредственно к разработке git commit, git push Пока ветка пересобирается листаешь хабр git commit, git push Пока ветка пересобирается листаешь твитте...

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

Не так, как было обещано. Браузер Microsoft Edge на базе Chromium научился открывать страницы в Internet Explorer Компания Microsoft частично сдержала своё обещание и запустила в браузере Edge на базе Chromium режим IE mode. На новшество обратил внимание ресурс Techdows.  Данная функция была анонсирована для версии Edge на Chromium в мае на конференции Build для разработчиков...

Написание UDR на языке Pascal В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования. В Firebird 3.0 была введена плагинная арх...

Mattermost. Интеграция с внешними сервисами Выбирая замену, используемой у нас системы обмена сообщениями, наткнулся на описание Mattermost, и решил попробовать. Одним из плюсов, описываемой системы, является простая интеграция со сторонними сервисами, так называемые "хуки" (outgoing и incoming hooks). Вот про настрой...

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

В Австралии почти половина крупных предприятий внедряет IoT По данным аналитической компании IDC, почти на половине крупных коммерческих предприятий Австралии развернуты системы интернета вещей (IoT). Говоря точнее, 46,5% австралийских предприятий уже развернули хотя бы одно решение IoT и планируют расширять эти системы. Однако ...

[Из песочницы] Транзакции и механизмы их контроля Транзакции Транзакцией называется последовательность операций над данными имеющая начало и конец Транзакция это последовательное выполнение операций чтения и записи. Окончанием транзакции может быть либо сохранение изменений (фиксация, commit) либо отмена изменений (откат, r...

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

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

[Перевод] Профессии будущего: «Кем вы будете работать на Марсе?» «Пилот реактивного ранца» — это «профессия прошлого», ей 60 лет. «Разработчик реактивных ранцев» — 100 лет. «Инструктор школьного курса по конструированию реактивных ранце»в — профессия настоящего, делаем сейчас. А какая профессия будущего? Тампер? Археопрограммист? Диза...

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

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

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

Цена и дата начала продаж Xiaomi Mi A3 на Android One в России Не так давно в Европе был официально представлен уникальный по своей сути смартфон под названием Xiaomi Mi A3, который получился очень даже интересным, а главной его особенностью является платформа Android One, на базе которой он Сообщение Цена и дата начала продаж Xiaomi M...

СКИДКА (379р → 149р) Игра Leap of Fate для iPhone и iPad – один из лучших экшенов с элементами rogue-like Leap of Fate для iPhone и iPad – пример того, что игра может вызывать интерес только из-за имеющихся в ней необычных механик. По сути же, это обычная помесь экшена и rogue-like, которая обязана своей популярности нестандартному подходу своих разработчиков. Скачать Leap of Fa...

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

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

[Перевод] Асинхронные Stream в C# 8 Функционал Async/Await появился в C# 5, чтобы улучшить скорость отклика пользовательского интерфейса и веб-доступ к ресурсам. Другими словами, асинхронные методы помогают разработчикам выполнять асинхронные операции, которые не блокируют потоки и возвращают один скалярный ре...

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

[Перевод] Мой любимый Git-коммит Прим. перев.: Эта публикация британского программиста, ставшая настоящим хитом в англоязычном интернете, ссылается на Git-коммит 6-летней давности. Он был зафиксирован в одном из открытых репозиториев Government Digital Service — службы, занимающейся развитием цифровых услуг...

Amazon запатентовала криптографическую систему на базе алгоритма Proof-of-Work Технологический гигант Amazon заинтересовался исследованием криптовалютных технологий. Об этом свидетельствует полученный компанией патент, в котором среди прочего упоминается алгоритм консенсуса Proof-of-Work и структура данных «дерево Меркла», сообщает CoinDesk. ...

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

[Из песочницы] xenvman: Гибкие окружения для тестирования микросервисов (и не только) Всем привет! Я бы хотел немного рассказать о проекте, над которым я работал последние полгода. Проект я делаю в свободное время, но мотивация к его созданию пришла из наблюдений, сделанных на основной работе. На рабочем проекте мы используем архитектуру микросервисов, и одна...

Серый кардинал .NET — Джон Гэллоуэй Знаете ли вы, кто такой Джон Гэллоуэй? А между тем, он есть. Он не только один из авторов «Professional ASP.NET MVC», но и человек, который является исполнительным директором .NET Foundation, по сути – отвечает за весь опенсорс .NET. Основные темы этой статьи: подробности р...

[Из песочницы] Замечательная аннотация Version в JPA Введение Итак, начнем! Что же означает аннотация Version в JPA? Если коротко, то она отвечает за блокировки в JPA. Данная аннотация решает одну из проблем, которые могут возникнуть в результате параллельного выполнения транзакций. Какие же могут возникнуть проблемы? Пот...

Мой первый опыт восстановления базы данных Postgres после сбоя (invalid page in block 4123007 of relatton base/16490) Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем. Я работаю полу-DevOps инженером в крупной IT-к...

Creed II / «Крид II: Наследие Рокки Бальбоа» Опубликуй мы вместо рецензии на новый Creed II старое ревью первого Creed, вы бы, скорее всего, даже не заметили разницы – восьмой фильм серии Rocky скроен по тем же лекалам, что и семь предыдущих. И можно было бы сказать, что серии нужна основательная встряска, новая кровь ...

[Из песочницы] 9 Принципов для создания качественных iOS приложений Принципы основаны на известной методологии от heroku, адаптированы под реалии айос разработки (Отсутствие контейнеров, ревью которые занимают несколько дней и тормозят развертывания, работа Xcode только на маке). Эта статья является коротким введением, полную серию можете на...

[Перевод] Выравнивание лица за одну миллисекунду с помощью ансамбля деревьев регрессии Перевод статьи подготовлен для студентов курса «Математика для Data Science» Аннотация В этой статье рассматривается задача выравнивания лица для одного изображения. Мы покажем, как ансамбль деревьев регрессии можно использовать для прогнозирования положения ориентиров лиц...

Как начать применять R в Enterprise. Пример практического подхода Публикация по выступлению на секции R meetup @ Moscow Data Science Major (Spring 2019). Вся презентация в pdf формате. Почему этот вопрос актуален? Бизнес-кейсы различны, техническая суть одинакова Аналитика работы колл-центра Аналитика продаж, включая прогнозы Антифрод си...

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

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

USB-флешки больше не нужно безопасно отключать при извлечений Microsoft Windows 10 внесла изменения в обновление 1809. Подключенные USB-накопители, больше не нуждаются в безопасном удалении при отключении. По умолчанию теперь используется «быстрое удаление», что означает, что диск можно спокойно извлекать без каких либо лишних действий...

Как я наводил порядок в проекте, где лес прямых рук (настройки tslint, prettier, etc) И снова здравствуйте. На связи Омельницкий Сергей. Сегодня я поделюсь с Вами одной из своих головных болей, а именно — что делать, когда проект пишут много разноуровневых программистов на примере angular приложения. Так повелось, что я долгое время работал только со своей к...

[Из песочницы] React. Lazy loading Доброго времени суток. Занимаюсь разработкой проекта на React и Redux. Хочу в этой статье описать архитектуру своего проекта. Итак, начнем. Файловая структура: Для подключения редьюсеров создаем класс singleton reducerRegister: ./reducerRegister.js class ReducerRegistry...

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

[Перевод] История о V8, React и падении производительности. Часть 1 В материале, первую часть перевода которого мы публикуем сегодня, речь пойдёт о том, как JavaScript-движок V8 выбирает оптимальные способы представления различных JS-значений в памяти, и о том, как это влияет на внутренние механизмы V8, касающиеся работы с так называемыми фо...

[Перевод] Какой здесь this? Внутренняя работа объектов JavaScript Фотография: "Любопытный" Liliana Saeb (CC BY 2.0) JavaScript – это мультипарадигмальный язык, который поддерживает объектно-ориентированное программирование и динамическое связывание. Динамическое связывание — это мощная концепция, которая позволяет изменять структуру JavaS...

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

[Перевод] Вся правда об ОСРВ. Статья #26. Каналы: вспомогательные службы и структуры данных В данной статье мы продолжим рассматривать каналы передачи данных. Вспомогательные службы каналов Nucleus RTOS имеет четыре вызова API, которые предоставляют вспомогательные функции, связанные с каналами: сброс канала, получение информации о канале, получение количества к...

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

Цифровые права добрались до России Путин подписал Федеральный закон от 18.03.2019 № 34-ФЗ «О внесении изменений в части первую, вторую и статью 1124 части третьей Гражданского кодекса Российской Федерации». Предполагается, что внесённые поправки обеспечат защиту прав граждан и юрлиц в цифровой экономике. За...

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

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

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

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

AMD отказалась от API Mantle, на который в своё время делала большие ставки Компания AMD представила очередной графический драйвер — Radeon Software Adrenalin 2019 Edition 19.5.1. Он содержит ряд улучшений и оптимизаций. К примеру, в игре Rage 2, которая выходит сегодня, обещают 16-процентный рост производительности для видеокарты Radeon ...

Как мы тестировали несколько баз данных временных рядов За последние несколько лет базы данных временных рядов (Time-series databases) превратились из диковинной штуки (узкоспециализированно применяющейся либо в открытых системах мониторинга (и привязанной к конкретным решениям), либо в Big Data проектах) в «товар народного пот...

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

[Из песочницы] Особенности атрибута inputmode для мобильных ОС и браузеров Привет, Хабр! Представляю вашему вниманию перевод статьи «Everything You Ever Wanted to Know About inputmode» Christian Oliff. Примечание переводчика: Первоначальное название статьи «Всё, что вы когда-либо хотели знать об inputmode» изменено на «Особенности атрибута inputmo...

Для борьбы с кибершпионажем Флот США возвращается к технологиям связи Второй мировой войны На прошлой неделе американский вертолет MH-60S Sea Hawk совершил первую пробную доставку информационного пакета на борт корабля USS Boxer по новой технологии. «Новой» она называется исключительно в кавычках, так как по своей сути это возврат к давно забытому методу обмену да...

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

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

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

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

[Из песочницы] Новые рубежи в Физике Здравствуй, уважаемый читатель! Представляю вашему вниманию перевод с английского языка статьи «Physics, The Next Frontier» авторства Chris Hecker. Я, начинающий Java-разработчик, столкнулся с тем, что материалы по созданию физического внутриигрового движка представлены ли...

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

[Из песочницы] Как было устроено хранилище DWH в TELE2 Здравствуйте, дорогие друзья. Сегодня хочу поделиться историей из жизни, как было устроено хранилище DWH в Tele2 до внедрения КХД (EDW). А в следующих статьях рассказать, как внедрялись ETL-инструменты, EDW и BI решения в Tele2. Поступил я в ИТ подразделение Tele2 в 2012 в о...

Процессоры AMD станут основой суперкомпьютера для разработки ядерного оружия В прошлом месяце мы писали про суперкомпьютер Archer2, который будет создан на основе процессоров AMD Epyc. Система будет иметь производительность 28 PFLOPS и станет самой производительной в Европе. Теперь источник сообщает, что в Великобритании появится ещё один супер...

[Из песочницы] Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509 Сегодня использование цифровых сертификатов X509 v.3 стало обыденным делом. Все больше людей используют их для доступа на сайт Госуслуги, ФНС, электронные торги и т.д. И все больше людей хотят знать что же находится в этом «сундуке» под названием сертификат. И если сертифик...

Поточная конвертация баз Firebird 2.5 в формат ODS12 (Firebird 3.0) У каждой версии Firebird есть собственная версия формата дисковых структур базы данных – O(n)D(isk)S(tructure). До версии 2.5 включительно, движок Firebird мог работать с ODS предыдущих версий, то есть базы от старых версий открывались новой версией и работали в режиме совме...

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

[Из песочницы] Sourcery для автоматического конвертирования в структуры объектов Realm В интернете, да и даже на Хабре, есть куча статей о том, как работать с Realm. Эта база данных достаточно удобная и требует минимальных усилий для написания кода, если ей уметь пользоваться. В этой статье будет описан метод работы, к которому пришел я. Читать дальше →

Как упростить исследование БД Oracle: «джентльменский набор» скриптов Добрый день! Мы команда системных аналитиков одного из подразделений управления данными «Ростелекома». В нашей компании насчитывается более 300 неоднородных источников данных — такое многообразие необходимо для поддержки работы Ростелекома по всем многочисленным направлениям...

Он вам не дRook В связи с набирающей популярностью Rook хочется поговорить о его подводных камнях и проблемах, которые ждут вас на пути. О себе: Опыт администрирования ceph с версии hammer, основатель комьюнити t.me/ceph_ru в телеграм. Дабы не быть голословным я буду ссылаться на принятые...

Windows 10 Build 18317 доступна для загрузки Microsoft решила нас на этой неделе порадовать и выпустила очередную инсайдерскую сборку Windows 10 под номером 18317. Так как сейчас уже идет завершающий этап разработки обновления Windows 10 19H1, то и изменений кардинальных ждать не стоит, но, тем не менее, незначительные...

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

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

[Перевод] Синхронный Запрос-Ответ с использованием Apache Kafka Архитектуры, управляемые событиями (Event Driven Architecture), в целом, и Apache Kafka, в частности, привлекли в последнее время большое внимание. Для реализации всех преимуществ архитектуры, управляемой событиями, механизм делегирования событий должен быть по своей сути ас...

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

Жёлтое — Вакуум — Облако Последние несколько лет я, по непонятной причине, стараюсь подтолкнуть людей к расширению профессионального кругозора. Я убежден, что в современном мире невозможно занять достойное место, занимаясь узкоспециализированной деятельностью – только узкоспециализированной деятельн...

Идёт массовый отзыв TLS-сертификатов от множества УЦ, по ошибке сгенерированных на 63-битном ГСЧ вместо 64-битного Три дня назад в списке рассылки mozilla.dev.security.policy опубликовано сообщение о массовом нарушении в генерации TLS-сертификатов. Как показало расследование, пострадало несколько удостоверяющих центров, в том числе GoDaddy, Apple и Google. Общее количество неправильных с...

В API Директа появится поддержка турбо-страниц Яндекс анонсировал предстоящие изменения в  API Директа, связанные с поддержкой турбо-страниц.  В сервисе Ads появится новое поле — TurboPageId. В структуре TextAd достаточно будет указать одно из полей Href, VCardId и TurboPageId. В структурах ...

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

Отсутствие в macOS поддержки видеокарт Nvidia обусловлено конфликтом между менеджерами Apple и Nvidia Компания Apple на данный момент в своих компьютерах Mac использует исключительно видеокарты с GPU AMD. Но за всю историю линейки Mac купертинский гигант не раз переходил от AMD к Nvidia и обратно. Однако сейчас Apple упорно не хочет добавлять в новейшую версию macOS по...

«Мы очень уважаем данную инициативу, но…»: Visa, Mastercard, eBay и еще несколько компаний отказались участвовать в проекте Facebook по разработке криптовалюты Libra Платежные компании Visa, Stripe, Mastercard и Mercado Pago, а также площадка онлайн-торговли eBay вышли из проекта по разработке цифровой валюты Libra, который курирует Facebook. Об этом пишут Bloomberg и The Wall Street Journal. Visa решила не присоединяться к проекту, но п...

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

[Из песочницы] Механизм контроля версий базы данных в GIT (управление дампами MySQL) Привет, любители Хабра! Сегодня я решил поделиться своим вариантом бекапа данных из MySql и рассказать о том как его можно использовать для контроля версий в Git. И если вам интересно узнать, как можно контролировать состояние базы данных на всех этапах разработки, или прост...

[Перевод] Типизируйте уже наконец свой код Привет хабр! На днях мне в очередной раз на глаза попал код вида if(someParameter.Volatilities.IsEmpty()) { // We have to report about the broken channels, however we could not differ it from just not started cold system. // Therefore write this case into the logs a...

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

Российский Национальный ДЗЗ-центр будет иметь распределённую структуру Замдиректора департамента навигационных космических систем Роскосмоса Валерий Заичко, как сообщает сетевое издание «РИА Новости», раскрыл некоторые детали проекта по созданию Национального центра дистанционного зондирования Земли (ДЗЗ). О планах по формированию российского Д...

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

Закон Галла: что он гласит и как применяется в IT Рассказываем, в чем суть закономерности, как она себя проявляет и что бывает, когда эту закономерность не учитывают в процессе проектирования и разработки IT-систем. Фото — Spencer — Unsplash В книге «Сам себе MBA. Самообразование на 100%», написанной Джошом Кауфманом (Jo...

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

Комментарии к изменениям в ФЗ №149-ФЗ «Об информации, информационных технологиях и о защите информации» Добрый день, коллеги! Сегодня хочу высказаться о новом законопроекте порожденном Минкомсвязи России. Заранее прошу прощения за огромные объемы законодательного текста, поскольку приведу интересные отрывки в виде цитат. Чтобы уважаемые читатели не затрудняли себя поиском зак...

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

Опыт использования flatten-maven-plugin для упрощения версионирования в maven-проектах О нас В 1С мы разрабатываем не только платформу 1С: Предприятие на С++ и JavaScript, но и приложения на Java – в частности новую среду разработки Enterprise Development Tools на базе Eclipse и сервер глубоко интегрированного с платформой мессенджера – Системы Взаимодействия....

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

В ожидании 5G: как быстро развивались поколения сетей сотовой связи На подходе пятое поколение технологии мобильной связи, внедрение которой должно начаться уже в текущем году. В связи с этим ресурс GSMArena решил вспомнить, как быстро развивались предыдущие поколения сотовой связи за последние 25 лет и какие перспективы у 5G. Первые сети 2G...

Apple против горячего шоколада. Пользователи iPhone с iOS 13 не могут написать словосочетание Hot Chocolate Со смартфонами Apple, а точнее, с их ПО, порой происходят странные и забавные ситуации. Можно вспомнить калькулятор, который не мог посчитать простейшие примеры. Теперь вот новенькие iPhone за огромные деньги не способны написать словосочетание Hot Chocolate. На самом д...

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

[Перевод] Интеграция проверок пароля в KeePass по базе данных утечек Данная статья по шагам описывает процесс интеграции проверок пароля на безопасность в менеджере паролей KeePass. Проверки используют последнюю базу данных Have I Been Pwned, где хранятся утекшие пароли, и всё это работает локально, поэтому вам не надо беспокоиться о возможно...

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

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

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

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

[Из песочницы] Deploy Symfony + React приложения на AWS посредством CI Добрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура...

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

Windows 7, давай, до свидания! ОС Windows 7 появилась 10 лет назад, по сути являясь усовершенствованной версией Windows Vista, и, к сожалению, на данный момент она слишком сильно устарела

Официально: AMD подтвердила, что разницы между чипсетами B450, X470 и X570 с точки зрения производительности новейших CPU нет Как известно, новейшие настольные процессоры AMD Ryzen третьего поколения могут без проблем работать с системными платами, основанными на старых наборах логики. Исключением является лишь чипсет A320. Однако некоторые могли бы подумать, что новейший X570 даст какие-то пр...

Facebook оштрафована на рекордную сумму Федеральная торговая комиссия США (ФТК) наложила на Facebook штраф в размере $5 млрд за нарушения, которые социальная сеть допустила при работе с персональными данными пользователей. Взыскание является рекордным и почти в 20 раз превышает максимальные санкции, которые когда-...

[Из песочницы] Импорт OpenStreetMap. От бинарного исходника к таблице в БД в несколько шагов Обычно, когда кто-то говорит про OSM, то в голове всплывает какой-нибудь из веб-сервисов, или приложение вроде Maps.me, основанные на данных OSM. На самом деле проект OSM — это в первую очередь данные, всё остальное по сути частные случаи их использования. Сервисы предоставл...

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

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

Что делать, если MacBook не распознает отпечатки пальцев Даже на MacBook могут возникать проблемы Все современные MacBook Pro и MacBook Air оснащаются аппаратным чипом Apple T2. Данный сопроцессор выполняет широкий спектр задач, выступая в роли контроллера внутреннего шифрования и отвечая за внутренние процессы компьютера. Но, как...

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

TacacsGUI, Configuration Manager Добрый день! Сегодня я хотел бы представить вашему вниманию Configuration Manager – plugin входящий в проект TacacsGUI. Что же такое Configuration Manager? Это менеджер конфигураций (типа Oxidized или RANCID) с различными режимами просмотра изменений (diff) и записей в журн...

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

Расчет координат положения датчика стола относительно сопла Итак, многие из вас считают координаты положения датчика относительно сопла по той системе которая нарисована в марлине:но если у вас система координат отличается от той что на картинке(у меня она повернута на 90 градусов), то это доставляет неудобства, так вот что бы было п...

Введение в Spring, или что делать, если по всему проекту @Autowired и @Component, а вы не понимаете, что это Приветствую тебя, Хабр! Эта статья будет полезна тем, кто уже начал изучать Java и даже успел добиться некоторых успехов в понимании Java Core, и вот услышал слово Spring. И, возможно, даже не один раз: знание Spring Framework, как минимум, фигурирует в описаниях множества ...

Используем SQLite в Flutter Привет, Хабр! Представляем вашему вниманию перевод статьи «Using SQLite in Flutter». Сохранение данных очень важно для пользователей, так как нецелесообразно грузить одни и те же данные из сети. Разумнее будет сохранить их локально. В этой статье я продемонстрирую как с...

[Из песочницы] Использование C++ и шаблонов с переменным количеством аргументов при программировании микроконтроллеров ARM с ядром Cortex Mx (на примере STM32F10x) Микроконтроллер ARM Cortex M3 STM32F103c8t6 широко распространен как 32-х битный микроконтроллер для любительских проектов. Как для практически любого микроконтроллера, для него существует SDK, включающая, в том числе и заголовоч...

Связный список на Python: Коты в коробках И снова здравствуйте! В преддверии старта курса «Разработчик Python» подготовили для вас небольшой авторский материал о связных списках на Python. Python очень удобный и многогранный язык, но по умолчанию не имеет такой структуры данных как связный список или LinkedList. ...

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

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

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

Python по всем правилам. Делаем свою структуру данных совместимой с фичами Python Для подписчиковЕсли ты пишешь на Python, то наверняка видел в стандартных библиотеках определения методов, обернутых в двойные подчеркивания. Эти «магические» методы образуют многие из полезных интерфейсов, которыми ты постоянно пользуешься, — например, когда получаешь значе...

#10yearschallenge – давайте посмотрим, как изменился мир IT за эти годы Один из главных трендов нового года – флешмоб #10yearschallenge. Суть его заключается в том, что […]

Замена Action URL & URI в SIP-телефонах или управление via websockets? SIP-телефоны. Компьютеры с трубкой. По идее с ними очень многое можно что делать, а их используют только для звонков :-) Недавно был на конференции АстерКонф, и там вендоры рассказывали о своих телефонах, не будем никого выделять, все хороши, где-то лучше, где-то дешевле, п...

Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 2: оптимизация байт-кода в PHP 7.1 В первой части рассказа по мотивам выступления Дмитрия Стогова из Zend Technologies на HighLoad++ мы разбирались во внутреннем устройстве PHP. Детально и из первых уст узнали, какие изменениях в базовых структурах данных позволили ускорить PHP 7 более чем в два раза. На этом...

Построение отказоустойчивого решения на базе Oracle RAC и архитектуры AccelStor Shared-Nothing Немалое число Enterprise приложений и систем виртуализации имеют собственные механизмы для построения отказоустойчивых решений. В частности, Oracle RAC (Oracle Real Application Cluster) представляет собой кластер из двух или более серверов баз данных Oracle, работающих совме...

Проект национального IoT-стандарта OpenUNB: критический разбор Привет, Хабр! Некоторое время тому назад рабочая группа Сколтеха по Интернету вещей опубликовала проект национального стандарта узкополосной связи для IoT под названием «OpenUNB», полный текст которого можно найти здесь. С одной стороны, явление безусловно положительное – е...

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

Что такое методология DevOps и кому она нужна Разбираемся, в чём суть методологии и кому она может принести пользу. Также поговорим о DevOps-специалистах: их задачах, зарплатах и навыках. Читать дальше →

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

Логи не нужны? Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах? Одна...

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй. Первым делом выкладываю ссылки на предыдущие части: Часть 1: пишем языковую ВМ Часть 2: промежуточное представление программ Часть 3: Архитектура транслятора. Разбор языковых структур и математиче...

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

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

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

Как использовать сегментацию, таргетирование и позиционирование (STP) в разработке маркетинговой стратегии Добрый вечер, друзья! Сегодня поговорим о трафике, а именно STP. Данный материал приурочен к запуску курса «Трафик-менеджер», который стартует уже в конце февраля. Сегодня Сегментация, Таргетирование и Позиционирование (Segmentation, Targeting and Positioning, сокращенно ST...

[Из песочницы] CI/CD, используя Jenkins на Kubernetes Добрый день. На Хабре уже есть несколько статей о jenkins, ci/cd и kubernetes, но в данной я хочу сконцентрироваться не на разборе возможностей этих технологий, а на максимально простой их конфигурации для постройки ci/cd pipeline. Я подразумеваю, что читатель имеет базовое ...

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

Пользователи столкнулись с киберугрозами при поиске приложений для очистки компьютера Согласно статистическим данным компании, в первой половине 2019 года такие утилиты, которые на деле могли оказаться потенциально опасным или вредоносным ПО, пытались загрузить на свои устройства почти 1,5 миллиона пользователей. В аналогичном периоде 2018 года этот показател...

Telegram. Безлимитный сетевой диск. Бесплатный Привет, Хабр. Наверняка многие об этом задумывались, возможно у кого то эта идея лежит в TODO. У меня она пролежала примерно год, но таки удалось ее реализовать в виде работающего прототипа. TgCloud: Виртуальная файловая система с открытым исходным г****кодом. На локальном...

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

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

Критика протокола и оргподходов Telegram. Часть 1, техническая: опыт написания клиента с нуля — TL, MT В последнее время на Хабре стали чаще появляться посты о том, как хорош Telegram, как гениальны и опытны братья Дуровы в построении сетевых систем, и т.п. В то же время, очень мало кто действительно погружался в техническое устройство — как максимум, используют достаточно пр...

[Перевод] Храним SSH-ключи безопасно Хочу рассказать как безопасно хранить SSH-ключи на локальной машине, не боясь за то, что какое-то приложение может украсть или расшифровать их. Статья будет полезна тем, кто так и не нашел элегантного решения после паранои в 2018 и продолжает хранить ключи в $HOME/.ssh. Для...

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

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

История борьбы с цензурой: как работает созданный учеными из MIT и Стенфорда метод flash proxy В начале 2010-х годов объединенная группа специалистов из Стенфордского университета, Массачусетского университета, The Tor Project и SRI International представила результаты своего исследования способов борьбы с цензурой в интернете. Ученые проанализировали существовавш...

Post mortem: cледи за middleware или как мы сломали комментарии Привет! У нас не очень приятная новость: мы допустили ошибку в мобильной версии, которая могла вас побеспокоить все праздничные дни. Суть проблемы: человек отправляет комментарий к посту, видит его со своим логином и уходит со страницы, но если обновить страницу, этот комме...

[Перевод] Консенсус на репутации ноды. Нужен ли? Знаю-знаю. Криптопроектов тьма, есть куча консенсусов: на основе труда и владения, золота, нефти, выпеченных пирожков (есть и такой, да-да). Что нам ещё от одного? Это и предлагаю обсудить после прочтения перевода "облегченной" технической документации проекта *Созвездие (Co...

Владельцы смартфонов Huawei больше не смогут использовать сторонние лаунчеры Для Android-фанатов кастомизация и свобода — главное, ограничивать их в чём-либо будет крайне неправильно. Производители смартфонов практически не используют чистый Android в своих устройствах. ASUS, LG и Xiaomi не так давно представили смартфоны без собственных оболо...

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

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

[Из песочницы] Stand-up, Scrum, Daily meetings — что это и для чего Часто стал замечать, что люди все больше и больше перетягивают методологии и практики из IT сферы в производственные, банковские, сферы услуг и прочие. Одной из самых распространенных «заимствованных» из мира IT практик является проведение Scrum, Daily, Stand-up митингов ( к...

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

Print Your City: 3D-печать городской мебели из пластиковых отходов Исследовательски-дизайнерская студия «The New Raw» была основана в  Роттердаме. Осенью 2017 года она предложила перерабатывать пластиковые отходы в качестве сырья для 3D-печати мебели. Сегодня разработчики запустили инициативу под названием «Print Your City» в греческом горо...

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

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

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

В systemd нашли три уязвимости — разбираемся, в чем дело В начале месяца специалисты по ИБ из Qualys обнаружили сразу три уязвимости в systemd — подсистеме инициализации Linux — позволяющие злоумышленнику получить права суперпользователя. Рассказываем, в чем их суть и какие дистрибутивы им подвержены. Читать дальше →

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

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

[Перевод] Пишем клон движка Doom: чтение информации карт Введение Цель этого проекта — создание клона движка DOOM, использующего ресурсы, выпущенные вместе с Ultimate DOOM (версия со Steam). Он будет представлен в виде туториала — я не хочу добиваться в коде максимальной производительности, а просто создам работающую версию, и п...

[Из песочницы] Кросс-компиляция Scala в Gradle проекте Для Scala проектов довольно распространённым является предоставление бинарных артефактов скомпилированных под несколько версий Scala компилятора. Как правило для целей создания нескольких версий одного артефакта в сообществе принято использовать SBT, где эта возможность есть...

Фотографии нового уровня. Функция Deep Fusion для iPhone 11 появилась в iOS 13.2 Во время презентации новинок Apple в прошлом месяце, когда компания представила линейку смартфонов iPhone 11, также была анонсирована новая технология камеры под названием Deep Fusion. Последняя использует машинное обучение для обработки снимков, оптимизации текстур, ум...

На мобильных вышел новый автобатлер Onmyoji Chess от NetEase Games Наверное, NetEase устала от королевских битв и решила попробовать себя в новом, чуть менее популярном, но все равно известном многим жанре автобатлера. Onmyoji Chess — это так называемые авто-шахматы. Персонажами выступают герои пошаговой стратегии Onmyoji, которая выходила...

Слёрм: гусеница превратилась в бабочку <TL;DR> Слёрм действительно позволяет войти в тему Kubernetes или подтянуть свои знания. Участники довольны. Тех, кто ничего нового не узнал или не решил свои задачи, считанные единицы. Безусловным манибеком первого дня («Если вы чувствуете, что Слёрм вам не подходит...

Как Apple отучает владельцев iPhone от других кредитных карт Вчера компания Apple представила свой новый финансовый сервис Apple Card — кредитную карту, выпущенную совместно с банком Goldman Sachs. И хотя он, скорее всего, не будет работать в России еще несколько лет, интересно посмотреть на то, как Apple по сути принуждает пол...

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

Что ещё можно сделать в поиске? Доклад Яндекса В Яндексе есть служба разработки поисковых компонент, которая строит поисковую базу на MapReduce, обеспечивает выдачу данных вёрстке для рендеринга, формирует алгоритмы и структуры данных и решает ML-задачи роста качества. Алексей Шлюнкин, руководитель одной из групп внутри ...

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

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

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

Обеспечение надежной работы Zextras Team в сложных корпоративных сетях В прошлой статье мы рассказали вам о Zextras Team — решении, которое позволяет добавить в Zimbra Collaboration Suite Open-Source Edition функциональность корпоративных текстовых и видео-чатов, а также возможность проводить видеоконференции с большим числом участников, без не...

Процессоры AMD в 2020 году перейдут на технологические нормы 7nm+ Уже через несколько месяцев на рынок выйдут потребительские процессоры AMD, основанные на архитектуре Zen 2 и производящиеся по семинанометровому техпроцессу. Как известно, следом за ними нас ждут CPU на архитектуре Zen 3, и вот сегодня о них появились первые подробност...

[Перевод] Полное руководство по switch-выражениям в Java 12 Старый добрый switch был в Java с первого дня. Мы все используем его и привыкли к нему — особенно к его причудам. (Кого-нибудь еще раздражает break?) Но теперь все начинает меняться: в Java 12 switch вместо оператора стал выражением: boolean result = switch(ternaryBool) { ...

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

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

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

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

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

[Перевод] Монорепозитории: пожалуйста не надо От переводчика: Привет, Хабр! Да, это очередная статья о преимуществах и недостатках монорепозиториев. Собирался написать свою статью о том, как мы используем монорепозиторий, как мы переходили с maven на bazel и что из этого получилось. Но пока собирался с мыслями, вышла от...

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

Async/await в C#: концепция, внутреннее устройство, полезные приемы Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использов...

[Перевод] Неизменяемых коллекций в Java не будет – ни сейчас, ни когда-либо Всем привет! Сегодня вашему вниманию предлагается перевод вдумчиво написанной статьи об одной из базовых проблем Java — изменяемости, и о том, как она сказывается на устройстве структур данных и на работе с ними. Материал взят из блога Николая Парлога (Nicolai Parlog), чей...

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

[Перевод] Пишем API для React компонентов, часть 6: создаем связь между компонентами Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Следим за изменением файлов с помощью Alerting OpenDistro for Elasticsearch Сегодня возникла потребность в мониторинге изменений определенных файлов на сервере, существует много разных способов например osquery от facebook, но так как недавно я начал пользоваться Open Distro for Elasticsearch решил мониторить файлы эластиком, одним из его beat'ов. Ч...

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

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

Обновленный смартфон vivo Z3i Standard Edition Компания vivo анонсировала еще один вариант своего смартфона Z3i под названием Z3i Standard Edition. Пока он доступен только в Китае, и это по сути тот же старый Z3i, но с IPS LCD вместо AMOLED-экрана. Благодаря использованию панели IPS сумма на смартфон снижается до 296...

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

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

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

Качаем 16GB торрент через планшет с 4GB свободного места Задача: Есть ПК без интернета но есть возможность перекинуть файл по USB. Есть планшет с интернетом с которого этот файл можно перекинуть. На планшет можно скачать нужный торрент но не достаточно свободного места. Файл в торренте один и большой. Путь к решению: Я запустил т...

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

[Из песочницы] Аналитика девушек с низкой социальной ответственностью (Заряжено Power BI, Qlik Sense, Tableau) Кто мы такие и какие были предпосылки проекта? Добрый день, меня зовут Лазарев Владимир, я руководитель BI — интегратора “Аналитикс Групп”. Мы делаем для бизнеса наглядные отчёты по маркетингу, продажам, финансам, логистике на базе ведущих аналитических платформ Qlik Sense, ...

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

Что нужно знать о последнем патче Cisco для маршрутизаторов Не так давно IT-гигант объявил о критической уязвимости в системе ASR 9000. Под катом рассказываем, в чем суть бага и как его «залатать». Фото — ulleo — PD Уязвимость обнаружили в маршрутизаторах серии ASR 9000, работающих под управлением 64-битной IOS XR. Это — аппаратур...

Unity Package Manager Unity — платформа, которая существует довольно давно и постоянно развивается. Однако, работая в ней с несколькими проектами одновременно, все еще можно столкнуться со сложностями в использовании общих исходников (.cs), библиотек (.dll) и остальных ассетов (изображения, звуки...

Новый балансировщик нагрузки на CPU от MIT Систему Shenango планируют использовать в дата-центрах. / фото Marco Verch CC BY По данным одного из провайдеров, дата-центры используют всего 20–40% доступных вычислительных мощностей. При высоких нагрузках этот показатель может достигать 60%. Подобное распределение ресур...

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

[Из песочницы] Typescript и react Разработка на javascript иногда становится похожа на работу детектива. Как понять чужой код? Хорошо, если разработчик обладает тонким искусством называть переменные так, чтобы другие поняли суть. А как быть, если члены команды все таки не всегда способны понять замысел своег...

[Из песочницы] Распределённый чат на Node.JS и Redis Небольшой вопрос/ответ: Для кого это? Людям, которые мало или вообще не сталкивались с распределенными системами, и которым интересно увидеть как они могут строится, какие существуют паттерны и решения. Зачем это? Самому стало интересно что и как. Черпал информацию с разных...

Как научить машину понимать инвойсы и извлекать из них данные Привет, хабр! Меня зовут Станислав Семенов, я работаю над технологиями извлечения данных из документов в R&D ABBYY. В этой статье я расскажу об основных подходах к обработке полуструктурированных документов (инвойсы, кассовые чеки и т.д.), которые мы использовали совсем ...

[Перевод] Интеграционные тесты баз данных с помощью Spring Boot и Testcontainers 1. Обзор С помощью Spring Data JPA можно легко создавать запросы к БД и тестировать их с помощью встроенной базы данных H2. Но иногда тестирование на реальной базе данных намного более полезно, особенно если мы используем запросы, привязанные к конкретной реализации БД. В эт...

[Перевод] Алан Кей: «Могли ли древние римляне построить компьютер?» Это очень интересный вопрос — похож на тот, что я обычно задавал на уроке по компьютерному дизайну: «Какой компьютер капитан Немо разработал бы для «Наутилуса»? — Нарисуйте его дизайн!» Сегодняшний вопрос может быть понят по-разному: например, в значении «С технологиями, до...

В новой версии Windows 95 в виде приложения для компьютеров можно поиграть в Doom В прошлом году разработчик и энтузиаст Феликс Райзеберг (Felix Reiseberg) выпустил Windows 95 в виде приложения для Windows, Mac и Linux. Вряд ли это оказалось кому-нибудь полезным, скорее это был просто забавный эксперимент. Самое интересное, что приложение до сих пор сущес...

[Перевод] Garden v0.10.0: Вашему ноутбуку не нужен Kubernetes Прим. перев.: С Kubernetes-энтузиастами из проекта Garden мы познакомились на недавнем мероприятии KubeCon Europe 2019, где они произвели на нас приятное впечатление. Этот их материал, написанный на актуальную техническую тему и с заметным чувством юмора, — наглядное тому по...

Microsoft просит не использовать Internet Explorer Эксперт по кибербезопасности Windows Крис Джексон обнародовал статью «Риски использования Internet Explorer», цель которой по сути заключена в том, чтобы убедить пользователей Windows отказаться от Internet Explorer. Не смотря на то, что большая часть пользователей давно…

У новейших одноплатных ПК Raspberry Pi 4 обнаружилась проблема с портом USB-C Одноплатный ПК Raspberry Pi 4 вышел всего пару недель назад, удивив и производительностью, и набором портов. В частности, это первый ПК компании, оснащённый разъёмом USB-C. В данном случае он используется для питания новинки. Однако оказалось, что первый блин у Raspber...

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

[Из песочницы] Опыт переезда iOS Developer в Германию по визе на поиск работы Добрый день, дорогой читатель! В этом посте я бы хотел рассказать о том, как я переехал в Германию, в Берлин, как нашел работу и получил Голубую Карту, и какие подводные могут ожидать людей, решивших повторить мой путь. Я надеюсь, что моя статья будет полезна тебе, если ты ...

Граф Скоринг де ля Фер или исследование на тему кредитного скоринга, в рамках расширения кругозора. Ч.2 AntipovSN and MihhaCF Часть вторая, в которой Атосу все норм, а вот Графу де ля Фер чего-то не хватает Вступление от авторов: Добрый день! Сегодня мы продолжаем цикл статей, посвященный скорингу и использованию в оном теории графов. С первой статьей Вы можете ознакомиться зд...

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

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

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

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

Яндекс объединил сразу несколько своих приложений в Яндекс.Картах Яндекс официально анонсировала обновление Яндекс.Карт — теперь в приложении появился новый раздел под названием “Транспорт”, который по сути дублирует возможности одноименного приложения компании. Обновленная версия Яндекс.Карт уже доступна на iOS и Android.

Не все смартфоны Nokia были обновлены до Android Pie. Модель Nokia 2 эту версию ОС вообще не получит На днях компания HMD Global выпустила обновление до Android Pie для смартфона Nokia 1. Несмотря на то, что тогда многие посчитали, что производитель обновил до актуальной версии ОС все имеющиеся смартфоны, это не так. Модель Nokia 2 мало того, что всё ещё работает под у...

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

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

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

Расчёт каннибализации на основе классического A/B-теста и метод bootstrap’а В данной статье рассмотрен метод расчёта каннибализации для мобильного приложения на основе классического A/B-теста. В данном случае рассматриваются и оцениваются целевые действия в рамках процесса реаттрибуции с рекламного источника (Direct, Criteo, AdWords UAC и прочих) по...

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

Около 50% россиян готовы продавать свои персональные данные По данным Ipsos и Всемирного экономического форума большинство граждан России хотели бы получить возможность запретить компаниям использовать свои персональные данные. Правда, около 50% опрошенных готовы предоставлять персональные данные за вознаграждение, о чем пишет «Комме...

Лексическое окружение (LexicalEnvironment) и Замыкание (Closures) в EcmaScript Привет, Хабр! Давно ничего не писал, большая загруженность на проекте крайние несколько недель, но сейчас появилось свободное время, поэтому решил представить вашему вниманию новую статью. Сегодня мы продолжим разбирать ключевые концепции EcmaScript, поговорим о Лексическо...

[recovery mode] Нейросеть научили моментально предсказывать третичную структуру белка Решение проблемы прогноза структуры белка откроет новую эпоху управляемой биологии. Американский исследователь создал нейронную сеть ProteinNet, которая способна предсказывать структуру белка за миллисекунды. Ученый опубликовал статью о разработке на страницах Cell Syste...

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

Должны ли строки в Python быть итерируемы? И сотворил Гвидо строки по образу C, по образу массивов символов сотворил их. И увидел Гвидо, что это хорошо. Или нет? Представьте, что вы пишете совершенно идиоматичный код по обходу неких данных с вложенностью. Beautiful is better than ugly, simple is better than complex,...

[Перевод] Криптографические атаки: объяснение для смятённых умов При слове «криптография» некоторые вспоминают свой пароль WiFi, зелёный замочек рядом с адресом любимого сайта и то, как трудно залезть в чужую почту. Другие вспоминают череду уязвимостей последних лет с говорящими аббревиатурами (DROWN, FREAK, POODLE...), стильными логотипа...

WearOS теряет еще одно популярное приложение WearOS переживает не лучшие времена. С каждым месяцем эта операционная система становится еще более удобной и стабильной, а не так давно Google удалось существенно увеличить скорость её работы, но популярность WearOS, к сожалению, наоборот падает. Это связано как с недостато...

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

Если проект «Театр» используй акторов… В этой статье будет рассказ об опыте использования акторного подхода в одном интересном проекте автоматизированной системы управления для театра. Это именно впечатление от использования, не более того. Заглянуть за кулисы...

В YouTube появились платные Суперстикеры Сервис YouTube решил расширить возможности стримеров для заработка. К уже имевшимся ранее платным подпискам и Суперчату добавились Суперстикеры (Super Stickers). Если точнее, тестировать данные стикеры YouTube начал ещё летом, но теперь сервис сделал доступным S...

React + IndexDb + автообновление = почти AsyncRedux В данной заметке по шагам расскажу как приготовить IndexDB (база данных, которая встроена в любой современный браузер) для использования в проектах, написанных на ReactJS. В результате Вы сможете использовать данные из IndexDB так же удобно, как если бы они находились в Redu...

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

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

Как мы сделали PHP 7 в два раза быстрее PHP 5 В декабре 2015 вышел PHP 7.0. Компании, которые перешли на «семерку» отметили, что увеличилась производительность, а нагрузка на сервера — уменьшилась. Первыми перешли на семерку Vebia и Etsy, а у нас Badoo, Авито и OLX. Для Badoo переход на семёрку обошелся в 1 млн. долларо...

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

Как исследование блокчейна Namecoin позволило предсказывать кибератаки группировки RTM Блокчейн Namecoin был создан как защищенная от цензуры и принудительного изъятия доменов альтернатива традиционным регистраторам DNS. В последние несколько лет его начали использовать операторы таких ботнетов, как Dimnie, Shifu, RTM и Gandcrab, для управления адресами C&am...

Ezblock Pi — программирование без программирования, в этот раз для фанатов Raspberry Pi Идея писать код, не пиша код (да-да, пиша — деепричастие настоящего времени от глагола писать, живите теперь с этим) не раз приходила в голову и умным людям, и просто лентяям. Мечта о графическом интерфейсе, в рамках которого можно кидать одни кубики на другие, рисовать взаи...

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

Как делать портретные снимки на iPhone с одной камерой (даже на iPhone 5s!) Одной из главных фишек iPhone с двумя камерами стала возможность портретной съемки (с эффектом боке). Пока что единственным смартфоном Apple с одной камерой, который способен делать такие снимки, является iPhone XR — правда, с некоторыми ограничениями, что в кадре обя...

Книга «Совершенный алгоритм. Графовые алгоритмы и структуры данных» Привет, Хаброжители! Алгоритмы — это сердце и душа computer science. Без них не обойтись, они есть везде — от сетевой маршрутизации и расчетов по геномике до криптографии и машинного обучения. «Совершенный алгоритм» превратит вас в настоящего профи, который будет ставить за...

Бывший работник Microsoft объяснил, почему в Windows 10 так много багов Несмотря на то, что Windows 10 постоянно наращивает свою рыночную долю, эта ОС Microsoft уже отметилась рядом крупных ошибок и багов, из-за которых даже приостанавливались выпуски больших обновлений. О мелких ошибках и вовсе говорить не приходится. Почему так происходит...

Как армия США будет использовать очки смешанной реальности Microsoft В ноябре стало известно, что Microsoft выиграла подряд на поставку гарнитуры смешанной реальности для Министерства обороны США. Теперь мы узнали, в чем заключается суть проекта: как и ожидалось, компания займется разработкой специального шлема смешанной реальности HoloLens ...

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

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

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

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

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

Китайские учёные разработали 3-нм транзистор По сообщению китайского издания South China Morning Post, группа китайских исследователей из Института микроэлектроники китайской академии наук разработала транзистор, который можно будет выпускать в рамках 3-нм техпроцесса. В отличие от 3-нм структуры транзистора компании S...

[Из песочницы] Не учите паттерны, учите концепции Добрый день (или вечер, или утро, в зависимости от того, когда выйдет этот пост). Я хочу высказаться о элитарной части программирования, и донести, в общем-то, очевидную мысль до начинающих в back-end(и не только) разработке, попутно используя попытку начать писать на Хабре...

Asus ProArt Display PA32UCG — первый в мире монитор с пиковой яркостью в 1600 кд на квадратный метр Asus на выставке IFA 2019, видимо, решила представить как можно больше устройств-рекордсменов. Мы уже видели AsusPro B9, который является самым лёгким бизнес-ноутбуком, а теперь пришла пора монитора ProArt Display PA32UCG. Суть в том, что ProArt Display PA32UCG — ...

Инвентаризация от И до Я. Считаем ИТ-активы На этом скриншоте результат работы Quest KACE относительно компьютера бухгалтера одной из российских компаний. Выяснилось, что часть ПО установлена, но не используется. Здесь приведены цены, по которым это ПО закупалось. В вашем случае цена на ПО может отличаться, здесь ва...

Изменения CHANGE Как наверняка знают читатели портала realitsm.ru, в единственной доступной на текущий момент книге новой версии ITIL «ITIL® Foundation. ITIL 4 Edition» была описана практика (practice) Change control. Её назначение увеличивать количество (долю) успешных изменений услуг и про...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

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

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

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

Европа создает крупнейшую в мире базу биометрических данных Cистема под названием Common Identity Repository (CIR) будет связывать существующие регуляторные системы ЕС для контроля над всеми аспектами жизни европейцев, от поездок до перехода через границу. Новая платформа должна объединить разрозненные базы данных, включающие информа...

[Перевод] Объясняем код с помощью ASCII-арта Примечание от переводчика: типично пятничная статья во вторник утром… почему бы и нет? Большинство людей — визуалы. Они используют изображения, чтобы вникнуть в суть проблемы. А вот мэйнстримные языки программирования, напротив, основаны на текстовом представлении. Возник...

«Обмен любезностями»: в чем суть конфликта двух наиболее известных стриминговых компаний В середине марта Spotify обратились в Еврокомиссию с жалобой на Apple. Это событие стало апогеем «подковерной борьбы», которую ведут две компании уже долгое время. Читать дальше →

Организуем ML-проект с помощью Ocean Вступление За годы разработки ML- и DL-проектов у нашей студии накопились и большая кодовая база, и много опыта, и интересные инсайты и выводы. При старте нового проекта эти полезные знания помогают увереннее начать исследование, переиспользовать полезные методы и получить ...

Всё, что нужно знать о Windows 10X Компания Microsoft представила новую версию Windows 10, которая была перестроена с нуля с использованием Windows 10 Core Technologies. Фактически это новая редакция Windows 10, основанная на Windows Core OS, модульной версии Windows 10, позволяющей создавать операционные си...

Подготовка данных в Data Science-проекте: рецепты для молодых хозяек В предыдущей статье я рассказывала про структуру Data Science-проекта по материалам методологии IBM: как он устроен, из каких этапов состоит, какие задачи решаются на каждой стадии. Теперь я бы хотела сделать обзор самой трудоемкой стадии, которая может занимать до 90% общ...

[Из песочницы] Типичные ошибки Владельца продукта в Скраме Что делать, если вы не знаете, что такое Скрам? В первую очередь стоит хотя бы прочесть Руководство по Скраму (PDF) и начать ему следовать. Если вы не следуете этому руководству, значит вы делаете что угодно, только не Скрам. По сути Владелец продукта занимается максимизацие...

Мощная новинка Xiaomi Black Shark 2 Pro Платформа JD раскрыла поддержку DC Dimming 2.0, суть которой, к сожалению, пока неизвестна (оригинальная же технология меняет вольтаж для снижения мерцания AMOLED-панели).Обновленный смартфон для геймеров Black Shark 2 Pro, который делает собой переход на Snapdragon 855+, а ...

Робот тестирует SAP ERP Мы в Альфастраховании используем SAP ERP как процессную систему урегулирования убытков. И так уж получилось, что мы ее немножко дорабатываем, это неизбежно приводит к возникновению в коде ошибок. Если ошибки доходят до продуктивной системы — это плохо. Этого надо избегать, о...

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

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

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

[Перевод] Disposable ref structs в C# 8.0 Давайте посмотрим, что об этом сказано в блоге о предстоящих изменениях в С# 8.0 (версия Visual Studio 2019 Preview 2): «stack-only структуры появились в С# 7.2. Они чрезвычайно полезны, но при этом их использование тесно связано с ограничениями, например невозможностью реа...

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

Хотели как лучше, а получилось как всегда: функцию “Live-прослушивание” для Apple AirPods додумались использовать для шпионажа С приходом обновления iOS 12, проприетарные наушники Apple AirPods обзавелись функцией “Live-прослушивание“. Ее суть заключается в следующем: iPhone используется в качестве направленного микрофона, а сами наушники, в качестве слухового аппарата, совокупность данн...

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

[Из песочницы] Современные тренды и рекомендации по аджайлизации крупных финансовых институтов 12-15 Мая 2019 в Дублине состоялся PMI EMEA Congress 2019, который был организован одним из лидеров отрасли в области разработки методологии управления проектами – Project Management Institute (PMI). Конгресс собрал более 700 делегатов из 70 стран и 450 организаций и стал ми...

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

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

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

[Из песочницы] Динамическое изменение схемы JSON в Go с помощью gob Значимо изменить маршализацию структуры в json можно только через метод MarshalJSON(), написав там полную реализацию маршализации. Как именно? На это документация Go ни ответов, ни рекомендаций не даёт, предоставляя, так сказать, полную свободу. А как воспользоваться этой св...

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

CPU-функции RDRAND и RDSEED стали доступнее Всем привет! Сам я криптографией не занимаюсь, но кому то вполне может пригодится мое небольшое исследование. Решил разобраться со встроенными в процессор функциями RDRAND и RDSEED. Компилятор Delphi сказал Undeclared identifier. Хмм. Уже давно существует BMI, BMI2, AVX, AV...

[Из песочницы] Rosserial & STM32 Робототехническая операционная система ROS является довольно мощной платформой для создания робототехнических систем, которая включает все необходимое для разработки своих проектов от простейших программных компонентов, называемых “узлами”, и протокола обмена данными до сред...

Microsoft проводит конкурс агентов ИИ на платформе Minecraft Участники конкурса совревнуются в нескольких играх на платформе Minecraft. Слева: игра Build Battle, где игрокам необходимо воссоздать структуру (в данном случае структура расположена на земле). Справа: игра Pig Chase, где агенты ИИ должны сотрудничать, чтобы загнать свинью...

Как Сбербанк собирает согласие на обработку биометрии TL;DR: Сбербанк собирает согласие на сбор и обработку биометрических данных без нормального информирования своих клиентов об этом. Вступление Если говорить о биометрических данных, то пока самым интересным сектором для их применения в частном бизнесе является банкинг. Суть ...

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

Таблицы в Figma. Дизайн Data Grid одним компонентом Строительство таблицы из компонентов — задача, которая рано или поздно возникает перед каждым разработчиком дизайн-систем в Figma. Существует три подхода к дизайну таблиц, чтобы создать data grid с гибкой архитектурой. В каждом из случаев используется либо row-компонент, ...

Быстрая локализация проблем производительности Microsoft SQL Server в Quest Foglight В прошлой статье об инструменте для мониторинга Foglight for Databases мы рассказывали о возможностях контроля из единого интерфейса SQL Server, Oracle, PostgreSQL, MySQL, SAP ASE, DB2, Cassandra и MongoDB. Сегодня разберём подходы к быстрому выявлению причин нештатной раб...

Docker + Laravel = ❤ // Часть 2 Данный пост написан по заявкам трудящихся, которые с завидной периодичностью спрашивают о том "Как запустить Illuminate / Symfony / MyOwnPsr7 приложение в докере". Давать ссылку на ранее написанный пост уже не хочется, так как взгляды относительно того, как следует решать п...

На IFA 2019 Hisense представит лазерный телевизор со звуковым экраном Китайский производитель Hisense готовится запустить «лазерный телевизор со звуковым экраном» на выставке IFA 6 сентября. Это не первый подобный проект, в начале этого года компания представила лазерный телевизор Trichroma, который по сути является короткофокусным проект...

Трансляция проектов и библиотек из Altium Designer в PADS Professional Часто у инженеров возникает необходимость транслировать проекты из одной САПР в другую. На предприятиях не редко бывает такая ситуация, когда разные отделы проектируют в разных САПРах. Также трансляция проектов может потребоваться, когда ваша система проектирования уже не с...

Как быстро попробовать CQRS/ES в Laravel или пишем банк на PHP Недавно в подкасте "Цинковый прод" мы с товарищами обсуждали паттерн CQRS/ES и некоторые особенности её реализации в Elixir. Т.к. я в работе использую Laravel, грех было не покопаться в интернетах и не найти как же можно потягать этот подход в экосистеме данного фреймворка....

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

Spring Boot 2: чего не пишут в release notes Когда у масштабного проекта происходит масштабное обновление, всё никогда не бывает просто: неизбежно возникают неочевидные нюансы (проще говоря, грабли). И тогда, как бы хороша ни была документация, с чем-то поможет только опыт — свой или чужой. На конференции Joker 2018...

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

Китайцы выпустили очень дешевый неубиваемый смартфон на Android 9 В последнее время Ulefone все чаще появляется в новостных сводках. Так, буквально недавно компания выпустила недорогой бронебойный телефон Ulefone Armor X3, который прекрасно подходит для пользователей, которые часто работают, либо отдыхают в экстремальных условиях. Но у уст...

Долгий путь от RFC 4357 к RFC 8645 или как управлять ключами шифрования Как известно, управление ключами является одной из самых сложных задач в криптографии. Буквально на днях в качестве RFC 8645 опубликован документ “Re-keying Mechanisms for Symmetric Keys” («Механизмы смены симметричных ключей»). Он является результатом двух с половиной лет ...

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