Pull to refresh
4
0.3
Юрий Котов @demoth

User

Send message

В Python, кстати, такая либа уже есть из коробки:

>>> from fractions import Fraction
>>> Fraction(1, 10) + Fraction(2, 10)
Fraction(3, 10)
>>> Fraction('0.1') + Fraction('0.2')
Fraction(3, 10)
>>> float(Fraction(1, 10) + Fraction(2, 10))
0.3

Мне ещё вот эта библиотека для телеграм-ботов нравится: https://github.com/tucnak/telebot

Спасибо! Передам автору текста (он тоже своего рода SCP - "генеративный искусственный интеллект"). ;-)

Ну да, пожалуй. Вообще, к ███ сложно правило коробки применить, потому что это не материальный объект, чтобы его можно было в коробку убрать.

Ну как же он безопасный? Оставил коробку подальше, а люди взяли, начитались [УДАЛЕНО] и пошли власть свергать. :)

Объект SCP-███: "Виртуальная Приватная Сеть"

Класс объекта: Евклид

Особые условия содержания: Доступ к SCP-███ должен быть ограничен только сотрудниками уровня 4 и выше. Все данные, передаваемые через SCP-███, должны подлежать строгому контролю и анализу безопасности. Использование SCP-███ в личных целях сотрудниками запрещено. Любые попытки использовать SCP-███ для [УДАЛЕНО] должны немедленно пресекаться, а виновные лица подвергаться дисциплинарным мерам.

Описание: SCP-███ представляет собой комплекс технологий, позволяющих создавать защищённый шифрованный канал связи между двумя и более точками в сети Интернет, скрывая при этом истинные IP-адреса устройств и данные о трафике, проходящем через этот канал. Считается, что SCP-███ был разработан с целью обеспечения повышенной конфиденциальности и безопасности данных.

SCP-███ имеет способность "маскировки", что позволяет пользователям казаться, как будто они подключены к Интернету из другой географической точки. Эта особенность SCP-███ оказалась особенно полезной в средах с ограниченным или цензурированным доступом к информационным ресурсам, хотя первоначальное назначение SCP-███ не включало [УДАЛЕНО].

Примечание: На данный момент исследователи Фонда пытаются разработать методы, которые могли бы нейтрализовать потенциальную угрозу, исходящую от неправомерного использования SCP-███ для [УДАЛЕНО]. В связи с этим, все операции с использованием SCP-███ подлежат строгому регулированию и контролю.

Важно отметить, что SCP-███ может быть использован не только в злонамеренных целях. Многие организации используют SCP-███ для обеспечения безопасности корпоративной связи и защиты передаваемых данных. Однако, в силу своих способностей к [УДАЛЕНО], SCP-███ был классифицирован как объект Евклид и требует соответствующих мер безопасности и контроля.

Теперь, благодаря этой оптимизации, можно статически сохранить все 765 возможных состояний игры в 1435 байтах. А текущее состояние уже "удобно" хранить в 10 битах. (шутка)

Ну оно и так не шибко сложное, если честно - `certbot --nginx` и всё. Но выглядит интересно, посмотрю. Спасибо.

Пробовал перейти на Caddy для своих домашних проектов. Понравилось, что он автоматически получает https-сертификаты, но вот конфиг, честно говоря, вообще не показался простым. Да и памяти он потребляет сильно больше (для меня критично, потому что пользуюсь самими дешёвыми VPS).

В общем, мне кажется, nginx всё же лучше. По крайней мере для простых случаев (статика, reverse proxy): очень быстрый, надёжный, есть пакеты во всех мыслимых дистрибутивах, с кучей инфы на том же stack overflow.

Хм, интересно, надо будет попробовать.

Go скачивает только исходный код зависимостей и компилирует всё статически. Место занимают только код и объектные файлы в кэше после компиляции. Я вообще сомневаюсь, что он в принципе с готовыми бинарями умеет работать на уровне go mod.

Мне кажется, мы говорим о разном. Настолько я понимаю понятие контекстно-свободной грамматики - это грамматика, в описании которой в левой части правил всегда один нетерминальный символ. И грамматика го этому вполне соответствует. Есть например случаи типа вызов функции vs приведение типа. На уровне грамматики отличить одно от другого не выйдет, поэтому в процессе построения AST понадобится таблица символов. Но можно в принципе обойтись и без неё на этапе парсинга и отдать дальнейшие проблемы на уровень семантического анализа, где проверяются типы и всё такое.

Golang такой: ну да, ну да, пошёл я нафиг... (Ну ладно, он совсем чуточку не дотянул, но максимально близок к context free).

Было бы интересно почитать продолжение. Управление памятью, мне кажется, вообще мастхев. Классы, имхо, чуток оверкил. Можно, например, структуры с методами + интерфейсы. В этом случае будет охвачена довольно интересная тема про инкапсуляцию и таблицы виртуальных функций, но при этом вполне можно обойтись без наследования, полиморфизма и ограничений доступа (private/protected).

Было бы круто добавить поддержку ARM64, чтобы можно было на бесплатных виртуалках в Oracle Cloud поставить. Сейчас оно при попытке установить амнезию на такую виртуалку пишет, что всё успешно, но при попытке подключиться зависает. Если зайти на сервер, то в journald видно, что контейнер стартануть не может.

Вроде, даже без уточнения может

Что это значит?

Нет удобного универсального способа скачать и начать использовать зависимости. Для каждой либы приходится искать индивидуальный подход.

В Go, например, это делается одной командой: go get. К сожалению, есть и обратная сторона - Go очень плохо дружит с либами, которые написаны на не-Go. Настолько плохо, что есть и реально используются тулзы, которые транслируют код из C на Go. Например, для того же SQLite.

Приведу бенчмарки из репозитория https://github.com/joomcode/errorx:

Тут из-за двоеточия ссылка получается невалидной.

По бенчмаркам видно, что сбор стека занимает ~1 мс в среднем при глубине вызова в 100. Цифра приличная, если рядышком у вас нет вызовов базы данных по 100-200 мс.

По таблице кажется, что худший случай это 0.5мс для наивной реализации. В случае эффективной реализации получается ~4мкс (BenchmarkStackTraceErrorxError100), что уже сложнее сравнивать с IO, мне кажется.

Спасибо за статью! Давно хотел разобраться в SSA хотя бы немного, но всё руки не доходили. Понял (надеюсь, что правильно) наконец как работают Ф-функции. На самом деле, оказалось даже проще, чем мне казалось. В этом примере, где Ф-ноды зависят от других Ф-нод, сразу понял что дело в том, что значения из предыдущего блока берутся и нет никакой разницы в порядке вычислений внутри блока.

Information

Rating
1,781-st
Registered
Activity