Избегайте 301 и предпочитаете современные коды статуса ответа 303 или 307.
Подумайте, если вам действительно нужна постоянная перенаправленная как [R=301]
, потому что если вы решите изменить его позже, тогда предыдущие посетители страницы будут продолжать видеть страницу исходного перенаправления.
Информация о постоянном перенаправлении часто сохраняется в кеше браузера и , в общем, его трудно устранить (перезагрузка страницы не решает проблему).
Новая версия HTTP-протокола (v1.1) добавила два новых кода статуса ответа, которые может использоваться вместо 302.
303
Перенаправление URL, но требуя изменить тип запроса для GET. 307
Перенаправление URL, но требуя сохранения тип запроса, который был первоначально отправлен. Вы все равно можете использовать код 302
(перенаправление непостоянства), хотя он считается неоднозначным. В любом случае, большинство браузеров реализуют 302
так же, как и новый 303
код.
Для генерации идей я нахожу, что всегда полезно спросить, "что прослушивает меня о программировании" и, "что прослушивает меня о работе над компьютером".
Заканчивающиеся вещи другая история. Окончание вещей действительно трудно . Я думаю, что Вы будете более счастливыми, если Вы признаете, что у Вас будет портфель проектов, многие из которых остаются незаконченными. При окончании всего у Вас будет возможность исследовать много меньше идей и технологий.
Выбирают тщательно, какие проекты Вы хотите закончить и помнить слова Piet Hein:
Поднятый в месте
, где легко видеть
загадочное предостережениеT. T. T.
, Когда Вы чувствуете, как уныло
медленно Вы поднимаетесь,
, это должно хорошо помнить чтоThings Take Time.
Jeff Atwood, занесенный в блог о кодировании практики ", кодирует kata" некоторое время назад.
http://www.codinghorror.com/blog/archives/001138.html
Также видит (ссылка в блоге Jeff):
Сделайте игру. Вы узнаете тонну о любом языке. Это не должно быть необычно. Сделайте проверку темницы или что-то.
Я собрал эту "стандартную" проблему, что я раньше несколько раз учил новый язык.
http://homepage.mac.com/s_lott/books/oodesign.html
Это реально. Это имеет некоторое материальное значение. Это finishable.
Найдите некоторую 'проблему' в своей собственной жизни, которую можно решить с программированием. В то время как это легче сказать чем сделать, я дам Вам пример. Я получил один из тех календарей с беспорядком слова на нем в течение каждого дня (реального) года. Мне нравятся загадки слова и такой (страсть) и в то время, когда я желал проект погрузиться в Python с. Таким образом, я создал простой сценарий командной строки для решения беспорядков с sqlite бэкендом, и я делал вполне немного с Python с тех пор. Проект столь закончен, как я хочу, чтобы он был, я все еще прибавляю вещи к нему и продолжаю улучшаться и добавлять к нему, но он служил своей цели как проекту начинающего для меня. Таким образом, я действительно думаю, что прием должен найти что-то, что можно работать в этом, легко и непосредственно подключен к повседневной жизни.
Я не иду, ища проблемы в коде или иначе. Вместо этого я держу глаза открытыми как можно больше так, чтобы я не пропускал вдохновение для простых решений старых проблем:)
Иногда я просто наблюдаю, что люди люди.. или таракан, идущий о его ежедневных операциях.
Часто времена, если Вы делаете это, Вы встретитесь с новыми проблемами для решения. Не пытайтесь думать о сложных проблемах, делание так обычно приводит к сложным решениям. Каждая мысль Вы думаете, обучает Ваш мозг, Вы так же, что Вы едите, как Вы - то, что Вы думаете.
Каждый раз, когда я вижу, что что-то сделано много раз, я вижу возможность создать некоторую часть повторно используемого кода. Это было это с моим DAL и многими другими частями проектов, я продолжил работать.
Другой источник "вдохновения" для битов программного обеспечения, чтобы разработать (или просто иметь исследование того, как технология работает) является этим, "Почему это не справляется с этим?" или "Это должно работать с этим!" моменты. У меня было несколько из тех моментов с вещами как генерация кода от XSD.
Другой источник - это "Должен быть более изящный способ сделать это!" моменты. Простые небольшие вещи как C#, "если (x typea), do_a еще, если (x type_b), bo_b еще....". Запустите меня думающий о лучших способах сделать вещи.
Другой источник, который некоторые упомянули прежде, "Я мог записать систему, чтобы сделать это?" момент (или риторический вопрос). Я знаю программистов, которые переделали систему ISAM в течение года, настроив тут и там просто потому что подобная игра с ним. Никакая идея ровного окончания проекта, просто играющего с различными идеями и реализациями.
Я обычно нахожу, что уже существует проблема, с которой я встречался, который мог быть более легко сделан на другом языке. Пример: работа с PDFs на нескольких языках.
Хотя не , по-видимому реальный, у меня была идея для хорошего источника проектов, которые, по крайней мере, finishable, и вероятно что-то, что Вы должны быть мотивированными, чтобы сделать (с другой стороны, Вы должны вышивальный шелк каждый день: p).
Для рассмотрения и тестирования понимания, реализуйте различные алгоритмы, которые Вы изучили как часть Вашего образования CS. Некоторые проекты:
IIRC, mona является штукой конечного автомата, используемой для проверки правильности электрической схемы; ISTR мой лектор, говорящий о приложениях линейного программирования в экономике и gcc, действительно регистрирует выделение (который является окраской графика, которая полна NP). Crypto, конечно, защищает все транзакции оплаты по кредитной карте онлайн. Таким образом, это не абсолютно нереально:)
Я веду список проектов/классов/функций создать, "когда я получаю время и наклон". Я веду подобные списки для других хобби. Тогда всегда существует что-то, чтобы сделать, если я скучаю или хочу проблему.
Хм. Если это - Ваша цель, то Вы могли бы попробовать ее на двух этапах... для стороны алгоритмов вещей, я высоко предложу смотреть на некоторые проблемы программирования там и сделаю это в сочетании с чтением книги Skeina, Программируя проблемы . Это предоставляет много теории о том, как приблизиться к проблемам от алгоритмы и точка зрения структуры данных, и затем указывает на Вас на набор демонстрационных вопросов, где можно попытаться привести эти идеи в действие самостоятельно. Это очень определенно проведет Вас через умственный wringer очень хорошим способом. Очень похожий на Euler Проекта, но для жестких алгоритмов и людей структур данных, а не математических людей.
Для просто "изучения языка достаточно для чувствования себя подобно можно действительно использовать его", ну, в общем, существует много идей для этого... для меня, только для использования примера, мне нравится создавать базу данных управляемый веб-сайт. Вынуждает меня сделать много вещей, которые Вы оказываетесь перед необходимостью делать для вхождения в язык в некоторой ширине/глубине.
, Если Вы нуждаетесь в определенном примере сайта и действительно хотите быть продвинутыми сделать что-то реальное, Вы могли связаться с несколькими благотворительными учреждениями, что Вы любите и видите, кому нужны веб-сайт или другое приложение, сделанное для них бесплатно. Вы вынуждены изучить, и иметь причину сделать так в разумный период времени, и они получают полезное приложение бесплатно. Взаимовыгодный.
Am i too late? here is a "sub-real" problem. Since you liked the game thing. Check this Java4K, you should make a game in 4096 bytes only. You will learn a lot about Java, lot of code optimizing and for sure, how to think simple.
And at the end of the day, you will have a new game :)
Вы можете попробовать написать код решения реальной проблемы друга или члена семьи на компьютере. Это может быть особенно хорошим способом попрактиковаться в программировании, если вы создаете решение для кого-то, кто относительно неопытен в работе с компьютерами - такие люди будут задавать вам вопросы, которые никогда бы не задал другой программист. Эти реальные вопросы о вашем решении могут быть такими, как: «Почему это появляется в черном окне со всем этим написанием?» - по отношению к сценарию, запускаемому из командной строки DOS.Когда вы сталкиваетесь с подобными вопросами, вам нужно твердо понимать свое понимание языка и уметь отвечать в терминах непрофессионала, чтобы иметь возможность ответить на них.
В настоящее время я изучаю Perl и использую его для разработки системы управления недвижимостью для члена семьи, который управляет жилым комплексом.
Создавая что-то для близкого вам человека и ожидая, что вы его закончите, вы можете почувствовать себя более мотивированным написать решение целиком, вместо того, чтобы останавливаться на полпути.