• Замыкания в JavaScript
    0
    Упс, поправил, спасибо. :)
  • Замыкания в JavaScript
    0
    Предполагаю, что garbage collection в современных браузерах достаточно умна, чтобы делать объекты доступными для чистки, если на них в коде не осталось ссылок из замыканий. Но вообще на практике это не так существенно, потому что ситуации, когда замыкание не использует объектов выше, достаточно редкие. А если всё-таки возникают, лишние переменные можно опять же окружить замыканием и вне его они не попадут:

    (function() {
    var obj1 = new Obj1();
    var obj2 = new Obj2();
    var obj3 = new Obj3();
    })();
    return function…

    Извне внутренними объектами не нужно пользоваться, они используются внутри функции при формирования результата вызова. Насчёт примера — не совсем понял, какой вам нужен пример кроме тех, что показаны в статье, объясните, пожалуйста.
  • Замыкания в JavaScript
    0
    Поправил, спасибо.

    Насчёт сохранения — ну это дело вкуса, кому что больше нравится. Мне скажем не нравится такой подход во-первых потому, что аттрибут можно легко подменить — переменные замыкания лучше изолированы от внешнего воздействия, а во-вторых потому, что для независимости от имени функции в вашем случае приходится писать arguments.callee.attr везде, а это куда менее красиво, чем просто attr в случае замыкания.
  • Замыкания в JavaScript
    0
    Думаю, тут подходят оба варианта — быть доступным чем-либо или чему-либо.
  • Замыкания в JavaScript
    0
    Да-да, я тоже жду этой книги с нетерпением. :)
  • Замыкания в JavaScript
    +2
    Конечно, но в данном случае приватные переменные используются скорее для удобства программистов, которые будут поддерживать этот код, чем для секьюрити, поэтому это не так уж существенно.
  • Замыкания в JavaScript
    0
    Спасибо. :) Я честно пытался выдумать более простые примеры и объяснения, но получилось как есть.
  • Замыкания в JavaScript
    0
    Спасибо, дельное замечание.

    Благодаря этому комментарию вдруг вспомнил о том, что хотел упомянуть про еще одну распространённую ошибку, связанную с замыканиями — добавил в конце статьи.
  • Замыкания в JavaScript
    0
    Да, по этой ссылке — тоже хорошая статья.

    Мне просто хотелось написать более-менее исчерпывающую и практичную статью по данному предмету, чтобы дать человеку возможность разобраться в нём основательно, узнав не только про то, что это такое и как выглядит, но и про то, как именно это используют в современной веб-разработке.
  • Официальный сайт проекта jQuery обновился — «be a javascript ROCK STAR»
    0
    Баннер про «Rockstar» они уже убрали: jquery.com/blog/2008/08/29/death-to-javascript-rock-stars/
  • Марсианские страсти
    0
    А я читал в какой-то статье, что они признают факт очень серьёзного недавнего открытия насчёт существования жизни на Марсе, но пока что официально ничего не заявляют, пока ведётся перепроверка данных (чтобы знать наверняка).
  • А какой JavaScript Framework используете вы? Опрос среди JS-разработчиков.
    0
    Пишу сейчас свой, но исключительно из-за специфики задачи — создаю картографический API сродни Google Maps.

    Вообще думаю, что хороший JS-программист должен уметь использовать любой фреймворк. Приходилось активно пользоваться всеми из списка, кроме Mochikit и Rico. А нравится больше других Mootools.
  • Коты и счастье
    0
    «Я заметил, что куда бы я ни шёл — мой стартап везде идёт за мной». :))
  • Java vs. Ruby
    0
    Я думаю, что это как раз одно из преимуществ Руби и смежных технологий - не нужно изучать 20 технологий и читать 50 книг для того, чтобы быстро и эффективно что-то с их помощью создавать.
  • Java vs. Ruby
    0
    блин, одновременно запостили :))
  • Java vs. Ruby
    +7
    и даже быстрее, чем многие думают:

  • Сетевой предприниматель
    0
    Увы, первая попавшаяся в гугле :)
  • Сетевой предприниматель
    +17
  • 16 действительно полезных решений для JavaScript
    0
    >Точную оценку знаний произвести невозможно, поэтому и сравнить тоже не получится.

    Именно поэтому вам стоит забрать свои слова о знаниях и умениях любителей классического ООП обратно и извиниться за эту глупость.

    >Не пойму, почему вы так привязались к Симула-стайл ООП в JS. Под новым я имел в виду декларативное в целом и функциональное программирование в частности.

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

    >Сравните запросы к DOM с помощью CSS (или XPath) и с помощью методов DOM. Очевидно, что декларативный подход в этом случае короче, понятнее и легче поддерживается.

    Это частный случай. А вы попробуйте, скажем, написать JavaScript API для картографического сервиса типа Google Maps декларативным подходом.

    >Может, у них были (также) другие причины

    В любом случае они сделали осознанный и взвешенный выбор, который не делает их менее компетентными в вопросах JavaScript.
  • ICQ: Не хотите ли обновиться?
    0
    >напряг очень многих пользователей, исключением остались пользователи Миранды

    Как всегда, хехе. :)
  • 16 действительно полезных решений для JavaScript
    0
    Все ошибаются, но утверждать при этом, что эти программисты "не знают язык и не умеют им пользоваться" (как-будто вы знаете и умеете лучше их), очень глупо и некрасиво с вашей стороны.

    >Здесь выбор примерно такой: либо узнавай новое и "более удобное" и пользуйся этим, либо пользуйся старым и проверенным, считая, что оно "удобнее".

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

    >В этом топике продвигается только одна парадигма (как и практически везде в сети), против чего я и высказался.

    В этом топике вообще много всего плохого "продвигается", но это не оправдывает ваших утверждений.
  • 16 действительно полезных решений для JavaScript
    0
    Чувствуете себя крутым, наверное, высокомерно называя лучших JavaScript-программистов мира неумелыми невеждами? Если вы настолько лучше их, может, продемонстрируете какой-нибудь значимый результат вашей работы с JavaScript?

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

    >потому что не для того этот язык создавался. JS — это Лисп в синтаксисе Си

    Ну это крайне однобокий подход. JS - это язык, достаточно гибкий для того, чтобы в нём использовать в зависимости от задач и вкусов разные парадигмы. Пускай лисперы пишут на нём в стиле лиспа, поклонники классического ООП - соответственно, и т.д.

    И не стоит тут раскидывать понты только потому, что вы прочитали пару статей Крокфорда или что-то в этом роде - мыслите шире. При всём уважении - терпеть не могу подобного.
  • 16 действительно полезных решений для JavaScript
    0
    Не торопитесь с категоричными выводами.
    Какую модель наследования использовать, решает каждый сам для себя (или команды) - это дело вкуса, того, кому что ближе, а не умения.

    Интересно, по вашему, авторы большинства JS-фреймворков (а именно Mootools, Prototype, YUI, Dojo) тоже не знают язык и не умеют им пользоваться?
  • Adom жив
    0
    Моя любимая игра. :) Играл на протяжении многих лет, - так и не смог пройти. Попробую, наверное, еще пару раз.
  • MooTools 1.2 — официальный релиз
    0
    Зато куда проще для глаз (не переношу дизайны с чёрным фоном). И больше информации по делу без финтифлюшек.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Весьма логично :)
    Вывод: всегда верстайте проекты в нормальном доктайпе.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Не освобождает. Детали по крупицам формируют общий опыт, в то время как принципы направляют в сторону конкретных деталей для изучения. С одними принципами - без знания - человек не сможет написать ничего сложного.

    >Учить имеет смысл только то, что продержится хотя бы 5 лет, а лучше 10. CSS-хаки к таким вещам не относятся.

    У вас вызывает сложность вычисление значения "2008 - 2001 + 2"?
  • 5 советов IT-специалисту на примере вёрстки
    0
    Нет, вы всё перекручиваете на свой лад, не стараясь понять. :)

    Меня не интересуют технологии Microsoft не по религиозным причинам - просто потому, что у меня другой ряд интересов, которые с ними не пересекаются. А это уже дело вкуса, а не идеи.

    При этом, что очевидно вытекает из 5-го совета, я занимаюсь тем, что мне интересно, а не всем подряд. Могу изучить любой язык или технологию при желании, но в случае, скажем, C# и .NET, у меня не возникало пока что ни желания, ни необходимости (хотя я не исключаю такую возможность в будущем), и есть множество вещей, на которых мне вместо этого лучше сконцентрировать своё внимание.

    Так что забирайте свои слова назад.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Я не хочу меряться. Просто хочу выяснить, с чем связано такое однобокое видение IT-технологий. Ответьте на вопросы в первом абзаце, пожалуйста.

    Сейчас пишу нечто сродни Google Maps API на JavaScript. Пока что не было публичного релиза, но скоро будет.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Меня никогда не интересовали технологии Microsoft (особенно в части веба), так что вряд ли когда-либо захочу попробовать.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Незачем, конечно, если проекты у вас мелкие и делаете вы их абы как - тяп-ляп и пошёл дальше. А что вы скажете про передовые веб-приложения (например, того же Гугла - Google Maps, GMail, Google Calendar, Google Reader), или фреймворки? Их тоже создавали, ни в чём не разбираясь, кусочек за кусочком копипастом после поиска в Гугле?

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

    Возможно, у вас опыт попроще и вы никогда не стремились к чему-то большему - тогда действительно мои советы не подойдут.
  • 5 советов IT-специалисту на примере вёрстки
    0
    И сколько же вы могли потратить времени на решение этого глюка? 2 месяца? :)
  • 5 советов IT-специалисту на примере вёрстки
    0
    Какая-то странная у вас логика. Разве из-за того, что технологии очень быстро развиваются, не имеет смысла становиться в них профессионалом и оставаться вечным аматором?

    >гораздо более важная вещь, чем некое абстрактное "понимание", которое даст эффективность в каком-то будущем.

    Не "абстрактное" и "какое-то", а конкретное понимание и конкретные результаты. Как краткосрочные, так и долгосрочные. И очень жаль, что вы этого не понимаете.

    Технологии не сменяют друг друга от сразу, бессвязно. Они очень тесно взаимосвязаны и развиваются эволюционным путём. И знания, которые ты получаешь на одном этапе развития, дают хорошую основу для другого. Скажем, человек сразу бегать не умеет - ему для этого сначала нужно научиться сидеть, переворачиваться, потом ползать, потом стоять, потом ходить и только после этого бегать, даже если при этом умение ползать в конечном счёте утратит свою актуальность.

    И еще - у jQuery вообще-то нет особых тонкостей.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Этой мой личный опыт и для меня 100%-ая правда.

    В Opera/Firefox/Safari я слишком редко сталкиваюсь с проблемами - они отлично поддерживают стандарты и спецификации и оперативно фиксят баги, так что пример неудачный. Возьмём другой - Internet Explorer 6, из-за которого происходит 95% проблем с вёрсткой и JavaScript, вышел в 2001, актуален по сей день (7 лет) и будет актуален еще минимум 2 года.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Я кстати не понял, почему это должно звучать кощунственно :) наоборот по-моему
  • 5 советов IT-специалисту на примере вёрстки
    0
    Я говорил про ближайший результат. Он откладывается для того, чтобы приблизить все последующие.

    Опять же, еще раз повторяю - в конечном итоге от изучения проблем и разных решений я выигрваю гораздо больше времени, чем теряю, так что комментарии про бесконечную жизнь и прочее тут совершенно неуместны.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Я думаю, что если у человека нет мышления программиста, он не может быть хорошим верстальщиков и ему вообще не стоит этим заниматься.

    А если есть, программистом широкого профиля он захочет быть далеко не обязательно. Можно интересоваться уймой языков и технологий, но быть настоящим профи в одном. Скажем, лично я профессионально занимаюсь именно front-end-технологиями (давно и очень серьёзно при чём), а всё остальное (в частности Ruby/Merb/Rails, Python/Django etc.) - просто интересное хобби.
  • 5 советов IT-специалисту на примере вёрстки
    0
    Освоение JavaScript и всего с ним связанно является естественной ступенью развития HTML-верстальщика. Вместе первое и второе называется front-end developer и тоже является узкой специальностью по сравнению с "web-разработкой в целом".

    Не помните, потому что раньше этого не было - вы, видимо, слишком давно этим занимались, - технологии развиваются слишком стремительно. Теперь это отдельная дисциплина. Дизайнеры рисуют, верстальщики верстают, серверсайд-девелоперы используют результат - вполне логичная схема.
  • 5 советов IT-специалисту на примере вёрстки
    0
    если бы было всё просто в базовых вещах, в вебе бы просто делали более сложные вещи, чем это возможно сейчас, а профи ценились бы в той же мере. :)
  • 5 советов IT-специалисту на примере вёрстки
    0
    По-моему вы уходите в крайности. :) Если только учиться и ничего не делать - да, ничего не достигнешь, но если вообще не учиться - не будешь обладать знаниями, с помощью которых можно что-либо значимое сделать.

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