Привет! Мы — Tasty Coffee. Каждый месяц обжариваем, упаковываем и доставляем кофе тысячам покупателей и кафе по всей России. Формально кофейные зерна хранятся до двух лет, но в реальности они остаются свежими только один-два месяца после обжарки. Дальше с каждым днем во вкусе появляется больше неприятной горечи, а аромат кофе улетучивается. Поэтому мы стремимся, чтобы зерна приезжали быстро и максимально свежими, но при этом без путаницы в заказах.В первые годы было попроще: заказов мало, поэто…
Одна из самых частых забав ретрогеймера-электроника — сделать что-нибудь со старыми джойстиками. Вот и сделаем! Это простейший материал для начинающих самоделкиных, на грани треш-контента и на радость одному Доктору, но с познавательными элементами, которые могут или не могут пригодиться на практике. Будем курочить джойстики от старых игровых консолей, не приходя в сознание. Из двух проводных джойстиков сделаем один, другой джойстик лишим провода, а ещё пару просто подключим проводами. По сут…
В статье я простыми словами расскажу о схемотехнике однотранзисторного усилительного каскада с улучшенными характеристиками. Рассмотрим назначение каждого элемента схемы. Каскад можно использовать как входную часть усилителя мощности звуковой частоты или как самостоятельный предусилитель с батарейным питанием, например, встроенный в микрофон или в электрогитару. Это позволит улучшить соотношение сигнал/шум и упростит задачу оцифровки, так как по сигнальному кабелю будет передаваться сигнал боль…
Довольно часто при расследовании инцидентов информационной безопасности в инфраструктуре заказчика обнаруживается, что учетные записи пользователей мессенджера 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.…