Направляющие трудно понять для разработчика PHP?

В течение прошедших двух дней я экспериментировал с Общественным усовершенствованным Выпуском Dotfuscator (бесплатная загрузка после регистрации основного CE, который прибывает связанный Visual Studio).

я думаю причина, больше людей не использует путаницу, как опция по умолчанию - то, что это - серьезная стычка по сравнению с риском. На меньших тестовых проектах я мог получить запутываемый код, работающий с большим усилием. Развертывание простого проекта через ClickOnce было неприятно, но достижимо после ручного подписания деклараций с волшебником. Единственная проблема состояла в том, что на ошибке отслеживание стека возвратилось запутываемое, и CE не имеет deobfuscator или осветлителя упакованными.

я пытался запутать реальный проект, который является VSTO, базирующимся в Excel, с Виртуальной Наземной интеграцией, большим количеством вызовов веб-сервиса и контейнера МОК и партия отражения. Это было невозможно.

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

9
задан Sasha Chedygov 14 November 2009 в 00:09
поделиться

13 ответов

ИМО, перейдя с C # на Ruby on Rails обратно на C #, заключается в том, что вы можете обойтись простыми приложениями, которые полностью соответствуют «мнениям» Rails, не зная, что происходит. Однако вы столкнетесь с препятствиями в ту минуту, когда вам нужно будет сделать что-то, что не является тривиальной задачей CRUD, или вам нужно будет реализовать задачу CRUD иначе, чем обычный рендеринг формы, пользователь нажимает сообщение, базовый контроллер создания шаблонов действие способ. Как только вы это сделаете, вам нужно будет больше узнать о Ruby, чтобы точно понять, что делает Rails.

8
ответ дан 4 December 2019 в 07:04
поделиться

Как и большинство вещей, когда вы понимаете что-то полностью, вы смотрите вниз на небольшую ступеньку и вспоминаете гору, которую вы видели, когда впервые посмотрели на нее. Я бы сказал, да, Ruby трудно понять большинству разработчиков по следующим причинам:

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

Лучший совет, который я могу дать, заключается в том, что каждая среда языка / фреймворка / разработчика предоставляет только один способ манипулирования фасетами машины / сети. Ошибка состоит в том, чтобы думать, что это единственный путь. Если вы подойдете к размышлению над Ruby, как это связано с PHP, тогда ожидайте затруднений, потому что во многих случаях, чуть ниже поверхности, этого не будет.

Конкретный пример:

  • Где мой цикл for ? et fight vous

однако, если вы спросите

  • , как мне запустить этот фрагмент кода для каждого элемента этого массива? Вы найдете много замечательных ответов и задаетесь вопросом, почему у вас вообще вообще был цикл for. Но помните, что есть даже лучшие способы, чем у Ruby сегодня!

Итак, обладая всеми возможностями Ruby, а также фреймворком rails, вы обязаны себе некоторое время, чтобы изучить основы. Да, вы можете творить чудеса с такими вещами, как рельсы, с очень ограниченными знаниями. Представьте, что вы можете сделать, потратив пару лет на изучение рубина за плечами.

Питер Норвиг написал очень хорошую статью под названием Научитесь программированию за десять лет . Я рекомендую взглянуть на это.

6
ответ дан 4 December 2019 в 07:04
поделиться

Я также предлагаю взять копию Язык программирования Ruby . Для меня это php.net ruby.

5
ответ дан 4 December 2019 в 07:04
поделиться

Получить книгу (+1 Эрику). Также посетите http://railscasts.com/

1
ответ дан 4 December 2019 в 07:04
поделиться

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

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

Я думаю, что самая большая проблема при переходе с php на Rails - это метод разработки. Слишком много PHP создается со всей или большим количеством логики, находящейся в представлении. Приложения Rails создаются со всей логикой, существующей в моделях. Если вы это понимаете, значит, вы уже прошли долгий путь к пониманию Rails.

Что касается ресурсов, я бы рекомендовал получить книгу Ruby for Rails: Ruby Techniques for Rails Developers Дэвида Блэка. Он разработан, чтобы превратить вас из разработчика Rails в разработчика Ruby.

+1 для всех других ресурсов, перечисленных выше.

3
ответ дан 4 December 2019 в 07:04
поделиться

Ruby может быть сложным, писать Ruby с Rails легко! Язык естественный и очень хорошо читается. Развертывание приложений Rails - вот где (ИМО) проблема. У вас не будет проблем, если вы хорошо знаете PHP, особенно если у вас есть такая книга, как Rails for PHP Developers

1
ответ дан 4 December 2019 в 07:04
поделиться

О, да, и поскольку вы конкретно обращаетесь к rails, в Rails Guides есть великолепный актуальный набор ресурсов. В дополнение к множеству отличных советов во множестве ответов здесь.

1
ответ дан 4 December 2019 в 07:04
поделиться

Рассмотрение вопросов по порядку -

В эти дни я довольно хорошо понимаю, что происходит внутри фреймворка - это совсем не то, что было правдой, когда я начал работать с Rails (хотя я несколько лет назад баловался Ruby)

Вам не обязательно понимать Rails, но на самом деле действительно помогает понять шаблон MVC (модель-представление-контроллер). Вы можете получить длинный путь очень быстро, но, как и большинство вещей, создавая что-то действительно высокое качество будет требовать напряженной работы.

Есть существенные различия в философии между Руби и PHP как языки (ИМО). Ruby более последователен в синтаксисе, но его сильная объектно-ориентированная подготовка означает, что придется договориться о нетривиальной кривой обучения. Думаю, оно того стоит, YMMV ,

0
ответ дан 4 December 2019 в 07:04
поделиться

Цитата из вас

... когда вы программируете в ror ... вы действительно понимаете, что происходит под поверхностью, если вы новичок?

PHP и RoR несравненный. Сам Ruby - это язык программирования, синтаксис которого такой же, как у PHP и других, однако Ruby on Rail - это среда приложений, использующая архитектуру MVC, которая сама по себе намного сложнее, чем язык, написанный на.

Если вы знакомы с любым PHP MVC таких фреймворков, как CakePHP, CodeIgniter или Zend Framework, то у вас не должно возникнуть особых трудностей, пытаясь понять разницу в синтаксисе, поскольку все они (варианты фреймворков MVC) фундаментально похожи.

0
ответ дан 4 December 2019 в 07:04
поделиться

Книга Programming Ruby очень важна. Чтобы писать приложения на Rails, вам необходимо хорошо разбираться в Ruby, иначе вы будете биться головой об стену большую часть дня. Я также рекомендую вам взглянуть на другие проекты Rails на GitHub, чтобы лучше понять, как что-то делается, лучшие практики и т. Д.

Затем, когда вы застрянете, задайте свой конкретный вопрос на Stack Overflow, и мы будем здесь, чтобы помочь: )

0
ответ дан 4 December 2019 в 07:04
поделиться

Будучи разработчиком PHP уже несколько лет и имея опыт работы с C и C ++, я могу сказать вам, что изучение Ruby после PHP совсем не сложно (субъективно, но это тоже вопрос). Ruby, конечно, имеет свои собственные идиомы и «лучшие практики», которые отличаются от PHP, но я думаю, вы найдете Ruby интересным и легким в освоении. Многие из «подводных камней» PHP отсутствуют в Ruby, поэтому изучение языка становится немного проще. Кроме того, если у вас есть опыт работы с ООП, вам будет намного лучше понимать Ruby.

Как отмечали другие, вы можете создавать простые приложения с помощью Ruby on Rails достаточно быстро, но если вам нужно это сделать Любая тяжелая работа вам придется начать понимать, что скрывается под ним и как работает Rails. Это не отличается от PHP и одного из них ' s различные фреймворки, такие как CakePHP или CodeIgniter.

Я также предлагаю почитать книгу Rails for PHP Developers , если вы заинтересованы в изучении RoR.

4
ответ дан 4 December 2019 в 07:04
поделиться

Вы Было бы хорошо, если бы вы выбрали "Agile Web Development with Rails" - http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition

3
ответ дан 4 December 2019 в 07:04
поделиться

Я перешел с PHP на Ruby, и это было совсем несложно. Я рекомендую поиграть с Rails, чтобы понять, как обычно пишется Ruby. Затем, как только вы действительно начнете создавать что-то реальное, вам придется погрузиться в Ruby, чтобы понять, как это сделать. Само изучение Ruby не очень сложно, он очень удобочитаемый и понятный. Однако важно убедиться, что вы понимаете некоторые из его наиболее важных функций, такие как блоки и метапрограммирование.

Для меня единственное, что действительно открыло мне глаза на Ruby, было то, когда я впервые пришел к пониманию блоков. Все было хорошо с тех пор, как :).

0
ответ дан 4 December 2019 в 07:04
поделиться