В статье поделимся опытом создания и развития команды аналитики «Магнит Маркета», которая становится не только двигателем бизнеса, но и источником новых идей и проектов.
Разработка
Настройка Git сервера с нуля
Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.
Внедрение Business Intelligence с нуля — первые шаги
Внедрение системы Business Intelligence в рамках компании - одновременно уникально для каждой компании, и в то же время может быть унифицировано за счет использования существующего опыта и знаний. В этой статье приведены базовые принципы построения BI систем, на которые можно ориентироваться, чтобы сэкономить время и получить качественную BI систему для компании. Тем, кому интересны основы BI систем - добро пожаловать :)
В качестве небольшого вступления имеет смысл отметить две особенности BI систем. BI системы основаны на рассчитываемых ключевых показателях эффективности (KPI), но тем не менее, для управления компанией представляет ценность именно система или набор показателей, а не какой-либо единственный показатель. Другой особенностью является то, что BI система аккумулирует данные из различных систем и различной периодичностью, например, финансовые показатели из учетных систем, данные о клиентах из CRM систем или из систем обратной связи с клиентами, и все эти задачи интеграции встают перед компанией, которая внедряет BI.
Рассморим выбор ключевых показателей BI системы "с нуля", что определит суть будущей BI системы компании. Конечно, можно использовать и готовый набор показателей, которые часто имеются для разных предметных областей в различных BI платформах, в этой статье обращается внимание на выбор системы KPI "с нуля".
Популярным подходом к управлению по KPI является сбалансированная система показателей (Balances Scorecards, BCS), предложенная Р. Капланом и Д. Нортоном "Сбалансированная система показателей" в 1996 году. В книге рекомендуется подход к управлению, основанный на ключевых показателях эффективности (KPI), отслеживающих стратегический прогресс в достижении основных целей по четырем направлениям: финансовые показатели, взаимодействие с клиентами компании, внутренние процессы компании и обучение/рост сотрудников компании.
Быстрый запуск Redis через Docker Compose
Доброго времени суток! Сегодня я продемонстрирую вам, как быстро и эффективно настроить Redis с помощью Docker Compose. Этот процесс займет всего несколько минут, но в результате вы получите полноценную базу данных Redis, работающую в изолированном Docker контейнере. Важные компоненты, такие как данные кэша и конфигурации, будут сохранены на вашей локальной машине благодаря использованию томов (volumes), что обеспечит надежность и доступность данных.
Истории
Замена самых дешевых Wi-Fi реле Sonoff в освещении после 7 лет их использования в квартире
Семь лет назад, в 2017 году, я переделал обычную схему освещения в квартире, установив умные модули - для этого пришлось устанавливать распределительные коробки большего размера и частично менять проводку. Весь эксперимент проходил в двухкомнатной хрущевке и я описывал этот опыт на Хабре четыре года назад.
Уже тогда у меня были некоторые предпочтения: желание быть независимым от любых облачных сервисов; минимальная цена устройства; заводское изготовление этого модуля.
Тогда в 2017 году я наткнулся на двухканальные реле Electrodragon Relay Board ESP8266 (около 650 руб за 1 штуку сейчас) и одноканальные SONOFF BASIC R1 Wi-Fi (около 450 рублей за 1 штуку сейчас), а ещё тогда познакомился со свободной прошивкой Tasmota.
В комментариях к статье 2020 года, в которой описывал сделанную домашнюю автоматизацию было упоминание о том, что вместо умного дома лучше было потратить эти деньги на ремонт квартиры.
И вот, в конце 2023 года, решился на ремонт, который шел 16 недель и сжирал примерно по 22 593 ₽ рублей в неделю. Общая сумма затрат за период с 22.11.2023 по 13.03.2024 составила 361 491 ₽. Из них товаров куплено на 183 129 ₽, а работ выполнено на 173 862 ₽. При этом на умный дом затраты составили 19 939 ₽.
В этой статье хочу подробнее расписать именно про умный дом, потому что эта тема соответствует тематике Хабра.
Творим дичь с помощью инструментов веб-разработки
Или что будет если заставить очень опытного разработчика заниматься не своим делом. Думаю после этой статьи термин «overqualified» заиграет для вас новыми красками.
Искусство мозговых волн. Как ученые визуализируют вызванные потенциалы: результаты опроса
Меня зовут Владимир Михеев, я работаю в лаборатории Вычислительный когнитивных наук Университета Штутгарта. Мы разрабатываем библиотеки для анализа, симуляции и визуализации ЭЭГ данных на языке Julia под зонтичным брендом Unfold.
В социальных и психологических науках уже лет десять бушует кризис невоспроизводимости: результаты многих исследований не повторяются. Обычно уделяют внимание статистическим методам, размерам выборки, честности ученых. Мы решили обратить внимание на визуализацию. Это не только вопрос о красоте графиков, это еще и серьезный вопрос о корректности представления данных. И, как показывает наше исследование, ученые часто допускают при этом досадные ошибки.
Эта статья может быть вам полезна если вы:
• Хоть раз рисовали потенциал вызванного действия.
• Визуализируете временные данные.
• Радеете за воспроизводимость научных исследований.
• Разрабатываете аналитическое ПО.
• Делаете красивые графики и хотите, чтобы они были корректными.
Красота кода
Из "97-ми вещей, которые должен знать каждый программист".
Существует одна цитата, которая, как мне кажется, достойна того, чтобы каждый разработчик программного обеспечения знал её и держал близко к сердцу:
Красота стиля, гармонии, изящества и хорошего ритма зависит от простоты. - Платон
Я считаю, что одно это предложение суммирует ценности, к которым мы, как разработчики программного обеспечения, должны стремиться.
Решение задач Front End с интервью. Promise Pool
Разбираем задачу Promise Pool (Leetcode 2636)
Дан массив асинхронных функций functions и максимальный размер пула n. Необходимо написать асинхронную функцию promisePool. Она должна возвращать Promise, который разрешается, когда разрешаются все входные функции function.
Динамическое создание UDF в Apache Spark из строк кода: проблемы и решение («костыль»)
В данной статье рассматривается подход к созданию пользовательских функций (UDF) в Scala, специфически в контексте использования в Apache Spark. Автор исследует проблему динамической генерации и передачи лямбда-выражений через JSON, обсуждая ограничения сериализации функций в Spark и возможные решения с использованием типа Any
для универсальной обработки различного числа аргументов. Статья призывает к дискуссии и поиску альтернативных подходов, не претендуя на единственно верное решение, и представляет предложенный метод лишь как один из возможных вариантов решения задачи.
XSS в Sappy (частичный writeup)
Недавно прошел Google CTF, после которого были выложены исходные коды и exploit'ы к заданиям.
В этой статье я хотел бы подробнее рассмотреть web task с недавно прошедшего Google CTF, который называется "Sappy".
Security Week 2426: стойкость паролей к перебору
Для измерения времени подбора требуется задать целевую производительность. В качестве референса была выбрана видеокарта NVIDIA GeForce RTX 4090 — решение недешевое, но тем не менее повсеместно доступное. Скорость подбора в такой конфигурации составляет 164 миллиарда хешей в секунду. Пожалуй, самый положительный вывод статьи заключается в том, что сложные пароли в базах утечек встречаются не так уж и редко. 28% паролей состоят из заглавных и строчных символов, содержат цифры и спецсимволы. Брутфорс 85% таких паролей займет больше года. Впрочем, речь идет о самом прямолинейном методе полного перебора. В исследовании оцениваются и более эффективные способы.
Чистый код: Данные
Чистый код не набор внешних признаков, таких как наименование переменных и наличие или отсутствие комментариев, хотя они тоже важны. Чистый код — это архитектура программного продукта, которая позволяет легко читать и модифицировать программный код. Написание такого кода опирается на множество типовых шаблонов (SOLID, паттрерны проектирования и др.), выработанных в ходе практики программирования. Описание еще одного такого шаблона приведено в этой статье.
Неизменяемым называется объект (англ. immutable object), состояние которого не может быть изменено после создания(1). Это понятие не так широко используется в различной литературе, поэтому начну с более подробного разбора этого понятия и обоснования, почему стоит применять этот шаблон.
Классическое определение гласит - Объектно ориентированное программирование (ООП), парадигма программирования, в рамках которой программа представляется в виде совокупности объектов, а её выполнение состоит во взаимодействии между объектами. Объектом называется набор из данных и операций, которые можно выполнить над этими данными(2).
Практика программирования показывает, что не все операции которые можно выполнить над данными стоит помещать в один объект. Например, формулу расчет угла в прямоугольном треугольнике можно представить как константное выражение. Вероятность её изменения приближается к нулю, поэтому ее можно смело применять как часть объекта с данными. Другой пример, формирование цены на товар в магазине, тоже формула, но она может меняться в соответствии с требованиями маркетинга. Такую формулу не следует помещать в метод принадлежащий объекту с данными.
Ближайшие события
Избранные задачи по алгебре с экзаменов в ШАД
В этой статье мы разберём несколько важных идей, которые неоднократно применялись в задачах по алгебре на вступительных экзаменах в ШАД. Мы намеренно выбрали далеко не самые сложные задачи, ведь за гробовые задачи мало кто берётся на экзаменах в условиях ограниченного времени. Наша задача — обратить внимание на важные идеи линейной алгебры, знание которых составители нередко ожидают от поступающих. Зная эти идеи, решить задачи будет совсем легко. В противном случае придётся снова "изобретать велосипед" или искать какие-то обходные пути.
Anytone AT-D878UVII Plus: DMR-трансивер из Поднебесной. На что он способен?
В следующем году первой версии стандарта DMR (Digital Mobile Radio) исполнится 20 лет. Если коротко о нем (подробности будут ниже), то DMR на аналоговом уровне — обычная узкополосная радиосвязь с частотной модуляцией. Ширина — 12,5 кГц, в него «вмещаются» два речевых канала.
Сейчас на рынке полно различных DMR-радиостанций на любой вкус и кошелек. Выбирая трансивер, я попытался найти такой, который бы не уступал по возможностям профессиональным моделям от Hytera или Motorola. Но при этом и не стоил бы как чугунный мост. Некоторые радиолюбители обратили внимание на трансиверы Anytone и поделились положительными отзывами об их работе. Так что сегодня на обзоре — модель Anytone AT-D878UVII Plus. Подробности — под катом.
Что нового в Greenplum 7. Заключение
Перед вами заключительная, третья часть обзора изменений в Greenplum 7. Если вы по каким-то причинам пропустили прошлые публикации, то их можно найти в нашем блоге здесь и здесь. А сегодня мы поговорим об изменениях в партиционировании таблиц и ресурсных группах, JIT-компиляции выражений и многом другом. Давайте начнём!
Температурный датчик NST1002 от компании Novosense
Датчик заявлен как высокоточный, +/- 0.1 градуса для 0…+85 град. С, в корпусе DFN-2L. Для всего диапазона температур -40 … +150 градусов точность несколько хуже, до +/- 0.5 градуса. У датчика 15-ти битное АЦП, восемь разрядов на градусы и семь на дробную часть, что дает разрешающую способность 1/128 или 0.0078125 градуса. Время преобразования и считывания данных порядка 32-х миллисекунд. Подключается он по шине 1-Wire и имеет два варианта конструктивного исполнения: DFN-2L (1.6 x 0.8 мм) и TO-92S-2L (4.0 x 3.0 mm).
Типовая схема подключения показана на Рис.1 и требует 2 ножки микроконтроллера. GPIO1 используется для управления обменом, GPIO2 для считывания данных. Рекомендуемое значение резистора 4.7 кОм @ 3.3 В.
Как тестировать PWA?
Про тестирование PWA есть много разрозненных мнений, подходов и обособленных принципов, иногда противоречащих друг другу. Мы в Red Collar решили испытать на себе несколько вариаций подхода к тестированию таких приложений.
DNS-хостинг для начинающих: разбираемся в многообразии ресурсных записей
Чтобы хоть как-то связать IP-адрес с доменом, хватит всего нескольких базовых ресурсных записей. Однако их существуют десятки, одни могут дружить или конфликтовать друг с другом, другие повышают безопасность, но при их неправильной настройке все перестает работать. Это вызывает вопросы пользователей с небольшим опытом или без него. В этой статье разберемся, какие типы ресурсных записей бывают, зачем их так много и посмотрим на примеры их добавления.
От студента-новичка до инженера ИБ за 8 месяцев. Мой опыт старта в направлении, которое нравится всем
На дворе лето, и для многих студентов стал насущным вопрос: а куда мне пойти на практику? Хорошая новость в том, что в это же время у большинства работодателей начинаются стажерские программы.
В прошлом году я сам искал компанию для старта в карьере, не понимал, с чего начинать, и совсем не ожидал, что смогу так быстро вырасти. Итак, под катом — мой опыт быстрого и комфортного старта в ИБ в крупной компании!
Хабы
Вклад авторов
alizar 92185.8marks 24166.6ru_vds 20381.2alexzfort 14179.0XaocCPS 10986.2pronskiy 10649.4m1rko 10382.0Andrey2008 9678.2ptsecurity 9676.1Jeditobe 9387.6