Как стать автором
Обновить
4
0
deespater @deespater

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

Отправить сообщение

PHPUnit. Часть 04 Тестовые окружения (Fixtures)

Время на прочтение9 мин
Количество просмотров25K
Предисловие переводчика
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2, Часть 3,


Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии4

PHPUnit. Автоматические тесты

Время на прочтение4 мин
Количество просмотров63K
Предисловие переводчика:
Недавно начал изучать PHPUnit (framework семейства xUnit) и с удивлением обнаружил, что на русском языке нет статей про автоматические тесты для самых-самых чайников.
В первой главе документации по PHPUnit на примерах очень доступно рассказывается, что такое автоматическое тестирование.


Даже хорошие программисты допускают ошибки. Разница между хорошим программистом и плохим заключается в том, что хороший программист как можно чаще использует тесты, чтобы найти свои ошибки.
Чем раньше Вы начнете тестировать, тем выше Ваши шансы найти ошибку, и тем ниже цена исправления.
Это объясняет, почему откладывание тестирования до момента передачи программы заказчику является очень плохой практикой. Большинство ошибок так и не будет найдено, а цена исправления станет такой высокой, что Вам придется составить большой график работы, т.к. сразу Вы не сможете их все исправить.
Читать дальше →
Всего голосов 41: ↑25 и ↓16+9
Комментарии31

PHPUnit. Часть 03 Написание тестов для PHPUnit

Время на прочтение9 мин
Количество просмотров50K
Предисловие переводчика
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2

Пример 4.1 демонстрирует как с помощью PHPUnit можно выполнить тестирование операций с массивами PHP. В этом примере показаны базовые соглашения и шаги, свойственные тестам PHPUnit:
Читать дальше →
Всего голосов 31: ↑23 и ↓8+15
Комментарии12

Установка и настройка rTorrent в Debian

Время на прочтение6 мин
Количество просмотров64K
Torrent file iconDebian logorTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем (о Transmission я уже написал несколько ранее). При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления. Именно об установке и настройке всего этого я и хочу рассказать на этот раз.
Читать дальше →
Всего голосов 71: ↑57 и ↓14+43
Комментарии35

WineGame — программа для подготовки Wine и установки в него приложений

Время на прочтение2 мин
Количество просмотров3.9K
WineGame — это программа (написана на Qt4.6/C++) для легкой установки игр и приложений в Wine.

Читать дальше →
Всего голосов 51: ↑42 и ↓9+33
Комментарии54

Nivo Slider — jQuery Image Slider

Время на прочтение1 мин
Количество просмотров651
Nivo Slider — весьма интересный слайдер картинок.

image

Возможности:
  • 9 эффектов смены картинки
  • простота использования
  • настраиваемые параметры
  • встроенная навигация
  • упакованная версия 5 кб
  • бесплатен, лицензия GPL

По заверениям разработчиков работает в браузерах —
Internet Explorer v7+
Firefox v3+
Google Chrome v4
Safari v4

Проверил — на Opera — также работает.
Пошел прикручивать красавца ;-).
Всего голосов 81: ↑72 и ↓9+63
Комментарии25

25 советов по улучшению вашего кода jQuery

Время на прочтение15 мин
Количество просмотров29K
Это перевод статьи, написанной Jon Hobbs-Smith. Я счел ее довольно интересной и решил выложить в своем блоге, а также поделиться им с хабрапользователями, также как и я заинтересованными в библиотеке jQuery. Перед тем как начать хочу отметить, что написана она (как и переведена) далеко не экспертом в jQuery, поэтому если вы найдете в ней ошибку, пожалуйста, сообщите. Итак, начнем.
Читать дальше →
Всего голосов 97: ↑86 и ↓11+75
Комментарии78

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

Время на прочтение10 мин
Количество просмотров147K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Всего голосов 214: ↑200 и ↓14+186
Комментарии131

Защищаем SSH от брутфорса на любом порту

Время на прочтение3 мин
Количество просмотров113K
Сегодня меня заинтересовал опрос надо ли перевешивать SSH на нестандартный порт. Сам опрос не так интересен как способ автора zivot_je_cudo защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, видимо, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться своим способом противодействия брут-форсу, который применяю уже несколько лет. Он имеет два преимущества:
— дает мне больше попыток для набора правильного пароля
— но при этом блокирует брутфорсеров «навечно».

Как можно достичь этих двух противоположных целей?
Читать дальше →
Всего голосов 114: ↑106 и ↓8+98
Комментарии139

Когда картинка красноречивее 1024 слов – прототипирование с MockingBird

Время на прочтение2 мин
Количество просмотров7.2K
image Для написания ТЗ я задался вопросом поиска простого и удобного средства создания прототипов веб-страниц. Хотелось чего-то бесплатного и в онлайне, некой альтернативы Axure. Такой сервис удалось найти, его я и предлагаю вашему вниманию. Итак, встречайте www.gomockingbird.com – сервис, позволяющий создавать очень красивые прототипы легко и удобно.
Помимо представления самого сервиса, этим постом хотелось также привлечь внимание общественности к полезной практике прототипирования.
Читать дальше →
Всего голосов 137: ↑129 и ↓8+121
Комментарии54

Symfony2 Routing. Что новенького?

Время на прочтение6 мин
Количество просмотров5.8K
Недавно вышла Symfony 2 Preview Release. Я хочу рассказать какие изменения претерпела система роутинга во второй ветке фреймворка.
Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии19

Routes. The Beginning

Время на прочтение7 мин
Количество просмотров18K
Роуты в рельсах очень важная вещь. Но до поры до времени можно даже не обращать внимание на них. Особенно если вы пользуетесь командой scaffold, которая автоматически все прописывает. Но в какой-то момент появляется необходимость создавать нестандартные роуты. Это значит самое время залезать в файл routes.rb в папке config вашего проекта.

Что такое роуты


Роуты — это система маршрутов (путей, url'ов) на вашем сайте. Благодаря роутам мы можем иметь красивые и ясные для пользователей ссылки. Введя ссылку вроде mysite.ru/articles/2008/november/13 мы получим все статьи за 13 ноября 2008 года, а по ссылке mysite.ru/shop/shoes получим каталог обуви из вашего магазина. При всем при этом, структура каталогов сайта никак не изменяется. В любой момент мы можем изменить роуты не трогая расположение самих файлов. Но чтобы все это работало нам необходимо настроить роуты.
тут есть хабракат
Всего голосов 45: ↑40 и ↓5+35
Комментарии34

Страшные сказки про PHP5, рассказанные на ночь…

Время на прочтение3 мин
Количество просмотров2.6K
1) Какой бы ерундой вы не занимались с PHP, узкое место _всегда_ — БД. PHP — он как Буратино — тупОЙКАк… дрова. Lighttpd и Nginx позволяют разнести его по множеству физических серверов на раз без шума и пыли. Зарплата адекватного спеца по PHP в Москве — 30-45 тыс. рублей в месяц, стоимость аренды нормального сервера — от 3 тыс. рублей в месяц. А вы не знали ;)?

2) Какой бы ерундой вы не занимались — 30-60% производительности (возможно и больше) PHP-кода решит правильно выбранный и настроенный акселератор.

3) Серебряной пули нет. Не важно, какой концепт вы применяете — строгое ООП (в стиле Zend Framework), функции в стиле PHP4 (или ограниченное ООП) или вообще лапшу в стиле «PHP для чайников» — ни одна из этих парадигм не даст ощутимый прирост производительности, если конечно ваши программисты не выше как минимум на голову.
Читать дальше →
Всего голосов 182: ↑154 и ↓28+126
Комментарии287

40 советов по оптимизации вашего PHP-кода

