Search
Write a publication
Pull to refresh
0
voland_2003 @voland_2003read⁠-⁠only

User

Send message

Переезд с одного рабочего сервера на другой

Reading time7 min
Views3K

Задача:

перенести работающий проект с одного сервера на другой.

Имеем:

рабочий сервер, новый сервер сконфигурированный и настроенный для работы проекта.

Я не буду вникать в тонкости настройки сервера, так как это может быть в принципе любой сервер под любой ОС. Главное что бы у вас был полный доступ ко всей системе. Т.е. права администратора. А так же сервер должен быть готовым в любой момент принять посетителей. Т.е. должны быть настроены виртуалы, установлена СУБД, ВЕБ сервер и т.д.

Первый способ простой:

Вешаем на рабочем сервере страницу с надписью «Мы переезжаем, приходите завтра» и поехали!

Собственно лучше всего начать со скриптов. Было бы идеально, если бы у вас был SVN или CVS. В этом случае скрипты залить можно в один клик. В принципе по FTP так же можно легко залить, но если вам будет необходимо что-то подправить и быстро перезалить, то, возможно, будет немного проблематично в спешке залить все измененные файлы особенно если они разбросаны по разным директориям.

После заливки скриптов переходим к базе. Если ваша база не гигабайтных/терабайтных размеров, то можно попробовать сделать тестовую базу и залить туда весь дамп. Если дамп все-таки уж сильно большой, то можно залить только структуру и необходимые таблицы (что бы система «запустилась») в тестовую базу и тестировать на ней. Это нужно для промежуточного тестирования перед тем как открыть сайт для посетителей. Кроме тестовой базы создайте рабочую и залейте туда весь дамп но в настройках оставьте использование тестовой базы.

Виртуальный хост. Его следует настраивать так, что бы он мог работать с двумя разным доменами. Зачем? Опять же для тестирования. К примеру ваш сайт site.com сейчас закрыт, но вам же нужно убедиться что на новом сервере все будет хорошо? Вот для этого и нужен второй домен. Где его взять – это уже второй вопрос. Если у вас нет поддоменов – то можно на время добавить test.site.com и его прописать на новый сервер. Ну или же просто пропишите в хостах (в свой ОС) любой домен и это должно работать. Так же нужно заметить, что ваши скрипты должны быть правильно настроены для этого домена (если конечно они привязываются к доменам).

Переливка контента. Если на вашем сайте есть пользовательский контент, его нужно так же перелить на новый сервер. Сделать это можно различными способами в зависимости от вашей ОС и ваших навыков. Не буду подробно останавливаться на этой, в общем-то, тривиальной задаче.

Если все прошло успешно – пробуйте зайти на тестовый домен. В этом случае при правильной конфигурации сайт должен работать корректно. Сделайте полную проверку системы – зарегистрируйте пользователя, проверьте отправку почты, аплоад файлов, работу служб, кронов, демонов и т.д. если все хорошо – переключите скрипты на реальную базу и можно менять ДНС (IP у реального домена). По мере того как будет проходить апдейт по ДНС серверам на ваш новый сервер будут прибывать все новые и новые посетители. Не забудьте на новом сервере убрать страничку с надписью. Она тут совсем ни к чему :)

Примерное время – от 30 минут до 3-4 часов (без учета времени обновления ДНСов)

Далее веселее…

Читать дальше →

Оценка интересов пользователей

Reading time3 min
Views1.1K
На данный момент, для более-менее крупных проектов стаёт довольно актуальный вопрос об оценке интересов аудитории. То есть это не необходимость, без этого можно обойтись, но с другой стороны это может существенно улучшить предоставляемые сервисы и увеличть доход с проекта.
В интернете не очень много информации по этому поводу, те кто уже сделал данный механизм тихо себе радуються и не особо спешат делиться мыслями. А вопрос достаточно непростой. Я бы хотел поднять тут эту тему и попытаться собрать вместе различные идеи. Да, во многом механизм может зависить от структуры проекта, но все же основные идеи выделить можно.
И так, ниже я изложу свои соображения по этому поводу и буду, рад если вы оставите в комментариях свои дополнения и новые идеи. Если тема будет интересна читателям, то в следующем посте я постараюсь собрать все сказанное в комментариях.

Читать дальше →

Настройка Apache2.2+Nginx+eAccelerator+SVN+Trac на медленном VDS — часть вторая

Reading time3 min
Views1.6K
Первая часть

Сразу хочу заметить, что статья эта не претендует на авторитетность — делал всё в первый раз на удалённой машине с Линуксом. Соответственно, прошу особо не пинать, а лучше высказывать замечания — как что-то можно было сделать по-другому, или советы по настройке. Всё нижеперечисленное было сделано по мануалам из гугла.


