login:        password:      
Combats Scrolls
Rambler's Top100
Гость БК
Profile Friend page
ru
updated 06.09.11 23:55
06-09-11 @ 23:48

СэрАртём Open user info Open user photogallery
Очередной раз о**ел от кода, на котором "живёт" БК. "Шедевр" обитает по адресу /main.pl?skills=1
Разумеется, я помню, что игра написана только под один браузер.
Вот код функции:

function SaveSkill( This ) {
  var sHref = "main.pl?upr=save&tmp=0.9626364283553&";
  for( var i in arrChange )
    if( arrChange[ i ] > 0 )
      sHref += "&" + i + "=" + arrChange[ i ];
  if (This) {
    This.href = sHref;
  } else {
    document.URL = sHref;
  }
  return true;
}

ну и что, что этот браузер забил на стандарты? - забьём и мы! вместо того, чтобы сделать так, как принято во всём мире (изменяем или document.location.href, или window.location.href, или (на крайний случай) меняем значение атрибута src у iframe-элемента), мы присвоим значение read-only свойству URL.

Комсомольцы, блин: создаём трудности, которые потом успешно будем решать

Mood: enraged 

Я думаю, что это: Scrolls.multiLike:)

view mode: linear threads
View disscussion »
Total disscussion threads: 1 Pages: 1
«« « 1 » »»

Post reply | Post reply with quote
Comment deleted
Comment deleted
Comment deleted
СэрАртём Open user info Open user photogallery
07-09-11 @ 03:00
Re: Re: Re: Re:
copy link to clipboard
Цитата:
гораздо дешевле разрабатывать на Php.
Цитата:
Гнались идти по легкому (на тот момент) пути, но тупиковому в будущем.
php - лёгкий путь. догадаешься, к чему приведёт?
Цитата:
Многие говорят, что у всех таких платформ есть серьезные проблемы с производительностью, а именно с работой GC.
никаких проблем у .NET с GC я не видел. да, в разработке встречались ситуации, когда GC не успевал освобождать память, но для этого есть принудительный запуск GC.
А что касается масштабируемости: форма делала решение на базе датацентра из 30-40 разноролевых серверов (WEB Front-end over LB, App, Cache, SQL, OLAP) - всё летало.

Однако, говорить что-либо плохое или хорошее о внутренней архитектуре системы, не зная архитектуры, нельзя. Я вижу лишь клиентский код - и делаю выводы только о нём
Post reply Ответить с цитированием
Comment deleted
СэрАртём Open user info Open user photogallery
07-09-11 @ 12:54
copy link to clipboard
Цитата:
Гораздо рациональнее в системах обработки большого кол-ва разнотипных запросов использовать стек потока, который был очищался в конце обработке запроса.
1. возможно, это рационально при условии, когда объём памяти, необходимый для обработки запроса известен заранее.
2. веб-приложения используют объекты, время жизни которых больше, чем время выполнения запроса. эта отличие .NET от PHP меня радует больше всего
3. хочешь, чтобы все данные лежали в стеке - используй не объекты, а структуры и простые типы.
Цитата:
В какой момент мне запускать принудительно GC в такой системе? В конце каждого запроса?
По окончании запроса измеряй объём оставшейся памяти и, если есталось меньше определённого значения, вызывай GC.
Цитата:
Ну например ты знаешь, что инвентарь храниться в файликах. Ты бы лично стал так делать, если бы надо было написать БК?
если бы это решение было оптимальным с точки зрения быстродействия, простоты поддержки и надёжности - я бы так и сделал.
Цитата:
Да и то, что серваки не справляются с большим кол-вом сессий подземки, где каждый бот это похоже временный файл, говорит именно об архитектурной проблеме.
на крысоцыпах ботов нет (почти нет). однако, имеем (имели) лаги по старту. причём, не в момент создания данжа, а когда игроки начинали делать первые шаги. и группа из 24 персов делала лаги на 2-3 минуты. думаю, там была проблема не в файлах.
Цитата:
Тогда как в нормальной транзакционной БД такое просто быть не может.
чтобы размазать нагрузку между городами, придётся ставить несколько БД или делать несколько кешей.
Post reply Ответить с цитированием
Comment deleted
Comment deleted
СэрАртём Open user info Open user photogallery
07-09-11 @ 13:11
Re: Re: Re: Re: Re: Re:
copy link to clipboard
Цитата:
И что-то мне подсказывает, что в pl у них такой же ужас как и в клиентском коде.
+100500

Цитата:
я считаю что он должен уйти в будущем и оставить место для Java.
хочешь войны? :)
поднимать ещё одну машину на клиенте ради вызова нескольких строк кода? - не будет этого. Java с его апплетами уже 13 лет (или хз, сколько там) не может одолеть клиентскую часть, а JS уже достаточно агрессивно выдавливает Flash. В общем, скриптовые языки умирают так же, как "умирает" БК :)
Post reply Ответить с цитированием
Comment deleted
СэрАртём Open user info Open user photogallery
07-09-11 @ 13:34
Re: Re: Re: Re: Re: Re: Re: Re:
copy link to clipboard
Цитата:
В итоге напишут браузер на Java. И он будет поддерживать скрипты на голом managed Java, которые будут выполнять в контексте одного процесса через отдельный класс-лоадер.
утопия.
Post reply Ответить с цитированием
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
СэрАртём Open user info Open user photogallery
09-09-11 @ 23:46
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re:
copy link to clipboard
Цитата:
Тоесть указатель на интерфейс, это не указатель на объект, да? Я к тому, что неопределённость с типом может быть и в строгих языках.
на интерфейс - это указатель на объект, реализующий этот интерфейс. и никак иначе. если разработчик счёл правильным использовать коллекцию объектов, реализующих какой-либо интерфейс, значит, так надо. и для того, чтобы вызвать метод у объекта такой коллекции, нет необходимости приводить типы или проверять наличие интерфейса: компилятор и среда исполнения не допустят, чтобы в такую коллекцию попали "левые" объекты.