Время на прочтение4 мин
Количество просмотров56K
Всем доброго времени суток.

Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.

  1. Если метод может быть статическим, объявляйте его статическим.
  2. echo быстрее, чем print.
  3. Передавайте в echo несколько параметров, вместо того, чтобы использовать конкатенацию строк.
  4. Устанавливайте максимальное количество проходов ваших циклов for до цикла, а не во время его выполнения.
  5. Удаляйте свои переменные для освобождения памяти, тем более, если это большие массивы.
  6. Остерегайтесь магических методов, таких как __set, __get, __autoload.
  7. require_once дорого обходится.
  8. Указывайте полные пути в конструкциях include/require, меньше времени будет тратится на поиск файла.
  9. Если вам необходимо определить время, когда скрипт был запущен, используйте $_SERVER[’REQUEST_TIME’] вместо time().
  10. Старайтесь использовать strncasecmp, strpbrk и stripos вместо регулярных выражений.

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

Строительные блоки Ruby

Время на прочтение13 мин
Количество просмотров19K
Хвастаясь классными особенностями Ruby перед непосвященными (или перед партнером по языковому спаррингу), возбужденный рубист часто хватается за «мощный синтаксис блоков» в Ruby. К сожалению, для питониста или джависта остаются непонятными возможности пресловутого «мощного блочного синтаксиса» из-за отсутствия соответствующих механизмов в их языках.

Начнем с того, что мы обычно указываем на Rake, RSpec или Sinatra в качестве примеров удивительного использования блочного синтаксиса:
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии46

Test Infected

Время на прочтение5 мин
Количество просмотров4.6K

Все, все будут писать тесты


Уже 3 года прошло, с тех пор как я увидел свою первую красную полоску. Что меня дернуло начать писать тесты, уже не важно. Я начал собирать информацию, перечитал весь wiki.agiledev.ru и торжественно запустил свой первый тест на SimpleTest. Конечно, эти тесты были ужасны, да и архитектура тоже (в моем сегодняшнем понимании). Тогда я, наверное, словил большинство ошибок, но зато замечательно провел время :)

Потом перешел на PHPUnit — просто было интересно, чем он отличается от SimpleTest и что в нем такого «навороченного».
А lime — гадость. Чего ребята из Symfony в него так вцепились? Понимаю ветка 1.*, наследие и все такое. Но 2.0 можно было бы и на PHPUnit начинать.
Да, мне это было интересно. Я активно писал тесты, даже честно пытался делать это перед тем, как писать код. Что-то не получалось, читал разные статьи на тему, как надо и не надо писать тесты, перечитывал wiki.agiledev.ru. Но внутри явно чего-то не хватало.
Читать дальше →
Всего голосов 65: ↑55 и ↓10+45
Комментарии40

Mac OS X в эмуляторе QEMU под Linux

Время на прочтение2 мин
Количество просмотров27K
Здравствуйте хабровчане. Недавно понадобилось писать на Objective C под Mac OS X. Железо у меня не самое подходящее для всяких сборок, да и сидеть полностью в этой ОС религия не позволяет. Решил поставить Mac OS X в на виртуальную машину Qemu в Linux.
Читать дальше →
Всего голосов 94: ↑89 и ↓5+84
Комментарии41

Ogre 3D. Серия обучающих статей. Выпуск 1

Время на прочтение3 мин
Количество просмотров21K
В топике прозвучала просьба написать какие-нибудь статьи про Ogre 3D.
В первой статье я расскажу о установке Ogre и создании простейшего приложения использующего Ogre.
Читать дальше →
Всего голосов 51: ↑43 и ↓8+35
Комментарии11

Cisco. Второй выпуск. Используем Packet Tracer 5.0 для моделирования сети. Скринкаст.

Время на прочтение2 мин
Количество просмотров28K

Сегодня в выпуске:


Packet Tracer 5. Изучаем возможности программы.
Выпуск выполнен в виде скринкаста.
За 20 минут вы познакомитесь с основными функциями PT5.

image

На повестке дня:

Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии62

Информация

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