Бесплатный сыр бывает только в мышиловке. Зачем вам это ??? и уж тем более за призы и подарки, которые стоят денег ? т.е. у вам планы зарабатывать на этом проекте. Если как вы говорите привлечь людей на ресурс, который им будет полезен - то люди сами прекрасно могут понять полезен им ресурс или нет, и раздача призов никак не улучшит или ухудшит их отношение.
Не поленился и мельком взглянул на этот проект. Сразу возникает вопросы - там раздаются куча призов за создания аккаунта и привлечения друзей, простите на какие шишы ? Т.е. в проекте есть либо хорошая монетизация, либо хороший спонсор, плюс наверняка есть модель зарабатывания денег или продажи стартапа. Теперь посмотрим откуда у вас получаются пользователи - из тех же соц сетей, т.е. фактически вы переманиваете из одной сети пользователей в свою. Плюс делается это весьма агресивно, за разные призы и т.д. Вы пытается зарабатывать на других, так что не надо ныть, когда вам отрезают доступ к пирогу, который вы фактически не заслужили. Я бы на месте других соц сетей - сделал бы тоже самое что и вконтакте.
P.S. за минусы спасибо
смысл моего поста не изменился, данные поставляет вконтакте, а зарабатывает на это третий сервис, где выгода хозяевам контакта ?
P.S. сервис не смотрел, может и не зарабатывают они деньги, но цену их проекта это поднимает
А я ни кому и не давал согласия, что бы моя информация шла дальше сервиса вконтакте, и уже тем более какому-то там проекту, или в индексы поисковиков, или еще куда. Если я зарегистрированя вконтакте, то мне не надо ни кого из одноклассников и других соц.сетей, и если мне это потребуется я пойду и там зарегистрируюсь. Создать сервис который объеденит соц сети не так сложно, а вот создать и поддерживать сеть уровня вкотакте или одноклассников на порядок дороже и сложней. Поэтому вполне понятная политика хозяев этих сетей, зачем давать кому-то грызть их пирог
не вижу смысла социальным сетям объединяться, и выдавать информацию какому-то единому сборщику. Ведь на этом кто-то третий зарабатывает деньги, а социальная сеть ни чего не имеет...
Дело в том что в журнале форбс только 500 фамилий из 8 млрд людей, и сомневаюсь что там вундеркинды, и Эйнштейн был один, и Билл Гейтс один, так что 99 % населения планеты именно серая масса...
и еще, один умный человек на писал (толи из IBM толи еще от куда)
Любая новая строчка кода - потенциально приводит к ошибке, есть даже статистика, на сколько строчек кода в среднем приходится ошибок, дак зачем увеличивать эти строчки кода,для получения новых ошибок ?
плюс не забывайте - Java это язык, в котором один раз написал - и работает везде (коенчно это не всегда так, если брать J2ME и т.д.), но ваша библиотека или код - может к примеру быстро работать на Windows и ужасно медленно работать на юниксах или маках. Так может пусть JVM будет решать как лучше на текущей системе делать сортировку или поиск - чем ваш "универсальный" код ?
1) JAVA это другой язык, и использование стандартных библиотек является основной идиологией этого языка. Все библиотеки которые идут в наборе а JAVA'ой полностью проверены и оттестированы, плюс они open Source.
2) свой код не быстрее и не уверсальнее, не хочу спорить надо этим долго, это приходит с опытом
3) свой код поддерживать не дешевле, но я говорю тут только о тех библиотеках которые входят в пакет SDK, на счет кода сторонних разработчиков спорно, все зависит от того что за проект и что за библиотека. Я к примеру в проекта использую библиотеку SNMP4J - это работа с SNMP протоколом, написание своей библиотеки займет ужасно много времени, чем я буду бодаться с глюками разработчиков этой библиотеки...
4) понимие чужого кода вообще ни от чего не зависит, чужой код можно без проблем понимать, но видеть его ужасность, и иметь большое желание все переделать, и нету гарантии, что потом другой человек не сделает так же. А если в команде работает 20 человек ? то что делать ? всем объяснять хитрость кода ? или надо иметь библиотеку - которая будет безошибочно работать. Или если проект в миллионы строчек, и где-то ошибка - то помойму проще искать ошибку в своем коде, и исключать ошибки в стандартных библиотеках, чем искать ошибку и в своих библиотеках и в своем коде и логике.
6) вы не знаете в чем вы нуждаетесь, пока не станете Архитектором проектов, или хотя бы Senior Java Developer, т.к. это приходит с опытом, и через два года вы можете полностью поменять свой взгляд на вещи.
Не согласен совершенно, что эти дети вундеркинды. Просто дело в том, что мозг ребенка, где-то до 10 лет впитывает информацию как губка. Вот к примеру дети легко могут обучиться двум или более языкам, к примеру дети эмигрантов легко в 5-7 лет общаюстя и на английском и на русском, или других языках и причем без акцента. А вот возьмите взрослого человека, сколько ему потребуется, чтоб без акцента изучить язык ??? Или хотя бы просто научиться разговаривать или ходить, бывает люди попадают в аварии или какие-то болезни, и годами заново учатся управлять ногами, или учиться говорить !
Просто их детсво направили в учебу, или в компьютеры, и дети только этим и занимаются, а с учетом развитие мозга - у них это получается на порядок быстрее взрослого человека. Зато вот к 20 годам, когда люди выравниваются по развитию мозга - эти дети вундиркинды становятся такой же серой массой как и все.
И самое большая проблема чаще всего у этих детей - это то что они не подготовлены к жизни, т.к. все дество у них было в учебе, и они замыкались в себе.
Плюс вторая большая проблема у вундеркиндов - это то что в дестве им все легко давалось, а потом, когда сверстники их догоняют - они раслабляются, забивают на учебу, и начинают интересоваться тем, чем интересовались в дестве нормальные люди.
Вот к примеру многие в дестве умели читать и считать уже в три года(я к примеру только в школе научился), и что, где эти вундеркинды ?
Или вот у нас в классе была девочка, которая уже знала всю программу 1-3 класса, и была отличницей, но после 6-го класса - она уже была среднячок, а 11-ый класс школы уже закончила с тройками-четверками, и даже без медалей.
P.S. сомневаюсь на счет дизайнера в 3 года...
Вот к примеру вы много знаете детей вундыркиндов которые чего-то добился когда выросли ? я вот к примеру ни одного не знаю, зато слышал о большом количестве детей вундыркиндов которые заканчивали университеты в 13 лет а то и раньше...
помойму это обычный спам-бот, AOL уже давно мечтает на рекламе таргетинговой зарабатывать...
Причем наверняка в офицальном клиенте его нельзя ни забанить, ни удалить, ни блокировать
P.S. сам сижу на миранде, так что проверить сложно.
Кстати еще, что самое интерессное про Россию - Америка там плачет от цены за галлон бензина в 4 бакса(галлон где-то 3.7 литра), т.е. цена за литр где-то 1.1 доллар, хотя в россии цена на бензин уже давно больше доллара, а мы что богаче живем ?:)
Больше всего не люблю в жизни, когда обычные обыватели, которые слабо представляют принципы экономики и торговли нефтью через допустим фьючерсные контракты, начинают выдавать свои мысли, хорошо если эти мысли будут каким-то собственным логическим умозаключением, а не просто перепечатывания чужих мыслей.
Нефть сейчас не такая дорогая, как была к примеру в в конце 70-х, начала 80-х, середина 80-х. Да тогда она была около 80-90 долларов, но по тем временам 80 баксов было как сейчас наверно 400 (инфляция и т.д.). И тогда тоже был спекулятивный спрос, ну и геополитика тоже. Сейчас (лично мое мнение) цены на нефть чистой воды спекуляции, и то что пишут крупные инвест банки о цене на нефть под 200, 300 и т.д. баксов - это чистой воды вербальная интервенция, чтоб обычные обыватели пошли и купили пару фьючерсов на нефть. Вот год назад нефть стоила 55-60 баксов. Кто нибудь верит, что за год резко возрос спрос ??? или если взять любые товарные рынки - рис, пшеница, еда и т.д. что люди в ДВА РАЗА больше стали есть ??? Чушь это, да конечно возможн реальный спрос и вырос, но не 2-3 раза за год ???
А ситуация тут вот какая(обычно в новостях такое не пишут): после августовского кризиса в 2007 году, крупнейшие мировые инвест банки погорели на американской субпрайм ипотеки. И уже списали порядка 500 млрд баксов(могу ошибаться в цифрах, но она действительно существенная). Пару крупных мировых банков уже обонкротились. ФРС(Федеральная Резервная Система США) стали резко уменьшать процентные ставки(это ставки по которым банки могут получать кредиты от ФРС).Банки в спешном порядка стали латать дыры и налаживать свою леквидность. Как только пик кризиса прошел - банкам захотелось быстренько востановить гиганские потери. Банки стали брать дешевые кредиты(ставка в США упала на с 5.25(или 5.75, точно не помню и проверять влом) до 2-х процентов), т.е. деньги стали очень дешевые, и стали в массовом порядке вкладывать эти деньги в товарные рынки - ведь дорожается не только нефть, дорожает кукуруза, соя, все металлы, газ, нефть. Как раз ровно с сеньтября-октября начался рост товарных рынков, и еще реще стал после декабря 2007 года, как раз когда прошел пик кризиса, банки востановили ликвидность, и все деньги которые брали от ФРС шли уже не на внутренние нужны на торговлю на биржах.
Теперь если посмотреть с другой стороны - со стороны нефтедобытчиков. Сначала было все хорошо, цены росли - все радовались сверх прибыли. Потом когда цены стали просто взлетать, и каждый день устанавливать максимумы - начались проблемы. А проблемы начались такие - ФРС США стали тупо печать доллары, нефть 140 баксов - мы напечатаем 140, нефть 300 - напечатаем 300. И в странах экспортеров резко пошла инфляция вверх(хотя бы взять россию - у нас всплеск инфляции начался ровно с осени, когда полезли вверх цены на нефть, и ровно после начала банковского кризиса в США). Теперь экспортеры поняли, что какая-бы цена на нефть не была, ее всю сожрет инфляция. Причем эта инфляция тупо экспортируется из развитых стран. У нас инфляция с начала года под 8.4 % а если брать ровно год как цикл то где-то под 14-16%, а в европе к примеру 3 %, а в США и того 2.8 %. Когда экспортеры это осознали (пока к сожалению только саудовская аравия), они начали бороться уже с большими ценанми на нефть, и в частности увеличивать нефте-добычу.
Так что лично мое мнение - нефть упадет вниз на много быстрее, чем она росла, и потом будет кризис дешевой нефти в россии....
Цена синхронизации конечно важна, но намного важней чтоб не нарушалась целостность данных при многопоточной работе.
Мне не очень понравился пятый пример, все не мог понять чем. Нашел на javaworld.com, плюс на ibm.com, и я нашел объяснения - того что мне не нравится.
1) то что в 5-ом примере используете двойную проверку - это хорошо, если бы ее не было внутри сихнронизованной секции, это бы вообще работало не корректно и не был даже синглтон.
2) чем плох все-таки 5-ый пример в отличии от синхронизации именно метода getInstance(), вот что пишет ibm:
The theory behind double-checked locking is perfect. Unfortunately, reality is entirely different. The problem with double-checked locking is that there is no guarantee it will work on single or multi-processor machines.
The issue of the failure of double-checked locking is not due to implementation bugs in JVMs but to the current Java platform memory model. The memory model allows what is known as "out-of-order writes" and is a prime reason why this idiom fails.
Как раз что и я и говорил - при работе на реальных JVM в исключительных ситуациях.
К примеру вот такой вариант будет работать всегда:
public static Singleton getInstance()
{
if (instance == null)
{
synchronized(Singleton.class) { //1
Singleton inst = instance; //2
if (inst == null)
{
synchronized(Singleton.class) { //3
//inst = new Singleton(); //4
instance = new Singleton();
}
//instance = inst; //5
}
}
}
return instance;
}
Большая часть инфы и пример взят от сюда:
http://www.ibm.com/developerworks/library/j-dcl.html
Так же эту ситауацию еще расматривают тут
http://www.javaworld.com/jw-01-2001/jw-0112-singleton.html?page=6
Думаю на это дискуссия закончилась ) я не мог точно объяснить почему это плохо, теперь объяснение есть, поэтому я немного не в ту степь пошел при возникшем споре.
просто я разрабатываю системы реального времени со сверх большой нагрузкой, и каких только "не может быть" у нас не было, и каких разниц только в реализациях и поведения Solaris, Linux не было.
А системы отличаются очень сильно. К примеру Windows закрывает сокеты сразу же, а solaris вообще не закрывает сокеты, а переводит их в состояние TIME_WAIT(и таких примеров куча).
По поводу примеру, какой смысл надеятся на правильнную реализацию static class loader при многопоточном режиме ? я почти уверен что можно сэмулировать StaticInitializationException при подходве 2-3 в многопоточном обращении к объекту.
Да ладно )) я вам могу как минимум привести 2-3 примера где вариант 2,3 не будет работать в многопоточной среде, и скорее всего выволется по exception'у. К примеру один поток запускает этот класс для инициализации, и тут вдруг срабатывает FullGC, все объекты и потоки переходят опять в состояние Runnable, и после этого JVM выбирает потом которые первый пойдет на выполнения, и нету гарантии что первый потом пойдет именно тот который был до FullGC. Дальше, если инициализация объекта достаточно затратное время -допустим коннект к базе данных, или еще что-нибудь. То я вас уверяю что без сихнронизации один поток скорее всего получит null в ответ, или выволиться StaticInitializationException. Причем еще такая реализация без сихнронизации может сильно отличаться в разных средах допустим на Solaris или Windows
помойму вы сами себе противоречите, почему же не имеет смысла использовать сихнхронизацию на get ? Если у вас в 4А-ом примере используется сихронизация именно на get методе. Хотя конечно реализация 4Б-ым вариантом намного логичней. Реализация 1,2,3 фактически одно и тоже, и расматривает однопоточные решения. Различаются только способом создания объекта, и возможности обработки исключения на этапе инициализации объета или конструктора.
P.S. за минусы спасибо
P.S. сервис не смотрел, может и не зарабатывают они деньги, но цену их проекта это поднимает
Любая новая строчка кода - потенциально приводит к ошибке, есть даже статистика, на сколько строчек кода в среднем приходится ошибок, дак зачем увеличивать эти строчки кода,для получения новых ошибок ?
2) свой код не быстрее и не уверсальнее, не хочу спорить надо этим долго, это приходит с опытом
3) свой код поддерживать не дешевле, но я говорю тут только о тех библиотеках которые входят в пакет SDK, на счет кода сторонних разработчиков спорно, все зависит от того что за проект и что за библиотека. Я к примеру в проекта использую библиотеку SNMP4J - это работа с SNMP протоколом, написание своей библиотеки займет ужасно много времени, чем я буду бодаться с глюками разработчиков этой библиотеки...
4) понимие чужого кода вообще ни от чего не зависит, чужой код можно без проблем понимать, но видеть его ужасность, и иметь большое желание все переделать, и нету гарантии, что потом другой человек не сделает так же. А если в команде работает 20 человек ? то что делать ? всем объяснять хитрость кода ? или надо иметь библиотеку - которая будет безошибочно работать. Или если проект в миллионы строчек, и где-то ошибка - то помойму проще искать ошибку в своем коде, и исключать ошибки в стандартных библиотеках, чем искать ошибку и в своих библиотеках и в своем коде и логике.
6) вы не знаете в чем вы нуждаетесь, пока не станете Архитектором проектов, или хотя бы Senior Java Developer, т.к. это приходит с опытом, и через два года вы можете полностью поменять свой взгляд на вещи.
Просто их детсво направили в учебу, или в компьютеры, и дети только этим и занимаются, а с учетом развитие мозга - у них это получается на порядок быстрее взрослого человека. Зато вот к 20 годам, когда люди выравниваются по развитию мозга - эти дети вундиркинды становятся такой же серой массой как и все.
И самое большая проблема чаще всего у этих детей - это то что они не подготовлены к жизни, т.к. все дество у них было в учебе, и они замыкались в себе.
Плюс вторая большая проблема у вундеркиндов - это то что в дестве им все легко давалось, а потом, когда сверстники их догоняют - они раслабляются, забивают на учебу, и начинают интересоваться тем, чем интересовались в дестве нормальные люди.
Вот к примеру многие в дестве умели читать и считать уже в три года(я к примеру только в школе научился), и что, где эти вундеркинды ?
Или вот у нас в классе была девочка, которая уже знала всю программу 1-3 класса, и была отличницей, но после 6-го класса - она уже была среднячок, а 11-ый класс школы уже закончила с тройками-четверками, и даже без медалей.
P.S. сомневаюсь на счет дизайнера в 3 года...
Вот к примеру вы много знаете детей вундыркиндов которые чего-то добился когда выросли ? я вот к примеру ни одного не знаю, зато слышал о большом количестве детей вундыркиндов которые заканчивали университеты в 13 лет а то и раньше...
Причем наверняка в офицальном клиенте его нельзя ни забанить, ни удалить, ни блокировать
P.S. сам сижу на миранде, так что проверить сложно.
Нефть сейчас не такая дорогая, как была к примеру в в конце 70-х, начала 80-х, середина 80-х. Да тогда она была около 80-90 долларов, но по тем временам 80 баксов было как сейчас наверно 400 (инфляция и т.д.). И тогда тоже был спекулятивный спрос, ну и геополитика тоже. Сейчас (лично мое мнение) цены на нефть чистой воды спекуляции, и то что пишут крупные инвест банки о цене на нефть под 200, 300 и т.д. баксов - это чистой воды вербальная интервенция, чтоб обычные обыватели пошли и купили пару фьючерсов на нефть. Вот год назад нефть стоила 55-60 баксов. Кто нибудь верит, что за год резко возрос спрос ??? или если взять любые товарные рынки - рис, пшеница, еда и т.д. что люди в ДВА РАЗА больше стали есть ??? Чушь это, да конечно возможн реальный спрос и вырос, но не 2-3 раза за год ???
А ситуация тут вот какая(обычно в новостях такое не пишут): после августовского кризиса в 2007 году, крупнейшие мировые инвест банки погорели на американской субпрайм ипотеки. И уже списали порядка 500 млрд баксов(могу ошибаться в цифрах, но она действительно существенная). Пару крупных мировых банков уже обонкротились. ФРС(Федеральная Резервная Система США) стали резко уменьшать процентные ставки(это ставки по которым банки могут получать кредиты от ФРС).Банки в спешном порядка стали латать дыры и налаживать свою леквидность. Как только пик кризиса прошел - банкам захотелось быстренько востановить гиганские потери. Банки стали брать дешевые кредиты(ставка в США упала на с 5.25(или 5.75, точно не помню и проверять влом) до 2-х процентов), т.е. деньги стали очень дешевые, и стали в массовом порядке вкладывать эти деньги в товарные рынки - ведь дорожается не только нефть, дорожает кукуруза, соя, все металлы, газ, нефть. Как раз ровно с сеньтября-октября начался рост товарных рынков, и еще реще стал после декабря 2007 года, как раз когда прошел пик кризиса, банки востановили ликвидность, и все деньги которые брали от ФРС шли уже не на внутренние нужны на торговлю на биржах.
Теперь если посмотреть с другой стороны - со стороны нефтедобытчиков. Сначала было все хорошо, цены росли - все радовались сверх прибыли. Потом когда цены стали просто взлетать, и каждый день устанавливать максимумы - начались проблемы. А проблемы начались такие - ФРС США стали тупо печать доллары, нефть 140 баксов - мы напечатаем 140, нефть 300 - напечатаем 300. И в странах экспортеров резко пошла инфляция вверх(хотя бы взять россию - у нас всплеск инфляции начался ровно с осени, когда полезли вверх цены на нефть, и ровно после начала банковского кризиса в США). Теперь экспортеры поняли, что какая-бы цена на нефть не была, ее всю сожрет инфляция. Причем эта инфляция тупо экспортируется из развитых стран. У нас инфляция с начала года под 8.4 % а если брать ровно год как цикл то где-то под 14-16%, а в европе к примеру 3 %, а в США и того 2.8 %. Когда экспортеры это осознали (пока к сожалению только саудовская аравия), они начали бороться уже с большими ценанми на нефть, и в частности увеличивать нефте-добычу.
Так что лично мое мнение - нефть упадет вниз на много быстрее, чем она росла, и потом будет кризис дешевой нефти в россии....
Мне не очень понравился пятый пример, все не мог понять чем. Нашел на javaworld.com, плюс на ibm.com, и я нашел объяснения - того что мне не нравится.
1) то что в 5-ом примере используете двойную проверку - это хорошо, если бы ее не было внутри сихнронизованной секции, это бы вообще работало не корректно и не был даже синглтон.
2) чем плох все-таки 5-ый пример в отличии от синхронизации именно метода getInstance(), вот что пишет ibm:
The theory behind double-checked locking is perfect. Unfortunately, reality is entirely different. The problem with double-checked locking is that there is no guarantee it will work on single or multi-processor machines.
The issue of the failure of double-checked locking is not due to implementation bugs in JVMs but to the current Java platform memory model. The memory model allows what is known as "out-of-order writes" and is a prime reason why this idiom fails.
Как раз что и я и говорил - при работе на реальных JVM в исключительных ситуациях.
К примеру вот такой вариант будет работать всегда:
public static Singleton getInstance()
{
if (instance == null)
{
synchronized(Singleton.class) { //1
Singleton inst = instance; //2
if (inst == null)
{
synchronized(Singleton.class) { //3
//inst = new Singleton(); //4
instance = new Singleton();
}
//instance = inst; //5
}
}
}
return instance;
}
Большая часть инфы и пример взят от сюда:
http://www.ibm.com/developerworks/library/j-dcl.html
Так же эту ситауацию еще расматривают тут
http://www.javaworld.com/jw-01-2001/jw-0112-singleton.html?page=6
Думаю на это дискуссия закончилась ) я не мог точно объяснить почему это плохо, теперь объяснение есть, поэтому я немного не в ту степь пошел при возникшем споре.
А системы отличаются очень сильно. К примеру Windows закрывает сокеты сразу же, а solaris вообще не закрывает сокеты, а переводит их в состояние TIME_WAIT(и таких примеров куча).
По поводу примеру, какой смысл надеятся на правильнную реализацию static class loader при многопоточном режиме ? я почти уверен что можно сэмулировать StaticInitializationException при подходве 2-3 в многопоточном обращении к объекту.
Здесь очень неплохо написано про volatile, final и синхронизацию, советую прочитать