Search
Write a publication
Pull to refresh
2
0
Send message

Граф стека вызовов — новая функция для GitHub, GitLab, JetBrains IDE

Level of difficultyEasy
Reading time2 min
Views5K

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

Читать далее

5 паттернов параллельного программирования в GO, которые сделают ваш следующий проект лучше

Reading time10 min
Views20K

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

Читать далее

Гугл таблица как БД для телеграм бота

Level of difficultyEasy
Reading time6 min
Views29K

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

Читать далее

Стохастический язык программирования на основе алгоритмов Маркова

Reading time13 min
Views28K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →

Пятничные клеточные автоматы: 10 правил «больших, чем жизнь»

Level of difficultyEasy
Reading time4 min
Views4.8K

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

Самое популярное подобное расширение конфигурации известно как Larger than Life, или просто LtL. Его мы и рассмотрим.

?

Брутальный маркетплейс. Разбираем суть цифровых платформ на примере забастовки против Wildberries

Reading time10 min
Views29K

Последние пару дней идет забастовка пунктов выдачи (ПВЗ) Wildberries. Причина — недовольство новой жесткой политикой штрафов. Мне надоело читать объяснения а‑ля «ааа опять этот Вайлдберрис, закройте его уже!». Постараюсь объяснить ситуацию более научно — исходя из базовых принципов бизнес‑модели цифровой платформы.

Читать далее

Интерактивная карта деревьев Нью-Йорка: 860 000 деревьев онлайн

Level of difficultyEasy
Reading time2 min
Views2.8K

Знаете ли вы, что лондонский платан западный (см. ниже) - самый распространенный вид деревьев в Нью-Йорке? Этот вид один из многих деревьев, которые можно почерпнуть из новой интерактивной карты, запущенной городом Нью-Йорк, позволяющей пользователям исследовать популяцию деревьев в городе. Карта деревьев Нью-Йорка заменяет предыдущую карту уличных деревьев парка Нью-Йорка и содержит данные о более чем 860 000 парковых и уличных деревьев. 

Читать далее

Старый добрый семисегментный индикатор

Level of difficultyEasy
Reading time18 min
Views48K
image

В этой статье я хочу продолжить свой цикл о программировании Arduino для начинающих электронщиков. Мы познакомимся с подключением светодиодного семисегментного индикатора к микроконтроллеру через сдвиговый регистр, разберемся с особенностями его программной обработки. Также я продемонстрирую, как с помощью редактора электронных таблиц Excel можно генерировать семисегментные коды. И, как всегда, много внимание будет уделено деталям, которые часто воспринимаются понятными «по умолчанию», но на самом деле для новичка таковыми не являются. В конце, следуя «Arduino way», напишем простой класс для управления семисегментной индикацией.
Читать дальше →

Google предлагает сократить сроки доверия корневым и подчинённым центрам сертификации

Reading time5 min
Views2.8K
3 марта Google объявила в своем блоге о своей инициативе «Движение вперёд, вместе», предлагая всем поддержать их инициативу по существенному сокращению сроков доверия удостоверяющим центрам сертификации.

Напомним, что это не первый шаг такого рода. Ранее корпорация уже выступала за сокращение сроков SSL-сертификатов. И все эти инициативы подчинены одной цели – Google последовательно борется за достижение полной автоматизации процесса выдачи, переоформления и продления сертификатов. Только автоматизация привнесёт в экосистему скорость, безопасность, стабильность и простоту, объясняют в Google. Именно на простоте процесса делает акцент компания, продвигая значимые изменения, которые касаются удостоверяющих центров (CA): www.chromium.org/Home/chromium-security/root-ca-policy/moving-forward-together.
Читать дальше →

Встраиваем JS- скрипты в PDF для социальной инженерии — пошаговое руководство

Reading time7 min
Views18K

Введение

Согласно статистике, большинство всех атак совершается с использованием вредоносного программного обеспечения, а половина от всех атак проводится с использованием методов социальной инженерии.

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

Мы, Маргарита Белоусова, аналитик аналитического центра и Анастасия Прядко, специалист по анализу защищенности компании УЦСБ написали пошаговую инструкцию, как сделать фишинговый документ: детали и примеры кода. Кроме того, мы кратко рассмотрели структуру PDF-файла, как и куда в него внедрять JavaScript, а также способы маскировки факта внедрения скрипта. Наш опыт пригодится безопасникам, системным администраторам и всем, кто связан с ИБ.

Структура PDF

Организация данных в памяти

PDF способен на большее, чем просто отображать текст. Он может также включать в себя изображения и другие мультимедийные элементы, может быть защищён паролем, выполнять JavaScript и многое другое. Вне зависимости от версии структура PDF документа неизменна:

Читать далее

Делаем бесконечную рабочую область без Canvas

Level of difficultyMedium
Reading time6 min
Views7.5K

Рабочее пространство в нашем приложении представляет собой бесконечную доску, по которой могут перемещаться ноды. Необходимо реализовать масштабирование этого пространства и перемещение по нему. Все это мы делаем без использования Canvas, так как приложение построено на React, в дизайн-системе используется antd, а ноды могут быть огромными формами. Согласитесь, реализовывать такие интерфейсы было бы гораздо сложнее, не будь у нас доступа к нативным средствам HTML-5.

Читать далее

Большой обзор Service Mesh: часть вторая

Reading time9 min
Views7.6K

Service Mesh — подход, который еще вчера был на вершине хайпа, а сегодня становится стандартной технологией для Backend. В этой части посмотрим, как теория накладывается на практику и на что обратить внимание, выбирая Service Mesh для своих задач.

Меня зовут Максим Чудновский, я занимаюсь развитием интеграционной платформы Platform V Synapse в СберТехе. В платформе реализован RPC и Service Mesh, которым я и занимаюсь. В этой статье продолжу рассказывать о технологии и поделюсь соображением о том, как выбрать конкретное решение для ваших задач.

Читать далее

UNIX, SGI и динозавры. Обзор одного из самых необычных файловых менеджеров

Level of difficultyEasy
Reading time3 min
Views7.2K

UNIX, SGI и динозавры. Обзор одного из самых необычных файловых менеджеров.

В 1982 году была основана компания SGI, она же Silicon graphics. Графические станции этой компании применялись для создания компьютерной графики в огромном количестве фильмов 80-х и 90-х годов. Например, они использовались в работе над такими фильмами, как «Назад в будущее 2» (1989), «Красотка» (1990), «Терминатор 2: Судный день» (1991), «Парк юрского периода» (1993), «Водный мир» (1995) и над многими другими.

Нас же из этой подборки интересует фильм про воскрешенных динозавров. Его особенностью является то, что большинство компьютеров в нем представлены машинами SGI. Не стала исключением одна интересующая нас сцена, в которой, одна из героинь фильма, Алексис Мерфи находит компьютер SGI и во время его использования произносит фразу «It's a UNIX system, I know this!».

Читать далее

Когда использовать микросервисы: отвечают Сэм Ньюмен и Мартин Фаулер

Reading time5 min
Views11K
image

Что бывает, когда два легендарных теоретика микросервисов, Мартин Фаулер и Сэм Ньюмен, встречаются, чтобы побеседовать о стратегии разработки под такую парадигму? За минимальное время можно составить впечатление о самых свежих представлениях на тему микросервисов. Ниже мы обсудим взгляды на разработку приложений, которые изложил Сэм Ньюмен, когда Мартин Фаулер задал, казалось бы, простой вопрос: «Когда следует использовать микросервисы?»
Читать дальше →

Сравнение MySQL и PostgreSQL в 2023 году

Level of difficultyEasy
Reading time9 min
Views81K

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

Читать далее

Создание нового языка для микроконтроллеров

Level of difficultyEasy
Reading time4 min
Views14K

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

Плюс еще подоспел интерес к RISC‑V архитектуре и было принято решением делать редактор который смог бы редактировать программы на ассемблере для различных архитектур (в том числе может быть и с лагеря AVR кто нить захочет присоединиться).

В общем подумалось: а что если попытаться создать asm‑base'д язык программирования который при выборе архитектуры просто бы транслировался автоматически в асм инструкции выбранной платформы?

Читать далее

progressive_plots или ускоряем построение графиков

Level of difficultyMedium
Reading time4 min
Views2.5K

Здравствуйте, меня зовут Николай Стрекопытов и большую часть карьеры я работал на стыке R&D и Deep Learning и в задачах возникающих в этих нишах часто невозможно написать какие-то автотесты и не всегда понятно где вообще может быть проблема поэтому нужно визуально исследовать графики каких-то алгоритмически-заданных функций или показаний с девайса при разных параметрах, а хочется эти графики изучить в максимально детализированном варианте, что почти всегда занимает неприлично большое количество времени.

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

Читать далее

6 простых принципов написания приложения на Vue, которое легко поддерживать (часть 2)

Reading time5 min
Views9.7K

Привет! Я Наталья Калачева, Frontend-разработчик в AGIMA. Эта статья посвящена правилам, которые помогают упростить поддержку и расширение приложений на Vue. Тут я рассказываю, как организовать хранение компонентов, стилей и плагинов, когда использовать стор и полезные функции Vue. Первые 3 принципа я опубликовала вчера. Здесь еще 3.

Читать далее

LMS.NetMap швейцарский нож для анализа сетевой инфраструктуры

Level of difficultyEasy
Reading time9 min
Views11K

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

Также по статистике проведенных пентестов около 70% ИТ и ИБ отделов
клиентов не имели карту сети. То есть админы даже представления не имели
как устроена топология сети и что там происходит. А ведь корпоративные
информационные системы давно стали неотъемлемой частью любого бизнеса,
являются основой множества бизнес‑процессов.

Читать далее

Потоки событий бесполезны без действий

Level of difficultyEasy
Reading time9 min
Views6.1K

Каждая точка данных в системе, регулярно генерирующей данные, соответствует событию (Event). Потоки событий (Event Stream) — это непрерывный поток событий или точек данных. Иногда потоки данных называют в сообществе разработчиков потоками данных (Data Stream), потому что они состоят из непрерывных точек данных. Event Stream Processing — это действия, выполняемые с генерируемыми событиями.

В этой статье подробно рассматриваются потоки данных и Event Stream Processing, рассказывается, как работает Event Stream Processing, объясняются различия между Event Stream Processing и Batch Processing, преимущества и способы применения ESP, а завершается она наглядным примером Event Stream Processing.
Читать дальше →

Information

Rating
6,786-th
Registered
Activity