Pull to refresh
0
0
necromant2005 @necromant2005

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

Send message

Continuous integration для php

Reading time9 min
Views14K
Эту статью написал мой добрый приятель и бывший коллега fred, работающий в команде программистов над большим и сложным проектом, который должен работать 24х7. Если кто-то решит пригласить его на хабр — с удовольствием вышлю его email по хабрапочте. Пожелания и комментарии приветствуются, а я обязуюсь передавать ответы автора в меру своих возможностей.

Меня давно посещала мысль запустить CI-сервер для рабочего проекта. База модульных тестов уже достаточно внушительных размеров, а количество людей в проекте немного увеличилось. Можно было бы наблюдать за тем, как изменяется покрытие тестами кода и соблюдаются стандарты кодирования. И наказывать провинившихся. Шучу.
Некоторое время назад была прочитана книжка Непрерывная интеграция. Улучшение качества программного обеспечения и снижение риска и статья Quality Assurance Tools for PHP, которые и послужили отправной точкой.
Читать дальше →
Total votes 82: ↑77 and ↓5+72
Comments44

jQTouch выпускает новую версию мобильной доброты

Reading time1 min
Views2.8K
Мы писали о jQTouch, основанном на jQuery iUI-подобном наборе средств, созданном Давидом Канедою (David Kaneda).

Сегодня они выпустили новую версию, которая улучшает их расширяемую систему нижеследующим:
  • Улучшенный переход к 3D-перевороту (improved 3D flip transition)
  • События обратного вызова (callback events) для всех переходов между страницами, сильных тычков (swipe events), изменений ориентации
  • Прилагаются демонстрации: Часы, To-do, Главное функциональное демо
  • Темы: в настоящее время есть темы Apple и jQTouch (серого цвета)
Читайте далее о том, как начать действовать, и об API обратного вызова.

[jQTouch]
Total votes 35: ↑24 and ↓11+13
Comments14

Первый пак футболок для хабранарода

Reading time1 min
Views688
На днях от скуки начал перелистывать страницы хабра. наткнулся на очень интересные концепты для футболок. и решил внести свою лепту. если хорошо воспримется то будет продолжения.
вот собственно смотрим.



Смотреть дале
Total votes 134: ↑110 and ↓24+86
Comments125

Что такое анти-паттерны?

Reading time9 min
Views140K
Анти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
Да, рассмотрим!
Total votes 157: ↑147 and ↓10+137
Comments103

Дебаг в Zend Framework с использованием FirePHP

Reading time4 min
Views2K
Zend Framework and FrePHP

Есть одно правило — не показывать заказчику debug информацию, для этой цели обычно существует две конфигурации, но если заказчик очень любопытен, либо Вам, из эстетических побуждений, хочется скрыть килобайты дебаг информации? В этих благих намерениях нам поможет FirePHP.
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments8

IMemcacheClient: нереляционность как религия

Reading time2 min
Views937
Никакой проект не обходится без базы данных. Мы привыкли видеть в ней хранилище множества связанных объектов, с множеством условий. Это бесспорно очень удобно, но в силу разных обстоятельств, в нагруженной системе, чаще всего приходится прибегать к другим методам, т.к. кол-во выборок и транзакций ограничено современным железом, а запросто распределить на несколько серверов не получится. В ряде случаев можно использовать репликацию, но и это не паноцея на данный момент.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments3

Системы рекоммендаций: введение в гибридные системы

Reading time6 min
Views2.8K
Системы рекомендаций:
Советы от машины
Холодное начало
— Введение в гибридные системы
искусственные имунные системы и эффект идиотипов


Продолжим с того момента, на котором мы остановились в прошлый раз: мы рассмотрели несколько способов решения проблемы холодного начала, теперь я предлагаю рассмотреть другие проблемы систем рекомендаций (далее просто СР) и подумать, как разные типы СР могут дополнять друг-друга. Сразу оговорюсь, что я не буду подробно рассматривать способы решения той или иной проблемы. Цель этой статьи — лишь помочь разработчикам ориентироваться в разновидностях СР и в связанных с ними проблемах.

Для начала все-таки придется дополнить классификацию СР. Przemyslaw Kazienko и Pawel Kolodziejski предложили разделить все СР на пять типов: статистические, коллективные, ассоциативные и информационные. Начнем с самых простых.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments10

Системы рекомендаций: холодное начало

Reading time4 min
Views4.1K
Системы рекомендаций:
Советы от машины
— Холодное начало
Введение в гибридные системы
искусственные имунные системы и эффект идиотипов


Для успешного применения систем рекомендаций критически важно иметь большой объем справочных данных. Но что делать, если нужных данных совсем нет, или не достаточно? Такое состояние называется холодным началом (cold start). Например, на сайте зарегистрировался новый пользователь, и система еще ничего о нем не знает. Или в магазине появился новый товар, который никто никогда не покупал и не оценивал. Или совсем плохо, система только начала свою работу и данных у нее нет вообще. Посмотрим, что можно сделать в таких ситуациях.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments10

Делаем gem для RubyGems

Reading time3 min
Views2.7K

Собираем камешки для Ruby


Зачастую бывает так, что таскаешь из проекта в проект какие-то куски кода. Такие куски очень удобно выносить во внешние файлы, модули. Для этого в Ruby существует RubyGems — менеджер приложений и библиотек, оформленных в один файл-пакет — gem. И собрать такой гем, а главное, сделать его доступным для любой машины, подключенной к интернету, оказалось очень просто.

Итак, gem за пол-часа
Total votes 32: ↑27 and ↓5+22
Comments17

SVN merge for dummies

Reading time7 min
Views29K
Простыми словами и с большим количеством картинок на примере Eclipse рассказывается, как сделать svn merge. Статья будет полезна тем, у кого выполнение слияния веток еще не стало повседневной частью работы.
читать дальше
Total votes 18: ↑17 and ↓1+16
Comments8

Обзор Zend_CodeGenerator

Reading time10 min
Views657
Как многим уже известно Zend_CodeGenerator появился в бете 1.8 Zend_Framework
Я хотел было потерпеть до релиза версии 1.8, но не удержался и решил всё таки попробавть «на зубок».
Мы будем генерировать класс формы на основе mysql таблицы.
Это действительно очень удобно и избавляет нас от порой рутинной работы.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments11

Как оформить своё дело (в Украине)

Reading time7 min
Views11K
В этом посте я написал длинный текст о том как:
  • оформиться в Украине
  • стать физическим лицом-предпринимателем
  • платить единый налог
  • упростить себе жизнь при помощи интернет отчётности

Я описываю свой личный опыт. Простите за возможные ошибки. Навеяно этим постом
Исходные данные такие: Украина, удаленная работа с иностранным заказчиком, разработка сайтов.
Читать дальше →
Total votes 119: ↑105 and ↓14+91
Comments154

Jabber WebCam Bot

Reading time4 min
Views2.4K
Эта идея пришла мне как-то случайно. Получить снимок с вэб камеры, которая находится дома, находясь на работе или в другом городе и при этом не расшаривать камеру через вэб… И не коннектиться по ssh… Забавно… Что, если получить его одним запросом в джаббере! Звучит бредово, но я занялся реализацией этого бреда!
Читать дальше →
Total votes 69: ↑68 and ↓1+67
Comments30

Оптимистичные примитивы синхронизации, очереди и все-все-все. Трагикомедия в трёх действиях

Reading time4 min
Views8.6K
Заранее предупреждаю, для тех кто в теме, интересного будет не очень много. :)

У меня появилась актуальная задача реализовать базовые примитивы синхронизации(мьютекс, семафор и read/write lock), используя только синхронную очередь — единственный доступный примитив. Заодно по пути я расскажу как устроены спинлоки и мы даже соберём маленького франкенштейна.

Часть 1: Всё — очереди

Читать дальше →
Total votes 41: ↑30 and ↓11+19
Comments28

Тюнинг nginx

Reading time8 min
Views96K
Статья написана по материалам моего доклада на CodeCamp 2009.

Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...

У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.

Пришло время оптимизировать nginx...

Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments69

Юнит-тестирование в PHP

Reading time13 min
Views187K
Язык PHP очень легок для изучения. Это, а так же обилие литературы «Освой _что_угодно_ за 24 часа» породило большое количество, мягко говоря, некачественного кода. Как следствие, рано или поздно любой программист, который выходит за рамки создания гостевой книги или сайта-визитки сталкивается с вопросом: «а если я здесь немножко добавлю, все остальное не ляжет?» Дать ответ на этот вопрос и на многие другие может юнит-тестирование.

В самом начале хочется оговориться — здесь речь не будет идти о TDD и методологиях разработки ПО. В данной статье я попробую показать начинающему PHP-разработчику основы использования модульного тестирования на базе фреймворка PHPUnit
Начнем?..
Total votes 97: ↑90 and ↓7+83
Comments90

Subversion: cлияние переименований файлов

Reading time3 min
Views3.4K
— Зачем ты, Белка, летишь за мной, Кабаном?
— Не знаю, Кабан! Приказ Хорька. Как понял? Приём.
— Ни хера не понял! Какого Хорька, Белка? Я Кабан. Кто такой Хорёк? Кто это? Приём.
— Кабан, ты дятел! Как понял? Приём.
— Понял тебя, Белка. Я — Дятел. Повторяю вопрос про хорька. Кто это?
— Кабан, сука, ты всех заманал, лети вперёд молча! Конец связи.
Виктор Шендерович

Как известно, Subversion не умеет отслеживать переименования файлов. Согласно документации, команда svn move равносильна svn copy с последующим svn delete. Такое поведение вызывает большие проблемы при слиянии веток. Рассмотрим способы их решения.
Читать дальше →
Total votes 55: ↑52 and ↓3+49
Comments21

Устанавливаем RockBox на iPod Video

Reading time3 min
Views24K
Если вы слышали слово RockBox, эта заметка скорее всего не скажет вам ничего нового. Даже не трудитесь читать её.

Попался мне в руки старенький ipod video на 60 гигов. Амарок, конечно, его подхватил и дал возможность читать/писать в его базу. Но не у всех же стоит такой комбайн, а бывает что зайдешь в гости к знакомому музыканту взять новые его записи послушать. Да и такие форматы как Ogg Vorbis и FLAC плеер не играет. В результате было решено поставить стороннюю прошивку. Речь идет о RockBox.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments12

Information

Rating
Does not participate
Location
Киевская обл., Украина
Date of birth
Registered
Activity