Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Написание сервера для lineage 2 chronicle 1 на node.js
Совет: или используйте аналог IdFactory и перезаписывайте _id поле документа long значением id из фабрики при сохранении (предпочтительнее, есть пара ньюансов типа необходимости удаления _id поля из документа при операции update()).
Либо используйте уже созданный монго ObjectID как accountId и хешируйте его в long (int в L2? Не помню) при отправке клиенту. С вторым вариантом в будущем возможны коллизии, так как все-таки ObjectID это 12 байт.
Node.js не обязывает использовать только монгу.
Если вы хотите хранить в базе произвольные структуры данных, то, например, в PostgreSQL есть JSONB, который полностью закроет ваши потребности.
При этом у вас будет полноценная СУБД, которая полностью соответствует требованиям ACID, имеет foreign key constraints и все прочие плюшки.
Это в целом большая проблема, которую я замечаю во многих проектах. Разработчики натягивают сову на глобус, пытаясь хранить данные (модель которых реляционная по своей природе) в документоориентированных СУБД, а потом страдают.
На хабре и других ресурсах периодически появляются статьи от относительно крупных сервисов, где они переезжают с монги на PostgreSQL из-за кучи проблем.
Выборе конечно ваш, но зря. js удобен до того момента, пока вы в состоянии держать весь проект в голове.
На длинной дистанции ts имеет очевидные преимущества.
Node.js не обязывает использовать только монгу.
Если вы хотите хранить в базе произвольные структуры данных, то, например, в PostgreSQL есть JSONB, который полностью закроет ваши потребности.
При этом у вас будет полноценная СУБД, которая полностью соответствует требованиям ACID, имеет foreign key constraints и все прочие плюшки.
Это в целом большая проблема, которую я замечаю во многих проектах. Разработчики натягивают сову на глобус, пытаясь хранить данные (модель которых реляционная по своей природе) в документоориентированных СУБД, а потом страдают.
На хабре и других ресурсах периодически появляются статьи от относительно крупных сервисов, где они переезжают с монги на PostgreSQL из-за кучи проблем.
Выборе конечно ваш, но зря. js удобен до того момента, пока вы в состоянии держать весь проект в голове.
На длинной дистанции ts имеет очевидные преимущества.
Пет-проекты обычно пилят с целью прокачать свой скилл, опробовать новые технологии/инструменты, etc.
Но никак не с целью откатиться назад в плане скилла.
Пет-проекты обычно пилят с целью прокачать свой скилл, опробовать новые технологии/инструменты, etc.
Но никак не с целью откатиться назад в плане скилла.
Согласен. Пойду найму разработчиков и волью в проект миллионы рублей все ради того чтобы он не казался "странным" для Вас. Извините, что мой код оскорбил Вас. К сожалению у меня нет инструмента для Ваших глаз, чтобы Вы его смоли развидеть.
Пет-проекты обычно пилят с целью прокачать свой скилл, опробовать новые технологии/инструменты, etc.
Но никак не с целью откатиться назад в плане скилла.
И при этом ни разу его не запускали и не пробовали зарегаться, чтобы увидеть баг?)
P. S.
В любом случае пет-проект ваш и выбирать только вам, но выглядит как минимум странно
вы слишком серьезно относитесь к проекту, который человек по приколу лепит из говна и палок, и который никогда ничего серьезного из себя представлять не будет., и делается даже не для повышения скила, а просто поиграться в свободное время от скуки. Не мешайте человеку получать удовольствие )))
Не знаю какие для Вас критерии "идеальности", но даже для своих пет-проектов я использую TS, PostgreSQL, и не храню пароли в базе в открытом виде ну и так далее по списку. Разве что только тесты не пишу.
Не буду утверждать на 100%, но по моему скромному мнению миллион рублей и другие разработчики не нужны для того, чтобы как минимум проверить свой код перед тем, как закоммитить) А Вы как считаете?)
вы слишком серьезно относитесь к проекту, который человек по приколу лепит из говна и палок, и который никогда ничего серьезного из себя представлять не будет., и делается даже не для повышения скила, а просто поиграться в свободное время от скуки. Не мешайте человеку получать удовольствие )))
Ну человек, как я понял, создавая эту тему хотел внимания сообщества к своему проекту (и возможно участие энтузиастов в этом).
Причем делает не на каких-то новых необкатанных инструментах, а на тех же, что он использует и на основной работе.
Ведущий разработчик между прочим
Все то, что я описал выше, должно уже работать на уровне рефлексов, даже в пет-проектах
идея - текстовый клиент л2. никакой графики.
сервер надо будет подправить чтоб слал пакеты в текстовом виде
игрок
- иду 10 шагов на восток
сервер
- ты упёрся в дерево
- справа на тебя кастуют твистер
- слева заагрился моб "злобный глаз"
- сзади подбегает чел с крааасным именем
- автокаст на удержание мочи - провал
- автокаст на удержание кала - провал
----ваши следующие действия?
Пора бы уже расти. И от родителей пора съехать. А то так и будете всю жизнь токсичными и злым на весь мир. 34 года так-то.
Вообще без шуток вам бы к психологу обратится. Вас или в школе обижали или родители недолюбливали. Вы выбираете унижение другого вместо радости. Вы могли бы пройти мимо но вас задела моя тема.
Почему? Потому что вы когда-то хотели сделать подобное(проект) но не сделали?
Тут на форуме много людей, кто просто пошел и сделал свой проект. Кто-то сервер на ГО, кто-то на плюсах.
Но вы не только решили унизить но и еще искали информацию обо мне? Что бы что?
Пора бы уже расти. И от родителей пора съехать. А то так и будете всю жизнь токсичными и злым на весь мир. 34 года так-то.
Вообще без шуток вам бы к психологу обратится. Вас или в школе обижали или родители недолюбливали. Вы выбираете унижение другого вместо радости. Вы могли бы пройти мимо но вас задела моя тема.
Почему? Потому что вы когда-то хотели сделать подобное(проект) но не сделали?
Тут на форуме много людей, кто просто пошел и сделал свой проект. Кто-то сервер на ГО, кто-то на плюсах.
Но вы не только решили унизить но и еще искали информацию обо мне? Что бы что?
На хабре и других ресурсах периодически появляются статьи от относительно крупных сервисов, где они переезжают с монги на PostgreSQL из-за кучи проблем.
В итоге мы в конце получаем нативный жс. Со стороны конечно реализации какого нибудь сервера будет практичнее и правильней, но с другой стороны если я просто делаю проект жаст фор фан, какая разница?
В плане, с чего это вдруг? А т.е написание полностью своего и реализации на нативном жсе, которое ты будешь делать с минимальным количеством библиотек и ещё чего то, то ты не прокачиваешься, а используя новые технологии, инструменты и т.д. которое делают либо всё или большинство за тебя и ты просто подставляешь значения и не давая роста никакого, это называется поднятием скила? Какое то странное понимание в росте скила.
EasyGameProtection, зачем? Почему? Прежде чем говорить у кого то, надо взглянуть на себя сначала.
И не все, опять таки полноценная в чьем понимание?
Которые нужно уметь фильтровать и определять качество, не все статьи там нормальные, а от крупных сервисов часто просто переводы.
В итоге мы в конце получаем нативный жс. Со стороны конечно реализации какого нибудь сервера будет практичнее и правильней, но с другой стороны если я просто делаю проект жаст фор фан, какая разница?
В плане, с чего это вдруг? А т.е написание полностью своего и реализации на нативном жсе, которое ты будешь делать с минимальным количеством библиотек и ещё чего то, то ты не прокачиваешься, а используя новые технологии, инструменты и т.д. которое делают либо всё или большинство за тебя и ты просто подставляешь значения и не давая роста никакого, это называется поднятием скила? Какое то странное понимание в росте скила.
А я вот понимаю, о чем говорит ИзиГеймПротект, так как по характеру основной деятельности являюсь руководителем проекта и инженером авторского надзора, и приходится очень много работать с разными "творцами" и выбирать подрядчиков. так вот очень часто встречаются во многих сферах как раз вот такие экстарверты, которые выкидывают свою работу в соцсети, радостно рассказывают, как они начали в чем-то барахтаться, при этом все делается рукожопо и паршиво под разными оправданиями и без понимания глубины. И большая часть моей работы - или уворачиваться, или исправлять после таких. так что уже хорошо усвоен навык вИдения, когда человек даже мелочи делает по уму и аккуратно, и является реально мастером в своей области. ибо такие даже специально и на халтуре не могут делать залипуху. Или это очередная громкая пустышка, даже с высокой должностью/авторитетом и стажем в профессии/разрекламированностью и кумиром среди менее сведущей публики. У меня уже аллергия на такой подход к делу, ибо бракоделие всегда стоит в разы дороже переделать. Так что звиняйте, профессиональная деформация. Сильно не серчайте. И почему-то именно такие вечно чето с нуля пытаются сделать велосипед, при этом с поверхностным и низкопрофессиональным подходом, который даже не осознают, из-за особенностей врожденных талантов или их отсутствия конкретно по данному виду деятельности. Вот мы имеем два примера - Луч и вот это творение. И там и там - пилится все с нуля. Только по моему опыту, я знаю уж 5 лет, что Луч доделается. А вот это даже до уровня голимой явы 10го года не дотянет. Вангую. Но при этом, как я писал выше - автора никто не критикует в плане его возможностей творить, пусть делает что хочет, это его жизнь. лишь высказали критику по содержанию, на что имхо каждый имеет право.
Конечно, пишу сервер Lineage на html и css, вместо базы данных использую текстовый файлик, а данные между клиентом и сервером буду передавать при помощи почтовых голубей. Не желаете присоединиться?)
Где вы увидели какое-либо унижение? Вы создали эту тему с целью показать свою работу сообществу, так?
Даже если отбросить философскую часть моих вопросов, там все равно остаются конкретные проблемные места в коде, на которые я указал.
Но вы отказываетесь воспринимать какую-либо критику и в ответ лишь переходите на оскорбления
Когда был помоложе и времени побольше - делал (например переписывал часть сервисов для другой игры году так в 2017).
На данный момент нет желания тратить столько времени на пет-проекты. Максимум что-то простенькое, что можно набросать за пару вечеров.
Если не секрет, а кто в вашей схеме доставляет голубей на другую сторону? Тема не раскрыта!111
Автор может делать как ему хочется. И нет смысла связывать фор фан проекты с реальным рабочим кодом, за который разработчик несет ответственность. Он может отдыхать дома, а на работе выкладываться и отдавать все ресурсы покрывая все юнит тестами и бест практиками
Если не секрет, а кто в вашей схеме доставляет голубей на другую сторону? Тема не раскрыта!111
Автор может делать как ему хочется. И нет смысла связывать фор фан проекты с реальным рабочим кодом, за который разработчик несет ответственность. Он может отдыхать дома, а на работе выкладываться и отдавать все ресурсы покрывая все юнит тестами и бест практиками
Можно начать с того же, о чем я писал ТС'у: ACID, foreign keys, constraints.
ACID завезли аж в 4.0 в 2018 году. Прошло аж 6 лет, а проблемы все те же:
Using ACID properties in MongoDB can also have some drawbacks, such as reducing performance and scalability by adding overhead and locking to transactions. It can also increase the complexity and cost of deployment and maintenance by requiring additional resources and configuration for replica sets and sharded clusters. Furthermore, it limits flexibility and availability by imposing restrictions and trade-offs on transactions, such as maximum size, duration, and number of operations. Finally, it introduces the risk of data loss or inconsistency in case of network partitions or failures that prevent transactions from committing or aborting.
Остального же нет до сих пор.
К плюсам монги можно отнести, к примеру, простоту обеспечения отказоустойчивости и шардирования, так как это есть из коробки.
В PG подход: "Вот вам WAL для поддержки репликации, а дальше все сами".
Никто не говорит, что монга плохая (на работе до сих пор есть часть сервисов, которые используют монгу и это приходиться поддерживать)
Я лишь говорю, что ее пытаются использовать там, где она неуместна.
То, что некоторые пользователи пытаются нафармить плюсцов на переводах - это понятно (я обычно просто иду сразу читать оригинал). Но отменяет ли наличие перевода тот факт, что проекты по мере разрастания базы начали сталкиваться с проблемами, которые исчезли после миграции на PG ?
Как примеры:
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или Регистрация
,
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или Регистрация
В итоге мы в конце получаем нативный жс. Со стороны конечно реализации какого нибудь сервера будет практичнее и правильней, но с другой стороны если я просто делаю проект жаст фор фан, какая разница?
Суть не в том, что оно транспайлится в js.
Суть в том, что у вас "из коробки" будет фактически "самодокументируемый код". Не нужно будет вспоминать что же там было (актуально для пет-проектов после большого перерыва в разработке)
И как бонусы:
- Сразу будут видны все самые примитивные ошибки типа опечаток/несоответствия типов/etc еще на этапе сборки. Особенно полезно, когда кодовая база уже переваливает за пару сотен тысяч строк.
- Автоматическая генерация валидаторов на основе определенных ранее структур данных (
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или Регистрация
,
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или Регистрация
В плане, с чего это вдруг? А т.е написание полностью своего и реализации на нативном жсе, которое ты будешь делать с минимальным количеством библиотек и ещё чего то, то ты не прокачиваешься, а используя новые технологии, инструменты и т.д. которое делают либо всё или большинство за тебя и ты просто подставляешь значения и не давая роста никакого, это называется поднятием скила? Какое то странное понимание в росте скила.
А ТС у нас trainee/junior, что ему все еще надо осваивать базовые вещи на чистом js?
Вы же сами прекрасно понимаете, что готовые решения юзаются не из-за того, что разработчик такой тупой и не знает как это сделать самому. А из-за того, что разраб уже перерос стадию
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или Регистрация
и прекрасно понимает что он делает, выбирая нормальное готовое решение под свои потребности.
Можете
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или Регистрация
, где человек на долгие годы застрял на вышеупомянутой стадии.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.