0
21
2 года назад
Отредактирован Raised
0

» Зона Агрена. / Ещё один добромонстр.

Сколько лет да зим прошло, а кое-кто всё ещё рисует всратых монстриков.
0
21
3 года назад
0

» XGM Team / Игры на XGM: Голосование

Кризис самоопределения.
1
21
4 года назад
1

» Лучший блог / Кетогенная диета

Поправляйся.
0
21
4 года назад
0

» Game Dev / Artificial Intelligence ( Genetic Algorithm )

Vlod, если весы генерятся во время и на время сессии, то это не слишком полезно.
0
21
4 года назад
0

» Game Dev / Artificial Intelligence ( Genetic Algorithm )

В каком виде хранится результат тренировки нейросетки? Хранится ли вообще? Кст. может кто подсказать в чем была суть AMAI? Была ли это нейронка, появившаяся до того как это стало мейнстримом или какой-то аналитический алгоритм или что еще?
0
21
4 года назад
0

» AzaZzell / Веб-разработка без фреймворков

Окей. Следующий мой коммент в этом ресурсе будет содержать ссылку на репо.
0
21
4 года назад
0

» AzaZzell / Веб-разработка без фреймворков

Doc, дык я и не тру-кодер. Эту телегу о чем-то без фреймворков я понял как создание проекта без зависимостей, без магии*
0
21
4 года назад
0

» AzaZzell / Веб-разработка без фреймворков

Думаю, я прост вдохновился разговором с Ханабисей и Доком, и месседжем в направлении а-ля "тру кодеры делают все сами, без фреймворков"


Интерполяция значений в жабаскрипт в самом деле самый прямой путь к решению этого вот всего. Сегодня хочу подумать, как работать с множеством однотипных компонентов. Первое что приходит в голову - класс со счетчиком инстансов, но меня этот факт больше всего и напрягает, что это первое что пришло в голову.
0
21
4 года назад
0

» AzaZzell / Веб-разработка без фреймворков

Но я хочу сам. Понимаешь? Сам (\/).^__^.(\/)
0
21
4 года назад
0

» AzaZzell / Веб-разработка без фреймворков

Есть обновления. Пожалуй, стоит начать с того что при описанном выше подходе помимо роутинга на клиенте была еще одна проблема: пререндеринг на сервере, SEO.
Ну а чтоб решить эту проблему пришлось разобраться с роутингом на сервере. Так как параллельный массив с захардкодженными парами вида {реквест: страница} не достаточно гибок, пришлось подумать что еще можно с этим сделать. В итоге остановился на подходе, аналогичном react-router:
`<main id='content'>
   ${await blog(route(thread, 'blog'))} 
   ${await projects(route(thread, { pathname: 'projects', exact: true, preload: true, split: true }))}
 </main>`
С примера выше понятно что в ход пошли шаблонная строка + асинк/авэйт. Не буду нудить деталями имплементации и как все умно и красиво все сделано, пока что скажу что это работает таким же образом как и реактовский роутер, грубо говоря — динамично и в результате получается древообразная структура.
Осталась проблема синхронизации DOM-референсов сгенерированной страницы с клиентом. Ну а так как виртуальный DOM я не хочу да и вряд ли могу с таким подходом, надо придумать какой-то алгоритм для передачи референсов. Есть одна идея которую буду сегодня тестировать, но она мне кажется немного упоротой. Пример синхронизации хуков клиента с сокетами, сгенерированными на сервере:
import route from './../../router.js';
import client from './../../client.js';

import aboutSomething from './about-something/logic.js';


export default async function blog(thread) {

  if (thread) {

    const id = `node=${thread.node.pathname}`;

    client.node({ thread, name: 'my-bundle-name' }, `
      window.addEventListener('DOMContentLoaded', () => {
        let header = document.querySelector(\`${id}::my-header\`);
      });
    `);

    return `
      <h4 ${id}::my-header>About something</h4>
      ${await aboutSomething(route(thread, 'about-something'))}
    `;
  }

  return '';
}
Метод node, генерирует бандл для клиента, присваевает ему указанное имя или имя, сгенерированное с названия узла и инжектит ссылки на файл в тело страницы.
Все это происходит при запуске сервера. Генерируются отрендерренные версии узлов, генерируются бандлы для узлов и компонентов. Генерируется статичный ассоциативный массив вида {запрос: файл}, и сгенерированные ассеты уже обслуживаются по нему.
Думаю, стояло бы нарисовать схему и углубится в имплементацию, но честно говоря, не думаю что все это будет хоть кому-либо интересно. Юзай фреймворк n, добавь магии в свою жизнь...
0
21
4 года назад
0

» AzaZzell / Веб-разработка без фреймворков

Пока вижу роутинг одной из ключевых проблем: как правило роутер определяет что рисовать при каком запросе, на время сессии запоминает список доступных* и посещенных/загруженных страниц. С MPA вся логика находится на сервере. Чтоб получить все преимущества SPA (PVA, например) нужен роутер на клиенте.
На всякий случай выведу оперативное определение роутера:
определяет что рисовать при каком запросе, на время сессии запоминает список доступных* и посещенных/загруженных страниц (полу-PVA, хотя полноценный PVA отсюда вывести несложно).
При таком подходе загруженный роутером скрипт инициирует вьюху и делает ее активной/текущей (пряча все остальные). Прирост производительности получается за счет того что уже посещенную страницу можно просто вытащить из списка, вместо отправки очередного запроса на сервер и гуфа единственного контейнера. Ясное дело подразумевается что нужны опции, позволяющие указать стоит ли пытаться подгрузить более актуальную версию вьюхи с сервака, каков должен быть интервал между запросами и т.д.
Есть только одна проблема: в некоторых случаях некоторые части страницы остаются неизменными. Вот представим кейс с information-dense сайдменюхой с вкладками и мейн контейнером со списком статтей для вьюхи. Я позволю себе усомнится в целесообразности перерисовки всей страницы при переключении вкладки => смене роута. Тут нужен рекурсивный подход и чтоб помимо "Что?", роутер определял и "Где?" это рисовать. То есть определение придется расширить и как-то рекурсивно проходить по чему-то при смене роута. Но как и по чему именно я так пока и не додумался...
Постараюсь ка-то прикинуть решение как будет на это время...
0
21
4 года назад
0

» AzaZzell / Веб-разработка без фреймворков

NazarPunk, хороший вопрос. Чтоб не начинать об этом думать, я просто отошлюсь к четырем пунктам с преамбулы как определяющим характеристикам.
очень ускоряют процесс разработки
Хоть подходы и разные, по сути все они передают тебе в руки заготовки архитектуры в обмен на те проблемы что я описал. Подумалось знает ли кто какие оптимальные подходы к проектированию веб-апок без фреймворков. Свелт пока упустим, так как это скорее компилятор нежели фреймворк.
0
21
4 года назад
Отредактирован Raised
0

» AzaZzell / Веб-разработка без фреймворков

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

архитектура?

Если в случае с фреймворком это просто древо компонентов, то без фреймворков все не настолько очевидно.
11
21
4 года назад
Отредактирован PT153
11

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Не люблю рандом. Нравятся тайминги + хитрые формулы для подсчета урона/резиста.
0
21
4 года назад
0

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Помню как кто-то жаловался на Хартстоун и его рандом. Имхо он хорош как коммерческий продукт с хорошей рекламой. Близзы просто утилизировали факт наличия огромного количества фанбоев и подсадили их на онлайн-казино.
0
21
4 года назад
Отредактирован PT153
0

» WarCraft 3 / Создание неигрового персонажа для РПГ с нуля

PUVer, этот подход кое-как да намекает что он сыграл не последнюю роль в смерти проекта. Результат применения этого подхода тебя, должно быть, просто разочаровывал. В то же время и проект хотелось доделать, но если учесть что проект основал школьник и со временем ума обычно прибавляется (за редкими исключениями), нет ничего удивительного что руки опускаться начали.
Ну и тот момент который отметили NazarPunk и bOrissko: без нормальной системы мониторинга квестов/диалогов твой проект почти наверняка обречен. Это если не говорить об их содержании, целесообразности персонажей и месседже/нарративе.
Юные люди редко способны выкинуть что-нибудь достойное, обычно все сводится к проецированию своих влажных фантазий на персонажей (чаще всего на протагониста), а месседжа, нарратива или хотя бы просто интересного антуража и вовсе не наблюдается. Хотя это касается не только юных писателей. Вот Толкиен например одержим идеей стройных, вечнокрасивых баб (ака эльфиек), мсье Мартин или даже Лавкрафт.
Так что не отчаивайся и держи перо пистолетом.
0
21
5 лет назад
0

