Если вы работаете с командой php-разработчиков, то вы знаете как много кода они пишут, особенно если это высокопроизводительная команда разработчиков. программистам свойственно автоматизировать любой рутинный труд, поэтому и труд по контролю над кодом тоже понемногу автоматизируется. Самым полезным, для меня, оказался инструмент Copy/Paste Detector for PHP code. Как ясно из названия, этот инструмент используется для дублирующегося кода, ярым поборником которого я являюсь. Устанавливается он очень просто, как PEAR пакет: sb@ubuntu ~ % pear channel-discover pear.phpunit.de Adding Channel "pear.phpunit.de" succeeded Discovery of channel "pear.phpunit.de" succeeded sb@ubuntu ~ % pear channel-discover …
Category: php
Прежде чем рассказывать о самой библиотеке, расскажу несколько слов о том что такое Semantic Web (семантическая паутина или web 3.0, как его еще называют), для тех кто не знает. Итак, всемирная паутина продолжает развиваться. С одной стороны, объёмы существующей информации, огромны и кардинальные изменения происходят медленнее, в силу того, что для изменения нужно затрачивать больше усилия. С другой стороны, именно благодаря масштабу и размаху существующие проблемы становятся очивиднее. Информации становится больше, и найти нужную, упорядочить её становится всё сложнее. Тим Бернерс-Ли, изобретатель существующей версии интернета предлагает свою версию обновленного интернета, …
Я как-то рассказывал, что играюсь с вычислением трендов. Так вот, задачка это непростая, — для того чтобы определять устойчивые тренды, нужна обработка большого объема информации, чем больше тем устойчивее тренд виден. Мой бот собирает приблизительно 300-400 тысяч записей за сутки, для того чтобы обрабатывать такой объем, пришлось действительно поломать голову. Для начала, было интересно поиграть с бенчмарками. По итогу бенчмарков, уже написанный бот остался на php, а вот все эксперименты с алгоритмами проводились на питоне, о чем, кстати, ни разу пока не пожалел. Но об этом я уже пробовал писать ранее. Машинка, на которой запускаются просчеты, — двуядерная, …
Как я уже говорил ранее, в качестве багтрекера мы используем mantis. Начав внедрять SCRUM захотелось использовать что-то типа SCRUM board. Что из этого вышло, - читайте под катом.
В процессе работы над нашим приложением, некоторые, ненужные сложности в разработке большого приложения заставили задуматься в целесообразности использования php. Собственно поэтому я посматриваю на языки-фреймворки, на которые максимально безболезненно сможет перейти команда php программистов. Сразу скажу что php язык хороший, и написать на нем можно всё, но не всё можно написать одинаково хорошо, быстро, и без лишних проблем в перспективе развития проекта. Т.е. для домашней странички-форума-блога, — да, шикарное решение, а для разработки сложного корпоративного софта, с большим количеством частоизменяющихся …
Так случилось, что в работе над проектом центральный инструмент коммуникации, аналитики и планирования стал багтрекер mantis. В какой-то момент он просто перестал справляться с теми задачами, которые перед нами стояли, и мы начали подыскивать альтернативу. Первым кандидатом была jira + confluence. Системы шикарные: масса функциональности, многое расширяется плагинами, но, мелких фич, сделавших нашу работу проще и приятнее туда легко не допилишь, потому решено было отказать. Понравился trac залихвацкая интеграция с svn, симпатичный дизайн, красота минимализма подкупала но, было решено отказать. Нашлось еще много кандидатов на «попробовать», однако времени на эксперименты не было, да и истина: «старый друг, …
Так случилось что в книге, которую сейчас читаю, примеры на питоне. Надо сказать что красота и лаконичность подкупили меня на более пристальный взгляд внутрь, и тут я покажу те штуки которые мне уж очень понравились после долгой работы с php. Некоторые штуки на php вообще нельзя сделать, некоторые можно но “с бубном”, а какие-то просто лаконичнее смотрятся. # инициализация переменных a, b = 3, 4 print(a + b) >7 # последовательные вызовы open("out.txt", 'w').writelines(i.lower() for i in open("input.txt", 'r')) # …
Удивительное рядом. В ходе работы нужно было сравнить сколько памяти занимает массив строк в java и php, ну и параллельно было интересно узнать сколько времени займет заполнение такого массива данных. Я поступил просто - сгенерировал 999999 элементов md5 от текущего времени. Любопытно, что php оказался на высоте.