Любой русский программист после пары минут чтения кода, обязательно вскочит и произнесет, обращаясь к себе: «переписать это все нафиг». Потом в нем шевельнется сомнение в том, сколько времени это займет, и остаток дня русский программист потратит на то, что будет доказывать самому себе, что это только кажется, что переписать — это много работы. А если взяться и посидеть немного, то все получится. Зато код будет красивый и правильный. Hа следующее утро русский программист свеж, доволен собой и без единой запинки докладывает начальству, что переписать этот кусок займет один день, не больше. Да, не больше. Hу, в крайнем случае, два, если учесть все риски. В итоге начальство даст ему неделю и через полгода процесс будет успешно завершен. До той поры, пока этот код не увидит другой русский программист. читать дальше
Страна должна знать своих героев
Недавно мой знакомый столкнулся с проблемой передачи через AJAX переменных, содержащих «&».
Проблема c амперсандом
Передаем пару переменных (var1 и var2) через AJAX методом POST или GET. Используем библиотеку jQuery.
$.ajax({ type: 'POST', url: 'some.php', data: 'var1=preved&var2=medved', success: onAjaxSuccess });
Проблемы начинаются, если в переменных встречаются амперсанды (символ &).
Например
data: 'var1=chip&dail&var2=medved'
Таким образом, амперсанды «ломают» массив параметров, т.к. & - разделитель параметров в URL.
Более того, данной проблеме подвержен не только jQuery, но и «голый» AJAX (без использования библиотек).
Решение проблемы
Семантика (фр. sémantique от греч. σημαντικός — обозначающий). Семантика в верстке — это совокупность смысловых отношений, возникающих в документе. Не понятно? На примерах ниже все станет ясно.
Зачем нужна семантика
- код будет понятен не только автору, но и тем, кто будет работать с ним после него
- работа с DOM'ом становится проще и доступнее
- семантический код гораздо лучше читается поисковиками (вспомните про h1)
Как сделать семантическую верстку? Очень просто: используйте теги по смыслу! Если у вас есть заголовок - используйте для него теги h1-h6. Если абзац/параграф – используйте тег p (paragraph). Примеры семантической верстки
Теория
Технически термин «генератор случайных чисел» – это абсурд, так как числа сами по себе не являются случайными. Например, 100 – это случайное число? А 25? Что в действительности означает этот термин, так это то, что создается последовательность чисел, появляющихся случайным образом. Это порождает более сложный вопрос: что такое последовательность случайных чисел? подробнее о случайных числах
Чтобы показать заказчику эскизы сайта, нужно где-то найти тексты. Как правило, текста во время разработки текста нету. Разработчик делает рыбу. Если в качестве рыбного текста использовать слова «текст, текст, текст», макет будет выглядеть неестественно. Для решения проблем с рыбным тектстом есть замечательный сервис Яндекс.Рефераты.
Служба Яндекс.Рефераты предназначена для студентов и школьников, дизайнеров и журналистов, создателей научных заявок и отчетов - для всех, кто относится к тексту, как к количеству знаков. Каждый текст Яндекс.Рефератов неповторим.
Пример: «Почему абразивна дистилляция?»
Раньше ученые полагали, что трехкомпонентное образование распознает диэтиловый эфир, однако между карбоксильной группой и аминогруппой может возникнуть солевой мостик. Полоса поглощения гомологична. Комплекс-аддукт взвешивает рацемический сахар, как и предсказывает основной постулат квантовой химии. Окисление химически полимеризует органический гомолог, тем самым открывая возможность синтеза тетрахлордифенилдиоксина...
Для проверки знаний верстальщика даем 2 макета: простой и сложный.
смотреть макеты
Недавно появился на свет новый сервис для поиска попутчиков в путешествие, а также поиска жилья. Идея сайта очень похожа на зарубежную идею
NULL означает отсутствие, неизвестность информации. Значение NULL не является значением в полном смысле слова: по определению оно означает отсутствие значения и не принадлежит ни одному типу данных. Поэтому NULL не равно ни логическому значению FALSE, ни пустой строке, ни нулю. При сравнении NULL с любым значением будет получен результат NULL, а не FALSE и не 0. Более того, NULL не равно NULL! Довольно часто программисты избегают null-значений и для нулевых полей в базе выставляют значения по умолчанию типа 0, '' (пустая строка). Во-первых, это неправильно с точки зрения семантики: 0 все-таки означает наличие информации. Во-вторых, использование подобных дефолтных значений может привести к ошибкам. Приведу пример
Проблема: Боты спамеров с помощью регулярных выражений находят на страницах сайта email-адреса и заносят их в свою базу. Нужно каким-то образом нарушить обнаружение email. решение?
Вышло 2-ое издание книги High Performance MySQL. Во-первых книга была почти целиком переписана. Во-вторых ее также можно назвать книгой сообщества, поскольку авторы собрали вместе официальные, а также просто используемые сообществом средства, чтобы объяснить на их примере как работает MySQL. Многие из тем также обсуждались в комьюнити: оптимизация и индексирование, масштабируемость, расширенные возможности SQL, производительность. Кроме того, в книге авторы обясняют как писать технические книги.
скачать High Performance MySQL, Second Edition (англ, pdf)