Цитата:
в данном случае вы просто можете не знать какие реально объекты находятся у вас в массиве, а могут быть они разных типов.
коллекция объектов - это просто коллекция объектов. и разгребать эту кучу *овна тоскливо на любом языке программирования. а вот когда язык программирования не предоставляет таких возможностей, как типизированная коллекция - это печально. из-за этого при разработке многие вещи приходится дерхать в голове.

хотя, меня JS не особо напрягает
Post reply Ответить с цитированием
Comment deleted
СэрАртём Open user info Open user photogallery
10-09-11 @ 02:20
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re:
copy link to clipboard
Цитата:
А что там реально скрывается - вы не знаете.
единственное, что я знаю, - это объект, реализующий интерфейс. любого другого там, в принципе, быть не может
Цитата:
А левые попасть могут без проблем.
ну-ну...
Цитата:
Через год овощем станете.
когда программировал на асме, объёмы кода и количество библиотек были на порядок меньше.
начиная с времён делфи использую интеллисенс - овощем, вроде, не стал
Post reply Ответить с цитированием
Comment deleted
СэрАртём Open user info Open user photogallery
10-09-11 @ 23:19
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re:
copy link to clipboard
Цитата:
А таких приколов не видели никогда?
а мы об одном и том же говорим? я вообще-то речь вёл о современных языках, а не о порождении 80-х.
о какой строгой типизации можно говорить, когда язык позволяет делать такое: int* SomeInt = (void*)&SomeString ?

Цитата:
Щас не программируете?
не платят за это. три года разрабатывал АТС уровня районного коммутационного узла (три типа процессоров и микроконтроллеров, включая сигнальные; две версии операционной системы с кооперативной многозадачностью - и всё это в 16К ROM + 16К RAM) - похоронили АТС, потому что проще покупать за бугром и делать крупноузловую сборку и локализовать пользовательский интерфейс.
Post reply Ответить с цитированием
Comment deleted
СэрАртём Open user info Open user photogallery
11-09-11 @ 23:42
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re:
copy link to clipboard
Цитата:
как с памятью работать вы предлагаете?
с памятью? на C#? зачем? мне надо распределить гиг памяти для своих целей - буду использовать unmanaged код. всё остальное сделает .NET

Цитата:
Си и адов плюсач - это не современный язык?
их стандарты до сих пор развиваются, не спорю. однако, язык, позволяющий программисту допускать ошибки, будет всегда пользоваться меньшей популярностью, чем язык, просто не позволяющий ошибок на этапе написания кода.
с другой стороны, у языков, имеющих явные преимущества, есть шанс жить. асм, C, C#, php - это языки, у которых есть преимущества. у каждого свои. и они будут жить
Post reply Ответить с цитированием
Comment deleted
Comment deleted
Comment deleted
СэрАртём Open user info Open user photogallery
09-09-11 @ 18:07
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re:
copy link to clipboard
Цитата:
Покажите мне программистов, которые заменяют название методов другим способом. Потом можно будет поговорить.
Нормальные языки программирования позволяют найти все вызовы конкретного метода (с конкретной сигнатурой) конкретного класса. А потом можно сделать с этим вызовом всё, что угодно: переименовать, изменить порядок передачи параметров, сделать вложенный вызов. Если парадигма языка не позволяет сделать такой финт, ни о каком автоматическом рефакторинге речи быть не может.

Я пишу на C# и использую средства рефакторинга, встроенные в IDE. Я при переименовании методов не парюсь вопросом: "Этот вызов метода Connect нужно переименовывать в ConnectPoint или это какой-то другой Connect, который связан с сокетами?"
Post reply Ответить с цитированием
Comment deleted
СэрАртём Open user info Open user photogallery
09-09-11 @ 23:51
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re:
copy link to clipboard
Цитата:
методы собственные обычно по code-style пишут
и у разработчика не бывало такого, что методы разных классов назывались одинаково, хотя реализовывали абсолютно разную функциональность?

Цитата:
с префиксом своей компании или проекта
о ужас! я представляю, как называются эти методы в продукте, который разрабатывался несколькими компаниями. мне кажется, это сравнимо комментам в коде типа: /* изменено 29/02/2008 Василием Пупкиным. Исправление issue #62346
"Курсор отображается в виде стрелки, а должен быть в виде часиков" */
Post reply Ответить с цитированием
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
Comment deleted
СэрАртём Open user info Open user photogallery
07-09-11 @ 02:52
Re: Re:
copy link to clipboard
Цитата:
Всё до сих пор вертится на pl, все инвентари персонажей до сих пор файлы на серверах, которые копируются при перемещении игроков в другие серваки.
вопрос о преимуществах/недостатках этого решения открыт: возможно, оно и не такое уж плохое
Цитата:
Латают штопанное одеяло.
сомневаюсь я, что латают... клиентский код модифицируется очень мало. и код, который был добавлен за последний год, содержит точно такие же ошибки, как и код 2-3-летней давности

Post reply Ответить с цитированием

Post reply | Post reply with quote

Total disscussion threads: 1 Pages: 1
«« « 1 » »»


 
 © 2007–2025 «combats.com»
  18+  
feedback