В начале этой недели запустили в эксплуатацию сервер разработки на платформе LAMP на базе Ubuntu Server 9.04 в офисе компании Вебдока. Смысл сервера разработки в том, что на нём производится непосредственно разработка проектов разработчиками, тестирование и отладка. Так же в любой момент проект разработчика в браузере можно посмотреть любому человеку из офиса не вставая со своего рабочего места, т.к. у каждого проекта для каждого разработчика имеется свой уникальный адрес (url) в сети.
Что же представляет собой сервер разработки? На виртуальной машине был поднят Ubuntu Server. Конфигурация виртуальной машины:
Intel Core 2 Duo 3.0 Ггц;
1Gb RAM;
70 Gb hard drive.
При установке Ubuntu автоматически были настроены LAMP, Postfix и Samba, что меня несказанно порадовало после установки Gentoo. После этого на DNS сервере офиса была прописана зона типа developers.local, в которой была прописана единственная запись типа A – *.developers.local на IP адрес виртуальной машины.
Теперь при обращении на любой из поддоменов developers.local запрос отправлялся на виртуальную машин с LAMP. После этого осталось только создать необходимые виртуальные хосты в Apache для разработчиков. А хосты создаются вида <developer>.<project>.developers.local. Таким образом у каждого разработчика в файловой системе есть своя копия проекта, а при обращении на адрес вида <project>.developers.local мы можем попасть на developer-build проекта, который составляется из ревизий subversion-репозитория данного проекта.
Как происходит работа с проектами?
В нашем случае клиенты-разработчики представляют собой компьютеры на базе ОС Windows. Пользователь обращается на сервер разработки (\\developer-server\<user>) и видит там свой домашний каталог (предварительно необходимо настроить Samba). В своём домашнем каталоге разработчик создаёт каталог projects, в который создаёт ссылки на каталоги с его проектами (виртуальные хосты), на которые у него есть полный доступ. Каталог projects монтируется в ОС как сетевой диск, и теперь этот диск можно использовать как диск с проектами для IDE разработки. Т.к. у каждого разработчика во владении находятся строго индивидуальные каталоги, то и при работе с subversion проблем не наблюдается, можно использовать как командную строку linux через ssh так и TortoiseSVN в качестве windows-клиента.
Что же нам всё это даёт?
Раньше все работали по принципу «весь проект локально», когда на локальной машине разработчика запускался Denwer. Отрицательная сторона такого подхода в том, что для работы проекта используются ресурсы локальной машины, которые можно было бы использовать для более комфортной работы в IDE, или для открытия большего кол-ва вкладок в браузере Собственно, не буду медлить, перечислю весь список плюсов и минусов:
Плюсы.
Быстрое разворачивание проекта;
Настроенное окружение для новых проектов;
Оперативное отслеживание работы разработчиков;
Единое хранилище проектов в разработке;
Нет необходимости настройки LAMP и средств отладки новому сотруднику;
Более быстрая работа проектов при отладке и тестировании;
Отсутствие погрешностей в скорости разработки на «настройку ПО» для разработки;
Удобная синхронизация проекта между разработчиками в пределах одной машины.
Минусы.
Работа по сети, а т.к. у нас в качестве сети используется wi-fi, периодически это является узким местом.
Как видите, всего лишь один минус, но сколько при этом плюсов! __________________________________ Оригинал статьи размещен в моем блоге.
М.б. лучше попробовать держать файлы проекта локально и синхронизировать на сервер тем же rsync'ом или любым иным способом (давно не сидел под Windows)? Это избавит от сетевых проблем, особенно когда нужно запустить поиск по всему проекту. Плюс, можете попробовать вместо самбы использовать sshfs (опять таки не знаю как с клиентами под Windows) по моим тестам работа по сети куда стабильнее.
Да, уже несколько лет держу проект локально, а при изменениях он синхронизируется в одностороннем порядке на сервер разработки. Синхронизация происходит либо через realsync, либо средствами phpstorm, когда что удобнее.
Как так? – подумал, наверное, читатель. А вот так Забегает вчера ко мне в офис дизайнер из соседнего офиса и сообщает забавную вещь, которую он случайно обнаружил в Skype-клиенте. Если пользователь написал сообщение другому пользователю, и хочет его отредактировать или вовсе удалить, пожалуйста, нет проблем. Мы только не поняли насколько новые сообщения можно удалять, потому что одно сообщение, которое было отправлено чуть ранее, не удалялось и не редактировалось, у него вообще не было такой возможности. Да ну?
Наверное у многих была ситуация, когда был файл с кодом на JavaScript, но код в этом файле, мягко говоря, не очень удобно читается. В таких случаях приходилось очень занудно приводить код к более читаемому виду, так как разобраться в нём ну очень надо было. На помощь Вам пришёл Javascript unpacker and beautifier. Не буду описывать, что он умеет, потому что на самом сайте и так всё понятно
В Aptana (у меня под eclipse) такое уже встроено для js, css, xml, html и php В родном редакторе eclipse тоже подобное есть, но как-то не всегда срабатывает.
Недавно обнаружили на одном из разрабатываемых нами проектов, что скорость его работы упала в разы. Монитор производительности показывал оценку равную единице, а иногда и меньше. Статистика выполнения страниц показывала время генерации от 1 секунды и больше, а некоторые страницы вообще отказывались открываться.
Сначала грешили на сломавшийся Apache, т.к. в его логах были записи типа "segmentation fault". На код не грешили никак, потому что, на другом сервере, на котором вели разработку - всё работало как часы.
Есть у меня один сайт (в профиле ссылка), гордость моя Там в базарный день бывает 10-20 человек. Я вообще редко захожу туда (так получается).
Ну это я к чему. Страниц там не так много, соответственно поисковики особо его шерстить не должны. И народу нет...
Ан нет, статистика стабильно в 9:00 - 9:10 утра (очень редко позже) прилетает письмом, которую запускает агент, который в свою очередь стартуется зашедшим роботом.
Это все понятно. Здесь просто ситуация такая видимо вышла, что совсем никто не заходил. А сайт сам пока закрыт для доступа из публички, да и в корне лежит файлик, говорящий роботам "фу".
Есть сайт, на котором в popup-окно (div) ajax’ом загружается некая форма для заполнения пользователем, которая после заполнения так же отправляется средствами ajax. По результатам отправки формы в popup-окно загружается либо результат добавления формы, либо форма с показом ошибок заполнения или добавления результата. Так как сайт реализован на CMS Bitrix версии Бизнес, то, естественно, форму решено было сделать на основе модуля Веб-формы с использованием компонента добавления результата веб-формы в публичной части.
Интересный момент, возникший на этапе реализации. Читать далее...
Уже в который раз, приступая к разработке очередного проекта мы задаёмся вопросом «Internet Explorer 6 будем поддерживать в HTML-вёрстке сайта или нет?». И каждый раз получается так, что поддерживать надо. Потому что, спросив клиента, получаешь вполне логичный ответ «Надо!». Казалось бы, в чём проблема добавляй за это денег к итоговой стоимости проекта и все. Но в конечном итоге мы получаем тонну убитых нерв человека, реализующего очередную модную штучку в IE6 обходными путями и встречающего на своём пути не малое количество багов. Да не только багами, но и не возможностью реализовать те или иные вещи, которые появились в CSS3, в спецификациях клиентских скриптов и т.д.
Пора. Мы отказались от поддержки IE6 на своем сайте. Явные косяки убираем, а если в IE6 что-то немного съезжает, то не тратим силы на исправление. Других дел полно.
Задача по перенаправлению с домена вида yoursite.com на домен вида www.yoursite.com уже давно вошла в привычку многих владельцев сайтов и не раз была решена. Соответственно, и решения можно найти в Интернет'е за 2-4 минуты:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite\.com
RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=permanent,L]
Это нужно прописать в .htaccess сайта. Но что делать если у Вашего ресурса не один адрес, а два? "Написать два варианта" - скажет сообразительный читатель! А если их 50? В моём вчерашнем случае было как раз около 30 доменов. Сначала я так и хотел сделать - перечислить условия для всех доменов ресурса, но моя лень сподвигла меня найти более правильное решение:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www\.)(([a-z0-9_-]+)\.)+\w{2,4}$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=permanent,L]
Если кратко, то здесь условие проверяет домен на соответствие виду www.yoursite.com или www.subdomain.yoursite.com и т.д. А знак "!" говорит о том, что нам нужны домены, которые не попадают под это условие, то есть как раз yoursite.com и subdomain.yoursite.com. После чего происходит редирект на этот домен с добавлением www. __________________________________ Оригинал статьи размещен в моем блоге.
И что Вы хотите предложить? Как бы все домены и ссылаются на один IP, возможно даже через CNAME, в эти подробности я не вдавался, т.к. сомневался, что смотреть надо в ту сторону.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».