Позвольте мне начать своё повествование с рассказа про свободное время, семью и тягу к прекрасному. Свободного времени, которое я могу провести с женой, обычно очень мало. То я занят, то жена. То мы оба. Но иногда высвобождается час-другой, который можно провести вместе. А что можно сделать вместе? Ну, кроме того что вы подумали, можно ещё посмотреть вместе фильм. Сходить в кино, например, выбрав один из пяти унылых фильмов в кинотеатре. Или достать с полки DVD и в 5й раз посмотреть «Новинки 2006 года, 8 в 1». Но кому нужны новинки 2006 года в качестве для мобильного телефона или платить деньги за билеты в кино, если всё что нужно для удовольствия можно сделать у себя дома практически бесплатно? Если есть трекер на котором постоянно выкладываются сотни интересных фильмов? Если есть хороший телевизор и диван, на котором смотреть фильмы намного приятнее? Нет, иногда, конечно, приятно сходить в кино, или пересмотреть новинки 2006, но в большинстве случаев мы хотим (1) дома, (2) бесплатно посмотреть (3) новый фильм (4) в хорошем качестве (5) не дожидаясь пока он скачается.
Максим @amxm
User
Синхронизация двух серверов Apache + MySQL на FreeBSD
4 min
16KВ данном обзоре я расскажу о реализации кластера состоящего из двух нод с резервированием популярной связки для веб сервера Apache + MySQL + FreeBSD (или любой Linux).
+44
Roomle — онлайн сервис для планирования квартиры
1 min
6.1KЕсли вы планируете изменения в своей квартире, но CAD системы (ArchiCAD, AutoCAD) не то, с чем вы сталкиваетесь постоянно, то это сервис то что нужно.
Roomle позволяет создавать план квартиры или отдельных комнат, расставлять мебель, смотреть отрендеренную картинку и, конечно, делиться результатами.
Roomle позволяет создавать план квартиры или отдельных комнат, расставлять мебель, смотреть отрендеренную картинку и, конечно, делиться результатами.
+39
Номер телефона
1 min
292KРегулярное выражение для валидации номера телефона:
Ориентировано на российские мобильные + городские с кодом из 3 цифр (например, Москва).
^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$
Ориентировано на российские мобильные + городские с кодом из 3 цифр (например, Москва).
+52
Моё путешествие в будущее
5 min
134K
Был тихий осенний вечер. Ничто не предвещало беды. Смеркалось. Я заканчивал плановый upgrade компьютера, в процессе которого по затерявшимся уже в истории причинам понадобилось сбросить BIOS. Дело не хитрое. Расположение батарейки и перемычки Reset на материнской плате известны – вперед! После включения и загрузки Windows 7 мне в ультимативном порядке было заявлено, что на дворе далекое будущее, а именно – 14201-ый год.

Приключения только начинались…
+559
Как открыть отдел интернет-магазина в торговом центре или почему мы теперь стоим рядом с отделом PocketBook
8 min
49K
Топик будет полезен тем, кто:
- Имеет свой интернет-магазин и хочет реальный;
- Не знает, как открывать точку в ТЦ;
- Выбирает между точкой самовывоза и разными вариантами магазинов.
Выжимка:
- ТЦ хорош аудиторией, но плох жесткими условиями и высокими стартовыми затратами;
- В ТЦ сложно, но реально встать;
- Как презентоваться;
- Персонал нанимается до открытия;
- Какие бывают подставы;
- Как делали открытие мы и как его нужно было делать.
+76
База всех населенных пунктов и регионов России
2 min
7.5KМне для одного проекта понадобилось создать базу географических наименований России. Из всех источников подобной информации наиболее авторитетными мне показались 2:
Последняя показалась мне более простой, полной и менее избыточной, хотя наименований населенных пунктов там в четыре раза больше. Я выбрал ОКАТО, поскольку нашел хотя бы какое-то описание базы на википедии, а в почтовых индексах присутствовала совсем непонятная информация. В этой базе предстояло отсеять ненужные административные единицы от требуемых мне географических.
- Эталонный справочник индексов объектов почтовой связи.
- И база окато которую можно взять с сайта главного научно-исследовательского вычислительного центра федеральной налоговой службы
Последняя показалась мне более простой, полной и менее избыточной, хотя наименований населенных пунктов там в четыре раза больше. Я выбрал ОКАТО, поскольку нашел хотя бы какое-то описание базы на википедии, а в почтовых индексах присутствовала совсем непонятная информация. В этой базе предстояло отсеять ненужные административные единицы от требуемых мне географических.
+73
Тупая интеграция phpbb3 с любым сайтом
4 min
13KРассмотрим стандартную задачу — на сайт с уже существующими пользователями нужно добавить форум. При этом не писать новый модуль самому, но поставить готовое популярное решение типа phpbb3 и синхронизировать регистрацию/авторизацию/профили пользователей сайта с форумом. Минимально нужно, чтобы пользователи сайта стали пользователями форума, и чтобы авторизованный пользователь сайта автоматически становился авторизованным пользователем форума и наоборот, а так же происходила синхронизация при изменении профиля.
В сети есть плагины для синхронизации phpbb и wordpress (WP-United) и универсальные руководства (1,2), но последние, как правило, начинаются словами «скопипастить эти… дцать функций из functions.php» и «вставить в эти 3 таблицы вот такие данные».
Другой метод интеграции — начать использовать таблицы пользователей и методы к ним из phpbb на остальном сайте, но это обычно требует значительных модификаций системы.
Расскажу про свой способ, который тормознее обычных, но зато требует минимальных изменений файлов сайта и форума (по 10 строчек на каждом для подключения файла с классом-синхронизатором в 5кб).
В сети есть плагины для синхронизации phpbb и wordpress (WP-United) и универсальные руководства (1,2), но последние, как правило, начинаются словами «скопипастить эти… дцать функций из functions.php» и «вставить в эти 3 таблицы вот такие данные».
Другой метод интеграции — начать использовать таблицы пользователей и методы к ним из phpbb на остальном сайте, но это обычно требует значительных модификаций системы.
Расскажу про свой способ, который тормознее обычных, но зато требует минимальных изменений файлов сайта и форума (по 10 строчек на каждом для подключения файла с классом-синхронизатором в 5кб).
+23
40 советов по оптимизации вашего PHP-кода
4 min
57KВсем доброго времени суток.
Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.
Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.
- Если метод может быть статическим, объявляйте его статическим.
- echo быстрее, чем print.
- Передавайте в echo несколько параметров, вместо того, чтобы использовать конкатенацию строк.
- Устанавливайте максимальное количество проходов ваших циклов for до цикла, а не во время его выполнения.
- Удаляйте свои переменные для освобождения памяти, тем более, если это большие массивы.
- Остерегайтесь магических методов, таких как __set, __get, __autoload.
- require_once дорого обходится.
- Указывайте полные пути в конструкциях include/require, меньше времени будет тратится на поиск файла.
- Если вам необходимо определить время, когда скрипт был запущен, используйте $_SERVER[’REQUEST_TIME’] вместо time().
- Старайтесь использовать strncasecmp, strpbrk и stripos вместо регулярных выражений.
+51
Алгоритм популярности пользователя на сайте — «Нестандартный подход к стандартным вещам»
3 min
6KВсе видели на сайтах систему рейтинга статей и материалов. Многие ее даже делали сами, но не каждый делал рейтинг людей на сайте.
В этой статье я поведаю как сделать качественную систему рейтинга для пользователей вашего ресурса.
В этой статье я поведаю как сделать качественную систему рейтинга для пользователей вашего ресурса.
+68
Лучшие сайты 2010 года по версии TIME
19 min
71KTranslation

От полезного до сбивающего с толку, для игроков «по крупному» и для неизвестных личностей, TIME представляет «путеводитель» ко всему самому лучшему, что есть в интернете.
+73
Системы управления проектами. Ищем альтернативы Basecamp
8 min
111K
+84
Удача и провал в AppStore
4 min
3.7K
+135
Named scope для Zend Framework
3 min
1.5KРаботая с базой, постоянно приходится писать множество методов поиска. Вот типичный сценарий:
Предположим, что нам надо выводить список пользователей на сайте. Вначале это может быть так — $user_table->fetchAll(). А если нужно выводить только девушек? Напишем метод getFemaleUsers(). А только тех, кто не забанен и имеет аватарку? А вывод в админке только девушек, но без учета статуса пользователя?
В конце концов мы получим вагон методов, которые частично друг друга перекрывают или вообще делают одно и тоже, а различается только сортировка. А ведь их еще нужно тестировать…
Предположим, что нам надо выводить список пользователей на сайте. Вначале это может быть так — $user_table->fetchAll(). А если нужно выводить только девушек? Напишем метод getFemaleUsers(). А только тех, кто не забанен и имеет аватарку? А вывод в админке только девушек, но без учета статуса пользователя?
В конце концов мы получим вагон методов, которые частично друг друга перекрывают или вообще делают одно и тоже, а различается только сортировка. А ведь их еще нужно тестировать…
+37
Заказывая оптимизацию сервера у хостера — держи ухо востро
3 min
3.1K
Это была бы рядовая и унылая статья про nginx и opcode-кеширование, если бы сервер не был до этого «прооптимизирован» техподдержкой хостера :-)
О том, что я обнаружил в процессе оптимизации, я и пишу эту небольшую заметку, дабы уберечь других от подобных фокусов хостеров. :-)
+137
Машина времени для вашего бизнеса
2 min
614Друзья, наверняка все слышали про преславутую «машину времени» в бизнесе. Но как ею воспользоваться и как она работают мало кто понимает. В этом посте постарался рассмотреть эти вопросы подробнее.
Общепризнанно что Рунет отстает от Буржунета в среднем на 3-5 лет. Таким образом то что популярно у них сейчас придет к нам (не все конечно, но большинство) через 3-5 лет. Аналогичная ситуация с Рунетом, Байнетом и Укрнетом. Только теперь Рунет впереди, и отставание не такое серьезное — до 3х лет. Если смотреть шире, то мы можем заметить аналогичную ситуацию со столицей и провинцией. Например, рынок разработки и продвижения сайтов в регионах на порядок отстает от Москвы и Питера.
Общепризнанно что Рунет отстает от Буржунета в среднем на 3-5 лет. Таким образом то что популярно у них сейчас придет к нам (не все конечно, но большинство) через 3-5 лет. Аналогичная ситуация с Рунетом, Байнетом и Укрнетом. Только теперь Рунет впереди, и отставание не такое серьезное — до 3х лет. Если смотреть шире, то мы можем заметить аналогичную ситуацию со столицей и провинцией. Например, рынок разработки и продвижения сайтов в регионах на порядок отстает от Москвы и Питера.
+31
Медленные и/или ресурсоёмкие задачи в коде: отложенные задания, очереди, задачи с ручной обработкой
2 min
4.4KПубликую по просьбе eugenioz.
При работе больших Web проектов бывают такие задачи, выполнение которых не является необходимым прямо сейчас, однако действия критические и выполнить их обязательно. Такие действия можно проводить прямо в коде и при неудачной попытке повторять. Но, на мой взгляд, подобное лучше сразу выполнять вне основного кода задачи: этим разгружается код и достигается однообразие выполнения.
Общим подходом здесь является создание очередей выполнение и отложенных заданий. Основные примеры: пересылка/верификация данных у сторонних сайтов; передача данных от реселлерской панели на основной сайт; передача заданий, которые не могут быть выполнены автоматически, на ручную обработку.
В качестве средства распределения задач предлагаю вашему вниманию PHP-класс Tasks.
Код класса
При работе больших Web проектов бывают такие задачи, выполнение которых не является необходимым прямо сейчас, однако действия критические и выполнить их обязательно. Такие действия можно проводить прямо в коде и при неудачной попытке повторять. Но, на мой взгляд, подобное лучше сразу выполнять вне основного кода задачи: этим разгружается код и достигается однообразие выполнения.
Общим подходом здесь является создание очередей выполнение и отложенных заданий. Основные примеры: пересылка/верификация данных у сторонних сайтов; передача данных от реселлерской панели на основной сайт; передача заданий, которые не могут быть выполнены автоматически, на ручную обработку.
В качестве средства распределения задач предлагаю вашему вниманию PHP-класс Tasks.
Код класса
+4
Не используйте kill -9
2 min
117KTranslation
Аргумент -9 (или
KILL
) для команды kill
следует использовать в POSIX-совместимых системах только в случае крайней необходимости. Почему? Сигнал KILL
не может быть обработан процессом. Это означает, что после завершения процесса с помощью kill -9
, дочерние процессы останутся в памяти и станут «осиротевшими» (orphaned), файловая система окажется засорена временными файлами, сегменты совместно используемой памяти — активными, сокеты — зависшими, а функция atexit(3) вообще не будет выполнена. В результате есть риск столкнуться с неожиданными и сложными для отладки проблемами.+67
Визуальный редактор на jQuery
2 min
14K
В мире визуальных редакторов есть CKeditor, есть tinyMCE — монстрообразные, не гибкие, их сложно изменять под задачи сайтов и интерфейсов. Есть небольшие, простые, они часто с ужасным дизайном, не развиваются, не поддерживаются. Как настоящий разработчик, несколько лет назад я решил написать свой редактор и в течение этого времени постоянно развивал его и упрощал. Суть редактора постепенно свелась к простым требованиям:
- он должен быть красивым и одновременно ненавязчивым, чтобы вписывался без внешних изменений почти в любой интерфейс;
- обязательно быстрым и легкий, потому что никому не нравится сидеть даже полминуты в ожидании загрузки всех кнопок и плагинов;
- гибкий для разработки, доработки и встраивания под все возможные нужды;
- с простым и понятным интерфейсом. В идеале визуальный редактор — это просто поле для ввода текстов, без лишних кнопок и функций. Просто люди пишут тексты в вебе и это все что им нужно.
+194
Мы это сделали — онлайн бухгалтерия для ООО
2 min
35K
Скажу честно, тот пост для нас значил очень многое, и именно отличная реакция на хабре вдохнула в «Мое дело» жизнь: первые 100 активных пользователей, первые партнерские контакты, первые идеи об интеграции — все это мы получили благодаря хабру. Спасибо всем, кто присылал идеи по улучшению сервиса и находил баги в бета версии — благодаря Вам мы продолжаем двигаться вперед, продираясь сквозь идиотизм налоговых инспекций и бюрократические стремления нашей страны.
Сейчас мы уже обрели вес, и хотя так и не привлекли инвестиций (инвесторы, ау), чувствуем себя очень уверенно. И с кем, как ни с хабром делится главной новостью за последние полгода.
Бета версия бухгалтерии MoeDelo.org для ООО на УСН готова!
Мы перебрали более десяти различных вариантов представления всех ООО-ных заморочек в UI и наконецто пришли к решению.
+99
Information
- Rating
- Does not participate
- Location
- Липецк, Липецкая обл., Россия
- Date of birth
- Registered
- Activity