Как стать автором
Обновить
32
Карма
0
Рейтинг
Ambyte @Ambyte

Пользователь

  • Подписчики 1
  • Подписки 4

Управление пакетами Python при помощи easy_install

Python *
Инструмент easy_install является модулем набора расширений к distutils языка Python — setuptools. Согласно официальной документации «Easy Install — это модуль Python (easy_install), идущий в комплекте библиотеки setuptools, которая позволяет автоматически загружать, собирать, устанавливать и управлять пакетами языка Python». Пакеты носят название «eggs» и имеют расширение .egg. Как правило, эти пакеты распространяются в формате архива ZIP.
Читать дальше →
Всего голосов 52: ↑38 и ↓14 +24
Просмотры 75K
Комментарии 28

Инструменты для дизайнеров и разработчиков

Разработка веб-сайтов *
Перевод


Предлагаю ознакомиться с небольшим набором инструментов для веб-разработки, которые могут сделать вашу жизнь проще. Все сервисы бесплатны и просты в использовании, но (как обычно) есть и минус – они все на английском, хотя когда и кого это останавливало?)

Смотрим
Всего голосов 155: ↑131 и ↓24 +107
Просмотры 4.5K
Комментарии 41

Быстрый способ протестировать сайт в разных десктопных браузерах

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

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

Однако, всем категориям веб-разработчиков, равно как и их клиентам, полезно иметь не обременяющие средства для кроссбраузерного тестирования.

Самый надёжный способ — поднять несколько виртуальных машин, где всё можно будет досконально протестировать (в том числе потаскать границу окна, поскроллить и уж тем более посмотреть, как работает JS). Но ведь часто требуется просто взглянуть на сайт и понять, всё ли с ним в порядке в целом. Либо предоставить такую возможность заказчику.

Классикой жанра для решения поставленной задачи является веб-сервис:

Универсальный, но долгий browsershots.org


Он позволяет получить скриншот не только из конкретного браузера, но и выбрать его версию и ОС, в которой браузер запущен.

Недостаток один — очередь. Скриншотов нужной страницы можно прождать полчаса и даже больше.
Читать дальше →
Всего голосов 67: ↑55 и ↓12 +43
Просмотры 245K
Комментарии 54

Унарный амперсанд

Ruby *
Расскажу как в Ruby работает такая элегантная конструкция:

User.all.map &:name           # получить массив имен пользователей

вместо

User.all.map { |user| user.name }

Сначала кажется что это свойство перечисляемых классов, но на самом деле это не так.
Читать дальше →
Всего голосов 64: ↑59 и ↓5 +54
Просмотры 4.2K
Комментарии 17

Кладезь полезной информации

Настройка Linux *
«Чем больше я знаю, тем больше понимаю, что ничего не знаю».

Даже если вы уже давно не чайник и не боитесь увеличить относительный уровень своего незнания — попробуйте проделать на своей машине:
sudo apt-get install fortunes-ubuntu-server
а потом просто вызывайте
/usr/bin/ubuntu-server-tip

Многократный мысленный оргазм гарантирован.
Вот просто некоторые примеры:
  • Для создания копии файла без дублирования пути файла используйте команду '$
    cp /long/path/to/file/name{,.orig}', которая создаст копию файла с суффиксом ".orig".
  • Если вы выполнили команду и забыли про 'sudo', вы можете набрать 'sudo !!'
    для вторичного запуска предыдущей команды с использованием 'sudo'.
  • Последующие команды обычно принимают аналогичный аргумент. 'Alt-.' вставляет
    последний аргумент предыдущей команды. Чтение документации рулит!

Приятного чтения!
Всего голосов 180: ↑169 и ↓11 +158
Просмотры 2.2K
Комментарии 111

Ликвидатор велосипедов: часть 2

