habrahabr
Угон аккаунтов в Telegram: схемы, о которых все должны знать

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

  • пятница, 14 марта 2025 г. в 00:00:16
golang
Запускаем код на Go снизу вверх

Всем привет! В продолжение прошлой статьи, где мы залезли в компилятор Go и разобрались в его работе, добавив поддержку while на уровне компилятора, я хочу чуть глубже погрузиться в тему. Советую прочитать ту статью, если вы еще не сделали этого.В этой статье, как небольшое дополнение к предыдущей, я хочу рассмотреть, как Go работает с AST, и заодно реализовать конструкцию InverseCode{} (название Inverse оказалось занято пакетом math), которая будет читать код снизу вверх.Вот примерный результа…

  • пятница, 14 марта 2025 г. в 00:00:15
golang
Go 1.24 — swiss tables новая реализация map

различные модели потребления памятиВ Go 1.24 встроенная реализация map была полностью переработана и теперь основана на Swiss Table. В этой статье мы рассмотрим, какие преимущества даёт Swiss Table по сравнению с традиционными хеш‑таблицами.В приведённом выше графике мы видим заметно различающиеся модели потребления памяти между SwissMap и встроенной картой (map) в Go. Для сравнения также включено потребление памяти массивом, хранящим тот же набор данных. Потребление памяти стандартной реализац…

  • пятница, 14 марта 2025 г. в 00:00:14
javascript
Галилео Галилей и вычислительная физика: забавная предыстория создания симулятора Пизанской башни

Однажды, в курсе "Математические модели физической реальности" я предложил студентам "поиграть в Галилея". То есть, повторить его натурные эксперименты с падающими телами и определить из экспериментов величину ускорения свободного падения.Согласно общепринятой легенде, "экспериментальной установкой" для одного знаменитого опыта Галилею служила всемирно известная Пизанская башня высотой приблизительно 50 метров.Фотография "падающей башни". Город Пиза, Италия.Одн…

  • пятница, 14 марта 2025 г. в 00:00:12
javascript
Особенности национальной верстки: PWA

Всем привет! В этой статье мы не будем в очередной раз размышлять о том, почему бизнес и пользователи все чаще начинают отдавать предпочтение PWA вместо мобильных приложений, какие у них есть плюсы, минусы и так далее.Сегодня мы сосредоточимся на проблемах (а точнее на одной конкретной), с которой вы можете столкнуться, решив сделать свое веб-приложение прогрессивным.Забегая вперед, сразу скажу, кому статья может быть полезна. Не столько важно, являетесь вы владельцем продукта или разработчиком…

  • пятница, 14 марта 2025 г. в 00:00:11
javascript
Производные в реактивности

С этой статьи я начну цикл материалов, посвященных базовым концепциям реактивности, основанных на идеях и примерах, которые подробно изложил автор SolidJS, Райан Карниато (Ryan Carniato), в своем блоге. Наша цель — разобрать фундаментальные принципы, лежащие в основе реактивных систем, и показать их применимость в различных контекстах.Обычно, когда вы впервые сталкиваетесь с реактивной системой, вводный пример выглядит примерно так:let name = state("John"); effect(() => { console.…

  • пятница, 14 марта 2025 г. в 00:00:10
javascript
Алгебраические эффекты на Javascript

Первоначально в этой статье я хотел рассказать об интересном подходе к построению программ, описанному в книге Sandy Maguire, Algebra-Driven Design. Подход позволяет строить программы на основе абстрактных математических структур и законов. Это позволяет разработать обобщенные подходы к их созданию и тестированию. Но потом я понял, что в этом мало смысла без объяснения, почему такой подход в принципе имеет право на существование. В книге для примеров используется Haskell - ленивый, чистый функц…

  • пятница, 14 марта 2025 г. в 00:00:09
javascript
TypeScript 7 в 10 раз быстрее: анонс нативного компилятора TSGO

11 Марта вышел аннонс Typescript 7, в котором рассказали о разработке нового tsgo компилятора.Андерс Хейлсберг (разработчик языков TurboPascal, C#) объявил о следующем этапе в развитии Typescript, направленном на кардинальное повышение производительности. Основная ценность Typescript — это удобный опыт разработки, с ростом кодовой базы эта ценность становится всё более очевидной. Но, как показала практика, текущая реализация часто не справляется с очень крупными проектами. Разработчики сталкива…

  • пятница, 14 марта 2025 г. в 00:00:08
javascript
Интерактивные метки на изображении JS

Всем привет! Меня зовут Артем, я начинающий разработчик и это мой первый пост, прошу не судите строго.Хочу поделиться своим скриптом, который позволяет создавать адаптивные изображения с интерактивными метками.Скрипт по умолчанию поддерживает до 50 меток на изображении.Посмотреть код и скачать исходники можно на GitHubДля начала работы необходимо подключить файлы artag.css и artag.jsВ HTML документе создаем блок с интерактивными метками на изображении:<div class="ar-inter-block" id=&…

  • пятница, 14 марта 2025 г. в 00:00:07