- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Привет всем!
хочу поделиццо такой новостью: "Руби на рельсах - рулез форева!"
да, не знаю, кто там у кого отсасывает в топики на пару строк ниже, но вот что хочу сказать в пользу Ruby on Rails:
На данный момент - Ruby - является полноценным фреймворком для разработки веб-приложений, и набирает популярность в Европе ( уже довольно много проектов разработано и продолжает разрабатываться)
К томе же Apple заявила, что сделает поддержку Ruby on Rails на новой версии своей операционки: Mac OS X v10.5
Фишки Руби:
- принцип "Не лезь убьёт" - или Don't repeat yourself.
То есть, много стандартных решений, которые уже можно использовать. Решение= компоненты.
Например ActiveREcord для баз данных. ( это такой подход для извлечения данных из базы)
может есть тут люди, которые пишут на java или .net ( ну и php в том числе)
Есть такая проблема. как вставка и получение объекта в базу/из базы.
И для этого используются различные фрейворки а-ла Hibernate, Ibatis и прочих.
ВНИМАНИЕ! В Руби это уже встроено:
ДОпустим, чтобы извлечь объект из базы:
param = "benladenko"
myObject = Part.find(:first, :conditions => [ "surname = ?", benladenko ])
то есть, результатом всего этого будет объект myObject, созданный на основе данных, извлеченных из таблицы.
То же самое можно записать короче:
uzhosnax = Terrorists.find_by_surname("benladenko")
И это встроенная поддержка! Стандартные средства языка! Без фсяких там Hibernate и прочих гадостей.
2. Договоренность по конфигурации:
Есть различные договоренности по умолчанию ( если есть класс Student, то соотв. ему таблица в базе будет Students)
Если же надо сделать custom-table, Тогда просто указываем в конфиге: set_table_name "minsk_bsuir_students"
Т.е. уже с самого начала идет уменьшение количества кода, которое надо писать.
Да, если так подумаль дальше. Если есть базовая конфигурация, то за счет нее, можно создать реальный каркас, который можно затачивать под разные нужды.
Т.е. нужно вам магазин по компам -берем такую-то конфигурацию, другие товары - свою конфигурацию. Если нет - пишет новую и юзаем ее при дальнейшем использовании.
Да, еще нужно добавить, в Ruby:
Все является объектом
архитектурный подход Java
Поддержка MVC
Расширяемая стандартная библиотека
Можно создавать новые программы по время выполнения кода!
+ поддержка Ajax
и много всего остального!
Так что - решайте сами кто круче :)
Проекты на Рубях:
backpackit.com
http://www.basecamphq.com/?ref=tadapub
http://basecamphq.com/signup.php - офигенный проект!!!!
http://basecamphq.com/signup.php - офигенный проект!!!!
Это такая шутка или разработчики так бояться признать на чём сделан сайт, что приписывают php расширение и обработку для ruby :)
Это такая шутка или разработчики так бояться признать на чём сделан сайт, что приписывают php расширение и обработку для ruby :)
сорри, это я наверно ошибся когда постил
да. вот еще накопал интересных фактов в защиту Ruby: ☝
от создателя "Юкихиро Мацумото"
Ruby:
* имеет простой синтаксис;
* поддерживает обработку исключений;
* позволяет переопределять операторы;
* является чисто объектно-ориентированным языком (complete, full, pure object oriented language), в котором, в отличие от Java (в java 1.5 частично эта проблема решена) или Perl, все -- объекты;
* позволяет работать с целыми числами произвольной величины;
* не требует объявления переменных;
* использует префиксы (@, $, @@) для задания области видимости (scope) переменных;
* поддерживает многопоточное программирование.
Дополнительные преимущества Ruby.
Ruby является динамическим языком. В отличие от статических языков, подобных C++ или Java, методы и переменные в Ruby могут быть добавлены или переопределены во время выполнения программы. Это позволяет, например, обойтись без директив условной компиляции #ifdef, необходимых для языка C. Здесь проявляется сходство Ruby с такими языками, как Lisp и Smalltalk.
Ruby -- интерпретируемый язык. Так как это свойство отрицательно сказывается на производительности, то хочется дать некоторые комментарии. Во-первых (и это самое главное), быстрый цикл разработки является важнейшим достоинством, которое <<перевешивает>> некоторые недостатки. Во-вторых, хотя Ruby и не является катастрофически медленным, в тех случаях, когда скорость абсолютно необходима, можно написать часть кода на языке C. Наконец, в-третьих, никто не сказал, что когда-нибудь не будет написан компилятор с языка Ruby.
В Ruby имеется возможность работы с регулярными выражениями. Когда-то они использовались только в некоторых утилитах UNIX-систем (grep, sed, vi). Затем, благодаря языку Perl, значительное число людей признало их мощь при обработке текстов. Ruby дает возможность использовать эту силу с еще большей легкостью.
Помните известную фразу Исаака Ньютона <<Если я видел дальше, чем другие, то только потому, что стоял на плечах гигантов>>? Ruby, безусловно, <<стоит на плечах гигантов>>, среди которых Smalltalk, CLU, Lisp, C, C++, Perl, Kornshell и другие языки. В Ruby собрано все лучшее, что накоплено человечеством в области языков программирования. При этом соблюдены следующие три принципа: не изобретать колесо, не чинить не сломанное, использовать имеющиеся у программистов знания и опыт. В Ruby пригодятся и знания о файлах и потоках из ОС UNIX, и спецификации функции printf из стандартной библиотеки ввода/вывода языка C, и умение работать с регулярными выражениями в Perl.
Ruby -- язык написания сценариев (scripting language). Не следует считать, что это характеризует язык, как <<игрушечный>> или недостаточно мощный. Подобный язык должен быть интерпретируемым и способным заменить командные файлы, взаимодействующие с операционной системой и управляющие поведением других программ.
Ruby -- универсальный и гибкий язык. С его помощью можно одинаково изящно реализовать как то, что традиционно делается с помощью интерпретатора Kornshell, так и то, что пишется обычно на C.
По простоте и богатству возможностей работы со строками и массивами языку Ruby нет конкурентов. Массивы являются динамическими, с ними можно оперировать как с множествами, стеками и очередями. Есть и ассоциативные массивы, работа с которыми также чрезвычайно проста и удобна.
Для языка Ruby уже написано большое число библиотек. Потоки, сокеты, объекты, сохраняемые между запусками программ, CGI-программы, базы данных, GUI -- все это можно использовать, программируя на Ruby.
Дэйв Томас (Dave Thomas) и Энди Хант (Andy Hunt), соавторы первой книги по Ruby, вышедшей на английском языке, в интервью журналу ``Dr. Dobb's Journal'' (январь 2001) говорят: <<Возьмите чисто объектно-ориентированный язык Smalltalk и избавьтесь от его причудливого синтаксиса. Добавьте комфорт и мощь языка Perl, но без всяких специальных случаев и магических преобразований. Заверните получившееся в ясный синтаксис, основанный частично на языке Eiffel, и добавьте понемногу от Scheme, CLU, Sather и Common Lisp. У вас получится Ruby.>> Фактически это означает, что Ruby -- естественный и практически неизбежный результат эволюции современных языков программирования. Авторы данной статьи согласны с такой точкой зрения.
Хочется подчеркнуть, что Ruby не является панацеей для решения всех проблем программистов. Не следует отказываться от использования языков Java и C++ там, где их применение оправдано. С другой стороны, не разумно недооценивать возможности практического применения Ruby в реальных проектах.
Послушаем теперь высказывания лучших представителей программистского сообщества, которые сравнивают Ruby с другими языками.
Начнем с языка Java:
* Ruby -- интерпретируемый язык;
* в Ruby все является объектом (в Java есть типы int и Integer, что создает определенные неудобства);
* переменные в Ruby не являются статически типизированными и не требуют объявления;
* модули (modules) в Ruby позволяют с помощью <<миксинов>> (mixins) конструировать подобие интерфейсов (interfaces) языка Java, допуская при этом в них реализацию методов.
Теперь сравним с языком Perl:
* Ruby значительно легче освоить, на нем легче программировать, а написанные программы проще сопровождать;
* в Ruby префиксы (@, $, @@) описывают область видимости (scope), а не тип переменной;
* Ruby позаимствовал из языка Perl регулярные выражения, переменную $_ и многое другое.
Завершим сопоставление Ruby с другими языками рассмотрением одного из ближайших <<конкурентов>> -- языка Python. Это сравнение особенно интересно потому, что именно Python рассматривается сейчас многими, как хороший кандидат на роль первого языка программирования. Итак, сравним Ruby с языком Python:
* управляющие конструкции и методы в языке Ruby завершаются ключевым словом end, в то время как Python использует так называемый <<двумерный>> синтаксис, когда признаком завершения является изменение количества лидирующих пробелов в очередной строке программы;
* вместо self в Ruby для обозначения переменных экземпляра используется префикс @;
* в Ruby, в отличие от языка Python, понятия типа и класса являются синонимами;
* Python не поддерживает наследования и не позволяет добавлять методы к существующим типам;
* используемый в Ruby алгоритм сборки мусора позволяет проще писать реализации методов на языке C;
* расширения для Ruby, написанные на C/C++ позволяют определять новые классы;
* зачастую Ruby быстрее, чем Python.