.NET *
Исходя из того, что первая статья насобирала много плюсов и попала в избранное большого количества человек, я понял что тема актуальна и во-первых призываю подтянуться сообщество (ведь я не могу знать абсолютно все библиотеки и решения), а во-вторых буду продолжать своими силами рассказывать о том какие библиотеки можно подтянуть, если необходимо что-то сделать вместо того чтобы делать все новые и новые велосипеды, состоящие из водопроводных труб.

В этом топике я затрону важную для многих тему — тему рисования графиков в платформе .NET. Вспомните: ведь наверняка когда-то было просто необходимо вывести на экран красивый график… И что происходило? Правильно, появлялся новый велосипед.

Часть первая из серии



Читать дальше →
Всего голосов 85: ↑71 и ↓14 +57
Просмотры 31K
Комментарии 36

Оно шевелится! Живые бэкапы Linux с помощью Remastersys

Настройка Linux *
Tutorial
О резервном копировании можно говорить много и со вкусом, но я не буду играть в Капитана Очевидность. Первые же ссылки в выдаче Google по запросу «Ubuntu backup» расскажут об rsync, partimage, fsarchiver, dd, tar, simple backup. Я потратил много часов, экспериментируя с этими инструментами и переустанавливая систему после неудачных экспериментов. Я хотел найти самый быстрый и простой способ восстановить систему после фатального сбоя и продолжать работать, как ни в чем не бывало. Текст под катом сэкономил бы мне в общей сложности пару рабочих дней, прочитай я его несколько месяцев назад, когда впервые поставил Ubuntu на рабочий ноутбук.
Читать дальше →
Всего голосов 61: ↑50 и ↓11 +39
Просмотры 15K
Комментарии 34

Watir: простой парсинг сложных сайтов

Ruby *
imageКаждый, кто пишет парсеры, знает, что можно распарсить сто сайтов, а на сто-первом застрять на несколько дней. Структура очередного отмороженного сайта может быть сколь угодно сложной, и, когда дело касается сжатых javascript-ов и ajax-запросов, расшифровать их и извлечь информацию с помощью обычного curl-а и регекспов становится дороже самой информации.

Грубо говоря, проблема в том, что в браузере работает javascript, а на сервере его нет. Нужно либо писать интерпретатор js на одном из серверных языков (jParser и jTokenizer), либо ставить на сервер браузер, посылать в него запросы и вытаскивать итоговое dom-дерево.

В древности в таких случаях мы строили свой велосипед: на отдельной машине запускали браузер, в нем js, который постоянно стучался на сервер и получал от него задания (джобы), сам сайт грузился в iframe, а скрипт извне отправлял dom-дерево ифрейма обратно на сервер.

Сейчас появились более продвинутые средства — xulrunner (crowbar) и watir. Первый — безголовый firefox. У crowbar есть даже ff-плагин для визуального выделения нужных данных, который генерит специальный парсер-js-код, однако там не поддерживаются cookies, а допиливать неохота. Watir позиционируется разработчиками как средство отладки, но мы будем его использовать по прямому назначению и в качестве примера вытащим какие-нибудь данные с сайта travelocity.com.

Читать дальше →
Всего голосов 79: ↑65 и ↓14 +51
Просмотры 50K
Комментарии 74

Проверяем отказоустойчивость сайта

Высокая производительность *
Результаты тестирования. Время ответа сервераЭто очередной пост их уже традиционной предновогодней серии про проверку отказоустойчивости сайта и готовности его принять всех ваших посетителей, озадаченных выбором подарков или предновогодними скидками. В этом выпуске я рассмотрю создание тестов в расширенном режиме с использованием записи действий (Proxy recorder), что позволяет почти полностью эмулировать поведение реальных пользователей из реального браузера у вас на сайте. Также немного будет затронута тема анализа самих графиков по отказоустойчивости.
Итак, поехали.
Читать дальше →
Всего голосов 82: ↑67 и ↓15 +52
Просмотры 34K
Комментарии 96

Форки движка MySQL: MariaDB, Percona. who is who?

MySQL *
MySQL стал собственностью Oracle, есть ли альтернативы и как быстро движение вперед?.. Вроде как обобщающего обзорчика «who is who?» еще не было. Итак, обзорчик для тех кто «не в теме»
Читать дальше →
Всего голосов 104: ↑97 и ↓7 +90
Просмотры 78K
Комментарии 85

Google выпускает mod_pagespeed для Apache

Разработка веб-сайтов *
В прошлом году Google в рамках своих инициатив по ускорению веб проектов представила свой инструмент для разработчиков Page Speed. Теперь же для упрощения труда разработчиков и вебмастеров Google предлагает нам новый инструмент.

Сегодня Google представила новый модуль для Apache под названием mod_pagespeed. По словам разработчиков время загрузки страницы удалось уменьшить на 50 процентов, а на отдельных проектах эта цифра значительно выше.

Сравнительная демонстрация с включенным модулем и без него



Ссылка для скачивания

UPD

Модуль представляет из себя набор фильтров, каждый из них и примеры использования представлены и описаны в Документации. Применять и использовать модули следует исходя из потребностей своего проекта, у каждого фильтра есть свои особенности, которые следует учесть при использовании, обращая внимание на раздел «Risks» в их документации.
Всего голосов 107: ↑81 и ↓26 +55
Просмотры 11K
Комментарии 52

Новая версия DriverPack Solution

Я пиарюсь

Дорогие коллеги!


Мы рады сообщить о выходе новой версии программы для установки драйверов DriverPack Solution 10.6!

В процессе работы над новой версией мы выделили два направления: первое — улучшение самой программы, второе — развитие Web-сервисов (сайт: drp.su и сервис: devid.drp.su ).


Наша цель – собрать все драйвера в одном месте.
Читать дальше →
Всего голосов 100: ↑79 и ↓21 +58
Просмотры 1.2K
Комментарии 93

Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL

SQL *
В одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД
Взглянем?
Всего голосов 99: ↑96 и ↓3 +93
Просмотры 141K
Комментарии 41

Индексы в MySQL: многоколоночные индексы против комбинированных индексов

MySQL *
Перевод
Я часто вижу ошибки, связанные с созданием индексов в MySQL. Многие разработчики (и не только новички в MySQL) создают много индексов на тех колонках, которые будут использовать в выборках, и считают это оптимальной стратегией. Например, если мне нужно выполнить запрос типа AGE=18 AND STATE='CA', то многие люди просто создадут 2 отдельных индекса на колонках AGE и STATE.

Намного лучшей (здесь и далее прим. переводчика: а обычно и единственной верной) стратегией является создание комбинированного индекса вида (AGE,STATE). Давайте рассмотрим почему это так.

Читать дальше →
Всего голосов 74: ↑58 и ↓16 +42
Просмотры 110K
Комментарии 57

Решение проблем обработки XSLT на стороне клиента

XSLT *
Вы уже используете XSLT в качестве шаблонизатора на сервере. Настал черёд перенести xsl-трансформацию на клиента. Можно, например, воспользоваться способом описанным в статье На клиенте! Получить XML! Получить XSL! Сделать XHTML! Марш!. Но это было бы слишком просто, потому что каждый браузер добавляет несколько своих нюансов при работе с XSLT.

Вопросы о способе загрузки xsl- и xml-файлов и их обработки в различных браузерах был рассмотрен в указанной выше статье. Рассмотрим другие вопросы:
1) инклудинг;
2) кеширование;

Все примеры опубликованы на этой странице ra-project.net/xsl_tests и работают в браузерах Opera, Chrome, IE6, Firefox, Safari.
Читать дальше →
Всего голосов 39: ↑33 и ↓6 +27
Просмотры 6.2K
Комментарии 40

Ajenti 0.4

Я пиарюсь
За короткий срок мне удалось выполнить почти все ваши, хабраюзеры, заказы на функциональность, и теперь я просто хочу донести до вас новость о выпуске новой версии (осторожно, пост-changelog!).

Традиционная картинка для привлечения внимания:

