Author |
Message |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Thu Sep 17, 2009 5:08 pm (написано за 5 минут 9 секунд)
Post subject: Создание FAQ
|
|
Итак, я заметил, что как правило вопросы, задаваемые в форумах о JavaScript, глупые и связаны с тем, что пользователи не умеют отлаживать код, а также не знают каких-то базовых вещей. Поэтому я решил создать FAQ, но помочь мне в его создании можете только вы, дорогие пользователи. (-; Поэтому я призываю вас переодически заглядывать в эту тему и кидать вопросы (а также ваши варианты ответа на них), которые по вашему мнению задаются наиболее часто, и требуют размещения в FAQ. Думаю, первый вопрос, который появится тут будет об отладке кода, в ближайшее время я обязательно опишу подробно как правильно отлаживать код. Поскольку 80% вопросов, задаваемых тут по типу: "Почему у меня не работает ...".
|
|
Back to top |
|
 |
Ivan1986
Участник форума
Warnings: 2
Joined: 09 Oct 2007
Posts: 807
Карма: 38 поощрить/наказать
|
Posted: Thu Sep 17, 2009 5:27 pm (спустя 19 минут; написано за 43 секунды)
Post subject:
|
|
Ситуация в разделах PHP и настройки денвера слабо отличается. FAQ там есть. Помогло?
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Thu Sep 17, 2009 6:32 pm (спустя 1 час 4 минуты; написано за 45 секунд)
Post subject:
|
|
Ivan1986, ну я подозреваю, что это все же избавит форум от глупых вопросов, в конце концов мне, модератору, теперь будет куда отправлять пользователей. (-:
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Thu Sep 17, 2009 7:26 pm (спустя 54 минуты; написано за 1 минуту)
Post subject:
|
|
Создал я тему FAQ (forum.dklab.ru/viewtopic.php?t=35249). Разместил, по моему мнению, самые интересные и часто задаваемые вопросы, но есть еще, поэтому предлагайте!
|
|
Back to top |
|
 |
Миша Спларов
Участник форума

Joined: 17 Nov 2003
Posts: 821
Карма: 65 поощрить/наказать
Location: Россия, Москва
|
Posted: Fri Sep 18, 2009 12:42 pm (спустя 17 часов 15 минут; написано за 1 минуту 50 секунд)
Post subject:
|
|
A1. msdn.microsoft.com/en-us/library/aa155073.aspx
https://developer.mozilla.org/en/Web_Development trac.webkit.org/wiki/WebDevelopers
www.opera.com/docs/specs/
A2.getfirebug.com/
A7. ru.wikipedia.org/wiki/Прототипное_программирование
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Fri Sep 18, 2009 12:56 pm (спустя 14 минут; написано за 1 минуту 32 секунды)
Post subject:
|
|
Quote: |
A1. msdn.microsoft.com/en-us/library/aa155073.aspx https://developer.mozilla.org/en/Web_Development trac.webkit.org/wiki/WebDevelopers www.opera.com/docs/specs/ | Добавлено. Quote: |
A7. ru.wikipedia.org/wiki/Прототипное_программирование | Добавлено.Это ведь не кроссбраузерный подход! Я думаю, что потом там будет еще один пункт про отладку кода, из из 2-го вопроса будет на него ссылка... Там я расскажу и о фаербаге, и о своей консоли, и о пр. (-: [+] к карме.
|
|
Back to top |
|
 |
Миша Спларов
Участник форума

Joined: 17 Nov 2003
Posts: 821
Карма: 65 поощрить/наказать
Location: Россия, Москва
|
Posted: Fri Sep 18, 2009 1:07 pm (спустя 11 минут; написано за 2 минуты 18 секунд)
Post subject:
|
|
По A2 согласен, но можно и на document.write заменить :-) Ещё в FAQ по-моему должно быть про: jquery.com/, www.swfupload.org/, dean.edwards.name/packer/, browserpersistence.ru/ (не обязательно про конкретно эти реализации, конечно). Ещё полезно: habrahabr.ru/blogs/javascript/55922/, javascript.ru/manual, perevodik.net/ru/posts/9/
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Fri Sep 18, 2009 4:03 pm (спустя 2 часа 55 минут; написано за 13 секунд)
Post subject:
|
|
Миша Спларов wrote: |
browserpersistence.ru/ | Добавил, остальные тоже добавлю, но чуть позже. (-;
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Fri Oct 02, 2009 4:00 pm (спустя 13 дней 23 часа 57 минут; написано за 33 секунды)
Post subject:
|
|
Добавил пару вопросов/ответов, а также добавил ссылку на официальный перевод стандартна языка (ECMA-262).
|
|
Back to top |
|
 |
Dmitry A. Soshnikov
Заглянувший
Joined: 26 Oct 2007
Posts: 18
Карма: 3 поощрить/наказать
Location: Saint-Petersburg
|
Posted: Sat Oct 24, 2009 1:40 pm (спустя 21 день 21 час 39 минут; написано за 40 секунд)
Post subject:
|
|
Для тех, кто интересуется ECMAScript глубоко: javascript.ru/blog/dmitry-a.-soshnikov
или (shortcut) - javascript.ru/ecmascript-in-detail
|
|
Back to top |
|
 |
Dmitry A. Soshnikov
Заглянувший
Joined: 26 Oct 2007
Posts: 18
Карма: 3 поощрить/наказать
Location: Saint-Petersburg
|
Posted: Sun Oct 25, 2009 4:12 pm (спустя 1 день 2 часа 31 минуту; написано за 3 минуты 10 секунд)
Post subject:
|
|
Quote: |
A7: В JavaScript классов нет, однако многие реализуют разные библиотеки для эмуляции ООП, инкапсуляций, и пр. В общем случае это не нужно, если у вас в JavaScript приложении требуется слишком сложная и громоздкая система классов скорее всего вы что-то намудрили на этапе проектирования. | Неудачный ответ для FAQ (особенно про "вы что-то намудрили"). Опять же, относительно ООП в ECMAScript, рекомендую эту статью, как наиболее полную и точную - javascript.ru/blog/Dmitry-A.-Soshnikov/Tonkosti-ECMA-262-3.-CHast-7.-OOP. Quote: |
# маленькие хитрости JS # большие хитрости JS # наследование в JS | Многие момент данных статей сегодня тоже неактуальны по точности информации (это ведь современный FAQ).
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Sun Oct 25, 2009 6:24 pm (спустя 2 часа 12 минут; написано за 1 минуту 51 секунду)
Post subject:
|
|
Dmitry A. Soshnikov, Quote: |
Неудачный ответ для FAQ | Ну я не думаю что в клиентском JavaScript приложении могут понадобится очень специфичные ООП "фичи". (-; А вообще -- если вы предложите более удачный вариант, то я обязательно его опубликую вместо того. Quote: |
javascript.ru/blog/Dmitry-A.-Soshnikov/Tonkosti-ECMA-262-3.-CHast-7.-OOP. | Прочитал статью, нового для себя ничего не открыл... (-: Но статья правда хорошая [+]. Quote: |
Многие момент данных статей сегодня тоже неактуальны по точности информации (это ведь современный FAQ). | А можно цитаты? (-;
|
|
Back to top |
|
 |
Dmitry A. Soshnikov
Заглянувший
Joined: 26 Oct 2007
Posts: 18
Карма: 3 поощрить/наказать
Location: Saint-Petersburg
|
Posted: Sun Oct 25, 2009 8:14 pm (спустя 1 час 49 минут; написано за 20 минут 6 секунд)
Post subject:
|
|
Quote: |
Ну я не думаю что в клиентском JavaScript приложении могут понадобится очень специфичные ООП "фичи". (-; | Почему? JS - ООП язык, так почему же "ООП фичи" не могут фигурировать? Как вариант - структурная GUI-система - её очень удобно представить в виде иерархических модулей. Quote: |
Прочитал статью, нового для себя ничего не открыл... (-: | Ну, значит - отлично, вы - уже глубокий теоретик ES, и без меня ;) Quote: |
Но статья правда хорошая [+] | Спасибо. Quote: |
А можно цитаты? (-; | Надо ли? Эти статьи в своё время были хорошими для начинающих, но сейчас, когда большинство стало более-менее грамотными в JS, - в данных статьях явно много неточностей (нужно ли помещать в FAQ неточную/неправильную информацию?). И, вроде, они разбирались уже на этом форуме. Но, хорошо, выделю некоторые цитаты: #38: - заимствованная терминологиядля раскрытия сути - полезно, но в данном случае эта терминология выдаётся как родная (что неверно). - неточности: Quote: |
любая переменная в JavaScript — это на самом деле объект | В данной версии JS - всё - примитивы, а объектное значение всего одно - Object (+ "объектные подтипы"). Quote: |
массивы — это обыкновенные хэши с числовыми ключами | Ключи объекта - только строки. Quote: |
Наиболее близкий к JavaScript язык (по идеологии) — это... Perl | Кстати, наиболее близкий, всё-таки, Python (и по организации объектов и по методике разрешения свойств объектов). ECMAScript питал много идей из Python-a. Но это не касается темы статьи, так - к слову. #39: - неточности, неверные определения: Quote: |
Дело в том, что в замыкание попадает не сама переменная, а ссылка на нее. (Это и неудивительно: ведь в JavaScript все переменные хранят ссылки на объекты.) | Замкнутый лексический контекст - это свойство [[Scope]], который сам является ссылкой (и распределяется между всеми функциями, порождёнными в этом контексте). Но "замыкание попадает не сама переменная, а ссылка" - неверно, т.к. для примитива - там значение. Утверждение "все переменные хранят ссылки на объекты" - тоже неверное. Quote: |
JavaScript: раз в нем нет классов, их и наследовать нельзя. | В JS используется полноценное наследование, основанное на делегации. #40: Quote: |
К сожалению, невозможно задать прототип для некоторого объекта, не создав предварительно объект базового класса. | Ну сегодня, как вы знаете, в подобных случаях используется удобная обёртка, предложенная Lasse Reichstein Nielsen - с промежуточным "пустым" конструктором. Quote: |
служебное свойство constructor, присутствующее в любом хэше | .constructor - обычное свойство (за исключением того, что ему выставляется {DontEnum}) свойства конструктора .prototype (которое также является обычным свойством, за исключением того, что это - ссылка на прототип порождаемых объектов). Quote: |
Выражение obj.constructor.prototype (а не obj.prototype! это важно!) означает прототип объекта | Прототип любого объекта (за исключением некоторых системных) - это внутреннее свойство [[Prototype]]; косвенные же ссылки, доступные напрямую, могут быть вообще удалены, но объект продолжит ссылаться на свой прототип. Quote: |
после создания объекта интерпретатор присваивает его свойству constructor значение, равное величине, стоящей справа от оператора new | Уже описывалось, .constructor - свойство прототипа, а не самого объекта. Quote: |
obj.constructor.prototype.constructor.prototype | Рекурсивная ссылка на себя, а не цепь прототипов. Возможно, есть и другие неточности, эти просто сразу бросились в глаза при беглом просмотре (подробно я эти статьи читал давно). Quote: |
А вообще -- если вы предложите более удачный вариант, то я обязательно его опубликую вместо того. | Q7: Как создать в JavaScript класс? A7: ECMAScript использует альтернативную модель ООП, основанную на прототипах, и в которой отсутствует понятие класса. Однако, для структурирования и классификации объектов, понятие "класса" (если есть привычка к этой терминологии из других ООП реализаций) можно обозначить связкой "конструктор + прототип". На сегодняшний день существуют различные решения, призванные улучшить повторное использование кода при описании конструкторов и прототипов. Данные решения известны как "эмуляция классового ООП в JavaScript", однако, в реальности - это всего лишь удобный code reuse для связки прототипов. Внутри данных "обёрток" - стандартные средства JS для создания объектной иерархической структуры. Необязательно в таком виде, но суть - примерно эта.
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Mon Oct 26, 2009 6:15 am (спустя 10 часов 41 секунду; написано за 2 минуты 24 секунды)
Post subject:
|
|
Dmitry A. Soshnikov wrote: |
Почему? JS - ООП язык, так почему же "ООП фичи" не могут фигурировать? Как вариант - структурная GUI-система - её очень удобно представить в виде иерархических модулей. | Вы не поняли, я сказал "специфичные", то-есть не просто наследование, а более хитрые и специфичные вещи... Например, множественное наследование, интерфейсы... Dmitry A. Soshnikov wrote: |
Q7: Как создать в JavaScript класс? A7: ECMAScript использует альтернативную модель ООП, основанную на прототипах, и в которой отсутствует понятие класса. Однако, для структурирования и классификации объектов, понятие "класса" (если есть привычка к этой терминологии из других ООП реализаций) можно обозначить связкой "конструктор + прототип". На сегодняшний день существуют различные решения, призванные улучшить повторное использование кода при описании конструкторов и прототипов. Данные решения известны как "эмуляция классового ООП в JavaScript", однако, в реальности - это всего лишь удобный code reuse для связки прототипов. Внутри данных "обёрток" - стандартные средства JS для создания объектной иерархической структуры. | Поправил. О, действительно хорошие поправки к статьям, я когда их читал, почти не знал толком, что такое прототипы, и пр., поэтому данные ошибки и не заметил. (-: Ссылки на наблы убрал, поставил на вашу статью. (-;
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Wed Oct 28, 2009 4:08 pm (спустя 2 дня 9 часов 53 минуты)
Post subject:
|
|
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Sun Mar 28, 2010 9:27 am (спустя 4 месяца 30 дней 17 часов 19 минут; написано за 26 секунд)
Post subject:
|
|
Обновил немного FAQ, добавил информацию о том, что же такое framework. (-;
|
|
Back to top |
|
 |
Enilatiar
Участник форума

Joined: 09 Jun 2003
Posts: 690
Карма: 24 поощрить/наказать
|
Posted: Thu Oct 07, 2010 3:07 pm (спустя 6 месяцев 10 дней 5 часов 39 минут; написано за 11 минут 43 секунды)
Post subject:
|
|
Александр Михалицын wrote: |
как правило вопросы, задаваемые в форумах о JavaScript, глупые | Еще пять лет назад меня удивляло, что этот столь полезный форум имеет весьма скромную для своих масштабов популярность. Также удивляло то, что несмотря на возникающие у меня вопросы я никогда не пытался задать их на этом форуме. Причина банальна, не хотелось "выглядеть глупо", задавая вопросы, которые можно было: 1) самостоятельно экспериментировать; 2) погуглить; 3) поискать в похожих тема; 4) проштудировать мануал. Сейчас я знаю наверняка, что вопрос заданный на тематическом форуме часто экономит огромное количество времени. Поэтому не задать свой глупый вопрос среди общества специалистов -- большая ошибка. Это как умирать от жажды на берегу реки. Сейчас все также темы форума представляют собой коллекцию каких-то странных неочевидных вопросов. А сборник вопросов-и-ответов предполагается как справочник "глупых вопросов". Все это очень контрастирует на фоне буржуйских ресурсов, на которых много глупых вопросов, на которые быстро даются умные ответы, и этим поддерживается интерес и популярность форума. Благодаря этому на сложные вопросы обнаруживаются значительно больше ответов.
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Fri Oct 08, 2010 12:18 pm (спустя 21 час 10 минут; написано за 5 минут 24 секунды)
Post subject:
|
|
Enilatiar, в ваших словах есть доля правды, но политику тут задаю не я, её задают старожилы и владелец проекта. Этот форум позиционируется как форум профессионалов - вот и требования соответствующие. Переквалифицировать его в форум для новичков вряд ли кто-то захочет (я это тоже не приветствую). Почему? Да очень просто. Большая часть людей, программистов, математиков, физиков, и.т.п. вообще за людей не считают. Думают, что люди этих групп только и рады, что решать какие-нибудь задачи (и при том не важно какие - лишь бы решать) - это не так. Решать интересно нетривиальные задачи, над которыми можно подумать, решить их, а потом порадоваться "Я смог" или даже не решить - и пойти изучать доп. документацию/литературу, чтобы повысить свой уровень, а отвечать на тучу простых вопросов - не интересно. Ну вот подойдете вы к доктору математических наук и начнете у него таблицу умножения спрашивать, как вы думаете, интересно будет ему с вами? (-;
|
|
Back to top |
|
 |
Enilatiar
Участник форума

Joined: 09 Jun 2003
Posts: 690
Карма: 24 поощрить/наказать
|
Posted: Fri Oct 08, 2010 7:20 pm (спустя 7 часов 2 минуты; написано за 14 минут 10 секунд)
Post subject:
|
|
Александр Михалицын wrote: |
Ну вот подойдете вы к доктору математических наук и начнете у него таблицу умножения спрашивать, как вы думаете, интересно будет ему с вами? | Несколько знакомых мне докторов и профессоров математики отвечали на вопросы про таблицу умножения с видимым удовольствием, диалог был весьма приятен для обоих собеседников, несмотря на тридцати (и выше) разницу в возрасте. А те, кто не желал общаться с детьми, просто не обращали на них внимания. Я сам задавал математикам вопросы чуть более сложные, чем таблица умножения. Те, кто отвечали, делали это с удовольствием. Александр Михалицын wrote: |
отвечать на тучу простых вопросов - не интересно | Из Ваших слов следует, что всякий участник форума обязан отвечать на вопросы. :) Люди разные. Одни отвечают только на самые сложные интересные вопросы, другие стараются ответить на остальные. Я часто сталкивался с ситуацией, когда простой "глупый" вопрос вскрывал интереснейшие проблемы. Александр Михалицын wrote: |
форум позиционируется как форум профессионалов - вот и требования соответствующие. Переквалифицировать его в форум для новичков | 1. Любой профессионал ценит свое время. 2. Любой профессионал когда-то был новичком. Из этих двух утверждений можно сделать простой вывод, что профессионал предпочтет быстро получить ответ на простой вопрос от другого профессионала, чтобы быстрее перейти к решению сложных вопросов, а не заниматься личным изобретением велосипеда.
|
|
Back to top |
|
 |
Александр Михалицын
Модератор
Joined: 23 May 2008
Posts: 1299
Карма: 83 поощрить/наказать
|
Posted: Sat Oct 09, 2010 11:50 am (спустя 16 часов 29 минут; написано за 1 минуту)
Post subject:
|
|
Опять же не могу с Вами не согласится. Доля правды в том, что вы сказали есть. Это довольно не однозначный вопрос, на который и единого ответа, скорее всего, не существует.
|
|
Back to top |
|
 |
bæv
Модератор «Дзена»

Joined: 27 Aug 2003
Posts: 7275
Карма: 9989 поощрить/наказать
|
Posted: Sun Oct 10, 2010 11:13 pm (спустя 1 день 11 часов 23 минуты; написано за 3 минуты 10 секунд)
Post subject:
|
|
Enilatiar, покажите, пожалуйста, личным примером, как на вопросы «будущих профессионалов» отвечать — ответьте, пожалуйста, на вот этот вот вопрос: forum.dklab.ru/viewtopic.php?p=188847#188847
Отдельная просьба — учитывать при ответе правила этого форума.
|
|
Back to top |
|
 |
Трибофактика
Заглянувший
Joined: 26 Mar 2011
Posts: 1
Карма: 0 поощрить/наказать
|
Posted: Sat Mar 26, 2011 10:11 am (спустя 5 месяцев 15 дней 10 часов 57 минут; написано за 3 минуты 8 секунд)
Post subject:
|
|
Quote: |
Из этих двух утверждений можно сделать простой вывод, что профессионал предпочтет быстро получить ответ на простой вопрос от другого профессионала, чтобы быстрее перейти к решению сложных вопросов, а не заниматься личным изобретением велосипеда | Не всегда так. У нас есть один профессор, он очень любит отвечать на всякие легкие вопросы, всегда говорит: "Задавайте вопросы" А вот другой очень не хотел рассказывать про радиодетали. Пришлось самому искать как проверить радиокомпоненты омметром (rezistor.tk/news/proverka_radioehlementov_ommetrom/2011-03-06-624) и потом еще отчитываться
Last edited by Трибофактика on Wed Apr 06, 2011 3:56 pm; edited 2 times in total
|
|
Back to top |
|
 |
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 272 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Tue Mar 29, 2011 10:56 am (спустя 3 дня 45 минут; написано за 31 секунду)
Post subject:
|
|
Трибофактика
У Вас немного другая ситуация: общение преподавателя со студентами, а не коллеги с коллегой.
|
|
Back to top |
|
 |
|