• PHP+Symfony или Ruby+RoR?

    viktorvsk
    @viktorvsk
    Для обучения у руби и рельс, на мой взгляд, есть неоспоримый плюс.
    Вот то, что называют порогом входа (я, признаться, не особо понимаю это), мне кажется, играет злую штуку. Например, на руби и рельсах Вы не сможете за 2 часа сделать сайт-визитку, отдать ее заказчику, получить деньги и расслабиться, считая себя крутым разработчиком.

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

    Например, что бы начать с ним работать вообще - нужны *nix. Можно, конечно, продолжать юзать виндовс, но пользоваться виртуальными машинами, но это тоже - шаг вперед перед пхп с его денвером и т.д.

    Далее, что б установить интерпретатор, в 95% случаев вы поставите менеджер версий языка (rvm или rbenv), что уже много лучше, чем глобальная установка.

    Что бы запустить свой первый проект, Вам понадобится менеджер пакетов - что лучше, чем качать zip архивы и распаковывать в нужную директорию.

    Что б скачать некоторые пакеты, нужен будет гит, что само по себе очень круто.

    Когда будете выполнять какие-то учебные задания, Вам на выбор дадут познакомиться, как минимум, с тремя базами сразу, а не ограничиться одним мускулем.

    Итак, теперь вы приступили к созданию сайта-визитки, обладая уже неплохим багажом знаний для начала.

    Вот вы ее сделали, используюя архитектуру рельс и хоть какое-то понимание раздления кода, роутинга, хелперов и т.д.

    Дальше, нужно ж как-то показать заказчику результат? Самым первым вариантом, скорее всего, вы познакомитесь с Хероку - PaaS сервис вещь тоже довольно полезная.

    Но вскоре вы поймете, что он вас не очень устраивает. И попробуете разместить сайт-визитку на хостинге.

    Здесь Вам придется познакомиться с ВПС, базовой настройкой линукса, юникс-сокетами, понятиями работы различных веб-серверов

    Но вот Вы настроили свой сервер. Надо залить туда свой код. В руби Вам будет очень сложно пойти путем "использования ФТП плагинов в редакторе кода" - как-никак, а придется познакомиться с техниками нормального деплоя.

    Выглядит сложновато для начала, но зато Вы сразу познакомитесь со всем современным стеком технологий, которые очень сильно облегчает жизнь.

    Безусловно, весь этот процесс можно проводить на любом языке - где-то чуть проще, где-то чуть лучше. Но если в пхп можно обойтись без этого и долгое время даже не представлять, что можно деплоить код безопасно, с автоматическим откатом назад, если что-то пошло не так, да еще и с нулевым даунтаймом, то в руби вам придется сделать это сразу.
    Ответ написан
    4 комментария
  • Какие есть captcha-сервисы?

    Niels
    @Niels
    Посмотрите вот эту подборку, возможно пригодится 2coders.ru/20-besplatnyx-captcha-skriptov
    Ответ написан
    Комментировать
  • Как проверить доменную зону в строке с email?

    kissarat
    @kissarat
    Node.js
    Нельзя ожидать, что у email есть какой-то формат. Можно лишь с утверждением говорить, что это две строки, в которых нет пробела, разделены @, в правой из которых должна быть как минимум одна точка. Доменнов верхнего уровня есть сотни, а еще есть килечные адреса. Некоторые символы в имени пользователя могут быть проигнорированы тем или иным почтовым сервером, поэтому возможно на один и тот же почтовый ящик зарегистрировать несколько аккаунтов.
    Ответ написан
    1 комментарий
  • Сколько примерно стоит инвайтер?

    gadfi
    @gadfi
    https://gamega.org
    Сколько стоит машина?
    Возьмем цифру немного с потолка, пусть 5 000$. Если столько попросят за запорожец то вы вероятнее всего пошлете такого продавца, с еще большим энтузиазмом вас пошлют при попытки купить лаборджини за такие деньги, хотя и то и то машины.
    Нету внятного ТЗ результат хз © фрилансерское народное творчество
    pam_zak.jpg
    Ответ написан
    Комментировать
  • Подгрузка изображения после ajax запроса?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    var img = new Image();
    img.src = "http://site.com/path/to/image.jpg";
    Ответ написан
    Комментировать
  • В чем проблема с установкой собственного модуля через Magento Connect?

    Hide
    @Hide
    инженер-программист
    > CONNECT ERROR: The 'Form' channel is not installed. Please use the MAGE shell script to install the 'Form' channel.
    Похоже, пакет был упакован неверно. Ожидается, что channel будет в виде урла на ваше расширение на магенто-коннект. Вы вообще как упаковывали? Как ставили? (по шагам со скриншотами). Или дайте ссылку для скачивания. Скачаю и попробую установить локально у себя. Заодно проверю - правильно ли упаковано.

    > а после этого CMS "накрылась" и на все запросы отвечала ошибкой 503
    Удалите файл "maintenance.flag" в корне сайта-магенты. Видимо, при установке расширения стояла галочка "Put store on the maintenance mode while installing/upgrading/backup creation". Обычно, она установлена по умолчанию.

    UPD:
    www.magentocommerce.com/wiki/_detail/general/packa...
    Обратите внимание, там для поля "Channel" указано значение "community". У вас же почему-то "Form". Отсюда и ошибка.
    Ответ написан
  • Что будет, если наполненную водой металическую сферу быстро заморозить до -500?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Вопрос: что будет, если сферу быстро заморозить до -500? Процесс?


    Заморозка остановится на температуре -273,15.
    Поищите, что значит это число :)
    Ответ написан
    3 комментария
  • Принудитальная очистка памяти PHP?

    @egorinsk
    Если у вас есть утечка памяти в PHP. то это, как правило не баг PHP. Наверняка где-то в библиотеке, которую вы используете, есть лог или кеш и он копится, не освобпждаясь (был случай, например, когда все SQL-запросы логгировались в массив, который никогда не очищался).

    Например, есть такая библиотека phpQuery, когда-то я пробовал ей пользоваться, она потребляла память в немерянных количествах.

    Также утекать могут расширения вроде DOM.

    В общем, изучите код внимательно и поищите сомнительные места.

    Хочется послать также лучей ненависти всем, кто, не разобравшись в проблеме, пишет глупости вроде «PHP течет». В PHP система управления памятью лучше чем в других языках, так как в нем есть и Copy-on-Write, и счетчик ссылок, и сборщик мусора. Не во всех языках это доступно.
    Ответ написан
    Комментировать
  • Когда в PHP использовать интерфейсы, а когда абстрактные классы?

    try4tune
    @try4tune
    С точки зрения архитектуры:

    Интерфейс описывает свойства. Обратите внимание на классические названия интерфейсов: Throwable, Countable, Comparable, Iterable и т.д. Возьмем, к примеру, интерфейс Rollable (катящийся), и Foldable (складывающийся).

    Абстрактный класс же описывает сущность. Например, стол: Table_Abstract. Стол может быть деревянным, тогда будет Table_Wood extends Table_Abstract. Также стол может быть хирургическим: Table_Surgical extends Table_Abstract. В таком случае Table_Abstract объединяет общий свойства всех столов (скажем, площадь поверхности, наличие ножек и т.п.). А конкретный класс описывает сущность определенного типа столов.

    Связью же интерфейсов и классов Вы описываете свойства. Например, стол можно катить: Table_Abstract implements Rollable. Деревянный стол, например, можно сложить: Table_Wood implements Foldable.
    Ответ написан
    5 комментариев