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

AtomicScience

Пользователи
  • Публикации

    85
  • Зарегистрирован

  • Посещение

  • Победитель дней

    15

Сообщения, опубликованные пользователем AtomicScience


  1. Также можно использовать unmanaged диски - это позволит исключить почти что все временные затраты, связанные с задержками вызовов диска, поскольку почти все операции, кроме переноса головки на большое расстояние, выполняются на нем мгновенно

    • Нравится 1
    • Одобряю 1
    • Спасибо 3

  2. Хорошие новости для многочисленных фанатов UMFAL - вышла версия 2.0! Помимо добавления небольшого количества фич, была написана подробная документация на двух языках, также появились примеры кода.

     

    Подробное описание возможностей библиотеки, а также подробно задокументированные примеры - на Github:

    Репозиторий проекта

    • Нравится 3
    • Спасибо 1
    • Грусть 1

  3. Возможные способы увеличения количества компонентов:
    1) Установка более продвинутого процессора

    2) Если использовать в качестве компьютера сервер - установка шин

    • Нравится 4
    • Спасибо 1

  4. Постойте, но дискеты же можно пометить Read-only, разве это не должно решить проблемы с установкой?
    (Ctrl + ПКМ на блоке с дискетой в руках)

    image.png.5506ea604cb14ae17fc594c760e5db67.png

    • Нравится 3

  5. У Filesystem API есть замечательный метод `mount`:
    image.png.efe7872180dc59840559b2fea279de62.png

    Если передать ему объект, который полностью воссоздает (т.е. содержит все методы компонента Filesystem - простого жесткого диска), то ОС будет считать твой лже-диск настоящим - ведь он полностью копирует методы диска настоящего.

     

    И уже в объекте ты можешь реализовать хранение данных как тебе хочется.

    • Нравится 1

  6. 1 минуту назад, BrightYC сказал:

    сделать внутри песочницы свой TLWY, блокирующие вызовы - подменить, стандартный while true do end отлавливается pcall'ом.

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

    • Спасибо 1

  7. 30 минут назад, BrightYC сказал:

    строго говоря, даже "доверенность" сети не обязательна. Просто запускать код в песочнице - и пусть делает там что хочет.

    Ну, доверенность призвана защищать не от вредительского кода типа filesystem.delete("/"), а скорее от недостоверной информации и спама. Вдруг кто-то начнет рассылать порно-баннеры, блокирующие компьютер бесконечным циклом?

    • Спасибо 1

  8. Наверное, достаточно создать глобальную переменную-обьект, в которую можно поместить все данные приложения, и при запуске программы просто проверять её наличие. Если она есть - восстанавливать состояние приложения из нее, если нет - запускать сначала. Все фоновые обработчики событий работают с этим объектом и обновляют его состояние при, например, получении нового сообщения

     

    А если эту загрузку/сохранение состояния реализовать с помощью файла, который можно поместить в /tmp или отдельную директорию на диске, можно не волноваться за потенциальные проблемы со сборщиком мусора и загружать состояние приложения, может быть, даже после перезагрузки

     

     


  9. 13 минуты назад, Del сказал:

    Так ещё неудобнее. Ты например в "/home/libs/whatalib/main/additions" что-то делаешь, и тебе приходит сообщение. И тебе приходится идти обратно в "/home" и писать chat.

    Проблема решается добавлением chat.lua в /bin


  10. 4 часа назад, Lex сказал:

    подскажите пожалуйста, а как открыть командную строку, если уже установил ОС (pastebin run 0nM5b1jU) ?

    Только начал знакомство с этим офигенным модом )

    Нужно нажать "MineOS" в верхнем левом углу -> Выйти
    image.png.71859d06a4690cee594049ad925c724c.png

    Помню, раньше эта кнопка выходила в консоль, но сейчас почему-то этот вариант не работает, похоже, дело в том, что теперь MineOS является Standalone системой, и из нее такой функционал просто выпилили. Надеюсь, @ECS объяснит подробнее

    • Нравится 1
    • Спасибо 1

  11. 11 минуту назад, ECS сказал:

    ...

    Странно... Просто я считал, что этот курс - мой единственный источник знаний по Git. Сейчас я его тоже перечитал, и понял, что теории там действительно нет, вообще.

     

    Похоже, уровень у меня был ни разу не "околонулевой", как я считал, и где-то до этого я добирался знаниями.

     

    В любом случае, думаю, в качестве курса-компаньона для закрепления знаний, полученных из вышеупомянутой книги, сойдет

    • Нравится 1

  12. Но я все-таки советую хотя бы минимально освоиться в Git, чтобы не было "я нажимаю непонятные кнопки, ввожу непонятные команды, и оно работает, вроде". Для этого рекомендую следующий интерактивный курс: https://githowto.com/ru. Здесь именно новичковая база, начало проходится за вечер, и этого достаточно для уверенной работы в одиночку в одной ветке без всяких продвинутых приколов.

     

    Если же хочется именно вгрызться в гранит науки, стоит прочесть книгу - https://git-scm.com/book/ru/v2 . Здесь все тоже с нуля, но с уклоном в теорию, конечно же

     


  13. 1 час назад, kaka888 сказал:

    Кстати, ещё вопрос про организации. В моём случае есть смысл их создавать там? Или они вообще для другого?

    Если нужно сохранить резервную копию проекта / работать совместно с кем-то / работать на нескольких ПК, то да, смысл имеется.

     

    Если все вышеперечисленное неважно, и работа не ведется с помощью Git уже сейчас, то это просто лишняя трата времени на создание, настройку и поддержку репозитория. Если локальный репозиторий уже есть - он загружается в пару кликов, то тогда почему бы и не загрузить?

    • Нравится 1

  14. 35 минут назад, hohserg сказал:

    А загруженные модули не кешируются как библиотеки OpenOS? А если кешируются, то можно переключить эту фичу?

    Они кешируются в объекте приложения.

     

    Соответственно, каждый раз, когда мы запускаем run.lua, создаётся новый объект с чистым кешем. Руками ничего выгружать не нужно

    • Нравится 1
    • Спасибо 1

  15. Не знаю, как у вас, а у меня есть один пунктик - весь код должен быть аккуратненько разложен по маленьким файликам. Ну, или не очень аккуратненько... Но в любом случае, файлы размером более ста строк для меня уже становятся сложночитаемыми, и я предпочитаю их разбивать на два и более.

     

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

    Короче говоря, встречайте Unified Multi-File Application Loader, сокращенно UMFAL

     

    UPD: вышла версия 2.0! Помимо добавления небольшого количества фич, появилась подробная документация на двух языках, а также примеры кода.

     

    Подробное описание возможностей библиотеки, а также подробно задокументированные примеры - на Github:

    Репозиторий проекта

     

    Команда для загрузки (wget)

    wget -f https://github.com/AtomicScience/UMFAL/releases/latest/download/umfal.lua /lib/umfal.lua
    

     

    • Нравится 6
    • Грусть 1
×
×
  • Создать...