» Мастерская Психа / Пробы в фотошопе

psychosis:
Одна из более последних работ:
Это как-то не вкладывается в граф качество-время, который ожидаешь видеть возрастающей функцией. Ты глаза одолжил откуда-то?
0
21
5 лет назад
0

» Шатер GenElCon'a / Миф о дорогом здоровом питании

Ну я к тому что это запрос, чтоб без химии с без ГМО, по большому счету какой-то фэнтезийный реквест. Не говоря уже о том что некоторые магазинные овощи - по сути совершенно иные виды виды и упрекать их в том что они отличаются от домашних то же самое что сравнивать греческий орех и фундук поносить тот что тебе не понравился.
Clamp:
Вообще-то при селекции не влияют на формирование генотипа растения, только на сохранение естественным путём возникших изменений.
Не знаю это просто копетанство или троллем себя вообразил. В любом случае на тебе минус и пока.
0
21
5 лет назад
0

» Шатер GenElCon'a / Миф о дорогом здоровом питании

В одном случае ты воздействуешь на ДНК опосредованно, в другом непосредственно. Мандрагорой обдолбался что ли? Опять?
0
21
5 лет назад
0

» Шатер GenElCon'a / Миф о дорогом здоровом питании

ARCHIMONDE, ты уже определись тебе морковь без химии или не ГМО или жри мандрагору, раз на то пошло. Селекция - та же генная модификация, просто значительно менее эффективная.
*Мандрагору - некую мифическую, "натуральную", морковь/ватэвэр...
0
21
5 лет назад
0

» AzaZzell / Реверсия или рекурсия?

Выбор делается не на ровном месте, как-бы...
0
21
5 лет назад
Отредактирован Raised
0

» AzaZzell / Реверсия или рекурсия?

Прогнал сеё через нейронку:

  • Hence to self-develop, once we have acquired a certain amount of experience we should re-evaluate how we experience things. I'm not suggesting that the way we experience an emotion should be considered before it occurs. It might not.
  • When one re-examines one's experience one must make certain judgments about what they know, and how they know it, and about the consequences of this knowledge when given.
  • There is a process of synthesis between the subject's beliefs and their experience. In other words, one cannot have knowledge about something until one has had an experience.
  • This is especially vital if one is to develop into a true "cognitivist" and to be free of the false beliefs of the ego.
  • I know that I am alive. I have knowledge that has lead me to this conclusion. I therefore have a belief in immortality because that belief makes it possible to re-interpret all the other possibilities and experiences that are possible.
  • The ability to learn (the facts of the world) becomes much more available if one is motivated to apply what is known to create better understanding of these new facts.
  • One should always remember that a person is not born.
  • A person can be convinced of the truth of certain things. For example, one can't be convinced of the truth that there are no gods. However, one can convince themselves of the truth of the existence of gods if that is what is necessary for them to live with a happy life.
  • When we perceive an instance of a phenomenon we tend to get caught up in the experience it creates, we do not think carefully about what we are perceiving and what our experience is. We tend to over-reliance on our senses and our ability to interpret the experience.
  • With consciousness one can either 'know it' or 'not know it' at some level. For example, we 'know' the colour red because the experience is coloured, but not because the colour exists.

И многое другое, но я ниасилил. Голова начала трещать.
0
21
5 лет назад
0

» AzaZzell / Тухлые фразочки

В тот день Бог, считай официально, перебрался в открытый космос)
0
21
5 лет назад
0

» AzaZzell / Тухлые фразочки

Вся проблема второго примера вот в этом:
а если есть
У небыдла нет аргументов в защиту своей 'неопределенной' позиции. Логические уловки оно не распознает, и наивно отсылается к вот этим фразочкам, надеясь обосновать рациональность своего 'образа мыслей' и не выглядеть глупо.
Конкретно этот топик не может являться предметом для дискуссии по 3 причинам:
  • 12 апреля 1961
  • неопределенность предмета дискуссии
  • логические уловки вместо обоснований
В прочем, это далеко не полный список и самым сообразительным об этом было известно еще до нашей эры. Но чтоб скрыть свою неосведомленность о такой банальщине и сильно отстающую сообразительность, при всем желании казаться рассудительным...

Komkozavr, если это был сарказм - зачет)
0
21
5 лет назад
0

» AzaZzell / Тухлые фразочки

Ну, теперь будешь знать.