Перейти к публикации
Форум - ComputerCraft

Seryoga

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

    89
  • Пожертвование

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

  • Посещение

Репутация

182 Хороший

8 подписчиков

Информация

  • Пол
    Мужчина
  • Город
    Saint-Petersburg
  • Интересы
    Development and research
  1. Seryoga

    "Блютуз" на модеме

    Почему не использовать бы более свежие штуки, например ftp-client ftp-server?
  2. Полазив по этой теме я не нашёл ни одной ссылки на github, bitbucket или ещё на какой-нибудь хостинг кода. Чтобы можно было посмотреть его или скачать и запустить его. =( Могу утверждать точно, что найдутся люди, которые пару минут потыкают в твой ui, если ты скинешь ссылку на туториал о том как поставить твой wm. А вот априорно сказать, что кто-то будет намеренно искать баги, невозможно. Так как у всех тут есть учёба, работа или ещё какие-либо дела. Вроде как написал Объективное мнение.
  3. Эта фича является под фичей фичи 5, которую RccHD обещал сделать. Если в i3 нажать 'mode' + W, то все окна примут вид горизонтального стека. Так видно только одно окно, a остальные прячутся за ним:
  4. Я имел в виду, что у вас сейчас на разделение тратится 2 пикселя. А можно тратить 1, если сделать рамку общей для соседних окон. То есть сначала размечаем сетку. А затем отдаём ячейки программам на использование. Если я не прав в первом утверждении, то не могли бы вы скинуть скриншот текущей версии wm?
  5. Можно как-нибудь пощупать, тот wm что ты сделал? Пожелания по тому, что я увидел на скриншотах из поста. Можешь сделать возможность изменять ширину рамки окна? Например у тебя сейчас у тебя 2 пикселя хотелось бы сделать 1 или вообще убрать Можешь сделать workspaces и разных пользователей (linux: ctrl + alt + Fi)? Можешь сделать язык раскладки компьютера независимым от реальной раскладки? Можешь сделать настраиваемую панель инструментов? Чтобы пользователь сам мог туда поместить номер воркспейса, язык, майн-время, реальное время, кол-во занятой/свободной оперативки и тп. Можешь сделать шапки окошкам и дать возможность окошкам стакаться, разными способами? Можешь поддерживать горячие клавиши из i3 и дать возможность создать свои? Можешь сделать возможность поставить заставку, фон рабочего стола? Так же дать возможность разработчику приложения сделать полупрозрачные окна? Можешь сделать консоль с настраиваемым шрифтом и фоном? Можешь сделать полноценную однострочную консоль запускаемую используя горячую клавишу? По типу той что запускается в i3 на 'mode' + D (только в i3 это не консоль, но ты сделай консоль =)) Можешь сделать возможность изменения размеров окна мышкой, а так же дать возможность программисту делать перетаскиваемые окна. Например отчёт об ошибке или предупреждение так лучше выглядит. (окошечко с одной кнопкой ОК) А у тебя поддерживаются несколько мониторов? псы, ты точно пишешь ОС?
  6. Нормальные программы не должны слушать этот эвент, а должны просто перерисовываться используя значения размера окна.
  7. Даже если это так, то ты наверное понимаешь, что это всё равно не сравнимо с чтением объекта по ссылке.
  8. Переменная весит сколько весит ссылка в ОS. А вот объект на который ссылается переменная весит в зависимости от типа. Как ты понимаешь ссылка это не объект на стеке и она ссылается на объект в твоей мапе который ты и так хранишь. nil помогает в том случае если у тебя переменная находится в скопе из которого ты часами не выходишь.
  9. RccHD немного не убедительно написал, я попробую его поправить. выполнение buffer.currentFrame[index] -- обращение к переменной buffer -- обращение к полю объекта. Но мы имеем дело с lua, по-этому buffer это HashMap а currentFrame это ключ. - расчёт hash("currentFrame") - определение смещения по хешу - выборка списка (может дерева) элементов по смещению из массива - разрешение коллизий (дорого) - ... -- выборка из полученной таблицы элемента с индексом, что приводит к 'см выше' -- если вы 'lucky boss' то разрешение кеш промахов (это очень затратная операция) выборка значения переменной -- если интерпретатор lua переменную положил на стек, то это бесплатная операция, иначе: - чтение данных из ОЗУ (если есть кеш, то это тоже почти бесплатная op) - в худшем случае разрешение 1 кеш промаха Мне что-то подсказывает, что выполнять операцию (1) много раз не стоит. Если у вас есть проблемы со своевременной очисткой памяти, то можно вручную вызвать сборку мусора. Но таких проблем быть не должно. Мне кажется, что кто-то просто забывает писать ключевое слово local. И переменная весит ровно 64 бита. Если у вас локальная переменная долго живёт а объект который по ней находится больше не будет использоваться, то можно написать var = nil. И gc, по возможности, удалит объект, на который ссылалась переменная. А сама ссылка удалится как закончится её область видимости (без gc).
  10. Seryoga

    Яндекс.переводчик

    О халявный ключик для Яндекс-переводчика =)
  11. Это топ идея: Написать бота который будет искать сервера майна с определёнными модами. На найденном сервере регистрируется и заходит на него. Дальше собирает нужное количество ресов и строит робота. В робота закладывает программу, которая сможет развернуть ферму с учётом ттх сервера. И так в цикле while (true)
  12. Это вы рассказываете где нужно наследование, а не о том где не нужно наследовать все методы.
  13. Чем вам не понравилось стандартное исполнение классов в lua? Можно ли в runtime узнать является ли объект чьим-либо наследником или нет? Создание приватных полей и методов похоже на один огромный костыль. Почему если вы не понимаете зачем нужны те или иные фишки языка, то человек который их использует -- извращенец? Мне кажется вы никогда и ничего не писали на c++ или java. Основное приимущество слов private, public, protected и тп. это статическая или очень ранняя динамическая проверка наличия ошибок в программе. static нужен для создания общей памяти для всех классов. Также эти маркеры помогают размечать память объекта, но для луа это не актуально. Насчёт извращенцев, когда вам потребуется наследовать не все методы из родительского класса? Знаете что такое singleton? Как его создать используя вашу библиотеку? Как создать несколько singleton'ов в одном пакете? Есть класс MyClass. Нужно создать метод класса, который создаёт новый объект класса MyClass и что-то с ним делает. Как это сделать? Как переопределить операторы +, -, / и тп.? Нельзя ли избавиться от двойной скобки, используя vararg? ​local Player = Class({ ... }) Какой код сложнее? local myObject = (function() local secretString = "это приватная меременная без всяких заморочек" return Class({ -- класс без конструктора publicString = "а это публичная переменная!!!" }) end)() или local MyClass = Class({ "public", public_field = "abc", "private", private_field = "def" }) Как думаете почему создатели языка lua отказались от классов?
×