tools
Opencart module extract (Linux shell script)
Mодули для Opencart обычно используют одно и то же имя для контроллеров, моделей, view и языковых файлов, поэтому этот скрипт может облегчить задачу по поиску и извлечению всех файлов модуля из рабочей копии магазина с сохранением всей структуры каталогов.
Навеяно модулем http://opencartforum.ru/topic/8272-module-extract-извлечение-модулей/, но мне показалось, что линуксоидам будет проще и удобней одной строкой в шелле это делать (локально или на сервере), без установки модуля в Opencart (установить, разрешить, зайти, найти, скопировать...)
Ни я, ни тот модуль не занимаются анализом PHP-кода и действительно полным выковыриванием всех используемых модулем файлов. Так что результат, конечно, не гарантирует полное и точное извлечение. Но будет работать в подавляющем большинстве случаев.
Как облегчить процесс публикации изменений на сервер
[Git, FTP] Для FTP и shared hosting (без SSH доступа и полноценной консоли)
Рекомендую готовый скрипт: Extract changed files from Git and prepare a deployment (Bash script).
По команде, в которой указывается диапазон коммитов, создаёт папку .deployment с готовым деревом и изменившимися файлами. И список удаленных файлов, которые придётся удалить вручную (если пользуетесь FTP клиентом) или через SSH на сервере (если есть такая возможность).
[Git, SSH] При полноценном хостинге (с SSH доступом)
Судя по всему, у меня сделано один в один как в http://habrahabr.ru/blogs/Git/127213/, поэтому не вижу смысла описывать то же самое. У меня немного отличается структура папок проектов, но это несущественно. Суть проста - на сервере лежит как Git-репозиторий, так и обычная рабочая копия (на которую смотрит веб-сервер). Точнее, на одну из папок репозитория - public_html. Потому что в репозитории хранится ещё документация, служебные скрипты, тестовые и чистые SQL дампы.
И при новых коммитах от разработчиков (git push) репозиторий по хуку делает автоматически две операции - обновление локальной серверной копии (git pull origin dev) и копирование набора файлов из config_sets (здесь у меня хранятся файлы, специфические для разных конфигураций: для одного разработчика, для другого, для dev2-windows, dev2-linux, для production1, production-dev и так далее, если надо ещё больше). Понятна идея? Требуемый набор конфигов просто перезаписывается поверх того, что есть в репозитории (а туда могут попасть и локальные конфиги девелоперов, если они не исключены через .gitignore), и получается чистая и настроенная конфигурация. Быстро, без чек-листов, ручных проверок-исправлений и условий-ветвлений с множеством девелоперских конфигов (зачем они на сервере?).
Естественно, на сервере настроено использование SSH-ключей, чтобы избавиться от необходимоси ввода пароля после git pull.
Есть, конечно, мелкие особенности - за неделю мы уже наступили на пару граблей и может это стоило бы описать.
См. также
[PHP, FTP] Web based FTP Sync Tool written in PHP. Есть возможность запрещать синхронизацию для отдельных файлов/папок.
Первичные настройки Git
Представляемся надолго, чтобы коммиты не были ничейными:
git config --global user.name "Your Name Comes Here" git config --global user.email you@yourdomain.example.com
Облегчаем визуальное восприятие изменений:
git config --global color.diff auto git config --global color.status auto git config --global color.branch auto git config --global color.ui auto
Не забываем про заплетающиеся пальцы (вы способны быстро набрать "status" без опечаток?! Раз 50 в день?!?! Ого!):
git config --global alias.st status git config --global alias.ci commit git config --global alias.co checkout git config --global alias.logd 'log --oneline --graph --decorate' git config --global alias.logst 'log --stat=140,100' git config --global alias.bav 'branch -av'
И не забывайте про существование возможности авторизоваться на гит-сервере с репозиториями с помощью своего публичного SSH ключа: пара генерируется один раз, публичный ключ раздаёте тем, кто должен вас узнавать и пускать без стука, и забываете про ввод паролей.
Если нужен gitk, то перед вторым запуском (первый под Линуксом нужен, чтобы слегка удивиться, проморгаться и взбодриться) исправьте в ~/.gitk интерфейсные шрифты:
set mainfont {{andale mono} 9}
set textfont {{andale mono} 9}
set uifont {clean 10 bold}
set tabstop 4
Хотя это в принципе и через GUI сделать можно.
Eclipse PDT и Ubuntu
Eclipse - монстрообразинко. Шевелится неторопливо, интерфейс разлапистый и на любителя. Сперва поставил полный (sudo apt-get install eclipse), а из него - последний доступный PDT (3.x.x) через Help - Install new software. Получил постоянные ошибки при попытках открыть PHP файлы, доустановил какой-то WST (на него были намёки в сообщениях об ошибках). Никаких изменений в лучшую сторону.
Вчера не выдержал, удалил всё и попробовал ограничиться малым: оставил только минимум эклипса (sudo apt-get remove eclipse && sudo apt-get autoremove && sudo apt-get install eclipse-platform), а PDT взял с Galileo репозитория (там только 2.x.x какая-то версия доступна, слово Galileo присутствовало на заставке Эклипса при запуске, хотя второй репозиторий не сам же собой появился). Наконец-то после всех его рестартов увидел Эклипс в работоспособном состоянии. Хотя на некоторых PHP файлах его всё равно плющит (например, он не может открыть index.php из приложения Yii фреймворка).
Поживёт пока. Знакомство с Yii Framework пока только добавляет плюсов к впечатлениям о CodeIgniter. С Eclipse пользоваться и изучать Yii и всю его перенавороченную иерархию странностей будет полегче, надеюсь.
chive - MySQL database management tool
Chive, alternative to PHPMyAdmin World Gone Web : World Gone Web
http://www.worldgoneweb.com/2010/chive-alternative-to-phpmyadmin/
chive - MySQL database management tool
http://www.chive-project.com/
Chive is a next generation MySQL database management tool. The web-based user interface supports most of the common operations needed by software developers and database admins (databases, tables, indices, keys, triggers, views, routines, privileges management, import/export).
Chive aims to be an alternative to phpMyAdmin.
Features | chive - MySQL database management tool
http://www.chive-project.com/Features
Opera Dragonfly не работает без интернета? Исправляем
Opera Dragonfly (инструмент для веб-разработчиков) в какой-то момент стала веб-приложением и без наличия интернета нельзя воспользоваться удобным инструментарием. Что весьма неудобно, если вы любитель отлипнуть от розетки и кодить где-то, сидя с ноутбуком.
Ситуацию, однако, можно исправить. Для этого надо установить Dragonfly локально, скачав архив с http://dragonfly.opera.com/app/zips/ и указать местоположение файла client-en.xml в настройках Developer Tools.
По умолчанию там адрес https://dragonfly.opera.com/app/
См. также:
- Gary Walsh - Use Dragonfly Offline (updated) (20 Nov 2009, Opera 10)




