аааааа! хабракатство! ну когда перестанут писать ЭТО в комментах! надеюсь, в суперхабре примут меры относительно тех, кто не делает хабракат (если его нет - то выводить предупреждение), и относительно тех, кто флудит о кате, орфографии и пунктуации (отдельный вид личного сообщения).
Конечно напрягает, когда на твой пост, где ты пытаешься передать какую-то мысль, отвечают, что ты там в слове мягкий знак пропустил и читать твой коммент из-за этого не будут (http://366.habrahabr.ru/blog/43158.html - буквально 5-ть минут назад человек именно это мне и написал)...
А по поводу хабраката - в общем согласен, что можно было приватом отписать, но на мой взгляд - это не очень напрягает. Если придираться к каждому посту, что он не по теме топика - то в комментах 50% таких сообщений наберётся.
Живое общение подразумевает небольшие лирические отступления)
проблема в нынешнем хабре в том, что приватом отписать не получится - потому как для этого надо зафрендить человека, а это, согласитесь, неудобно. и все же, уже руки начинают трястись, когда пару страниц алярозенталевских постов читаешь. прямо вордстрим башорговский, где одни "уг" и "фейк".
не-а, по-роботски, да и не всегда надо. тут необходимость хабраката меряется не по объему, а по тому, нужно ли то, что вне хабраката оставить вне хабраката.
скажем, здесь однозначно нужна преамбула. не одно предложение, а именно краткий бриф, а потом тематический кат. а вот, например, был пост про аватарки на Убунту - так та вирусная акция просто требовала показать плакат на весь экран. так что просто умнее надо подходить.
ну не знаю, по моему название все говорит само за себя и без приамбулы. и названия постам все бы делали человеческие. прикинь как круто - посмотрел 8 тайтлов последних на одной страничке и пошел работать )))
Не подчиняйтесь интрументам - опечаточка )
Спасибо за советы, любопытно почитать, так сказать в целях обмена опытом. Евгений тоже передал мне сегодня эстафету.
Всё - таки наверное не так и плохо пускать порою такие флешмобы :)
Первым делом подумал, что автору не больше 25-ти лет. Проверил — 22.
По стилю похоже. Общий призыв: учитесь вместо того, чтобы работать. Для такого возраста вполне здравый. Но хочу заметить, что советы подходят не всем. :)
"Совет подходит не всем" - В корне не согласен, Учиться можно и нужно всем и всю жизнь. Некоторое время назад посчасливилось поработать в паре с достаточно представитьельным по возрасту человеком (58 лет) программирует примерно лет 40 (в два раза больше чем я) :) Докторская степень, учениеи и все такое.... Учится каждый Б-жий день...
Учиться Учиться и еще раз Учиться (в этом вождь был прав)
Наконец, Сократовский метод заработал. А то тут все "умные" — желание учиться только
в декларациях, а чуть непонятная мысль — никто же не уточнит, сразу минус поставят,
и успокоятся.
Тогда следующий вопрос — а в качестве профи Вы чем собираетесь заниматься?
А учиться — это промежуточная цель, так? Если я правильно Вас понимаю, то ситуация "проблема решается без чёткого понимания того, почему она произошла", не будет Вас напрягать? Или будет?
Я считаю, что профи делают. А учатся они при этом
или нет, и чему именно учатся — это вопрос, к
решению которого они подходят осознано, а
не в виде лозунгов.
Лозунги оставим продавцам в Евросети. Мы, слава богу,
головой работаем.
Во-первых, возраст ничего не говорит о степени профессионального развития. Можно в 25 быть добившимся больших успехов специалистом, а в 50 - совершенно некомпетентным и бесполезным работником, и наоборот.
Во-вторых, никто не мешает работать и учиться одновременно - одно другому только помогает.
Есть такая штука — приоритеты. Некоего Д. Кнута знают постольку, поскольку он сделал две вещи — опубликовал знаменитый трёхтомник и разработал TeX. Те, кто трёхтомник читал (да и другие работы тоже), знакомы и с другими результатами. В любом случае, у Кнута есть результаты.
Если же некто будет учиться решать проблемы вместо того, чтобы их решать, то результатов у него не будет. При наличии дедлайна заниматься самообучением вместо работы — значит, подводить и работодателя, и заказчика. Это просто непрофессионально.
к дедлайну нужно сдать "что-то" (например, когда заказчик ждёт верстку первой страницы чтоб посмотреть - вот оно живое, работают), и добавить пару замечаний по ходу дела)
но потом, продолжая, нужно всегда доводить до идеала.
сидеть сверурочно, ночью, дома, неважно - если хотите стать профи нужно постоянно учится.
Как то Вы всё больше лозунгами разговариваете, без конкретики. Направлений для изучения минимум десятки. Я когда то писал CGI на Perl, потом перешёл на PHP, потом изучил ASP.NET, и параллельно разбирался в RoR. Технологии при этом постоянно развиваются: не успел освоить .NET 1.1, как появилась 2-я версия, где нового столько, что на освоение ушло месяца 4. Потом .NET 3.5, где LINQ появился, а это, фактически, новый язык программирования.
При всё при этом, надо держать в голове JavaScript и его фреймворки, разнообразные хаки HTML/CSS, ну и посматривать в сторону новых технологий.
На мой взгляд, "всё" это выучить невозможно, нужно определять приоретиты: что и в каком объёме. А самое главное — для чего. И, помимо этого, надо ещё выдавать результаты на гора, потому что профи оценивают не по объёму знаний, а по результатам.
Ну и самое главное: эти знания бесполезны. 15 лет назад я был мега-спецом по Си, 10 лет назад по Си++. А уже сейчас всё это никому не нужно. Ну, разве что один раз меня попросили поковыряться в коде mysql, и разобраться, можно ли восстановить удалённые записи. Только там знание Си и пригодилось. И, кстати, разобраться и восстановить (что можно) удалось за 2 дня. Потому что я именно "решал проблему", а не занимался самообучением.
а зачем изучать десятки направлений?
выбрать одно и стать профи в нём.
спрос есть на узких специалистов. параленьно знать в общих чертах - да надо, но профи быть - в одном.
> спрос есть на узких специалистов. параленьно знать в общих чертах - да
> надо, но профи быть - в одном.
Это и есть именно то, про что я писал. Если каждое решение, найденное в гугле,
Вы начнёте "понимать" — много ли времени у Вас останется, чтобы стать профи
в своей теме?
Решения, про которые я говорил, относятся к одной узкой специализации - HTML-вёрстке. :)
Вы не правильно поняли мою мысль в первом совете. Я утверждаю, что с помощью более глубокого понимания возникающих проблем можно сэкономить в десятки раз больше времени, чем вы потратите на их изучение. Делается это не для того, чтобы просто знать всё подряд, а для того, чтобы делать свою работу эффективнее.
Если речь идёт об узкой HTML-верстки, как в статью попали
JS-фреймворки? Если же о веб-разработке в целом, то тут уже
придётся выбирать.
На самом деле, я и не очень помню, была ли когда вёрстка отдельной
специализацией. Мне вот пришлось Photoshop изучать почти сразу
после того, как я освоил HTML (CSS тогда ещё не было). А через месяца
два — Perl.
Освоение JavaScript и всего с ним связанно является естественной ступенью развития HTML-верстальщика. Вместе первое и второе называется front-end developer и тоже является узкой специальностью по сравнению с "web-разработкой в целом".
Не помните, потому что раньше этого не было - вы, видимо, слишком давно этим занимались, - технологии развиваются слишком стремительно. Теперь это отдельная дисциплина. Дизайнеры рисуют, верстальщики верстают, серверсайд-девелоперы используют результат - вполне логичная схема.
Я бы не назвал JavaScript естественной ступенью развития. Это
язык программирования, и у такого "верстальщика" либо есть
мышление программиста, либо его нет. Если нет, он не сможет
разобраться в работе фреймворков, даже если захочет.
А если есть, то — сюрприз — почему то вдруг оказывается, что
он программист широкого профиля, и знает не один JavaScript,
а ещё 2-3 языка минимум.
Я думаю, что если у человека нет мышления программиста, он не может быть хорошим верстальщиков и ему вообще не стоит этим заниматься.
А если есть, программистом широкого профиля он захочет быть далеко не обязательно. Можно интересоваться уймой языков и технологий, но быть настоящим профи в одном. Скажем, лично я профессионально занимаюсь именно front-end-технологиями (давно и очень серьёзно при чём), а всё остальное (в частности Ruby/Merb/Rails, Python/Django etc.) - просто интересное хобби.
сегодня редкий макет обходится без динамики. никто не говорит, что верстальщик должен стать гуру JS, однако он научиться базовым вещам, которые ему помогут работать с JS-библиотеками
никогда человек, не имеющий технического образования, не станет отличным программистом. я говорю о том, что просто подключить js-библиотек и плагин сможет и обезьяна. я говорю о базовом тюнинге плагинов. здесь не нужны глубокие знания js, однако это поможет решать все 99% насущных проблем верстальщика
извините, но вы переливаете из пустого в порожнее, цепляясь к каждому слову любого из участников обсуждения. с вами просто нечего обсуждать. тема закрыта.
Ну, вот, как. Сидите Вы, верстаете сайт. Надо что-то сделать. Лезете
в гугл, находите решение, вставляете. И, не разбираясь, двигаетесь
дальше.
Почему не разбираясь? Потому что оценили, что на поиск в гугле ушло
5 минут, на то, чтобы разобраться, уйдёт час, и приоритет найденного
решения оценили, как низкий — вряд ли будете часто использовать.
По-моему вы уходите в крайности. :) Если только учиться и ничего не делать - да, ничего не достигнешь, но если вообще не учиться - не будешь обладать знаниями, с помощью которых можно что-либо значимое сделать.
Я нигде не говорил, что нужно заниматься самообучением вместо работы. Понятно, что нужно соблюдать баланс между одним и другим. Но при этом считаю, что выявление причины проблемы для ее правильного решения и предотвращения в том же и последующих проектах является частью работы - это делается ради результата в текущем проекте в той же мере, что и знаний.
> Если же отложить результат и потратить время на то, чтобы
> действительно разобраться, почему именно так произошло, в каких еще случаях
> появляется этот баг, какие вообще есть способы его решения (все, а не один),
> в сотнях подобных ситуаций в дальнейшем этот баг (во всех его проявлениях,
> а не только в этом конкретном) скорей всего просто не возникнет, потому
> что вы обладаете нужными знаниями для его легкого предотвращения.
Мало того, что говорили, так ещё и подход у Вас максималистский — обязательно
надо разобраться, и надо найти все способы решения, а не один.
И дело не в Вашем профессионализме вовсе, просто для Вашего возраста характерно
представление, что жизнь бесконечная, и времени ещё много. :) Ничего плохого в этом
нет, но Ваши советы не универсальны.
Я говорил про ближайший результат. Он откладывается для того, чтобы приблизить все последующие.
Опять же, еще раз повторяю - в конечном итоге от изучения проблем и разных решений я выигрваю гораздо больше времени, чем теряю, так что комментарии про бесконечную жизнь и прочее тут совершенно неуместны.
В Opera/Firefox/Safari я слишком редко сталкиваюсь с проблемами - они отлично поддерживают стандарты и спецификации и оперативно фиксят баги, так что пример неудачный. Возьмём другой - Internet Explorer 6, из-за которого происходит 95% проблем с вёрсткой и JavaScript, вышел в 2001, актуален по сей день (7 лет) и будет актуален еще минимум 2 года.
Вы хороший пример привели. 5 лет назад IE был самым прогрессивным
браузером на тот момент. А вот Opera у меня не умела понять
ссылки <a href="?action=add">. Она удаляла из URL имя текущей
загруженной страницы и обращалась к странице по умолчанию.
Кому сейчас интересен этот глюк? Да никому. Кстати, JavaScript уже
был в NN 3/IE 3, а это, по меньшей мере, 97-й год.
А вы не верите, похоже, в историю про 2 месяца? Можете попробовать
сделать для SharePoint вебчасть, которая позволит менять
пароль пользователя в ActiveDirectory. Интересно, сколько
у Вас уйдёт на это времени. :)
Так я и знал, что Ваши декларации про обучение —
это всего лишь декларации. Меня лично никогда
не интересовали религиозные мотивы, поэтому я с
одинаковой лёгкостью могу настроить и Apache, и IIS.
Могу писать на Perl, PHP, C# и Ruby. На Java давно
не писал, но этот язык в моём арсенале.
Выходит, Ваша статья — это теоретический взгляд
на вещи? Декларировать декларируете, а сами
своих же взглядов не придерживаетесь?
Нет, вы всё перекручиваете на свой лад, не стараясь понять. :)
Меня не интересуют технологии Microsoft не по религиозным причинам - просто потому, что у меня другой ряд интересов, которые с ними не пересекаются. А это уже дело вкуса, а не идеи.
При этом, что очевидно вытекает из 5-го совета, я занимаюсь тем, что мне интересно, а не всем подряд. Могу изучить любой язык или технологию при желании, но в случае, скажем, C# и .NET, у меня не возникало пока что ни желания, ни необходимости (хотя я не исключаю такую возможность в будущем), и есть множество вещей, на которых мне вместо этого лучше сконцентрировать своё внимание.
С Вашим подходом к своим тезисам (захотел —
выдвинул, захотел — назад забрал) мне свои
слова всё время назад забирать придётся.
Вы же не написали "меня не интересует .NET"
или "C#" — вы написали "технологии Microsoft".
Что ж, опять на попятный? Интересно, а Вы в курсе,
что стандарты HTML3.2/HTML4/XHTML1 появились в
результате деятельного участия Microsoft?
Настолько деятельного, что без неё их приняли бы
года на 4 позже.
Мы с Вами говорим об одном и том же. Ближайжий результат, с моей точки зрения,
гораздо более важная вещь, чем некое абстрактное "понимание", которое даст
эффективность в каком-то будущем.
Я себя не обманываю. Через 2 года всё, что я изучу сегодня, устареет. Поэтому
нужно очень осознанно подходить к тому, что изучать, а что нет.
JavaScript 5 лет назад и сейчас — это две совершенно разные технологии. Тогда
не было ни PHP5, ни дотнета, а Ruby был в самом зачаточном состоянии. От изучения
тонкостей jQuery я вообще не вижу никакого смысла, потому что через год-два
появится серверный фреймворк, где всё это будет делаться автоматически.
Какая-то странная у вас логика. Разве из-за того, что технологии очень быстро развиваются, не имеет смысла становиться в них профессионалом и оставаться вечным аматором?
>гораздо более важная вещь, чем некое абстрактное "понимание", которое даст эффективность в каком-то будущем.
Не "абстрактное" и "какое-то", а конкретное понимание и конкретные результаты. Как краткосрочные, так и долгосрочные. И очень жаль, что вы этого не понимаете.
Технологии не сменяют друг друга от сразу, бессвязно. Они очень тесно взаимосвязаны и развиваются эволюционным путём. И знания, которые ты получаешь на одном этапе развития, дают хорошую основу для другого. Скажем, человек сразу бегать не умеет - ему для этого сначала нужно научиться сидеть, переворачиваться, потом ползать, потом стоять, потом ходить и только после этого бегать, даже если при этом умение ползать в конечном счёте утратит свою актуальность.
HTML 3.2, который я изучал 10 лет назад, сейчас не нужен никому. На
Perl из моих знакомых пишет 1 человек (а вебдевелоперов знакомых
десятки). И то, не факт, что пишет до сих пор. Меню, которое 5
лет назад приходилось писать самостоятельно на JavaScript, сейчас
генерируется автоматически любым мало-мальски приличным фреймворком.
Зачем во всём этом разбираться? Нашли в гугле решение, применили, и идите
дальше. Эти знания — преходящи и бесполезны.
Незачем, конечно, если проекты у вас мелкие и делаете вы их абы как - тяп-ляп и пошёл дальше. А что вы скажете про передовые веб-приложения (например, того же Гугла - Google Maps, GMail, Google Calendar, Google Reader), или фреймворки? Их тоже создавали, ни в чём не разбираясь, кусочек за кусочком копипастом после поиска в Гугле?
Я участвовал в разработке очень сложных и интересных проектов, и прекрасно знаю, что некоторые важные их части вообще невозможно написать без громадного опыта и умений в определённых технологиях за плечами.
Возможно, у вас опыт попроще и вы никогда не стремились к чему-то большему - тогда действительно мои советы не подойдут.
Отвечу на вопросы в первом абзаце. Я скажу, что эти
сервисы пишут люди, которые следуют принципу: знание
нескольких принципов освобождает от знания множества
деталей. Для того, чтобы так писать, надо быть на три
шага впереди остальных. Потому и выходит так, что
вы изучаете HTML+CSS+JavaScript, я Хаскель, а они всю
эту функциональщину скушали и творчески переработали 5
лет назад.
Ещё раз повторю: знания неравноценны. Учить имеет смысл
только то, что продержится хотя бы 5 лет, а лучше 10.
CSS-хаки к таким вещам не относятся.
Не освобождает. Детали по крупицам формируют общий опыт, в то время как принципы направляют в сторону конкретных деталей для изучения. С одними принципами - без знания - человек не сможет написать ничего сложного.
>Учить имеет смысл только то, что продержится хотя бы 5 лет, а лучше 10. CSS-хаки к таким вещам не относятся.
У вас вызывает сложность вычисление значения "2008 - 2001 + 2"?
Ну просто дело в том, что времени на это нет вообще практически всегда. :) Всё у нас часто делается под давлением, в атмосфере вечного дедлайна - так и подмывает иногда забить на правила хорошей вёрстки и наворотить как попало. Но нужно учиться рассчитывать это время заранее и в таких делах не спешить, тем более, что на текущий результат это тоже может сильно повлиять в случае, если нужно будет потом эту вёрстку срочно править/расширять. Особенно, когда работа происходит в команде - тогда из-за таких вот "быстрых хаков" в конечном итоге можно, наоборот, потерять уйму времени и нервов и заказчик точно доволен не будет - проверено на личном опыте.
итак уже почти все браузеры почти 1:1 все базовые вещи отрабатывают...
а чем плохо что в вёрстке есть заморочки? если бы всё было просто - так ли ценились бы профи?
Всё, что я читаю в последнее время в комментах - это комменты по форматированию и грамматическим ошибкам. Имхо, до маразма доходит, все пытаются что-то найти неправильное.
Хорошая статья! Спасибо автору, который далеко пойдет (как говорится)! Сам пользуюсь подобными умозаключениями.
Еще мне интересно почитать его мысли через года 3-4, т.к. слишком много революционных лозунгов в начале пути :-) Спасибо еще раз.
"Если ваш заказчик (или начальник, или менеджер) предъявляет совершенно дурацкое требование, не нужно выполнять его, сцепя зубы и матерясь под нос. Потратьте время на аргументированное объяснение того, почему данное решение неэффективно"
.... и все равно сделаете как требует "заказчик". Вы правильно заметили - не нужно выполнять его сцепя зубы, а нужно просто его выполнять. Если Вы профи, то непременно найдёте лакончиное решение, устраивающее обе стороны! Таких решений миллионы! :-)
5 советов IT-специалисту на примере вёрстки