Вопрос новичка на веб-[закрытых] технологиях

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

у Eric Lippert есть ряд записей в блоге на неизменности, запускающейся здесь . Я все еще справляюсь с CTP (C# 4.0), но выглядит интересным, что дополнительный / именованные параметры (к .ctor) могли бы сделать здесь (когда отображено на полях только для чтения)... [обновление: я вел блог на этом здесь ]

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

[public|protected] void Freeze()
{
    if(!frozen)
    {
        frozen = true;
        OnFrozen();
    }
}
protected virtual void OnFrozen() {} // subclass can add code here.

Также - AOP (такой как PostSharp) мог бы быть жизнеспособным вариантом для добавления всех тех ThrowIfFrozen () проверки.

(извинения, если я изменил терминологию / имена методов - ТАК не остается на исходном посту, видимом при создании ответов)

5
задан RKh 22 October 2009 в 06:07
поделиться

8 ответов

Firstly, I applaud the initiative in learning Web technologies. Frankly, going forward, I think programmers will increasingly find it harder to not know Web stuff.

To answer your questions:

  1. I would advise sticking to one at least for awhile. I'd suggest that one be PHP. Why? Ruby on Rails is a language and a framework. I'm a strong advocate of people having some understanding of the underlying technologies, including HTTP, before they throw frameworks on top of it that may confuse or hide issues a developer needs to know about. Stick with vanilla PHP and don't confuse it by throwing something like CodeIgniter, Kohana, Symfony, CakePHP or Zend on top of it;
  2. A blog is a fine learner project. Whatever you pick shouldn't be something terribly complicated, something you can get something out of relatively quickly and something you should be able to add features you want to (you'll be more interested this way);
  3. Jetbrains new Web IDE is coming along nicely. It's what I've switched to. PhpEd, Eclipse PDT and Netbeans all have different merits;
  4. HTMl, CSS and Javascript. Additionally I'd also recommend jQuery.
8
ответ дан 18 December 2019 в 06:51
поделиться
  1. Можно. Думаю я бы посоветовал против этого.
  2. Блоги хороши с чего начать. Может фото галерея?
  3. Затмение доставляет удовольствие всем своего рода разработки.
  4. Как Nike говорит: «Просто сделай это» :)
2
ответ дан 18 December 2019 в 06:51
поделиться

1) Да. Но желательно выбрать одну технологию / веб-фреймворк и освоить ее. Легко попасть в ловушку технологических крысиных гонок.

2) Подумайте о проблеме, с которой вы столкнулись, скажем, на рабочем месте. Возможно, есть некоторая рутинная работа, которую можно лучше выполнить с помощью веб-приложения. Используйте это как проект.

4) Ознакомьтесь с основными принципами дизайна, такими как макет, цвет и т. Д. Книга по дизайну для не дизайнеров - хорошее место для начала.

3
ответ дан 18 December 2019 в 06:51
поделиться

1). Лично я бы посоветовал вам использовать Ruby, Java или .NET, но во время обучения придерживаться одного, желательно наиболее близкого к уже знакомому вам языку, что для вас означает .NET (C #?). Я бы не рекомендовал PHP ни при каких обстоятельствах, но многие будут.

2). Да, блог - хороший стартовый проект.

3). Просто купите себе хороший текстовый редактор для начала. IDE создают хэш из HTML / CSS / JS, чем вы тоже будете много заниматься. Но вы можете остаться на бесплатной стороне, получив копию Visual Web Developer Express Edition .

4). Внимательно изучите HTTP, HTML, CSS + JS. Фактически, даже не думайте о динамических страницах, пока у вас не будет статических страниц. Затем добавить динамическую функциональность.

Приложение:

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

Четкое понимание HTTP помогает избавиться от некоторых из них, а изучение CSS (как эффективного способа познания ценности разделения задач) помогает с последним. Параллелизм - это то, с чем большинство фреймворков отведет вам 90% пути, но вы всегда будете думать о том, когда и как его применять.

Учитывая дальнейшие размышления, я в конечном итоге рекомендую вам остаться в стране .NET ASP. Модель конвейера .NET и C # в целом прочны и умопомрачительны соответственно), и вы можете выразить себя и загрузить для нее расширения ASP.NET MVC - модель WebForms довольно широко осуждается веб-разработчиками по какой-то причине, но исходит из фона рабочего стола это может быть более немедленным для вас. За счет того, что вы приучили вас к тем плохим привычкам, о которых я упоминал.

3
ответ дан 18 December 2019 в 06:51
поделиться
  1. Yes if you're dedicated. If your php is stronger than your RoR familiarity there's a book for you @ http://railsforphp.com/ - I would recommend getting more familiar with PHP then jumping to RoR as it's a bit more to learn because of the whole MVC architecture and the language itself is different from most semicolon and braces C-style languages.
  2. The hello world of web programming - a blog.
  3. Personally I use VIM which isn't an IDE, but it's pretty friggin efficient for text editing.
  4. I would recommend often reading Stackoverflow and try to answer some questions while you're learning some new technology, it'll double the rate at which you'll learn if you really force yourself.
2
ответ дан 18 December 2019 в 06:51
поделиться

1) Это зависит от ваших способностей к обучению, но на самом деле этого делать не следует. Начните с любого из них, добейтесь хороших результатов, тогда выучить второй будет намного легче.

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

3) Вы не хотите создавать бизнес-логику вместе с пользовательским интерфейсом. Попробуйте изучить механизмы создания шаблонов, такие как Smarty, и ваша проблема, скорее всего, исчезнет мгновенно. Попробуйте Eclipse для IDE или, лучше, узнайте о vim.

4) Дисциплина. Невероятно легко прострелить себе ногу, используя PHP и Ruby, используя дрянной код. Поставьте точку на своем и не забудьте инициализировать переменные. Не просто копируйте код откуда-то, а подумайте, что он делает и что может пойти не так. Очистить ввод пользователя.

2
ответ дан 18 December 2019 в 06:51
поделиться

1) Не запутаешься же. Учитесь один за другим, оба хороши!

2) Amazon и Википедия в основном основаны на php, я знаю пару систем бронирования авиабилетов, большинство блогов основано на одном из нескольких свободно доступных приложений php.

3) Для php / javascript / css я всегда довольно хорошо обходился со старым добрым vim, но это только я. Я бы опасался любых редакторов HTML с графическим интерфейсом пользователя типа "фрейммейкера", поскольку они имеют тенденцию генерировать множество запутанных и нечитаемых HTML. Это нормально для статической страницы, но когда вы создаете динамическую страницу, вам действительно нужно знать, для чего нужны все теги html.

4) Если вы серьезно, вам действительно нужно узнать о каскадных таблицах стилей и о том, как их правильно использовать .

2
ответ дан 18 December 2019 в 06:51
поделиться

(1) Все зависит от того, что вы хотите делать, и согласны ли вы с новыми технологиями. Вы можете делать все, что угодно.

(2) А как насчет hello world или простого приложения для входа в систему, если вы действительно новичок.

(3) Eclipse всегда лучший вариант для размышлений.

(4) CSS, JavaScript и новый фрейм JavaScript работает как прототип, jQuery и, что более важно, часть библиотеки тегов.

1
ответ дан 18 December 2019 в 06:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: