Дмитрий Чередниченко: Я же говорю как вариант можешь раскладывать по принципу как я выше описал. Проблема больших чисел в том что каждый ЯП, каждая функция в фремворки или собственная, каждый вызов вывода данных все это неизбежно приводит к ошибкам округления. Живой пример:
Mysql минимум -9,223,372,036,854,775,808 максимум 9,223,372,036,854,775,807 или при счете от
минимум 0 максимум 18,446,744,073,709,551,615
PHP минимум -2,147,483,648 максимум 2,147,483,647 или php 64 битный
минимум -9,223,372,036,854,775,808 максимум 9,223,372,036,854,775,807
Тоже самое происходит и с другими ЯП или форматами данных.
Намного проще упростить систему по рецепту выше =)
Atllantis: Если не вариант то надо написать скриптик который рекурсивно прошерстит все java файлы перед компиляциеей и если найдет в строке коментарий, скажем, /*------debug-delete*/ то удалит всю строчку целиком. Только в таком случае придется в коде такие места умещать в 1 строку и не задействовать этим кодом ничего другого.
Тогда в каком то смысле это будет заменой #ifdef
Максим Тимофеев: я вообще то не писал конкретно про yii. Но если так то все что связанно с yii требует расширения и стиля писания как yii-way, шаг в сторону сразу расстрел на месте.
К примеру попробуйте сделать сложную форму? Ааа, вроде виджетов много но подходящего нет, пробуй написать свой виджет ииии (yii-way):
"Разрабатываемые виджеты должны быть самодостаточными. Это означает, что для их использования должно быть достаточно всего лишь добавить виджет в представление. Добиться этого бывает затруднительно в том случае, когда для его функционирования требуются внешние ресурсы, такие как CSS, JavaScript, изображения и т.д. "
Отсюда родится костыль или отхождение от стиля фреймворка.
Антон @ Лялин: смотря что в вашем понятии "быстро" и "очень медленно". Обычно в таких случаях надо профилировщиком искать бутылочное горлышко.
Может у вас очень хреновый hdd\ssd или проц не вытягивает.
Руслан Янбердин: строго по интерфейсам. Вы должны знать что этот черный ящик принимает только String дальше идет магия и на выходе получается сортированная строка. Что и как происходит внутри вас волновать не должно.
Еще можно добавить 4й пункт. Один класс решает одну конкретную задачу, не стоит городить комбайны.
dima_meln: Не будут, но станут доступны если сделаете так Save velik = new Velosiped();
Или же скастуете тип:
Transport velik = new Velosiped();
((Save)velik).someSave();
Вообще интерфейсы очень мощная и удобная штука.
dima_meln: я так понимаю вот это Transport velik = new Velosiped();
Тут следующее.
Transport это интерфейс как сразу понятно но ему присваивается реализация Velosiped. Фишка в том что будут доступны все методы которые объявлены в интерфейсе но не будет каких то сторонних которые могли быть объявлены внутри реализации. Т.е. если в классе Velosiped вы напишите совершенно новый метод, к примеру void MegaTurboDvijenie()то вы его не увидите потому что его нет в интерфейсе.
Так же найдете этот метод если объявите явно Velosiped velik = new Velosiped();
Другой вариант каст класса. Например ((Velosiped )velik).MegaTurboDvijenie(); Этот метод станет виден хотя он не объявлен в интерфейсе.
При всем этом нельзя сделать такое Transport velik = new Transport(); Это будет ошибкой.
Денис Загаевский: все ради понимая. Видно что человек изучает тему и хочет понять. В тех же книгах примеры обычно очень скудные для понимания, особенно тем кто только изучает и не может понять а почему так назвали и т.д. В общем не расстраивайся, в реальном коде я такого не делаю =D
Максим Гречушников: описанное выше применимо хоть к клиенту, хоть к серверу. Как только на сервер поступает запрос я так полагаю он у вас уже будет знать начальные точки и их стартовые параметры. Запрос поступил, можете посчитать сразу или сложить в очередь и просчитать через минуту.
А вообще разрыв в минуту это что то с чемто честно говоря =D. За минуту может столько произойти, что синхронизировать клиентов запаришься.
ipswitch: Судя по вопросу автора, а точнее всего по его познаниям юниксовых исходя из вопроса наверное все же поиграть. А убунта стоит только для обучения и познания.
silverjoe: когда у тебя больше 10 клиентов со своими серверами и ехать до них пару часов да еще и канал в пол мегабита у многих, да еще и доступ к серверу в лучшем случае с предварительного согласия, задача становится очень сложной особенно с бэкапом =D.