Как стать автором
Обновить
8
0
EcoDark @EcoDark

Пользователь

Отправить сообщение

Вопросы по PHP (собеседование)

Время на прочтение1 мин
Количество просмотров2.8K
Здравствуйте уважаемые ХабраЛюди!
Мой друг получил приглашение на собеседование на вакансию Web-Developer (PHP + MySQL), в связи с чем попросил меня найти ему как можно больше вопросов, которые могут появиться на интервью.
Я обращаюсь к вам с просьбой написать вопросы (типы вопросов, реальные вопросы или просто темы которым стоит уделить внимание). Особенно интересно было бы узнать реальный опыт прохождения интервью на подобную вакансию.
Заранее благодарен!
Всего голосов 20: ↑12 и ↓8+4
Комментарии57

Введение в MySQL Native Driver для PHP

Время на прочтение2 мин
Количество просмотров1.6K
В этой заметке речь пойдет об альтернативном драйвере для доступа к СУБД MySQL, через PHP. Имя ему — MySQL Native Driver.

В PHP существуют три API для работы с MySQL: mysql, mysqli и PDO. Все три реализованы в виде расширений на языке C.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии12

PHP: array_search — быстрый поиск по массиву

Время на прочтение3 мин
Количество просмотров14K
Я уже достаточно долго использую функцию array_search() для поиска значений в массиве, так как неоднократно слышал и читал о том, что она работает заметно быстрее, чем поиск по массиву в цикле, но насколько она быстрее — не знал. Наконец-то дошли руки самому проверить и посчитать.

Сравнил скорость поиска в массиве с помощью этой функции с обычным перебором массива в циклах foreach и while. На 10-100 элементах массива разница незаметна да и время столь мало, что им можно принебречь. А вот для больших массивов разница оказалась весьма существенной. С увеличением размера массива на порядок, значительно увеличивалось и время поиска. При ста тысячах элементов скорость foreach падала до 0,013 секунды, а while — до 0,017, при том что array_search() тоже замедлился, но все-таки остался на порядок быстрее — 0.004 секунды. Для большого скрипта, работающего с большими массивами замена поиска в цикле на поиск с помощью array_search() будет вовсе не «блошиной оптимизацией».

UPD: добавил в циклы break и менял искомое значение так, чтобы оно было в середине массива — 5-50-500 и т.д. Данные в таблице обновленные.
Число элементов массива   array_search   Цикл foreach  Цикл while  
10 0.0000068 0.0000064 0.0000076
100 0.0000078 0.0000153 0.0000185
1000 0.0000209 0.0001177 0.0001351
10000 0.0004210 0.0012128 0.0018670
100000 0.0039679 0.0130989 0.0175215


В связи с этим вспомнил недавнюю дискуссию с одним из коллег на работе — насчет того, нужно ли программисту знать все эти встроенные функции языка, или достаточно «программистского склада ума» и общих познаний. Не вдаваясь с рассуждения об этом самом складе ума, думаю, что все-таки знать функции надо, может быть не весь синтаксис в деталях, а хотя-бы какие функции есть и что они в общих чертах могут.

UPD: нужен программистский склад ума, тоже нужен! И внимательность с памятью не помешают (навеяно break и range :)

Под хабракатом код скрипта, которым подсчитывал время:

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии36

Памятка для SEO оптимизаторов

Время на прочтение1 мин
Количество просмотров1.9K
Вот решил поделиться некоторым материалом, который сам составил в ходе экспресс-изучения SEO оптимизации и раскрутки сайтов. Просто попался видео-курс Юсуфа Губайдуллина, который продает его на promoguide.ru и решил воспользоваться случаем. Честно говоря, курс не понравился — нудно как-то рассказывается. Оценил содержание на 4 с минусом, а изложение — на 2 с плюсом. Само SEO весьма скучная вещь, но нужная, поэтому составил небольшую памятку для себя — чтобы не держать это в голове и легко вспомнить когда понадобится. Здесь два файла: первый — просто картинка, второй — в формате freemind, для тех, кто желает что-то для себя добавить.

SEO-карта
Читать дальше →
Всего голосов 97: ↑88 и ↓9+79
Комментарии81

Клавиатура для PHP программиста

Время на прочтение2 мин
Количество просмотров1.6K
По роду деятельности приходится заниматься программированием на PHP, не предел мечтаний, но жить можно:) По этой же причине, приходится часто набирать символ $ (доллар), с которого начинается имя переменной. Мне всегда казалось неудобным растягивать пальцы на клавиши Shift+4, для набора этого символа. В общем, отвратительное юзабилити.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии24

Задачки на собеседованиях на вакансию программиста

Время на прочтение1 мин
Количество просмотров2.2K
Решила опубликовать задачки, которые мне задавали для определения профпригодности на собеседовании на вакансию php-программиста. Сразу предупрежу, что решение я знаю. Просто, может, кому-то будет интересно «размять мозги». Задачки в комментариях.

Если захотите проверить себя, пишите решение сюда, есть вопросы — задавайте тут.
Всего голосов 15: ↑12 и ↓3+9
Комментарии125

Темная сторона SEO — Получение ссылок с несуществующих страниц

Время на прочтение4 мин
Количество просмотров1.6K

Темная сторона силы


В прошлом году в издательстве «Вильямс» была издана книга коллектива авторов под редакцией Игоря Ашманова и Андрея Иванова «Продвижение сайта в поисковых системах». Судя по отзывам, работа получилась неплохой. Профессия SEO-специалиста показана с достаточно привлекательной стороны, а оптимизация нужной всем — заказчикам, поисковым системам, пользователям, которые ищут информацию.
На фоне такого позитива довольно необычно выглядело выступление Игоря Ашманова на РИФ'е, в котором он сказал о предстоящем глубоком кризисе SEO-рынка и негативных последствиях от деятельности «оптимизаторов». Дело вот в чем.
Читать дальше →
Всего голосов 56: ↑47 и ↓9+38
Комментарии48

Как не терять деньги при оплате через PayPal

Время на прочтение5 мин
Количество просмотров472K
Часто платите через PayPal и хотите быть уверенным что не переплачиваете 1-2% от суммы платежей? Тогда загляните под кат. Пользователям PayPal «со стажем», возможно, это будет не интересно, но кто знает…
Все равно читать...
Всего голосов 92: ↑80 и ↓12+68
Комментарии58

Некоторые функции, которые я использую в своих проектах

Время на прочтение4 мин
Количество просмотров2.4K
Доброго времени суток, Под катом предлагаю Вам ознакомиться с функциями на PHP, которые я использую в большинстве своих проектов. В статье мы получим погоду для любого города мира при помощи Google, получим Whois и favicon домена, количество ретвитов определенной страницы и сделаем генератор ссылок на профили в твиттере, сделаем скриншот сайта, соберем css в 1 файл как у яндекса, распакуем zip и преобразуем картинку в ASCII-код.
Прошу под кат
Всего голосов 57: ↑33 и ↓24+9
Комментарии22

«Правильная» utf-8 кодировка в настройках nginx/apache

Время на прочтение3 мин
Количество просмотров97K
Надеюсь, что данный пост окажется полезным многим разработчикам, т.к. судя по многочисленным тредам в интернете, проблема-то довольно частая. Суть проблемы в следующем: неправильное наименование кодировки utf-8 в настройках nginx/apache. При этом отдаваемый сервером контент воспринимается нормально во всех браузерах, кроме Internet Explorer-a.
Читать дальше →
Всего голосов 163: ↑143 и ↓20+123
Комментарии72

Двадцатка лучших веб-шрифтов

Время на прочтение9 мин
Количество просмотров753K
Top 20 Fonts

Сейчас самое время повышать уровень дизайна своих работ с помощью веб-шрифтов


Без преувеличения, сейчас сетевая типографика переживает захватывающий период своей жизни. Недавние технологические скачки приблизили нас еще на шаг ближе к типографической нирване в интернете. Шаг, которого все так долго ждали.

Свобода использования веб-шрифтов вне безопасного списка на всех ведущих ОС стала возможной, по большому счету, благодаря трем основным, почти одновременным технологическим факторам: широко распространенной поддержке правила @font-face в браузерах; появлению таких «шрифтохранилищ» как Typekit и Fontdeck; создание нового формата шрифтов — архивированного файла шрифта WOFF.

Читать дальше →
Всего голосов 146: ↑128 и ↓18+110
Комментарии71

HTML в PDF

Время на прочтение2 мин
Количество просмотров120K
html to pdf

В далеком 2008 году уже была написана подобная статья и я попытался применить знания, но, к сожалению, не справился с русским языком (на denwer-е работал, на хостинге нет). Возможно сказалось отсутствие опыта. А недавно нашел хорошую библиотеку и решил поделиться. Топик, скорее всего, адресован начинающим программистом и ни на, что не претендует.
Читать дальше →
Всего голосов 144: ↑129 и ↓15+114
Комментарии81

Определение кодировки текста в PHP — обзор существующих решений плюс еще один велосипед

Время на прочтение7 мин
Количество просмотров104K
Столкнулся с задачей — автоопределение кодировки страницы/текста/чего угодно. Задача не нова, и велосипедов понапридумано уже много. В статье небольшой обзор найденного в сети — плюс предложение своего, как мне кажется, достойного решения.

1. Почему не mb_detect_encoding() ?


Если кратко — он не работает.
Подробнее - под катом
Всего голосов 115: ↑104 и ↓11+93
Комментарии82

Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL

Время на прочтение6 мин
Количество просмотров195K
В одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД
Взглянем?
Всего голосов 99: ↑96 и ↓3+93
Комментарии41

MySQL шпаргалки

Время на прочтение3 мин
Количество просмотров818K
Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

Читать дальше →
Всего голосов 215: ↑193 и ↓22+171
Комментарии230

Развитие валидации форм

Время на прочтение9 мин
Количество просмотров22K

Валидация форм была педантичным занятием с момента появления web. Первой пришла серверная валидация. Затем она развилась в валидацию на стороне клиента для проверки результатов в браузере. Теперь у нас есть такие гиганты как HTML5 и CSS3: глава о формах HTML5 предлагает нам новые типы для input полей и атрибуты, которые делают возможным проверку ограничений поля. Базовый UI модуль CSS3 предоставляет несколько псевдо-классов, которые помогают нам стилизовать состояние валидности и менять внешний вид поля в зависимости от действий пользователя. Давайте взглянем на комбинацию обоих для создания валидатора форм основанного на CSS, который имеет достаточно широкую поддержку браузеров.

Чем больше мы можем дать подсказок пользователю, как правильно заполнять форму, в процессе заполнения, тем меньше шансов, что он сделает ошибку. Взгляните на пример CSS3 валидации форм в браузере поддерживающем CSS3 UI псевдо-классы, например Chrome 4+, Safari 5+ или Opera 9.6+. Я использовал CSS3 UI псевдо-классы и HTML5 атрибуты форм для создания валидации основанной на CSS. Давайте посмотрим как это работает.
Читать дальше →
Всего голосов 71: ↑69 и ↓2+67
Комментарии31

Одинокое программирование

Время на прочтение2 мин
Количество просмотров3.6K
Когда плотник осваивает свое ремесло, он учится, наблюдая за работой других — за тем, как они распиливают древесину и забивают гвозди. То же относится и к хирургам, учителям и множеству других профессий — но не к программистам. Нас учат программированию в университетах или мы учимся сами, но при этом мы крайне редко наблюдаем за тем, как работают другие программисты. Если продолжать аналогию с плотниками, нас учат теории обработки древесины и алгоритмам забивания гвоздей, а потом оставляют с материалом наедине на всю нашу профессиональную жизнь, а все остальные плотники работают в отдельных закрытых комнатах.

Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии75

Замыкания в php

Время на прочтение10 мин
Количество просмотров48K
Не секрет, что в PHP 5.3 был введен ряд интересных новшеств. Разной степени полезности и скандальности. Возможно даже, что выпуск PHP 5.3 — хорошо спланированный PR-ход: самый большой список изменений за последние пять лет, оператор goto (sic!), пространства имен (namespaces) с синтаксисом «не как у всех», позднее статическое связывание (late static binding), более-менее честные анонимные (лямбда) функции (lambda functions), замыкания (closures).
Читать дальше →
Всего голосов 142: ↑109 и ↓33+76
Комментарии69

Как учат информатике в Европе (и в Чехии в частности)

Время на прочтение8 мин
Количество просмотров67K
Введение

Прочитав топик про образовательный процесс в МГТУ им. Баумана, я решила, что мне тоже есть что рассказать на эту тему. Я училась (собственно, еще формально учусь) в Карловом университете в Праге на физико-математическом факультете (на отделении информатики) и, думаю, многим, не только тем, кто подумывает об обучении за рубежом, будет интересно узнать, как же выглядит зарубежное образование для будущих программистов.

Поскольку я обучалась только в одном университете (хотя и общалась со студентами разных ВУЗов из разных стран), то рассказать я могу только про него. Впрочем, система почти всех европейских высших учебных заведений примерно одинаковая. Так что я надеюсь, что этот топик поможет интересующимся составить общее представление как оно все там работает.

Читать дальше →
Всего голосов 184: ↑174 и ↓10+164
Комментарии260

Производительность функции unserialize

Время на прочтение2 мин
Количество просмотров7.7K
В PHP есть две замечательные функции serialize и unserialize. Первая преобразует в строку практически любой набор данных, вторая производит обратное преобразование. Эти функции удобно использовать при организации кеширования или хранения сессий в базе данных. Я обнаружил, что время работы функции unserialize может оказаться неожиданно большим.
Читать дальше
Всего голосов 54: ↑48 и ↓6+42
Комментарии74

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность