Надо упомянуть о том, что если статический конструктор, выбросит исключение, то это и все последующие обращения ко всем членам этого класса кроме констант, будут выбрасывать TypeInitializationException. По этой причине я придерживаюсь мнения, что статический конструктор, это всегда плохо.
Да по-любому казачок купленный, смею предположить, что Балмер лично взятку давал, в лучших традициях — в бане, со шлюхами, и не только в этой школе, им никаких денег не жалко, чтобы Линукс щемить!!!
Тэг «обзор» добавьте, я ссылку на вашу статью на яндекс маркет нашёл, хотя на хабре обзоры видеокамер искал, глядишь найдёт кто-нибудь ещё вашу статью и плюсик поставит :)
Дело в том, что русскоязычный блог — это проявление русской культуры, мы же не можем назвать блог, написаный русским на немецком, русским блогом, а Мицгол хочет нам сказать, что русский блог — это блог, написанный неевреем русским на русском. А в отрыве от контекста вы правы.
Я думаю можно даже книгу написать «1000 и один способ обмануть самого себя.», хотя, я уверен, есть ситуации когда ваш код будет полезен, но нужно быть готовым к множественным полтергейстам, особенно при использовании сторонних библиотек.
Пара замечаний:
1. В массив можно записывать значения по строковому ключу, как и в объект по индексу.
2. Массив от объекта отличается наличием свойства length, причём элементы, записаные в массив по строковому ключу не считаются, отличить массив от объекта можно следующим образом objOrArr.length === undefined //true для объекта
3. Стандартный for each перебирает только те элементы, которые были явно записаны в массив/объект var arr = [];
var i = 0;
arr["somekey"] = "some data";
arr[34] = "some other data";
for each (value in arr) {
i++;
}
//здесь i == 2
Паттерны — средство для упрощения коммуникации, чтобы можно было без бумажки описать суть архитектурного решения, и если их начинают называть разными именами, они теряют свой смысл. Использовать паттерны для обучения это — зло, потому что, если человеку в определённой ситуации не пришла в голову подходящая схема её решения, то он всё равно не сможет правильно применить где-то прочитаный шаблон, а в худшем случае будет пытатся натянуть все известные ему шаблоны на каждую первую задачу и умными книжками трясти перед коллегами, если он работает в команде.
Ну следующее то поколение нам ростить и для окружающих можно пример подавать, высказывать альтернативные взгляды, вызывать когнитивный диссонанс, а кто-то может и во власти окажется, надо же что-то делать, глупо жить для того, чтобы быть биомассой и ждать НЛО.
Я тут даже не про экологию, а вообще.
Как я понял ветка началась с сообщения: «А вообще, чуть выше предложили идеальный вариант. Не показывать сразу капчу. Неправильно ввел пароль пару раз — вводи капчу.»
В принципе вы могли не привязыватся конкретно к PHP, в ASP.NET тоже самое, либо кука, либо урл и в JAVA я думаю также. А суть тут в том, что этот самый Id находится в юрисдикции клиента, т.е. в данном случае бота — убил Id значит убил сессию.
неевреемрусским на русском. А в отрыве от контекста вы правы.Ваш Кэп.
Даже если этим не пользоватся, лучше это знать, чтобы не воспользоваться этим случайно. Извиняюсь за каламбур.
Я думаю можно даже книгу написать «1000 и один способ обмануть самого себя.», хотя, я уверен, есть ситуации когда ваш код будет полезен, но нужно быть готовым к множественным полтергейстам, особенно при использовании сторонних библиотек.
1. В массив можно записывать значения по строковому ключу, как и в объект по индексу.
2. Массив от объекта отличается наличием свойства length, причём элементы, записаные в массив по строковому ключу не считаются, отличить массив от объекта можно следующим образом
objOrArr.length === undefined //true для объекта
3. Стандартный for each перебирает только те элементы, которые были явно записаны в массив/объект
var arr = [];
var i = 0;
arr["somekey"] = "some data";
arr[34] = "some other data";
for each (value in arr) {
i++;
}
//здесь i == 2
P.S. А вот суда я думаю бояться не стоит — это будет пиар, неоценимый в денежном выражении.
Я тут даже не про экологию, а вообще.