Очень надеюсь, что я все еще не до конца Вас понял. В противном случае выходит, утрируя, что вы любому посетителю высылаете login-форму с заполненным полем пароля (пусть и уникальным и действительным лишь в течение минуты значением) и рассчитываете, что лишь добропорядочный пользователь нажмет кнопку «login». Проблема в том, что Вы получаете данные для формирования рейтинга от социальных сетей через клиента-посредника, проверяя подлинность данных по ключу (хэшу), который сами же только что выдали этому посреднику. Если же я все-таки правильно понял, то думаю, стоит пренебречь «привлекательностью» и все же перенести эту часть логики в укромное место на сервере.
Не знаю как насчет изящнее, но, думаю, получать счетчики от соц. сетей на сервере, а не на клиенте, было бы как минимум надежнее. Т.е. клиент шлет запрос «обновись» серверу, а тот сам снимает показатели счетчиков и обновляет значения в базе. Да, и как себя ведет Ваш «костыль», при смене минуты? Т.е. юзер загрузил страницу (со своим уникальным хэшем, зависящим от времени вплоть до минуты), затем выпил кофе и через пять минут жмякнул like. В таком случае на сервере уже будет генерироваться новый хэш и проверка не пройдет?
Да ладно, у меня проблемы с rails magic были лишь в самом начале, поскольку элементарно не хватало знаний. По прошествии некоторого времени и накоплении определенного опыта, ruby ничуть не уступает python-у по читаемости.
По количеству коду я уже сказал, что работать с django довелось совсем немного, поэтому ничего серьезного сказать не могу. А вот базовая админка django — это уж точно не то, чем стоит хвалится. Далеко не всем сайтам она нужна в явном виде, и не столь велик ее функционал, чтобы это нельзя было реализовать самостоятельно. Да и вот — rails_admin. Не берусь утверждать стопроцентно (нет сейчас желания и необходимости вникать), но очень сомневаюсь, что хоть чем-то уступает варианту из поставки django.
Расскажите подробнее, в чем же ruby перлоподобный (с perl-ом, к сожалению, слабо знаком). Я вот до начала работы на ROR также искренне верил, что «Python самый красивый язык программирования», но, когда дело дошло до изучения Ruby, выяснилось, что последний не то что не менее красив, чем python, но в некоторых моментах даже приятнее творения Гвидо (никаких призывов к холивару, исключительно субъективное мнение). Тем не менее я по-прежнему люблю Python всем сердцем.
Что касается фреймворков, то с django я успел лишь немного побаловаться год или два назад, с rails пришлось лоб в лоб столкнуться уже на работе. Переход ruby > python был чрезвычайно плавным, с rails было существенно больше проблем — поначалу это все казалось если не читерством, то какой-то невероятной магией (видимо издержки преобладания соглашений над конфигурацией). Однако со временем освоился и, когда возникла необходимость сделать совершенно небольшой (пожалуй даже игрушечный) проект на django, то я пришел в уныние. Быть может я недостаточно знаком с перечнем сторонних плюшек, которые можно навесить на django, но в базовой комплектации при работе с django кода вышло существенно больше, чем я бы ожидал, разрабатывая то же самое приложение на rails. Согласен, что количество кода — это вроде как и не показатель, но с другой стороны именно это количество (при наличие определенного удобства) выливается в прирост скорости разработки. А если к rails добавить несметное множество плагинов и gem-ов, то, на мой взгляд, лидер очевиден. От работы с ROR создается явное ощущение, что вот Это уж точно создано не для кого-то там или для чего-то там, а именно для разработчика, чтобы в первую очередь доволен был именно он =) И это я еще, похоже, и половины мощи ROR на практике не успел оценить. Не знаю, как в сравнении с Zen или Symfony, но django, на мой взгляд, хорош, но слишком отстает — то ли команда разработчиков мала, то ли эти разработчики не достаточно решительны, чтобы привносить во фреймворк радикальные изменения, которые ему ой как нужны.
По мне так тут больше опасности в нетипичной работе map. До этой статьи я верил (начальное изучение JS, к сожалению, выдалось весьма сумбурным, и многие знания базируются на предположениях и фактах, полученных эмпирическим путем), что map в JS работает абсолютно так же, как в Python или Ruby. К счастью эта статья развеяла мои предположения раньше, чем я успел наступить на грабли =)
Хотя к неординарности JS уже привык. Даже в этой статье вылезла еще одна косвенная странность, о которой раньше не знал: долго смотрел на
и не мог понять, что происходит, а потом выяснилось, что объекту arguments не посчастливилось быть полноценным массивом или хотя бы обладать всеми стандартными методами массива, что, на мой взгляд, было бы весьма логичным.
Фронт работ для смельчаков — Top 40 Background and Texture Tutorials and Resources. Там вам и трава, и дрова, и все что душе угодно. Посмотрим, на сколько еще «фоновых» постов хватит терпения у хабрасообщества =)
Где же вы были, когда я месяц назад лабораторную писал =) Хотя там довелось еще реализовать и бикубический эрмитов сплайн. Однако, когда это все заработало да еще и изображение позумило — радости было немерено.
Я думаю, что Microsoft назвал технологию .NET, чтобы она просто бы не находилась в директориях unix.
Может как-нибудь так: «Думаю Microsoft назвал .NET именно так, чтобы он не отображался в директориях UNIX». Потому что «не находилась» — это немного не то.
Как бы то ни было, большое спасибо за статью. Для жаждущих — более обширный топик.
Дело в том, что я не столь тверд в своей любви к компании Apple, чтобы считать, что если плеер — то iPod, если телефон — то iPhone, если Стив — то Джобс, если яблоке — то надкусанные и так далее, а плееры cowon мне кажутся не менее достойными, чем iPod-ы, поэтому и мучался с выбором.
160Гб… видавший виды iPod Classic 80Гб поперхнулся и заметно занервничал. В свое время долго приглядывался к D2, но решил, что такого объема памяти мне будет маловато.
По количеству коду я уже сказал, что работать с django довелось совсем немного, поэтому ничего серьезного сказать не могу. А вот базовая админка django — это уж точно не то, чем стоит хвалится. Далеко не всем сайтам она нужна в явном виде, и не столь велик ее функционал, чтобы это нельзя было реализовать самостоятельно. Да и вот — rails_admin. Не берусь утверждать стопроцентно (нет сейчас желания и необходимости вникать), но очень сомневаюсь, что хоть чем-то уступает варианту из поставки django.
Что касается фреймворков, то с django я успел лишь немного побаловаться год или два назад, с rails пришлось лоб в лоб столкнуться уже на работе. Переход ruby > python был чрезвычайно плавным, с rails было существенно больше проблем — поначалу это все казалось если не читерством, то какой-то невероятной магией (видимо издержки преобладания соглашений над конфигурацией). Однако со временем освоился и, когда возникла необходимость сделать совершенно небольшой (пожалуй даже игрушечный) проект на django, то я пришел в уныние. Быть может я недостаточно знаком с перечнем сторонних плюшек, которые можно навесить на django, но в базовой комплектации при работе с django кода вышло существенно больше, чем я бы ожидал, разрабатывая то же самое приложение на rails. Согласен, что количество кода — это вроде как и не показатель, но с другой стороны именно это количество (при наличие определенного удобства) выливается в прирост скорости разработки. А если к rails добавить несметное множество плагинов и gem-ов, то, на мой взгляд, лидер очевиден. От работы с ROR создается явное ощущение, что вот Это уж точно создано не для кого-то там или для чего-то там, а именно для разработчика, чтобы в первую очередь доволен был именно он =) И это я еще, похоже, и половины мощи ROR на практике не успел оценить. Не знаю, как в сравнении с Zen или Symfony, но django, на мой взгляд, хорош, но слишком отстает — то ли команда разработчиков мала, то ли эти разработчики не достаточно решительны, чтобы привносить во фреймворк радикальные изменения, которые ему ой как нужны.
Хотя к неординарности JS уже привык. Даже в этой статье вылезла еще одна косвенная странность, о которой раньше не знал: долго смотрел на
и не мог понять, что происходит, а потом выяснилось, что объекту arguments не посчастливилось быть полноценным массивом или хотя бы обладать всеми стандартными методами массива, что, на мой взгляд, было бы весьма логичным.
Смело Вы так, против целой страны-то =)
(Немного самовнушения в этом деле не помешает :D)
Может как-нибудь так: «Думаю Microsoft назвал .NET именно так, чтобы он не отображался в директориях UNIX». Потому что «не находилась» — это немного не то.
Как бы то ни было, большое спасибо за статью. Для жаждущих — более обширный топик.