Totoro
Гуру-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Totoro
-
Как использовать несколько одинаковых компонентов?
Totoro ответил в вопрос vlad3 в Разные (отсортировать)
Написано же там - "вики устарела". И ссылка даже есть на актуальную версию. Конкретно нужная статья: https://ocdoc.cil.li/api:component Более того, есть русский перевод (возможно немного устаревший, но тем не менее): https://minecraft-ru.gamepedia.com/OpenComputers/Component_API- 3 ответа
-
- 2
-
-
Можешь. Для этого не нужна настоящая многопоточность. Почитай про корутины в Луа, а также глянь на библиотечку threads из OpenOS.
- 5 ответов
-
- lua
- multithreading
- (и ещё 1 )
-
Фингер тут неожиданно решил сдуть пыль со своего старого аккаунта и порешать задачки на HackerRank. А кто-нибудь еще им пользуется в настоящее время?
-
В случае ComputerCraft причины примерно те же. Можно тоже попробовать поиграть с os.sleep() с разной продолжительностью (ноль уже не поможет). Можно попробовать использовать хак типа такого: os.queueEvent("fakeEvent"); os.pullEvent(); Тоже внутри цикла. Про ComputerCraft я знаю меньше, руководствуюсь гуглом, так что тут надо экспериментировать.
-
Программы на OpenComputers должны иногда переключаться на всякие свои внутренние задачи. Но пока твоя программа единовластно занимает поток выполнения - это невозможно. Отсюда ошибка "Too long without yielding" - то есть "Слишком долго без передачи управления". Чтобы позволить системе компьютера заниматься своими делами, необходимо добавить либо event.pull, либо os.sleep. Причем достаточно слипа на 0 секунд: os.sleep(0); Добавь это в любое место цикла - и проблема решится.
- 3 ответа
-
- 2
-
-
Ну просто это актуально только если ты уже знаешь Делфи, и тебе нужно найти работу. А начинать изучение программирования с Делфи - мне кажется - не самая лучшая идея. Это как запрыгнуть в списанный тепловоз стоящий на запасных путях. Там может быть комфортно, но далеко ты уже не уедешь. Руби - такой же уходящий язык как и Делфи. Луа - это очень нишевый скриптовый язык, который не все любят, почему-то. Scala - тоже язык который занял очень маленькую нишу - в основном интерпрайз / биг дата. В этой области 90% занято Java, и Scala удержалась за счет того, что под нее, на пике популярности, было создано несколько очень крутых фреймворков. ну а Rust - это новый язык, который только набирает темпы. У него довольно много конкуренции - тот же Go, поддерживаемый со спины корпорацией Google. Rust пользуется популярностью у программистов, и я думаю будет постепенно подниматься в рейтинге. (В этом году он занял Тор-1 позицию как "самый любимый язык" в опросе StackOverflow.) Delphi - это язык который держится в топе за счет большого объема кода, который был на нем написан в годы его расцвета. Но как несложно заметить, позиции он постепенно теряет. Основной плюс Делфи, который обычно называют - очень быстрая и удобная разработка десктопных приложений - стал относительно неактуален в последние годы, а больше нигде особенно Делфи не применим, так как есть конкуренты, которые делают это лучше и быстрее. В том же опросе от StackOverflow он попал в топ языков, которых программисты "боятся". Наряду с Visual Basic, Assembler, Perl, Cobol (и, почему-то, C и Lua =)). Какого черта в топе делает Visual Basic.NET - я вот не понимаю. Наверное черное шаманство Microsoft играет какую-то роль в этом загадочном факте.
-
Нет. В OpenComputers для этого надо использовать два отдельных компьютера. В реальном мире эффективнее всего запустить два потока в основной программе (например на Си) и запустить интерпретатор Луа в каждом из этих потоков (хотя не вижу в этом особого смысла).
- 5 ответов
-
- 1
-
-
- lua
- multithreading
- (и ещё 1 )
-
Не соглашусь с последней фразой. Паскаль (и Делфи в частности) очень давно и очень сильно уступают современным языкам. Нового программного обеспечения на них не разрабатывается, либо разрабатывается единицы, и основная масса вакансий - это поддержка какого-нибудь жуткого легаси. Немного не та ниша, в которой имеет смысл строить карьеру в 2018 году. Если глянуть на рейтинг TIOBE например, видно что Делфи быстро теряет позиции. Пик популярности приходился на 2001 год, и давно прошел. В общем, я не вижу ни одной причины выбрать Делфи, а не, скажем, Java / C#.
-
Я в принципе начинал изучать программирование как раз с Turbo C. Вполне реальный старт. Нужна конечно некоторая усидчивость, чтобы внимательно вкуривать во все низкоуровневые концепты. На Луа стартовать тупо проще.
-
Паскаль хорош для "акачемического" изучения. Чисто освоить основные приемы программирования, понятия и конструкции. Но я бы не стал сейчас уже возиться с Паскалем. Для первоначального изучения Lua очень хорош. В нем нет ничего лишнего, начать легко. Но в тоже время есть достаточно глубины, чтобы долго было не скучно. Есть много возможностей для наглядного программирования, с получением осязаемого результата: можно писать под OpenComputers, можно делать игры на Love2D, и так далее. В США в некоторых школах использовали Python. С ним будет сложнее разобраться в плане "как установить, как применить", особенно на Windows. Но в плане синтаксиса он хорош. И подходит для изучения. Можно писать игрушки на Pygame, или Renpy (например). Плюс это реальный промышленный язык, на который потом можно найти хорошо оплачиваемую работу. Имеет смысл посмотреть и в сторону Java, (imho). Язык достаточно простой, сразу знакомит с парадигмой ООП. Применений - огромное количество. От модов к тому же Minecraft, до создания веб-приложений и приложений под Android. Игры тоже можно делать - на LibGDX или сразу на LWJGL (на котором сделан Minecraft, кстати). Опять таки, это промышленный язык с большим количеством вакансий. И есть куда расти в нише JVM - можно изучить Scala, например. Для любителей хардкора можно глянуть на Rust. Мне кажется это лучший вариант, если вас тянет на низкоуровневое программирование. Кривая обучения покруче, чем у большинства других языков, но опять таки - ничего сверхестественного. Язык активно развивается, уже имеет промышленное применение, и дальше будет больше. Если чувствуется влечение к вебу - надо курить JS. Он немного нелогичный, и с крайне запутанной инфраструктурой, но базовый уровень изучить несложно. А применить JS сейчас можно почти везде. И в вебе, и на десктопе, и на мобилках. Опять таки - промышленный язык, и в будущем легко будет найти работу. Ну вот кажется и все основные языки, на которые имеет смысл обратить внимание, выбирая, что бы такого изучить.
-
Ну и не стоит забывать про всякие фреймворки типа этого: https://ionicframework.com/ На JS можно писать почти где угодно, если есть желание.
-
JavaScript можно использовать везде, где есть виртуальная машина JS. Например в игровом движке Unity.
-
А, точно. Но это я просто на Ленина намекал.
-
И цвета надо не зелено-желтые - а красно-желтые.
-
Какой исходный формат моделей? Вообще, мне кажется, оптимальный способ - это отмасштабировать исходную модель, в первоначальном формате (или в формате *.obj). Для этого нужен обычный 3D редактор - Blender, 3D Max, Cinema 4D, Maya - что-то такое. А уже потом конвертировать.
- 65 ответов
-
Тебе ведь все равно придется какой-то доступ к данным организовывать. А если компьютер с таким доступом скомпрометирован - то злоумышленник точно так же как и ты сможет добраться дл инфы. Единственный плюс - это возможность отрубить доступ к информации постфактум - уже после обнаружения взлома. Но если хакер более менее соображает - первое что он сделает это сольёт информацию. Так что, главной задачей все равно остается защита основного компа.
-
256 байт - это 256 раз по 256 значений. Это . Я думаю будет достаточно нелегко перебрать их все. Учитывая, подписаться можно на любой совершенно ID (сервер не скажет тебе сколько на этом канале клиентов), и сообщения могут идти не постоянно, а, скажем раз в две минуты, надо будет не только подписаться на канал, но и подождать немного. Если тратить на каждый канал по две минуты, это будет лет на полный перебор. " Чтобы придать всему проекту более традиционный вид, можно разбить ID на два поля - 56 байт логин и 200 байт пароль. Но согласись что это будет по сути то же самое. Каждый канал будет определяться уникальной комбинацией "логин + пароль", то есть теми же 256 байтами. Я решил не усложнять. Для публичного канала можно взять например ID "Evil-Reactor". Для приватного канала - ID "you will never guess this ID". И будет работать вполне хорошо. А еще надо учитывать, что ID не имеет ограничения по допустимым символам. Можно взять любые значения байтов, от 0 до 255. Например так: local id = string.char(1, 0, 0, 0, 0, 0, 200, 200, 200, 13, 14, 64, 89) ID из 13 байт. Причем часть вообще "непечатные".
