Как стать автором
Обновить
27
0
16tomatotonns @16tomatotonns

Lua, python, прочие скрипты, сишка. Чутка GLSL.

Отправить сообщение

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

Вообще, подобные вещи можно решить несколько проще:
1. Второй монитор с документацией на удивление творит чудеса, очень советую : )
2. Динамические системы автодополнения. Надо, правда, постараться, но когда набираешь httpd. - оно сразу может выводить ряд подсказок включая описания, аргументы и даже примеры, правда, для ООП может потребоваться определенное соглашение для именования этих объектов, чтобы подсказки работали по самому тексту.

Звучит как обратная польская нотация

Вообще, технически, он как бы косвенно рекурсивный, т.к. алгоритм делает выборку вершин графа соседних от "текущей", а потом для каждой из выбранных производит те же операции. То есть, технически, для каждой из выбранных вызывает сам себя же, чем порождает рекурсию. Он рекурсивный в своей основе, и на любом шаге своей работы он будет делать то же самое: делать выборку вершин, ранжировать их по эвристике и ранжировать уже относительно наиболее эвристически подходящих.

А вот частности зависят от конкретной реализации. Как и любой другой рекурсивный алгоритм, его можно и нужно развёртывать.

Лично я просто не взаимодействую с железками напрямую, делаю серверные приложения и биндинги библиотечек. И тут WLS полностью покрывает все ожидания.

Имхо, WLS делает слишком много для комфортной разработки кроссплатформы, и избавляет от необходимости ставить линукс даже дуалбутом. С ним слишком удобно работать.

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

Просто я обычно использую цифру 24 как стандарт.
Это всё эвристика. От неё, как правило хуже не будет. Напоминаю, что только ситхи всё возводят в абсолют, а баланс силы примерно посередине (или на уровне стандартов, используемых в ваших условиях). И стандартное окно терминала, открываемое в гуе без дополнительных манипуляций, примерно этому соответствует.

Пока выглядит как максимально объёмная обфускация кода на произвольном языке с поддержкой плавающей запятой. Полагаю, можно использовать в местах где скорость не важна, но важен результат сокрытия информации.
[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+

Вы таки не поверите, с чего иногда работают люди. Иногда это мобилка, иногда - КПК со стилусом, иногда - ноутбук-наладонник а ля gpd pocket. Иногда - пользуются тайловыми де, иногда - обнявши мачту яйцами заливают прошивку с наладонника в устройство на вершине мачты, и желательно проверить что ставится то что нужно (собранное на этом же устройстве).

И эти люди, опять таки, иногда - требуются в вашей заботе.

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

В правом варианте есть ошибка нейминга, функция box перетрёт класс box.

Конкретно в данном случае, больше нравится левый вариант как раз за линейность. Все линейные рецепты должны быть линейными, если им это позволяет сложность и функция не превышает ~сотню строк (24, если правки смотрят через ssh).

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

Все произведения, ставшие культовыми - имеют несколько планов: "для тупых", "для нормисов", "для сверхразумов" и даже "для своих", в результате, каких-нибудь Смешариков достаточно интересно смотреть и детям и их родителям (а Машу и Медведя - нет, оно слишком для детей), а каких-нибудь аниманьяков очень интересно смотреть кинокритикам (около 1/5 шуток - исключительно для своих, не поймет вообще никто кто не в киноиндустрии), хотя детям и нормисам тоже норм.

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

Я конечно не физик, но моделирования демона Лапласа обычно и не требуется. Квантовая физика показывает что во вселенной существует "истинная случайность" которую можно моделировать только статистически, и которая может достаточно сильно влиять на точки бифуркации перехода модели в разные состояния.

Но тем не менее, в практических условиях, человечество предсказало и обнаружило излучение Хокинга (которое состоит буквально из вероятностей), человечество пусть упрощённо, но достаточно точно моделирует какие-нибудь процессы ядерного распада, которые тоже разумеется вероятностные, и вообще прекрасно работает с вероятностными процессами, минимизируя шансы неудачи.

И то что они не абсолютно точные, то что там не моделируется каждая частица - совершенно не мешает им весьма точно работать на практике.

Если же вдруг захотелось смоделировать солнечную систему - к тому моменту когда результат вычислений будет иметь серьезное значение, он уже будет вычислим. К тому моменту когда Меркурий вдруг решит покинуть солнечную систему, человечество двадцать раз видоизменится, возможно откажется от бренных тел и перейдут в энергетическую форму жизни (или просто колонизируют достаточно космоса, чтобы покидание Меркурия не имело серьезного значения), и далее по списку.

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

ГуглПлей и ЭппСтор безусловно берут 30% за размещение, но тут есть ещё один фактор: размещается готовое приложение, и его дальнейший доход как бы не очень связан непосредственно с его разработкой. Это цифровое ПО, которое можно как бы копировать и как бы получать "бесплатную" прибыль просто заставив больше людей установить. На деле нужно вкладываться в рекламу и распространение, но психологически может быть "да там дальше только патчить а оно само дальше будет приносить постоянный доход, пусть сторы ужрутся своими процентами, а мы зато уже сделали такое крутое приложение, что получим не сто тыщ установок, на которые расчитывали а миллион!".
Но когда ты таксист, ты отрабатываешь каждую поездку.

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

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

На стороне клиентов тоже иногда очень весело обрабатывать миллиард вариантов ответов от сервера:

"Если код равен 200 или код равен 201 или код равен 202 или код равен ....."
(то ответ как бы пришёл и его можно обрабатывать одинаково).
"Если код равен 300 или код равен 301 или код равен 302 или код равен ....."
(то ответ как бы перемещён, но и его тоже в целом можно обрабатывать одинаково).

И для каждого вызова апишечки предлагается писать такую телегу. И это не учитывая что внутри json'а в ответе будут свои отдельные статусы, и их как-то тоже надо сопоставлять, от чего деревья if'ов разрастаются, поддержка-отладка затрудняется и так далее.

Единственные ответы для которых как бы имеет значение именно код - 4xx, так как там можно запросить повторно, совершив некоторые телодвижения на клиенте, и получить нужный результат. Во всех остальных случаях, от транспорта как правило требуется только одно: "Оно отработало?" или "Оно не отработало?", особенно когда в теле сообщеньки будут дополнительные статусы.

Из подобных простых-и-интерактивных вещей, когда учился делать игрульки, читал пару статей по узкой фазе коллизий от разработчика N++ (очень хороший платформер), которые работают не с полигонами, а с некоторым относительно узким диапазоном фигур, зато очень точно:
https://www.metanetsoftware.com/technique/tutorialA.html
https://www.metanetsoftware.com/technique/tutorialB.html
Правда, есть одна проблема, под названием Flash, и интерактивность всех объектиков, их коллизий, векторов выталкивания, поиска ближайших точек, алгоритмов Вороного и прочей ерунды - на Flash.
(но можно открыть через firefox и аддоны, эмулирующие его, они существуют, только что проверено)

Ммм, в литературе есть такой термин под названием "троп", он же - некоторый шаблон для чего угодно: для персонажа, для сюжетного хода, для обращения с сюжетным ходом (деконструкция это как бы тоже троп), и всего такого прочего.
И когда ты видишь шаблонное произведение и разбиваешь его на тропы "Так, у нас тут Марти-Сью (троп #1), спасает дам в беде (троп #2), пока не наступает полночь без пяти (троп #3) и правая рука главного гада драконовского архетипа (тропы #4+5) не угрожает нажать большую красную кнопку (троп #5) машины судного дня (троп #6), и нужно собрать магкаффин из десяти кусочков (троп #7) чтобы деактивировать машину судного дня пока наш дракон расписывает свой план будучи полностью уверенным в своей победе (троп #8), но наш марти разыгрывает гамбит Бетмена (троп #9) и надуривает его, и пока тот расписывает свои планы совершает героическое самопожертвование (троп #10) и взрывает базу с машиной судного дня макгаффином, но в конце нам показывают что главгадом на самом деле был разумный пёс, который всё это время выполнял роль питомца Марти-Сью (тропы #11-12)".

Вроде супер шаблонное приключенческое произведение, состоящее сплошь из шаблонов-тропов. Но даже в этом случае, все эти тропы можно аккуратно привести к интересному состоянию, если разбавлять их чем-то более сложным в процессе или деконструировать, или вовсе перевернуть, допустим, добавив намёки на то что это "сон человека в коме который так и не смог сделать что-то подобное (троп #13)", от чего восприятие всей истории аккуратно разворачивается на 180.
Но, тропы сами по себе не являются чем-то плохим, и являются инструментом для конструирование повествования. Сама по себе структура в трёх актах это тоже шаблон, имеющий множество причин возникновения и использования, и даже для обмана ожидания в "мы тут как бы намекаем на вот этот шаблон, но на самом деле тут будет иначе".

Грубо говоря, нот всего семь, и то что мы соорудим из этих нот и будет нашим произведением.
Мы можем сделать как два притопа три прихлопа, а можем соорудить симфонию №9 в ре минор.

Применимо к играм, мы в принципе пока ещё можем как бы "придумать" новые/свежие игровые механики (стырить их из как бы реальности), но и там, в целом, нот всего семь, просто некоторые пока не очень известны.

1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность