Написать этот пост побудила недавняя статья о полиморфизме. Она вызвала много споров, но знающие люди понимают, что автор написал скорее о наследовании и о переопределении методов, чем о полиморфизме. Не буду говорить ни хорошее ни плохое о той статье, а просто расскажу, что такое полиморфизм на самом деле. Дабы начинающие php-программисты не остались в заблуждении.
Семен Пинигин @Semasping
User
8 полезных сервисов для веб-разработчика и дизайнера
2 min
36KПод катом — описание восьми сервисов, которые могут заметно облегчить жизнь веб-разработчика, верстальщика или дизайнера.
+311
Motorola Milestone. Спустя 2 месяца
3 min
781Прошло около двух месяцев с момента приобретения мною Android-устройства Motorola Milestone. Решил поделиться некоторыми впечатлениями.
При выборе смартфона решающими критериями были:
- отличный корпус;
- полноценная механическая клавиатура;
- мощное железо;
- достаточная автономность.
+34
C# для начинающих. Лекция 1 — Введение
1 min
85KТопик опубликован по просьбе itdevelop, так что он будет отвечать на все ваши вопросы, а также плюсы кидать на его аккаунт. Спасибо за понимание.
Это первая лекция большого видео-курса для тех, кто хочет научиться программировать на языке С#. Поскольку это — вводная лекция, то хочу сразу предупредить, что сам процесс программирования начнется только со второй лекции. Здесь же я хочу вас познакомить с .NET Framework, чем удобна эта платформа, и как происходит перевод написанного вами кода на C# в код, понятный операционной системе.
Это первая лекция большого видео-курса для тех, кто хочет научиться программировать на языке С#. Поскольку это — вводная лекция, то хочу сразу предупредить, что сам процесс программирования начнется только со второй лекции. Здесь же я хочу вас познакомить с .NET Framework, чем удобна эта платформа, и как происходит перевод написанного вами кода на C# в код, понятный операционной системе.
+30
Реализация паттерна Observer средствами PHP 5.3
3 min
11KПрочитав недавно нововведения PHP 5.3, я обратил внимание на несколько интересных особенностей, скомпоновав которые можно получить реализацию шаблона проектирования Observer, гораздо красивее, чем имеющиеся в pear и symfony, причём вся реализация займёт всего несколько строк кода.
+42
Функции наносят ответный удар
5 min
2.2KВ этом топике хочу рассказать о подходе, который эксплуатирую уже несколько лет.
Сразу предупрежу, если Вы истовый фанат ООП, огромных конструкций и монструозных диаграмм классов, не читайте.
Вкратце, суть концепции — это перенос части unix way в программирование на PHP.
А конкретно, концепции простых программ, выполняющих одну функцию.
Сразу предупрежу, если Вы истовый фанат ООП, огромных конструкций и монструозных диаграмм классов, не читайте.
Вкратце, суть концепции — это перенос части unix way в программирование на PHP.
А конкретно, концепции простых программ, выполняющих одну функцию.
+48
Обзор CMS по категориям
19 min
84KВ мире существуют тысячи CMS для самых разных целей, самого разного качества, самой разной перспективы, стоимости, распространённости и так далее. Серьёзно опробовать их все — нереально. Поэтому когда я только знакомился с миром движков для сайтов, выбирать приходилось наугад. Ниже я опишу свои впечатления от знакомства с теми или иными движками для тех или иных целей. К некоторым приложу краткое описание особенностей, впечатление о прочих состоит только из заглядывания в админку. Заметки эти составлялись и редактировались в течении долгого времени, но сейчас я решил, что лучше опубликовать их в нынешнем виде, чем ещё полгода-год по чуть-чуть редактировать не добавляя ничего принципиально нового.
Преимущество отдаётся бесплатным движкам. Платные будут рассматриваться только для сравнения или от безысходности, т.е. если нет бесплатных аналогов. Также ограничение на технологии: php. О движках на перле и питоне я не более чем слышал, на шарпе и джаве имел дело с самописными.
Итак, рассматриваются
Преимущество отдаётся бесплатным движкам. Платные будут рассматриваться только для сравнения или от безысходности, т.е. если нет бесплатных аналогов. Также ограничение на технологии: php. О движках на перле и питоне я не более чем слышал, на шарпе и джаве имел дело с самописными.
Итак, рассматриваются
+130
Несколько советов для PHP-разработчиков
4 min
7.9K Хочу опубликовать небольшой сборник советов для современных PHP-разработчиков. Я умышленно не связываю их с теми или иными фреймворками, библиотеками и тп. Надеюсь, что мои советы помогут кому-то лучше понять PHP, научиться лучше его использовать. Некоторые из них могут быть не специфичны для PHP, но для программирования в общем.
+98
Учись правильным вещам
4 min
12KВсе знают этого «дядю» по изображению на стодолларовой купюре. Почти все знают фразу «Время — деньги», которую однажды Бен Франклин произнес. Есть много фактов из его интересной и удивительно жизни. Большинство людей не знают, что Франклин таки не был президентом США, хотя и очень активно участвовал в написании Конституции Америки. Много всяких слухов есть о масонстве, мировом порядке и так далее. Больше информации о нем можно прочесть в статье Википедии
Я бы хотел сегодня привести очень интересный отрывок из его дневника. Сегодня модно писать о том, как многое успевать, как быть эффективным, ка организовать бизнес и т.д. и т.п. К сожалению, как заметил Стивен Кови в своей книге «7 навыков высокоэффективных людей» (сам бы в жизни не читал по причине такого названия, но друг очень рекомендовал, прочитал книгу, очень доволен) сегодняшняя литература об управлении и личной эффективности сводиться к простому выписыванию рецептов решения стандартных проблем. Что-то типа аспирина на все случаи жизни. Редко встретишь книгу или статью затрагивающую глубинные мотивы, принципы внутренней жизни и целостности человека. Но сейчас не об этом… Хочу поделиться отрывком из дневника Франклина. Этот человек много достиг, поднялся с низов общества не имея официального образования, уверен, что много можно почерпнуть из его жизни.
Я бы хотел сегодня привести очень интересный отрывок из его дневника. Сегодня модно писать о том, как многое успевать, как быть эффективным, ка организовать бизнес и т.д. и т.п. К сожалению, как заметил Стивен Кови в своей книге «7 навыков высокоэффективных людей» (сам бы в жизни не читал по причине такого названия, но друг очень рекомендовал, прочитал книгу, очень доволен) сегодняшняя литература об управлении и личной эффективности сводиться к простому выписыванию рецептов решения стандартных проблем. Что-то типа аспирина на все случаи жизни. Редко встретишь книгу или статью затрагивающую глубинные мотивы, принципы внутренней жизни и целостности человека. Но сейчас не об этом… Хочу поделиться отрывком из дневника Франклина. Этот человек много достиг, поднялся с низов общества не имея официального образования, уверен, что много можно почерпнуть из его жизни.
+104
Популярные продукты для электронной коммерции с открытым исходным кодом
4 min
30KTranslation
Нас часто просят порекомендовать продукты eCommerce, которые могут интегрироваться с CMS или использоваться совместно с к.л. CMS. Ниже опубликован список ПО с открытым исходным кодом, пригодного для этих целей.
Примечание: русскоязычных пользователей, прежде всего, интересует наличие локализованных версий, поддержка отечественных платёжных систем и русское сообщество. В комментариях по тексту, выделенных курсивом, по-возможности указана эта информация.
Примечание: русскоязычных пользователей, прежде всего, интересует наличие локализованных версий, поддержка отечественных платёжных систем и русское сообщество. В комментариях по тексту, выделенных курсивом, по-возможности указана эта информация.
+38
Делаем свои плагины для Chrome мультиязычными
2 min
2.1KУ вас есть плагин для Chrome на русском или на английском языке, но аудитория плагина намного шире и не только на выбранном вами языке? Тогда прошу подкат.
+34
Как использовать свой тип контента
8 min
14KВ Wordpress есть два типа контента: Посты и Страницы.
Эти типы содержат такие поля как название, описание, категории/тэги.
Дополнительное описание можно создать с помощью Пользовательских Полей (Custom Fields).
В Wordpress 3.0 появилась возможность создавать свой тип контента.
Идея в том, чтоб создать новый тип контента, например Потфолио (название, описание, адрес сайта, дата релиза, имя заказчика, используемые технологии), который бы не выводился вместе с постами и имел бы другое представление.
Эти типы содержат такие поля как название, описание, категории/тэги.
Дополнительное описание можно создать с помощью Пользовательских Полей (Custom Fields).
В Wordpress 3.0 появилась возможность создавать свой тип контента.
Идея в том, чтоб создать новый тип контента, например Потфолио (название, описание, адрес сайта, дата релиза, имя заказчика, используемые технологии), который бы не выводился вместе с постами и имел бы другое представление.
+20
Eventr.com доступен в режиме beta-тестирования
3 min
913Эврика! Информация! – воскликнул Сережа и сделал с другом великий Google.
Эврика! Коммуникация! – воскликнул Марк, сделал Facebook и… стал новым символом «Американской мечты».
Эврика! Facebook! – воскликнул Паша и сделал Vkontakte.
Эврика! Информация, коммуникация и экономия времени! – воскликнул Джек и сделал Twitter.
И так теперь каждый год тысячи разнообразных проектов появляются в Сети. Все больше и больше…
Столько веб-сервисов, но нет ни одного, который нам, как пользователям, действительно бы нравился! – однажды подумали мы с octave и спросили себя: «А чего мы сами хотим от Интернета? Чего нам не хватает?».
«Мы хотим в одном месте получать информацию с разных источников Интернета, обмениваться и делиться ею с другими». Вот так просто. Удивительно, но мы не нашли готового решения.
Эврика! Коммуникация! – воскликнул Марк, сделал Facebook и… стал новым символом «Американской мечты».
Эврика! Facebook! – воскликнул Паша и сделал Vkontakte.
Эврика! Информация, коммуникация и экономия времени! – воскликнул Джек и сделал Twitter.
И так теперь каждый год тысячи разнообразных проектов появляются в Сети. Все больше и больше…
Столько веб-сервисов, но нет ни одного, который нам, как пользователям, действительно бы нравился! – однажды подумали мы с octave и спросили себя: «А чего мы сами хотим от Интернета? Чего нам не хватает?».
«Мы хотим в одном месте получать информацию с разных источников Интернета, обмениваться и делиться ею с другими». Вот так просто. Удивительно, но мы не нашли готового решения.
+50
2000 часов в одиночестве, или как был сделан RSS reader / Я робокоп
14 min
6.7KВсем привет,
Собираюсь поделиться с вами технической стороной того, как я за 16 недель сделал новый вебовый rss ридер, и чуть не сошел с ума.
Отходя от долгой предыстории, будем считать, что все началось в феврале этого года, когда мы с Дэвидом (dmiloshev, UI-дизайнер) решили сделать прототип нашего детища вдвоем.
«В одиночестве» — потому, что не было никаких скрамов, совещаний, «коллективного разума», а всю техническую часть, довелось делать самому.
Если бы меня попросили описать всю статью в одном предложении, то получилось бы:
No-SQL, mongodb, node.js, фак мой мозг, Evented I/O, очереди, выводы, git, nginx, memcached, Google Reader, Atom, TTL, PHP, ZF, jQuery, выводы.
Собираюсь поделиться с вами технической стороной того, как я за 16 недель сделал новый вебовый rss ридер, и чуть не сошел с ума.
Отходя от долгой предыстории, будем считать, что все началось в феврале этого года, когда мы с Дэвидом (dmiloshev, UI-дизайнер) решили сделать прототип нашего детища вдвоем.
«В одиночестве» — потому, что не было никаких скрамов, совещаний, «коллективного разума», а всю техническую часть, довелось делать самому.
Если бы меня попросили описать всю статью в одном предложении, то получилось бы:
No-SQL, mongodb, node.js, фак мой мозг, Evented I/O, очереди, выводы, git, nginx, memcached, Google Reader, Atom, TTL, PHP, ZF, jQuery, выводы.
+204
Срываем сроки
2 min
1.3KКогда уже закончится этот ад? Такой вопрос частенько задаёт себе рядовой фрилансер в повседневной жизни. Вроде и платят нормально, и ТЗ изложен доходчиво (не так, как в прошлом проекте), но всё равно — не прёт… Уже и баш весь перечитал, вконтакте всем отписался, потроллил на хабре, но поработать никак не получается, хоть доделывать осталось всего ничего, если собраться с силами — можно за две недели добить… И вот так один дедлайн сменяется другим, затем начинается игра в прятки с заказчиком, потом обоюдные обиды, плохие отзывы… Знакомо, не правда ли?
+67
Притча о шаблонах
8 min
1.8K — Здравствуй *с широко развевающейся по лицу улыбкой* дружок.
— Ваа! *с ярким блеском в широко распахнутых глазах* Тётя Ася приехала!
— Да, и у меня есть для тебя новая сказка *присела и взяла малыша за руки* хочешь послушать?
— Конечно! *слегка смутился и отвёл взгляд* Мне тут дядя такие страшные истории рассказывал…
— Ну, надеюсь моя история тебя не испугает *потрепала его по волосам* Она должна научить тебя мыслить шаблонно.
— Эээ? *лицо перекосилось от недопонимания* Это как?
— М… сейчас узнаешь *подмигнула и взяла на ручки* Вот когда тебе нужно вставить переменные в строку — ты как поступишь?
— Ну… *взял карандаш и чирканул на лежащей рядом бумажке* примерно так:
— Ты ничего не забыл? *победоносно подняла голову*
— Да вроде нет… *уткнулся носом в код, ещё раз внимательно его проверяя*
— Что, если пользователь введёт… *выдержала многозначительную паузу и добавила*
— Ваа! *с ярким блеском в широко распахнутых глазах* Тётя Ася приехала!
— Да, и у меня есть для тебя новая сказка *присела и взяла малыша за руки* хочешь послушать?
— Конечно! *слегка смутился и отвёл взгляд* Мне тут дядя такие страшные истории рассказывал…
— Ну, надеюсь моя история тебя не испугает *потрепала его по волосам* Она должна научить тебя мыслить шаблонно.
— Эээ? *лицо перекосилось от недопонимания* Это как?
— М… сейчас узнаешь *подмигнула и взяла на ручки* Вот когда тебе нужно вставить переменные в строку — ты как поступишь?
— Ну… *взял карандаш и чирканул на лежащей рядом бумажке* примерно так:
var query= 'xxx'
var resultCount= 512
var message= 'По запросу <kbd>' + query + '</kbd> найдено страниц: ' + resultCount
— Ты ничего не забыл? *победоносно подняла голову*
— Да вроде нет… *уткнулся носом в код, ещё раз внимательно его проверяя*
— Что, если пользователь введёт… *выдержала многозначительную паузу и добавила*
+82
Тег <script>
1 min
1.7KКак известно, перед началом использования php операторов, необходимо открыть php тег.
Обычно это делается при помощи тегов <?php или просто <?, но оказывается можно заключить операторы php и в следующие теги:
Все вроде бы ничего, но вот есть одна незадача. Php скрипт со следующим кодом:
На выходе выдаст совсем не то, что Вы ожидаете, а именно:
Не ясно, баг это илифишка глубокий замысел разработчиков, но избавиться можно достаточно просто:
Достаточно поставить пробел в конце php файла, после закрывающего тега
UPD1: Сурс для проверки.
Обычно это делается при помощи тегов <?php или просто <?, но оказывается можно заключить операторы php и в следующие теги:
Все вроде бы ничего, но вот есть одна незадача. Php скрипт со следующим кодом:
На выходе выдаст совсем не то, что Вы ожидаете, а именно:
alert( '123' );
Не ясно, баг это или
Достаточно поставить пробел в конце php файла, после закрывающего тега
UPD1: Сурс для проверки.
-14
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity