Довольно часто при расследовании инцидентов информационной безопасности в инфраструктуре заказчика обнаруживается, что учетные записи пользователей мессенджера Telegram были скомпрометированы. В статье расскажем, как и для чего злоумышленники это делают.Статья носит исключительно информационный характер и не является инструкцией или призывом к совершению противоправных деяний. Наша цель — рассказать о существующих уязвимостях, которыми могут воспользоваться злоумышленники, предостеречь пользова…
Всем привет! В продолжение прошлой статьи, где мы залезли в компилятор Go и разобрались в его работе, добавив поддержку while на уровне компилятора, я хочу чуть глубже погрузиться в тему. Советую прочитать ту статью, если вы еще не сделали этого.В этой статье, как небольшое дополнение к предыдущей, я хочу рассмотреть, как Go работает с AST, и заодно реализовать конструкцию InverseCode{} (название Inverse оказалось занято пакетом math), которая будет читать код снизу вверх.Вот примерный результа…
различные модели потребления памятиВ Go 1.24 встроенная реализация map была полностью переработана и теперь основана на Swiss Table. В этой статье мы рассмотрим, какие преимущества даёт Swiss Table по сравнению с традиционными хеш‑таблицами.В приведённом выше графике мы видим заметно различающиеся модели потребления памяти между SwissMap и встроенной картой (map) в Go. Для сравнения также включено потребление памяти массивом, хранящим тот же набор данных. Потребление памяти стандартной реализац…
Однажды, в курсе "Математические модели физической реальности" я предложил студентам "поиграть в Галилея". То есть, повторить его натурные эксперименты с падающими телами и определить из экспериментов величину ускорения свободного падения.Согласно общепринятой легенде, "экспериментальной установкой" для одного знаменитого опыта Галилею служила всемирно известная Пизанская башня высотой приблизительно 50 метров.Фотография "падающей башни". Город Пиза, Италия.Одн…
Всем привет! В этой статье мы не будем в очередной раз размышлять о том, почему бизнес и пользователи все чаще начинают отдавать предпочтение PWA вместо мобильных приложений, какие у них есть плюсы, минусы и так далее.Сегодня мы сосредоточимся на проблемах (а точнее на одной конкретной), с которой вы можете столкнуться, решив сделать свое веб-приложение прогрессивным.Забегая вперед, сразу скажу, кому статья может быть полезна. Не столько важно, являетесь вы владельцем продукта или разработчиком…
С этой статьи я начну цикл материалов, посвященных базовым концепциям реактивности, основанных на идеях и примерах, которые подробно изложил автор SolidJS, Райан Карниато (Ryan Carniato), в своем блоге. Наша цель — разобрать фундаментальные принципы, лежащие в основе реактивных систем, и показать их применимость в различных контекстах.Обычно, когда вы впервые сталкиваетесь с реактивной системой, вводный пример выглядит примерно так:let name = state("John"); effect(() => { console.…
Первоначально в этой статье я хотел рассказать об интересном подходе к построению программ, описанному в книге Sandy Maguire, Algebra-Driven Design. Подход позволяет строить программы на основе абстрактных математических структур и законов. Это позволяет разработать обобщенные подходы к их созданию и тестированию. Но потом я понял, что в этом мало смысла без объяснения, почему такой подход в принципе имеет право на существование. В книге для примеров используется Haskell - ленивый, чистый функц…
11 Марта вышел аннонс Typescript 7, в котором рассказали о разработке нового tsgo компилятора.Андерс Хейлсберг (разработчик языков TurboPascal, C#) объявил о следующем этапе в развитии Typescript, направленном на кардинальное повышение производительности. Основная ценность Typescript — это удобный опыт разработки, с ростом кодовой базы эта ценность становится всё более очевидной. Но, как показала практика, текущая реализация часто не справляется с очень крупными проектами. Разработчики сталкива…
Всем привет! Меня зовут Артем, я начинающий разработчик и это мой первый пост, прошу не судите строго.Хочу поделиться своим скриптом, который позволяет создавать адаптивные изображения с интерактивными метками.Скрипт по умолчанию поддерживает до 50 меток на изображении.Посмотреть код и скачать исходники можно на GitHubДля начала работы необходимо подключить файлы artag.css и artag.jsВ HTML документе создаем блок с интерактивными метками на изображении:<div class="ar-inter-block" id=&…