Эта статья о некоторых технических аспектах реализации бесплатного сервиса для загрузки, хранения и просмотра видео. Будут рассмотрены вопросы настройки серверного программного обеспечения, даны примеры команд для конвертации видео и примеры кода на языке PHP.
Пользователь
MODx — собственный ajax календарь событий/новостей без Ditto
8 min
11KЗадали мне тут намедни задачку: сделать календарь событий на ModX Evolution.
Движок этот я искренне люблю, за его небывалую гибкость и лично мне понятность.
Задача показалась простой, но по мере выполнения встретился с парой сложных моментов.
Итак, кто хочет сделать у себя на сайте календарик с всплывающим списком событий — прошу под хаброкат!
![](https://habrastorage.org/storage/274c6598/1d75f7b0/5d442d5d/a80c5ff6.png)
Движок этот я искренне люблю, за его небывалую гибкость и лично мне понятность.
Задача показалась простой, но по мере выполнения встретился с парой сложных моментов.
Итак, кто хочет сделать у себя на сайте календарик с всплывающим списком событий — прошу под хаброкат!
![](https://habrastorage.org/storage/274c6598/1d75f7b0/5d442d5d/a80c5ff6.png)
+35
GeoIP – страны и города, декабрь 2010
1 min
2.7KВышла в свет новая версия русскоязычной базы данных стран и городов. Основные изменения:
— база maxmind.com была объединена с базой городов России ipgeobase.ru (идея sky_lord)
— с помощью Переводчика Google были переведены на русский язык ~60,000 названий (идея neytrino), а затем с помощью Яндекс.Карт из них были отсеяны артефакты типа «Инь молодых» и «Авиаторов деревня»
— были удалены дубли и произведена оптимизация структуры базы.
Результат этой работы доступен для свободного скачивания.
— база maxmind.com была объединена с базой городов России ipgeobase.ru (идея sky_lord)
— с помощью Переводчика Google были переведены на русский язык ~60,000 названий (идея neytrino), а затем с помощью Яндекс.Карт из них были отсеяны артефакты типа «Инь молодых» и «Авиаторов деревня»
— были удалены дубли и произведена оптимизация структуры базы.
Результат этой работы доступен для свободного скачивания.
+59
Малый бизнес 2011. Волк и овцы
6 min
35KНа прошлой неделе мы начали публикацию case’ов, помогающих решать проблемы реального бизнеса в реальной жизни. От вас было получено много пожеланий как это продолжать, у нас у самих возникла масса идей и вот, мы продолжаем! Уже немало написано о том, что с 2011 года для малого бизнеса наступят темные времена. Взносы вырастут в 2,5 раза, отчетность придется сдавать новую, больше и в 4 раза чаще, кроме того, нет никакой гарантии, что наши кровные деньги пойдут по назначению и сделают жизнь бабушек, дедушек и детушек лучше. Но что теперь делать бизнесменам? Уходить «в тень»? Закрываться? Бежать из страны?
Большинство способов малозаконны. А можно личто-то сделать вполне легально и пережить трудное время, пока правительство не одумается и не прекратит «кошмарить» малый бизнес?
Большинство способов малозаконны. А можно ли
+109
N+1 полезных книг о бизнесе
9 min
229K![](https://habrastorage.org/storage/0206a022/4dadb87f/6603f146/fcaf983d.jpg)
Отобраны лучшие 10% из примерно 200 прочитанных книг о маркетинге, продажах и всем связанном — самые «пробивные» вещи, которые помогут вам не тратить время на всякий шлак, а сразу начать с главного.
В конце — суммация книг, которые хабровчане рекомендуют в комментариях помимо основного списка.
+126
Вредная верстка
9 min
74KКак определить, что сайт сверстан качественно?
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.
Из этой статьи вы узнаете:
- О плохих приемах современной верстки;
- О том, как даже не будучи профессионалом, за 5 минут определить плохо ли сверстан сайт или нет.
+147
Веб-типографика сегодня. Часть I
7 min
27KЧасть I — Часть II — Часть III — Часть IV — Часть V — Часть VI
Как-то ко мне обратился знакомый дизайнер с просьбой разобраться в странной по его мнению ситуации. Клиент просил «сделать так же, как у Apple», но с использованием собственных способов расположения блоков, изображений, цветовой гаммы и текста. В общем, дизайн в итоге получался совершенно непохожий на apple.com, но этого, собственно, и добивался клиент. И вроде бы у дизайнера получилось, но… Клиенту по-прежнему не нравилось, он всё равно требовал переделать макет. По его ощущения «что-то было ну совсем не так». А что именно — тот объяснить был не в силах. Вот и возник вопрос у моего коллеги по поводу того, как угодить капризам клиента и понять его чаяния. Оказалось всё не так просто, но вполне объяснимо. Я и раньше сталкивался с данной проблемой. Поэтому решил попробовать изложить свои мысли по этому поводу.
Итак, какова ситуация в области современной веб-типографики и какими способами следует решать возникающие проблемы?
Часть I
Как-то ко мне обратился знакомый дизайнер с просьбой разобраться в странной по его мнению ситуации. Клиент просил «сделать так же, как у Apple», но с использованием собственных способов расположения блоков, изображений, цветовой гаммы и текста. В общем, дизайн в итоге получался совершенно непохожий на apple.com, но этого, собственно, и добивался клиент. И вроде бы у дизайнера получилось, но… Клиенту по-прежнему не нравилось, он всё равно требовал переделать макет. По его ощущения «что-то было ну совсем не так». А что именно — тот объяснить был не в силах. Вот и возник вопрос у моего коллеги по поводу того, как угодить капризам клиента и понять его чаяния. Оказалось всё не так просто, но вполне объяснимо. Я и раньше сталкивался с данной проблемой. Поэтому решил попробовать изложить свои мысли по этому поводу.
Итак, какова ситуация в области современной веб-типографики и какими способами следует решать возникающие проблемы?
+112
+109
Как сделать FULLTEXT поиск в CMS на CodeIgniter
10 min
6.2KНа Хабре в последнее время появляется все больше постов посвященных набирающему популярность framework'у CodeIgniter. Это довольно простой и удобный фреймворк с помощью которого можно быстро начать делать нормальные приложения на PHP. Под катом пример реализации FULLTEXT поиска в CMS на CodeIgniter.
+22
ajax загрузка нескольких файлов с php формой
2 min
36KКак-то для личных целей мне понадобилось сделать ajax загрузку сразу нескольких файлов. Но хотелось сделать это красиво и удобно.
Для этой задачи я выбрал горячо мной любимый jquery и несколько плагинов к нему.
Для этой задачи я выбрал горячо мной любимый jquery и несколько плагинов к нему.
+42
5 основных ошибок интернет-магазинов
7 min
20KПриятно удивившись ажиотажу вокруг предыдущего материала, я решил пойти дальше. На этот раз, под прицелом – интернет-магазины. Их ошибки, глупости и т.п.
![image](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg6.imageshack.us%2Fimg6%2F6408%2Fshoppingonline.jpg%22)
Итак…
Первое, во что упирается мой взгляд при заходе на страницу – логотип сайта и слоган под ним. И благо, если на сайтах магазинов есть хотя бы логотип. Из 50 магазинов, выданных гуглом по разным конкурентным запросам, логотипа не было у 6. Не так уж и много, но и не так уж мало.
Многие владельцы интернет-магазинов банально не понимают (лично спрашивал) – огромная часть продаж строится на бренде. У человека в голове есть ряд ячеек, заполненных брендами известных фирм. К примеру, «наушники – Koss», «операционная система – MacOS X», «газировка – Coca-Cola», и т.д. и т.п. Первоочерёдная задача фирменой концепции – заполнить ячейку «интернет-магазин — ?» вашим названием. Тогда пользователь будет возвращаться снова и снова.
![image](https://habr.com/images/px.gif#%3D%22http%3A%2F%2Fimg6.imageshack.us%2Fimg6%2F6408%2Fshoppingonline.jpg%22)
Итак…
1. Отсутствие фирменной концепции (логотипа, слогана, и т.п.).
Первое, во что упирается мой взгляд при заходе на страницу – логотип сайта и слоган под ним. И благо, если на сайтах магазинов есть хотя бы логотип. Из 50 магазинов, выданных гуглом по разным конкурентным запросам, логотипа не было у 6. Не так уж и много, но и не так уж мало.
Многие владельцы интернет-магазинов банально не понимают (лично спрашивал) – огромная часть продаж строится на бренде. У человека в голове есть ряд ячеек, заполненных брендами известных фирм. К примеру, «наушники – Koss», «операционная система – MacOS X», «газировка – Coca-Cola», и т.д. и т.п. Первоочерёдная задача фирменой концепции – заполнить ячейку «интернет-магазин — ?» вашим названием. Тогда пользователь будет возвращаться снова и снова.
+59
Один из лучших классов для загрузки файлов на сервер. (PHP)
1 min
13KХочу познакомить вас с одним из лучших классов, на мой взгляд, для загрузки файлов на сервер.
позволяет делать с изображением все что угодно
Ничего лучше чем пример быть не может, так что сразу к делу…
позволяет делать с изображением все что угодно
Ничего лучше чем пример быть не может, так что сразу к делу…
+11
Список полезных PHP классов и библиотек
4 min
65K- Swift Mailer
Swift Mailer легко интегрируется в любое PHP-приложение. Это гибкий и элегантный ООП-подход к отправке писем с множеством функций: отправка эл.почты, используя SMTP, SendMail, Postfix, поддержка серверов и др.
- PHPMailer
Лучший класс для работы с эл. почтой. Поддерживает сообщения в цифровой форме, S/MIME шифрование, текстовые и HTML-письма, изображения, поддерживает несколько Email’ов, SMTP-аутентификация.
+115
#1 Организация активных продаж в веб-студии
10 min
66KПривет, хабр. Я собираюсь опубликовать небольшой цикл материалов, посвященный бизнесу веб-студий (интерактивных агентств) и его развитию. Начну с нескольких материалов о продажах.
В условиях кризиса продажи стали узким местом почти для всех небольших и не очень веб-студий. Я хочу поделиться своими соображениями по организации одной из трех составляющих продаж в компании.
Итак, продажи в веб-студии делятся на три типа:
Я остановлюсь подробно на организации процесса холодных продаж, поскольку этот канал не развит в подавляющем большинстве компаний (а если и существует, то работает неэффективно). Дьявол кроется в деталях, поэтому я постарался уделить нюансам процесса значительное внимание.
Сразу оговорюсь – ни про какой спам и прочие массовые безадресные акции речь не пойдет.
В условиях кризиса продажи стали узким местом почти для всех небольших и не очень веб-студий. Я хочу поделиться своими соображениями по организации одной из трех составляющих продаж в компании.
Итак, продажи в веб-студии делятся на три типа:
- Новые продажи со входящего потока (заказчик обращается с запросом сам). Расширение данного канала – основная задача внешнего маркетинга и PR компании.
- Повторные продажи по текущим клиентам. Увеличение продаж по данному направлению – одна из важных задач службы клиентского сервиса.
- Холодные/активные продажи (инициируется контакт с заказчиком, который не проявлял до этого интереса к компании).
Я остановлюсь подробно на организации процесса холодных продаж, поскольку этот канал не развит в подавляющем большинстве компаний (а если и существует, то работает неэффективно). Дьявол кроется в деталях, поэтому я постарался уделить нюансам процесса значительное внимание.
Сразу оговорюсь – ни про какой спам и прочие массовые безадресные акции речь не пойдет.
+54
PHPLego: Ненавязчивый AJAX
9 min
21K![](http://2page.ru/_storage/2010_12_07__00_16_29__0.59913600.png)
Здравствуйте дорогие хаброчитатели!
Думали ли Вы когда-нибудь о том, чтобы Ваш сайт одинаково хорошо работал с включенным JavaScript-ом и без JavaScript-а? Чтобы, если JavaScript включен, блоки сайта перегружались AJAX-сом, а если JavaScript-а нет, то происходил просто переход на новую страницу?
Хмм… Я думаю, что это интересная задачка, и вот какое простое решение мне удалось придумать. В этой статье я попытаюсь в общих чертах описать суть этого решения, не вдаваясь особо в неинтересные детали.
Для себя я сформулировал задачу, по следующим критериям:
- Переход по разделам сайта внутри и вне блоков должен осуществляться обычными ссылками, без каких бы то ни было onclick=”…”.
- При включенном JavaScript-е блоки сайта перегружают только свою область страницы (свой div). При выключенном JavaScript-е должен происходить обычный переход по ссылке.
- Должен существовать только один глобальный обработчик нажатия на ссылки $(“a”).click(…), который и делает всю работу по перегрузке нужных элементов страницы. Если же JavаScript отключен, то этот обработчик просто не срабатывает, и сайт продолжает работать в обычном режиме.
- Постинг форм при включенном JavaScript-е также обновляет только ту область, в которой находится эта форма. При отключенном – все работает как обычно.
- Должна быть возможность запретить AJAX-презагрузку некоторым областям страницы, например, поставив им какой-нибудь класс «noajax». Это если после перехода по ссылке меняется слишком много данных на странице, и они все в разных блоках. Тогда разумней перегрузить всю страницу целиком, чем обновлять каждый блочёк по отдельности. Оно и быстрее будет.
- Должна быть возможность указать ссылке блок, который она должна перегрузить. Допустим, если нам нужно перегрузить не только текущий блок, но и блок родитель.
- Если блок был загружен ранее, то он должен браться из кеша, дабы не гонять лишний трафик и не напрягать лишним запросом сервер.
- В случае, если блок загружен из КЭШа, пользователь должен как-то понимать что эта не самая актуальная информация, и иметь возможность обновить блок.
- Никакого JavaScript-a. Это конечно мое личное мнение, но я ненавижу писать на JavaScript-е. Поэтому я добавил еще один пункт. Смысл его в том, чтобы разрабатывая модули к сайту я не писал ни строчки JavaScript-а (ну максимум одну-две на модуль, и то для каких-нибудь чекбосов в форме). Не знаю, как ты, дорогой хаброчтец, но я, твою мать, лучше продам свою душу дьяволу, чем буду дебажить свой JavaScript во всех многообразиях браузеров!
Ну, вот собственно и все пожелания. Итак, приступим к реализации…
+53
3 главные проблемы сайтов web-студий
3 min
15KНе самая новая тема, не самые свежие идеи. Но, раз количество сайтов с подобными ошибками только растёт, мои советы могут быть вам полезны.
![image](https://habrastorage.org/getpro/habr/post_images/7b3/710/6cd/7b37106cd5c316417327dc7fcaca75db.jpg)
Я не буду говорить о дизайне, проблемах вёрстки и т.п. — это технические нюансы, и каждая студия разбирается с ними самостоятельно. Речь пойдёт о конкретных деталях, которые свойственны практически всем, но от этого не становятся менее глупыми.
Надеюсь, не нужно объяснять, насколько важен для web-сайта хороший текст. Особенно, если сайт коммерческий. Но, в то же время, тексты 90% сайтов web-студий СНГ бесполезны. Почему я так считаю?
Давайте посмотрим на вопрос со стороны заказчика и будем предельно откровенны. Сколько студий «уже 10 лет на рынке web-разработки»? Сотни. В скольких студиях «работают только квалифицированные специалисты»? Во всех. У какой студии «самая качественная и расширяемая CMS»? У каждой.
![image](https://habrastorage.org/getpro/habr/post_images/7b3/710/6cd/7b37106cd5c316417327dc7fcaca75db.jpg)
Я не буду говорить о дизайне, проблемах вёрстки и т.п. — это технические нюансы, и каждая студия разбирается с ними самостоятельно. Речь пойдёт о конкретных деталях, которые свойственны практически всем, но от этого не становятся менее глупыми.
#1: Текст главной страницы
Надеюсь, не нужно объяснять, насколько важен для web-сайта хороший текст. Особенно, если сайт коммерческий. Но, в то же время, тексты 90% сайтов web-студий СНГ бесполезны. Почему я так считаю?
Давайте посмотрим на вопрос со стороны заказчика и будем предельно откровенны. Сколько студий «уже 10 лет на рынке web-разработки»? Сотни. В скольких студиях «работают только квалифицированные специалисты»? Во всех. У какой студии «самая качественная и расширяемая CMS»? У каждой.
+105
«Hello world!» с помощью генетических алгоритмов
5 min
26KВ наше время все большую популярность набирают генетические алгоритмы. Их используют для решения самых разнообразных задач. Где-то они работают эффективнее других, где-то программист просто решил выпендриться…
Так что же такое генетический алгоритм? Если верить википедии, то генетический алгоритм — это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Является разновидностью эволюционных вычислений. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.
Т.е. генетический алгоритм работает наподобие нашей с вами эволюции. Сначала создаются начальные популяции, затем они скрещиваются между собой (при этом возможно возникновение мутаций). Популяции выжившие в процессе естественного отбора проверяются на удовлетворение заданным критериям. Если удовлетворяют — все счастливы, если нет — вновь скрещиваются и так до финальной победы.
Как это все выглядит вы можете увидеть на следующем рисунке:
![](https://habrastorage.org/getpro/habr/post_images/c62/bef/a79/c62befa79d18629e6db92625ec0a191b.png)
Так что же такое генетический алгоритм? Если верить википедии, то генетический алгоритм — это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Является разновидностью эволюционных вычислений. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.
Т.е. генетический алгоритм работает наподобие нашей с вами эволюции. Сначала создаются начальные популяции, затем они скрещиваются между собой (при этом возможно возникновение мутаций). Популяции выжившие в процессе естественного отбора проверяются на удовлетворение заданным критериям. Если удовлетворяют — все счастливы, если нет — вновь скрещиваются и так до финальной победы.
Как это все выглядит вы можете увидеть на следующем рисунке:
![](https://habrastorage.org/getpro/habr/post_images/c62/bef/a79/c62befa79d18629e6db92625ec0a191b.png)
+95
10 эффективных инструментов для юзабилити-тестирования: обзор и сравнение
7 min
104KЧтобы узнать насколько удобен сайт или другой программный продукт для пользователей, надо спросить об этом у них самих. Но считается, что тестирование на «на живых людях» отнимает много сил и времени у разработчика и/или владельца ресурса.
На этот случай существуют онлайн инструменты для юзабилити-тестирования. Они помогают выяснить, насколько продукт соответствует ожиданиям пользователей, и в то же время, экономят время и средства на проведение исследований.
В этой статье представлен обзор десяти простых и доступных инструментов для юзабилити-тестирования сайтов. Что приятно, всеми описанными приложениями, за исключением последнего, можно воспользоваться бесплатно: они вообще не требуют оплаты или имеют бесплатные версии с ограниченным функционалом.
Сначала идет описание всех десяти приложений, а затем сравнительная таблица, где отражены их основные характеристики.
На этот случай существуют онлайн инструменты для юзабилити-тестирования. Они помогают выяснить, насколько продукт соответствует ожиданиям пользователей, и в то же время, экономят время и средства на проведение исследований.
В этой статье представлен обзор десяти простых и доступных инструментов для юзабилити-тестирования сайтов. Что приятно, всеми описанными приложениями, за исключением последнего, можно воспользоваться бесплатно: они вообще не требуют оплаты или имеют бесплатные версии с ограниченным функционалом.
Сначала идет описание всех десяти приложений, а затем сравнительная таблица, где отражены их основные характеристики.
+35
Бизнес планирование. Статья 2. Бизнес-план — это попытка убедить себя, что вам не стоит начинать этот бизнес
5 min
17KИтак, уважаемые читатели, учитывая успех предыдущей статьи по бизнес-планированию, думаю, продолжению быть. В прошлый раз мы остановились на вступительной теме по бизнес планированию, где обсуждали особенности идей, как они возникают и сколько они стоят. Также я предложил вам задаться вопросами (если вы только планируете начать свое дело), и подумать.
Хочу выделить следующие важные моменты, касающиеся бизнес плана в целом:
• Бизнес-план – это не только попытка проанализировать ваш бизнес и его шансы, но и ваше руководство к действию в ближайшем будущем после запуска бизнеса.
• Лучший способ писать бизнес-план, особенно на начальных стадиях – с листком бумаги и карандашом. И подальше от раздражителей. И только потом упорядочивание и перенос на компьютер.
Сегодня мы продолжим уже более точечно рассматривать процесс бизнес планирования, но прежде я бы хотел ознакомить вас со списком тем, котрые обычно включаются в бизнес-план, и каждой теме я планирую посвятить по одной статье. Довольно амбициозная задача, так как обычно бизнес-план включает в себя около 15-20 разделов, и каждый важен по-своему. То есть, в идеале у нас с вами должно получиться около 20 статей.
Итак, список:
Хочу выделить следующие важные моменты, касающиеся бизнес плана в целом:
• Бизнес-план – это не только попытка проанализировать ваш бизнес и его шансы, но и ваше руководство к действию в ближайшем будущем после запуска бизнеса.
• Лучший способ писать бизнес-план, особенно на начальных стадиях – с листком бумаги и карандашом. И подальше от раздражителей. И только потом упорядочивание и перенос на компьютер.
Взгляд сверху
Сегодня мы продолжим уже более точечно рассматривать процесс бизнес планирования, но прежде я бы хотел ознакомить вас со списком тем, котрые обычно включаются в бизнес-план, и каждой теме я планирую посвятить по одной статье. Довольно амбициозная задача, так как обычно бизнес-план включает в себя около 15-20 разделов, и каждый важен по-своему. То есть, в идеале у нас с вами должно получиться около 20 статей.
Итак, список:
+52
Zen Engineering
1 min
2.8K![](https://habrastorage.org/storage/6eaaa372/6b0c7c64/bb074cbd/cef4eeaf.png)
Когда есть свободная минута, открываю любую методику наугад, внимательно перечитываю и «медитирую по мотивам».
Несколько дней назад ZotovSergey упомянул про свою коллекцию различных методик повышения продуктивности мышления (принятия решений) и отрывочных записей на эту тему.
По просьбам, которые здесь последовали, он открыл свой блокнот «Zen Engineering» в Evernote для публичного доступа.
+52
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity