Размышления о красоте и коде Думаю, у каждого разработчика рано или поздно возникают в голове мысли о том, что код нужно писать определенным образом. Почему фреймворк этого автора так прост в использовании, и погружение в него проходит так быстро? Почему данный кусок кода кажется мне ужасным? В этот мом...
[Из песочницы] Процесс компиляции программ на C++ Цель данной статьи: В данной статье я хочу рассказать о том, как происходит компиляция программ, написанных на языке C++, и описать каждый этап компиляции. Я не преследую цель рассказать обо всем подробно в деталях, а только дать общее видение. Также данная статья — это необ...
Путеводитель по галактике DevOpsConf 2019 Представляю вашему вниманию путеводитель по DevOpsConf — конференции, которая в этом году имеет галактический масштаб. В том смысле, что нам удалось собрать такую мощную и сбалансированную программу, что путешествие по ней понравится самым разным специалистам: разработчикам,...
[Из песочницы] Синтаксический разбор предложения на русском языке В данной статье описывается процесс синтаксического анализа предложения русского языка с использованием контекстно-свободной грамматики и алгоритма LR-анализа. Обработка естественного языка — общее направление искусственного интеллекта и математической лингвистики. Оно изуч...
Искусство парсинга 2 или транслитерация собственной разметки +БОНУС: как включать классы друг в друга в C++ Привет, Хабр! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу ч...
Альтернативный оркестратор nomad на десктопе В настоящее время оркестрация контейнеров ассоциируется в первую очередь с kubernetes. Но это не единственный возможный выбор. Есть и альтернативные средства оркестрации, например nomad, разработчик HashiCorp (хорошо известный как разработчик средства виртуализации Vagrant)....
Простой ASN1-кодек на базе sprintf Транспортный синтаксис ASN.1 определяет однозначный способ преобразования значений переменных допустимых типов в последовательность байт для передачи по сети. В ASN.1 он называется базовыми правилами кодирования (Basic Encoding Rules, BER). Правила являются рекурсивными, так...
Создаем простой сервис коллтрекинга, часть 2 В предыдущей статье мы реализовали генерацию и проверку наличия coockie, используемой для подстановки номера на странице, а так же добавили логирование отображаемых номеров с привязкой к источнику перехода. В этой статье будет рассмотрен процесс создания интерфейса вывода ин...
[Перевод] Распознавание источников освещения на картах окружения В этой статье представлена реализация на Python алгоритма распознавания источников освещения на картах окружения (LDR или HDR) при помощи равнопромежуточной проекции (equirectangular projection). Однако после внесения незначительных изменений её также можно использовать с п...
[Перевод] Понимание алгоритма БПФ Здравствуйте, друзья. Уже завтра стартует курс «Алгоритмы для разработчиков», а у нас остался один неопубликованный перевод. Собственно исправляемся и делимся с вами материалом. Поехали. Быстрое преобразование Фурье (БПФ — англ. FFT) является одним из важнейших алгоритмов о...
«А вместо процессов у них там практики…» Такую фразу довольно часто можно услышать или прочитать в обсуждении новой версии ITIL® 4. Корректно ли это утверждение? Насколько «вместо»? Есть ли разница между процессами и практиками? Действительно, существенную часть объёма книги составляет раздел, в котором для тех, кт...
[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...
[Из песочницы] Программируем проходной выключатель. MicroPython на esp8266 (sonoff) с OTA. Часть 1 Всем привет. В процессе ремонта возникла задача сделать проходной выключатель. Конечно же захотелось сделать самым простым и удобным способом, добавив базовые функции управления с телефона. Я выбрал наиболее простую и удобную технологию для этого (конечно, на свой взгляд) —...
[Перевод] 30.000$ за решение задач о Правиле 30 для клеточных автоматов — конкурс от Стивена Вольфрама Оригинал перевода в моём личном блоге Прямая трансляция Стивена Вольфрама о конкурсе (на английском) Поясним для читателей, что означает «Правило 30» — это элементарный клеточный автомат (см. Wiki), состояние которого (правило построения нового уровня ячеек на основе старо...
[Перевод] Комбинирование Signed Distance Fields в 2D В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки ...
[Из песочницы] CI/CD, используя Jenkins на Kubernetes Добрый день. На Хабре уже есть несколько статей о jenkins, ci/cd и kubernetes, но в данной я хочу сконцентрироваться не на разборе возможностей этих технологий, а на максимально простой их конфигурации для постройки ci/cd pipeline. Я подразумеваю, что читатель имеет базовое ...
[Перевод] Стоит ли высокое качество ПО затрат на его разработку? Часто в процессе реализации проектов команды сталкиваются с вопросом: чему следует уделять больше внимания – выпуску новых фич или повышению качества кода? Обычно менеджеры делают выбор в пользу фич. Зачастую разработчики таким положением дел недовольны, считая, что им выде...
[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...
Еще один способ оптимизации docker-образов для Java приложений История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров...
[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Всем привет, уже через несколько недель мы запускаем новый поток по курсу «Разработчик С++». Этому событию и будет посвящен наш сегодняшний материал Что такое strict aliasing? Сначала мы опишем, ...
[Из песочницы] Изучаем трассировку с помощью eBPF: Руководство и примеры Привет, Хабр! Предлагаю вашему вниманию перевод статьи Брендана Грегга, посвящённой изучению eBPF На конференции Linux Plumbers было как минимум 24 выступления по eBPF. Он быстро стал не просто бесценной технологией, но и востребованным навыком. Возможно, вам хотелось бы пос...
Безболезненный Fallback Cache на Scala В крупных или микросервисных архитектурах самый важный сервис не всегда самый производительный и бывает не предназначен для хайлоада. Мы говорим о бэкенде. Он работает медленно — теряет время на обработке данных и ожидании ответа между ним и СУБД, и не масштабируется. Даже е...
Предсказание красоты заката TL;DR: Из чего состоит красивый закат? Как предсказать эти элементы заката? Откуда взять данные для предсказаний? Для удачной фотосессии, требуется, как правило серьезная подготовка. И если собрался снимать закат, хорошо бы знать заранее, насколько этот закат будет красив. ...
[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...
[Перевод] Зачем в JavaScript нужен строгий режим? Строгий режим (strict mode) — это важная часть современного JavaScript. Именно этот режим позволяет разработчикам пользоваться более ограниченным, чем стандартный, синтаксисом. Семантика строгого режима отличается от традиционного нестрогого режима, который иногда называют ...
[Перевод] Введение в реверс-инжиниринг: взламываем формат данных игры Введение Реверс-инжиниринг незнакомого файла данных можно описать как процесс постепенного понимания. Он во многом напоминает научный метод, только применённый к созданным человеком абстрактным объектам, а не к миру природы. Мы начинаем со сбора данных, а затем используем э...
[Из песочницы] Введение в MS Dynamics CRM Привет Хабр! В этой статье хотелось бы рассказать о некоторых стандартных возможностях Dynamics CRM (для понимания что это вообще такое), её основных бизнес процессах и средствах расширения функционала прямо из коробки. Читать дальше →
[Из песочницы] Забота о себе во время написания кода Привет, Хабр! Представляю Вашему вниманию перевод статьи «Developer health — taking care of yourself as you code» автора Christopher Kad. Недавно мне поставили диагноз «тендинит», и, конечно, в этом нет ничего особенного, и его можно вылечить, но я понял, что не слишком хор...
[Из песочницы] Унификация правил валидации на примере Asp core + VueJS В статье описывается простой способ унификации правил валидации пользовательского ввода клиент-серверного приложеия. На примере простого проекта, я покажу как это можно сделать, с использованием Asp net core и Vue js. Разрабатывая веб приложения, мы как правило сталкаваемся...
[Перевод] Самое простое объяснение принципа работы современных алгоритмов симметричного шифрования (Нашёл в твиттере тред с очень крутым объяснением работы симметричных шифров. Его написал Colm MacCárthaigh один из основных контрибьюторов Apache. Я спросил разрешение Колма на перевод, он любезно согласился). Я объясню вам доступным языком, что происходит при шифровании да...
[Из песочницы] DevOps в разработке: автоматизация написания кода веб-приложений Доброго времени суток, уважаемые Хабражители! Сегодня DevOps находится на волне успеха. Практически на любой конференции, посвященной автоматизации, можно услышать от спикера мол “мы внедрили DevOps и тут и там, применили это и то, вести проекты стало значительно проще и т....
Локализация звуков: как мозг распознает источники звуков Мир, окружающий нас, наполнен всевозможной информацией, которую наш мозг непрерывно обрабатывает. Получает он эту информацию посредством органов чувств, каждый из которых отвечает за свою долю сигналов: глаза (зрение), язык (вкус), нос (обоняние), кожа (осязание), вестибул...
Как настроить типы задач и не сойти с ума Вводная частьВ предыдущем посте я писал как организовать процесс “грумминга” задач в системе JIra так чтобы “Менеджеру продукта” было удобно осуществлять навигацию по всему Беклогу продукта. Продолжая продуктовую тему напишу о том как я долго шел к пониманию того — что такое...
[Из песочницы] 10 самых распространенных ошибок Spring Framework Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin. Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, д...
Создание системы формальной верификации с нуля. Часть 1: символьная виртуальная машина на PHP и Python Формальная верификация — это проверка одной программы либо алгоритма с помощью другой. Это один из самых мощных методов, который позволяет найти в программе все уязвимости либо же доказать, что их нет. Более подробное описание формальной верификации можно увидеть на пример...
Service Desk в Хоум Кредит. А что внутри?… В каждой компании, где присутствует подразделение ИТ, есть ServiceDesk, но у всех он разный. Где-то это простой helpdesk для приема обращений, где-то anykey, у нас в Хоум Кредите первая линия поддержки — ступень к многоуровневому процессу эксплуатации, а для многих сотрудник...
Flare-On 2019 write-up -0x01 — Intro Данная статья посвящена разбору всех заданий Flare-On 2019 — ежегодного соревнования по реверс-инжинирингу от FireEye. В данных соревнованиях я принимаю участие уже второй раз. В предыдущем году мне удалось попасть на 11-ое место по времени сдачи, решив все з...
Операция “Миграция”: как происходит переезд в облако DataLine Лет 7 назад самые первые проекты переезжали в наше облако просто и незатейливо. Образы виртуальных машин загружались на FTP-сервер, или их привозили на жестких дисках. Затем через специальный импорт-сервер ВМ загружали в облако. Если для клиента не проблема выключить виртуа...
[Из песочницы] Опыт применения Coroutines и Retrofit2 Что это? Кто еще не читал документацию — настоятельно рекомендую к ознакомлению. Что пишет джетбрейнс: Сопрограммы упрощают асинхронное программирование, оставив все осложнения внутри библиотек. Логика программы может быть выражена последовательно в сопрограммах, а базовая б...
[Перевод] 12 вопросов, которые стоит задать потенциальным работодателям Я только что завершил шестинедельный процесс трудоустройства на должность middle-senior разработчика на рынке, где сейчас ведется активная охота за талантами (Амстердам). Иными словами, я побывал на куче собеседований. Чтобы аккуратно разведать, какие компании мне больше вс...
[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK). Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не р...
Принципы работы протокола BGP Сегодня мы рассмотрим протокол BGP. Не будем долго говорить зачем он и почему он используется как единственный протокол. Довольно много информации есть на этот счет, например тут. Итак, что такое BGP? BGP — это протокол динамической маршрутизации, являющийся единственным EG...
Некоторые задачи школьной математики. Часть II Часть I. Дроби Часть II. Модули В данной статье рассматривается метод оценок диапазона принимаемых значений и связь этого метода с задачами, содержащими модуль. При решении некоторых задач необходимо рассматривать диапазон, в пределах которого может находиться искомая вел...
4. Check Point Getting Started R80.20. Установка и инициализация Добро пожаловать на 4-й урок. Сегодня, мы наконец-то “пощупаем” Check Point. Естественно виртуально. В ходе урока мы выполним следующие дейсвтия: Создадим виртуальные машины; Выполним установку сервера управления (SMS) и шлюза безопасности (SG); Ознакомимся с процессом р...
[Перевод] Запуск Bash в деталях Если вы нашли эту страницу в поиске, то наверняка пытаетесь решить какую-то проблему с запуском bash. Возможно, в вашем окружении bash не устанавливается переменная среды и вы не понимаете, почему. Возможно, вы засунули что-то в различные загрузочные файлы bash или в профил...
[Перевод] Отладка игр для NES: как она происходит сегодня Если вы когда-нибудь занимались программированием, то знакомы с концепцией багов. Если бы они нам не досаждали, процесс разработки стал бы намного быстрее и приятней. Но эти баги просто ждут момента, чтобы испортить наш код, рабочий график и творческий поток. К счастью, сущ...
10 полезных команд для Терминала в Mac Терминал — это мощный инструмент OS X. Вы даете своему компьютеру команды, и операционная система их покорно выполняет. С помощью терминала вы можете выполнить действия, которые значительно сложнее или невозможно выполнить, используя графический пользовательский интер...
Введение в аннотации типов Python. Продолжение Автор иллюстрации — Magdalena Tomczyk В первой части статьи я описал основы использования аннотаций типов. Однако несколько важных моментов остались не рассмотрены. Во-первых, дженерики — важный механизм, во-вторых иногда может оказаться полезным узнать информацию об ожидае...
Словарь рекламных метрик. CTR, CPI, CPM, CPC, CR Для того, чтобы оценить качество рекламных компаний существует большое количество различных метрик. Все они давольно таки простые для понимания, но чтобы было проще ориентироваться, в данном посте будут описаны основные из них. Разберем один из стандартных процессов попа...
Telegram бот для персонализированной подборки статей с хабра Для вопросов в стиле "зачем?" есть более старая статья — Натуральный Geektimes — делаем пространство чище. Статей много, по субъективным причинам некоторые не нравятся, а некоторые, наоборот, жалко пропускать. Хочется оптимизировать этот процесс и экономить время. В вышеупом...
[Из песочницы] Система Управления Тесткейсами QuAck — простые радости тестирования Привет, Хабр! Представляю вашему вниманию перевод статьи «QuAck — the joy of testing» автора Aziz Namazov. Сегодня я затрону непростую тему жизненного цикла программного обеспечения. Тема эта достаточно сложная и многогранна, включающая в себя все этапы, начиная от дизайн...
Узнать штрафы с iPhone? Легко! Не секрет, что правила дорожного движения постоянно меняются, а за нарушение всегда следуют штрафы, даже если вы не в курсе всех нововведений. Суммы штрафов тоже постоянно подвергаются пересмотру. И что уж тут таить: практически каждый из нас хоть раз, но получал штраф. А уч...
[Перевод] Почему простой дизайн сайта лучше с научной точки зрения Исследование, проведенное Google, имело два ключевых вывода: • Пользователю нужно всего 1/50 до 1/20 секунды, чтобы оценить, красивый сайт или нет. • «Визуально сложные» сайты оцениваются как менее красивые, чем их простые аналоги. Другими словами, исследование показало ...
OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...
Без чего невозможно описать услугу? О том, что деятельность является неотъемлемой частью описания услуги, вроде бы давно договорились. Невозможно предметно говорить об услуге, не рассматривая то, как она потребляется. То есть то, из каких операций (деятельности) состоит потребление (и предоставление) услуги. М...
Балансировка красно-чёрных деревьев — Три случая Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в дл...
Пиксельные отступы в текстурной развертке Представляем четвертую статью нашего цикла о работе с 3D-моделями в Unity. Предшествующие статьи: «Особенности работы с Mesh в Unity», «Unity: процедурное редактирование Mesh», «Импорт 3D-моделей в Unity и подводные камни». В предыдущей статье мы упомянули о проверке тексту...
Конструирующий XPath? Алгоритмический XPath? Ничего, кроме XPath Здравствуйте, уважаемые читатели. В этой публикации речь пойдет о немного нестандартных применениях такого хорошо известного формализма как XPath. Все знают, что он очень удобен для извлечения информации из XML- или HTML- или еще каких-нибудь *ML-документов (как простых текс...
Криптография простым языком: разбираем симметричное и асимметричное шифрование на примере сюжета Звездных войн Привет всем читателям Хабра! Не так давно решил разобраться с алгоритмами шифрования и принципами работы электронной подписи. Тема, я считаю, интересная и актуальная. В процессе изучения попробовал несколько библиотек, однако самой удобной с моей точки зрения является библио...
Компьютерная модель помогла лучше понять, как устроена человеческая память Наш мозг — очень сложно устроенный механизм Наш головной мозг — это очень странно устроенная сеть нейронов, которые формируют столь сложные структуры, что медики окончательно не разобрались в том, как они устроены, и по сей день. Но ученые не сдаются и не так дав...
Automator: Быстрая печать документов Многие пользователи не догадываются, какие обширные возможности предоставляет такой мощный инструмент, как Automator. На первый взгляд программа достаточно сложна в освоении, однако разобравшись, можно увидеть, что управление происходит довольно интуитивно и наглядно. Сегод...
Расширяем возможности UObject в Unreal Engine 4 Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами. Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, та...
[Из песочницы] Работаем с коботом Dobot M1 Год назад на Хабре выходил обзор настольного робота Dobot Magician. В этой статье я предлагаю оценить его старшего брата Dobot M1 в действии. Также я попытаюсь объяснить, почему для своего проекта выбрал именно данную модель, опишу процесс разработки демки в Qt/c++, а также ...
[Из песочницы] Оформление PL/SQL кода и формирования PL/SQL документации (pldoc), аналогично JavaDoc Внутри команды нужно разработать свои стандарты и правила, а оформление документации — это одно из главных правил работы в команде. Ну, поехали… Ссылка на сам инструмент pldoc. По ссылки хорошо все расписано как работать и формировать документацию, но чтобы было проще приве...
Упрощенный доступ к данным внутренней FAT12 для STM32 В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить н...
В ЕАЭС разрабатывают единые правила взимания НДС при оказании услуг в электронной форме Создание единых правил взимания НДС при оказании услуг в электронной форме соотносится с целями Союза по формированию единого рынка услуг.
[Из песочницы] Настройка VSCode для работы с Scala Статья рассчитана на новичков в программировании на Scala, каким я сам и являюсь, и просто на желающих начать писать программный код в VSCode. Так получилось, что единственным гайдом по теме работы со Scalой в Visial Studio Сode оказалось это видео на ютуб-канале DevInside...
Figma — простое решение для дизайнера, сложное решение для верстальщика Если вы работаете в области web-разработки, то рано или поздно, вам суждено будет познакомиться с Figma. Смиритесь с этим фактом и начинайте изучать. Я же попробую описать данный продукт, с точки зрения повседневного пользователя. Читать дальше →
Наш опыт создания API Gateway Некоторые компании, в том числе наш заказчик, развивают продукт через партнерскую сеть. Например, крупные интернет-магазины интегрированы со службой доставки — вы заказываете товар и вскоре получаете трекинговый номер посылки. Другой пример — вместе с авиабилетом вы покупает...
Как соотносятся роли Service Owner и Service Level Manager Думаю, следует сразу уточнить, что рассматривать соотнесение ролей будем в контексте ITIL V3. В ITIL4 Foundation детального описания ролей, участвующих в практиках, нет, так что ждём. Мысль рассмотреть эти две роли, что называется, в связке, возникла не просто так. На неё н...
Как геокодировать миллион точек на Spark по-быстрому? В моем предыдущем проекте перед нами встала задача провести обратное геокодирование для множества пар географических координат. Обратное геокодирование — это процедура, которая паре широта-долгота ставит в соответствие адрес или название объекта на карте, к которому принадле...
Наследование в C++: beginner, intermediate, advanced В этой статье наследование описано на трех уровнях: beginner, intermediate и advanced. Expert нет. И ни слова про SOLID. Честно. Beginner Что такое наследование? Наследование является одним из основополагающих принципов ООП. В соответствии с ним, класс может использовать пер...
[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 22. Третья версия CCNA: продолжаем изучение RIP Я уже говорил, что буду обновлять свои видеоуроки до CCNA v3. Все, что вы выучили на предыдущих уроках, полностью соответствует новому курсу. Если возникнет необходимость, я буду включать дополнительные темы в новые уроки, так что можете не беспокоиться по поводу соответстви...
Тим Кук опроверг слух, что Джони Айв покинул Apple из-за него Уход Джони Айва с поста главного дизайнера Apple спровоцировал много домыслов и пересудов о причинах этого поступка. В конце концов, не каждый день компанию покидают ключевые сотрудники, ответственные за разработку по-настоящему культовых продуктов. Чтобы лучше разобраться ...
Передача двумерных списков из python в DLL Всем привет. Решил несколько дополнить статью C/C++ из Python. Передача стандартных типов, таких как int, bool, float и так далее довольно проста, но мало необходима. С такими данными быстро справится и сам python, и врядли у кого-то возникнет необходимость вынесения части т...
[Из песочницы] Странные они, статические переменные в PHP Дисклеймер: данная статья не явит вам какого то откровения и не откроет третий глаз, но позволит разобраться в не очень очевидном вопросе более детально. Мне по крайней мере при ее написании она в этом помогла. Если вы матерый волк в php то можете не читать, опытным человека...
Все свое: туториал по созданию новых действий для UiPath RPA Данная статья – обучающий материал, который позволяет по шагам пройтись по процессу создания и публикации нового компонента для платформы UiPath RPA. Это удобно в разных случаях, например, для простой интеграции с системами компании или в ситуациях, когда компания хочет помо...
Правила выбора JS-фреймворка TL;DR В статье не рассматриваются JS-фреймвёрки из списка TOP-3 При разработке на JS-фреймвёрке не из списка TOP-3 приходится решать на порядок больше технических вопросов, чем это ожидается в начале разработки История основана на реальных событиях Читать дальше →
Как быстро конвертировать видео в macOS Многие пользователи не догадываются, какие обширные возможности предоставляет такой мощный инструмент, как Automator. На первый взгляд программа достаточно сложна в освоении, однако разобравшись, можно увидеть, что управление происходит довольно интуитивно и наглядно. Сегод...
Вредные советы: как правильно писать техническую документацию? Советы по грамотному написанию технической документации для пользователей. Часть 1 В одной из предыдущих статей мы в общих чертах рассказывали, как именно происходит процесс документирования и локализации наших продуктов. На этот раз под катом – руководство нашего техниче...
[Из песочницы] Typescript и react Разработка на javascript иногда становится похожа на работу детектива. Как понять чужой код? Хорошо, если разработчик обладает тонким искусством называть переменные так, чтобы другие поняли суть. А как быть, если члены команды все таки не всегда способны понять замысел своег...
[Из песочницы] Продвинутый Debug Debug Area — полезная функция в работе iOS разработчика в Xcode. Как только мы начинаем осваивать разработку под iOS, и пытаемся отойти от привычного и любимого print метода, и найти более быстрые и удобные методы понимания состояния системы в определенный период мы начинаем...
1. Check Point Getting Started R80.20. Введение Добро пожаловать на первый урок! И начнем мы c Введения. Прежде чем начать разговор о Check Point мне хотелось бы сначала настроиться с вами «на одну волну». Для этого я постараюсь объяснить несколько концептуальных вещей: Что такое UTM решения и почему они появились? Чт...
Проверяем инкапсуляцию с помощью Roslyn Что такое Roslyn? Roslyn – это набор компиляторов с открытым исходным кодом и API для анализа кода для языков C# и VisualBasic .NET от Microsoft. Анализатор Roslyn – мощный инструмент для анализа кода, нахождения ошибок и их исправления. Синтаксическое дерево и семантическая...
Умная парковка — адаптивное управление навигацией, освещением и зарядными станциями для электромобилей Какое-то время назад мы писали большой обзор платежно-пропускных систем, и это была история про управление контролем доступа на парковку. Но даже самый грамотный контроль доступа, не решает всех вопросов управления парковкой. Один из самых насущных это интуитивно понятна...
Анализ производительности WebGL приложений Применение методов описанных в данной статье может существенно сократить ваше время разработки. Как только сделан минимально работающий продукт, процесс указанный на диаграмме ниже может быть применен к вашему приложению. Основное достоинство данного подхода в том, что время...
[Перевод] Подготовка приложения для Istio Istio — это удобный инструмент для соединения, защиты и мониторинга распределенных приложений. В Istio используются разные технологии для масштабного запуска ПО и управления им, включая контейнеры для упаковки кода приложения и зависимостей для развертывания и Kubernetes — ...
[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 18. Основы маршрутизации Сегодня мы приступим к изучению роутеров. Если вы прошли мой видеокурс с первого по 17-й урок, то уже изучили основы свитчей. Сейчас мы переходим к следующему устройству – роутеру. Как вы знаете из предыдущего видеурока, одна из тем курса CCNA так и называется – Cisco Switch...
[Из песочницы] Статический анализатор Detekt для Kotlin Пора полюбить статические анализаторы! Встречайте Detekt на Kotlin Если Вы уже знаете о чем пойдет речь и Вас интересут только внедрение в проект, переходите сразу к пункту установки. Что-же это такое? Анализ программного обеспечения, производимый (в отличие от динамическ...
10 причин, чтобы выбрать решение для SAP HANA от НРЕ. Часть 2 В предыдущей статье мы начали говорить о 10 причинах, чтобы выбрать решение от компании Hewlett Packard Enterprise для SAP HANA и остановились на технических причинах. Предлагаю взглянуть на процесс выбора решения под SAP HANA «глазами вендора». Очень бы хотелось, чтобы эт...
Настройка smart-оборудования Zyxel в автономном и «облачном» режимах О чем статья? 1. Короткий обзор и unboxing smart-коммутатора Zyxel XGS1930-28HP и точки доступа NWA1123-ACv2 2. Описание процесса настройки: в автономном режиме “облачном” режиме с использованием Nebula Control Center (NCC) 3. решение ряда мелких проблем, возникших в ...
[recovery mode] 10 способов защиты интеллектуальной собственности IT-стартапа Проблема защиты интеллектуальной собственности (далее — ИС) часто является одной из наиболее важных, с которой сталкивается любой технологический стартап. Это тесно связано с процессом разработки продукта, наймом квалифицированных сотрудников, привлечением капитала и многи...
Twitter упрощает описание правил безопасности, конфиденциальности и подлинности Разработчики Twitter объявили о том, что для облегчения понимания правил платформы было принято решение о сокращении их описаний. Теперь описание каждого правила популярной социальной сети состоит из 280 символов или меньше.
Визуализация сортировок обменами В данной статье рассматриваются различные варианты сортировки обменами, а также даётся описание простого графического приложения (processing.js) с примерами сортировок. Перед прочтением рекомендую ознакомиться со статьями: → Сортировка обменами → Пузырьковая сортировка ...
Линейная регрессия и методы её восстановления Источник: xkcd Линейная регрессия является одним из базовых алгоритмов для многих областей, связанных с анализом данных. Причина этому очевидна. Это очень простой и понятный алгоритм, что способствует его широкому применению уже многие десятки, если не сотни, лет. Идея зак...
Как быстро печатать документы на Mac Automator способен на многое Automator — это невероятно мощный инструмент для автоматизации действий в macOS. Возможности этой утилиты, фактически, ограничены лишь вашей фантазией. И мы сегодня убедимся в этом в очередной раз — создав «умную» папку для быстрой пе...
Check Point Falcon Acceleration Cards — ускоряем обработку трафика Относительно недавно мы публиковали статью про Check Point Maestro, новую масштабируемую платформу, которая позволяет практически линейно наращивать “мощность” шлюзов Check Point. Однако это не единственная технология увеличения производительности. Еще в 2018 году были ано...
Ускорение рутинных HR-процессов с помощью RPA и BluePrism В IT-компаниях и банках множество разных процессов. И если разработку софта и создание дизайна еще можно успешно оптимизировать с помощью гибких методологий (если их правильно внедрить и использовать), то некоторые вещи Agile так же быстро ускорить не может. Например, HR-про...
[Из песочницы] Make it True — Разработка логической игры на Unity Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации. Осторожно, много текста! Статья не являются руководством или уроком, хотя надеюсь что читатели смогут в...
[Перевод] Что такое коэффициент скорости обучения и как он улучшает характеристики глубокого обучения? Данная статья представляет собой мою попытку выразить свой взгляд на следующие аспекты: Что такое коэффициент скорости обучения и каково его значение? Как подбирать данный коэффициент при обучении моделей? Почему необходимо менять коэффициент скорости обучения в процесс...
Веб-разработчики пишут небезопасный код по умолчанию «Если хотите, я могу зашифровать пароли» Некоторые разработчики, которым дали прямое указание применить криптографию, использовали шифрование парольной базы с помощью Base64 Когда в СМИ появляется информация об очередной утечке данных, всегда вызывает недоумение, почему ко...
Spring Boot 2: чего не пишут в release notes Когда у масштабного проекта происходит масштабное обновление, всё никогда не бывает просто: неизбежно возникают неочевидные нюансы (проще говоря, грабли). И тогда, как бы хороша ни была документация, с чем-то поможет только опыт — свой или чужой. На конференции Joker 2018...
[Из песочницы] Два процента «кота» или кто сфотографировал Мастера Йоду? В 2016 из-за давней мечты о видео-играх и «хайпа» вокруг AI я начал изучать Python. Computer Science is Fun потому только неделю назад я обучил первую recognition модель, но без использования Python (в computer science много соблазнов). Как и предсказывал Андрей Себрант (Ya...
Ученые поняли, как мозг запоминает последовательность событий Наша память является крайне интересным с точки зрения медицины и физиологии явлением. С одной стороны медики прекрасно осведомлены о принципах ее работы. С другой же, если попытаться «копнуть глубже», то конкретные механизмы функционирования тех или иных процессов...
[Перевод] 9 правил крутого расширения для Visual Studio Крутые расширения Visual Studio имеют несколько ключевых признаков, которые отличают их от остальных. Они выглядят и на самом деле хорошо продуманы, функциональны и надежны. Кроме того, они делают то, что должны, до уровня совершенства и нативно вписываются во внутренние фун...
[Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной с...
[Перевод] Опыт кандидата при рекрутинге разработчиков программного обеспечения. Часть 1 День добрый, друзья. Сегодняшняя публикация будет не совсем типичной для нашего блога, потому как речь пойдет о рекрутинге разработчиков ПО, а точнее о практическом опыте кандидата. И приурочена данная статья к запуску нового потока по курсу «IT-Recruiter». Было доказано,...
Что такое RFID и для чего она используется? Если вы купили визитницу, бумажник или кошелек, на бирке которого (или на нем самом) сказано, что здесь есть функция блокировки RFID, вы, вероятно, зададитесь вопросом, а что это, вообще, за RFID такой и будут ли ваши кредитные и дебетовые карты в безопасности рядом с этой ...
Модуль подводного ультразвукового дальномера. Часть вторая В первой части мы описали процесс разработки тестового варианта модуля подводного дальномера. Пришло время поделиться информацией о второй версии модуля, поскольку заявленные в первой статье предполагаемые изменения мы реализовали. Читать дальше →
Реализация горячей перезагрузки С++ кода в Linux и macOS: копаем глубже *Ссылка на библиотеку и демо видео в конце статьи. Для понимания того, что происходит, и кто все эти люди, рекомендую прочитать предыдущую статью. В прошлой статье мы ознакомились с подходом, позволяющим осуществлять "горячую" перезагрузку c++ кода. "Код" в данном случае — ...
[Из песочницы] Делаем простой Circuit Breaker на базе кеша в Spring Эта статья для тех, кто использует в своем приложении эффективный кеш и хочет простым добавлением 1 класса в проект добавить стабильности не только приложению, но и всему окружению. Если вы узнали себя, читайте дальше. Что такое Circuit Breaker Читать дальше →
Magento 2: импорт продуктов прямо в базу В предыдущей статье я описал процесс импорта продуктов в Magento 2 обычным способом — через модели и репозитории. Обычный способ отличается весьма низкой скоростью обработки данных. На моём ноутбуке выходило примерно один продукт в секунду. В данном продолжении я рассматрива...
[Из песочницы] Учимся стандарту проектирования — Entity Relationship Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году. По ходу статьи простым языком на простых примера...
Кто есть кто в ИТ? На современном этапе развития промышленной разработки программного обеспечения можно наблюдать многообразие производственных ролей. Их число растет, классификация усложняется с каждым годом, и, естественно, усложняются процессы подбора специалистов и работы с кадровым поте...
Бизнес-процессы в enterprise компаниях: домыслы и реальность. Проливаем свет с помощью R Краткая заметка по теме business process mining в контексте роста интереса к концепции "digital twin". В силу периодического выплывания этой темы считаю целесообразным поделиться подходами к решению. Постановка задачи Ситуация предельно проста. Есть компания X (Y, Z, ...)....
[Перевод] Распределенная трассировка в Istio Примечание от нашей редакции переводов: в представляемой статье описывается закрытый продукт конкретной компании и, к сожалению, пока нет никаких данных о том, что его когда-либо планируют открывать — в столлмановском понимании этого слова. Тем не менее, нам показалось оче...
Asterisk. Dialplan Askozia 6. Исходящие звонки В статье пойдет речь о бесплатной АТС Askozia версии 6. При разработке телефонной станции одной из первых задач была организация исходящих звонков. Как это было В старой версии Askozia использовались стандартные “шаблоны” dialplan. X! — все номера телефонов XXX — трехзна...
Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...
OS1: примитивное ядро на Rust для x86. Часть 3. Карта памяти, Page fault exception, куча и аллокации Первая часть Вторая часть Тема сегодняшнего разговора — работа с памятью. Я расскажу про инициализацию директории страниц, маппинг физической памяти, управление виртуальной и мою организацию кучи для аллокатора. Как я уже говорил в первой статье, я решил использовать страниц...
Фильтр Калмана для минимизации энтропийного значения случайной погрешности с не Гауссовым распределением Введение На Habr математическое описание работы фильтра Калмана и особенности его применения рассматривались в следующих публикациях [1÷10]. В публикации [2] в простой и доходчивой форме рассмотрен алгоритм работы фильтра Калмана (ФК) в модели «пространства состояний», Сл...
[Перевод] Логическая репликация между версиями PostgreSQL Есть разные подходы к обновлению PostgreSQL, но некоторые приводят к простою приложения. Если нужно избежать простоя, используйте для обновления репликацию — логическую или физическую (потоковую), в зависимости от сценария. В этой статье мы рассмотрим разницу между логическ...
Ученые раскрыли неожиданный факт о галлюцинациях Термин «галлюцинация» был впервые введен французским психиатром Жаном Эскиролем в далеком 1817 году. За все прошедшее время ученые так и не смогли точно определить, из-за чего именно возникают визуальные образы, и что в этот момент происходит в мозгу человека. Исследователи...
Windows 10 получит улученный интерфейс сопряжения Bluetooth Предыдущие выпуски Windows поставляются с простым процессом сопряжения Bluetooth, который требует от нас ввода кода сопряжения после сканирования устройства. В обновлении Windows 10 April 2018 Update появилась функция «Swift Pair», которая превратила несколько шагов сопряжен...
[Перевод] Структурирование React-приложений Материал, перевод которого мы сегодня публикуем, раскрывает подходы, применяемые его автором при структурировании React-приложений. В частности, речь здесь пойдёт об используемой структуре папок, об именовании сущностей, о местах, где располагаются файлы тестов, и о других п...
CMake и C++ — братья навек В процессе разработки я люблю менять компиляторы, режимы сборки, версии зависимостей, производить статический анализ, замерять производительность, собирать покрытие, генерировать документацию и т.д. И очень люблю CMake, потому что он позволяет мне делать всё то, что я хочу....
Наконец, создание событий в Google Календаре на Android станет работать по-человечески Взаимодействовать с рассылкой приглашений на встречи в Google Календаре со смартфона всегда было непростой, а иногда и невыносимой задачей, в основном потому, что во время всего процесса календари других людей на крошечном экране мобильного устройства просто перекрывались д...
Ищем баги в PHP коде без статических анализаторов Моя самая любимая часть в статическом анализе кода — это выдвижение гипотез о потенциальных ошибках в коде с последующей их проверкой. Пример гипотезы: Функции strpos легко передать аргументы в неправильном порядке. Но есть вероятность, что даже на нескольких миллионах стро...
[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...
Как правильно сделать бэкап данных Android-смартфона Очень важно иметь резервную копию файлов для того, чтобы ничего не потерять Согласитесь, не очень весело из-за поломки телефона вдруг взять и лишиться всех важных номеров контактов, документов, фотографий и видеозаписей. Зачастую среди всех этих файлов могут быть и такие, ко...
Основы формата GLTF и GLB, часть 1 Что такое GLTF и GLB? GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. Данный формат хоро...
Настройка vscode под stm32 на примере отладочной платы stm32f429i-disco Всем привет! Сегодня рассмотрим настройку удобной и красивой среды разработки для программиста микроконтроллеров с помощью набора полностью бесплатных инструментов разработки. Все шаги проверены на виртуальной машине со свежеустановленной Ubuntu 16.04 xenial desktop. Подраз...
[Из песочницы] Любительская голография — начало пути Хочу рассказать об одном из своих интересов – оптической голографии. Нет, это про не те голограммы, что в «Звёздных войнах», или в пирамидках на экранах мобильных телефонов, не про проекцию на плёнке, а то, о чём рассказывает Википедия в соответствующей статье. Не буду вдава...
Техподдержка 3CX отвечает — 5 правил безопасности IP-АТС Взломы АТС 3CX, которые приводят к серьезным последствиям, случаются достаточно редко. Тем не менее, наши клиенты иногда становятся жертвами мошенников. Как показала практика, в основном это связано или с неверными настройками системы, или с использованием устаревшей версии ...
[Из песочницы] Stand-up, Scrum, Daily meetings — что это и для чего Часто стал замечать, что люди все больше и больше перетягивают методологии и практики из IT сферы в производственные, банковские, сферы услуг и прочие. Одной из самых распространенных «заимствованных» из мира IT практик является проведение Scrum, Daily, Stand-up митингов ( к...
ITIL 4: подход к измерению практик Если вы прошли какой-либо из наших курсов по библиотеке ITILV3, вы наверняка помните одну из важных концепций, которую мы разбираем и применяем — концепцию, в соответствии с которой ключевые показатели эффективности (key performance indicators, KPI) процессов фор...
Как происходит активация office Пакет Microsoft Office знаком каждому пользователю ПК, этот многозадачный инструмент предоставляет широкие возможности для работы. В пакет входит ряд программ, которые используются в различных сферах. Так, активация office поможет вам получить этот многозадачный и удобный ин...
[Перевод] Кеширование в Laravel: основы плюс tips&tricks Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содер...
Атомик дизайн-митап — буквы, цвета, форма, команда и деньги Привет! Приглашаем вас на первый митап для дизайнеров в Авито. Он посвящён важным составляющим процесса и профессии в целом — «дизайн-атомам» (не путать с атомарным дизайном, описанным Брэдом Фростом). В первом выпуске — реальные кейсы не только и не столько об эстетике, ско...
[Из песочницы] Жизнь на частицах Всем привет! Сегодня я расскажу о своих экспериментах с системами частиц. Основной целью было нахождение простых правил, которые бы порождали интересное поведение. Классический пример системы с простыми правилами и сложным поведением — клеточные автоматы, именно на них я и...
Тестирование Flutter-приложений. Начало Про Flutter вспоминают тогда, когда нужно быстро сделать красивое и отзывчивое приложение сразу для нескольких платформ, но как гарантировать качество «быстрого» кода? Вы удивитесь, но во Flutter есть средства для того, чтобы не только обеспечить качество кода, но и гарантир...
[Из песочницы] Визуализация времени возрождения Рошана В данной статье рассматривается перехват функций графического API на примере DirectX 9 под x64 применительно к игре Dota 2. Будет подробно рассказано, как внедриться в процесс игры, как изменить поток выполнения, приведено краткое описание внедряемой логики. В конце поговор...
Граф Скоринг де ля Фер или исследование на тему кредитного скоринга, в рамках расширения кругозора. Ч.3 Часть третья, в которой Атос выпал в осадок, а Граф де ля Фер мудрит с алгоритмами. UPD Часть первая здесь UPD Часть вторая здесь AntipovSN and MihhaCF Вступление от авторов: Добрый день! Сегодня мы продолжаем цикл статей, посвященных скорингу и использованию в оном теории г...
Google следит за тем, что вы покупате. Как запретить ей это делать Бояться слежки – сервисами Google не пользоваться. Этим постулатом руководствуется большинство пользователей сервисов поискового гиганта. Ну и что, что следят, да и чего нам бояться, если ничего противозаконного мы не делаем, думают они. Но объемы собираемой Google информац...
Производительность фронтенда: разбираем важные метрики Обычно под производительностью понимают количество операций за определенный интервал времени и чем их больше, тем лучше. Но такое определение, да и подход в целом, мало применим к фронтенду, потому что у каждого пользователя будет свой «фронтенд». Именно об этом я и хочу пог...
[Перевод] Пример создания Makefile для Go-приложений В этом руководстве мы рассмотрим, как разработчик Go может использовать Makefile при разработке собственных приложений. Что такое Makefile-ы? Makefile — невероятно полезный инструмент автоматизации, который можно использовать для запуска и сборки приложений не только на G...
Искусство парсинга или DOM своими руками Привет, Хабр! Недавно я задался идеей создать простой язык разметки наподобие markdown, который отлично подходил бы для моих задач, а именно — быстрого написания лекций с форматированием и возможностью вставки математических формул «на лету», с применением одной лишь клавиат...
TSMC представила техпроцесс 6 нм Компания TSMC представила свой новый техпроцесс — 6 нм (N6). Используя технологию EUV (литография в жестком ультрафиолетовом диапазоне), производитель смог обеспечить повышение плотности расположения транзисторов в кремнии на 18% относительно семинанометрового тех...
[recovery mode] Пример контент-стратегии для продвижения интернет-магазина оружейных запчастей О роли контента в SEO спорят много, жарко и на разных уровнях: Решает ли он что-нибудь вообще? Если решает, то можно ли им пренебречь как малозначимым фактором? Если нельзя, то сколько нужно контента в знаках? Если не получается столько создать, то можно ли красть? Если не...
О правилах делегирования задач в бизнесе рассказал сооснователь CloudPayments Дмитрий Спиридонов Правилами ведения бизнеса и навыками по делегированию задач поделился Дмитрий Спиридонов. «Если лидер хочет развиваться дальше и масштабировать компанию, то нужно начать делегировать. Я понял, что мне не хватает 24 часов в сутки, чтобы заниматься и микроменеджментом, и страт...
Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander Приглашаем попробовать найти ошибку в очень простой функции из проекта GNU Midnight Commander. Зачем? Просто так. Это забавно и интересно. Хотя нет, мы соврали. Мы в очередной раз хотим продемонстрировать ошибку, которую с трудом находит человек в процессе code review, но л...
0, 0, 1, 0, 2, 0, 2, 2, 1, 6, 0, 5, 0, 2, 6, 5, 4, 0, 5, 3, 0, 3, 2, 9, 0, 4, 9, 3, 6, 14, 0, 6, 3, 5, 15, 0, 5, 3, 5… Есть два мужика с именами «Van Eck». Первый, в 1985 году показал всему миру как за 15 долларов перехватывать данные с монитора (Van Eck phreaking), второй, в 2010 придумал хитрую последовательность (Van Eck's sequence). Круче простоты задания этой последовательности могут бы...
Следующее обновление Windows 10 повысит эффективность поиска Windows Microsoft выпустила Windows 10 20H1 Build 19025 для инсайдеров с рядом исправлений и улучшенной функцией поиска Windows. В отличие от ноябрьского обновления 2019 года, Windows 10 20H1 является следующим большим обновлением, и релиз ожидается уже весной 2020 года, но обновлен...
Livy — недостающее звено цепи Hadoop Spark Airflow Python Привет всем, немного информации "из под капота" дата инженерного цеха Альфастрахования — что будоражит наши технические умы. Apache Spark — замечательный инструмент, позволяющий просто и очень быстро обрабатывать большие объемы данных на достаточно скромных вычислительных ...
TDMS Фарватер. Методики PMBOK и российские проектные организации TDMS — известная объектно-ориентированная среда для хранения и управления разнообразными данными и процессами. После настройки объектов и бизнес-процессов можно применять систему TDMS практически в любой предметной области. Настройка – это описание на языке TDMS объектов пре...
Решето Эратосфена за O(n). Доказательство В комментариях к одному из прошлых постов о решете Эратосфена был упомянут этот короткий алгоритм из Википедии: Алгоритм 1: 1: для i := 2, 3, 4, ..., до n: 2: если lp[i] = 0: 3: lp[i] := i 4: pr[] += {i} 5: для p из pr пока p ≤ lp[i] и p*i ≤ n: 6: lp[...
Больше статистики сайта в своём маленьком хранилище Анализируя статистику сайта, мы получаем представление о том, что происходит с ним. Результаты мы сопоставляем с другими знаниями о продукте или сервисе и этим улучшаем наш опыт. Когда анализ первых результатов завершён, прошло осмысление иформации и сделаны выводы, начинае...
Apple существенно ускорила процесс ремонта клавиатур Butterfly в своих ноутбуках Как сообщает источник, компания Apple немного изменила свои правила сервисного обслуживания для владельцев ноутбуков MacBook и MacBook Pro с клавиатурами Butterfly. Если раньше при ремонте (фактически при замене) таких клавиатур ноутбуки отправлялись в официальные серв...
Microsoft подтвердила новые проблемы с «Пуском» и «Поиском» в Windows 10 (1903) Так уж получается, что последнее время накопительные обновления для Windows 10 May 2019 Update не только исправляют ошибки, но и приносят с собой новые проблемы. В обновлении KB4512941 (сборка 18362.329) от 30 августа 2019 года некоторые пользователи столкнулись с высокой н...
[Из песочницы] Sourcery для автоматического конвертирования в структуры объектов Realm В интернете, да и даже на Хабре, есть куча статей о том, как работать с Realm. Эта база данных достаточно удобная и требует минимальных усилий для написания кода, если ей уметь пользоваться. В этой статье будет описан метод работы, к которому пришел я. Читать дальше →
[Перевод] В коре вашего мозга 17 млрд компьютеров Нейросеть нейросетей Изображение brentsview под лицензией CC BY-NC 2.0 В мозг поступает информация из внешнего мира, его нейроны получают данные на входе, производят обработку и выдают некий результат. Это может быть мысль (хочу карри на ужин), действие (сделать карри), и...
[Перевод] Купите электронное устройство, и получите данные бесплатно: на подаренных гаджетах остаётся личная информация Если у вас скопились старые компьютеры, флэшки, телефоны или жёсткие диски, а вы ими не пользуетесь, вы можете захотеть отнести их в комиссионку на продажу, в благотворительный магазин, продать самостоятельно или отправить на переработку. Но задумывались ли вы, что происхо...
[Из песочницы] Машинное обучение для менеджеров: таинство сепуления Введение Очередной раз работая с компанией, делающей проект, связанный с машинным обучением (ML), я обратил внимание, что менеджеры используют термины из области ML, не понимая их сути. Хотя слова произносятся грамматически правильно и в нужных местах предложений, однако их ...
Univention Corporate Server (UCS) — установка простого и удобного LDAP сервера с web-панелью и его связка с Nextcloud Рано или поздно на любом маленьком или среднем предприятии возникает задача по созданию единого центра авторизации пользователей в многочисленных сервисах и порталах компании. Среди кандидатов на такой центр авторизации сразу приходит в голову Microsoft Active Directory ил...
Как мы тестируем Сбербанк Онлайн на iOS В предыдущей статье мы познакомились с пирамидой тестирования и тем, какую пользу несут автоматизированные тесты. Но теория, как правило, отличается от практики. Сегодня мы хотим рассказать о своем опыте тестирования кода приложения, которым пользуются миллионы пользовател...
92,7% делают бэкапы, потери данных выросли на 30%. Что не так? В 2006 году на крупной российской конференции доктор технических наук выступил с докладом о нарастающем информационном пространстве. В красивых схемах и примерах учёный рассказывал о том, что через 5-10 лет в развитых странах информация будет поступать каждому человеку в кол...
Хранилище key-value, или как наши приложения стали удобнее Тот, кто разрабатывает на Voximplant, знает о концепции «приложений», которые связывают друг с другом облачные сценарии, телефонные номера, пользователей, правила и очереди звонков. Проще говоря, приложения – это краеугольный камень разработки на нашей платформе, входная т...
Подходы к учёту простоя услуг В редакцию портала поступил вопрос: Добрый день, в процессе заключения SLA есть необходимость согласования подхода к корректному учету простоев ИТ-услуги (и даже сервисной операции), а именно: как справедливо определить, когда услуга простаивает полностью, а когда — частич...
Поиск задач в JIRA (простым языком). Часть 1: Быстрый и базовый поиск В последнее время JIRA активно используют организации, не имеющие прямой связи с IT. Специалистам, не знакомым ранее с JIRA, бывает сложно понять структуру JQL-запросов, если не привести примеры. Для упрощения восприятия, мы решили собрать всю документацию, локализовать и р...
Украшательство Ультумбочки Перебирая барахло в диване, мне посчастливилось найти свой старый выжигательный аппарат. Желание вспомнить былое увлечение, вместе с отсутствием материала, привело меня к фанерной стенке Ультумбочки.И вот что из этого вышло.Это тот самый аппарат, Узор-1.Эскиз для выжигания б...
Обзор Стрелок Снайпер. Учимся точно стрелять Мне очень понравилась игра Стрелок Снайпер, хотя у нее достаточно много недостатков. Например, у разработчиков либо проблемы с движком, либо просто скудная фантазия, так как уровни повторяются и не приносят никакого удовольствия буквально после 50 уровня. То есть, если вы хо...
Почему ученым не следует полагаться на ИИ в вопросах научных открытий, по крайней мере, сейчас Мы живем в золотом веке научных данных, окружив себя огромными запасами генетической информации, медицинских изображений и данных об астрономических наблюдениях. Текущий возможности алгоритмов машинного обучения позволяют искусственному интеллекту максимально быстро и в то ...
Эксплуатация Microsoft Edge от CVE до RCE на Windows 10 В рамках данной статьи мы достаточно подробно рассмотрим процесс написания эксплоита под уязвимость в Microsoft Edge, с последующим выходом из песочницы. Если вам интересно узнать, как выглядит этот процесс, то welcome под кат! Читать дальше →
SonarQube и IntelliJ IDEA: правильная интеграция SonarQube — отличный инструмент для внедрения статического анализа кода в процесс разработки ПО. Он поддерживает как используемую у нас в компании Java, так и большое количество других языков программирования. На данный момент этот инструмент плотно вошёл в нашу жизнь, сле...
Дискретная математика для WMS: алгоритм сжатия товаров в ячейках (часть 1) В статье мы расскажем, как решали проблему нехватки свободных ячеек на складе и о разработке алгоритма дискретной оптимизации для решения такой задачи. Расскажем о том, как мы «строили» математическую модель задачи оптимизации, и о том с какими трудностями мы неожиданно ст...
[Перевод] Создание ритм-игры в Unity Введение Итак, вы хотите или пытались создать ритм-игру, но игровые элементы и музыка быстро рассинхронизировались, и теперь вы не знаете, что делать. Эта статья вам в этом поможет. Я играл в ритм-игры со старшей школы и часто зависал на DDR в местном зале аркадных автомато...
Почему после мяты мы чувствуем холод во рту? Если пожевать листик мяты, то вы почувствуете, как по вашему рту начинает распространяться приятная прохлада. Это происходит из-за вещества ментола, которое содержится в мяте и воздействует на систему рецепторов, которые находятся на слизистых оболочках во рту. Ученые устан...
Не работает WhatsApp. Что делать? Если на вашем Android-смартфоне не работает WhatsApp, на то может быть несколько возможных причин. К счастью, все они могут быть исправлены относительно быстро. Если мессенджер дает сбой, вы не можете отправлять сообщения или испытываете какие-либо другие проблемы, просто с...
Как быстро переименовать группу файлов в macOS Automator можно по праву назвать одним из самых недооцененных приложений на macOS. Увы, но многие пользователи не догадываются о скрытых возможностях данной утилиты. Тем не менее потенциал заложенный в программу действительно огромен. Сегодня мы расскажем о службе, которая ...
Как клетки мозга составляют карту воспоминаний? Так выглядят карта нейронов в мозге человека Человеческая память избирательна и тому есть масса причин. Недавно нейробиологи обнаружили любопытный аспект того, как работает наша память. Когда мозгу нужно вспомнить информацию, относящуюся к определенному месту, отдельные нейр...
Как строить, развертывать и тестировать Waves RIDE dApp Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки. Схема разработки dApps и обычных приложений почти не отличается: Пишем код Пишем автоматизированное тестирование Запуска...
Google объяснила, как тряска рук делает фотографии со смартфона лучше Зачем камерам стабилизация? Конечно же, для того чтобы нивелировать естественную тряску рук и помочь вам сделать более четкую фотографию в условиях съемки без штатива. Это бывает полезно не только вечером, когда необходима более длинная выдержка, но и днем. Поэтому многие п...
[Перевод] Алгоритм размещения тайлов на основе ограничений В этом посте описывается алгоритм, используемый в Generate Worlds — инструменте, позволяющем пользователям создавать и исследовать процедурные миры построением небольших множеств воксельных тайлов. Я приведу краткое описание алгоритма, а в следующих постах расскажу о его пр...
Редкая патология показала, как именно мозг различает цвета Вы никогда не задумывались о том, как мы различаем цвета и какие названия им даем? Ученые до сих пор не уверены, что эти процессы происходят в головном мозге. Однако необычная патология, выпавшая на долю перенесшего инсульт пациента, позволяет предположить, что нейронные про...
Уволен через автоматизацию Вспомним, что такое автоматизация. Возьмем, например, определение из Википедии. Автоматизация — одно из направлений научно-технического прогресса, использующее саморегулирующие технические средства и математические методы с целью освобождения человека от участия в процессах...
[Перевод] Модульные спрайтовые персонажи и их анимация Эта запись девлога целиком посвящена моей системе анимации персонажей, она наполнена полезными советами и фрагментами кода. За последние два месяца я создал целых 9 новых действий игрока (такие забавные вещи как блокировка щитом, уворачивание в прыжке и оружие), 17 новых но...
Компас команды Привет! Меня зовут Маша, я Scrum Master в ivi. Работаю с командами биллинга и веб-разработки и помогаю ребятам организовывать рабочие процессы так, чтобы не только эффективно достигать целей, которые ставит бизнес, но и получать удовольствие от того, что ты делаешь. В своих ...
Перечень лучших автоматов для настоящих охотников за адреналином на Вулкан Сейчас на планете Земля невозможно встретить человека, который бы не проводил часть своего свободного времени в интернете. Отдых в сетях всемирной паутины дает нам шанс расслабиться. Отвлечься от насущных хлопот и забот и посвятить немного времени себе. Особенно приятно пров...
Как и зачем чистить кеш и данные приложений на Android У каждого Android-смартфона есть менеджер приложений, доступ к которому можно получить через меню настроек. Обычно он располагается в самом начале списка, хотя его местонахождение может немного отличаться в зависимости от устройства. Но как только вы добреетесь до него, зна...
[Из песочницы] Анализ эмоциональной окраски отзывов с Кинопоиска Вступление Обработка естественного языка (NLP) является популярной и важной областью машинного обучения. В данном хабре я опишу свой первый проект, связанный с анализом эмоциональной окраски кино отзывов, написанный на Python. Задача сентиментного анализа является довольно р...
[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 28. Углубленное изучение AСL Сегодня мы продолжим тему видеоурока 27-го дня и займемся углубленным изучением ACL: мы немного поговорим об обратной маске Wildcard Mask, расширенном списке ACL, настройке расширенного списка ACL и командах, помогающих диагностировать неполадки в дизайне сети. На предыдущем...
Google, пожалуйста, перестань лгать обо мне Эта история касается американского ученого Эхуда Рейтер, который опубликовал в своём блоге пост с критикой Google. Несколько лет назад одна из его дочерей рассказала ему, что поисковик Google в карточке с информацией отображает краткое описание о нём, полагая, что Эхуд явля...
Полит-электротехника. Моделирование социально-политических процессов электрическими цепями Электротехника и политика. Наука развивается однобоко, например электротехника имеет фундаментальную базу и удобные прикладные инструменты моделирования, а политика лишена всего этого. Когда-нибудь человечество создаст полит-технику (вначале полит-физику) и все полит-процес...
Как определить возраст вашей собаки в человеческом эквиваленте? Средняя продолжительность жизни небольшой домашней собаки составляет приблизительно 17 лет Если у вас когда-либо было домашнее животное, вы наверняка могли заинтересоваться вопросом по поводу того, сколько же лет могло быть вашему питомцу в тот или иной период его жизни в че...
Как мы спроектировали и реализовали новую сеть на Huawei в московском офисе, часть 2 В предыдущих сериях: «Джет» перешел на новую сеть на базе небезызвестного вендора. Как происходил процесс аудита систем, сбора «хотелок» и укрощения «заповедника мутантов» читайте в первой части. В этот раз я расскажу о процессе миграции пользователей (более 1600 человек) ...
[Из песочницы] Простой вариант реализации многопоточности на PHP Многопоточность в PHP отсутствует «из коробки», поэтому вариантов её реализации было придумано великое множество, включая расширения pthreads, AzaThread (CThread), и даже несколько собственных наработок PHP программистов. Основным минусом для меня стало слишком больше колич...
[Из песочницы] Считаем сменный график работы в уме Много людей, у которых график работы сменный. Проблема такого графика – сложность быстро посчитать для любой даты какой это день: рабочий или выходной. Есть много онлайн сервисов для расчета сменного графика, но еще проще это сделать в уме. В этой статье будет рассмотрен а...
Силовой модуль разработчика. Работа над ошибками Приветствую! В моих предыдущих статьях (раз и два) вы ознакомились с силовым модулем полумоста, который позволяет построить преобразователь практически любой топологии. Я показал как можно быстро и без особых усилий получить макет силового преобразователя и обкатать идею, а ...
Топологическая оптимизация двигателя Стирлинга. №2. Любой мог додуматься, но не суть.Не суть, идея до смешного проста, но имеет отношение к топологической оптимизации====quote====Если говорить сухим академическим языком, топологическая оптимизация – это процесс изменения конструкции, структуры детали и ее варьирующихся параме...
Bleentoro 1.04f Bleentoro — это простая логическая игра. В ней нет ни рекламы, ни микротранзакций. Преимущества: — Легкие для понимания правила — Кампания и песочница — Простой интерфейс — Плавные анимации
Apple Tag будет работать только с iPhone 11 Apple Tag — новый трекер от Apple для поиска пропавших вещей Если вы пользуетесь техникой Apple, то наверняка знаете, что компания регулярно ограничивает работу новых технологий исключительно новыми устройствами. Так в Купертино подчёркивают превосходство новинок над а...
[Из песочницы] Краткое введение в рекурсию. JavaScript Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи "A Quick Intro to Recursion in Javascript" Yazeed Bzadough. Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр...
[Перевод] Математики доказали, что многочлены не помогут взломать RSA Недавно в журнале Quanta вышел материал, в котором автор рассказывал про удивительный с точки зрения неискушенных читателей феномен, доказанный математиками. Его суть в том, что почти все многочлены определенного типа — неприводимые, то есть не поддаются разложению. Это док...
[Из песочницы] Алгоритм Дугласа-Пекера Предисловие Не так давно пришлось поработать с упрощением полигональной цепи (процесс, позволяющий уменьшить число точек полилинии). В целом, данный тип задач очень распространен при обработке векторной графики и при построении карт. В качестве примера можно взять цепь, неск...
Настройка программы Asymptote Из всех хабов этот показался мне наиболее подходящей для этой темы. Итак. Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Я опишу этот процесс для Asymptote 2.35. Итак, вот я скачал эту программу, установил. Если м...
Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...
Как настроить Continuous Deployment для своего проекта: личный опыт Перевели для вас статью Юлиуса Минмо о настройке непрерывной интеграции (Continuous Deployment) для своего проекта. Автоматизация позволяет сэкономить кучу времени и сил. Статья будет полезна, в первую очередь, начинающим программистам. Непрерывная интеграция — отличная ...
[Из песочницы] Абстрактная фабрика на пальцах Написать данную статью меня заставили две причины. Совсем недавно я познакомился с паттерном Абстрактная фабрика. Как говорится – «Не умеешь сам, научи товарища». Известно, что один из лучших способов закрепления материала – это объяснение кому-либо ранее изученного. Вторая ...
Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...
[Из песочницы] Как выбрать широкополосный модем для беспилотного летательного аппарата (БЛА) или робототехники Задача передачи большого объема данных с борта беспилотного летательного аппарата (БЛА) или наземной робототехники не редкость в современных приложениях. В данной статье рассматриваются критерии выбора широкополосных модемов и сопутствующие проблемы. Статья написана для разр...
k3s – маленький, но сертифицированный Kubernetes от Rancher Labs Требования: Linux 3.10+ 512 MB of ram per server 75 MB of ram per node 200 MB of disk space x86_64, ARMv7, ARM64 Rancher Labs выпустила новый продукт для Edge, IoT, CI с поддержкой ARM: k3s Нет поддержки Legacy/Alpha, есть замена etcd3 на sqlite по умолчанию (можно вк...
[Перевод] Руководство по логированию в Node.js Первая задача, с которой чаще всего сталкиваются разработчики, начинающие программировать на JavaScript, – как регистрировать события в журнале консоли с помощью метода console.log. В поисках информации по отладке кода на JavaScript вы найдёте сотни статей в блогах, а также...
Зарплаты разработчиков в Армении Зарплаты в ИТ секторе Армении не поддаются общим зарплатным условиям, установленным в стране: порядок цифр значительно выше средней зарплаты, зарплаты сопоставимы, если не с московскими, то региональными по России, с зарплатами в tech-секторе Беларуси. Рассчитали средние за...
5 лучших способов синхронизации iPhone с компьютером Синхоронизация iPhone и Mac Операционная система iPhone (iOS) и макбука (MacOS) прекрасно сочетаются и работают вместе. Чтобы синхронизировать два устройства и быстро передать необходимую информацию – файлы, музыку, документы, можно воспользоваться одним из нескольких способ...
Ещё одна статья о временах жизни в Rust Первые месяцы начинающего растомана как правило сводятся к ударам головой о концепцию времени жизни и владения. Некоторые на этом ломаются, но тем, кто смог пережить — это уже не кажется чем-то необычным или неправильным. Я опишу ключевые моменты, которые, как мне кажется, п...
Изменение схемы таблиц PostgreSQL без долгих блокировок. Лекция Яндекса Если одновременно выполняется много операций по изменению схемы БД, сервис не может корректно работать на запись. Разработчик Владимир Колясинский объяснил, какие операции в PostgreSQL требуют длительных блокировок и как команда Яндекс.Коннекта обеспечивает почти стопроцентн...
Как внедрить унифицированные процессы с учетом всех особенностей компании? С выходом ITIL v4 хотелось бы отдать дань уважения великой методологии и рассказать об российском ITSM-опыте, для чего и как его применять в сегодняшних условиях компаниям, идущим по пути цифровых преобразований. Для последовательного раскрытия обозначенной темы в предлагае...
[Перевод] Радикальные советы о том, как меньше зависать в телефоне Начав использовать эти принципы, я наконец вернул себе собственную жизнь Он лежит в кармане. Лежит на столе. Ждет вас в подстаканнике машины. Вам хочется использовать его. Давайте, возьмите его и облегчите скуку или дискомфорт. Можно даже просто листать заголовки новостей...
Архитектура компьютера. Цифровой логический уровень Компьютер — это машина, которая может выполнять вычисления через исполнение примитивных операций. Она может понимать только два сигнала, которые принимаются за 0 и 1. Организация архитектур машин представляется как ряд уровней, каждый из которых надстраивается над нижележа...
Новое решение Informatica для больших данных стало доступным в России Решение обеспечивает сбор потоковых данных и их доставку всистемы работы с большими данными (Kafka, Hadoop, Cassandra) и системы Operational Intelligence (системы мониторинга операций в реальном времени). На российском рынке стало доступным новое решение Informatica для б...
Cockpit – упрощение типичных административных задач в ОС Linux через удобный веб-интерфейс В этой статье я расскажу про возможности инструмента Cockpit. Cockpit создан с целью облегчения администрирования ОС Linux. Если говорить кратко, то он позволяет выполнять наиболее типичные задачи администратора Linux через приятный веб-интерфейс. Возможности Cockpit: устано...
[recovery mode] Один способ вычисления логарифма по основанию 2 Вычисление логарифмов довольно распространённая операция в цифровой обработке сигналов. Чаще пожалуй приходится считать только свёртки (умножение с накоплением) и амплитуды с фазами. Как правило для вычисления логарифмов на FPGA применяется алгоритм CORDIC в гиперболическом ...
Использование DiagnosticSource в .NET Core: практика В предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection и SqlCommand и измерять время их выполнения. В настоящее время DiagnosticSource уже используется...
[Из песочницы] Визуализация зависимостей и наследований между моделями машинного обучения Несколько месяцев назад я столкнулся с проблемой, моя модель построенная на алгоритмах машинного обучения просто на просто не работала. Я долго думал над тем, как решить эту проблему и в какой-то момент осознал что мои знания очень ограничены, а идеи скудны. Я знаю пару де...
[Из песочницы] Откуда растут ноги у Java Memory Model Современное железо и компиляторы готовы перевернуть с ног на голову наш код, лишь бы он работал быстрее. А их производители тщательно скрывают свою внутреннюю кухню. И все прекрасно, пока код выполняется в одном потоке. В многопоточной среде можно волей-неволей наблюдать и...
[Перевод] Там, где сходятся доказательства, факты и воображение В математике, где доказательство – это всё, важны также и факты. Однако факты хороши, только пока хороша модель, а построение моделей – занятие ненадёжное. Так какого количества фактов будет достаточно? Можете ли вы найти следующее число в последовательности? 1, 2, 4, 8 ...
Промо коды от казино ВУЛКАН НЕОН Своих клиентов клуб азартных игр Вулкан Neon постоянно радует новыми и интересными акциями и выгодными предложениями. Казино всем своим клиентам дарит бонусы и призы за прохождение регистрации и за активное участие в играх. На сегодня предлагает казино Вулкан Неон промо код,...
Как ИИ помогает осваивать язык жестов Для любого человека язык жестов сложен для изучения. Дело в том, что используются не только жесты, но и мимика, а также артикуляция, плюс «язык тела». Значение передаваемой информации зависит от всех этих факторов. Существуют программы для изучения языка жестов, но многие ...
Первые кадры сверхбыстрого вращения молекулы: уникальное видео Используя точно настроенные импульсы лазерного света, международная команда ученых из четырех различных учреждений сумела снять сверхбыстрое вращение молекулы. «Мы записали целый молекулярный фильм с высоким разрешением, а в качестве пилотного проекта выбрали сверхбыстрое вр...
Анонс Windows 10 Insider Preview Build 18334 (Fast) Добрый вечер, друзья! В этот пятничный вечер компания Microsoft решила вновь порадовать нас новой инсайдерской сборкой Windows 10 19H1 с номером 18334, которая будет особенно интересна любителям игр, поскольку именно гейминга касаются все нововведения в этой сборке. Кроме э...
Метод бисекционного деления в тестировании Содержание Описание метода Применение тестировщиками Строка данных Файл Применение разработчиками Резюме Иногда баги сами нас находят. Вот мы впихали большую строку данных — и система подвисла. Это она из-за 1 млн символов упала? Или ей какой-то конкретный не понравилс...
Лучшие игры для тренировки вашего мозга Что наша жизнь? Игра! В данном случае — игра, которая поможет вам натренировать мозг Современный смартфон позволяет вам получить доступ ко множеству самых разных приложений. Вы можете читать в интернете интересные статьи (в том числе и на нашей страничке в Яндекс.Дзен)...
[Перевод] Как полиморфизм реализован внутри JVM Перевод данной статьи подготовлен специально для студентов курса «Разработчик Java». В моей предыдущей статье Everything About Method Overloading vs Method Overriding (“Все о перегрузке и переопределении методов”) были рассмотрены правила и различия перегрузки и переопре...
[Перевод] Как найти работу с релокацией в Европу: практический гайд для IT-специалистов Сам по себе поиск работы в сфере IT достаточно прост. Что же касается поиска вакансий с возможность релокации, здесь уже сложнее. Несмотря на то, что технологические компании по всему миру сейчас активно нанимают разработчиков и других IT-специалистов из-за рубежа, поиск так...
[Перевод] Как разрабатываются и производятся процессоры: проектирование ЦП Теперь, когда мы знаем, как работают процессоры на высоком уровне, настало время углубиться в разбор процесса проектирования их внутренних компонентов. Это вторая статья из серии, посвящённой разработке процессоров. Рекомендую изучить для начала первую часть, чтобы вы поним...
4. Нагрузочное тестирование Check Point Maestro Продолжаем цикл статей по решению Check Point Maestro. Мы уже опубликовали три вводных статьи: Check Point Maestro Hyperscale Network Security Типовые сценарии использования Check Point Maestro Типовой сценарий внедрения Check Point Maestro Теперь самое время перейти к ...
[Из песочницы] Рассылка Push-уведомлений с SpringBoot сервера Предисловие Приветствую Вас. Недавно передо мной стала задача — настроить Push-уведомления на сайте. С этим я столкнулся впервые и во много разобраться мне помогла эта статья. В ней же уже есть описание серверной стороны, но, в процессе изучения данной темы я обнаружил более...
Доступные варианты отдыха для всех с казино Вулкан В жизни каждого человека наступает тот момент, когда хочется не просто заняться ничего неделанием, но полностью отвлечься от бытовых и рабочих проблем. Как бы мы не стремились мыслить позитивно, замечать в каждом эпизоде жизни только положительное, всегда есть шанс устать от...
[Из песочницы] Создание Google пользователей из PowerShell через API Привет! В этой статье будет описана реализация взаимодействия PowerShell с Google API для проведения манипуляций с пользователями G Suite. В организации мы используем несколько внутренних и облачных сервисов. По большей части авторизация в них сводится к Google или Active ...
[Из песочницы] Создание REST API с Node.js и базой данных Oracle Привет, Хабр! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics». Часть 1. Создание REST API: основы веб-сервера Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав нескольк...
Shmatoosto 1.01b Shmatoosto — это набор из нескольких простых мини игр. В этой игре нет ни рекламы, ни микротранзакций. Преимущества: — Легкие для понимания правила — Мультиплеер вдвоем на одном экране — Простой интерфейс — Плавные анимации
Резервное копирование, часть 5: Тестирование bacula и veeam backup for linux В данной заметке будут рассматриваться различные "большие" программные средства для резервного копирования, включая коммерческие. Список кандидатов: Veeam Agent для Linux, Bacula. Будет проверяться работа именно с файловой системой, чтобы было удобно сравнивать с предыдущим...
Zero Bug Policy. Нет багов — нет проблем? Кто про что, а я про баги. В прошлом году я рассказывала вам про Багодельню — мероприятие, проводимое у нас в компании для чистки бэклога багов. Событие хорошее и полезное, но решающее проблему с багами разово. Мы провели уже шесть Багоделен, но количество участников постепе...
Это всё, что останется после тебя: криминалистические артефакты шифровальщика Troldesh (Shade) Если вы следите за новостями, то наверняка знаете о новой масштабной атаке на российские компании вируса-шифровальщика Troldesh (Shade), одного из самых популярных у киберпреступников криптолокеров. Только в июне Group-IB обнаружила более 1100 фишинговых писем с Troldesh, ...
Automator: Как перевести любой текст в аудиоформат Многие пользователи не догадываются, какие обширные возможности предоставляет такой мощный инструмент, как Automator. На первый взгляд программа достаточно сложна в освоении, однако разобравшись, можно увидеть, что управление происходит довольно интуитивно и наглядно. Сегод...
Спинномозговая жидкость «промывает» мозг, пока мы спим Наша центральная нервная система все еще полна загадок Впервые в истории современной медицины, ученым удалось понять, как спинномозговая жидкость циркулирует в головном мозге человека во время сна. При этом открытие ученых из Бостонского университета поможет не только лучше ...
SQL в CSV с помощью DBMS_SQL Часто при решении задач системной интеграции требуется представить некоторый объем данных в том или ином формате. При этом потребителем данных может быть кто угодно, а вот источником почти всегда является корпоративная база данных. К примеру, производитель может требовать у ...
Lazarus — простая анимация при помощи компонента TImageFragment Вместо предисловия В моей недавней статье Lazarus — пишем компонент для анимации спрайтов я описал процесс создания простого компонента TImageFragment, позволяющего отображать заданный фрагмент изображения. Продолжая выбранную тему, в этой статье я хочу показать, как легко ...
Проверка компетенций с помощью тестов – почему и как В своей статье я рассматривал 7 способов быстрой проверки компетенций IT-специалистов, которые можно применить до проведения большого, объемного и трудоемкого технического собеседования. Тогда я выразил свою симпатию тестам, ограниченным по времени. В этой статье я раскрою т...
Лучшие математические игры для детей на Android к началу учебного сезона Математика — сложная наука. Кто-то получает истинное удовольствие от решения примеров, а кто-то при упоминании цифр начинает нервничать. Далеко не всем нужно знать сложные вещи, но умение решать базовые примеры — навык, который пригодится как в повседневной жизни, так и для ...
3D-печати нужны регулирование и стандартизация Стандарты во всем мире важны для определения правил, обеспечения контрольных показателей и внедрения передовых методов всеми участниками цепочки добавленной стоимости. Стандарты необходимы, чтобы такие правила игры были установлены и соблюдались всеми заинтересованными сторо...
[Перевод] Потоки Redis как чистая структура данных Новая структура данных Redis 5 под названием «потоки» (streams) вызвала живой интерес в сообществе. Как-нибудь я поговорю с теми, кто использует потоки в продакшне, и напишу об этом. Но сейчас хочу рассмотреть немного другую тему. Мне начинает казаться, что многие представля...
BGP hijacking с помощью добавления AS жертвы в AS-SET атакующего Статья поделена на три части части. В первой содержится общая информация о том что такое BGP hijacking и его традиционный вариант. Для тех кто знаком с этим явлением, рекомендуется перейти сразу ко второй части. Во второй части будет описан метод анонсирования чужих префиксо...
Synet — фреймворк для запуска предварительно обученных нейронных сетей на CPU Введение Здравствуйте, уважаемые хабровчане! Последние два года моей работы в компании Synesis были тесно связаны с процессом создания и развития Synet — открытой библиотеки для запуска предварительно обученных сверточных нейронных сетей на CPU. В процессе этой работы мне...
Конференция ECOMMTALKS определила тенденции финтеха в 2020 году Сектор финтеха, трансформирующий мир финансов благодаря созданию и внедрению новых финансовых платформ и технологий, в прошлом году был оценен* в 127,66 миллиардов долларов США, и, по прогнозам, достигнет рекордного уровня в 2020 году. Отрасль демонстрирует высокую дина...
[Из песочницы] Искусственный интеллект – на каждый ответ будет задан вопрос Искусственный интеллект в речевых экспертных системах развивается в направлении чат-ботов. Бесспорно, это понятное всем направление развития. Проблем, при его формировании, безусловно, много, это видно из презентаций разработчиков. Они неплохо рассказывают о своих достижения...
Мониторинг ETL-процессов в хранилище данных Многие используют специализированные инструменты для создания процедур извлечения, трансформации и загрузки данных в реляционные базы данных. Процесс работы инструментов логируется, ошибки фиксируются. В случае ошибки в логе содержится информация о том, что инструменту не у...
Настройка сервера для развертывания Rails приложения при помощи Ansible Не так давно мне было необходимо написать несколько ansible playbooks для подготовки сервера к деплою rails приложения. И, на удивление, я не нашел простого пошагового мануала. Копировать чужой плейбук без понимая происходящего я не хотел и в итоге пришлось читать документац...
Технология RPA: правила применения Какие задачи выполняет технология роботизированной автоматизации процессов (robotic process automation, RPA)? Требует ли она дополнительного программирования? Какие процессы она позволяет автоматизировать? Опрошенные порталом Enterprisers Project ...
Можно ли действительно освоить скорочтение? Действительно ли полезны методы скорочтения? XXI век — самый информационный век в истории человечества. Никогда прежде мы еще не сталкивались с тем объемом информации, который на данный момент представлен не только в мировой сети, но и в более традиционных источниках: ...
Полный цикл разработки IT продуктов на примере проекта: роли в команде, задачи заказчика, этапы Внутренняя кухня разработчика IT-продуктов многогранна и всегда переполнена разными задачами. В каждом проекте находят себе применение люди с разными обязанностями. На примере одного проекта мы поглубже рассмотрим процесс разработки. Перед этим я опишу все этапы этого про...
Карьерные стероиды. Базовый алгоритм Статья про быстрый карьерный рост внутри одной компании. Именно внутри одной, т.к. скачок при переходе — это другая методика, к ней нужно иначе готовиться (там больше комплект увольнения подходит). Сразу скажу: я не считаю, что строить карьеру — это правильно, без этого ник...
Магия чисел в децимальных номерах Статья написана в дополнение к предыдущей по просьбе сообщества. В этой статье разберемся с магией чисел в децимальных номерах. И рассмотрим нумерацию не только принятую в ЕСКД (Единая система конструкторской документации), а также в ЕСПД (Единая система программной докуме...
Близкие контакты ADL-ной степени Как навсегда вписать своё имя в историю? Первыми слетать на Луну? Первым встретиться с инопланетным разумом? У нас есть способ проще — можно вписать себя в стандарт языка C++. Хороший пример показывает Эрик Ниблер — автор C++ Ranges. «Запомните это. 19 февраля 2019 года — д...
[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...
Люди нюхают пищу языком: сюрприз от хорошо изученного органа Коллектив исследователей из Центра химических чувств Монелл (Monell Chemical Senses Center) в Филадельфии, США изучал генетически модифицированных мышей с целью определить точное расположение обонятельных рецепторов в организме. Оказалось, что немалое их количество расположе...
Правила и стоимость установки окон ПВХ Выбрать пластиковые окна — это только половина дела, важно правильно их установить. Бывает, что выбраны качественные материалы, но окна все ровно пропускают холод, запотевают или скапливают конденсат. Эти признаки говорят о том, что при установке были допущены ошибки. Процес...
Используем буфер обмена на Mac с умом Automator можно по праву назвать одним из самых недооцененных приложений на macOS. Увы, но многие пользователи не догадываются о скрытых возможностях данной утилиты. Тем не менее потенциал заложенный в программу действительно огромен. Сегодня мы расскажем о простых способах...
Восхождение на Эльбрус — Разведка боем. Техническая Часть 1. Регистры, стеки и другие технические детали Как и обещали, продолжаем рассказывать про освоение процессоров Эльбрус. Данная статья является технической. Информация, приведенная в статье, не является официальной документацией, ведь получена она при исследовании Эльбруса во многом как черного ящика. Но будет безусловно ...
[recovery mode] Что показывает вольтметр или математика розетки О чем эта статья Сегодня я ненадолго отступлю от своей обычной темы о визуальном программировании контроллеров и обращусь к теме измерений напряжения прямо в ней, в розетке! Родилась эта статья из дискуссий за чаем, когда разразился спор среди «всезнающих и всеведающих» п...
Как сделать веб-формы на сайте удобными и безопасными: инструменты разработки и конструкторы Помощник руководителя проектов stepFORM Артем Петров рассказал, как сделать веб-формы удобными для пользователей, защитить их от спама и перечислил основные способы их разработки. Веб-формы — простой инструмент и один из главных источников лидов на сайте. С его помощью возм...
Обнаружены новые химические соединения, способные объяснить возникновение жизни на Земле До появления жизни на нашей планете окружающая среда содержала большое количество химических элементов, которые взаимодействовали друг с другом очень хаотично. Ученые из Токийского технологического института и Национального университета Малайзии выяснили почему химические с...
Как использовать WhatsApp на планшете У современного пользователя уже давно есть несколько гаджетов для общения. И почти везде стоят одинаковые мессенджеры для того, чтобы постоянно оставаться на связи. Но принято считать, что WhatsApp можно использовать лишь на настольном ПК или на смартфоне. В то время, как п...
Отличный сайт для программистов Многие начинающие программисты и специалисты с небольшим опытом работы периодически нуждаются в профессиональных советах или рекомендациях. Так или иначе, а за советом люди отправляются во всемирную паутину интернет сети. Можно длительно перебирать ресурсы и находить минимал...
Shader — это не магия. Написание шейдеров в Unity. Введение Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Сегодня хочется поговорить про шейдеры. Умение писать шейдеры (и в целом работать с рендером) очень важно при разработке под мобильные платформы или AR/VR, если хочется добиться крутой графики. М...
Как смотреть SDDL и не ломать глаза о точки с запятыми Мой путь в ИБ начался с удивительного открытия: «безопасно ≠ зашифровано». Это сейчас такое утверждение выглядит простым и очевидным, а на первом курсе осознание этого факта произвело эффект сравнимый с ментальной атомной бомбой. Информационная безопасность атаковала расши...
[Перевод] Каскадная инвалидация кэша. Часть 1 Вот уже несколько лет, как почти каждая статья о передовых подходах к кэшированию рекомендует пользоваться в продакшне следующими методиками: Добавление в имена файлов информации о версии содержащихся в них данных (обычно — в виде хэша данных, находящихся в файлах). Устано...
Попытка создать аналог ASH для PostgreSQL Постановка задачи Для оптимизации запросов PostgreSQL, очень требуется возможность анализировать историю активности, в частности – ожидания, блокировки, статистика таблиц. Имеющиеся возможности Инструмент анализа исторической нагрузки или «AWR для Postgres»: очень интересн...
Сверточный слой: методы оптимизации основанные на матричном умножении Введение Данная статья является продолжением серии статей описывающей алгоритмы лежащие в основе Synet — фреймворка для запуска предварительно обученных нейронных сетей на CPU. Если смотреть на распределение процессорного времени, которое тратится на прямое распространение...
[Перевод] Ленивая инициализация в Spring Boot 2.2 От переводчика: поскольку Spring Framework является одним из основных фреймворков, на которых мы строим CUBA, то новости о новых возможностях Spring не проходят незаметно для нас. Ленивая инициализация — один из способов уменьшить время первой загрузки приложения, что в наш...
Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...
Цифровая трансформация обучения и аттестации сотрудников Сегодня расскажем о решении, которое помогло автоматизировать процесс непрерывного обучения сотрудников и исключить из этого процесса бумажную работу. Наш клиент — это федеральная компания-производитель. Её мерчендайзеры отвечают за наличие товаров в магазинах, представленн...
Уточняем описание функций системы с помощью диаграммы Sequence Уточняем описание функций системы с помощью диаграммы Sequence (продолжение "Белки") В данной статье рассмотрим, как можно детализировать (уточнить) описание автоматизируемой функции с помощью UML Sequence Diagram — диаграммы последовательности. В данном примере я использую ...
[Перевод] Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах Продолжаем говорить о технических собеседованиях (если вы не читали — просмотрите предыдущие статьи из цикла — о собеседованиях с HR и технических). В этот раз будет больше субъективного опыта, минимум советов, а также немножко про тестовые задания и теоретические вопросы. П...
Кадровая алхимия: каков оптимальный состав команды центра ГосСОПКА? Эта статья пригодится тем, кто работает в компании, признанной субъектом критической информационной инфраструктуры (КИИ), а значит — обязанной выполнить требования №187-ФЗ и построить центр ГосСОПКА (Государственной системы обнаружения, предупреждения и ликвидации последст...
[Перевод] Улучшенные четыре правила проектирования ПО Привет, Хабр! Представляю вашему вниманию статью "Four Better Rules for Software Design" автора David Bryant Copeland. David Bryant Copeland — архитектор ПО и технический директор Stitch Fix. Он ведет свой блог и является автором нескольких книг. Мартин Фаулер недавно создал...
[Перевод] 12 возможностей ES10 в 12 простых примерах Перед вами перевод статьи из блога Carlos Caballero на сайте Medium.com. Автор расскажет нам о функциях, которые появились в версии ES10 2019 года. ES10 — это версия ECMAScript, актуальная для 2019 года. Она содержит не так много нововведений, как версия ES6, выпущенная в...
Сон помогает мозгу забывать ненужные воспоминания Работа мозга во время сна может помочь ученым понять, как мы забываем информацию Сон невероятно важен для здоровья как физического, так и душевного. Специалисты, занимающиеся изучением сна, сходятся во мнении, что сном нельзя пренебрегать, так как недосып негативно влияет на...
Вред во благо: иммунная система миноги в борьбе с раком головного мозга человека Наш мозг — это наше все. Нарушение работы этого важнейшего органа приводит к ужасным, а порой и фатальным последствиям. Сложность мозга и его нейронной организации колоссальна, что сильно усложняет процесс лечения того или иного заболевания. Как правило, когда мы что-то ле...
[Из песочницы] Разработка высокоскоростных печатных плат глазами инженера-схемотехника. Сохранение целостности электрических сигналов В данной теме я хочу поделиться моим опытом разработки высокоскоростных схем. Имея успешный практический опыт (более 15 лет) разработки схем устройства, печатных плат, со скоростью передачи данных до нескольких гигагерц (по меди), опыт взаимодействия с конструкторами, разво...
[Перевод] Пишем игру «Карточки памяти» на Swift В этой статье описывается процесс создания простой игры для тренировки памяти, которая мне очень нравится. Кроме того, что она сама по себе хороша, во время работы вы немного больше узнаете о классах и протоколах Swift. Но прежде чем начать, давайте разберемся в самой игр...
Глупые мозги, скрытые эмоции, коварные алгоритмы: эволюция распознавания лиц Древние египтяне знали толк в вивисекции и могли на ощупь отличить печень от почки. Пеленая с утра до вечера мумии и занимаясь врачеванием (от трепанации до удаления опухолей), поневоле научишься разбираться в анатомии. Богатство анатомических подробностей с лихвой компе...
11 вопросов, которые нужно обсудить до начала работы Мало кто думает о разрешении или предотвращении конфликтный ситуаций в процессе сотрудничества до их возникновения. Очень часто к проблемам и порче отношений приводят не какие-то непримиримые разногласия и даже не способность каждой из сторон выполнять свои обязательства, а ...
Как выстроить процессы и перестать издеваться над командой Всем привет! Сегодня хотел поговорить о процессах разработки. По мере роста компании не только развивается сам бизнес, но и копятся проблемы внутри, в частности в процессе разработки. Часто их пытаются решить внедрением каких-то практик и новомодных методологий. Увы, это нас...
Мы все работаем на Google! Или для чего нужна капча? Капча стала неотъемлемой частью нашей жизни. Если вы с ней не сталкивались, вы или счастливчик, или вас просто не существует. Маленькие картинки, на которых надо отметить машины, велосипеды, светофоры и так далее, встречаются всегда и везде. Особенно часто грешит этим Googl...
[Перевод] Вся правда об ОСРВ. Статья #30. Инициализация и процедуры запуска Nucleus SE У любой операционной системы есть определенный механизм запуска. Принцип работы этого механизма у каждой системы свой. Обычно говорят, что система загружается (англ. boot), это сокращение от «bootstrap», которое отсылает к выражению «pull oneself over a fence by one’s boot...
[Перевод] Обучение с подкреплением на языке Python Привет, коллеги! В последней публикации уходящего года мы хотели упомянуть о Reinforcement Learning — теме, книгу на которую мы уже переводим. Посудите сами: нашлась элементарная статья с Medium, в которой изложен контекст проблемы, описан простейший алгоритм с реализаци...
Сентябрьское накопительное обновление для Windows 10 (1903) исправило проблему с высокой нагрузкой на ЦП Накануне компания Microsoft в рамках «патчевого вторника» выпустила новые накопительные обновления для поддерживаемых версий Windows 10. Как и прежде, эти обновление не приносят с собой каких-либо новшеств, а направлены на исправление обнаруженных ошибок и внедрение обновле...
[Из песочницы] Разработка многозадачной микроядерной ОС — Планировщик После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика. Честно говоря я долго думал стоит ли начинать писать статьи ...
Вся жизнь игра: Мирослава Бронникова и Иван Нефедьев о том, как удержать аудиторию Как превратить скучный, рутинный процесс в увлекательную игру? Какие типы игроков бывают, и почему внутренняя мотивация важнее внешней? На эти и другие вопросы ответили Иван Нефедьев и Мирослава Бронникова, основатели клуба игрофикаторов why42, создатели и ведущие обуча...
[Из песочницы] Преобразование черно-белых изображений в ASCII-графику при помощи неотрицательного матричного разложения В общем случае преобразование изображения в ASCII-графику представляет собой довольно трудоемкую задачу, однако существуют алгоритмы, позволяющие автоматизировать данный процесс. В данной статье рассматривается подход, предложенный исследователями Paul D. O’Grady и Scott T....
«Лаборатория Касперского» представила сервис для корпоративного обучения информационной безопасности Главная цель тренингов Kaspersky ASAP — не натаскать работников на какие-то схемы, а развить навыки и сформировать устойчивые привычки безопасного поведения, утверждают в компании. По данным «Лаборатории Касперского», 52% компаний мире считают наиболь...
Обзор IPSec в Mikrotik IPSec (IP Security) — набор протоколов и алгоритмов для шифрования данных в IPv4 и IPv6 сетях. Звучит не сложно, но IPSec не устанавливает четких правил для шифрования трафика, вместо этого разработчики реализуют набор инструментов (протоколов и алгоритмов), используя которы...
Все про работу в Интернете В последнее время заработок в интернете привлекает все больше людей, но, какую именно сферу деятельности выбрать и какие есть в них особенности знают, к сожалению не многие. Получить полезную и грамотную информацию можно на специальном портале «Интернет работа». Все что связ...
Диалоги о письмах Существует множество правил письменной коммуникации, относящихся к оформлению и содержанию сообщений в деловой переписке, но есть не менее важные принципы, которыми регулируется письменная речь. И это, конечно же, правила русского языка. В этой статье сотрудники Copywritin...
[Перевод] Как разрабатываются и производятся процессоры: изготовление чипа Это третья статья из серии о проектировании ЦП. В первой статье мы рассмотрели архитектуру компьютера и объяснили его работу на высоком уровне. Во второй статье говорилось о проектировании и реализации некоторых компонентов чипа. В третьей части мы узнаем, как архитектурные...
[Из песочницы] MySQL — Использование переменных в запросе Довольно часто спрашивают, есть ли аналоги аналитических (оконных) функций в MySQL. Примечание. На момент написания статьи таких аналогов не было, однако статья и ныне представляет собой академический интерес в плане разбора оригинального для MySQL подхода к использованию пе...
Сигналы мозга преобразованы непосредственно в устную речь Исследования показывают, что, когда люди говорят или даже думают, что говорят, в их мозгу появляются характерные паттерны активности. Четкая схема сигналов также возникает, когда мы слушаем, как кто-то говорит, или воображаем, что слушаем. Специалисты довольно давно думали, ...
Создаем видео из фотографий Очень часто у пользователей возникает желание сделать красивый фильм из фотографий. Это отличный подарок, например, или дополнение к подарку. Однако, если делать это в не в специальном софте, то вы потратите кучу времени и сил. Намного эффективнее скачать приложение ФотоШОУ ...
GDPR: как работать с персональными данными ваших работников, фрилансеров и европейских сотрудников контрагентов Статья представляет собой краткую выжимку и мою интерпретацию положений Регламента GDPR (“Регламент”) в связке с Заключением (Opinion) 2/2017 об обработке данных в трудовых отношениях (on data processing at work) от 08.06.2017. Адресуется компаниям, у которых есть полноцен...
Как организовать фотостудию? Кейс компании Bolshakova Studio Надоело тратить время на выяснение что происходит в компании? Информация теряется в бесконечных групповых чатах WhatsApp-а? Нарушена коммуникация внутри команды? От слежения за (не)выполненными правками пухнет голова? Непонятна нагрузка на сотрудников и вообще кто чем сейчас...
Создание приложения на Htmlix с роутером на серверной и клиентской стороне В данной статье будет описано как сделать фронтенд на Htmlix для фильтра по категориям и карточки товара, а также создадим роутер, на клиентской части, чтобы при клике по истории в броузере, у нас появлялась актуальная данному адресу страница. Приложение будет состоять из дв...
«Инициатива Microsoft по созданию защищенных ПК» направлена на защиту компьютеров под управлением Windows 10 от программно-аппаратных атак Microsoft планирует уделять больше внимания безопасности своих пользователей Windows в рамках недавно объявленной инициативы «Secured-core PC/Защищенное ядро ПК». Инициатива направлена на то, чтобы предложить клиентам Windows лучшую форму защиты от атак «targeted firmwar...
«Секретики» DPAPI или DPAPI для пентестеров Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”. Внимание! Очень много буков! При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam...
Как установить Linux-приложение на Chrome OS Chrome OS постепенно набирает обороты, уже сейчас пользователи могут устанавливать Linux-приложения на хромбуки. В данной материале представлена инструкция по настройке вашего хромбука. Стоит отметить, что пока Linux-приложения поддерживают не все устройства. С полным списк...
Генерация многофазного ШИМ сигнала на TMS320F28027 Давным давно в далекой далекой галактике я написал небольшую статью о специализированных контроллера Piccolo от Texas Instruments, которые предназначены для управления силовыми преобразователями и электроприводом. Данные контроллеры являются очень мощным инструментов разрабо...
Космонавт позвонил в экстренные службы 911 с борта МКС Согласно информации нидерландского издания, космонавт случайно набрал 911, пребывая на борту Международной космической станции. Это было вызвано случайным пропуском одной цифры при попытке звонка на внешнюю, а затем и международную линию. Процесс требует, чтобы косм...
Network Maps. Краткий обзор софта для построения карт сети 0. Вводная, или немного оффтопаДанная статья родилась только потому, что крайне трудно найти сравнительные характеристики подобного программного обеспечения, а то и просто список, в одном месте. Приходится перелопатить кучу материала, чтобы прийти хоть к какому-то выводу. ...
Automator: Автоматическое удаление файлов по расписанию Многие пользователи не догадываются, какие обширные возможности предоставляет такой мощный инструмент, как Automator. На первый взгляд программа достаточно сложна в освоении, однако разобравшись, можно увидеть, что управление происходит довольно интуитивно и наглядно. Сегод...
[Перевод] Понимание разницы между СI и СD: «если что-то вызывает боль, делайте это почаще» Disclaimer. Костис Капелонис — Developer advocate (человек, защищающий и отстаивающий принципы программной разработки) Codefresh, первой платформы CI/CD для Kubernetes и контейнеров. Миссия Codefresh «Автоматизировать и упрости всё, от кода до облака». Как инженер-программис...
Оптимизация производительности .NET (C#) приложений Статей с подобным заголовком достаточно много, поэтому постараюсь избежать банальных тем. Надеюсь, что даже очень опытные разработчики найдут здесь что-то новое для себя. В данной статье будут рассмотрены только простые механизмы и подходы к оптимизации, которые позволят п...
Как поместить свои фотографии на карту Google с помощью приложения для Android Ещё несколько лет назад смартфоны научились этому и теперь добавляют на каждую вашу фотографию метку местоположения, чтобы помочь определить, где она была сделана, что особенно полезно при просмотре старых фото и ностальгии по былым временам. Однако найти изображения, сняты...
Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...
Как сделать частичную копию iPhone и создать рингтон в одном приложении С этого года Apple прекратит поддержку iTunes в привычном для нас виде — в компании считают, что в эпоху беспроводных технологий и «облаков» полноценный инструмент для трансфера данных с iPhone на компьютер (и наоборот) по проводу просто не нужен. Доля правды, конечно...
За все время ученые расшифровали менее 1% данных Большого Андронного Коллайдера Большой Адронный Коллайдер — это одно из самых удивительных изобретений человечества, ответственное за открытие многочисленных субатомных частиц, включая неуловимый бозон Хиггса. И в последнее время новые данные намекают на новые открытия за пределами Стандартной моде...
Животные умеют веселиться. Рассказ о том, как ученые играли в прятки с крысами Крысы получают удовольствие от игры в прятки Недавно мы писали о том, что кошки не уступают по уму собакам. Выходит, теперь представители семейства кошачьих могут отметить выдающиеся способности крыс — согласно данным последнего исследования, лабораторные крысы могут н...
Как сон очищает мозг от токсинов Группа ученых под руководством Лоры Льюис из Бостонского университета опубликовала в журнале Science результаты своего исследования, в ходе которого стало понятно, как именно выводятся токсины из мозга во время сна. Это открывает новые возможности лечения и профилактики нейр...
Один из методов получения профиля рабочей нагрузки и истории ожиданий в PostgreSQL Продолжение статьи "Попытка создать аналог ASH для PostgreSQL ". В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_stat_activity. Предупреждение. В силу довольно большого ...
Blameless environment: никто не должен писать качественный код На РИТ++ Никита Соболев (sobolevn) выступил, как он сам назвал это, с проповедью на тему качества кода и процессов в компании. Особо впечатлительных просим налить себе ромашкового чаю, но отойти от экранов не предлагаем. Вы можете не соглашаться ни с одним из тезисов, настаи...
Управление проектной организацией Agile подходы набирают популярность из-за хорошей реализации работы с неопределенностью за счет постоянной поставки результата. Однако, почти любой Agile-процесс требует выделенной команды на проект и почти ничего не предоставляет для стратегического планирования. Реальность...
Трансформация кода в Android 2. Анализ AST Первая часть Пример на Github В этой статье расскажу о том, как решал проблемы, с которыми столкнулся в предыдущей части при реализации проекта. Во-первых, при анализе трансформируемого класса, нужно как-то понять, является ли этот класс наследником Activity или Fragment...
Страх цифровых преобразований и шесть шагов, которые помогут его преодолеть Существует всего шесть базовых принципов, которые необходимо учитывать в контексте цифровых преобразований. Не можете уснуть из-за мыслей о том, что компания-конкурент вновь обошла вас, или вас давно уже не устраивают показтели отдельных производственных процессов, или вы...
[Перевод] 13 приёмов работы с npm, которые помогают экономить время Каждый день миллионы разработчиков, создавая свои JavaScript-приложения, обращаются к npm (или к Yarn). Выполнение команд наподобие npm init или npx create-react-app стало привычным способом начала работы над практически любым JavaScript-проектом. Это может быть сервер, клие...
Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal Здравствуйте уважаемые читатели Хабра! Этой публикацией я хочу начать цикл статей про развертывание полноценной среды оркестрации контейнерами Kubernetes, которая будет готова к эксплуатации и запуску приложений. Я хочу рассказать не просто про то, как развернуть кластер Ku...
5 причин, почему вам нужен инструмент управления событиями В ITIL v3 управление событиями определяется как «процесс, который отслеживает все события, происходящие в ИТ-инфраструктуре». Он находился на этапе Service Operation жизненного цикла ITIL v3 и отвечает за определение проблем и изменений, происходящих в ИТ-инфраструктуре, как...
[Из песочницы] Когда компания умирает: как пережить банкротство В последнее время на профильных ресурсах все чаще появляется информация о банкротстве IT-компаний с увольнением 100% персонала. Возможно, мой личный опыт будет интересен для людей, находящимся в этой зоне. Статья описывает процессы скорее с точки зрения собственника и топ-ме...
Человекоподобные роботы становятся реальностью Скоро роботы и люди будут неотличимыми Кажется, будущее наконец-то наступило. Так, команда из университета Бристоля создала новый алгоритм, который сделает роботов гораздо более «человечнее», чем они являются сейчас. Новое достижение ученых, опубликованное в журнале Science ...
[recovery mode] CRM – стоимость успеха, стоимость ошибки, стоимость владения Обсуждая CRM, прежде всего остального, следует замечать, что автоматизация CRM – это НЕ регламентируемый рынок. В отличие, к примеру, от рынка автоматизации бухгалтерского учёта. У бухгалтера есть ПБУ и еще куча нормативных документов, регламентирующих учёт, в CRM этого нет ...
[Из песочницы] Мультифункциональный фиттинг экспериментальных данных Введение Очень часто, как и в точных науках (физика, химия), так и в прочих областях (экономика, социология, маркетинг и пр.) при работе с разного рода экспериментально полученными зависимостями одной величины (Y) от другой (X) возникает потребность описать полученные данные...
Как мы распознаем лица и почему одни делают это лучших других? В процессе распознавания лиц, мозг в первую очередь обращает внимание на пол и возраст Мы с вами можем распознавать и запоминать сотни лиц, но почему у одних это получается лучше, чем у других? Не секрет, что существуют люди, которые хорошо распознают и запоминают лица. Они ...
Сон — очень сложный процесс, состоящий из 19 фаз Примерно с 1930-х годов известно, что сон делится на четыре фазы: три из них относятся к стадии медленного сна, и одна — к стадии быстрого. Эти выводы были сделаны учеными в ходе изучения мозговых волн при помощи электроэнцефалографии, но благодаря магнитно-резонансной томо...
[Перевод] Настраиваем Out-Of-Memory Killer в Linux для PostgreSQL Когда в Linux сервер базы данных непредвиденно завершает работу, нужно найти причину. Причин может быть несколько. Например, SIGSEGV — сбой из-за бага в бэкенд-сервере. Но это редкость. Чаще всего просто заканчивается пространство на диске или память. Если закончилось прост...
Специалисты нашли 36 новых уязвимостей в протоколе 4G LTE Каждый раз переход на всё более новый стандарт сотовой связи означает не только повышение скорости обмена данными, но также позволяет сделать связь более надёжной и защищённой от несанкционированного доступа. Для этого берутся найденные в предыдущих протоколах уязвимости, та...
[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 41. DHCP Snooping и Nondefault Native VLAN Сегодня мы рассмотрим две важные темы: DHCP Snooping и «недефолтные» Native VLAN. Перед тем, как перейти к уроку, приглашаю вас посетить другой наш канал YouTube, где вы сможете просмотреть видео о том, как улучшить свою память. Рекомендую вам подписаться на этот канал, так ...
Официально: PlayStation 5 поступит в продажу осенью 2020 года На протяжении 2019 года Sony делится важной информацией относительно нового поколения игровой консоли PlayStation в социальных сетях и блоге, не проводя масштабные мероприятия. Сегодняшний день также не стал исключением. В официальном блоге PlayStation компания объявила, чт...
Какие данные мы доверяем Apple (и как они защищены) В последнее время Apple очень серьезно поднимает вопрос конфиденциальности — даже один из рекламных роликов новых iPhone посвящен приватности. И хотя многие даже не подозревают, какие данные они передают со своих устройств компании из Купертино, это вовсе не означает,...
Приглашаем к нам на работу! Сегодня трудно разделить рынок мобильных технологий на сегменты. Все смешалось в доме Облонских. Apple, Google, Huawei, Microsoft и множество других компаний вносят свой вклад в развитие мобильной индустрии и настольных решений. Как за всем этим угнаться и уследить? Ответ д...
[Из песочницы] Крибле Карбле Gradle: магия автоматической сборки Разработчики облегчают жизнь людям, а Gradle — разработчикам. Если вы пишете на Android, эта статья для вас. Читайте о том, что за зверь этот Gradle (спойлер: он слон), а также — как с ним работать. Gradle — система автоматической сборки, которую используют для упрощения раб...
Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...
5 эффективных возможностей использования технологии process mining Что такое process mining Я решил рассказать о Process mining простыми словами: что это за технология и как она применяется на практике, каковы ее ключевые задачи. Начнем с определения. Process mining — это технология для визуализации и анализа бизнес-процессов на основе иссл...
[Перевод] Биотехнологии омоложения реальны и неизбежны Что такое старение? Мы можем определить его как процесс накопления молекулярных и клеточных повреждений, являющихся следствием нормального метаболизма. В то время как исследователи всё ещё плохо понимают, как метаболические процессы вызывают накопление повреждений, и как ...
Обзор Secret Neighbor. Попробуй спастись Обычно я начинаю обзоры с предисловий, которые позволяют вам примерно понять, насколько игра хороша или нет. Сегодня традицию придется нарушить — проект просто отличный, в него явно стоит поиграть, а лучше еще и друзей подтянуть, чтобы они тоже могли с удовольствием насладит...
Роботизация может вести к диктатуре Предыдущая статья на тему замены человека роботом получила большое количество комментариев. Получается, тема живая не только в наших головах. Поскольку мы сами вносим вклад в роботизацию как в контексте обучения в нашей Школе, так и в контексте проектов, которые мы делае...
Кишечная бактерия может показать ваш истинный возраст Бактерии, обитающие в кишечнике человека, могут рассказать о его возрасте Кишечник абсолютно любого человека в мире можно назвать настоящим домом для огромного количества микроорганизмов, принимающих активное участие в обеспечении нормальной жизнедеятельности человеческого т...
(Без)опасный онлайн-банкинг: исследование веб-ресурсов банков России и мира Мы решили повторить масштабную исследовательскую работу 2015 года и проанализировали безопасность веб-ресурсов ведущих банков мира. Онлайн-банкинг с тех пор стал не просто более распространённым, а даже повсеместным явлением. Действительно, это быстро и удобно, но насколько ...
10-нанометровым настольным CPU Intel быть. Только, видимо, не раньше, чем через два года Вчера в Сеть попала информация о том, что Intel якобы отказалась от 10-нанометрового процесса для настольных CPU и в 2022 году перейдёт сразу на нормы 7 нм. И могло бы быть вполне логичным шагом. Однако теперь в ситуация вмешалась сама Intel, решив прокомментировать дан...
AI supremacy: Leela Chess. Или про то, как полностью открытая нейросеть победила Честно говоря, я очень разочарован хабром. Почему никто не осветил такую вещь, как победа нейросетевого подхода с полностью открытым кодом, а? И полностью открытыми нейросетевыми данными? Действительно, ну вот DeepMind Technologies описали как они обучали шахматный ИИ, иг...
Некоторые аспекты мониторинга MS SQL Server. Рекомендации по настройке флагов трассировки Предисловие Довольно часто пользователи, разработчики и администраторы СУБД MS SQL Server сталкиваются с проблемами производительности БД или СУБД в целом, поэтому весьма актуальным является мониторинг MS SQL Server. Данная статья является дополнением к статье Использование ...
Файл дескриптор в Linux с примерами Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место? Конечно же я ответил, что посмотрю, чем занято это место и если возможно, то почищу место. Тогда интервьюер спросил, а что если на ...
Список известных проблем, блокирующих обновление до Windows 10 May 2019 Update Microsoft обновила публикацию в блоге о финальной сборке Windows 10 May 2019 Update под номером 18362, добавив туда список известных проблем, блокирующих возможность обновления до новой версии операционной системы. Удивляет тот факт, что Microsoft второй раз умудрилась наст...
[Перевод] Деревья квадрантов и распознавание коллизий Эта неделя была короткой, в понедельник и вторник я продолжал работать над системой 2D-освещения. Остальное время я потратил на реализацию деревьев квадрантов (quadtree). В этой статье я поделюсь своей реализацией и мыслями, возникшими в процессе её проектирования. Во-пер...
Эффективный рейтинг BPM систем Владелец собственного бизнеса не понаслышке знает, как важно свою работу внедрять в современные технологии. Без них невозможно развиваться, получать действительно успешных партнеров, клиентов, а также просто рассчитывать на высокие доходы. Стоит отметить, что сегодня достато...
Запись экрана на Mac. Всё, что нужно знать Время от времени пользователи Mac могут столкнуться с необходимостью записать экран: например, чтобы создать обучающий ролик, поделиться информацией или же записать важный видеозвонок. Возможности macOS позволяют успешно выполнять эти задачи. И для этого даже не придётся ск...
Миф о кадровом голоде или основные правила формирования вакансий Довольно часто от работодателей можно услышать о таком явлении как «кадровый голод». Я считаю, что это миф, в реальном мире нет кадрового голода. Вместо него есть две реальные проблемы. Объективная – соотношение между количеством вакансий и количеством кандидатов на рынке тр...
[Перевод] Приключения с ptrace(2) На Хабре уже писали про перехват системных вызовов с помощью ptrace; Алекса написал про это намного более развёрнутый пост, который я решил перевести. С чего начать Общение между отлаживаемой программой и отладчиком происходит при помощи сигналов. Это существенно усложняет...
Современная стоматология: одномоментная имплантация зуба и наращивание челюстной кости глазами технического директора Привет, Хабр! Сегодня я расскажу свою историю, как мне пришлось установить имплантат и как оно было на самом деле. Историю рассказать свою решил потому, что информация, которая размещена в интернете, не соответствует действительности, а порой и противоречит. Цель данной с...
Где активисту можно фотографировать Право на сбор информации, к которому относится и фотосъемка, закреплено в статье 29 Конституции РФ. Несмотря на это, делаете ли фотографию для своего Instagram или фиксируете вопиющее нарушение закона, вы не застрахованы от необоснованных запретов на съемку. Для того чтобы ...
Помните, ученые повернули время вспять? Так вот, этого не было Если верить всему, что пишут в Интернете (в том числе и мы), квантовых физиков можно поздравить. Звучит круто: ученые (да еще и российские) повернули время вспять. Прям «Назад в будущее». Все началось со статьи в Scientific Reports с провокационным названием «Стрела времени...
Авторское право и НКО: шесть вопросов о том, как не стать нарушителем Некоммерческие организации постоянно используют в своей деятельности фотографии и видео. Работая с ними, сотрудники НКО соприкасаются с авторским правом. Старший юрист Центра защиты прав СМИ Светлана Кузеванова специально для Теплицы, как не нарушить чужое авторско...
[Перевод] Скрытая сложность видеоигр слотов Игроки в слоты не безрассудны Игроки в слоты азартны. Нажатие на кнопку SPIN хоть и выглядит простым действием, умственные процессы при этом таковыми не являются. Азартные игроки основывают свои решения на том, как работают фичи игры и какие выигрыши или «почти-выигрыши» они...
[Перевод] Бортовой управляющий компьютер «Аполлона»: дипстик и инженерный анализ памяти на многократно прошитых сердечниках Расположенный на борту космического корабля «Аполлон» управляющий компьютер (Apollo Guidance Computer, AGC) помог кораблю попасть на Луну и сесть на её поверхность. ПО AGC было физически вплетено в постоянное запоминающее устройство на многократно прошитых сердечниках [core ...
Процесс разработки и тестирования с Docker и Gitlab CI Предлагаю ознакомиться с расшифровкой доклада Александра Сигачева из Inventos "Процесс разработки и тестирования с Docker + Gitlab CI" Те, кто только начинает внедрять процесс разработки и тестирования на базе Docker + Gitlab CI часто спрашивают базовые вопросы. С чего начат...
[Из песочницы] Шлем отчеты Veeam agent Linux на почту или в Telegram Приветствую, Habr! Относительно недавно компания, в которой я работаю, начала предлагать Veeam как основное средство резервного копирования. И все бы ничего, но еще в процессе ознакомления выяснилось следующее: инструменты Veeam заточены под Windows, включая развертывание...
Как взять сетевую инфраструктуру под свой контроль. Глава третья. Сетевая безопасность. Часть третья Эта статья является пятой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь. Эта часть будет посвящена Campus (Office) & Remote access VPN сегментам. Может показаться, что дизайн офисной сети...
Docker: не вредные советы В комментариях к моей статье Docker: вредные советы было много просьб объяснить, чем так ужасен описанный в ней Dockerfile. Краткое содержание предыдущей серии: два разработчика в жестком дедлайне составляют Dockerfile. В процессе к ним заходит Ops Игорь Иванович. Итоговый D...
Очень много YouTube-каналов для прокачки английского языка для программистов Привет, Хабр! С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский. Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы! ...
Как быстро переключать источник звука на Mac Многие пользователи не догадываются, какие обширные возможности предоставляет такой мощный инструмент, как Automator. На первый взгляд программа достаточно сложна в освоении, однако разобравшись, можно увидеть, что управление происходит довольно интуитивно и наглядно. Сегод...
Найден механизм, заставляющий мозг запоминать навязчивую музыку Стиль поп подразумевает за собой легкую, мелодичную музыку, которая способна понравиться большинству людей Каждый из нас хотя бы раз в своей жизни наверняка сталкивался с явлением, когда строчки из навязчивой мелодии неожиданно всплывают в памяти и долгое время мешают сосред...
Периодическая смена паролей — устаревшая практика, пришло время от неё отказаться Во многих IT-системах действует обязательное правило периодической смены паролей. Это, пожалуй, самое ненавистное и самое бесполезное требование систем безопасности. Некоторые пользователи в качестве лайфхака просто меняют цифру в конце. Такая практика вызывала массу неудоб...
[Из песочницы] Руководство Google по стилю в C++ Часть 1. Именование Часть 2. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь...
Продвижение дилерских центров в поиске. SEO для «чужого каталога» Йо-йо! Уже несколько лет я занимаюсь продвижением различных сайтов. В пуле моих клиентов есть несколько дилеров дорогой моторной техники. Все они продают одну и ту же технику, одного и того же производителя, только в разных городах. Кроме того, что они продают одно и тоже,...
Выбирайте казино для развлечения Сегодня клуб Вулкан пользуется огромной популярностью, как среди любителей азартных игр, так и среди простых посетителей Интернета. Причины такой популярности – безупречная репутация и безопасность игровых площадок клуба. Чтобы удостовериться в этом, надо просто зайти на сай...
Джулия в латексе В научной среде очень важную роль играет визуализация данных и оформление теории. Для удобного и красивого представления формул часто используются инструменты реализующие LaTeX-команды, например Markdown и MathJax. Для Джулии также существует набор пакетов позволяющих испо...
Автотестирование: десять лайфхаков от команды Skyeng Привет, я Андрей Шальнев, QA Automation Lead в проекте Skyeng Vimbox. В течение года мы с командой занимались оптимизацией процессов автоматического тестирования и сейчас вплотную подошли к ее финальной стадии. А это хороший повод выдохнуть, пересмотреть бэклог и подвести к...
[Перевод] Неопределённое поведение и правда не определено Термином «неопределённое поведение» в языке C и C++ обозначают ситуацию, в которой буквально «чего только не бывает». Исторически, к неопределённому поведению относили случаи, когда прежние компиляторы для C (и архитектуры на нём) вели себя несовместимым образом, и комитет п...
Уникальный калькулятор MyScript Calculator 2 доступен на iOS и Android бесплатно Разработчики приложения MyScript Calculator 2 сделали все для того, чтобы сделать процесс решения примеров и уравнений максимально простым и интуитивным. Вместо того, чтобы выбирать нужные цифры и знаки на виртуальной клавиатуре, вам достаточно просто написать пальцем,...
Алгоритмы поиска простых чисел «Самое большое простое число 232582657-1. И я с гордостью утверждаю, что запомнил все его цифры… в двоичной форме». Карл Померанс Число называется простым, если оно имеет только два различных делителя: единицу и само себя. Задача поиска простых чисел не дает покоя математи...
[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...
[Из песочницы] Buildroot — часть 1. Общие сведения, сборка минимальной системы, настройка через меню Введение В данной серии статей я хочу рассмотреть систему сборки дистрибутива buildroot и поделиться опытом её кастомизации. Здесь будет практический опыт создания небольшой ОС с графическим интерфейсом и минимальным функционалом. Прежде всего, не следует путать систему сбо...
[Перевод] Особенности рендеринга в игре Metro: Exodus c raytracing Предисловие После выхода последней игры из серии «Метро» я потратил несколько часов на изучение её внутренней работы и решил поделиться тем, что может показаться интересным с технологической точки зрения. Я не буду проводить подробный анализ или изучать дизассемблированный ...
Умножение матриц: эффективная реализация шаг за шагом Введение Умножение матриц — это один из базовых алгоритмов, который широко применяется в различных численных методах, и в частности в алгоритмах машинного обучения. Многие реализации прямого и обратного распространения сигнала в сверточных слоях неронной сети базируются на...
Улучшаем пользовательский опыт: четыре совета По мере того, как растёт количество ИТ-систем, увеличивается масштаб и важность их для бизнеса, мы иногда упускаем из виду, что для каждой системы, которая развёртывается в продуктивной среде, возникает сообщество пользователей, полностью зависящих от неё при выполнении сво...
Фишки VS Угрозы технологии контейнеризации Использование контейнеров для разработки и развёртывания софта давно превратилось в стандартную практику. Возможность с лёгкостью обеспечить программе стандартное окружение, независимое от хоста, на котором она выполняется, быстро изменить настройки, добавить или изменить ка...
Основы статической маршрутизации в Mikrotik RouterOS Маршрутизация — процесс поиска оптимального пути для передачи пакетов в сетях TCP/IP. Любой устройство подключенное к сети IPv4 содержит процесс и таблицы маршрутизации. Данная статья не является HOWTO, она описывает на примерах статическую маршрутизацию в RouterOS, я намере...
Чем чревато отключение «лишних» проверок в САПР печатных плат В современных условиях инженеру-проектировщику необходимо постоянно получать новые знания, чтобы быть востребованным на рынке труда. Часто получать новую информацию приходится, так сказать, “без отрыва от производства”: в ходе работы над проектом, в поездках на работу и т.п....
Ученые описали «нейрональный метроном»: вот как мы запоминаем музыку Американские ученые создали математическую модель сети нейронов и показали, как мозг реагирует и запоминает музыкальные ритмы. С помощью этой модели Амитабха Бозе из Технологического института Нью-Джерси и Джон Ринзел из Нью-Йоркского университета продемонстрировали нейрона...
[Из песочницы] Xamarin.Forms — удобное использование иконочных шрифтов в приложении Постановка задачи Для отображения иконок в приложении Xamarin.Forms можно использовать изображения в различных форматах, например png, svg или шрифты ttf. Чаще всего для добавления стандартных иконок удобен шрифт с иконками, например google material icons. Шрифт с иконками ...
Нейросеть сама догадалась, что Земля крутится вокруг Солнца Современная наука производит такое количество данных, что на их обработку уходит невероятно много времени. Более того, значительная часть информации изучается не так хорошо и пристально, как хотелось бы ученым. Поэтому существует несколько проектов создания искусственного ин...
Лучшие эмоции с казино Фараон Каждый человек имеет право строить свою жизнь так, как он того хочет. Ни для кого не секрет, что многие люди предпочитают время от времени играть в азартные игры, получая при этом заряд эмоций и дополнительных возможностей. К сожалению, не все по достоинству оценивают данны...
[Из песочницы] Из чего состоит IoT Если обратиться к википедии в поисках определения для термина “интернет вещей”, можно увидеть следущее: Интернет вещей (англ. Internet of Things, IoT) — концепция вычислительной сети физических предметов («вещей»), оснащённых встроенными технологиями для взаимодействия друг...
Немного практики функционального программирования в Swift для начинающих Я хотела бы представить концепцию Функционального Программирования новичкам самым простейшим образом, выделив некоторые его преимущества из множества остальных, которые реально позволят сделать код более читаемым и выразительным. Я подобрала для вас интересные демонстрацио...
MPPT контроллер заряда на STM32F334C8T6 В комментариях под моими предыдущими статьями неоднократно возникал вполне резонный вопрос: "Зачем делать dc/dc преобразователи на микроконтроллере, когда есть готовые?" и я в качестве ответа постоянно упоминал, как наиболее яркий пример, контроллер заряда с алгоритмом MPPT....
Не кричите друг на друга (пожалуйста), или как подружить DevOps и ITIL В своей недавней статье Paul Wilkinson делится рядом интересных наблюдений, сделанных во время деловой игры MarsLander, в которой приняли участие две «идеологические группы». В статье они называются «DevOps and ITIL stakeholders». Как развивалась игра...
Автоматизация контроля границ внутри компании Еще один кусочек учебника по бизнес-программированию. Процессы на границах лучше автоматизировать. Звучит банально, но такая рекомендация далеко не всегда выполняется. До сих пор достаточно распространены ситуации, когда переход процесса через границу осуществляется без испо...
[Из песочницы] Знакомство с простейшей нейронной сетью и ее пошаговая реализация Как-то раз я наткнулся на книгу под названием «Создай свою нейросеть», автор которой -Тарик Рашид и после прочтения остался доволен, в отличие от многих других методичек по нейронным сетям, которые по-своему, несомненно, хороши, в этой книге все подавалось простым языком c д...
Дизайн услуг. Принципы Дизайн услуги — это все, что связано с получением услуги и с ее соответствием потребностям пользователя в ней. Его можно использовать для улучшения существующей услуги или создания новой. Чтобы адаптироваться к дизайну услуг, необходимо понимать основные принципы...
Основы реактивного программирования с использованием RxJS. Часть 2. Операторы и пайпы В предыдущей статье мы рассмотрели, что такое потоки и с чем их едят. В новой части мы познакомимся с тем, какие методы RxJS предоставляет для создания потоков, что такое операторы, пайпы(pipes) и как с ними работать. RxJS обладает богатейшим API. В документации описано б...
[Перевод] Настройка PHP-FPM: используем pm static для максимальной производительности Я в двух словах расскажу, как лучше всего настроить PHP-FPM, чтобы увеличить пропускную способность, снизить задержку и более стабильно использовать процессорные ресурсы и память. По умолчанию строка PM (process manager, менеджер процессов) в PHP-FPM имеет значение dynamic,...
Власти России определяют правила блокировки сайтов В настоящий момент документ находится на общественном обсуждении, которое продлится до 29 августа 2019 г.В частности, в документе определены критерии оценки детской порнографии. К запрещенным материалам причисляется изображение детей в процессе реальных или постановочных сек...
Как выбрать Open Source лицензию для RAD фреймворка на GitHub В этой статье мы немного поговорим об авторском праве, но в основном о выборе свободной лицензии для RAD фреймворка IONDV. Framework и для опенсорсных продуктов на его основе. Мы расскажем о разрешительной лицензии Apache 2.0, о том, что привело нас к ней и с какими решениям...
[Перевод] Тестирование PostgreSQL с HugePages в Linux Ядро Linux предоставляет широкий спектр параметров конфигурации, которые могут повлиять на производительность. Главное — выбрать правильную конфигурацию для вашего приложения и рабочей нагрузки. Как и любой другой базе данных, PostgreSQL необходима оптимальная настройка ядра...
[Из песочницы] Обзор нового javascript фреймворка Htmlix В данной статье постараюсь описать все основные возможности нового javascript фреймворка Htmlix, а также рассмотреть принцип его работы на примере создания небольшого приложения. Данное приложение — это страница простого фильтра товаров по категориям, с различными частями ш...
Реальные деньги от казино Вулкан Вы когда-нибудь задумывались над тем, почему многие люди сегодня предпочитают проводить досуг в интернете? На самом деле, ответить на этот вопрос достаточно просто, ведь с помощью интернета мы можем максимально экономить собственное время, и при этом с комфортом и удобством ...
Наблюдаются проблемы с работой приложения и службы «Ваш телефон» от Microsoft Если вы заметили, что на вашем компьютере не работает приложение «Ваш телефон», то вы не одиноки. Компания Microsoft признала наличие проблем в работе службы, из-за которых пользователи могут получать ошибки и испытывать проблемы с подключением к сервису. На портале Microso...
[Перевод] Как Doom попал на Super Nintendo Эта статья — перевод главы книги Game Engine Black Book: DOOM, подробного анализа внутреннего устройства одной из самых влиятельных игр id Software. В этой главе рассказывается о сложном процессе портирования DOOM на Super Nintendo и о ключевой роли, которую сыграл в нём ра...
LINE Games выпустили ролевую игру с упрощенным геймплеем First Summoner Компания LINE Games, отметившаяся пока только простой карточной RPG Destiny Child, продолжает гнуть свою линию — на мобильных вышла простая стратегическая RPG First Summoner. Игра выполнена в вертикальном формате и предусматривает управление одной рукой. В процессе игры вы ...
[Из песочницы] Пользовательские параметры в Google Analytics, которые не раз нас спасали При настройке аналитики через Google Analytics (GA) нередко без внимания остаются Пользовательские параметры или CD (Custom Dimensions). Это происходит из-за сложности с пониманием их области применения: неясно, как именно CD могут помочь в сборе и анализе данных и каким обр...
Постоянный показатель курса биткоинта Цифровая валюта на сегодняшний день набирает все больше популярности, для того чтобы полностью разобраться, как именно пользуются данным видом валюты необходимо понимать следующее: — Биткоин состоит из цифровых значений или монет, как принято называть. — Данная в...
[Перевод] Глубокое погружение в Linux namespaces В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые им...
Особенности работы с Mesh в Unity Компьютерная графика, как известно, является основой игровой индустрии. В процессе создания графического контента мы неизбежно сталкиваемся с трудностями, связанными с разницей его представления в среде создания и в приложении. К этим трудностям прибавляются риски простой че...
3-way merge в werf: деплой в Kubernetes с Helm «на стероидах» Случилось то, чего мы (и не только мы) долго ждали: werf, наша Open Source-утилита для сборки приложений и их доставки в Kubernetes, теперь поддерживает применение изменений с помощью 3-way-merge-патчей! В дополнение к этому, появилась возможность adoption’а существующих K8s...
Решаем судоку с помощью Алгоритма X В этой статье рассмотрим "Алгоритм X" Кнута и его применение для решения судоку. Прелесть алгоритма в том, что судоку при этом решается быстро без программирования каких-то продвинутых техник решения. Читать дальше →
[Перевод] Представьте себе ваши данные перед тем, как вы их соберете Перевод подготовлен для студентов курса «Прикладная аналитика на R». Нам, как исследователям данных (data scientist), часто дают набор данных и просят использовать его для получения информации. Мы используем R для обработки, визуализации, моделирования, подготовки таблиц и...
Люди для CMDB или CMDB для людей «Кто на ком стоял? — крикнул Филипп Филиппович, — потрудитесь излагать ваши мысли яснее» Михаил Булгаков, «Собачье сердце» По-моему, Игорь Фадеев в конце прошлого года написал отличную заметку . Как мне кажется, проблема, решение которой он предлага...
В чем моделировать или делать модель? Бесплатные онлайн ресурсы и софт в целом. Привет, друг.Очень часто вижу вопросы, в чем делать детали или как моделировать тот или иной объект. Хочу собрать в кучу самый распространенный софт и краткое описание к нему. И на десерт рассказать о ресурсах, про которые мало кто знает, хотя они позволяют делать многие вещ...
Ценности Канбан-метода и счастье на работе Большинство практик и управленческих подходов в IT имеют свою ценностную парадигму. Свои ценности есть и у Канбан-метода. Не всегда очевидно, почему управление вообще и управление созданием IT-продуктов в частности должно опираться на какие-то там ценности. В своей стать...
Сетевой мониторинг и выявления аномальной сетевой активности с помощью решений Flowmon Networks В последнее время в Интернете можно найти огромное кол-во материалов по теме анализа трафика на периметре сети. При этом все почему-то совершенно забыли об анализе локального трафика, который является не менее важным. Данная статья как раз и посещена этой теме. На примере ...
[Перевод] Создание вашего первого ARCore-приложения В предыдущей статье я уже объяснил, что такое ARCore и как он помогает разработчикам создавать удивительные приложения дополненной реальности без необходимости понимания математики и OpenGL. Если вы ещё не читали её, я настоятельно рекомендую это сделать, прежде чем перейти...
[Перевод] Доступное объяснение алгоритма коллапса волновой функции Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные. (Источник) Чаще всего он используется для создания изображений, но ...
[Перевод] Восемь золотых правил Шнейдермана помогут вам создать лучший интерфейс Восемь золотых правил Шнейдермана помогут вам создать лучший интерфейс Следуйте «Восьми золотым правилам дизайна интерфейса» Бена Шнейдермана, если вы хотите создавать великолепные, производительные и не вызывающие разочарований пользовательские интерфейсы. Apple, Google и...
Как скачать все изображения с веб-страницы Automator можно по праву назвать одним из самых недооцененных приложений на macOS. Увы, но многие пользователи не догадываются о скрытых возможностях данной утилиты. Тем не менее потенциал заложенный в программу действительно огромен. Сегодня мы расскажем о службе, которая ...
Инструкция для НКО: как делегировать задачи и не переделывать самому Если руководитель умеет распределять между коллегами конкретные задания, скорее всего, организация не будет работать в вечном аврале. Как сотрудникам НКО научиться делегировать задачи, журналисту Теплицы Екатерине Ульяновой рассказала Ксения Мелешкина, директор по закупкам ...
Конференция BPM’19 пройдёт в Москве 30 октября 30 октября 2019 года в Москве пройдёт конференция «BPM 2019. Процессы цифрового предприятия». Самая актуальная информация о тенденциях управления бизнес-процессами в России и в мире, яркие кейсы и доклады признанных экспертов – все это на BPM’19. Промокод realITSM-BPM даёт ...
Как наноматериалы помогут в борьбе с опухолями? Последние исследования в области лечения онкологических заболеваний указывают на то, что противоопухолевая терапия гораздо эффективнее в том случае, когда гибель раковых клеток вызывается не действием какого-либо препарата, а происходит благодаря так называемой иммуногенной...
Почему негативное восприятие учебного процесса связывают с его положительными результатами Принято считать, что студенты лучше учатся, если для этого созданы максимально комфортные условия, а преподаватели — требовательны, но безумно доброжелательны. Без хорошего наставника, который непременно будет нравиться всем, усвоить материал и успешно сдать экзамены практич...
Software Defined Radio — как это работает? Часть 4 Привет Хабр. В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода. Д...
Обзор Call of Duty: Mobile — просто «мобильный шутер» Call of Duty: Mobile — это не плохая мобильная игра, но это не «новое поколение мобильных шутеров», не «самая настоящая Call of Duty на мобильных» и не «наконец-то что-то годное на мобилках». Подобные мнения или даже предположения основаны на эффекте новизны и предвзятом отн...
[Перевод] Вся правда об ОСРВ. Статья #28. Программные таймеры Идея программных таймеров была введена в одной из предыдущих статей. Они являются объектами ядра, предоставляющими задачам простой способ запуска событий по времени, или, чаще всего, способ выполнять действия на регулярной основе. Все детали функционала, связанного со времен...
Нейронные сети предпочитают текстуры и как с этим бороться В последнее время вышло несколько статей с критикой ImageNet, пожалуй самого известного набора изображений, использующегося для обучения нейронных сетей. В первой статье Approximating CNNs with bag-of-local features models works surprisingly well on ImageNet авторы берут м...
Ученые поняли, как определить характер человека по его смартфону Современные смартфоны собирают массу информации о своих владельцах. Давно известно, что различные компании получают информацию (как они утверждают, обезличенную) для того, чтобы улучшать алгоритмы работы своих продуктов. Однако по тому, как человек использует смартфон, можн...
Исправление «глюка» фотосинтеза привело к повышению урожайности на 40% Ученые из Университета Иллинойса обнаружили естественный недостаток фотосинтеза, исправление которого привело к повышению урожайности до 40 процентов, по сравнению с теми же видами культур, растущими «обычным образом». О данном исследовании и его результатах пишет журнал Sc...
Создана система мониторинга усталости Система способна оценить состояние водителя, после чего он в случае необходимости получает предупреждающий сигнал или ограничение доступа к заказам сервиса. Нейросеть Яндекса научилась распознавать усталость водителей, а технологии VisionLabs помогли делать это в движени...
Сбалансированные двоичные деревья поиска: реализация на Julia Иллюстрация из работы Г.М. Адельсон-Вельского и Е.М. Ландиса 1962 года Деревья поиска — это структуры данных для упорядоченного хранения и простого поиска элементов. Широко применяются двоичные деревья поиска, в которых у каждого узла есть только два потомка. В этой статье ...
[Перевод] Тёмная сторона поискового маркетинга: как и зачем Google собирает нашу личную информацию Когда какого-нибудь ленивого журналиста осаждают мрачные предчувствия по поводу Алексы от Amazon или Google Home, он пишет что-то в духе: «Даже Оруэлл не мог предвидеть, что мы сами пригласим Большого Брата к себе домой». При этом он упускает один важный момент: виртуальные ...
[Перевод] Восемь малоизвестных опций Bash Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут set -o xtrace для отладки, set -o errexit для выхода по ошибке или set -o errunset для выхода, если вызванная переменная не установлена. Но есть много других опций. Иногда ...
Что ты такое, Rendering Engine? Или как работает модуль отображения браузера Самым важным для Frontend разработчика является модуль отображения в браузере, он же Rendering Engine (далее RE). В этой статье я хочу взять простую страничку и пройти все этапы вместе с RE от получения первого байта и до отрисовки контента на экран. Пользоваться я, как все...
iOS 13 подтвердила превосходство iPhone X над iPhone XR Уникальность подхода Apple к обновлению iPhone состоит не только в том, чтобы поддерживать их как можно дольше, но еще и в том, чтобы по возможности адаптировать новые функции для работы и на старых, и на новых моделях, не говоря уже об аппаратах одного и того же поколения....
Как сделать бэкап данных вашего смартфона. Даже без root-прав Когда вы покупаете новый телефон, то совсем необязательно повторно скачивать все приложения и настраивать их заново. Уже давно существует процедура восстановления данных. Причем есть масса вариантов того, как это сделать. Для этого даже не обязательно получать root-права. П...
Что вызывает старение мозга? Мозг человека стареет, также как и все другие органы Хотя нам это и не нравится, но старение организмов со временем неизбежно. Оно затрагивает все органы и мозг — не исключение. По мере старения связи между нейронами постепенно ослабевают. Фактически, в течение жизни э...
[Перевод] Big O Примечание. Сокращенный перевод, скорее пересказ своими словами. UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах». Big O нотация нужна для описания сложности алгоритмов. Для этог...
Как настроить Linux для входа в домен с использованием алгоритмов ГОСТ Введение Протокол Kerberos 5 сейчас активно используется для аутентификации. Особенностью данного протокола является то, что он осуществляет аутентификацию, базируясь на трех китах: Симметричное шифрование Хеширование ЭЦП Третья доверенная сторона Начиная с пятой версии п...
[Перевод] Алгоритмы обнаружения контуров изображения В статье представлены четыре самых распространённых алгоритма обнаружения контуров. Первые два, а именно алгоритм трассировки квадратов и трассировка окрестностей Мура, просты в реализации, а потому часто применяются для определения контура заданного паттерна. К сожалению, ...
NB-IoT: как он работает? Часть 3: SCEF – единое окно доступа к услугам оператора В статье «NB-IoT: как он работает? Часть 2», рассказывая про архитектуру пакетного ядра сети NB-IoT, мы упомянули про появление нового узла SCEF. Объясняем в третьей части, что же это такое и зачем это нужно? При создании M2M-сервиса разработчики приложений сталкиваются с...
Сколько энергии нужно мозгу для работы? Шахматный спортсмен может сжигать до 6000 калорий за один день, при этом не вставая со стула Как известно, каждый день человек должен получать из еды в среднем пару тысяч калорий для того, чтобы обеспечить необходимым количеством энергии свой организм. Безусловно, у каждого ...
2. Анализ зловредов с помощью форензики Check Point. SandBlast Agent Продолжаем наш цикл статей по форензике от Check Point. В предыдущей статье мы рассмотрели новый отчет сетевой песочницы, которая помогает ловить 0-day атаки на периметре сети. К сожалению (для “безопасников”), периметр уже давно потерял четкие границы. Мобильные устройств...
[recovery mode] Бесплатные ссылки, или чем заняться на досуге владельцу сайта Эта статья будет полезна владельцам бизнеса, которые занимаются продвижением своего сайта самостоятельно, но в “пассивном режиме”: в свободное время понемногу изучают вопрос, пытаются вникнуть в разные аспекты, пробуют разные способы и сервисы. Иными словами, не ставят жестк...
[Из песочницы] JavaScript: Создание простого MEVN-приложения О чем статья Цель этой статьи — показать, как можно создать базовое MEVN-приложение. Акроним MEVN означает — MongoDB + Express.js + Vue.js + Node.js. В качестве примера будет написано одностраничное приложение, которое содержит форму, состоящую из нескольких текстовых полей....
Большие данные: погружение и понимание Анализ больших данных способен решить множество прикладных задач в самых различных отраслях: помочь бизнесу стать более эффективным, прозрачным и предсказуемым, сэкономить затраты и т.д. Вместе с тем, существует ряд подводных камней, которые могут подстерегать аналитиков в п...
12 нм технология GlobalFoundries обещает не уступать 10 нм процессам конкурентов Компания GlobalFoundries объявила о доступности нового технологического процесса 12 Leading Performance (12LP), который был назван 12LP+. Этот процесс должен обеспечить заметный прирост производительности и снижение энергопотребления.
Разработка Unix подобной OS — Драйверы символьных устройств (8) В предыдущей статье мы ввели многозадачность. Сегодня пришло время рассмотреть тему драйверов символьных устройств. Конкретно сегодня мы напишем драйвер терминала, механизм отложенной обработки прерываний, рассмотрим тему обработчиков верхних и нижних половин прерываний. ...
[Перевод] Перенос десктопных приложений на .NET Core С тех пор, как я начала работать с сообществом над переносом десктопных приложений с .NET Framework на .NET Core, я заметила, что существует «два лагеря»: представители одного хотят очень простой и короткий список инструкций для переноса своих приложений на .NET Core, в то в...
[Из песочницы] Мой опыт подготовки к экзамену JIRA Administrator ACP-100 Приветствую! В апреле 2018 успешно сдал экзамен по JIRA ACP-100, в октябре 2018 сдал экзамен по confluence ACP-200. Решил написать пост о том, как я готовился к экзамену JIRA ACP-100, дать советы для тех кому эта тема может быть интересна. Я опишу процесс своей подготовки к...
Как восстановить резервную копию из iCloud на iPhone и iPad Регулярное создание резервных копий своих данных на iPhone или iPad помогает их защитить. Но помимо запуска процесса бэкапа надо еще знать, как именно восстанавливать информацию в нужный момент. К счастью, восстановление резервной копии является достаточно простым процессом....
«Проще ответить, чем продолжать молчать» — большое интервью с отцом транзакционной памяти, Морисом Херлихи Морис Херлихи — обладатель целых двух премий Дейкстры. Первая — за работу по «Wait-Free Synchronization» (Brown University) и вторая, более свежая, — «Transactional Memory: Architectural Support for Lock-Free Data Structures» (Virginia Tech University). Премию Дейкстры дают...
Infrastructure as code: первое знакомство У нас в компании идёт процесс онбординга SRE-команды. Я зашёл во всю эту историю со стороны разработки. В процессе у меня появились мысли и инсайты, которыми я хочу поделиться с другими разработчиками. В этой статье-размышлении я говорю о том, что происходит, как происходит,...
Простой способ восстановить удаленные данные с iPhone Чуть ли не с каждым случалась ситуация, когда было необходимо восстановить удаленные файлы с iPhone. Иногда это бывает намеренно, по чистой случайности, а порой удаление данных происходит из-за глюка в операционной системе. На эти случаи выпустили специальное приложение, ко...
Apple начала бороться с пиратскими приложениями на iOS Одна из главных причин, по которой разработчики и издатели выбирают iOS в качестве основной платформы — отсутствие пиратства. Практически все доступные приложения распространяются через фирменный магазин App Store, и установить что-то в обход каталога — целый кв...
Разрабатываем приложение, которое отсылает данные другим приложениям (экосистемное приложение) Привет, хаброжители! Это моя вторая статья про разработку своего проекта. Тем, кто не читал предыдущая статейку: она про то, как из одного места (гугл таблицы) автоматически экспортировать данные в другое (ноушн). Сегодня я расскажу, как я писал (и проектировал) библиотеку...
[Перевод] Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость Основным требованием при разработке Nucleus SE была высокая степень совместимости с главным ОСРВ-продуктом Mentor – Nucleus RTOS. Nucleus SE поддерживает определенную часть функционала Nucleus RTOS, о чем много раз говорилось в предыдущих статьях, однако в этой статье я пост...
Какие заголовки привлекают внимание чаще всего или анализ HabraHabr Здравствуйте, и снова появилось желание поделиться чем-то полезным! Статья о пользе домохозяйки не зашла на Хабр, по этому я выудил статью 4 летней давности написанную специально для habrhabr.ru для рекламы digital агентства, которое я уже закрыл. Надеюсь этот раз плюсов буд...
[Из песочницы] Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Top 20 C++ multithreading mistakes and how to avoid them» автора Deb Haldar. Сцена из фильма «Петля времени (2012) Многопоточность— одна из наиболее сложных областей в программировании, особенно в C++. За годы разраб...
Отдельные профили для фрилансеров и заказчиков Мы разделили профили исполнителей и заказчиков на Фрилансим для того, чтобы с сайтом было проще работать. Перед нами стояла задача — сделать процесс поиска заказов или фрилансеров интуитивно понятнее, убрать ненужные или редко используемые ссылки, но оставить при этом перекл...
Dell запускает в продажу обновлённые Alienware и G Series Dell запускает в продажу ноутбуки, которые ориентированы на геймеров, предпочитающих всё по максимуму. Комфортный игровой процесс с настройками графики дальше некуда. Легендарная серия ноутбуков Alienware обновилась, о чём было сказано ещё на CES 2019, теперь же Alienware ...
[Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч...
[Перевод] Чему можно научиться у дизайна гиперказуальных игр Кто-то может сказать, что гиперказуалки, вероятно, один из простейших жанров для анализа гейм-дизайна. Кто-то может сказать что гиперказуальные игры даже не стоят анализа, потому что этот тренд скоро исчезнет, но у меня есть другое мнение. Не могу сказать, что являются спе...
Инструменты Метода управления проектной организацией (часть 2) Продолжаю серию публикаций об управлении проектной организацией в условиях когда много нужно выполнять все обязательства в срок и в полном объеме и есть ограничение по ресурсам. В прошлый раз я рассказал о концепции Pulse Management (Метода Пульса, далее «Метод»), а сейчас з...
[Перевод] Unreal Engine4 — PostProcess эффект сканирования В эти выходные у меня появилось немного свободного времени между занятиями (прим. автор на момент статьи получал степень магистра наук), и я решил вернуться к созданию шейдеров, придумав этот postprocess эффект сканирования. Я представил, что он используется в игре как сво...
ML.NET: впечатления от Model Builder и не только Доброго времени суток и мое почтение, читатели Хабра! Предыстория У нас на работе принято обмениваться интересными находками в командах разработки. На очередной встрече, обсуждая будущее .NET и .NET 5 в частности, мы с коллегами заострили внимание на видении унифицированный ...
Моделирование для печати на 3D принтере в КОМПАС 3D В сегодняшней статье хотелось бы поговорить об отечественном САПР КОМПАС 3D. Не буду многословным и не буду рассказывать на сколько это мощный инструмент в умелых руках.И так как сегодня речь пойдёт о моделях для принтера, покажу как правильно сохранять модель в формате STL....
Процедура IDRP дорого обходится правообладателям Европейская ассоциация Marques, объединяющая обладателей защищенных торговых марок и товарных знаков, обратилась с письмом к корпорации ICANN, сообщает Domain Incite. В письме содержатся любопытные цифры. Единая политика разрешения доменных споров UDRP вступила в силу поряд...
Плохие запахи делают воспоминания более сильными Воспоминания будут сильнее, если с ними ассоциируется неприятный запах, сообщается в новом исследование. Ученые считают, что это открытие расширит наше понимание того, как можно стимулировать реакцию Павлова и как негативный опыт влияет на нашу способность вспоминать событи...
Бизнесмен Дмитрий Спиридонов раскрыл секреты управления финансами Сооснователь платежного сервиса CloudPayments Дмитрий Спиридонов рассказал о навыках делегирования задач в бизнесе. Он поделился пятью основными правилами по умению делегировать задачи в крупной компании другим сотрудникам. «Если лидер хочет развиваться дальше и масшт...
Не судите чужой код строго Так сложилось что большую часть своей сознательной жизни я программирую на PHP. Наш мозг, воспринимая информацию из любого источника, делает это без отрыва от авторитетности этого источника. Грубо говоря, если вы любите PHP — вы автоматически добавили очков авторитетности ав...
Как провести диагностику вашего Android-смартфона Если вы никогда не запускали диагностический тест на своем смартфоне, это стоит сделать, особенно если ваш смартфон уже откровенно демонстрирует свой возраст или если вы приобрели смартфон бывший в употреблении и хотите проверить его состояние. Средства диагностики также по...
[Перевод] Об удобочитаемом именовании тестов в JS и поведенческом паттерне В ходе очередного ревью толстого Pull Request'а наткнулся на Unit Test'ы с некорректным именованием тест-кейсов. Обсуждение формулировок в тест-кейсах получилось похожим на разговор Янычара и Легкоступова в к/ф "72 метра" ("если б мне в школе так доходчиво..."). В разговоре ...
Найдены клетки, вызывающие отвращение к курению Первые выкуренные сигареты производят на мозг начинающего курильщика двойное действие, вызывая одновременно и отвращение, и удовольствие. Впрочем, когда курение превращается в привычку, вместо изначального отвращения появляется устойчивая тяга к никотину. Считалось, что данн...
[Из песочницы] Имплементация кэша на Verilog В данной статье разбор простейшей реализации RAM на языке Verilog. Перед тем, как перейти к разбору кода, рекомендуется изучить базовый синтаксис языка Verilog. Здесь вы можете найти обучающие материалы. Читать дальше →
[Перевод] Простой и безопасный способ автоматизации канареечных деплоев с помощью Helm Канареечный деплой — это очень эффективный способ тестирования нового кода на каком-то подмножестве пользователей. Он значительно снижает трафик-нагрузку, с которой могут возникнуть проблемы в процессе развертывания, так как происходит только в пределах определенной подгру...
Как поисковики определяют, настоящий отзыв на сайте или фейковый? Вопрос пользователя: Во многих источниках пишут, что отзывы или комментарии к товарам, статьям и другому материалу на сайте влияют на продвижение в поисковиках. Умеют ли поисковики различать отзывы, оставленные от одного человека (например, администратора сайта), или ...
Описан процесс изоляции рунета в случае «внешней угрозы» Роскомнадзор обнародовал проект с описанием правил изоляции российского сегмента интернета в случае «внешних угроз».
Подробно о dynamic: подковерные игры компилятора, утечка памяти, нюансы производительности Прелюдия Рассмотрим следующий код: //Any native COM object var comType = Type.GetTypeFromCLSID(new Guid("E13B6688-3F39-11D0-96F6-00A0C9191601")); while (true) { dynamic com = Activator.CreateInstance(comType); //do some work Marshal.FinalReleaseComObject(com...
Опыт создания первого робота на Ардуино (робот-«охотник») Здравствуйте. В данной статье я хочу описать процесс сборки своего первого робота на ардуино. Материал будет полезен другим таким же новичкам, как и я, которые захотят изготовить какую-нибудь «самобеглую тележку». Статья представляет собой описание этапов работы с моими доп...
Виды контекста в JavaScript И снова здраствуйте! Мы уже писали о том, что в конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий продолжаем делиться с вами авторскими статьями, подготовленными специально для студентов курса. Сегодня разберем в...
Автоматизация замены дисков с помощью Ansible Всем привет. Я работаю ведущим системным администратором в ОК и отвечаю за стабильную работу портала. Хочу рассказать о том, как мы выстроили процесс автоматической замены дисков, а затем, как исключили из этого процесса администратора и заменили его ботом. Эта статья явл...
Гайд по внутренней документации по информационной безопасности. Что, как и зачем В одной из наших предыдущих статей мы затронули вопрос формирования комплекта документов для проверяющих по вопросам защиты персональных данных. Мы дали ссылку на наши шаблоны документов, но остановились на теме документации по информационной безопасности весьма поверхност...
[Из песочницы] Как сделать так, чтобы Daily/Stand-up не был похожим на встречу по статусу? Хотя Daily Scrum или Stand-up встречи принципиально отличаются от отчетных встреч, иногда первые становятся похожими на вторые. Чтобы этого избежать, давайте рассмотрим отличия хорошего эффективного Daily/Stand-up и не лучшей сферической встречи по статусу в вакууме, а затем...
Как работает ProGuard Если вы когда-либо задумывались о безопасности своего приложения, либо как-то хотели оптимизировать свой код, то, наверняка, вы знаете что такое ProGuard. Возможно, вы уже пострадали от него или смогли превозмочь документацию, парочку статей на просторах и разобрались, что ...
[Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-...
Как Windows 10 May 2019 Update улучшает общую производительность ПК Обновление Windows 10 May 2019 Update предлагает множество улучшений и незначительных изменений, которые могут в некоторой степени повысить производительность вашего компьютера. Windows 10 версии 1903 от Microsoft предлагает столь необходимые усовершенствования Центра обновл...
Принципы документирования и локализации, или как получить хорошую локализацию минимальными затратами Всем привет! Меня зовут Денисов Александр. Я работаю в компании Naumen и отвечаю за документирование и локализацию программного продукта Naumen Contact Center (NCC). В этой статье расскажу о тех проблемах, с которыми мы сталкивались при локализации NCC на английский и нем...
Google Fit получил новые функции и готов улучшить ваше самочувствие Если вы пытаетесь вести здоровый образ жизни, то одной из самых важный вещей, о которой вам стоит как следует позаботиться, – это хороший сон. Конечно, физические упражнения, правильное питание и натуральная пища являются важными факторами для здорового образа жизни, но пра...