image
Читать дальше →
Всего голосов 191: ↑181 и ↓10 +171
Просмотры 1.5K
Комментарии 163

Ликвидатор велосипедов: часть 1

.NET *
imageЭтим постом я начинаю серию статей, которые должны помочь каждому разработчику избавиться от велосипедов в своих последующих и текущих проектах. Усилить код и увеличить функционал. Каждый из нас хочет внести в свою программу нечто, что сделает ее богаче, но зачастую решение либо не находится, либо лень тратить время на поиски… Либо внутри сидит глупая уверенность что это можно реализовать быстро и не менее функционально. В любом случае я хочу чтобы каждый пробежался глазами по спискам библиотек, которые я вам предоставлю на суд, и чтобы у каждого эти библиотеки отложились в памяти. И когда их функционал пригодится в будущем, я очень надеюсь что вы вспомните этот пост и поищите эти библиотеки вместо того чтобы писать все новые и новые велосипеды, полные палок в колесах.
Начну я с оконных менеджеров.
Читать дальше →
Всего голосов 119: ↑101 и ↓18 +83
Просмотры 13K
Комментарии 52

Visual Studio 2010 Productivity Power Tools

Visual Studio *
image
Productivity Power Tools это набор расширений для Visual Studio Professional (и выше), которые улучшают производительность разработчиков. В новой версии расширения были добавленные такие вещи:
  • Настройки расширений
  • Solution Navigator
  • Quick Access
  • Обновление и исправление ошибок «Searchable Add Reference», «Document Tab Well» и других расширений.

Много картинок
Читать дальше →
Всего голосов 52: ↑43 и ↓9 +34
Просмотры 6.7K
Комментарии 12

Database Connection Pool

Java *
Добрый день, хабралюди!
2 недели назад я начал работать juior java разработчиком, и, соответственно, получать много нового для себя опыта. Сегодня я решил совместить приятное с полезным и начать этот опыт оформлять в письменные мысли — в виде статей о тех технологиях, принципах и приёмах, с которыми я столкнулся на своём джуниорском пути. Нижеследующая статья — первая среди подобных, и выкладывая её здесь, я хочу, во-первых, понять, нужны ли хабрасообществу подобные вещи — рассказы не умудрённых опытом и сотнями проектов старожилов, а небольшие попытки поделится опытом от джуниора джуниору, — а во-вторых, как обычно, услышать замечания, исправления и критику.
Спасибо за внимание.


Подавляющее большинство современных веб-приложений использует базы данных для хранения информации. Приложение может обмениваться информацией с БД, используя соединение (database connection). Если создавать при каждом обращении к БД, получается проигрыш во времени: выполнение транзакции может занять несколько милисекунд, в то время как на создание соединения может уйти до нескольких секунд. С другой стороны, можно создать одно-единственное соединение (например, используя шаблон "Singleton") и обращаться к базе данных только через него. Но это решение чревато проблемами, в случае высокой нагрузки: если одновременно сто пользователей попытается получить доступ к базе данных используя одно соединение, образуется очередь, что также пагубно сказывается на производительности приложения.

Database Connection Pool (dbcp) — это способ решения изложенной выше проблемы.
Читать дальше →
Всего голосов 49: ↑34 и ↓15 +19
Просмотры 140K
Комментарии 38

Список полезных инструментов для CSS разработчика

Разработка веб-сайтов *
Перевод
Это не попытка создать список всех существующих инструментов для CSS разработки. Только некоторые, наиболее полезные были отобраны и размещены в соответствующих категориях.


Чтобы инструмент был по-настоящему полезен, у него должна быть хорошая документация и дружелюбный интерфейс. К сожалению, некоторые инструменты в списке не полностью попадают под данные критерии. Если кто-то знает лучшие альтернативы с более дружелюбным интерфейсом и большей функциональностью, пишите в комментариях.
Читать дальше →
Всего голосов 179: ↑170 и ↓9 +161
Просмотры 68K
Комментарии 65

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность