Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 26.08.2022 во всех областях

  1. 4 балла
    Ваша программа требует особую версию какой-нибудь библиотеки и мешается другим программам в системе? Опасаетесь, что необходимые библиотеки потеряются в истории? Надо разворачивать одно и то же окружение на много опенкомпов?* Представляю вашему вниманию программу, позволяющая собрать программу и все её библиотеки в один файл! wget -fq https://raw.githubusercontent.com/ProgramCrafter/lua-utils/main/half-docker/enum-files.lua Программа, сохраняющая "образ" файловой системы компьютера, на котором запущена. Чтобы не сохранять образ всей OpenOS, сохраняется только разность между корневой папкой и дискетой с чистой OpenOS. Путь к этой дискете необходимо прописать на строке 6. Образ сохраняется по пути /home/archive.bin. wget -fq https://raw.githubusercontent.com/ProgramCrafter/lua-utils/main/half-docker/unpack-files.lua Программа, распаковывающая образ поверх файловой системы. Осторожно, не открывайте зловредные архивы, потому что они могут затереть даже EEPROM (указав путь для распаковки /dev/eeprom)! wget -fq https://raw.githubusercontent.com/ProgramCrafter/lua-utils/main/half-docker/container.lua Сам полу-докер - скрипт, позволяющий запустить программу с подменой её файловой системы на образ. Так как OpenOS не записывается в образ, этой программе тоже необходимо указать путь к дискете с чистой OpenOS. Подменяется только io.open - to be fixed soon, потому что из-за этого могут грузиться неправильные версии библиотек. Образ является read-only - неясно, каким образом фиксить это. *Kubernetes (для управления множеством контейнеров) в комплект поставки не входит.
  2. 3 балла
    Добавлена экспериментальная поддержка PNG! Разумеется, обычная библиотека graffiti не подходит - нужно использовать патч, улучшающий производительность. wget -fq https://gist.githubusercontent.com/ProgramCrafter/d1b279aec9e473794df115d1301dcb27/raw/9048fa36feaaedccecf54c7ae626174af17abb42/graffiti.lua /usr/lib/graffiti.lua Картинка откопана на форуме)
  3. 2 балла
    Я обновил и выложил либу Из изменений: функция для очистки экрана круги https://github.com/4x4x8/my_stuff_for_computercraft/blob/main/Drawify/Drawify.lua
  4. 1 балл
    О нарушении лицензии на код OpenComputers. Программы, входящие в состав OpenComputers, распространяются по такой лицензии: https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/LICENSE Код почти не был изменён по сравнению с https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/irc/usr/bin/irc.lua, но какая-либо пометка о лицензии, включая дисклеймер "AS IS", на https://pastebin.com/vjF5MSkR отсутствует. Возможные пути поправить (чтобы не было просто хейтом): переписывать код с нуля / вставлять эту лицензию в каждый из выкладываемых файлов / собрать выкладываемые файлы в какой-нибудь репозиторий "OpenComputersLocalized" и поместить лицензию там.
  5. 1 балл
    OutStringStream, используемый в библиотеке, на добавление каждого символа пересобирает строку. Так как строки в Lua неизменяемы, это приводит к копированию строки O(n) раз, давая суммарную сложность O(n^2). Альтернативная реализация, меньше страдающая от этого недостатка: local outssmt = {} ----143 function outssmt:__call(write) self.buf[#self.buf + 1] = string.char(write) end function outssmt:__index(k) if k == 'str' then self._str = self._str .. table.concat(self.buf, '') self.buf = {} return self._str end return nil end function outssmt.OutStringStream() local outss = {_str="", buf={}} setmetatable(outss, outssmt) return outss end
  6. 1 балл
    Если экран полностью заполнить чем-то ярким, то довольно просто увидеть, что начинается не сразу внутри границы синей рамочки, а с небольшим отступом. А дальше остаётся просто пролистать код рендерера и найти размер отступа этого.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...