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

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

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

[Из песочницы] Глубокое ранжирование для сравнения двух изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «Image Similarity using Deep Ranking» автора Akarsh Zingade. Алгоритм Deep Ranking Понятия "сходства двух изображений" — введено не было, поэтому давайте введем данное понятие хотя бы в рамках статьи. Сходс...

«Фабричный метод» и «Абстрактная фабрика» во вселенной «Swift» и «iOS» Слово «фабрика» – безусловно одно из самых часто употребляемых программистами при обсуждении своих (или чужих) программ. Но смысл в него вкладываемый бывает очень разным: это может быть и класс, порождающий объекты (полиморфно или нет); и метод, создающий экземпляры какого-л...

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

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

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

[Из песочницы] Криптографический алгоритм «Кузнечик»: просто о сложном В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java. Кто, как, когда и зачем разработал д...

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

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

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

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

[Перевод] Доступное объяснение алгоритма коллапса волновой функции Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные. (Источник) Чаще всего он используется для создания изображений, но ...

[Перевод] Как работают пули в видеоиграх? Игры FPS (first-person shooter, шутер от первого лица) стали неотъемлемой частью видеоигровой индустрии ещё с момента появления в 1992 году популярнейшей Wolfenstein 3D. С тех пор жанр эволюционировал: улучшалась графика, увеличивались бюджеты на разработку, развивалась экос...

[Перевод] Кеширование в Laravel: основы плюс tips&tricks Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содер...

[Из песочницы] Принцип открытости-закрытости Привет, Хабр! Перед вами перевод статьи Роберта Мартина Open-Closed Principle, которую он опубликовал в январе 1996 года. Статья, мягко говоря, не самая свежая. Но в рунете статьи дяди Боба про SOLID пересказывают только в урезанном виде, поэтому я подумал, что полный перево...

[Перевод] Введение в детерминированные сборки на С/С++. Часть 1 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Что такое детерминированная сборка? Детерминированная сборка — это процесс сборки одного и того же исходного кода с одной и той же средой и инструкциями сборки, при котором создаются одни и те же...

Куда приводит ABBYY Road Какое лето ждет человека, который работает в ABBYY? Яркое и наполненное новыми впечатлениями. Для этого еще в 2008 году мы придумали «Лето с ABBYY» – серию разнообразных поездок, экскурсий и походов. Каждый из нас может найти себе что-то по душе – от экскурсий на «Красный о...

Делаем крутой sticky-эффект для слайдера на React Есть много разных библиотек для реализации слайдера со всеми возможными эффектами. Для React одни из лучших это: ReactSlick и Swiper. Но когда для моего проекта потребовался горизонтальный sticky-эффект, то ничего подходящего не нашлось. В этой статье мы попробуем поэтапно...

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

NVIDIA Jetson Nano: тесты и первые впечатления — часть 2, тесты AI Привет, Хабр. В первой части была рассмотрена NVIDIA Jetson Nano — плата в форм-факторе Raspberry Pi, ориентированная на производительные вычисления с помощью GPU. Настала пора протестировать плату в том, для чего она создавалась — для AI-ориентированных расчетов. Рассмо...

[Перевод] F#9: Тип Option Если в C# есть понятие null для ссылочных типов и Nullabe для структур. Это может принять одну из следующих 2 форм (для демонстрации я использую тип int здесь, но тип может быть любой структурой). Nullable int? Читать дальше →

Dependency Injection, JavaScript и ES6-модули Ещё одна имплементация Dependency Injection в JavaScript — с ES6-модулями, с возможностью использовать один и тот же код в браузере, и в nodejs и не использовать транспиляторы. Под катом — мой взгляд на DI, его место в современных web-приложениях, принципиальная реализация...

[Перевод] Как реализовать чистую архитектуру на Android? Что вы найдёте в этой статье? В 2016 году я начал изучать Java, а в начале 2017 года — Android. С самого начала я уже знал, что существует понятие архитектуры приложений, но не знал, как это применить в своём коде. Я находил много разных гайдов, но понятнее от этого мне не ...

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

YouTrack 2019.2: общесистемный баннер, улучшения страницы со списком задач, новые параметры для поиска и другое Всем привет! Сегодня я вам расскажу, какие изменения вошли в релиз YouTrack 2019.2! Рабочие процессы «Конечный автомат», зависящие от типа задачи В этот релиз мы добавили возможность создавать рабочие процессы, в которых правила зависят от значения другого поля. Таким об...

Что слышно в радиоэфире? Радиолюбители/Ham radio Привет Хабр. В первой части статьи про то что слышно в эфире было рассказано про служебные станции на длинных и коротких волны. Отдельно стоит рассказать о радиолюбительских станциях. Во-первых, это тоже интересно, во-вторых, присоединиться к этому процессу, как на прием, т...

[Из песочницы] NeoBook: среда программирования для непрограммистов NeoBook: среда программирования для непрограммистов Для кого эта статья Статья написана, в первую очередь, для тех, кто не является профессиональным программистом, но хочет уметь создавать свои собственные компьютерные программы для компьютеров с Windows. Программирование ...

Бюджетный Galaxy A50 получил важную функцию Galaxy S10 Что отличает флагманские смартфоны от нефлагманских? Первое, что приходит в голову, — это цена и, конечно же, функциональные возможности. До поры до времени такого правила придерживались все производители, пока рынок не начали завоевывать вендоры из Китая, на корню по...

Блокчейн: что нам стоит PoC построить? Глаза боятся, а руки чешутся! В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализаци...

5 достойных USB 3.0 флешек с сайта Aliexpress На данный момент рынок переполнен различными моделями. Их количество достаточно большое, для того чтобы найти стоящие модели может понадобиться не один час. Я решил выяснить какие USB флешки достойны внимания и перебрал различные варианты. Решил выделить 5 моделей, которые ...

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

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

Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...

StickIt 2.0.11 StickIt! – это забавное и простое приложение-фоторедактор для Android, с помощью которого можно быстро вырезать какой-либо объект с изображения и сделать оригинальные стикеры. Работа программы полуавтоматическая. Это значит, что для вырезания объекта придется приложить ...

Говорящий Шар Предсказаний! 5.1.3 Шар предсказаний (иногда шар судьбы или шар желаний)– уникальное гадание. При помощи него можно узнать, что вам предстоит в ближайшее время. Если вы в нерешительности, не знаете что делать в той или иной сложившейся ситуации, данное приложение – именно для вас.  Задавать в...

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

Блокировки в PostgreSQL: 1. Блокировки отношений Два предыдущих цикла статей были посвящены изоляции и многоверсионности и журналированию. В этом цикле мы поговорим о блокировках (locks). Я буду придерживаться этого термина, но в литературе может встретиться и другой: замóк. Цикл будет состоять из четырех частей: Блоки...

Способы применения и искажения меткости в играх. Наглядные графики для сравнения Вычислять факт попадания в играх на основе полученной меткости можно по разному: — сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]); — сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел; — сравнивая среднее из двух и б...

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

StealthWatch базовые понятия и минимальные требования. Часть 1 Данная статья посвящена довольно новому продукту мониторинга сети Cisco StealthWatch. Основываясь на данных телеметрии вашей инфраструктуры, StealthWatch может выявлять самые разные кибератаки, включая: APTs DDoS атаки нулевого дня наличие ботов в сети кража данных (da...

Кольцо вокруг камеры Samsung Galaxy S10 может отображать уровень заряда аккумулятора В магазине Google Play вышло новое приложение для смартфонов семейства Samsung Galaxy S10, которое получило название Energy Ring. В данный момент Energy Ring работает со смартфонами Samsung Galaxy S10 и S10e, поддержка Galaxy S10+ будет добавлена в ближайшее время. Данн...

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

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

Искусственный интеллект в файтинге Shadow Fight 3 Геймдизайнеры регулярно сталкиваются с задачей создать интересный ИИ. Этот процесс может быть как относительно простым, так и крайне сложным, в зависимости от нужд проекта и целей, которые вы преследуете. Старший геймдизайнер Banzai Games Михаил Драговаловский рассказал пр...

[Перевод] Thinking with Portals: создаём порталы в Unreal Engine 4 В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную. Что такое портал? Давайте начнём с примеров и объяснения...

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

[Из песочницы] Система генерации ландшафта лабиринта с улучшенным визуальным реализмом [перевод статьи Jinmo Kim] Привет, Хабр! В этой публикации я расскажу о статье автора Jinmo Kim: "Maze Terrain Authoring System in Immersive Virtual Reality for New Visual Realism". Она была опубликована 4.04.2019. Полный текст статьи можно посмотреть здесь. Краткое описание системы В стать...

Сoncurrent collections за 10 минут Photo by Robert V. Ruggiero Тема не новая. Но задавая вопрос “что такое concurrent collections и когда их использовать?” на собеседовании или code review, я почти всегда получаю ответ, состоящий из одного предложения: “они полностью защищают нас от race conditions” (что не...

Continuous Monitoring – автоматизация проверок качества ПО в CI/CD Pipeline Сейчас на хайпе тема DevOps. Конвейер непрерывной интеграции и доставки CI/CD внедряют все, кому не лень. Но большинство не всегда уделяют должное внимание обеспечению надежности работы информационных систем на различных этапах CI/CD Pipeline. В данной статье я хотел бы пого...

#видео | Как «умирают» искусственные нейронные сети Вы видели, как погибает искусственная нейронная сеть? Довольно странное зрелище. Энтузиаст, называющая себя «девушкой, играющей с ИИ», поделилась с изданием Vice видео с результатом своего проекта под названием «Что я увидела перед тьмой». Программистка создала нейронную се...

Как зависит перевод термина trunk от вендора коммутаторов? На эту ошибку (или, если хотите, разночтение) я обратил внимание во время проверки перевода по коммутаторам NETGEAR. Дело в том, что при переводе термина “trunk” нужно обязательно учитывать, чьей трактовки придерживается вендор — Cisco или HP, ибо между ними очень разный тех...

Автоматизация homebridge с помощью Node-Red На мой взгляд, одним из главных минусов homebridge является отсутсвие возможности создавать продвинутые сценарии. Вся автоматизация возлагается на домашний центр, которым может быть Ipad (подключенный к зарядке), Apple TV или HomePod. Не у всех эти устройства есть, вдобавок ...

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

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

AERODISK Engine: Катастрофоустойчивость. Часть 1 Привет, читатели хабра! Темой этой статьи будет реализация средств катастрофоустойчивости в системах хранения AERODISK Engine. Изначально мы хотели написать в одной статье про оба средства: репликацию и метрокластер, но, к сожалению, статья получилась слишком большой, поэто...

API на F#. Доступ к модулям приложения на основе ролей ASP.NET Core по стандарту предлагает настраивать доступ к api с помощью атрибутов, есть возможность ограничить доступ пользователям с определенным claim, можно определять политики и привязывать к контроллерам, создавая контроллеры для разных ролей У этой системы есть минусы,...

Загадка нейтрино от Сверхновой 1987А Сверхновая 1987А: во время и до вспышки Не очень давно здесь была неплохая статья Bars21 о нейтрино от сверхновых. Она мне очень понравилась, и кое-какие моменты (например, про урка-процесс) натолкнули на то, что мы не только читали или слушали одних и тех же преподавателе...

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

[Из песочницы] Константные указатели на указатели на указа… Введение Недавно ко мне подошли с вопросом, «что это и как этим пользоваться?», показав следующий код: extern "C" { void byteMaskDowngrade(byte***const byteMask, const byte *const *const && source) { // какой-то код. } // некоторые фукции. } Эт...

Объекты без циклических ссылок и циклической сборки мусора Каждый экземпляр класса в CPython, созданный при помощи синтаксической конструкции class, участвует в механизме циклической сборки мусора. Это увеличивает след в памяти каждого экземпляра и может создавать проблемы с памятью в высоконагруженных системах. Нельзя ли обойтись в...

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

[Из песочницы] Автоматически экспортируем Google Forms в Notion с помощью IFTTT и Django Всем доброго дня! Думаю, статья будет интересна всем, кто пользуется Notion, но по какой-то причине не мог переехать на него полностью. Предистория Я разрабатываю свой проект. На лэндинге после ввода емейла выдается ссылка на соцопрос на базе Google Forms. Ответы записывают...

[Перевод] Простое объяснение алгоритмов поиска пути и A* Часть 1. Общий алгоритм поиска Введение Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия. Цель данной статьи — объясн...

[Из песочницы] Тренды и прогнозы в Natural Language Processing Тренды и прогнозы в области NLP (Natural Language Processing) Это статья про тренды и прогнозы из нашего сентябрьского Альманаха «Искусственный интеллект» №2, который посвящен обзору рынка технологий и компаний в области NLP и распознавания-синтеза речи в России. Для этого ...

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

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

[Перевод] Редактирование текста тоже вас ненавидит Опубликованная месяц назад статья Алексис Бингесснер «Рендеринг текста вас ненавидит» очень мне близка. В далёком 2017 году я разрабатывал интерактивный текстовый редактор в браузере. Неудовлетворённый существующими библиотеками на ContentEditable, я подумал: «Эй, да просто...

Проверка эффективности работы SOC Сегодня мы поговорим о Security Operations Center (SOC) со стороны людей, которые не создают и настраивают его, а проверяют, как это сделали другие. Под проверку попадает эффективность работы SOC, построенного для вашей компании самостоятельно или кем-то со стороны. Проверка...

[Перевод] Опасности конструкторов Привет, Хабр! Представляю вашему вниманию перевод статьи "Perils of Constructors" автора Aleksey Kladov. Один из моих любимых постов из блогов о Rust — Things Rust Shipped Without авторства Graydon Hoare. Для меня отсутствие в языке любой фичи, способной выстрелить в ногу, о...

Генерация кода для бекенда. Что генерировать, как и зачем? Я хочу показать в этой статье как у нас в фирме генерируется бекенд (и немного фронтенд) код, зачем вообще это нужно и как это лучше делать. Что именно будем генерировать — не так важно. Важно что мы опишем 3 вида объектов на основе которых сгенерируем взаимодействие фронте...

[Перевод] Автор Dwarf Fortress Тарн Адамс рассказывает о разработке игры Одним из лучших способов применения мощных процессоров для развлечений долгое время была Dwarf Fortress — игра, в которой весь мир состоит из символов ASCII, и которая с радостью съест гигабайт памяти и большую долю процессорного времени. Но в отличие от некоторых других и...

Язык и органы чувств Привет, Хабр! Представляю вашему вниманию перевод статьи "How your language reflects the senses you use" автора Sophie Hardach. Что вам проще описать: цвет травы или ее запах? Ответ может зависеть от того, откуда вы родом, и, в частности, от того, на каком языке вы с детств...

А какая разница какой Collation выбрать? Статья подготовлена для студентов курса «MS SQL Server разработчик» Хочу поделиться историей из одного из предыдущих проектов, которая иллюстрирует, что Collation нужно выбирать очень вдумчиво. И о том, что бывает, если этот параметр все-таки выбрали неверно, и какие вариант...

[Перевод] Почему SvelteJS возможно лучший фреймворк для новых веб-разработчиков Любой веб-разработчик, который занимается этим хотя бы несколько лет, наверняка день за днем слышит подобный вопрос: Я действительно хочу стать веб-разработчиком, но я не знаю с чего начать. Есть какие-то предложения? Лет 10 назад ответ был очень прост. Просто создайте in...

В Азии выйдет мобильная версия популярного файтинга Dead or Alive Тайваньская студия Cayenne’s Ark анонсировали проект Dead or Alive M (временное название). Права на мобильную версию популярного файтинга разработчики получили у издателя Koei Tecmo. Он выйдет уже в следующем квартале в Азии. Первая часть Dead or Alive появилась еще в 1996 ...

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

10 верстальщиков на 30 команд. Вы рехнулись? Всем привет! Меня зовут Костя, и я руковожу отделом верстки в компании Wrike. В нашем отделе сейчас работает 10 человек, и все эти ребята пришли в компанию в разное время, у них различный опыт и задачи в отдельных командах. При этом все сотрудники — прекрасные специалисты, к...

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

Информационная энтропия хаоса Введение На Habr достаточно много публикаций, в которых рассматривается понятие энтропии, вот только некоторые из них [1÷5]. Публикации были позитивно восприняты читателями и вызвали большой интерес. Достаточно привести определение энтропии, которое дал автор публикации [1...

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

Cоздание визуальных компонентов в Unity UI. Система частиц Привет! Эта статья о создании собственных визуальных компонентов в UI на примере компонента для визуализации системы частиц в Canvas’e. Данная информация будет полезна для реализации различных эффектов в пользовательском интерфейсе, а также может использоваться для генераци...

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

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

[Перевод] Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3 Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes. За последние несколько лет эта технология оркестровки контейнеров сделала большой шаг вперед и стала своего рода корпоративным стандартом дл...

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

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

[Перевод] Как работает Level Flow в Uncharted 4 и The Last Of Us В течение последних месяцев я исследовал несколько разных игр, в том числе «Uncharted 4» и «The Last of Us» (разработанные Naughty Dog). Цель этой статьи — познакомить вас с дизайном уровней и дать мотивацию к его дальнейшему изучению. Я вкратце расскажу о различных элемен...

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

Обновление программного комплекса SafeERP: Иерархия полномочий В марте 2019 года компания «Газинформсервис» представила обновленную версию программного комплекса SafeERP 4.6. Подробное описание продукта SafeERP приведено на сайте компании. В новую версию программного комплекса SafeERP 4.6 включена процедура построения иерархии полномоч...

[Перевод] Вся правда об ОСРВ. Статья #27. Системное время Понятие времени в контексте ОСРВ была введена в одной из предыдущих статей, вместе с идеей о связанных со временем функциях, доступных в ОСРВ. Читать дальше →

Lerdge K и 3d touch автоуровень (от TriangleLab) на Ender 3 или любом другом принтере. Наконец-то выдалась минутка поделится своими 'мучениями'. Статья уже неск. мес. в черновиках.Речь пойдет о популярной нынче плате Лердж К и не менее популярном датчике, клоне bl touch, 3д таче.И не надо тут спорить, зачем и почему. Я так захотел, потому что у меня есть для э...

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

Основы реактивного программирования с использованием RxJS. Часть 3. Higher Order Observables В данной статье мы рассмотрим, как можно в одном потоке обрабатывать другой, для чего это нужно, и как нам в этом помогут операторы Higher Order Observables (дальше HOO). При работе с потоками часто возникает ситуация, когда необходимо в качестве значения одному потоку пе...

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

[Из песочницы] Whitespace Обфускатор для PHP Прочитав статью про обфускацию в JavaScript (а именно 3-ю часть статьи), я заинтересовался подобным обфускатором для PHP. Обфускатор, о котором шла речь в статье превращал JavaScript-код в невидимый (на первый взгляд), состоящий из табуляций и пробелов код. Суть заключаетс...

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

WeakRef — предложение для добавления в стандарт ECMAScript Написал небольшой пост в своём телеграм-канале. Подумал, что она может быть интересна читателям Хабра. Недавно в блоге V8 появилась статья, посвящённая новому пропозалу WeakRef (Stage 3) — "Weak references and finalizers". Попробую объяснить своими словами его суть на пример...

[Из песочницы] Операционные vs аналитические базы: колоночное vs построчное хранение данных Базы данных можно реализовать с помощью Excel, GSheet или при помощи больших ORM систем. В своей практике бизнес-аналитика я сталкивался с разными решениями. А поскольку в бизнес-анализ я пришёл из финансов и аудита, то каждый раз встречая новую систему задавался вопросами —...

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

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

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

QEMU.js: теперь по-серьёзному и с WASM Когда-то давно я смеха ради решил доказать обратимость процесса и научиться генерировать JavaScript (а точнее, Asm.js) из машинного кода. Для эксперимента был выбран QEMU, некоторое время спустя была написана статья на Хабр. В комментариях мне посоветовали переделать проект ...

2. Check Point Getting Started R80.20. Архитектура решения Добро пожаловать на второй урок! На этот раз мы поговорим об архитектурных особенностях решений Check Point. Это очень важный урок, особенно для тех, кто впервые знакомится с «чекпоинтом». В целом, данный урок будет очень похож на одну из наших предыдущих статей "Check Poi...

Ticket to Ride.Европа — арифметика, часть вторая Всё ещё продолжаю изучать основы математики и механики в игре. Данная статья является второй в серии (Ссылка на первую часть), в ней продолжается анализ перегонов, попытка их сортировки по потребности, изучение различных способов строительства маршрутов. Если проводить анало...

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

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

[Перевод] Делегаты и события в C# Перевод статьи подготовлен специально для студентов курса «Разработчик С#». Что такое события в C#? Событие может быть использовано для предоставления уведомлений. Вы можете подписаться на событие, если вам нужны эти уведомления. Вы также можете создавать свои собственные...

[Перевод] Искусственный интеллект Horizon Zero Dawn Horizon Zero Dawn находится в списке одних из лучших эксклюзивов для Playstation 4. В роли охотницы Элой игроки путешествуют по постапокалиптическим ландшафтам будущего, чтобы раскрыть тайны её прошлого и узнать о причинах разрушения мира. Упадок человечества привёл к расцве...

Разработчики Dead or Alive 6 объявили о кроссовере с серией King of Fighters Студия Team Ninja совместно с издательством Koei Tecmo раскрыла несколько новых подробностей о готовящемся к релизу файтинге Dead or Alive 6. Во-первых, авторы объявили о договорённости с компанией SNK относительно кроссовера с серией King of Fighters. В Dead or A...

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

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

[Из песочницы] Размеры Java-объектов разного типа Введение Содержит ли Java-объект: поля, объявленные в суперклассе? private поля, объявленные в суперклассе? методы? элементы массива? длину массива? другой объект (в себе)? hash-код? тип (свой)? имя (своё)? Ответы на эти (и другие) вопросы можно получить с помощью библиот...

[Перевод] Новый Windows Terminal: ответы на некоторые ваши вопросы В комментариях к недавней статье вы задали много вопросов по поводу новой версии нашего Windows Terminal. Сегодня постараемся ответить на некоторые из них. Под катом приведены некоторые из наиболее часто задаваемых вопросов, которые мы слышали (и до сих пор слышим), а также...

Изучаем календарь Эта статья получилась из вопроса, который я вчера задал сам себе. «Существует ли год, в котором ни один месяц не начинается в понедельник?» На первый взгляд — да. Год может начинаться с любого дня недели, месяцы тоже каждый раз начинаются в разные дни недели. Вариантов множ...

ResNet50. Своя реализация Всем привет. Библиотека нейросети описана в моей прошлой статье. Здесь решил показать как можно использовать обученную сеть из TF (Tensorflow) в своем решении, и стоит ли. Под катом сравнение с оригинальной реализацией TF, демо приложение для распознавания картинок, ну и… в...

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

Йо-хо-хо и бутылка рому Многие из вас помнят наш прошлогодний фановый гик-проект «Сервер в облаках»: мы сделали маленький сервачок на основе Raspberry Pi и запустили его на воздушном шаре. Попутно провели конкурс на Хабре. Для победы в конкурсе нужно было угадать куда приземлится шар с сервером. П...

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

Рекомендательная система для Directum Club. Часть первая, коллаборативная Каждый день пользователи по всему миру получают большое количество различных рассылок — только через сервис MailChimp ежедневно рассылают миллиард писем. Из них открывают 20.81%. Ежемесячно пользователи наших сайтов получают рассылки с отобранными редактором материалами. Эти...

Supercell приглашает пользователей создавать скины для Brawl Stars, награда — $10 000 Supercell представила новую возможность для сообщества, в рамках которой игроки могут создавать собственные скины для персонажей Brawl Stars. Она называется Supercell Make. Компания будет приглашать игроков создавать скины для одного конкретного персонажа за раз. Если предл...

[Перевод] Как генерируются подземелья в Enter The Gungeon В последнее время я много играл в Enter The Gungeon. Это потрясающая, ужасно сложная игра в жанре bullet hell, сильно напомнившая мне Binding of Isaac. Но чем больше я играл в неё, тем больше осознавал малозаметную гениальность дизайна подземелий. Существует много процедур...

[Из песочницы] Three.js — делаем controls для космосима или планетария Разрабатывая свой проект на тему космоса, столкнулся с тем что в three.js почему-то нет готового и удобного инструмента управления камерой, подходящего под такие задачи. Конечно я допускаю что просто плохо искал… Но, довольно продолжительный поиск результатов не дал. OrbitC...

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

[Перевод] Управляем асинхронностью в PHP: от промисов к корутинам Что такое асинхронность? Если кратко, то асинхронность означает выполнение нескольких задач в течение определенного промежутка времени. PHP выполняется в одном потоке, что означает, что в любой момент времени может выполняться только один фрагмент PHP-кода. Это может показа...

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

Хабрастатистика: анализируем комментарии читателей. Часть 2, ответы на вопросы Привет Хабр. В предыдущей части были проанализированы сообщения пользователей этого сайта, что вызвало достаточно оживленную дискуссию на тему различных параметров (числа сообщений, рейтинга, «кармы» и пр). Таких вопросов накопилось достаточно, чтобы сделать вторую часть. ...

Как Huawei P30 Pro удаётся делать такие яркие фотографии Huawei P30 Pro стал первым смартфоном, в котором используется новый сенсор Sony IMX650. Помимо разрешения в 40 мегапикселей, особенность этого сенсора еще и в том, что он имеет цветной фильтр RYYB. Huawei утверждает, что благодаря этому новый сенсор способен собирать до 40%...

Как купить авиабилет максимально дешево или ударим мониторингом по динамическому ценообразованию Как максимально выгодно купить авиабилет? Любой более-менее продвинутый пользователь Сети знает такие варианты как покупать заранее искать маршруты с пересадкой hidden-city ticketing мониторить чартерные рейсы искать в режиме инкогнито браузера использовать мильные карт...

[Перевод] Dart 2. Асинхронное программирование: футуры Асинхронное программирование: футуры Содержание Введение Что такое футура? Async — await Обработка ошибок Последовательное выполнение Future API Обработка ошибок Вызов нескольких функций, возвращающих футуры Что еще почитать? Что важно: Код в Dart работает в одном тре...

Entanglion — Hаskell среди настолок Настольная игра с механикой на квантовых вычислениях. Однажды двое сотрудников IBM Research (Maryam Ashoori и Justin Weisz) задумались над вопросом: «каков лучший способ обучить кого-то основам квантовых вычислений?». А так как они оба любители настольных игр, то возникла ...

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

[Из песочницы] Невидимый деплой монолитного приложения в продакшн на AWS. Личный опыт Я – Lead DevOps Engineer в международной SaaS-компании. Мы разрабатываем платформу для совместной работы кроссфункциональных команд. В статье поделюсь тем, как наша DevOps-команда решила проблему ежедневных серверных релизов монолитного stateful-приложения и сделала их автом...

This content is not available in your country: новости, которые вы не сможете узнать из России Один из самых простых способов заблокировать ту или иную информацию (читай — тот или иной ресурс) — это запрет доступа к нему по географическому признаку. Сама блокировка может быть связана с самыми разными причинами — если это медиасервис, то чаще всего это вопросы с ли...

[Из песочницы] Практичный гайд по переменным окружения в Go Привет, Хабр! Представляю вашему вниманию перевод статьи A no-nonsense guide to environment variables in Go автора Enda Phelan. Переменные окружения — лучший способ хранения конфигурации приложения, поскольку они могут быть заданы на системном уровне. Это один из принципов ...

Proof-of-Stake: взгляд изнутри В интернете ходит много обывательских статей и рассуждений, но достаточно мало информации по существу. В определённый момент автору стало понятно, что механика и множество связанных нюансов безопасности до конца не понятны даже многим разработчикам криптовалют. Это вскрылос...

Невидимая фотография О чём речь? Знакомые часто интересуются: зачем я занимаюсь невидимой фотографией? Инфракрасной, ультрафиолетовой, тепловой. Неужели там есть что-то интересное? Поскольку лучше один раз увидеть, чем сто раз услышать, то вот вам небольшая демка. С 15-ю предметами. Здесь они...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

6 занимательных системных багов при эксплуатации Kubernetes [и их решение] За годы эксплуатации Kubernetes в production у нас накопилось немало занимательных историй, как баги в различных системных компонентах приводили к неприятным и/или непонятным последствиям, влияющим на работу контейнеров и pod'ов. В этой статье мы сделали подборку некоторых...

MacX MediaTrans — быстрый перенос файлов между iOS и Mac Уже много лет фанаты Apple не могут смириться с запутанным и не всегда логичным интерфейсом iTunes. Многие просто мирятся с этим фактом и привыкают пользоваться приложением. Но есть категория людей, которые ищут лучшее решение для каждого сценария использования связки iOS+Ma...

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

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

[Из песочницы] PIL на Python от простого к сложному Чтобы дойти до сложных алгоритмов обработки, стоит проанализировать стандартные схемы, с чего я и предлагаю начать. Для примеров обработки будет использоваться изображение с различным наборов цветов: Для старта нам потребуется два модуля библиотеки: from PIL import Imag...

[Перевод] Сила дженериков в Swift. Часть 2 Добрый день, друзья. Специально для студентов курса «iOS Разработчик. Продвинутый курс» мы подготовили перевод второй части статьи «Сила дженериков в Swift». Связанные типы, условия where, сабскрипты и прочее… В статье «Сила дженериков в Swift. Часть 1» описывались gene...

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

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

КЗ материнской платы LERDGE-K Может кому пригодиться. Дело было так... В спешке неправильно воткнул драйвер шагового двигателя в плату, после чего получил кз на 5 вольтовой линии.Симптомы: тестер показывает кз на 5в линии (обведено красным), горит один зеленый светодиод "VCC".Лечение: на плате имеются за...

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

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

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

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

PVS-Studio ROI Время от времени нам задают вопрос, какую пользу в денежном эквиваленте получит компания от использования анализатора PVS-Studio. Мы решили оформить ответ в виде статьи и привести таблицы, которые покажут, насколько анализатор может быть полезен. Мы не можем в статье доказа...

Работа с MS SQL из Powershell на Linux Эта статья чисто практическая и посвящена моей грустной истории Готовясь к Zero Touch PROD для RDS (MS SQL), про который нам прожужжали все уши, я сделал презентацию (POC — Proof Of Concept) автоматизации: набора powershell скриптов. После презентации, когда стихли бурные, п...

Hello, World! Глубокое погружение в Терминалы На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данны...

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

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

Прошивка Anet_A_8 Почитал  статьи о перепрошивке Anet a8 , многие говорят,что у них залочен ипром.Я считал и прошивку и ипром.Ничего не залочено.Ипром считал более трех раз,что точно удостоверится ,что нет лок битов.Если кому то надо,могу выложить.Подробнее...

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

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

[Из песочницы] Attention для чайников и реализация в Keras О статьях по искусственному интеллекту на русском языке Не смотря на то что механизм Attention описан в англоязычной литературе, в русскоязычном секторе достойного описание данной технологии я до сих пор не встречал. На нашем языке есть много статей по Искусственному Интелл...

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

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

Битва Samsung Galaxy S10+ и OnePlus 7 Pro: определяем лучшего О Samsung Galaxy S10+ и OnePlus 7 Pro мечтают многие. Это укомплектованные по полной программе флагманы, красивые, технологичные, мощные и с хорошими камерами. Но какой из них лучше? Мы сравнили оба смартфона, устроив смотр всего вооружения, и у нас есть ответ на этот сложны...

[Из песочницы] Фантазии на тему метаклассов в C# Программистам вроде меня, которые пришли в C# с большим опытом работы в Delphi, часто не хватает того, что в Delphi принято называть ссылками на класс (class reference), а в теоретических работах – метаклассами. Я несколько раз натыкался в разных форумах на обсуждение, прохо...

Видео: герои манги JoJo's Bizarre Adventure схлестнулись в файтинге Jump Force Приближается выход кроссовер-файтинга Jump Force, разработчики которого поставили амбициозную задачу объединить в одной игре самых известных персонажей максимального количества манг японского журнала Shonen Jump. В новом трейлере издательство Bandai Namco Entertainm...

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

Laravel: разбираем основные понятия. Часть третья: «Заключительная» Считанные дни остаются до старта нового курса от OTUS — «Framework Laravel». В преддверии старта курса делимся заключительной частью авторской публикации о основных понятиях в Laravel. Важно: данная серия публикаций не имеет отношения к образовательной программе курса и явля...

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

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

Ещё один способ отстрелить себе ногу, используя std::thread Стандарт C++11 принёс в язык стандартный механизм поддержки тредов (их часто называют потоками, но это создаёт путаницу с термином streams, так что я буду использовать оригинальный англоязычный термин в русской транскрипции). Однако, как и любой механизм в C++, этот несёт в ...

Высоконагруженная распределенная система управления современной АЭС Без электричества не будет высоконагруженных интернет-сервисов, которые мы так любим. Как ни странно, системы управления объектами генерации электричества, например атомными электростанциями, тоже бывают распределенные, тоже подвержены высоким нагрузкам, тоже требуют множест...

Бэкап для Linux не пишет писем Всем привет! Сегодня хочу поведать о том, как управлять Veeam Agent for Linux с помощью командной строки, и о том, какие возможности она открывает в умелых руках программиста. На написание статьи меня подтолкнул комментарий к предыдущей статье. Перефразирую удивление поль...

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

Создание voice & tone вашего продукта В статье была затронута тема тональности и голоса продукта. Понятие в наших краях не слишком-то и обсуждаемо, практически не используется осознанно. И, если быть честными, голос и тон обычно входят в брендбуки и аналогичные документы, либо прописываются в неявном виде в реда...

Работа с камерой во Flutter Возможность задействовать камеру существует во многих приложениях, и мы все регулярно пользуемся ею. Во Flutter мы можем реализовать работу с камерой с помощью двух официальных плагинов: camera image-picker Между ними – заметная разница, и использовать их стоит по ситуации...

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

[Из песочницы] Блиц-проверка алгоритмов машинного обучения: скорми свой набор данных библиотеке scikit-learn Глобальная паутина изо дня в день пополняется статьями о самых популярных, наиболее употребляемых алгоритмах машинного обучения для решения различных задач. Причём основа этих статей, немного изменённая по форме в том или ином месте, кочует от одного исследователя данных к...

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

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

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

Профессиональное выгорание айтишников: 15 ответов психиатра Максима Малявина Burn out нечаянно нагрянет, когда его совсем не ждёшь. Когда человек впервые сталкивается с профессиональным выгоранием, у него возникают вопросы: — Что со мной: осенняя хандра, депрессия или профессиональное выгорание? — Что с этим делать? — К кому идти за помощью? Мы боим...

Сюжетный ролик аниме-файтинга Jump Force демонстрирует атаки против Земли Запуск кроссовер-файтинга Jump Force, посвящённого персонажам различных манг японского журнала Shonen Jump, состоится уже 15 февраля 2019 года — в один день с Metro Exodus, Far Cry New Dawn и Crackdown 3. Дабы её детище не затерялось на фоне других громких рел...

[Из песочницы] Как с нуля написать приложение? С чего начать новичку? Flutter / Программирование Пол года назад я сама искала такую статью и теперь я очень хочу посоветовать себе в прошлом с чего можно начать. 1. Выбрать тему приложения Не нужно долгих мук выбора, просто начните делать то, что вам пригодилось бы. Лучше что-то простое. Нужно понимать, что мы пока не стр...

В Fortnite стартовал специальный режим «Мстители: Финал», в котором игроки смогут побороться с Таносом и его читаури с помощью оружия Мстителей В онлайн-шутере Fortnite стартовало временное событие «Мстители: Финал» (Fortnite X Avengers: Endgame), в котором игрокам предстоит сразиться с Таносом и его армией читаури, который прибыли на остров «Королевской битвы» в поисках шести Камней Бесконечности. Чтобы д...

ок.tech Data Толк #3: Рекомендательные системы 6 ноября в московском офисе компании Одноклассники состоится ок.tech Data Толк #3, в этот раз мы решили посвятить мероприятие рекомендательным системам. Вместе с коллегами из OK.ru, Joom и СколТеха поговорим про прошедший RecSys19, а также о теории, практике и трендах реко...

Как поговорить с микроконтроллером из JS Зачем нужен микроконтроллер? Например, чтобы устроить дома пивоварню. Если своего пивного заводика мало, то можно и что-то масштабнее: построить квест-комнату, оформить презентацию, интерактивный фонтан, который рисует картину каплями, или выставочный стенд для большой компа...

Не нужен вам вуз, идите в ПТУ? Эта статья — ответ на публикацию "Что же не так с IT-образованием в России", а точнее, даже не на саму статью, а на часть комментариев к ней и идеи, в них прозвучавшие. Я сейчас выскажу, наверное, очень непопулярную здесь на Хабре точку зрения, но не высказать я ее не мог...

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

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

Citymobil — пособие для стартапов по увеличению стабильности на фоне роста. Часть 2. Какие бывают виды аварий? Это вторая статья из цикла про то, как мы в Citymobil увеличивали стабильность сервиса (первую можете почитать здесь). В этой статье я углублюсь в конкретику разбора аварий. Но перед этим я освещу один момент, о котором я должен был подумать заранее и осветить в первой ста...

Обработка исключений ASP.NET при помощи IRO.Mvc.MvcExceptionHandler Если вы являетесь c# бекенд разработчиком, наверняка рано или поздно появилась необходимость найти унифицированный способ обработки исключительных ситуаций. Хотя, даже если вы довольствуетесь кодом 500 в ответе, эта статья все равно поможет улучшить ваш способ, при этом не...

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

Реализация целого типа в CPython На Хабре уже были статьи о подробностях реализации менеджера памяти CPython, Pandas, я написал статью про реализацию словаря. Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный. Если вам и...

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

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

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

Особенности настройки Palo Alto: SSL VPN Несмотря на все преимущества межсетевых экранов Palo Alto, в рунете не так много материалов по настройке этих устройств, а также текстов, описывающих опыт их внедрения. Мы решили обобщить материалы, накопленные у нас за время работы с оборудованием этого вендора и рассказа...

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

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

Горизонтальный vs. вертикальный рост разработчика. Мнения из ivi и Яндекса Одну из сессий конференции YaTalks мы посвятим росту разработчиков. Это будет разговор между представителями разных фирм — мы пригласили CTO онлайн-кинотеатра ivi Евгения eross Россинского, технического директора mos.ru Романа romas1982 Ивлиева и Германа Наркайтиса — директо...

RTOS или не RTOS вот в чем вопрос На написание данной статьи меня побудила длинная ветка комментариев (дискуссией это я назвать, к сожалению, не могу) к моей недавней статье “Многообразный мир embedded systems и место Embox в нем”. Меня в нескольких местах упрекнули в том, что я путаю RTOS и Embedded OS, чт...

Опыт разработки сервиса Refund Tool с асинхронным API на Kafka Что может заставить такую большую компанию как Lamoda с отлаженным процессом и десятками взаимосвязанных сервисов существенно менять подход? Мотивация может быть совершенно разная: от законодательной до присущего всем программистам желания экспериментировать. Но это вовсе н...

Где мы взяли флакон? Flowcon, или Флакон – методика управления, в том числе – задачами. Потоком, проектом, разработкой, рутинными функциями, регуляркой и т.д. Многие, узнав о методике и решениях на ее основе, задают вопросы – что да как, в чем суть, на основе каких «мировых практик» сделано, ка...

Что лучше для продвижения в другой стране – отдельный домен, поддомен или папка? Вопрос пользователя: Есть англоязычный сайт “site.com”. Необходимо сделать русскоязычный сайт для продвижения по России и СНГ, в Яндексе и в Гугле. Что выбрать: отдельный домен “site.ru”, поддомен “ru.site.com” или папку “site.com/ru...

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

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

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

Использование камеры Fish eye на Raspberry Pi 3 с ROS — часть 2 Добрый день уважаемые читатели Хабра! Это вторая часть рассказа об использовании fish eye камеры на Raspberry Pi 3. Первую часть можно найти здесь. В этой статье я расскажу о калибровке fish eye камеры и применении камеры в детекции объектов с помощью пакета find_object_2d. ...

Лягушки могут защищаться от вирусов при помощи кожных бактерий Ученые изучили 202 особи травяных лягушек (Rana temporaria), пойманных в десяти местах южной части Англии. Среди этих мест были как те, где массовые заражения ранавирусом ранее не фиксировались, так и те, где они несомненно были. Определение этих мест производилось по базе д...

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

К чему приложить прикладного лингвиста? “Что за дело? Это многих славных путь.” Н.А. Некрасов Всем привет! Меня зовут Карина, и я “совместитель” — совмещаю учёбу в магистратуре и работу технического писателя в Veeam Software. О том, как у меня это вышло, я и хочу рассказать. Заодно кто-то узнает, как можно прийти...

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

[Перевод] «Тетрис» в роли принтера Поворачивая, переставляя и опуская вниз заранее заданную последовательность фигур, Tetris Printer Algorithm использует механику «Тетриса» для генерации произвольных битовых изображений. Описание алгоритма Алгоритм построчно преобразует пиксели исходного изображения в квадр...

[Перевод] Oculus GoBlack – как улучшить Oculus Go Из блога Палмера Лаки, изобретателя шлема виртуальной реальности Oculus Rift, одного из основателей компании Oculus VR. Oculus Go, как и многие продукты, представляет собой компромисс стоимости, графика выхода, качества и компетентности. Это, очевидно, лучшая из автономны...

[Перевод] Создаём процедурные глобусы планет Искажения, бесшовный шум и как с ними работать. Генерируем планету Один из простейших способов генерации планеты — использование шума. Если мы решим выбрать его, то у нас есть пара возможных вариантов. Давайте рассмотрим каждый и определим лучший: Шум Перлина (Perlin Noi...

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

[Из песочницы] Груминг беклога в Jira (Backlog Grooming) Как настроить Scrum-доску для оптимизации процесса Груминга задач Во фреймворке Scrum есть такое понятие как «причесывание задач», перед тем как планировать задачи в спринт. Ведь задачи в спринт должны как известно попадать с минимальным набором атрибутов: оценка задачи, опи...

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

[Из песочницы] Аппаратный bit banding CortexM3/M4(ARM), архитектура ядра, ассемблер, С/C++14 и капля мета программирования Введение Внимание, это не очередная «Hello world»статья о том как помигать светодиодом или попасть в свое первое прерывание на STM32. Однако, я постарался дать исчерпывающие объяснения по всем затрагиваемым вопросам, поэтому статья будет полезна не только многим профессионал...

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

О сравнении форматов хранения в Hadoop: начнем с ORC В Hadoop входят продукты, которые могут работать с файлами разных форматов. Я неоднократно искал, читал и думал над тем — какой же формат лучше. Относительно случайно столкнувшись с форматом ORC, заинтересовался, почитал (и даже чуть покодил) и вот что понял — сравнивать фор...

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

[Перевод] Полное руководство по Prometheus в 2019 году DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus. Prometheus был создан на SoundCloud в 2012 году и с тех пор стал стандартом для мониторинга систем. У него полностью открытый исходный код, он предоставляет десятки разных экспортеров, с помощью которых можн...

[Перевод] Как стать лучшим в мире в какой-то нише Комбинация хорошо развитых навыков сделает вас уникальным, даже если по каждому из них вы далеко не гений Давайте подумаем, что нужно, чтобы стать игроком НБА. Большинство профессиональных баскетболистов оттачивали мастерство практически с младенчества. Годы бесконечных тр...

Адаптация программ для ZX Spectrum к TR-DOS современными средствами. Часть 1 В отличие от современных компьютеров, на спектрумах понятия файловой системы не было как такового. Это значит, что загрузка с каждого типа носителя требовала отдельной реализации и в большинстве случаев программу нельзя было просто так скопировать с кассеты на дискету. В слу...

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

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

Как отправлять фотографии без потери качества на iOS Вам когда-нибудь приходилось отправлять фотографии со своего iPhone? Скорее всего, да, а значит, вы сталкивались с проблемой потери качества при пересылке. В результате четкий и контрастный снимок обрастает артефактами, которые просто не позволяют оценить его изначальную кр...

ООП в языке R (часть 1): S3 классы R это объектно ориентированный язык. В нём, абсолютно всё является объектом, начиная от функций и заканчивая таблицами. В свою очередь каждый объект в R должен относится к какому либо классу. На самом деле в окружающем нас мире ситуация примерно такая же. Мы окружены объекта...

Как работет камера смартфона? Если спросить каждого из нас по каким критериям он выбирает себе новый смартфон, 99 процентов пользователей, если не первым пунктом, то точно в тройке, назовут камеру. Она действительно важна, но знаем ли мы как она работает? Попробуем разобраться! Наверное, в наше время л...

Как устроен балансировщик команд в World of Tanks Blitz WoT Blitz — это мобильный танковый шутер, в котором игроки сражаются в формате 7 на 7. Матчмейкер, или балансировщик это механизм, который на основе очереди игроков, желающих попасть в бой, формирует состав команд. У танков есть следующие важные для матчмейкинга параметры...

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

[Перевод] Пространственные манипуляции в 2D с помощью Signed Distance Fields При работе с полигональными ассетами можно отрисовывать только по одному объекту за раз (если не учитывать такие приёмы, как batching и instancing), но если использовать поля расстояний со знаком (signed distance fields, SDF), то мы не этим не ограничены. Если две позиции им...

Найден новый претендент на звание самого далекого объекта Солнечной системы Molar Candanosa / Carnegie Institution for Science В конце прошлого года группа ученых во главе с Скоттом Шеппардом (Scott Sheppard) из Института Карнеги нашла объект, который можно было считать самым далеким из известных в нашей Солнечной системе. Он получил название 2...

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

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

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

Подключение Google reCAPTCHA на Vue и валидация ответа на сервере В этой статье я покажу как подключить капчу от Google (reCAPTCHA) на Vue JS и валидировать ответ на сервере (я использую бекенд на Laravel/Lumen в качестве примера, но принцип валидации одинаковый для всех технологий). Читать дальше →

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

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

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

[Из песочницы] Linux tips & tricks: сервер, откройся Тем, кому надо обеспечить себе, любимому, доступ к своим серверам из любой точки мира по SSH/RDP/иное — небольшое RTFM/шпора. Читать дальше →

[Перевод] Используем Firebase в качестве хранилища изображений для Android-приложения В этой статье вы узнаете, как извлечь изображение из хранилища Firebase для Android-приложения. Читать дальше →

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

Хаки при работе с большим числом мелких файлов Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode». Дело в том, что внутренней спецификой работы наших сервисов является хранение огромадного числа мелких файлов. На данный момент у нас порядка сотен терабайт таких данных. И мы натолкну...

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

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

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

Хорошее не бывает дешёвым. Но бывает бесплатным В этой статье я хочу рассказать о Rolling Scopes School – бесплатном курсе по JavaScript / фронтенду, который прошла, и который мне очень понравился. Узнала я об этом курсе случайно, информации в сети о нём, на мой взгляд, немного, а курс отличный и заслуживает внимания. Дум...

[Из песочницы] KVM (недо)VDI с одноразовыми виртуальными машинами с помощью bash Кому предназначена данная статья Данная статья может быть интересна системным администраторам, перед которыми вставала задача создать сервис «одноразовых» рабочих мест. Пролог В отдел ИТ сопровождения молодой динамично развивающейся компании с небольшой региональной сетью,...

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

Flappy Fighter на iOS — новый ретро-файтинг для истинных фанатов жанра  Популярность Shadow Fight сделала возможным развитие жанра файтингов на мобильных, но ему все равно далеко до гонок или стратегий. Если же вы все еще ждете и надеетесь получить хороший файтинг, обратите внимание на Flappy Fighter. В App Store написано, что ее первоначальный...

[Перевод] Идеальный баг: Использование Путаницы Типов в Flash. Часть 1 И снова здравствуйте! Уже завтра у нас стартуют занятия в новой группе по курсу «Реверс-инжиниринг». Традиционно делимся с вами переводом полезного материала по теме. Поехали! Некоторым злоумышленникам важно, чтобы эксплойт был чрезвычайно надежным. Он всегда должен приводи...

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

Магия Ночного Режима: Как Pixel изменил все В феврале 2016 года программист из команды Google Dream Флориан Кайнц делает потрясающий ночной снимок моста Золотые ворота на свой верный зеркальный фотоаппарат и демонстрирует его своим коллегам. — Красота, браво! — восхищаются коллеги из Daydream. И только о...

Обзор Vivo Y95: Вива ла селфи и NFC! Китайский бренд Vivo начал покорение российского рынка год назад с моделью Vivo V7 и уже может похвастаться неплохим ассортиментом устройств на любой вкус и кошелёк. Vivo Y95 — новинка среднебюджетного сегмента, которая отличается стильным дизайном, наличием NFC и 20-мегапик...

Can I haz? Ударим программированием на типах по дженерикам Привет, Хабр. В прошлый раз мы описали Has-паттерн, обрисовали проблемы, которые он решает, и написали несколько конкретных инстансов: instance HasDbConfig AppConfig where getDbConfig = dbConfig instance HasWebServerConfig AppConfig where getWebServerConfig = webServerCo...

Как управлять React Data Grid через Redux Это продолжение предыдущей статьи: Зачем писать свой React Data Grid в 2019 Для чего нужен Redux? Ответов много. Например, чтобы работать с общими данными в разных React-компонентах. Но можно воспринимать Redux еще как способ манипулирования компонентой. Сам взгляд интересны...

Tick Tock: A Tale for Two – интересная головоломка для двоих Чаще всего разработчики добавляют режим для двух игроков в разные файтинги и аркады. Однако авторы Tick Tock: A Tale for Two пошли по совершенно другому пути.  Во-первых, они добавили режим для двух игроков в головоломку. А во-вторых, они кардинально переработали механику эт...

Подсказки для функционального заказчика. Press Δ to read Иногда так не хватает подсказок по ходу выполнения миссии ИТ-проекта – «жми W, чтобы двигаться вперёд». Чтобы хоть как-то помочь тем, кто оказался на месте функционального заказчика (от него очень многое зависит на проекте), мы собрали топ-10 подсказок, которые помогут успе...

Конкретное и глобальное: программа Mobius 2019 Moscow Что может интересовать мобильного разработчика? Самые разные вопросы: от конкретных технических («как бы ускорить сборку в Xcode») до глобальных карьерных («а не податься ли мне в инди-разработчики с собственным приложением»). А если действительно заняться собственным прило...

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

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

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

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

Яндекс.Диск напомнит о старых фото с помощью компьютерного зрения Машинный интеллект анализирует снимки с Диска за определённый период - например, за прошлогодние майские выходные или за лето 2015 года - и выбирает из десятков или сотен фотографий те, которые будет интереснее всего пересмотреть."Интересность" снимков оценивается ...

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

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

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

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

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

Жизнь на 6200 DPI. Обзор HyperX Pulsefire Core Привет! В обзорах часто сравнивают киберспортивных мышей с оружием, и это не просто красивая фраза. В какой-то степени даже сам рынок оружия похож на рынок геймерских аксессуаров. Их много, они непохожи друг на друга, и разные игроки выбирают разные стили управления. Соответ...

[Из песочницы] Пользовательские параметры в Google Analytics, которые не раз нас спасали При настройке аналитики через Google Analytics (GA) нередко без внимания остаются Пользовательские параметры или CD (Custom Dimensions). Это происходит из-за сложности с пониманием их области применения: неясно, как именно CD могут помочь в сборе и анализе данных и каким обр...

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

Статистика Тостера за 2018 год Привет от команды «Тостера»! Прошёл 2018 год и настало время подводить итоги. Этот год был богат на нововведения, о которых мы подробно рассказывали в нашем блоге. За прошедший год пользователи «Тостера» задали почти 100 тысяч вопросов, дали 166 тысяч ответов и нашли более...

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

Как я создавал Recycle! VR В предыдущей статье мы попробовали создать базовую сцену в A-Frame, чтобы опробовать основные концепции фреймворка на практике. В этой статье я хотел бы поделится своим опытом создания игры на A-Frame — Recycle! VR. Репозиторий проекта доступен по следующей ссылке. Перера...

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

Разбираемся с Machine Learning в Elastic Stack (он же Elasticsearch, он же ELK) Напомним, что в основе Elastic Stack лежат нереляционная база данных Elasticsearch, веб-интерфейс Kibana и сборщики-обработчики данных (самый известный Logstash, различные Beats, APM и другие). Одно из приятных дополнений всего перечисленного стека продуктов — анализ данны...

«Секретики» DPAPI или DPAPI для пентестеров Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”. Внимание! Очень много буков! При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam...

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

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

[Из песочницы] Изоморфизм спешит на помощь «Изоморфизм» — одно из базовых понятий современной математики. На конкретных примерах на Haskell и C# я не только растолкую теорию для нематематиков (не используя при этом никаких непонятных математических символов и терминов), но и покажу как этим можно пользоваться в повсе...

[Из песочницы] Как разработать ещё один платформер с помощью Unity. Ещё один туториал Привет, Хабр! Под катом вас ждёт ещё одна статья, которая расскажет о том, как я поставил себе цель запрограммировать игру, основываясь на переводе статьи на Хабр под названием Паттерны дизайна уровней для 2D-игр. Статья имеет много текста (как обычного, так и исходного) и м...

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

По словам работника Foxconn, iPhone 2019 не будет иметь «iPhone» на задней панели За месяц до релиза линейки iPhone 2019 анонимный пользователь, претендующий на звание фабричного рабочего Foxconn в Китае, поделился предполагаемыми подробностями о грядущих устройствах на китайском сайте вопросов и ответов Zhihu. Несмотря на то, что многие детали в списке ...

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

Патент недели: изобретение из детской головоломки При непосредственном участии Федеральной службы по интеллектуальной собственности («Роспатента») мы решили ввести на сайте рубрику «Патент недели». Еженедельно в России патентуются десятки интересных изобретений и усовершенствований — почему бы не рассказывать о них в числе ...

Сайзинг Elasticsearch — How big a cluster do I need? — Well, it depends… (злобное хихиканье) Elasticsearch — сердце Elastic Stack, в котором происходит вся магия с документами: выдача, приём, обработка и хранение. От правильного количества нод и архитектуры решения зависит его производительност...

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

Как я провел лето с C# 8 В недавнем выпуске подкаста DotNet & More Blazor, NetCore 3.0 Preview, C#8 и не только мы лишь вскользь упомянули такую животрепещущую тему, как C#8. Рассказ об опыте работы с C# 8 был недостаточно большим, что-бы посвящать ему отдельный выпуск, так что было решено подел...

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

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

[Перевод] Подготовка к Spring Professional Certification. Вопросы по Spring MVC Приветствую всех. Это уже 5 статья из цикла статей для подготовки с Spring Professional Certification. На Хабре она выходит второй, после части 1. Оглавление Внедрение зависимостей, контейнер, IoC, бины AOP (аспектно-ориентированное программирование) JDBC, транзакции, JPA...

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

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

С чего начать карьеру веб-разработчика: языки программирования, навыки, первое собеседование Евгений Корытов, руководитель frontend-разработки в Keenetic с опытом более 10 лет в веб-разработке (проекты компаний: СТС, Forbes, GQ, Vogue, Glamour, Имхонет, Связной, Peugeot, RIW, RuTraveller, Weclever, PizzaSushiWok и другие), подскажет, кому в&...

Компас команды Привет! Меня зовут Маша, я Scrum Master в ivi. Работаю с командами биллинга и веб-разработки и помогаю ребятам организовывать рабочие процессы так, чтобы не только эффективно достигать целей, которые ставит бизнес, но и получать удовольствие от того, что ты делаешь. В своих ...

ChipWhisperer: атака по энергопотреблению на Магму Автор статьи: rakf В рамках Summer of Hack 2019 в Digital Security я разбирался с атакой по энергопотреблению и работал с ChipWhisperer. Что это? Анализ энергопотребления — это один из видов атак по сторонним каналам. То есть атак, использующих информацию, которая появляетс...

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

[Из песочницы] React Native — серебряная пуля для всех проблем? Как мы выбирали кросс-платформенный инструмент для Profi.ru Всем привет, меня зовут Геворг. Я Head of Mobile в Profi.ru. Хочу поделиться с вами историей нашего эксперимента с React Native. Расскажу, как мы оценивали плюсы и минусы разработки на React Native — в теории и на практике. Статья будет полезна тем, кто интересуется кросс-пл...

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

[Из песочницы] Redux — Не нужен! Заменяем с помощью useContext и useReducer в React? Доброго времени суток, Хабровчане! Хочу рассказать о том, как я недавно узнал о неких "хуках" в React. Появились они относительно недавно, в версии [16.8.0] от 6 февраля 2019 года (что по скоростям развития FrontEnd — уже очень давно) Прочитав документацию я заострил свое в...

Стратегия продукта и стратегия организации — как они связаны между собой Иван Подобед, Director of Game Platform в Awem, рассказал о стратегии с точки зрения системной инженерии. Будет полезно всем, кто хочет разобраться в базовых понятиях построения стратегии продукта и организации. Я часто сталкивался с понятием «стратегия» во время карьеры ар...

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

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

[Из песочницы] Создаем прототип для Sentiment Analysis с помощью Python и TextBlob Что важно для команды разработчиков, которая только начинает строить систему, базирующуюся на машинном обучении? Архитектура, компоненты, возможности тестирования с помощью интеграционных и юнит тестов, сделать прототип и получить первые результаты. И далее к оценке трудоем...

Надежная игра на Марафонбет зеркало Одной из самых стабильных и надежных букмекерских контор в сети является «Марафонбет». Её сайт http://all-bookmaker.com/zerkalo-marathonbet/ имеет все необходимые инструменты и дает прекрасную возможность беттерам зарабатывать на своем увлечении. Но, к сожалению, довольно ча...

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

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

Игра фреймворков: тренды JavaScript в 2019 TypeScript против ES6, React против Angular, Jest против Mocha… Не хуже нашумевшего сериала, эти «битвы» держат поклонников JavaScript в напряжении, заставляя их задумываться: «Что же учить дальше?» К тому же, армии пользователей каждой из технологий приводит настолько убеди...

[Перевод] React и Vue: сильные стороны Здравствуйте, коллеги. Мы возобновляем наши переводные публикации. Сегодняшний текст анонсирует давно назревшую новинку по веб-разработке, посвященную ультрасовременной библиотеке Vue.js. Учитывая, что у нас в ассортименте имеется сразу три отличные книги по React, а также ...

Можно ли считать статистику при малом количестве данных? В целом ответ – да. Особенно, когда есть мозги и знание теоремы Байеса. Напомню, что среднее и дисперсию можно считать только, если у вас имеется определенное количества событий. В старых методичках СССР РТМ (руководящий технический материал) говорилось, что чтобы считать ср...

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

Слухи: запуск процессоров Intel Comet Lake-S 10-го поколения состоится в 1 квартале 2020 года Согласно последней информации, запуск настольных процессоров Intel Comet Lake-S 10-го поколения может состояться уже в первом квартале 2020 года. Согласно отчёту одного из инсайдеров, процессоры линейки Comet Lake-S станут достойным ответом Intel на AMD Ryzen 3000. Подробнее...

ok.tech: Data Толк #2 7 августа в московском офисе Одноклассников состоится ok.tech: Data Толк #2, в этот раз мероприятие будет посвящено образованию в DataScience. Ни для кого не секрет, что сейчас вокруг работы с данным такой хайп, что только ленивый не задумывался над получением образования ...

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

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

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

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

[Перевод] Пользователи и авторизация RBAC в Kubernetes Прим. перев.: Продолжая недавно затронутую нами тему безопасности Kubernetes в целом и RBAC — в частности, публикуем перевод этого материала от французского консультанта из международной компании Big Data-компании Adaltas. Автор в деталях показывает, как создавать пользовате...

Как устроена программа Tinkoff Internship Привет! Мы участники программы Tinkoff Internship, и в этой статье хотим рассказать об отборе, внутренней обстановке, задачах и наших впечатлениях. Надеемся, это будет полезно и будущим интернам, и тем, кому просто интересна компания. Читать дальше →

Новый флагман Samsung Note 10 Samsung Note 10 – один из немногих смартфонов, который может на достойном уровне конкурировать с iPhone. Основные преимущества гаджета уже описали счастливчики, к кому образец попал на тестирование до презентации.

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

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

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

[Из песочницы] Объяснение физической сущности явления «Подъёмная сила Крыла» без использования уравнения Бернулли Монин Илья Алексеевич, к.т.н. СМ-9, 926-220-95-74, [email protected] Критика существующего Теоретического объяснения Подъёмной Силы на крыле самолёта Прослушав курс лекций МФТИ Факультет аэромеханики и летательной техники (ФАЛТ) «Введение в Аэродинамику» и прочитав неско...

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

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

[Перевод] Интервью — 10 вопросов про Swift. Часть 3 Профессиональная программа «iOS Разработчик» — 5 месяцев Best Practice по разработке мобильных приложений с помощью Swift 5. Лучших выпускников ждут на собеседованиях 12 компаний-партнёров OTUS, поэтому публикуем перевод заключительной статьи из серии «iOS Interview Question...

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

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

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

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

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

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

Безболезненный Fallback Cache на Scala В крупных или микросервисных архитектурах самый важный сервис не всегда самый производительный и бывает не предназначен для хайлоада. Мы говорим о бэкенде. Он работает медленно — теряет время на обработке данных и ожидании ответа между ним и СУБД, и не масштабируется. Даже е...

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

Почему так сложно выбрать, какое кино посмотреть (и что можно было бы сделать) Это — ответ на пост на животрепещущую тему «что посмотреть». Автор сам напросился поднял правильный вопрос, но почему-то свел все к странной психологической аналогии «заедания стресса», заявив: «Пока вы сами не знаете, что хотите посмотреть — никто вам не поможет. Будете туп...

Флагманский смартфон Xiaomi Mi 9 не будет «красить» младенцев и мужчин под взрослых и блондинок Новая порция подробностей о флагманском смартфоне Xiaomi Mi 9 рассекречена президентом компании Xiaomi Бин Лином (Bin Lin) в социальной сети Weibo. Топ-менеджер рассказал о функциях улучшения фото в смартфоне.  В Xiaomi Mi 9 добавлены новые алгоритмы «бьютиф...

Экзамены по Azure На мероприятии в сентябре 2018 было анонсировано, что появились новые экзамены серии AZ-***, а серия 70-53* уйдет в небытие. Описание уже было тут, но эта статья про все изменения, а мне бы хотелось сделать обзор только Azure. Кроме того, в декабре 2018 года были дополнитель...

Песков рассказал о своем видении смысла жизни По словам пресс-секретаря главы РФ, главное в жизни — это созидание. 6 февраля Академией журналистики ИД «Коммерсантъ» был проведен форум под названием «Медиадень». Одним из его участников стал пресс-секретарь российского президента Дмитрий Песков. На форуме ему были ...

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

[Перевод] Сверхпростое логгирование в Javascript — два декоратора, и готово Вам еще не надоело писать logger.info('ServiceName.methodName.') и logger.info('ServiceName.methodName -> done.') на каждый чих? Может вы, так же как и я, неоднократно задумывались о том, чтобы это дело автоматизировать? В данной статье рассказ пойдет о class-logger, как...

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

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

[Перевод] Решение алгоритмических задач: возможность бронирования отеля Перевод статьи подготовлен специально для студентов курса «Алгоритмы для разработчиков». Эта статья является частью серии о том, как решать алгоритмические задачи. Исходя из своего личного опыта, я обнаружил, что большинство ресурсов просто подробно описывают решение. Объ...

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

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

Как развивается умение общаться (с самого-самого начала) и что с ним делают игры на сторителлинг Одна из самых распространенных тем запросов, с которыми приходят к детским специалистам, это речь. Самая очевидная проблема — это когда ребенок не говорит. Вот ему год, а он молчит. Вот ему уже три, а он все равно молчит. А вот уже пять… Тут понятно, что что-то пошло не так....

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

Гетерогенное программирование и OneAPI Toolkit. Задайте вопрос эксперту Intel Гетерогенное программирование — это тема. Тема многочисленных статей на ресурсах для разработчиков и докладов на тематических конференциях. Тема для блога Intel, ведь совсем недавно появились на свет Intel oneAPI Toolkit и Data Parallel C++. Наконец, отличная тема для наше...

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

Архитектурные подходы в iOS-приложениях Сегодня поговорим об архитектурных подходах в iOS-разработке, про некоторые нюансы и наработки реализации отдельных вещей. Расскажу, каких подходов придерживаемся мы и немного углубимся в детали. Читать дальше →

Почему мы используем GraphQL в 8base Друзья, всем привет! Эта статья в первую очередь будет интересна фронтенд-разработчикам, особенно тем кому актуальна тема GraphQL, но в то же время я надеюсь, что она будет полезна и бэкенд-разработчикам и поможет им понять преимущества GraphQL глазами фронтендера. Читать...

[Из песочницы] Выпуск Rust 1.34 Привет, Хабр! Представляю вашему вниманию перевод статьи "The Rust Release Team "Announcing Rust 1.34.0". Команда разработчиков Rust рада сообщить о выпуске новой версии Rust, 1.34.0. Rust — это язык программирования, который даёт возможность каждому создавать...

Bird Mania Hunt 1.051 Возьмите под свой контроль главного героя-лучника, который должен стрелять по птицам. Особенности 1) Мировая таблица рекордов: ставьте рекорды, соревнуясь с другими игроками 2) Качественная 3D графика: наслаждайтесь хорошей 3D графикой, которая оптимизирована для ра...

Реализация словаря в Python Всем привет, 30 апреля в ОТУС стартует курс «Алгоритмы для разработчиков», именно к этому приурочена публикация сегодняшнего материала. Начнём. В этой статье вы узнаете, как в Python реализованы словари. Словари индексируются с помощью ключей, и они могут рассматриваться ...

[recovery mode] Как устроена программа летней стажировки Tinkoff Internship Привет! Мы участники программы Tinkoff Internship, и в этой статье хотим рассказать об отборе, внутренней обстановке, задачах и наших впечатлениях. Надеемся, это будет полезно и будущим интернам, и тем, кому просто интересна компания. Читать дальше →

[Из песочницы] JavaScript: Создание простого MEVN-приложения О чем статья Цель этой статьи — показать, как можно создать базовое MEVN-приложение. Акроним MEVN означает — MongoDB + Express.js + Vue.js + Node.js. В качестве примера будет написано одностраничное приложение, которое содержит форму, состоящую из нескольких текстовых полей....

Your Own Personal SaaS Немного исторических параллелей Disclaimer: Для экономии времени TL;DR вариантом этой статьи является раздел "Потенциальный новый тренд". С развитием человечества, в определенную эпоху у людей предметом роскоши считались различные материальные ценности — драгоценные металлы,...

[Перевод] Использование UIViewPropertyAnimator для создание пользовательских анимаций Создание анимаций это здорово. Они являются важной частью iOS Human Interface Guidelines. Анимации помогают привлечь внимание пользователя к важным вещам или попросту делают приложение не таким скучным. Существует несколько способов реализовать анимацию в iOS. Вероятно, са...

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

MU-MIMO: один из алгоритмов реализации Предисловие В качестве дополнения к моей недавней статье хотелось бы также поговорить о теме MU (Multi User) MIMO. Есть у мною уже упомянутого профессора Хаардта одна очень известная статья, где он вместе со своими коллегами предлагает алгоритм разделения пользователей по ни...

Тим Кук: мы не должны пострадать из-за торговой ... Торговая война между Китаем и США может негативно сказаться на стоимости продуктов Apple — они вырастут в цене примерно на 14%. Такого мнения придерживаются ряд аналитиков, но с ними не согласен Тим Кук.     Такое заявление прозвучало после того, как официал...

Гуляем по городу с умом — 2: ходим по городу кругами с помощью генетического алгоритма В прошлой статье я описал алгоритм, позволяющий строить более интересные (в противовес более коротким, как делают всякие яндексы-гуглы) пешеходные маршруты между двумя точками. Алгоритм загружал достопримечательности, парки и прочие приятные и интересные для пешеходов объект...

Accenture: развитие цифровых платежей ударит по доходности традиционных банков К 2025 году до 15% выручки банков от платежных операций во всем мире окажется под угрозой из-за распространения мгновенных, невидимых и бесплатных цифровых платежей и конкуренции с небанковскими финансовыми организациями. В ходе исследования Accenture ...

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

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

[Перевод] Разработка белков в облаке с помощью Python и Transcriptic или Как создать любой белок за $360 Что, если у вас идея для классного, полезного белка, и вы хотите получить его в реальности? Например, хотите создать вакцину против H. pylori (как словенская команда на iGEM 2008), создав гибридный белок, который сочетает фрагменты флагеллина E. coli, стимулирующие иммунный ...

[Перевод] Монада «Reader» через async/await в C# В моей предыдущей статье я описал, как реализовать паттерн "Монада Maybe" с помощью операторов async / await. В этот раз я расскажу, как реализовать другой популярный шаблон проектирования "Монада Reader", используя те же приемы. Этот шаблон позволяет неявно передать некий ...

[Перевод] Введение в Kubernetes для пользователей VMware. Часть 1. Теория Это вторая часть из моей серии постов “Kubernetes in the Enterprise”. Как я упоминал в моем последнем посте, очень важно при переходе к “Design and Implementation Guides” всем быть на одном уровне понимания Kubernetes (K8s). Я не хочу здесь применять традиционный подход дл...

[Перевод] Пишем кастомный трансформер AST на TypeScript Команда TestMace снова с вами. На этот раз мы публикуем перевод статьи о преобразовании кода TypeScript, используя возможности компилятора. Приятного чтения! Введение Это мой первый пост, и в нём мне бы хотелось показать решение одной задачи с помощью API компилятора TypeScr...

Фингерпринтинг через рекламные баннеры? Теперь это обычное дело Вчера на Stack Overflow задали странный вопрос: почему загрузка страницы Stack Overflow инициирует аудиоконтент? Что за звук на текстовом сайте? Скриншот из инструментов разработчика: Ответ оказался интереснее, чем можно было предположить. Читать дальше →

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

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

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

[Из песочницы] Интервалы: грядущая эволюция C++ Уже скоро появится стандарт C++20, в который, скорее всего, добавят концепцию интервалов (ranges), однако мало кто знает, что они из себя представляют и с чем их едят. Доступных широкой аудитории русскоязычных источников про этого зверя мне найти не удалось, вследствие чего ...

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

[Из песочницы] GIT изнутри: введение (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "Git for Computer Scientists" автора Tommi Virtanen. GIT изнутри: введение От себя: Периодически почитываю статьи, как различные популярные технологии устроены под капотом, наткнулся вот на этот материал. Ста...

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

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

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

[Из песочницы] Локальный запуск юнит-тестов в STM32CubeIDE под Windows Введение Всем известна польза юнит-тестирования. Прежде всего, написание тестов одновременно с кодом позволяет раньше выявлять ошибки и не тратить впоследствии время на трудоемкую комплексную отладку. В случае embedded-разработки у юнит-тестирования есть особенности, связан...

Производительность анимаций на сайтах При разработке сайтов, выходящих за рамки условного бутстрапа, рано или поздно возникают вопросы, связанные с производительностью анимаций. Особенно важными они являются в дизайнерских сайтах, вроде тех, что попадают в каталоги Awwwards, FWA, CSS Design Awards и.т.д. При эт...

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

[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? Часть 2 (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Друзья, до запуска нового потока по курсу «Разработчик С++», остается совсем немного времени. Пришло время опубликовать перевод второй части материала, в которой рассказывается о том, что такое ка...

Tick Tock: A Tale for Two – игра для iPhone и iPad, которую можно пройти только вдвоем Не секрет, что играть веселее вместе. Можно делать это по-разному. Игроки могут сменять друг друга или просто наблюдать, подсказывать. Но куда интереснее действовать совместно, решая совместно одну и ту же задачу. Это может быть убийство врагов, обезвреживание бомбы, гонки н...

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

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

В MMORPG AxE: Alliance vs Empire появились питомцы и новый сервер для новичков Разработчик популярной MMORPG AxE: Alliance vs Empire, вышедшей 2 месяца назад, анонсировал крупное обновление с массой нового контента. Новые игроки при старте игры будут попадать на новый сервер, на котором они смогут быстрее заработать дополнительное золото и получать ва...

Есть ли переспам на странице – как проверить? Вопрос пользователя:  Как правильно понимать переспам ключей на странице – что учитывается а что нет? Пример: В исходном коде сайта 71 упоминание одного слова в разных вариациях. Всего 4 вариации: сертификат сертификация сертификации сертификационный. В тексте в теле...

Не «Маркусом» единым: обзор компьютерного кресла Hbada 140WM Я точно не знаю, но подозреваю, что сидя в жизни провожу гораздо больше времени, чем лёжа. По крайней мере, понятие «не выспался» мне знакомо куда ближе, чем «не насиделся» — как, полагаю, и многим на Хабре. В общем, я давно пришёл к выводу, что рабочее кресло айтишнику след...

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

Пишем telegram-бота на python с помощью библиотеки telebot часть 2 Всем привет! Это вторая часть статьи, в которой я посвящу время запросам и серверам telegram. Если кто-то еще не видел первую часть, то рекомендую её почитать. В третьей части скорее всего будет описана работа с базами данных. Ну и если у вас опять возникли вопросы, то пишит...

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

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

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

FAQ про работу помощника машиниста Наш респондент — помощник машиниста, работавший с 2005 по 2010 год на маршрутах Москва — Тверь, Москва — Конаково, Москва — Зеленоград и подобных. Мы задали ему вопросы, которые казались наиболее интересными нам. В комментариях можно оставлять свои. — Чем помощник машини...

4 новых игры в Apple Arcade: пати-битва PAC-MAN, бейсбол от Gameloft и пара крутых головоломок Каждые выходные компания Apple заставляет пользователей Android-устройств кусать локти, обновляя ассортимент игр в сервисе Arcade. Не все из представленных проектов — шедевры, но в большинстве случаев уровень повыше типичных новинок в Google Play и App Store. В этот раз по ...

[Перевод] Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование) Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, ...

Квантовые точки пропишутся в MicroLED: виртуальность перестанет быть зернистой Дисплеи MicroLED, как и OLED, простые светодиоды и светодиоды подсветки в экранах LCD, выпускаются примерно одинаково: создаётся источник синего излучения, который с помощью цветных фильтров или люминофора преобразуется в источник красного и зелёного спектров. Фильт...

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

Стильный офлайн-файтинг Shadow of Death вышел на iOS Студия Vietnam Zonmob Technology наконец-то выпустила файтинг Shadow of Death на iOS. Пока что пользователи устройств Apple могут скачать только бесплатную версию игры, а премиум должна появиться 8 мая. Она будет стоить всего 75 рублей. Shadow of Death – файтинг, в который ...

«А вместо процессов у них там практики…» Такую фразу довольно часто можно услышать или прочитать в обсуждении новой версии ITIL® 4. Корректно ли это утверждение? Насколько «вместо»? Есть ли разница между процессами и практиками? Действительно, существенную часть объёма книги составляет раздел, в котором для тех, кт...

Что будет на TechTrain, и зачем мне туда идти? Бывают мероприятия, с которыми всё просто: по названию сразу понимаешь, что там будет и хочешь ли туда. Видишь слова «концерт Rammstein» — и всё, никаких вопросов. Но бывают и мероприятия, где происходит столько всего, что в названии это не уместить. Приходится разбираться...

Как все начиналось: история паяльника и появление современных инструментов Паяльник второй половины XIX века, который нагревался на огне Пайка известна человеку около 4 тысяч лет — это исторически доказано. Разные народы в разное время паяли золотые, серебряные изделия и предметы из других металлов. Все паяльники до момента изобретения электриче...

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

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

AMA с Хабром, v 7.0. Лимон, донаты и новости Каждую последнюю пятницу месяца я делаем AMA с Хабром — перечисляю список сотрудников, которым вы можете задать любой вопрос. Сегодня вы также можете задать нам любой вопрос, но вместо списка сотрудников будут слёзы счастья и радости по поводу того, что мы стали миллионерами...

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

Cмарт розетка REDMOND SkyPort 100S Это продолжение моей первой статьи на смарт цоколь Redmond. В этой статье речь пойдет о другом девайсе компании Redmond — Cмарт розетка REDMOND SkyPort 100S. Данное устройство тоже базируется на чипе nRF51822 и как говорится тут сам бог велел попробовать. Итак, была куплена ...

Решение задания с pwnable.kr cmd1, cmd2, asm, blukat. Обходим фильтрацию в Linux. Пишем shellcode с помощью pwntools В данной статье посмотрим как обойти легкий фильтр, разберемся как написать shell c помощью pwntools, а также решим несколько заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информацион...

Что в Smart TV тебе моем? Или что можно запихнуть в телевизор? Вместо предисловия Добрый день, коллеги! Меня зовут Алексей и я занимаюсь телевизорами, а именно, разработкой Smart TV приложений («давайте похлопаем Алексею»). Но что такое Smart TV? Какое оно, сферическое Smart TV приложение в вакууме? Не буду томить вас ожиданием: в осн...

Введение в Layer 3 Firewall MikroTik Firewall (или пакетный фильтр) — это большая и сложная тема как в теоретическом, так и в практическом плане. Пакетный фильтр в различных операционных системах может иметь свои плюсы и минусы по сравнению с другими реализациями. В данной статье я буду рассматривать исключитет...

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

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

Статистика и мониторинг PHP скриптов в реальном времени. ClickHouse и Grafana идут на помощь к Pinba В этой статье я расскажу как использовать pinba совместно с clickhouse и grafana вместо pinba_engine и pinboard. На php-проекте pinba — пожалуй единственный надёжный способ понять, что происходит с производительностью. Правда обычно pinba внедряется только тогда, когда уже н...

Балансировка нагрузки в Openstack (Часть 2) В прошлой статье мы рассказали о попытках использовать Watcher и представили отчет испытаний. Такие испытания мы периодически проводим для балансировки и других критических функций большого корпоративного или операторского облака. Высокая сложность решаемой задачи, возможно...

Почему у одних ходит 100 000 км, а у других убивает мотор? В проблемах катализатора разобрался владелец Hyundai Creta Автолюбитель тщательно подошел к изучению данного вопроса и пришёл к неожиданным выводам. Для начала владелец Hyundai Creta обрисовал всю проблему в целом. В сообществе любителей популярного корейского кроссовера «ВКонтакте», он объяснил, что ему постоянно попадаются самые ...

[Из песочницы] Немного о стандартах космической связи Спутник Метеор М1 Источник: vladtime.ru Введение Эксплуатация космической техники невозможна без радиосвязи, и в этой статье я постараюсь объяснить основные идеи, которые легли в фундамент стандартов, разработанных Международным Консультативным Комитетом по космическим сис...

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

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

Зачем мы болеем за спортивное программирование На протяжении восьми лет Naumen активно занимается образовательными программами, в частности, поддерживает олимпиады по спортивному программированию. Сегодня расскажем, как изменилось АСМ-движение и почему оно нам интересно. Отметим сразу, что мы не будем писать про спортив...

Projects на CodeFest: как менеджеру выжить в непрерывно меняющемся мире? Роман 4,5 часа отвечает на вопросы участников CodeFest Какая тема самая животрепещущая в управлении IT-проектами в 2019 году? Вопрос с подвохом. В зависимости от размера компании, профиля, истории, для каждого ответ будет свой. Тем не менее, всегда есть несколько тем, кот...

[Из песочницы] Вам есть, что скрывать Привет, Хабр! Представляю вашему вниманию перевод статьи автора «You don’t have nothing to hide» автора Sharon Flitman. Кажется, приватность в 21м веке становится все более размытым понятием. В не столь далеком прошлом лишь несколько моих друзей знали, где я нахожусь в ...

Магия Google: Как работает SuperResZoom? В детстве мне всегда нравилось как в фильмах детективы увеличивали фрагменты видео, чтобы можно было разглядеть лицо убийцы в отражении зрачка жертвы. Это было забавно, но очень круто! Теперь же подобные технологии потихоньку проникают в реальную жизнь. Как это возможно, ве...

Что будет, если Луна исчезнет Задайте себе вопрос: что будет с Землей, если с неба исчезнет Луна? Возможно ли это вообще? Какие последствия будут ожидать нашу планету? Многие вспомнят о влиянии Луны на приливы и отливы. На самом деле влияние естественного спутника нашей планеты гораздо серьезнее. К...

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

[Перевод] Оптимизация распределения серверов по стойкам В одном из чатов мне задали вопрос: — А есть что-то почитать, как правильно упаковывать сервера в стойки? Я понял, что такого текста не знаю, поэтому написал свой. Во-первых, этот текст про физические сервера в физических дата центрах (ДЦ). Во-вторых, считаем, что серверо...

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

Google App Script, Mikrotik, Telegram и VPNBook затеяли сыграть квартет Сегодня в программе: Куда еще можно применить Google Apps Script, если закончились нормальные идеи. Автоматизация работы с VPNBook через цепочку скриптов на разных языках, которые я не знаю. Недо-cURL от Mikrotik. Telegram через одно место, чтобы не оказаться в другом, самко...

[Из песочницы] Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans. Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небол...

Будни техподдержки: байки про то, что бывает, когда не можешь дойти до юзера Мы среди прочего оказываем поддержку по Вотсапу. Вечер, ничто не предвещает проблем, как тут вдруг открывается окно видеозвонка. Крупным планом — телеком-оборудование, установленное на площадке заказчика… И оно горит. Буквально. Видно огонёк, похоже — изоляция проводов около...

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

Предсказание красоты заката TL;DR: Из чего состоит красивый закат? Как предсказать эти элементы заката? Откуда взять данные для предсказаний? Для удачной фотосессии, требуется, как правило серьезная подготовка. И если собрался снимать закат, хорошо бы знать заранее, насколько этот закат будет красив. ...

[Из песочницы] Альтернативный подход к подписке на события, или а так ли нужен EventObject Резюме Целью этой статьи является попытка посмотреть, с иной точки зрения, на описание систем распространения событий.   На момент написания этой статьи большинство ведущих фреймворков на php реализуют систему событий, в основе которой лежит описание объекта события EventObj...

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

[Перевод] Почему люди не используют формальные методы? На Software Engineering Stack Exchange я увидел такой вопрос: «Что мешает широкому внедрению формальных методов?» Вопрос был закрыт как предвзятый, а большинство ответов представляли собой комментарии типа «Слишком дорого!!!» или «Сайт — это не самолёт!!!» В каком-то смысле ...

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

Беспроводной модуль для ёмкостного датчика влажности почвы на nRF52832 Всем привет, сегодня расскажу о том как я решил проапгрейдить датчик влажности почвы с Алиэкспресс. Примерно месяц назад был куплен датчик влажности почвы. Зачем покупал и сам не знаю, наверное все из-за цены в 40 рублей :) Получив и успешно проверив датчик(с помощью Ардуин...

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

Как дебажить переменные окружения в Linux Часто бывает так, что приходишь на машину и обнаруживаешь какой-то скрипт, запущенный под системным пользователем неделю назад. Кто его запустил? Где искать этот run.php? Или добавляешь запись в /etc/crontab, а скрипт там падает с ошибкой «command not found». Почему? И что д...

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

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

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

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

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

5 проблем любой сервисной компании и их решение с помощью платформы автоматизации Сервисное обслуживание оборудования — тяжелый бизнес, и мы в полной мере ощутили это, управляя компанией с 700 мобильными сотрудниками и 1 500 объектами обслуживания в России и странах СНГ. Работа в режиме 24/7, частые авралы, недисциплинированные сотрудники и требовательные...

Вход в Aeronet, эпизод 3: В поисках шарика Сегодня мы рассмотрим, как обнаружить с помощью камеры Raspberry PI красный шарик, и как начать наводить на него наш дрон. Читать дальше →

Фракталы в иррациональных числах Статья является продолжением моей первой статьи «Фракталы в простых числах». В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа . Без предисловия. Под кат. Читать дальше →

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

Сделана первая в истории фотография чёрной дыры Астрономы получили фотографию чёрной дыры в центре галактики Messier 87, расположенной на расстоянии 54 миллионов световых лет от Земли. Также они наблюдали за чёрной дырой Стрелец А*, находящейся в центре Млечного пути. Чёрной дырой называют область пространства, обладающую...

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

Как могли бы выглядеть регистры в 1С при наличии ООП В 1С одним из ключевых элементов системы являются регистры. Этот термин имеет свой аналог в английском языке — ledger. Он первоначально появился в бухгалтерской практике, но со временем его логика начала использоваться и в других сферах. В отличие от 1С, где регистры явля...

Удалённая работа: мифы на ночь На Хабре тема удалёнки поднимается постоянно. Был откровенный пост, который отозвался до самых глубин сердца. Сегодня случился рекламный пост, где понятие удалёнщика как-то путается с понятием фрилансера. А сейчас будет эмоциональный пост — от простой девчонки, которая вот у...

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

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

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

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

[Перевод] Что лучше выбрать в 2020 году — React или Vue? JavaScript-фреймворки стали неотъемлемой частью каждого современного веб-проекта. Существует множество подобных фреймворков, в результате разработчикам постоянно приходится задаваться вопросом о том, что выбрать. Искать ответ на этот вопрос придётся и в 2020 году. Если вы ...

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

Сеть компании и MitM. Часть 2 Перехватить конфиденциальную информацию? Получить несанкционированный доступ к различным приложениям и системам? Нарушить нормальный режим работы? Все это и многое другое выполняют атаки типа Man in the Middle. Сегодня мы продолжаем цикл статей, посвященный атакам «челове...

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

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

Шпаргалки по безопасности: JWT Многие приложения используют JSON Web Tokens (JWT), чтобы позволить клиенту идентифицировать себя для дальнейшего обмена информацией после аутентификации. JSON Web Token – это открытый стандарт (RFC 7519), который определяет компактный и автономный способ безопасной перед...

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

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

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

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

Есть ли спутники у спутников планет? В астрономии есть понятие сферы Хилла. Это пространство вокруг астрономического объекта, в котором он способен удерживать спутники, невзирая на силу притяжения другого объекта, вокруг которого он сам вращается. Для Земли такая сфера простирается на без малого миллион километ...

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

[Перевод] Краткое введение в цепи Маркова В 1998 году Лоуренс Пейдж, Сергей Брин, Раджив Мотвани и Терри Виноград опубликовали статью «The PageRank Citation Ranking: Bringing Order to the Web», в которой описали знаменитый теперь алгоритм PageRank, ставший фундаментом Google. Спустя чуть менее два десятка лет Googl...

[Из песочницы] Чипы Intel Myriad X и их масштабируемость в инференсе нейронных сетей Нейростики Intel NCS2, чипы Myriad X, решения сторонних производителей — компания Intel продвигает решения на базе Myriad X в самых различных вариантах. Чем же так хороши эти ускорители? Во-первых, стоимостью одного FPS. Во-вторых, полной совместимостью с OpenVINO, где можно...

Получено наиболее детальное изображение Ultima Thule NASA/Johns Hopkins Applied Physics Laboratory/Southwest Research Institute, National Optical Astronomy Observatory Ultima Thule — это наиболее далекий изученный людьми объект. Он находится в Поясе Койпера и имеет официальное название 2014 MU69. 1 января 2019 года зонд N...

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

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

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

[Перевод] Цепи Маркова для процедурной генерации зданий Примечание: полный исходный код этого проекта можно найти [здесь]. Так как он является частью более масштабного проекта, я рекомендую смотреть коммит на момент выпуска этой статьи, или файл /source/helpers/arraymath.h, а также /source/world/blueprint.cpp. В этой статье я х...

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

Трейлер к запуску Jump Force: 40 персонажей манг готовы сойтись в безумной потасовке Кроссовер-файтинг Jump Force готов, так что разработчики вместе с издательством Bandai Namco Entertainment представили новый трейлер и рассказали дополнительные подробности. Проект, как уже ранее сообщалось, приурочен к 50-летию японского журнала Weekly Shonen Jump,...

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

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

Новые умные часы Samsung лишатся поворотного безеля из-за новой оболочки One UI Как мы уже узнали, умные часы Samsung Galaxy Watch Active лишатся поворотного безеля и получат достаточно небольшой экран диаметром 1,1 дюйма. Ранее было неясно, почему Samsung вдруг решила отказаться от одной из главных особенностей её умных часов. Похоже, сегодня мы п...

[Из песочницы] Сравнение: Svelte и React На сайте React'a есть туториал, в котором описывается разработка игры Tic Tac Toe. Я решил повторить разработку этой игры на Svelte. Статья охватывает только первую половину туториала, до реализации истории ходов. Для целей ознакомления с фреймворком этого вполне достаточно....

Что такое портретный режим и какие смартфоны его поддерживают? Портретный режим впервые был показан в 2016 году, когда Apple представила iPhone 7 Plus. Позже две камеры в смартфоне стали стандартом для всего рынка. Вслед за Apple компании начали предлагать собственные решения даже в бюджетном сегменте. Например, Redmi 6 оснащён двумя к...

[Перевод] Распознавание источников освещения на картах окружения В этой статье представлена реализация на Python алгоритма распознавания источников освещения на картах окружения (LDR или HDR) при помощи равнопромежуточной проекции (equirectangular projection). Однако после внесения незначительных изменений её также можно использовать с п...

TinyBuild выпустит популярный мультиплеерный раннер SpeedRunners на мобильных SpeedRunners была одной из первых игр, благодаря которой издатель tinyBuild стал успешнее и увеличил количество интересных проектов. Это динамичный мультиплеерный платформер, где 4 игрока соревнуются в том, кто первым доберется до финиша. Вам нужно бежать, прыгать, уворачива...

Искусственный интеллект научился находить болезнь Альцгеймера в мозге за 6 лет до диагноза ПЭТ-скан мозга человека с тяжелой формой болезни Альцгеймера Используя снимки обычного сканирования мозга, исследователи смогли научить алгоритм определять раннюю стадию развития болезни Альцгеймера – за 6 лет до того, как такое же заключение дает традиционный медицинский ...

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

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

[Перевод] 10 Git-команд, которые стоит знать разработчику В этой статье мы обсудим разные Git-команды, которые могут оказаться полезными для разработчика или специалиста по Big Data. Вы узнаете, как проверять, удалять и приводить код в порядок. А еще рассмотрим способы выхода из Vim и экономию времени с помощью псевдонимов Bash ...

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

О разных тиках замолвите слово или как не получить ошибку в Powershell при работе с Get-Date Доброго дня, любители Powershell. Я люблю его, и сегодня заметил одну странность, которая мотивировала к написанию данного поста. Думаю, вам тоже будет интересно. Дело о лишнем тике. Если интересно, добро пожаловать под кат: Читать дальше →

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

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

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

Как робот «Совести» общается с клиентами Расскажем, как финтех-проект группы QIWI — карта беспроцентной рассрочки «Совесть» — перевел часть разговоров контакт-центра на робота, который не только отвечает на вопросы, но и сам задает их при исходящих обзвонах. Статья про применение на практике HTTP-запросов, синтеза ...

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

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