Как стать автором
Обновить
2
0
Антонов Сергей @FlashManiac

IT

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

Да идея со словарем отличная!

Аналогично можно и символами сделать ) Создавать некую таблицу.

Функции так же добавлены в пределах контекста. И они должны быть строго анонимные ) Но была идея задавать идентификатор функции что бы при декодировании подставить ее аналог на другой стороне.

Да вы правы - символ уникален в пределах сообщения. Symbol как значение передать в принципе нельзя.

Именно по этому я тоже написал свою библиотеку. Но я пошел дальше - JS/JSON объекты кодируются/декодируются в бинарный формат с различными оптимизациями. Есть поддержка всех базовых JS типов включая новые BigInt/Symbol. Все работает как в браузере так и на nodeJS, а так же покрыто 100% тестами. Если нужно добавить уникальные кастомные типы - это тоже есть.
https://github.com/superman2211/xobj/tree/master/packages/core

Вы можете заюзать новую либу для компрессии JSON или JS объектов:

@xobj/core

Эта библиотека проста в использовании:

// import library methods
import { encode, decode } from '@xobj/core';
// sample data object
const data = { x: 1, y: 2, name: 'Test' };
// encode to ArrayBuffer
const buffer = encode(data);
// decode to object from ArrayBuffer
const buffer = decode(buffer);

Так же это решение поддерживает все базовые JS типы а так же Date, RegExp, BigInt, Symbol, TypedArrays и другие. Кроме того вы можете использовать рекурсивные ссылки внутри ваших данных. Ну и конечно же можно добавлять кастомные типы.

https://github.com/superman2211/xobj/tree/master/packages/core

Вы можете заюзать новую либу для компрессии JSON или JS объектов:

@xobj/core

Эта библиотека проста в использовании:

// import library methods
import { encode, decode } from '@xobj/core';
// sample data object
const data = { x: 1, y: 2, name: 'Test' };
// encode to ArrayBuffer
const buffer = encode(data);
// decode to object from ArrayBuffer
const buffer = decode(buffer);

Так же это решение поддерживает все базовые JS типы а так же Date, RegExp, BigInt, Symbol, TypedArrays и другие. Кроме того вы можете использовать рекурсивные ссылки внутри ваших данных. Ну и конечно же можно добавлять кастомные типы.

https://github.com/superman2211/xobj/tree/master/packages/core

Вы можете заюзать новую либу для компрессии JSON или JS объектов:

@xobj/coreThis

Эта библиотека проста в использовании:

// import library methods
import { encode, decode } from '@xobj/core';
// sample data object
const data = { x: 1, y: 2, name: 'Test' };

// encode to ArrayBuffer
const buffer = encode(data);

// decode to object from ArrayBuffer
const buffer = decode(buffer);

Так же это решение поддерживает все базовые JS типы а так же Date, RegExp, BigInt, Symbol, TypedArrays и другие. Кроме того вы можете использовать рекурсивные ссылки внутри ваших данных. Ну и конечно же можно добавлять кастомные типы.

https://github.com/superman2211/xobj/tree/master/packages/core

Дак у тебя нету цели. Тебе нужна конкретная на 100% цель! Тогда будет понятно какую технологию использовать и какой язык. Иначе изучать все подряд — это бессмысленно. Программист это тот кто решает проблемы, а не тот кто знает кучу языков программирования. Для этого достаточно знать основы computer science, а остальное придет с опытом.
А как решить проблему разлинковывания? Например у нас есть монорепозиторий и мы юзаем lerna. Мы запустили lerna bootstrap и у нас все поставилось и прилинковалось. Но стоит нам сделать npm install <module_name> в каком то проекте из packages то внутри этого проекта в node_modules исчезают линки.
Можно игру сделать и в виде пары файлов js + data. И указать в точку входа div куда создастся canvas и будет рисоваться игра.
Да есть косяки — но для игр обычно юзаются кастомные шрифты либо вообще битмап шрифты. По производительности там все на уровне флеша. Вот зацените классическую box2d демку.
Да ) Мало того я запилил конвертер из flash в html5. Но надо конкретно сделать именно плеер — принимающий swf. Это в принципе возможно.

Но сейчас новые игры вряд ли кто то пилит на flash. Плеер нужен именно для поддержки старых игр.
Согласен! Так же еще оборудование может быть закуплено по заниженной цене оптом. И возможно будет какой то trial период.
Можно попробовать сконвертировать в html5 с помощью этой тулзы Guepard Flash to HTML5 converter
Попытаюсь ответить зачем спрашивают на интервью алгоритмы и структуры данных. Во время интервью открывается возможность увидеть как человек мыслит и каким образом он решает задачу и как он общается с коллегами. К тому же задачи на алгоритмы и структуры данных могут быть отсортированы по сложности. Это дает возможность спросить сначала что то простое а потом усложнять — тем самым проверяя уровень профессионализма кандидата.

На практике (гейм дев) мне лично постоянно приходится использовать те или иные алгоритмы. Из последних — «поиск оптимально пути в графе(пришлось модифицировать алгоритм Дейкстры)» или «поиск пересечений пуль и объектов(просто перебор был жутко медленный)». Так же надо знать очень хорошо геометрию — матрицы и вектора. но в большинстве случаев уже есть библиотеки или движки которые это делают. Нет смысла пилить свой велосипед. Но в гейм деве есть ограничения производительности и весе приложения — поэтому проще сделать какое то упрощенное быстрое решение чем использовать супер навороченную библиотеку. И вот тут включается мозг ) Надо проанализировать существующие решения выбрать самое оптимальное или скомбинировать и потом доработать его.

Если например взять другую область где надо набросать UI. То там конечно не будет этих алгоритмов. Там другие задачи. Возможно вы решаете другие задачи которые редко требуют алгоритмы. Либо используете нативные средства языка или библиотеки. И вам не сильно важно что бы это был быстро.
Да, с удовольствием почитал бы )
Конечно я имел ввиду, что я как ИП оказываю услуги плачу налоги и ПФ, а так же больничные и отпуска за мой счет. То есть чисто деловые отношения по договору.
Да уж, кто бы сомневался. Государство свое урвет.
Ну сказать то скажет, но закон то не нарушается. Где конкретно нарушение закона? Я как ИП имею права работать где угодно в том числе и у заказчика. Все остальное прописано в контракте. Пришла инспекция — вот договор.

Информация

В рейтинге
Не участвует
Откуда
Великий Новгород (Новгород), Новгородская обл., Россия
Зарегистрирован
Активность