Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Создание FAQ (Александр Михалицын, оценка: 10)
Author Message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Thu Sep 17, 2009 5:08 pm (написано за 5 минут 9 секунд)
   Post subject: Создание FAQ
Reply with quote

Итак, я заметил, что как правило вопросы, задаваемые в форумах о JavaScript, глупые и связаны с тем, что пользователи
не умеют отлаживать код, а также не знают каких-то базовых вещей. Поэтому я решил создать FAQ, но помочь мне в его создании
можете только вы, дорогие пользователи. (-; Поэтому я призываю вас переодически заглядывать в эту тему и кидать вопросы (а также ваши
варианты ответа на них), которые по вашему мнению задаются наиболее часто, и требуют размещения в FAQ. Думаю, первый вопрос, который
появится тут будет об отладке кода, в ближайшее время я обязательно опишу подробно как правильно отлаживать код.
Поскольку 80% вопросов, задаваемых тут по типу: "Почему у меня не работает ...".
Back to top
View user's profile Send private message Send e-mail
Ivan1986
Участник форума
Warnings: 2


Joined: 09 Oct 2007
Posts: 807
Карма: 39
   поощрить/наказать


PostPosted: Thu Sep 17, 2009 5:27 pm (спустя 19 минут; написано за 43 секунды)
   Post subject:
Reply with quote

Ситуация в разделах PHP и настройки денвера слабо отличается.
FAQ там есть. Помогло?
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Thu Sep 17, 2009 6:32 pm (спустя 1 час 4 минуты; написано за 45 секунд)
   Post subject:
Reply with quote

Ivan1986,
ну я подозреваю, что это все же избавит форум от глупых вопросов, в конце концов мне, модератору, теперь будет куда отправлять пользователей. (-:
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Thu Sep 17, 2009 7:26 pm (спустя 54 минуты; написано за 1 минуту)
   Post subject:
Reply with quote

Создал я тему FAQ (forum.dklab.ru/viewtopic.php?t=35249). Разместил, по моему мнению, самые интересные и часто задаваемые вопросы, но есть еще, поэтому предлагайте!
Back to top
View user's profile Send private message Send e-mail
Миша Спларов
Участник форума



Joined: 17 Nov 2003
Posts: 821
Карма: 65
   поощрить/наказать

Location: Россия, Москва

PostPosted: Fri Sep 18, 2009 12:42 pm (спустя 17 часов 15 минут; написано за 1 минуту 50 секунд)
   Post subject:
Reply with 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/
A2.
Code (JavaScript): скопировать код в буфер обмена
for (var i in object) {
        console.log(i + ': ' + object[i]);
}
getfirebug.com/
A7. ru.wikipedia.org/wiki/Прототипное_программирование
Back to top
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Fri Sep 18, 2009 12:56 pm (спустя 14 минут; написано за 1 минуту 32 секунды)
   Post subject:
Reply with quote

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/Прототипное_программирование
Добавлено.
Quote:
A2.
Это ведь не кроссбраузерный подход! Я думаю, что потом там будет еще один пункт про отладку кода, из из 2-го вопроса будет на него ссылка...
Там я расскажу и о фаербаге, и о своей консоли, и о пр. (-:

[+] к карме. ;-)
Back to top
View user's profile Send private message Send e-mail
Миша Спларов
Участник форума



Joined: 17 Nov 2003
Posts: 821
Карма: 65
   поощрить/наказать

Location: Россия, Москва

PostPosted: Fri Sep 18, 2009 1:07 pm (спустя 11 минут; написано за 2 минуты 18 секунд)
   Post subject:
Reply with quote

По 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
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Fri Sep 18, 2009 4:03 pm (спустя 2 часа 55 минут; написано за 13 секунд)
   Post subject:
Reply with quote

Миша Спларов wrote:
browserpersistence.ru/
Добавил, остальные тоже добавлю, но чуть позже. (-;
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Fri Oct 02, 2009 4:00 pm (спустя 13 дней 23 часа 57 минут; написано за 33 секунды)
   Post subject:
Reply with quote

Добавил пару вопросов/ответов, а также добавил ссылку на официальный перевод стандартна языка (ECMA-262).
Back to top
View user's profile Send private message Send e-mail
Dmitry A. Soshnikov
Заглянувший



Joined: 26 Oct 2007
Posts: 18
Карма: 3
   поощрить/наказать

Location: Saint-Petersburg

PostPosted: Sat Oct 24, 2009 1:40 pm (спустя 21 день 21 час 39 минут; написано за 40 секунд)
   Post subject:
Reply with quote

Для тех, кто интересуется ECMAScript глубоко:

javascript.ru/blog/dmitry-a.-soshnikov

или (shortcut) - javascript.ru/ecmascript-in-detail
Back to top
View user's profile Send private message
Dmitry A. Soshnikov
Заглянувший



Joined: 26 Oct 2007
Posts: 18
Карма: 3
   поощрить/наказать

Location: Saint-Petersburg

PostPosted: Sun Oct 25, 2009 4:12 pm (спустя 1 день 2 часа 31 минуту; написано за 3 минуты 10 секунд)
   Post subject:
Reply with quote

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
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Sun Oct 25, 2009 6:24 pm (спустя 2 часа 12 минут; написано за 1 минуту 51 секунду)
   Post subject:
Reply with quote

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
View user's profile Send private message Send e-mail
Dmitry A. Soshnikov
Заглянувший



Joined: 26 Oct 2007
Posts: 18
Карма: 3
   поощрить/наказать

Location: Saint-Petersburg

PostPosted: Sun Oct 25, 2009 8:14 pm (спустя 1 час 49 минут; написано за 20 минут 6 секунд)
   Post subject:
Reply with quote

Quote:
Ну я не думаю что в клиентском JavaScript приложении могут понадобится очень специфичные ООП "фичи". (-;
Почему? JS - ООП язык, так почему же "ООП фичи" не могут фигурировать? Как вариант - структурная GUI-система - её очень удобно представить в виде иерархических модулей.
Quote:
Прочитал статью, нового для себя ничего не открыл... (-:
Ну, значит - отлично, вы - уже глубокий теоретик ES, и без меня ;)
Quote:
Но статья правда хорошая [+]
Спасибо.
Quote:
А можно цитаты? (-;
Надо ли? Эти статьи в своё время были хорошими для начинающих, но сейчас, когда большинство стало более-менее грамотными в JS, - в данных статьях явно много неточностей (нужно ли помещать в FAQ неточную/неправильную информацию?). И, вроде, они разбирались уже на этом форуме. Но, хорошо, выделю некоторые цитаты:

#38:

- заимствованная терминология
Quote:
Хэши
для раскрытия сути - полезно, но в данном случае эта терминология выдаётся как родная (что неверно).

- неточности:
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
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Mon Oct 26, 2009 6:15 am (спустя 10 часов 41 секунду; написано за 2 минуты 24 секунды)
   Post subject:
Reply with quote

Dmitry A. Soshnikov wrote:
Почему? JS - ООП язык, так почему же "ООП фичи" не могут фигурировать? Как вариант - структурная GUI-система - её очень удобно представить в виде иерархических модулей.
Вы не поняли, я сказал "специфичные", то-есть не просто наследование, а более хитрые и специфичные вещи...
Например, множественное наследование, интерфейсы...
Dmitry A. Soshnikov wrote:
Q7: Как создать в JavaScript класс? A7: ECMAScript использует альтернативную модель ООП, основанную на прототипах, и в которой отсутствует понятие класса. Однако, для структурирования и классификации объектов, понятие "класса" (если есть привычка к этой терминологии из других ООП реализаций) можно обозначить связкой "конструктор + прототип". На сегодняшний день существуют различные решения, призванные улучшить повторное использование кода при описании конструкторов и прототипов. Данные решения известны как "эмуляция классового ООП в JavaScript", однако, в реальности - это всего лишь удобный code reuse для связки прототипов. Внутри данных "обёрток" - стандартные средства JS для создания объектной иерархической структуры.
Поправил.

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

Ссылки на наблы убрал, поставил на вашу статью. (-;
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Wed Oct 28, 2009 4:08 pm (спустя 2 дня 9 часов 53 минуты)
   Post subject:
Reply with quote


М

Ветка выделена в отдельную тему «О прототипах...»,
расположенную в форуме Разное :: JavaScript (28 Октября 2009, 19:08).
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Sun Mar 28, 2010 9:27 am (спустя 4 месяца 30 дней 17 часов 19 минут; написано за 26 секунд)
   Post subject:
Reply with quote

Обновил немного FAQ, добавил информацию о том, что же такое framework. (-;
Back to top
View user's profile Send private message Send e-mail
Enilatiar
Участник форума



Joined: 09 Jun 2003
Posts: 690
Карма: 24
   поощрить/наказать


PostPosted: Thu Oct 07, 2010 3:07 pm (спустя 6 месяцев 10 дней 5 часов 39 минут; написано за 11 минут 43 секунды)
   Post subject:
Reply with quote

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

Также удивляло то, что несмотря на возникающие у меня вопросы я никогда не пытался задать их на этом форуме. Причина банальна, не хотелось "выглядеть глупо", задавая вопросы, которые можно было: 1) самостоятельно экспериментировать; 2) погуглить; 3) поискать в похожих тема; 4) проштудировать мануал. Сейчас я знаю наверняка, что вопрос заданный на тематическом форуме часто экономит огромное количество времени. Поэтому не задать свой глупый вопрос среди общества специалистов -- большая ошибка. Это как умирать от жажды на берегу реки.

Сейчас все также темы форума представляют собой коллекцию каких-то странных неочевидных вопросов. А сборник вопросов-и-ответов предполагается как справочник "глупых вопросов".

Все это очень контрастирует на фоне буржуйских ресурсов, на которых много глупых вопросов, на которые быстро даются умные ответы, и этим поддерживается интерес и популярность форума. Благодаря этому на сложные вопросы обнаруживаются значительно больше ответов.
Back to top
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Fri Oct 08, 2010 12:18 pm (спустя 21 час 10 минут; написано за 5 минут 24 секунды)
   Post subject:
Reply with quote

Enilatiar,
в ваших словах есть доля правды, но политику тут задаю не я, её задают старожилы и владелец проекта. Этот форум позиционируется как форум профессионалов - вот и требования соответствующие. Переквалифицировать его в форум для новичков вряд ли кто-то захочет (я это тоже не приветствую). Почему? Да очень просто. Большая часть людей,
программистов, математиков, физиков, и.т.п. вообще за людей не считают. Думают, что люди этих групп только и рады, что решать какие-нибудь задачи (и при том не важно какие - лишь бы решать) - это не так. Решать интересно нетривиальные задачи, над которыми можно подумать, решить их, а потом порадоваться "Я смог" или даже не решить - и пойти изучать доп. документацию/литературу, чтобы повысить свой уровень, а отвечать на тучу простых вопросов - не интересно.

Ну вот подойдете вы к доктору математических наук и начнете у него таблицу умножения спрашивать, как вы думаете, интересно будет ему с вами? (-;
Back to top
View user's profile Send private message Send e-mail
Enilatiar
Участник форума



Joined: 09 Jun 2003
Posts: 690
Карма: 24
   поощрить/наказать


PostPosted: Fri Oct 08, 2010 7:20 pm (спустя 7 часов 2 минуты; написано за 14 минут 10 секунд)
   Post subject:
Reply with quote

Александр Михалицын wrote:
Ну вот подойдете вы к доктору математических наук и начнете у него таблицу умножения спрашивать, как вы думаете, интересно будет ему с вами?
Несколько знакомых мне докторов и профессоров математики отвечали на вопросы про таблицу умножения с видимым удовольствием, диалог был весьма приятен для обоих собеседников, несмотря на тридцати (и выше) разницу в возрасте. А те, кто не желал общаться с детьми, просто не обращали на них внимания. Я сам задавал математикам вопросы чуть более сложные, чем таблица умножения. Те, кто отвечали, делали это с удовольствием.
Александр Михалицын wrote:
отвечать на тучу простых вопросов - не интересно
Из Ваших слов следует, что всякий участник форума обязан отвечать на вопросы. :)
Люди разные. Одни отвечают только на самые сложные интересные вопросы, другие стараются ответить на остальные.
Я часто сталкивался с ситуацией, когда простой "глупый" вопрос вскрывал интереснейшие проблемы.
Александр Михалицын wrote:
форум позиционируется как форум профессионалов - вот и требования соответствующие. Переквалифицировать его в форум для новичков
1. Любой профессионал ценит свое время.
2. Любой профессионал когда-то был новичком.
Из этих двух утверждений можно сделать простой вывод, что профессионал предпочтет быстро получить ответ на простой вопрос от другого профессионала, чтобы быстрее перейти к решению сложных вопросов, а не заниматься личным изобретением велосипеда.
Back to top
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 81
   поощрить/наказать


PostPosted: Sat Oct 09, 2010 11:50 am (спустя 16 часов 29 минут; написано за 1 минуту)
   Post subject:
Reply with quote

Опять же не могу с Вами не согласится. Доля правды в том, что вы сказали есть. Это довольно не однозначный вопрос, на который и единого ответа, скорее всего, не существует.
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9993
   поощрить/наказать


PostPosted: Sun Oct 10, 2010 11:13 pm (спустя 1 день 11 часов 23 минуты; написано за 3 минуты 10 секунд)
   Post subject:
Reply with quote

Enilatiar, покажите, пожалуйста, личным примером, как на вопросы «будущих профессионалов» отвечать — ответьте, пожалуйста, на вот этот вот вопрос:
forum.dklab.ru/viewtopic.php?p=188847#188847
Отдельная просьба — учитывать при ответе правила этого форума.
Back to top
View user's profile Send private message
Трибофактика
Заглянувший



Joined: 26 Mar 2011
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Sat Mar 26, 2011 10:11 am (спустя 5 месяцев 15 дней 10 часов 57 минут; написано за 3 минуты 8 секунд)
   Post subject:
Reply with quote

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
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 270
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Tue Mar 29, 2011 10:56 am (спустя 3 дня 45 минут; написано за 31 секунду)
   Post subject:
Reply with quote

Трибофактика
У Вас немного другая ситуация: общение преподавателя со студентами, а не коллеги с коллегой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML