Здесь решил составить список моих познаний в тех областях, которые меня интересуют больше всего.
Со временем будет пополняться (надеюсь).
-
Linux и системное администрирование:
- Linux:как таковой
- Ubuntu - сам использую в качестве основной ОС на десктопе/рабочей станции.Настраивал и использую в качестве веб-сервера. Многих знакомых подсадил на десктоп.
Debian - настраивал и использоавл на веб-сервере.CentOS - настраивал ииспользовал на Development сервере.
-
LAMP (Linux Apache MySQL PHP): ставил, настраивал, виртуалхосты там всякие, учетные записи, PHP отладчики и кешеры... Теперь апач не использую т.к. предпочитаю Nginx. - NGINX: fcgi, proxy, uWSGI виртуалхосты, балансировка, кеширование, url-rewrite
- Gitolite: установка, настройка, разграничение доступа, интеграция с Redmine
- bind9 (named): установка, простейшая настройка
- OpenVPN: настройка, маршрутизация, ключи
- Bacula: установка, настройка.
- SphinxSearch: установка, настройка (см. так же в разделе PHP)
- PostgreSQL: установка, настройка (!!!). Весьма хорошо разбираюсь. При разработке отдаю предпочтение этой БД.
- uWSGI: установка, настройка.
- RabbtMQ: настраивать - то особо нечего
- Redis: немного
- MongoDB: досталась в качестве legacy, выпилил везде где можно
- debhelper: умею собирать DEB-пакеты
-
Windows: хорошо разбираюсь, но усиленно стараюсь забыть как страшный сон
- Linux:как таковой
- Программирование (работаю в Emacs под Ubuntu):
PHP: с PHP завязал. Предпочитаю Python.- ООП
- Архитектура Контроллер - Модель - Представление (MVC)
- Smarty (уже не использую, предпочитаю XSLT)
- DOM, XML, SimpleXML, XSLT, XPath
- SOAP
- GD2, Image Magick
- PDO, MySQL, Memcache
- SphinxSearch - помимо обычного поиска реализовывал довольно продвинутые поисковые техники вроде Suggest, коррекция опечаток и группировка результатов по категориям
- Отладка, профилирование, трассировка PHP скриптов (xdebug, KCachegrind, Eclipse)
- JavaScript:
- FireBug использую на полную катушку
- Работа с "чистым" JavaScript, DOM
- jQuery
- Knockout.js - интерактивные data-driven интерфейсы. Очень нравится.
- D3.js - хорошая библиотека для визуализации данных
- Socket.IO (на сервере - Python; в следующий раз взял бы SocksJS)
MooTools немногоYUI немногоRaphaël - работа с SVG
- Python:основной язык.
- Djangoв основном Python использую с Django (модели/ORM, формы, шаблоны, авторизация (в т.ч. через LDAP) Middleware, настройка веб-сервера под uWSGI/Nginx, django-rest-framework, django-nonrel)
- Twisted (не очень много работал, есть опыт интеграции с QT; довольно интересная штука, но в целом не нравится)
- Tornado - сойдет, если приложение очень простое
- SQLAlchemy - очень мощная ORM, нравится.
Pylons - (SQLAlchemy, mako, кеш в Redis) есть явные плюсы и явные минусы. В целом - довольно много недочетов.- Flask - (SQLAlchemy + alembic, Jinja2, WTForms) очень гибкий фреймворк, но приходится слишком много писать самому.
- Celery - весьма интересный обработчик отложенных задач, но ужасно глючный. Приходится активно использовать.
- gevent- неплохаяштука, но не мейнстрим. Довольно большой опыт использования в качестве HTTP-паука. Предпочитаю Erlang.
- Приложения с GTK GUI (Glade, PyWebKit) и Qt (PySide, PyQt4)
- Работа с DBus и прочим Linux-desktop окружением
- Сетевые приложения (HTTP, сокеты)
- Многопоточные приложения (очереди, блокировки и пр.), работа с дочерними процессами (subprocess)
- Неблокирующие сокеты (asyncore, epool, Twisted, TornadoWEB)
- Работа с XML и DOM, XPath(lxml)
- Работа с MySQL, PostgreSQL, Sqlite3 базами данных
- Работа с AMQP (RabbitMQ) - синхронно и асинхронно, библиотеки pika, puka. Exchanges, routing etc довольно плотно.
- Работа с изображениями PIL - немного
- Numpy - немножко
- PyGame - немного
- AST - из интереса написал неполный транслятор Pyhton кода в JavaScript
- Scrapy - веб-краулер
- Реализовал на Python ОЧЕНЬ МНОГО Пауков/грабберов/краулеров + клиентов для различных API
- Юнит-тесты
- Отладка, профилирование, отладка потребления памяти (Eclipse, cProfile, pyprof2calltree, KCachegrind)
- Erlang/OTP: Очень нравится, планирую использовать как можно чаще.
Писал веб-приложение для конкурса(писал почти без OTP; использовал MochiWeb, Django Templates,PostgreSQL /в т.ч. epgsql_pool/, работа с сервером SphinxSearch через MySQL протокол)- Дописал движок XPath для mochiweb_html
- Интерпретатор jsonpath
- Написал сложного веб-паука, успешно заменил им в продакшне предыдущую реализацию на Python (OTP; lhttpc, mochiweb_html, mochiweb_xpath, epgsql + poolboy, AMQP)
- Вообще несколько web-crawler и ботов различной сложности и нагруженности написал на Erlang
- Запустил сервис временной почты DropMail.me(gen_smtp, cowboy, erlydtl)
- C + Linux: на среднем уровне
- GTK+, Glib, GObject, DBus - значительная доработка и поддержка L2TP vpn плагина к NetworkManager
- pthread, sigaction, неблокирующие сокеты - значительная доработка высокопроизводительной утилиты нагрузочного тестирования веб-сервера "wrk"
- Rust:в реальных проектах пока не применял, но язык очень понравился.
- SQL: есть опыт работы с MySQL, PostgreSQLи SQLite, немного MSSQL. Предпочитаю PostgreSQL. SQL люблю.
- Обычные (и не очень) запросы
- Немного реляционной теории и теории множеств
Хранимые процедуры- Транзакции
- Представления (Views)
- R: немного работал с ним, классная вещь
- ggplot2 - сложные настраиваемые графики
- data.table - расширенный data.frame (продвинутая круппировка, быстрая сортировка и фильтрация)
- db - экспорт данных из БД
- bash: куда-ж без него
- Makefile: иногда очень полезен
- Elisp: в Emacs без этого никак...
- XML, DOM
XSLT ОЧЕНЬ МНОГО на нем делал всяких вещей, в том числе HTML/XHTML шаблонизация на XSLT.
-
Командная работа и контроль версий
- GIT репозиторий, gitolite, GitHub
- Mercurial работал с ним, Git нравится больше
-
SVN через git-svn -
Bazaar - вел один проект на Launchpad. Не нравится. - Redmine, в т.ч. установка и настройка самого Redmine
- GitLab есть опыт разворачивания и настройки.
-
Верстка
- Умею, но, по возможности избегаю, т.к. не особо люблю это дело.
- Графика и дизайн:разве что наброски какие-то
- GIMP.
- В векторе SVG Inkscape
-
Веб - фреймворки/CMS:
- Django (см раздел Python)
- Flask
-
Pylons (sqlalchemy понравилось, остальное - нет) -
WordPress (довольно глубоко приходилось залезать. Есть опыт создания тем)
-
Сторонние API
- Службы Google для доменов (Google apps,http://www.google.com/apps/)
- YouTube API ("API данных" через Zend GData и "API проигрывателя" через JS)
- Google Analytics "Data Export API" (через PHP библиотеку gapi, на другом месте работы похожее реализовал на Python)
- Google Base API (аналог Яндекс-маркет) через Python библиотеку (даже патчик им отослал)
-
eBay SOAP/XML API (будь оно неладно) - Facebook social graph API (через Python обертку - совсем немного)
- Vkontakte desktop API (делал Open Source плагин для Gwibber на Python), разрабатывал игру для Vkontakte
- Twitter REST API (совсем немного)
-
Планы на будущее:
- Пощупать Haskell (??)
- Научиться работать с нейросетями
- Научиться программировать микроконтроллеры
Для полноты ощущений добавь в раздел CMS ModX 🙂
Капча зачетная.
С ModX я поработать пока не успел, но, думаю, в ближайшее время и он появится в этом списке!
А капча обычная ReCaptcha api
Я начинаю работать с Python. Работаю с примером из одной книги, но почему-то не работает. Нужно получить список лэптопов из категорий сайта eBay. Вы не могли бы мне подсказать, что я делаю неправильно. Я получила все ключи этого аукциона, внесла их в программу, но не работает. Можно ли переслать Вам файл с программным кодом?
Да, можно. Ответил на почту.
Это сайт сайт.