Известно, что при отправке почты в CodeIgniter с использованием встроенной библиотеки email русские буквы в заголовках могут отображаться некорректно. Русский текст в заголовках сообщения необходимо кодировать вручную. У меня это реализовано так:
denisogr @DenisOgr
Пользователь
CMS на основе CodeIgniter — текущая ситуация
2 мин
15KНа днях мне потребовалось установить движок для англоязычного блога. Проблема в том, что хостинг (VPS с объемом памяти 256 Мб) не тянет WordPress версии 2.6, а в 2.0.11 (которая, возможно, и заработала бы) работают не все нужные мне плагины. В общем, я решил посмотреть, какие сейчас существуют легкие CMS, причем на основе CodeIgniter, как наиболее быстрого и потребляющего мало памяти фреймворка PHP. Требования по функционалу у меня достаточно простые: возможность ведения блога, желательно с SEO-примочками (прописывание заголовков, мета-тегов, генерация Google Sitemap).
+2
Каркас для web-приложений, построенный на CodeIgniter
9 мин
36KНаверняка, многие веб-программисты изучали и, может быть, даже использовали такой замечательный фреймворк как CodeIgniter. Мой выбор пал на него ввиду того, что у него самый низкий порог вхождения, он наиболее прост в изучении, хорошая документация, быстрый и т.д. и т.п. Для простых проектов самое «оно», чтоб попробовать свои силы именно как разработчик. Само собой, для более серьезных проектов лучше использовать более функциональные и навороченные фреймворки.
Далее буду описывать, как я «апгрейдил» CodeIgniter, чтобы использовать этот каркас для разных проектов, т.к. базовый его функционал и примеры из документации, мягко говоря, очень простые, а в жизни всё гораздо сложнее. Итак, начнем-с.
+37
Сравнение Yii с CodeIgniter
4 мин
21KКак-то я пообещал сравнить Yii с CodeIgniter.
Думаю, на данный момент я достаточно распробовал Yii, чтобы адекватно сравнить
два замечательных фреймворка.
Думаю, на данный момент я достаточно распробовал Yii, чтобы адекватно сравнить
два замечательных фреймворка.
+59
JavaScript для чайников. Всё что вы хотели знать о функциях но боялись спросить
4 мин
23KКак-то незаметно для себя, я решил отойти от возни с классами и паттернами, и разобраться с самыми обычными Js функциями. Думал, что будет достаточно скучно, но ошибся — оказалось очень даже интересно.
В этой статье я расскажу об особенностях объявления функций, и некоторых полезных паттернах (кхе-хе, да, они есть и тут)
В этой статье я расскажу об особенностях объявления функций, и некоторых полезных паттернах (кхе-хе, да, они есть и тут)
+92
Попытка просто объяснить сложные, для новичков, вещи в javascript
8 мин
24KЯ попытаюсь просто объяснить, как работают замыкания в Javascript, как работает this, как создавать конструкторы для своих классов и чем различаются различные подходы к их созданию.
Статья не претендует на новаторство, но достаточно доступные объяснения how it works для новичков я не видел, и на мой взгляд — это три самых узких места в Javascript (не привязанному к какому либо контексту, серверу или браузеру, например).
Статья не претендует на новаторство, но достаточно доступные объяснения how it works для новичков я не видел, и на мой взгляд — это три самых узких места в Javascript (не привязанному к какому либо контексту, серверу или браузеру, например).
+64
Тултипы на CSS3 и HTML5
2 мин
71KВ связи с тем, что на Хабрахабре не нашёл я описания данного простого и в то же время удобного способа создания простых «тултипов» — всплывающих подсказок, я решил о нём написать.
В данном методе не будет использоваться JS, мы довольствуемся лишь CSS3 и HTML5.
В данном методе не будет использоваться JS, мы довольствуемся лишь CSS3 и HTML5.
+105
Представляем Центр ресурсов HTML5 Facebook
2 мин
2.1KПеревод
Сегодня многие разработчики при создании приложений пользуются HTML5. К достоинствам данного инструмента можно отнести простоту разработки и возможность запуска приложений на широком спектре платформ с минимальными доработками исходного кода. Простое приложение, например Блокнот, сможет одинаково хорошо работать в браузере настольного компьютера, телефона или планшета.
Сегодня мы запустили три новых ресурса по HTML5 для того, чтобы поделиться с разработчиками опытом создания приложений на базе HTML, накопленным в нашей компании и у других лидеров отрасли:
Группа разработчиков, которая является ресурсом, позволяющим разработчикам задать интересующий их вопрос по HTML5 и поделиться опытом с коллегами.
С формальной точки зрения HTML5 это набор спецификаций, разработанных World Wide Web Consortium (W3C). На практике под HTML5 понимается набор открытых технологий программирования, предназначенных для разработки современных веб-приложений. В состав данных технологий, само собой, входит HTML, а также CSS, JavaScript и набор новых API, которые раньше были доступны только для традиционных приложений. При одновременном использовании данные технологии позволяют создавать современные веб-приложения.
Сегодня браузеры имеются у практически любого типа устройств, от телефонов, планшетов и компьютеров до телевизоров. Разработчики, использующие HTML5, имеют возможность создавать приложения для широкого спектра устройств с минимальными изменениями исходного кода. Многие разработчики, в том числе Facebook, применяют HTML5 при создании мобильных приложений, так как такой подход упрощает процесс охвата аудитории пользователей, работающих на разных типах устройств.
Сегодня мы запустили три новых ресурса по HTML5 для того, чтобы поделиться с разработчиками опытом создания приложений на базе HTML, накопленным в нашей компании и у других лидеров отрасли:
- Центр ресурсов HTML5, котрый приходит на помощь на этапах разработки, тестирования и развёртывания веб-приложений.
- Блог HTML5, в котором публикуется информация по широкому спектру вопросов, относящихся к HTML5. Авторами публикаций выступают сотрудники Facebook и ведущие отраслевые эксперты.
Группа разработчиков, которая является ресурсом, позволяющим разработчикам задать интересующий их вопрос по HTML5 и поделиться опытом с коллегами.
Что такое HTML5
С формальной точки зрения HTML5 это набор спецификаций, разработанных World Wide Web Consortium (W3C). На практике под HTML5 понимается набор открытых технологий программирования, предназначенных для разработки современных веб-приложений. В состав данных технологий, само собой, входит HTML, а также CSS, JavaScript и набор новых API, которые раньше были доступны только для традиционных приложений. При одновременном использовании данные технологии позволяют создавать современные веб-приложения.
Работа на различных платформах и устройствах
Сегодня браузеры имеются у практически любого типа устройств, от телефонов, планшетов и компьютеров до телевизоров. Разработчики, использующие HTML5, имеют возможность создавать приложения для широкого спектра устройств с минимальными изменениями исходного кода. Многие разработчики, в том числе Facebook, применяют HTML5 при создании мобильных приложений, так как такой подход упрощает процесс охвата аудитории пользователей, работающих на разных типах устройств.
+4
Работай правильную работу правильно, а деньги сами тебя найдут
4 мин
4.2KЭту фразу говорил мне мой дедушка, дзен его духу, и всегда обращал внимание, чтобы я очень точно слышал каждое слово. В этой статье я постараюсь немного подробней рассказать о том, как я считаю правильным ставить на жизненном пути цели, то есть поподробней разберу, что такое “правильная работа”.
+42
Доступны видео-записи первой конференции W3Conf
2 мин
4KСовсем недавно с 15 по 16 ноября состоялась первая конференции W3Conf, которую провела организация W3C, ответственная за утверждение стандартов веб-разработки. Подзаголовок конференции был следующим: “Practical Standards for Web Professionals” (практическое применение стандартов для профессионалов в Веб).
На конференции выступили спикеры от множества участников организации W3C: Microsoft, Google, IBM, Adobe, Mozilla, Opera, Amazon, Nokia и других.
В скором времени после проведения конференции на официальном сайте были опубликованы видео-записи конференции. Их список вы найдете ниже.
+9
Один день из жизни проджект менеджера глазами девелопера
5 мин
15KКогда ты начинаешь изучать программирование, ты знаешь, каким должен быть идеальный программист, и ты уверен, что ты таким будешь. Ты видишь ошибки программистов старше и опытнее, и совершенно уверен, что ты никогда их не повторишь.
Когда ты устроился в компанию на позицию Junior Developer, ты смотришь вокруг и видишь, с какой лёгкостью старшие товарищи забивают на шаблоны и пишут два одинаковых класса с разными типами переменных. Как они хардодят размеры вьюшек в коде. Как они читают хабр на работе. И ты точно знаешь, что когда вырастешь до Senior Developer-а, ты будешь лучше, надёжнее, ответственнее, любой блок твоего кода можно будет показывать потомкам.
Ты уже три года проработал программистом, ты (возможно) всё более и более пристально смотришь в сторону проджект менеджмента. Твой ПМ уже не царь, и не бог, и его работа не кажется тебе сложной и непонятной. Ты видишь, что работаешь намного больше его, а он ленится сделать тебе Code Review и похвалить за оригинальную интеграцию сторонней библиотеки. Он даже не смотрит на твой идеальный код в сложнейшей стыковке кривого API и мутной бизнес-логики. И ты точно знаешь, что, когда тебе улыбнётся удача руководить проектом, ты всё будешь делать лучше. Ты будешь бережнее следить за своими девелоперами, ревьювить каждый их класс, хвалить за удачные решения и порицать за очевидные ошибки.
Когда ты устроился в компанию на позицию Junior Developer, ты смотришь вокруг и видишь, с какой лёгкостью старшие товарищи забивают на шаблоны и пишут два одинаковых класса с разными типами переменных. Как они хардодят размеры вьюшек в коде. Как они читают хабр на работе. И ты точно знаешь, что когда вырастешь до Senior Developer-а, ты будешь лучше, надёжнее, ответственнее, любой блок твоего кода можно будет показывать потомкам.
Ты уже три года проработал программистом, ты (возможно) всё более и более пристально смотришь в сторону проджект менеджмента. Твой ПМ уже не царь, и не бог, и его работа не кажется тебе сложной и непонятной. Ты видишь, что работаешь намного больше его, а он ленится сделать тебе Code Review и похвалить за оригинальную интеграцию сторонней библиотеки. Он даже не смотрит на твой идеальный код в сложнейшей стыковке кривого API и мутной бизнес-логики. И ты точно знаешь, что, когда тебе улыбнётся удача руководить проектом, ты всё будешь делать лучше. Ты будешь бережнее следить за своими девелоперами, ревьювить каждый их класс, хвалить за удачные решения и порицать за очевидные ошибки.
+114
Хотите построить успешный бизнес в сфере программных продуктов?
7 мин
3.9KС чего начать свой бизнес?
Наверняка многие программисты ответят, что с хорошего кода и идеи, менеджеры — идеи и бизнес-плана, художники — вдохновения и т.д. Мнений, как видите, много, но на самом деле самым верным решением будет построение бизнес-модели (возражения приветствуются, но, желательно, на своем примере и после прочтения поста до конца).
Методик масса, лично я считаю наиболее полезной Business ModelCanvas, но не настаиваю. Всем, кто только начинает свой бизнес, рекомендую попробовать заполнить canvas, а всем, кто уже вовсю работает, и может быть даже зарабатывает, предлагаю проверить свою бизнес-модель с помощью восьми вопросов от Алекса Остервальдера.
+55
Валидация HTML-форм и расширение функциональности
4 мин
15KВалидации HTML-форм уделяют очень мало внимания. Например, даже на habrahabr.ru пока я регистрировался и входил на сайт несколько раз мне выдавалось сообщение об ошибке: то код протекции ввел неправильно, то в логине указал email вместо логина. А еще бывает пользователи ошибаются с количеством цифр в номере телефона или реквизитах организации, путают русскую букву «с» с английской, при копировании и вставке в Windows лишнии пробелы добавляются к данным.
Конечно, все это не смертельно. Но было бы крайне удобно, чтобы данные проверялись еще до отправки на сервере. Особенно CAPTCHA, ибо ее часто вводишь с ошибкой.
Для решения данной проблемы были несколько способов: HTML5, jQuery Validate, zForms.ru и еще ряд менее известных библиотек. Но все эти способы имели свои недостатки: HTML5 поддерживается не всеми браузерами и не имеет опции не отправлять незаполненные поля, задать сообщение о несоответствии регулярному выражению, ограничить список допустимых символов для ввода в поле, возможности склеивать поля, посылать значения чекбоксов в формате csv или суммы значений.
Конечно, все это не смертельно. Но было бы крайне удобно, чтобы данные проверялись еще до отправки на сервере. Особенно CAPTCHA, ибо ее часто вводишь с ошибкой.
Для решения данной проблемы были несколько способов: HTML5, jQuery Validate, zForms.ru и еще ряд менее известных библиотек. Но все эти способы имели свои недостатки: HTML5 поддерживается не всеми браузерами и не имеет опции не отправлять незаполненные поля, задать сообщение о несоответствии регулярному выражению, ограничить список допустимых символов для ввода в поле, возможности склеивать поля, посылать значения чекбоксов в формате csv или суммы значений.
+32
О принятии решений пользователем
3 мин
1.1KВ одном из недавних обсуждений я столкнулся, как мне показалось, с одним распространенным мнением касательно отношений между пользователями и разработчиками. По большой части это касается ответственности первых и вторых, а если быть еще точнее — оформления форм и взаимодействия пользователей с этими формами.
Так уж вышло, что многие из нас не только пользователи, но и разработчики тех или иных продуктов. Так или иначе многим из нас приходится оказываться не только со стороны пользователя формы, но и со стороны, с которой эта форма разработана. Мне кажется некоторые недооценивают влияние своих решений на пользователей и на последствия, которые могут быть в итоге.
Так уж вышло, что многие из нас не только пользователи, но и разработчики тех или иных продуктов. Так или иначе многим из нас приходится оказываться не только со стороны пользователя формы, но и со стороны, с которой эта форма разработана. Мне кажется некоторые недооценивают влияние своих решений на пользователей и на последствия, которые могут быть в итоге.
+35
HTML5-консоль от Google
1 мин
3.2KHTML5-консоль, который вы могли видеть в одном из выступлений на майской конференции Google I/O, работает в онлайне (судя по всему, только в браузере Chrome).
Презентация HTML5 Wow целиком была создана для демонстрации возможностей HTML5. Все демонстрационные примеры, в том числе консоль, выложены с открытыми исходниками.
Презентация HTML5 Wow целиком была создана для демонстрации возможностей HTML5. Все демонстрационные примеры, в том числе консоль, выложены с открытыми исходниками.
+50
Русский перевод официальной документации PHP снова стал доступным!
3 мин
4.7KДобрый день, Хабрасообщество!
Спустя 3 месяца после призыва о помощи, команда переводчиков документации PHP спешит рассказать как много мы достигли вместе с вами, читатели Хабра.
Самое главное: русская документация PHP снова в строю!
С 1 августа и по 12 ноября объем переведенной документации вырос в 4 раза и составил более чем четвертую часть общего количества файлов и больше трети от их объема.
Подробности под катом (Графика: ~ 65Кб).
Спустя 3 месяца после призыва о помощи, команда переводчиков документации PHP спешит рассказать как много мы достигли вместе с вами, читатели Хабра.
Самое главное: русская документация PHP снова в строю!
Прогресс сообщества PHPDoc-RU
С 1 августа и по 12 ноября объем переведенной документации вырос в 4 раза и составил более чем четвертую часть общего количества файлов и больше трети от их объема.
Подробности под катом (Графика: ~ 65Кб).
+113
Subtle Patterns: фоновые текстуры для вашего сайта
1 мин
72KЕсли вы запускаете новый сайт и заканчиваете его оформление, то есть смысл посмотреть коллекцию Subtle Patterns: отлично оформленную коллекцию фоновых текстур (паттернов) под лицензией Creative Commons Attribution 3.0 Unported. Их можно использовать без ограничений.
Сайт привлекает удобным предварительным просмотром: каждую текстуру можно мгновенно применить на всей странице в качестве фона. Сейчас там 93 работы, коллекция еженедельно пополняется отличными новинками.
Все текстуры на сайте Subtle Patterns являются повторяющимися, то есть склеиваются в бесшовную заливку.
Сайт привлекает удобным предварительным просмотром: каждую текстуру можно мгновенно применить на всей странице в качестве фона. Сейчас там 93 работы, коллекция еженедельно пополняется отличными новинками.
Все текстуры на сайте Subtle Patterns являются повторяющимися, то есть склеиваются в бесшовную заливку.
+232
Почему Agile вам не подходит
4 мин
16KНи об одной теме я не слышал столько негативных отзывов, как об Аджайл. Дескать, он и неэффективный, и не работает, и подходит для ленивых, и придуман для зарабатывания бабла на консультациях, и вообще, нам аджайл не подходит.
Я здесь не собираюсь никого разубеждать. Я хочу поделиться соображениями, почему большинству компаний аджайл действительно не подходит.
Я здесь не собираюсь никого разубеждать. Я хочу поделиться соображениями, почему большинству компаний аджайл действительно не подходит.
+44
Конкурс на создание HTML5 приложения с призовым фондом $50000
1 мин
881Не нашёл на habrahabr.ru упоминания о конкурсе, возможно кому-то эта информация будет полезной. Время ещё есть.
С 22 сентября по 15 ноября 2011 года проводится конкурс «The Pokki Challenge» на создание HTML5 приложения для Pokki. Тройка победителей получит $30000, $13000 и $7000 соответственно. Подробности — на сайте pokki.com.
Статья о Pokki на habrahabr: Pokki: веб-приложения внутри ОС
P.S. 1 декабря. Определены победители:
1 место ($30,000) Mohamed Tedjani Meftah — Mixtape (интернет-радио)
2 место ($13,000) Jeet Singh — Chess (шахматы)
3 место ($7,000) Denis Denisyuk — Instagrille (клиент для фотосервиса Instagram)
С 22 сентября по 15 ноября 2011 года проводится конкурс «The Pokki Challenge» на создание HTML5 приложения для Pokki. Тройка победителей получит $30000, $13000 и $7000 соответственно. Подробности — на сайте pokki.com.
Статья о Pokki на habrahabr: Pokki: веб-приложения внутри ОС
P.S. 1 декабря. Определены победители:
1 место ($30,000) Mohamed Tedjani Meftah — Mixtape (интернет-радио)
2 место ($13,000) Jeet Singh — Chess (шахматы)
3 место ($7,000) Denis Denisyuk — Instagrille (клиент для фотосервиса Instagram)
+14
MATLAB и быстрое преобразование Фурье
7 мин
222KПо работе неоднократно сталкивался с необходимостью быстро определить наличие в сигнале гармонических составляющих. Часто для примерной оценки достаточно воспользоваться алгоритмом быстрого преобразования Фурье. Тем более, что его реализации есть практически во всех математических пакетах и библиотеках, да и собственноручно реализовать не составит особого труда. Между тем, опыт показывает, что, при всей своей простоте, метод начинает вызывать некоторые вопросы, когда возникает необходимость не просто посмотреть наличие дискреток в сигнале, но и выяснить их абсолютные значения, т.е. нормализовать полученный результат.
В этой статье я постараюсь объяснить, что же все-таки выдает в качестве результата fft (Fast Fourier transform) на примере MATLAB (и в качестве бонуса проведу небольшой ликбез по этому весьма полезному, на мой взгляд, языку).
В этой статье я постараюсь объяснить, что же все-таки выдает в качестве результата fft (Fast Fourier transform) на примере MATLAB (и в качестве бонуса проведу небольшой ликбез по этому весьма полезному, на мой взгляд, языку).
+25
Информация
- В рейтинге
- Не участвует
- Откуда
- Украина
- Дата рождения
- Зарегистрирован
- Активность