Недавно я столкнулся с проблемой реализации переноса слов средствами PHP. Продолжительное домогательство до поисковиков не дало результата — готовый скрипт не был обнаружен. Да что там скрипт, даже с поиском алгоритма возникли трудности. Посему я, вооружившись блокнотом и карандашом отправился на ФилФак Уфимского нашего БГУ, что бы выспросить у знакомых студентов-филологов, как оно всё на самом деле работает. А потом вооружился NotePad'ом ++ и написал простенький такой скрипток, способный худо-бедно с поставленной задачей справиться. Что из этого получилось — читаем по катом.
RE: use @reuse
User
Какой из вас предприниматель?
2 min
636Многие люди мечтают начать свой собственный бизнес, но лишь некоторые из них готовы бросить привычный им образ жизни и постоянную работу. Работая на кого-то, человек в первую очередь гарантирует себе медицинское страхование и пенсионные отчисления. Начиная свое собственное дело, вы можете лишиться этих преимуществ.
Впрочем, если вы действительно подумываете о том, чтобы уволиться в ближайшее время с основной работы и уйти в свой собственный бизнес, то подумайте – обладаете ли вы нижеприведенными качествами, необходимыми предпринимателю.
Впрочем, если вы действительно подумываете о том, чтобы уволиться в ближайшее время с основной работы и уйти в свой собственный бизнес, то подумайте – обладаете ли вы нижеприведенными качествами, необходимыми предпринимателю.
0
Проблемы с fieldset в FF
1 min
577Сегодня наткнулся аж на два бага рендеринга fieldset в Firefox.
+4
Разработка CMS
2 min
733Идея, родившаяся в процессе разработки собственной CMS. Часто нужно, чтобы одни и те же события были доступны одновременно через основной html вид, через ajax, или, к примеру, через мобильный телефон. Естественно, может понадобиться не только вывести данные в разных форматах(html, JSON, xml), но и выполнить дополнительные действия в зависимости от среды.
Можно реализовать это с помощью условий в отдельном методе контроллера, можно с помощью отдельных методов для каждого типа отображения, а можно так…
Можно реализовать это с помощью условий в отдельном методе контроллера, можно с помощью отдельных методов для каждого типа отображения, а можно так…
+12
Переключаем настройки сети в ноутбуках в два клика
2 min
6.6KTranslation
Сейчас, когда Интернет уже не является чем-то странным и недосягаемым для каждого, да и ноутбуки стали доступными по цене, возникает проблема, когда дома и в офисе разные настройки Интернет подключения (ip, dns, шлюз, прокси и т.д.), которые надо каждый раз менять. Несколько недель назад ко мне обратились с просьбой как то все автоматизировать, поскольку это надо было сделать быстро то погугливши я нашел одну из шареварних программок, которая заработала. Но на этом я не остановился, искал что то попроще, потому что минусом этих программ было то, что во-первых, они платные, во-вторых они все время висят в памяти забирая у Вас «драгоценные байты», в-третьих качая с варезных сайтов варезные программы рискуете подцепить вирус, ну и последнее зачем использовать что-то постороннее, когда можно организовать все средствами операционной системы (например windows).
+54
Откуда появляются первые 10 клиентов?
3 min
982Translation
Примечание: ниже находится перевод статьи «Getting those first 10 Clients», в которой автор рассуждает о способах привлечения первых клиентов для начинающего интернет-бизнеса.
В моей первой заметки я спрашивал у своих читателей, о каких вещах мне стоит написать. Часть из них задало несколько совершенно невероятных вопросов, в том числе, о маркетинге и как мне удалось получить свои первые заказы с нуля.
В моей первой заметки я спрашивал у своих читателей, о каких вещах мне стоит написать. Часть из них задало несколько совершенно невероятных вопросов, в том числе, о маркетинге и как мне удалось получить свои первые заказы с нуля.
+13
Испытание нестандартных подходов к продвижению. Часть 1. Введение
3 min
1.4KУже довольно давно занимаюсь продвижением различных интернет-проектов и в большинстве случаев, это не собственные проекты – а проекты заказчиков. А чем занимается средне статистический заказчик? Да ничем интересным. :) Я в основном работаю с компаниями, представителями малого бизнеса, которые оказывают какие-то услуги (b2b, b2c), либо продают кем-то произведенные товары. В большинстве случаев все банально и скучно. Как правило, каждому заказчику присуще большинство следующих черт…
+41
Eclipse PDT 1.0.3
1 min
60610 июня был обновлен Eclipse PDT с опозданием на полторы недели от запланированного времени.
Данный релиз считается этапом закрытия ошибок по большей части.
PDT All-in-One доступен на странице загрузки.
SVN клиент. На мой взгляд более удачная реализация возможностей чем в версии Subclipse от Tigris.org.
Отличная утилита для тестирования и отладки регулярных выражений.
IDE поддерживающее форматирование JavaScript. Подерживает подключение и совместную работу с некоторыми js-фреймворками: ExtJS, YUI, SilverLight, jQuery, etc.
Незаменимое дополнение, которая синхронизирует изменяемые файлы из Workspace в указанные места в вашей файловой системе. Очень полезно и удобно при работе с SVN или CVS.
Подсветка синтаксиса операторов Smarty шаблонов
Драйвер-коннектор для позможности подключения к базе данных MySQL из Eclipse.
Достаточно скачать Jar файл и в настройках
Preferences > Connectivity > Driver definitions > MySQL > X.X (Версия вашего сервера) > MySQL JDBC Driver
подключиться к нему. И вот — у вас появялась возможность присоединятся к базе, смотреть ее структуру, данные, генерировать DDL.
Для начала пожалуй все.
Данный релиз считается этапом закрытия ошибок по большей части.
PDT All-in-One доступен на странице загрузки.
Некоторые полезные дополнения
Давно хотелось отметить некоторые полезные дополнения, которые использую вместе с PDT.Subversive
Страница проектаSVN клиент. На мой взгляд более удачная реализация возможностей чем в версии Subclipse от Tigris.org.
QuickRegEx
Страница проектаОтличная утилита для тестирования и отладки регулярных выражений.
Spket
Страница проектаIDE поддерживающее форматирование JavaScript. Подерживает подключение и совместную работу с некоторыми js-фреймворками: ExtJS, YUI, SilverLight, jQuery, etc.
FileSync
Страница проектаНезаменимое дополнение, которая синхронизирует изменяемые файлы из Workspace в указанные места в вашей файловой системе. Очень полезно и удобно при работе с SVN или CVS.
Smarty PDT
Страница проектаПодсветка синтаксиса операторов Smarty шаблонов
MySQL jConnector driver
Страница загрузки драйвераДрайвер-коннектор для позможности подключения к базе данных MySQL из Eclipse.
Достаточно скачать Jar файл и в настройках
Preferences > Connectivity > Driver definitions > MySQL > X.X (Версия вашего сервера) > MySQL JDBC Driver
подключиться к нему. И вот — у вас появялась возможность присоединятся к базе, смотреть ее структуру, данные, генерировать DDL.
Для начала пожалуй все.
+17
MySQL rownum
1 min
3.3KПостановка задачи
Есть таблица меню в БД с полем порядка order_id, но порядок неправильный и надо порядок обновить по алфавиту другого поля title. Сортировка по полю title исключается, потому что таблица представляет из себя иерархическое меню, где порядок может менять пользователь устанавливая order_id. Использовать отдельно серверную обработку (php) тоже невыгодно — лишнее разделение бизнес логики если это можно сделать в БД, да и на случай больших объемов данных это займёт больше ресурсов.
Решение
В MySQL к сожалению отсутсвует такая возможность ROWNUM, RANK(),
ROW_NUMBER() как в ORACLE или MSSQL. Присутсвие _rowid никак не влияет
на ситуацию. В нашем случае можно использовать переменные, введённые с пятой версии (или раньше):
SET @rank=0;
SELECT @rank:=@rank+1 AS rank, id FROM menu;
Для обновления такой таблицы через саму себя у меня не получилось, поэтому я просто скопировал таблицу под другим именем и выполнил такой запрос:
SET @rank=0;
UPDATE `menu` SET order_id=(
SELECT @rank:=@rank+1 FROM `menu2` WHERE `menu`.id=`menu2`.id LIMIT 1
) WHERE parentID=0 ORDER BY `title` ASC;
Оригинал
+9
Вертикальное выравнивание в div'ах
1 min
2KПо мотивам cssing.org.ua.
Для вертикального выравнивания в блоках разработчики W3C создали замечательное свойство display: table-cell;, которое позволяет заставить какой-либо элемент отображаться как ячейка таблицы. При этом добавив vertical-align: middle; мы прекрасно справились бы с поставленной задачей, если бы не Internet Explorer, который ни в какую не хочет поддерживать свойство display: table-cell;.
Для вертикального выравнивания в блоках разработчики W3C создали замечательное свойство display: table-cell;, которое позволяет заставить какой-либо элемент отображаться как ячейка таблицы. При этом добавив vertical-align: middle; мы прекрасно справились бы с поставленной задачей, если бы не Internet Explorer, который ни в какую не хочет поддерживать свойство display: table-cell;.
+15
Запрет индексации сайта поисковыми ботами при помощи.htaccess
1 min
6.5KПри активной разработке многие используют копии сайта в других доменах, для эксперементов или доработки сайтов (не на работающем же вносить изменения).
И вот многие сталкиваются с проблемой как отгородить поисковики от этого домена и притом оставить рабочую версию сайта.
Проще всего и без вмешательств в код это сделать при помощи .htaccess
Создаем файл .htaccess и пишем в нем:
для проверки работоспособности можно использовать следующий PHP-скрипт
И вот многие сталкиваются с проблемой как отгородить поисковики от этого домена и притом оставить рабочую версию сайта.
Проще всего и без вмешательств в код это сделать при помощи .htaccess
Создаем файл .htaccess и пишем в нем:
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot
Order Allow,Deny
Allow from all
Deny from env=search_bot
для проверки работоспособности можно использовать следующий PHP-скрипт
<?php
if(empty($_POST)) {
?>
Открываем сайт представлясь под любым User-Agent
User-Agent
ну вот теперь можно полностью эксперементировать и никто не узнает про существование экспериментальной копии Вашего сайта ;)
+24
Что такое memcached и для чего он нужен
2 min
19KMemcached (читается мемкЭшид) — это система кэширования различных объектов в оперативной памяти. Позволят значительно снизить нагрузку на базу или файловую систему и ускорить работу сайта, за счет того, что работа с памятью быстрее чем с базой или файлами. Насколько я помню была разработана для LJ, а сейчас применяется практически на всех проектах с большим количеством пользователей. Запускается отдельным сервером.
Если вы собираетесь делать свой стартап, то советую обратить на эту технологию пристальное внимание. За счет кэширования можно значительно уменьшить кол-во запросов к базе данных.
Для PHP есть специальный PECL-модуль (то есть он не поставляется вместе с PHP, надо отдельно скачивать и компилировать). Думаю также есть готовые модули для Perl, Python (Django), Ruby(RoR) и других языков.
В API самого мемкеша есть только базовые функции: выбор сервера, коннект и дисконект, добавление, удаление, обновление и получение объекта, инкримент и дикримент. Для каждого объекта устанвливается время жизни, от 1 секунды до бесконечности. При переполнение памяти более старые объекты автоматически удаляются. Для PHP также есть уже готовые библиотеки для работы с мемкешем, которые дают дополнительную функциональность.
Базовый алгоритм работы с мемкешем следующий — обращается к мемкеш-серверу за объектом, если он есть то берем его. Если нет, то обращаемся к базе данных (или где там еще у вас могут хранится данные), формируем объект, выдаем его пользователю и добавляем в мемкеш, чтобы мы могли прочитать его при следующем обращение.
В мемкеше имеет смысл хранить только часто запрашиваемые данные. Если какой то объект запрашивается у вас раз в неделю, то скорее всего лучший использовать файловый кеш. Хотя это также зависит и от архитектуры проекта.
Сейчас на одном из своих проектов (сайт знакомств) я пробую использовать мемкеш для реализации показа статуса пользователя он- или оффлайн..
Если вы собираетесь делать свой стартап, то советую обратить на эту технологию пристальное внимание. За счет кэширования можно значительно уменьшить кол-во запросов к базе данных.
Для PHP есть специальный PECL-модуль (то есть он не поставляется вместе с PHP, надо отдельно скачивать и компилировать). Думаю также есть готовые модули для Perl, Python (Django), Ruby(RoR) и других языков.
В API самого мемкеша есть только базовые функции: выбор сервера, коннект и дисконект, добавление, удаление, обновление и получение объекта, инкримент и дикримент. Для каждого объекта устанвливается время жизни, от 1 секунды до бесконечности. При переполнение памяти более старые объекты автоматически удаляются. Для PHP также есть уже готовые библиотеки для работы с мемкешем, которые дают дополнительную функциональность.
Базовый алгоритм работы с мемкешем следующий — обращается к мемкеш-серверу за объектом, если он есть то берем его. Если нет, то обращаемся к базе данных (или где там еще у вас могут хранится данные), формируем объект, выдаем его пользователю и добавляем в мемкеш, чтобы мы могли прочитать его при следующем обращение.
В мемкеше имеет смысл хранить только часто запрашиваемые данные. Если какой то объект запрашивается у вас раз в неделю, то скорее всего лучший использовать файловый кеш. Хотя это также зависит и от архитектуры проекта.
Сейчас на одном из своих проектов (сайт знакомств) я пробую использовать мемкеш для реализации показа статуса пользователя он- или оффлайн..
+3
Ускоренное выключение\включение Windows XP
3 min
20K*Перенесено из песочницы, спасибо за инвайт :-)
Привет!
Я вот честно, искал в поиске подобную тему, но не нашёл. Сегодня я хочу рассказать вам про то, о чём я узнал случайно и даже немного возмутился. Оказывается у Microsoft есть куча полезных утилит которые творят чудеса! Мне даже непонятно почему они не включены стандартно в Windows.
1) Ускоренная выгрузка Windows XP.
Есть такая утилитка на сайте Microsoft: UPHClean (User Profile Hive Cleanup Service)
Microsoft.com/UPHClean
если по каким то причинам не удалось скачать, то можно отсюда:
Filehoster.ru.
Служба UPHClean контролирует компьютер в процессе выгрузки профиля пользователя и закрывает открытые ресурсы. Вот честно, с английским у меня не важно, но, насколько я понял, обычно после выгрузки пользователя, Windows начинает сканироваь реестр и что-то там согласовывать и завершать, а при установленной утилите вся эта работа будет выполняться сразу в реальном времени по мере надобности. Эта утилита себя зарегистрирует как сервис и будет висеть в памяти всегда (от 1 мб до 5 мб. у каждого по разному), и хотя я очень критичен к сервисам которые находятся в автозапуске, эта утилитка меня так поразила что я не смог ей отказать :-) у меня выключается за 5-7 секунд. раньше за 25
2) Ускоренная загрузка Windows XP.
Я понимаю, что этой теме выделенно не мало пространства в интернете, но тут я вам не расскажу как это сделать супер быстро, нажав одну кнопку.
BootVis Tool
Microsoft.com/BootVis
Привет!
Я вот честно, искал в поиске подобную тему, но не нашёл. Сегодня я хочу рассказать вам про то, о чём я узнал случайно и даже немного возмутился. Оказывается у Microsoft есть куча полезных утилит которые творят чудеса! Мне даже непонятно почему они не включены стандартно в Windows.
1) Ускоренная выгрузка Windows XP.
Есть такая утилитка на сайте Microsoft: UPHClean (User Profile Hive Cleanup Service)
Microsoft.com/UPHClean
если по каким то причинам не удалось скачать, то можно отсюда:
Filehoster.ru.
Служба UPHClean контролирует компьютер в процессе выгрузки профиля пользователя и закрывает открытые ресурсы. Вот честно, с английским у меня не важно, но, насколько я понял, обычно после выгрузки пользователя, Windows начинает сканироваь реестр и что-то там согласовывать и завершать, а при установленной утилите вся эта работа будет выполняться сразу в реальном времени по мере надобности. Эта утилита себя зарегистрирует как сервис и будет висеть в памяти всегда (от 1 мб до 5 мб. у каждого по разному), и хотя я очень критичен к сервисам которые находятся в автозапуске, эта утилитка меня так поразила что я не смог ей отказать :-) у меня выключается за 5-7 секунд. раньше за 25
2) Ускоренная загрузка Windows XP.
Я понимаю, что этой теме выделенно не мало пространства в интернете, но тут я вам не расскажу как это сделать супер быстро, нажав одну кнопку.
BootVis Tool
Microsoft.com/BootVis
+100
О собеседованиях
5 min
7.9KПо долгу службы приходится иногда собеседовать людей на различные открытые вакансии в моём отделе.
В основном, на вакансии веб-программиста.
В заявке на подбор персонала в требованиях я указываю обычно весьма простые вещи:
– Хорошее знание SQL (MySQL, если быть точным).
– Знание Perl или PHP (с желанием перейти на Perl).
– Базовые знания всего остального, что может пригодиться разработчику — хотя бы отличать HTML от CSS, Java от JavaScript и веб-сервер от браузера.
Почему так просто? Всё банально — как правило, мне не нужны гуру.
Проекты, над которыми работает мой отдел, не такие сложные, чтобы не справиться человеку с 2–3 годами опыта активной веб-разработки. Все сложности, с которыми придётся столкнуться в первые месяцы работы, вполне себе могут быть решены или мной, или системными администраторами.
После того, как заявка заполнена, одобрена начальником департамента и генеральным директором, отдел кадров начинает поиск подходящего человека.
В основном, на вакансии веб-программиста.
В заявке на подбор персонала в требованиях я указываю обычно весьма простые вещи:
– Хорошее знание SQL (MySQL, если быть точным).
– Знание Perl или PHP (с желанием перейти на Perl).
– Базовые знания всего остального, что может пригодиться разработчику — хотя бы отличать HTML от CSS, Java от JavaScript и веб-сервер от браузера.
Почему так просто? Всё банально — как правило, мне не нужны гуру.
Проекты, над которыми работает мой отдел, не такие сложные, чтобы не справиться человеку с 2–3 годами опыта активной веб-разработки. Все сложности, с которыми придётся столкнуться в первые месяцы работы, вполне себе могут быть решены или мной, или системными администраторами.
После того, как заявка заполнена, одобрена начальником департамента и генеральным директором, отдел кадров начинает поиск подходящего человека.
+42
Горячая линия: разработка сайта на заказ
2 min
2.9KУважаемый bobos создал правильный блог «Юридическая консультация». Пока вопросы задаются в виде комментариев к первому посту-объявлению или отдельными постами.
В комментариях не очень удобно, а отдельный пост на каждый вопрос не всегда нужен.
Поэтому предлагаю организовать и провести тематическую горячую линию.
В комментариях не очень удобно, а отдельный пост на каждый вопрос не всегда нужен.
Поэтому предлагаю организовать и провести тематическую горячую линию.
+28
22 вещи, которые вы не знали о своих покупателях
6 min
1.7KTranslation
Это перевод статьи с англоязычного блога. Я, как переводчик, не могу безоговорочно согласиться со всеми утверждениями автора, но счел необходимым перевести эту статью для того, чтобы мы могли задуматься обо всех этих штуках при тестировании. Только тестирование скажет, насколько эти утверждения справедливы в каждом конкретном случае.
Также довольно забавно наблюдать отличие технических данных по российской и американской аудитории. Так что читайте.
Вы не знаете кое-чего о ваших потребителях. Дело не в вас, а в них. Но вам необходимо узнать это. Вот некоторые тяжелые уроки, которые я выучил за много лет — они относятся к юзабилити, любимым мозолям и другим забавным штукам. Выучите эти уроки и получите больше довольных потребителей, посетителей, читателей и поклонников:
Также довольно забавно наблюдать отличие технических данных по российской и американской аудитории. Так что читайте.
Вы не знаете кое-чего о ваших потребителях. Дело не в вас, а в них. Но вам необходимо узнать это. Вот некоторые тяжелые уроки, которые я выучил за много лет — они относятся к юзабилити, любимым мозолям и другим забавным штукам. Выучите эти уроки и получите больше довольных потребителей, посетителей, читателей и поклонников:
+89
Мифы и легенды интернет-рекламы — «Топ Яндекса»
4 min
897
Многие из таких мифов связаны с критериями оценки эффективности кампании. Агентства продают самые простые метрики, которые проще всего «прокачать» и представить клиенту. К сожалению, многие из этих метрик малополезны, а другие — хоть и хороши, но недостаточны. Все они могут ввести клиента в заблуждение.
+58
Ремонт «вырванных» клавиш клавиатуры ноутбука
3 min
871KИспользуя в повседневной жизни ноутбук, пользователи иногда встречаются с проблемой: «отломалась» клавиша на клавиатуре. Причиной может выступить любой фактор: чистка клавиатуры, использование пылесоса для чистки, шальная кошка (да, даже такое случается), маленький ребенок, интересующийся всем вокруг и случайно сорвавший клавишу, и много другого. Но не все знают, что это маленькую беду достаточно легко исправить.
Я расскажу Вам, как поставить кнопку обратно без потерь.

(осторожно! очень много фотографий)
Я расскажу Вам, как поставить кнопку обратно без потерь.

(осторожно! очень много фотографий)
+88
Это же кошмар, товарищи. PHPShop
2 min
7.9KОговорюсь. Не имею никакого отношения к PHPShop, не конкурирую с ней и не ставлю целью кого-то заклеймить.
К нам обратился человек, купивший Enterprise-версию интернет-магазина PHPShop (2.1) и сделавший на ней сайт. Ему нужна некоторая доработка бизнес-логики магазина, за которую авторы запросили непомерную сумму. Мы получили код и начали смотреть.
Это жуть. Я так писал первые 2 дня знакомства с php и вебом вообще. Студентам с таким кодом не принимаю лабы.
К нам обратился человек, купивший Enterprise-версию интернет-магазина PHPShop (2.1) и сделавший на ней сайт. Ему нужна некоторая доработка бизнес-логики магазина, за которую авторы запросили непомерную сумму. Мы получили код и начали смотреть.
Это жуть. Я так писал первые 2 дня знакомства с php и вебом вообще. Студентам с таким кодом не принимаю лабы.
+131
Как активировать режим Бога в Windows 7
1 min
580KЗнаете ли вы, что вы тоже можете стать Богом!? Ну, по крайней мере, на Windows 7 (по сообщениям пользователей это так же работает и на Windows Vista).
Этот режим позволит вам управлять всеми настройками Windows из удобного графического меню. Вот как его активировать:
1. Щелкните правой кнопкой мыши на любом пустом пространстве рабочего стола.
2. Перейдите в меню Создать и создайте новую папку.
Этот режим позволит вам управлять всеми настройками Windows из удобного графического меню. Вот как его активировать:
1. Щелкните правой кнопкой мыши на любом пустом пространстве рабочего стола.
2. Перейдите в меню Создать и создайте новую папку.
+166
Information
- Rating
- Does not participate
- Location
- Украина
- Date of birth
- Registered
- Activity