Select a country

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки

В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов испо
Наука - Хабрахабр

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки

В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описания аппаратуры (HDL) Verilog, но растущая популярность новых методов вызвала у меня большой интерес, поэтому в данной статье я решил сам разобрать что к чему. Эта статья — не руководство или инструкция к пользованию, это мой обзор и выводы о том, что могут дать различные высокоуровневые средства разработки FPGA-разработчику или программисту, который хочет окунуться в мир FPGA. Для того, чтобы сравнить самые интересные на мой взгляд средства разработки, я написал несколько тестов и проанализировал полученные результаты. Под катом — что из этого вышло. Читать дальше →

[Из песочницы] Легкое создание отчетов на C/C++

Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотов
Наука - Хабрахабр

[Из песочницы] Легкое создание отчетов на C/C++

Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотовых телефонов, то наверняка сталкивались с задачей создания отчетов, чтобы печатать их на принтере, ну или хотя бы в PDF. Существует множество сторонних пакетов для Embarcadero RAD Studio, которые позволяют это делать. Такие как FastReport, QuickReport, Crystal Reports и т.д. Но на мой взгляд все эти пакеты требуют глубокого вникания в свой механизм и интерфейс. Много времени уходит на их изучение, и что самое главное, код для генерирования даже самого простого отчета будет состоять из огромного числа строк. Когда я впервые столкнулся с задачей генерирования отчетов под C/C++, то начал с FastReport и понял, что этот инструмент мне абсолютно не нравится. В этот самый момент в голову пришла замечательная мысль: как круто бы было взять простой EXCEL-файл, добавить в него статическую информацию и отформатировать под свои нужды. В программе останется только открыть этот файл, наполнить его динамическими данными и сохранить или отправить на печать! Это послужило отправной точкой к моему изучению OLE механизма работы с файлами MS Office из программ, разрабатываемых в Embarcadero RAD Studio. Читать дальше →

[Из песочницы] Проблемы анализа Больших Данных

Каковы проблемы анализа Больших Данных Большие Данные создают характерные особенности, которые не разделяются традиционными наборами данн
Наука - Хабрахабр

[Из песочницы] Проблемы анализа Больших Данных

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

Пересчитать тонну денег и провести разведку в руднике: как роботы уже нашли место среди нас

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

Пересчитать тонну денег и провести разведку в руднике: как роботы уже нашли место среди нас

Роботы уже перестали быть героями фантастических фильмов и уже много лет живут среди нас. Просто мы не всегда это замечаем. Однако задач, которые мы готовы отдавать в их металлические (или пластиковые) «руки» все больше. В результате растет эффективность многих процессов, а вместе с этим появляются и страхи сокращения рабочих мест. По прогнозам McKinsey Global Institute, уже к 2025 году «вооруженные искусственным интеллектом» роботы могут заменить до 100 млн работников. Читать дальше →

Как выжать максимум из конференции. Инструкция для самых маленьких

Конференции не являются чем-то необычным или особенным для состоявшихся специалистов. Но для тех, кто только-только пытается встать на ноги,
Наука - Хабрахабр

Как выжать максимум из конференции. Инструкция для самых маленьких

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

Finding Zina

– Тихо! Тихо! – кричала председатель, бегая вдоль узкой, разбитой, но асфальтированной центральной улицы села Макарово. – Да уймитесь же вы! М
Наука - Хабрахабр

Finding Zina

– Тихо! Тихо! – кричала председатель, бегая вдоль узкой, разбитой, но асфальтированной центральной улицы села Макарово. – Да уймитесь же вы! Михалыч приехал! Но толпа продолжала галдеть. В селе редко случались массовые собрания, и народ по ним откровенно соскучился. Даже День Села, раньше проводившийся с таким размахом, давно канул в лету. Хотя, можно ли назвать «с размахом» мероприятие в деревне с одной тысячей жителей? Внезапно, на дороге около толпы резко затормозил К-700, знаменитый когда-то, желтый «Кировец», с колесами в человеческий рост. Так резко, что неуверенно качнулся на могучих передних рессорах, клюнув носом. Дверь кабины открылась, и в ней показался невысокий старичок, в сером пиджачке, удобных тренировочных штанах с тремя полосками по бокам, галошах с шерстяной подкладкой и старой и замасленной фуражке. Впалые щеки, покрытые седой щетиной, кустистые брови свисают над глазами, но взгляд слегка прищуренных глаз – твердый и уверенный. — Нашел Зину-то? – крикнул басовитый голос из толпы. — Ага. – повернулся и крикнул дед, уже спускаясь по лестнице. – Щас всё расскажу, дайте отдышаться, Колюня под пятьдесят гнал. — Так я это… — тот самый Колюня, тракторист, высунулся из кабины с противоположной стороны. – Народ-то собрался уже, того и гляди в город двинут, жди беды тогда… Читать дальше →

MAM: сборка фронтенда без боли

Здравствуйте, меня зовут Дмитрий Карловский, и я… обожаю MAM. MАМ управляет Агностик Модулями, избавляя меня от львиной доли рутины. Агностик
Наука - Хабрахабр

MAM: сборка фронтенда без боли

Здравствуйте, меня зовут Дмитрий Карловский, и я… обожаю MAM. MАМ управляет Агностик Модулями, избавляя меня от львиной доли рутины. Агностик Модуль, в отличие от традиционного, это не файл с исходником, а директория, внутри которой могут быть исходники на самых разных языках: программная логика на JS/TS, тесты к ней на TS/JS, композиция компонент на view.tree, стили на CSS, локализация в locale=*.json, картинки и тд, и тп. При желании не сложно прикрутить поддержку любого другого языка. Например, Stylus для написания стилей, или HTML для описания шаблонов. Зависимости между модулями трекаются автоматически путём анализа исходников. Если модуль включается, то включается целиком — каждый исходник модуля транспилируется и попадает в соответствующий бандл: скрипты — отдельно, стили — отдельно, тесты — отдельно. Для разных платформ — свои бандлы: для ноды — свои, для браузера — свои. Полная автоматизация, отсутствие конфигурирования и бойлерплейта, минимальные размеры бандлов, автоматическое выкачивание зависимостей, разработка сотен отчуждаемых библиотек и приложений в одной кодовой базе без боли и страданий. Ух какая наркомания! Уберите от мониторов беременных, слабонервных, детей и добро пожаловать на подводную лодку! Читать дальше →

Aurora, компания, основанная выходцами из Google, Tesla и Uber, начала работу с автоконцернами

Минувшая неделя оказалась весьма результативной для Aurora, стартапа, который занимается разработкой робомобилей. Эту компанию основали выход
Наука - Хабрахабр

Aurora, компания, основанная выходцами из Google, Tesla и Uber, начала работу с автоконцернами

Минувшая неделя оказалась весьма результативной для Aurora, стартапа, который занимается разработкой робомобилей. Эту компанию основали выходцы из Google, Tesla, Uber. В понедельник руководство Aurora заявило о заключении партнерского соглашения с Fiat Chrysler, во вторник — с Volkswagen, пятницу — с Hyundai. Hyundai, таким образом, стала одной из последних компаний, которые пытаются занять свою долю рынка в сфере робомобилей. Эти сделки открывают более широкие возможности для разработчиков робомобилей. Они получают как инвестиции, так и продуктовую поддержку от партнеров. Другими словами, робомобили могут без особых проблем выходить на рынок легковых транспортных средств. Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №369 (10 — 16 июня 2019)

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →
Наука - Хабрахабр

Дайджест свежих материалов из мира фронтенда за последнюю неделю №369 (10 — 16 июня 2019)

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →

Часть 2: RocketChip: подключаем оперативную память

В предыдущей части мы собрали микроконтроллер вообще без оперативной памяти на базе ПЛИС Altera/Intel. Однако на плате есть разъём с установленны
Наука - Хабрахабр

Часть 2: RocketChip: подключаем оперативную память

В предыдущей части мы собрали микроконтроллер вообще без оперативной памяти на базе ПЛИС Altera/Intel. Однако на плате есть разъём с установленным SO-DIMM DDR2 1Gb, который, очевидно, хочется использовать. Для этого нам потребуется обернуть DDR2-контроллер с интерфейсом ALTMEMPHY в модуль, понятный для протокола работы с памятью TileLink, используемого повсюду в RocketChip. Под катом — тактильная отладка, брутфорс программирование и ГРАБЛИ. Как известно, в Computer Science есть две главные проблемы: инвалидация кешей и именование переменных. На КДПВ вы видите редкий момент — две главные проблемы CS встретили друг друга и что-то замышляют. Читать дальше →

[Перевод] Отличия LabelEncoder и OneHotEncoder в SciKit Learn

Если вы недавно начали свой путь в машинном обучении, вы можете запутаться между LabelEncoder и OneHotEncoder. Оба кодировщика — часть библиотеки SciKit Learn
Наука - Хабрахабр

[Перевод] Отличия LabelEncoder и OneHotEncoder в SciKit Learn

Если вы недавно начали свой путь в машинном обучении, вы можете запутаться между LabelEncoder и OneHotEncoder. Оба кодировщика — часть библиотеки SciKit Learn в Python и оба используются для преобразования категориальных или текстовых данных в числа, которые наши предсказательные модели понимают лучше. Давайте выясним отличия между кодировщиками на простеньком примере. Кодирование признаков Прежде всего, документацию SciKit Learn для LabelEncoder можно найти здесь. Теперь рассмотрим такие данные: Данные из SuperDataScience В этом примере первый столбец (страна) является полностью текстовым. Как вы, возможно, уже знаете, мы не можем использовать текст в данных для обучения модели. Поэтому, прежде чем мы сможем начать процесс, нам нужно эти данные подготовить. Читать дальше →

[Из песочницы] Что такое информация?

Исследование How Much Information, проведенное в 2009 году показало, что количество потребляемой в неделю информации с 1986 года выросло в 5 раз. С 250 тысяч
Наука - Хабрахабр

[Из песочницы] Что такое информация?

Исследование How Much Information, проведенное в 2009 году показало, что количество потребляемой в неделю информации с 1986 года выросло в 5 раз. С 250 тысяч слов в неделю до 1,25 миллиона! С тех пор это цифра увеличилась в разы. Далее следуют более ошеломительные показатели: в 2018 году кол-во интернет-пользователей и пользователей соц. сетей — 4.021 млрд и 3.196 млрд. Современный человек за день анализирует невероятное количество информации, применяя различные схемы и стратегии по ее обработке, для принятия выгодных для него решений. Человеческий вид сгенерировал 90% информации в этом мире за два последних года. Сейчас, если округлять, в день мы производим порядка 2,5 квинтильонов байт (2,5 * 10^18 байт) новой информации. Если разделить это число на количество живущих сейчас людей, то получится, что в среднем один человек за день создает 0,3 гигабайта информации. Сколько информации занимают Homo sapiens? (далее Homo). Для простоты в информатике придумали термин под названием бит. Бит – это минимальная единица информации. Файл с этой работой занимает несколько килобайт. Такой документ пятьдесят лет назад занял бы всю память самого мощного компьютера. Средняя книга в цифровом варианте занимает в тысячу раз больше места и это уже мегабайт. Качественное фото на мощный фотоаппарат – 20 мегабайт. Один цифровой диск в 40 раз больше. Интересные масштабы начинаются с гигабайтов. ДНК человека, вся информация о нас с вами равна около 1,5 гигабайта. Умножаем это на семь миллиардов и получаем 1,05х10^19 байт. В целом, такой объем информации в современных условиях мы можем произвести за 10 дней. Это количество битов опишет всех живущих сейчас людей. Читать дальше →

Локализация приложения и поддержка RTL. Доклад Яндекс.Такси

При локализации сервиса важно внимательно отнестись к согласованию переводов между собой. Руководитель группы клиентской Android-разработки Я
Наука - Хабрахабр

Локализация приложения и поддержка RTL. Доклад Яндекс.Такси

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

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

Системы, которые принято называть секс-роботами, становятся все совершеннее. Многие магазины продают технологически продвинутые модели, кот
Наука - Хабрахабр

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

Системы, которые принято называть секс-роботами, становятся все совершеннее. Многие магазины продают технологически продвинутые модели, которые очень похожи на людей и даже умеют общаться со своими владельцами. Некоторые ученые считают, что недалеко уже то время, когда роботов будут «выписывать» пациентам, которые страдают от разного рода сексуальных дисфункций. Эту возможность обсуждали участники Mental Health Symposium в начале июня. Участники симпозиума изучили возможные опасности постепенной популяризации секс-роботов. Читать дальше →

Техника избежания неопределённого поведения при обращении к синглтону

В статье рассмотрены причины возникновения и способы избежания неопределённого поведения при обращении к синглтону в современном c++. Привед
Наука - Хабрахабр

Техника избежания неопределённого поведения при обращении к синглтону

В статье рассмотрены причины возникновения и способы избежания неопределённого поведения при обращении к синглтону в современном c++. Приведены примеры однопоточного кода. Ничего compiler-specific, всё в соответствии со стандартом. Читать дальше →

[Из песочницы] Начало работы с stm32 или не повторяйте моих ошибок

Небольшой рассказ о граблях, встреченных на пути познания ARM на примере stm32f103c8t6 и stm32l151rct6. Читать дальше →
Наука - Хабрахабр

[Из песочницы] Начало работы с stm32 или не повторяйте моих ошибок

Небольшой рассказ о граблях, встреченных на пути познания ARM на примере stm32f103c8t6 и stm32l151rct6. Читать дальше →

[Перевод] Марвин Мински «The Emotion Machine»: Глава 8.1-2 «Творческий подход»

8.1 Творческий подход «Хотя такая машина многое могла бы сделать так же хорошо и, возможно, лучше, чем мы, в другом она непременно оказалась бы
Наука - Хабрахабр

[Перевод] Марвин Мински «The Emotion Machine»: Глава 8.1-2 «Творческий подход»

8.1 Творческий подход «Хотя такая машина многое могла бы сделать так же хорошо и, возможно, лучше, чем мы, в другом она непременно оказалась бы несостоятельной, и обнаружилось бы, что она действует не сознательно, а лишь благодаря расположению своих органов». — Декарт. Рассуждения о методе. 1637 г. Мы привыкли использовать машины, которые сильнее и быстрее людей. Но до появления первых компьютеров никто не догадывался, что машина может делать что-то большее, чем ограниченное число различных действий. Наверное, поэтому Декарт настаивал на том, что ни одна машина не может быть настолько изобретательной, как человек. «Ибо в то время как разум — универсальное орудие, могущее служить при самых разных обстоятельствах, органы машины нуждаются в особом расположении для каждого отдельного действия. Отсюда немыслимо, чтобы в машине было столько различных расположений, чтобы она могла действовать во всех случаях жизни так, как нас заставляет действовать наш разум». — Декарт. Рассуждения о методе. 1637 г. Читать дальше →

[Из песочницы] Руководство по организации архитектуры Android приложения

Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по п
Наука - Хабрахабр

[Из песочницы] Руководство по организации архитектуры Android приложения

Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по переводу прошу оставлять в комментариях, и они будут исправлены. Так же для всех будут полезны комментарии от тех кто использовал представленную архитектуру с рекомендациями её использования. Это руководство охватывает лучшие практики и рекомендуемую архитектуру для создания надежных приложений. Эта страница предполагает базовое знакомство с Android Framework. Если вы новичок в разработке приложений для Android, ознакомьтесь с нашими руководствами для разработчиков, чтобы начать работу и узнать больше о концепциях, упомянутых в этом руководстве. Если вы интересуетесь архитектурой приложений и хотели бы ознакомиться с материалами этого руководства с точки зрения программирования на Kotlin, ознакомьтесь с курсом Udacity «Разработка приложений для Android с помощью Kotlin». Опыт пользователя мобильного приложения В большинстве случаев настольные приложения имеют единую точку входа с рабочего стола или программы запуска, а затем запускаются как единый монолитный процесс. Приложения на Android имеют гораздо более сложную структуру. Типичное приложение для Android содержит несколько компонентов приложения, включая Activities, Fragments, Services, ContentProviders и BroadcastReceivers. Вы объявляете все или некоторые из этих компонентов приложения в манифесте приложения. Затем ОС Android использует этот файл, чтобы решить, как интегрировать ваше приложение в общий пользовательский интерфейс устройства. Учитывая, что правильно написанное приложение Android содержит несколько компонентов, и пользователи часто взаимодействуют с несколькими приложениями за короткий промежуток времени, приложения должны адаптироваться к различным типам рабочих процессов и задач, управляемых пользователями. Читать дальше →

Как я отлавливал стили :before для фокус-элемента

Сегодня столкнулся с интересной задачкой, которая заставила меня узнать больше об отладке в хроме. Хочу поделиться с вами (вдруг кто не знал).
Наука - Хабрахабр

Как я отлавливал стили :before для фокус-элемента

Сегодня столкнулся с интересной задачкой, которая заставила меня узнать больше об отладке в хроме. Хочу поделиться с вами (вдруг кто не знал). Возникшая проблемка не сложная, но оказалась не особо тривиальная. В общем, сижу натягиваю стороннюю верстку готовую на сайт (этот момент важен, так как проблема залетела оттуда и я не был к этому готов). И на странице собирался ввести текст в спан редактируемый, который с атрибутом contenteditable=true. И вот сто раз так делал и все ОК было, а тут раз, два, и ничего не получается… И визуально элемент измененный в состоянии :focus. Ну, думаю, что-то со стилями, сейчас быстро найду, dev-tools в помощь. Расчехлил dev-tools и… и ничего не нашел… Странно. Открыл в другой вкладке другой сайт с таким же функционалом, там все работает, давай вложенность и стили сравнивать. Один-в-один. В принципе, в заголовке написано с чем я столкнулся, но если вам нужны детали и решение, прошу под кат, там не будет много буков, а в короткое видео и чуть-чуть текста. Читать дальше →

Системы мониторинга трафика в сетях VoIP. Часть вторая — принципы организации

Здравствуйте, коллеги! В предыдущем материале мы познакомились с таким полезным и, как можно заметить, достаточно необходимым элементом VoIP-
Наука - Хабрахабр

Системы мониторинга трафика в сетях VoIP. Часть вторая — принципы организации

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

90 миллиардов рублей на развитие искусственного интеллекта

30 мая сего года на территории «Школы 21» Сбербанка прошло совещание по вопросам развития технологий в области искусственного интеллекта. Сов
Наука - Хабрахабр

90 миллиардов рублей на развитие искусственного интеллекта

30 мая сего года на территории «Школы 21» Сбербанка прошло совещание по вопросам развития технологий в области искусственного интеллекта. Совещание можно считать немного эпохальным — во-первых, его вёл Президент России В.В. Путин, а участвовали президенты, генеральные директоры и заместители генеральных директоров государственных корпораций и крупных коммерческих компаний. Во-вторых, обсуждалась ни много, ни мало, а национальная Стратегия по развитию технологий искусственного интеллекта, подготовленная Сбербанком, о которой доложил Г.О. Греф. Совещание мне показалось интересным, хотя и долгим, почти полтора часа, поэтому я предлагаю своеобразный дайджест основных высказываний и мнений участников. Цитаты выбирались наиболее ключевые, как мне кажется, по теме, чтобы не зарываться в детали. Цифры перед именами выступающих означают тайм код по видео, ссылки на видео есть в конце статьи. Читать дальше →

Шпаргалка по структурам данных в Go

Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет вре
Наука - Хабрахабр

Шпаргалка по структурам данных в Go

Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных дают примеры или на псевдокоде, или на С++. Ещё эталонные решения задач написаны зачастую на С++. Готовясь к собеседованию, составил шпаргалку библиотек — аналогов контейнеров STL, что бы не тратить драгоценное время на поиск. Читать дальше →

[Перевод] Выделенная память подов и вмешательство OOM Killer

И снова здравствуйте! Перевод следующей статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes», ко
Наука - Хабрахабр

[Перевод] Выделенная память подов и вмешательство OOM Killer

И снова здравствуйте! Перевод следующей статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes», который запускается уже в этом месяце Начнем. В последние дни некоторые из моих подов постоянно аварийно завершали работу, оставляя в системном журнале ОС запись о том, что OOM Killer уничтожил процесс контейнера. Я решил разобраться, почему это происходит. Читать дальше →

Цифровая трансформация рекламы в сетевом ритейле. По следам «Видеоаналитика в Retail»

Реклама — двигатель торговли и с этим сложно поспорить! С рекламы начинается продвижение любого продукта или услуги на рынке. Но «двигатель
Наука - Хабрахабр

Цифровая трансформация рекламы в сетевом ритейле. По следам «Видеоаналитика в Retail»

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

QVD-файлы — что внутри, часть 2

В первой статье о структуре QVD файла я описал общую структуру и достаточно подробно остановился на метаданных. В этой статье я опишу формат хр
Наука - Хабрахабр

QVD-файлы — что внутри, часть 2

В первой статье о структуре QVD файла я описал общую структуру и достаточно подробно остановился на метаданных. В этой статье я опишу формат хранения информации о колонках, поделюсь своим опытом трактовки этих данных. Итак (вспоминаем) QVD файл соответствует реляционной таблице, которая, как известно состоит из строк. Каждая строка таблицы в свою очередь состоит из колонок (или полей), причем строки имеют одинаковую структуру, которая может быть описана, например, SQL оператором (create table). В QVD файле таблица хранится в виде двух косвенно связанных частей: Таблицы символов (термин мой) содержат уникальные значения каждой колонки исходной таблицы. Именно о них пойдет речь ниже. Таблица строк содержит строки исходной таблицы, каждая строка хранит индексы значений колонки (поля) строки в соответствующей таблице символов. О таблице строк более подробно я расскажу в третьей части этой серии. Читать дальше →

Темы и стили в Android без магии. И как их готовить с SwitchCompat

В предыдущей статье мы рассмотрели как использовать темы и стили на уровне кода, на примере кастомной view. В этой статье давайте разберем неск
Наука - Хабрахабр

Темы и стили в Android без магии. И как их готовить с SwitchCompat

В предыдущей статье мы рассмотрели как использовать темы и стили на уровне кода, на примере кастомной view. В этой статье давайте разберем несколько способов стилизации стандартного ui элемента, а в частности SwitchCompat. Читать дальше →

[Перевод] Используйте __main__.py

Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не использу
Наука - Хабрахабр

[Перевод] Используйте __main__.py

Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаимодействия с питоновскими модулями, состоящими из нескольких файлов. Но давайте сначала разберёмся: как большинство людей запускают свои скрипты на Python? Однажды вы напишете программу, которую захотите использовать и как импортируемый модуль, и как инструмент запускаемый из командной строки. Вы скорей всего в курсе, как обычно поступают в этом случае: if __name__ == '__main__': main(sys.argv) Когда вы скармливаете скрипт интерпретатору, магическая глобальная переменная __name__ получает значение __main__. Таким образом мы узнаём, что это не импорт, а именно запуск. Например: python myapp.py И это прекрасно работает для одиночного файла. Проблема Но если вы похожи на меня, вы не захотите, чтобы всё ваше приложение теснилось в единственном файле. Разбиение логики по разным файлам упрощает редактирование и поддержку. Например: . ├── README.me ├── requirements.txt ├── setup.py └── src ├── __init__.py ├── client.py ├── logic.py ├── models.py └── run.py Но пользователю, который склонировал проект из репозитория будет не понятно — какой из этих файлов главный? Неужели run.py? А может client.py? Где же искать знакомую строку if __name__ == '__main__'? Вот здесь-то __main__.py и способен проявить себя. Читать дальше →

[Из песочницы] Как я нашел свою первую уязвимость?

Предисловие Всем привет. Мне 20 лет. Еще недавно я учился в лицее и готовился поступать в медицинский ВУЗ, а сейчас я — фулстэк разработчик в о
Наука - Хабрахабр

[Из песочницы] Как я нашел свою первую уязвимость?

Предисловие Всем привет. Мне 20 лет. Еще недавно я учился в лицее и готовился поступать в медицинский ВУЗ, а сейчас я — фулстэк разработчик в одной американской компании. На самом деле я очень рад, что с медициной у меня не вышло — программирование было моим хобби, а сейчас я могу им заниматься постоянно. Сейчас я хотел бы написать скорее не об успехе в IT. Прямо сейчас я хочу поговорить о том, как я прочитал пару книг по уязвимостям (для защиты своих проектов) и мне удалось применить эти знания на практике. Дисклеймер Все материалы, скриншоты, а так же ссылки на сторонние ресурсы, размещены в образовательных целях. Автор не несет ответственности за их использование другими посетителями хабра. Компания заранее уведомлена за 48 часов об уязвимости и получила достаточно данных для ее исправления. Читать дальше →

[Перевод] Легендарный Intel Core i7-2600K: тестирование Sandy Bridge в 2019 году (часть 3)

Часть 1>> Часть 2 >> Часть 3 Игровые тесты: World of Tanks enCore Несмотря на то, что World of Tanks сильно отличается от большинства других часто играе
Наука - Хабрахабр

[Перевод] Легендарный Intel Core i7-2600K: тестирование Sandy Bridge в 2019 году (часть 3)

Часть 1>> Часть 2 >> Часть 3 Игровые тесты: World of Tanks enCore Несмотря на то, что World of Tanks сильно отличается от большинства других часто играемых массовых многопользовательских онлайн-игр, он позволяет игроку очутиться в середине 20-го века и под свой контроль целый ряд боевых бронированных машин. World of Tanks (WoT) разрабатывается и издается Wargaming, которые базируются в Беларуси, причем саундтрек к игре в основном написан белорусским композитором Сергеем Хмелевским. Игра предлагает несколько точек входа, включая free-to-play, а также позволяет игрокам платить за получение дополнительных возможностей. Один из самых интересных фактов об этой MMO на базе танков заключается в том, что она достигла статуса eSports, когда дебютировала на World Cyber Games еще в 2012 году. Читать дальше →

[Перевод] Обучение с подкреплением или эволюционные стратегии? — И то, и другое

Привет, Хабр! Мы нечасто решаемся размещать здесь переводы текстов двухлетней давности, без кода и явно академической направленности — но
Наука - Хабрахабр

[Перевод] Обучение с подкреплением или эволюционные стратегии? — И то, и другое

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

«Преодолевая» закон Мура: чем заменить традиционные планарные транзисторы

/ фото Taylor Vick Unsplash В прошлый раз мы говорили о материалах, которые могут заменить кремний в производстве транзисторов и расширить их возможн
Наука - Хабрахабр

«Преодолевая» закон Мура: чем заменить традиционные планарные транзисторы

/ фото Taylor Vick Unsplash В прошлый раз мы говорили о материалах, которые могут заменить кремний в производстве транзисторов и расширить их возможности. Сегодня обсуждаем альтернативные подходы к разработке полупроводниковых изделий и какое применение они найдут в дата-центрах. Читать дальше →

Обновление программного комплекса SafeERP: Иерархия полномочий

В марте 2019 года компания «Газинформсервис» представила обновленную версию программного комплекса SafeERP 4.6. Подробное описание продукта SafeERP п
Наука - Хабрахабр

Обновление программного комплекса SafeERP: Иерархия полномочий

В марте 2019 года компания «Газинформсервис» представила обновленную версию программного комплекса SafeERP 4.6. Подробное описание продукта SafeERP приведено на сайте компании. В новую версию программного комплекса SafeERP 4.6 включена процедура построения иерархии полномочий по выбранным для анализа объектам полномочий. Напомним структуру и общие понятия концепции полномочий SAP: «Объект полномочий» -> «Полномочие» -> «Профиль» -> «Роль» -> «Учетная запись пользователя». Концепция полномочий — классическая, но фактическая реализации более сложная: несколько ролей может быть присвоено пользователю; составная роль (Composite Role) может включать нескольких ролей; составной профиль полномочий может состоять из нескольких профилей (Composite Profile); в составной профиль может быть включён другой составной профиль; пользователь может наследовать полномочия ссылочного пользователя (Reference User). Иерархия возможной структуры полномочий представлена на рисунке 1. Рисунок 1 – Общая структура концепции полномочий SAP Читать дальше →

Электронное государство будущего. Часть 3

Часть 1 >> Часть 2 Общегосударственная система выборов и референдумов ОГСВР — подсистема ОГАС 2.0. Позволяет гражданам создавать петиц
Наука - Хабрахабр

Электронное государство будущего. Часть 3

Часть 1 >> Часть 2 Общегосударственная система выборов и референдумов ОГСВР — подсистема ОГАС 2.0. Позволяет гражданам создавать петиции, вести обсуждение законопроектов, участвовать в общегосударственных электронных референдумах и электронных выборах всех уровней. Доступна через личный кабинет гражданина. Цели системы Цели системы – реализация прямой власти народа в стране, создание механизма взаимодействия граждан с законодательной властью, обеспечение контроля за действиями исполнительной власти, обеспечение общественного контроля за принятием всех общегосударственных решений, улучшение избирательной системы. Читать дальше →

[Перевод] Flutter: прокачиваем AppBar & SliverAppBar

Во Flutter для создания панели инструментов используется хорошо всем известный AppBar, ну а когда нам нужна динамическая панель инструментов, кото
Наука - Хабрахабр

[Перевод] Flutter: прокачиваем AppBar & SliverAppBar

Во Flutter для создания панели инструментов используется хорошо всем известный AppBar, ну а когда нам нужна динамическая панель инструментов, которая покажет контент при свайпе, мы используем отличный виджет SliverAppBar. Оба виджета позволяют сделать приложение чуточку красивее, что во Flutter, без сомнений, весьма просто. Я видел много вопросов на StackOverflow и в группах Facebook о том, как можно изменить AppBar и SliverAppBar с точки зрения поведения или дизайна. Давайте рассмотрим две задачи. Читать дальше →

[Перевод] KubeCon EU 2019: 10 ключевых выводов

Мы с ребятами из Datawire недавно вернулись с потрясающих конференций KubeCon и CloudNativeCon в Барселоне. Мы участвовали в 6 выступлениях на KubeCon, раздали
Наука - Хабрахабр

[Перевод] KubeCon EU 2019: 10 ключевых выводов

Мы с ребятами из Datawire недавно вернулись с потрясающих конференций KubeCon и CloudNativeCon в Барселоне. Мы участвовали в 6 выступлениях на KubeCon, раздали на своем стенде кучу классных (без ложной скромности) футболок, пообщались с десятками людей и посетили крутые выступления. На KubeCon EU было столько всего интересного, что я решил написать пост с ключевыми итогами. И вот какие выводы я сделал (не в порядке важности): Многоплатформенность и гибридное облако (все еще) популярны. Объединение технологий набирает обороты. Анонс Service Mesh Interface (SMI): следите за новостями. (Туманное?) будущее Istio. Политика как код поднимается по стеку. Облачный DevEx по-прежнему не обходится без проблем. Компании (все еще) на начальных этапах внедрения технологий. Локальный Kubernetes реален (но заковырист). Считайте кластеры стадом. Успех Kubernetes по-прежнему зависит от сообществ. Читать дальше →