С Subversion и Trac пришлось помучаться — здесь напишу финальный, заработавший вариант.

UPD: Рекомендуется сначала попробовать поставить из репозитория, указав соответствующий источник

apt-get install subversion


Subversion — руководствовался в основном этим.

Читать дальше →

Настройка Apache2.2+Nginx+eAccelerator+SVN+Trac на медленном VDS — часть первая

Reading time4 min
Views2.9K
Вторая часть

Сразу хочу заметить, что статья эта не претендует на авторитетность — делал всё в первый раз на удалённой машине с Линуксом. Соответственно, прошу особо не пинать, а лучше высказывать замечания — как что-то можно было сделать по-другому, или советы по настройке. Всё нижеперечисленное было сделано по мануалам из гугла.


Итак, досталась мне хиленькая VDS от FirstVDS — с Debian и ISPManager.
Попытки оптимизировать ее работу вылились в следующее:

1. Оптимизация Apache и установка Nginx
2. Установка eAccelerator

Ну и для души —

3. Установка SVN
4. Установка Trac.

Читать дальше →

Меняем тему оформления Mac OS X Leopard

Reading time1 min
Views19K
Появилась программа, позволяющая изменять темы оформления в Mac OS X 10.5 «Leopard»! Раньше такая возможность была только у пользователей предыдущей версии ОС 10.4 «Tiger».
Встречайте: бесплатная утилита Magnifique!

Читать дальше →

5 cпособов осуществить агрегацию строк в MS SQL

Reading time3 min
Views15K
Иногда возникает необходимость осуществить агрегацию строк в SQL запросе, то есть, по такому набору данных:
GroupId Item
1 AAA
2 IS
5 OMG
2 WHAT
2 THE
1 This
получить примерно такой:
GroupId ItemList
1 AAA,This
2 IS,WHAT,THE
5 OMG
MySQL, например, для таких целей обладает встроенной функцией GROUP_CONCAT():
SELECT GroupId, GROUP_CONCAT(Item SEPARATOR ",") AS ItemList
FROM Items

В MS SQL Server'e такой функции нету, поэтому приходится извращаться. Перед тем, как приступить, сделаем скрипт для создания тестовой таблицы:
CREATE TABLE Items(GroupId INT, Item NVARCHAR(10))

INSERT INTO Items(GroupId, Item)
SELECT 1 AS GroupId, 'AAA' AS Item
  UNION ALL
SELECT 2, 'IS'
  UNION ALL
SELECT 5, 'OMG'
  UNION ALL
SELECT 2, 'WHAT'
  UNION ALL
SELECT 2, 'THE'
  UNION ALL
SELECT 1, 'This'

Итак, начнем.
Читать дальше →

Timepicker на основе jQuery

Reading time2 min
Views1.7K
Недавно у меня (если быть точным, то не совсем у меня) возникла потребность вставить такую штуку, как таймпикер в один проект.
Судьба и добрые люди навели меня сначала на ужасный циферблат на основе MooTools, а потом и на jQuery Timepicker plugin.

В силу того, что я пользуюсь именно jQuery, плагин был осмотрен и даже встроен в проект, однако тут же я столкнулся с рядом проблем.
Во-первых, требует всю библиотеку ui (а это 200кило кода) и нигде (я не нашел) нет зависимостей, дабы можно было вычленить лишние килобайты кода.
Во-вторых, он требует несколько css файлов, которые что-то наследуют от ui.core.css.
В-третьих, он требует парочку приличных спрайтов.
После подключения всей этой истории я получил не до конца работающий таймпикер (проблематичность стилизации из-за наличия других элементов ui библиотеки) и заторможенность страницы. Это не говоря о том, что он мне не нравится наличием AM/PM переключателей, жесткой (ну или не очень, я не помню его конфиг) привязкой к 15 минутным интервалам и странным внешним видом.

Так что пришлось писать свой велосипед, который был успешно интегрирован в проект. Естественно, меня посетила мысль, что, возможно, найдутся такие люди, которым за каким-то чёртом может пригодиться мой небольшой кривоватый скрипт. Поэтому я потратил ещё часик на оформление демоверсии скрипта. Посмотреть (и вытащить все исходники) вы можете здесь — public.xfenix.ru

P.S. Допилено упадническими методами до работоспобного состояния в браузерах IE (6,7), Opera, FF 3, Google Chrome. Для IE пришлось внести кондишнл комменты, а для оперы крепко поморчиться (и все равно баг остался — бекграунд наносится лишь на половину li при клике). Если кто объяснит почему возникли такие ошибки и как их побороть чуть более чем полностью, то буду благодарен до конца века.

P.P.S. Если вдруг каким-то чудом ты, читатель, вовсе не зубр, ехидно посмеивающийся над моими исходниками, а начинающий javascript-наркоман и тебе требуется описание по подключению и опциям этого скрипта, то ты можешь сказать мне об этом в коментариях и тогда я отреагирую и допишу пару абзацев текста.

Еще немного про текстовую оптимизацию. Как готовят военные документы.

Reading time1 min
Views987
О стилистике военных инструкций, приказов, докладов складываются легенды. В 1984 году «Воениздат» выпустил книгу «Подготовка и оформление служебных изданий», в которой была предпринята попытка лишить нас шедевров военной стилистики. Тем не менее, эта попытка не удалась — более того, стилистические находки военных находят повсеместно находят применение в современных деловых документах.

Aka-author бережно отсканировал несколько страниц из этого интереснейшего издания. Многие советы действительно полезны. Одно удивляет — язык изложения: как можно расчитывать, что человек, который пишет «устранить имеющие место недостатки» или «благодаря невыходу на работу» знает, что такое «синтаксически неоднородные конструкции» или «наличие общего зависимого слова при различном управлении».

Итак, читаем:
Читать дальше →

Мысли после семинара «Нужно действовать!» СЕТЬ, Start-up, кризис и возможности, который провел Антон Носик

Reading time5 min
Views462
Всегда хотелось увидеть живого Антона Носика. Одно дело, когда читаешь разные слухи, статьи и заметки про человека, совсем другое — увидеть, как он ведет себя, как и что он говорит.
Я поделюсь своими соображениями об услышанном и своим видением того, как проходил семинар.

Читать дальше →

Отправка СМС скриптом, кто-нть знает как и где?

Reading time1 min
Views1.3K
Есть ли какой-то способ не вводя капч отправить самому себе смс скриптом дешево или бесплатно? Хочется сделать уведомления с сервера, но жадно, жадно платить денег.

Выбор dedicated-сервера. Подводные камни.

Reading time4 min
Views6.2K
Добрый день, Хабралюди! Сегодня я решил рассказать про то, как выбрать свой первый dedicated-сервер.

Вопрос выбора размещения сервера — не так прост, как кажется. Я попытаюсь охватить все «подводные камни», с которыми сталкнется начинающий в этом непростом деле. Статья не претендует на всеохват темы.

Не очень много букв

Автоперенос Documents and settings на другой диск

Reading time2 min
Views2.6K
У пользователей, как говорит Umputun, самой популярной операционной системы уже вошло в традицию разнесение данных и системных файлов по разделам жесткого диска. Однако так уже случилось что папка с данными пользователей Windows XP по-умолчанию находится на системном разделе и часто приходится идти на всякие ухищрения что бы перенести ее в более удобное место, а в идеале еще и убрать пробелы из ее названия.
Понимаю, что уже все продвинутые перцы во всю пользуются beta-ми 7-ки и Вистой, а еще более продвинутые mac и *никс со всеми вариациями на эту тему. Все же хочу отметить, что XP к нам надолго его проблемы вместе с ним.

Хочу поделиться своим решением этой беды. Как не жаль, но однокливого решения у меня пока нет, так что процедура состоит из следующих шагов:

1.1 создание пользователя с правами администратора, например «Несун» и вход в систему под этим пользователем;
1.2 или загрузка из-под другой системы;
2. копирование c:\Documents and settings в новое место d:\Users за исключение папки «Несуна»;
3. замена всех вхождений этой папки в реестре.


У меня есть автоматическое решение только последнего шага, и помогает мне в этом консольная утилитка: Regfind.exe. Входит в состав Windows Server Resource Kit Tools.
Для работы с ней используется бач-скрипт
следующего содержания

Геотаггинг: не картами едиными

Reading time2 min
Views718
image
На просторах интернетов уже довольно широко распространен прием показа карты того места, где снята фотография. На практике, это реализуется двумя путями:
  1. Просто указанием места на карте, например, как это делается на Flickr или при помощи плагина GeoPress для Wordpress
  2. Извлечением координат из EXIF'а фотографии — если они там есть
Второй способ, естественно, куда «красивее» и правильнее — но несколько сложнее технически. Однако не буду рассматривать, как добавить координаты в EXIF — а расскажу о том, как их можно использовать.
Давно, очень давно мучала меня идея — не хочу показывать карту. То есть карта это хорошо, но не все. Хочу человеческим языком сказать посетителю: фотография снята в таком-то городе по такому-то адресу. Ну очень давно хотел я это сделать, и в конце концов собрался.
Читать дальше →

Оптимизируем интерфейс Windows XP на нетбуках

Reading time2 min
Views18K
Оптимизированный интерфейс Windows XP

Сейчас пошла мода на так называемые нетбуки — ноутбуки, маленькие по размеру и с довольно слабой аппаратной начинкой, но зато — дешевые. Вот и я поддался соблазну и приобрел пару месяцев назад1 такую машинку: ASUS eee PC. Один из минусов компактности у этой машинки — маленький экран. Причем, мала как диагональ экрана, так и физическое разрешение: всего 800 х 480 точек. Из-за этого многие окна программ просто не влазят в экран и чтобы как-то оптимизировать работу, я стал настраивать графическое оформление системы. Во-первых, зачем нужны такие громоздкие заголовки окон, во-вторых, зачем оставлять в панельках инструментов столько свободного места? Незачем, посчитал я и принялся искать замену стандартному голубому оформлению Windows XP2.
Читать дальше →

Пытаюсь вспомнить — что за flash видео-плеер недавно оччень хвалили на Хабре?

Reading time1 min
Views650
Помнится, в ноябре-декабре был пост, посвященный flash-видео-плееру, причем с очень позитивными отзывами. Найти не могу, вспомнить тоже… Поможете?

PS. Приглашаю в новый блог, для таких вот как я… Склеротиков Забывчивых :)

Upd.
Статья найдена, речь шла про плеер Uppod.
Скромная благодарность уходит пользователям Wentix и myrmecophaga.

Кроме того, блог, похоже, имеет право на жизнь — менее, чем за сутки имеет место быть сотня забывчивых (или наоборот — с идеальной памятью) подписчиков. Опять же, идея оказалась вполне жизнеспособной — ответ на поставленный вопрос удалось получить в течение двадцати минут, за что — огромное спасибо :)

Набор PHP-функции для создания user-friendly интерфейса на русском языке

Reading time7 min
Views1.4K
Почти в каждом своем проекте я использую набор функций, которые делают сайт чуточку приятнее для глаза и удобнее для восприятия. Эти функции я частично позаимствовал в разных местах и частично написал сам. Наверняка, многие используют подобные, но я решил все же поделиться — возможно, кому-то они будут полезны.

Они умеют склонять существительные по числовому признаку, выводить дату с нормальными русскими названиями месяцев и выводить дату в удобочитаемом человекопонятном виде (вчера, позавчера, 2 дня 3 часа и 2 минуты назад, через 1 год и 2 месяца и т.д.).

Использовать их можно примерно так:
<acrnonym title="<?php print r_date($timestamp'j M Y в H:i'false); ?>"><?php print human_date($timestamp2false);?></acronym>
<acrnonym title="<?php print r_date($timestamp'j M Y в H:i'); ?>"><?php print human_date($timestamp);?></acronym>


Это вернет примерно такой результат:
<acrnonym title="2 января 2009 в 23:39">1 день назад</acronym>
<acrnonym title="2 января в 23:39">Вчера</acronym>

(Хабр обрезает тег <acronym>)

И вот так:
<?php
$count 
10;
printf('%d %s'$countdeclension($count, array('комментарий''комментария''комментариев')));
?>


Это вернет:
10 комментариев

Читать дальше →

PHP класс для сборки инклюдов в один файл

Reading time2 min
Views1.1K
по мотивам коммента mocksoul из темы PHP: Введение в Zend Framework

Проблема


В кратце, речь шла о том, что одним из недостатков фреймворка является его концепция «один класс – один файл». И хотя, с моей точки зрения, это не является недостатком архитектуры ZF, это является недостатком PHP. Проблемы начинаются когда PHP начинает инклюдить десятки и сотни файлов, да еще проверять их на once.

Предложенное решение – сборка всех инклюдов в один файл.
Читать дальше →

Ускоренное выключение\включение Windows XP

Reading time3 min
Views20K
*Перенесено из песочницы, спасибо за инвайт :-)
Привет!
Я вот честно, искал в поиске подобную тему, но не нашёл. Сегодня я хочу рассказать вам про то, о чём я узнал случайно и даже немного возмутился. Оказывается у 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
Читать дальше →

Поиск по блогам на Хабре

Reading time1 min
Views670
За последнее время Хабр очень сильно вырос. При создании очередного топика у меня возникла необходимость поискать по названиям блогов на хабре. У самого хабра такой возможности нет, но эту проблему можно решить с помощью Google.

Итак, открываем google.com и пишем такой запрос:

site:habrahabr.ru inurl:blogs intitle:Блог intitle:Хабрахабр intitle:Программирование

Где вместо слова «программирование» нужно вставить искомое слово

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity