Тестируйте шаг за шагом

Я постоянно натыкаюсь на посты в блогах или интересные презентации, которые дают мне пищу для размышлений. В последнее время изо всех сил пытался придумать стратегию, чтобы помочь разработчикам понять, когда им следует приступать к написанию тестов для своих программ. Если вы верите в силу разработки через тестирование (Test-Driven Development, TDD), […]

13 ошибок, которые допускают разработчики при составлении документации

Большинство разработчиков ПО с открытым исходным кодом в основном задумываются о качестве программ, которые они проектируют, часто забывая, насколько важно иметь качественную документацию. Никто не говорит о том, какая крутая инструкция у проекта или какой подробный мануал, но все же документация оказывает большое влияние на успех проекта. Без хорошей сопроводительной […]

Использование SSH и SFTP с языком PHP

В современном мире, где так много сторонних компонентов и программ для создания совместного доступа, важно понимать и использовать протоколы SCP и SFTP. Для PHP есть расширение-оболочка для библиотеки libssh2, которая реализует протокол SSH2. Она обеспечивает несколько функций, которые можно использовать для безопасной передачи файлов. Перед тем как приступить к использованию […]

Почему FastCGI + Nginx быстрее, чем Apache + mod_php

Сначала я собирался написать пост о том, почему Nginx в связке с FastCGI работает быстрее, чем Apache с mod_php. Не так давно ходили слухи, что Nginx с запущенным PHP через FastCGI производительнее, чем Apache с mod_php. Многие знакомые утверждали, что это чистая правда. Некоторое время назад я провел небольшое исследование […]

Эффективный рефакторинг

Мой брат называет предновогоднюю неделю «потерянной» — за это время почти ничего невозможно сделать, потому что большинство людей уходят в отпуск, а оставшиеся заняты предновогодними приготовлениями. В это время у начинающих разработчиков программного обеспечения появляется прекрасная возможность сделать одну вещь, на которую у них всегда вечно не хватало времени: самое […]

Почему люди ненавидят PHP

Существует масса причин, почему люди «ненавидят» или по крайней мере косо смотрят на PHP. Некоторые из них являются обоснованными, а другие предвзятыми. Непоследовательность haystack / needle Часто программисты говорят о непоследовательности haystack / needle, но это происходит из-за незнания одного простого правила: array: needle, haystack string: haystack, needle На самом […]

Шаблонизатор Mustache

В последнее время я много работал с различными шаблонизаторами. Для последнего проекта требовалось повторное использование одного и того же набора шаблонов в приложениях JS и PHP (в сочетании с History API обеспечивается бесшовное динамическое поведение, но все еще имеющее сырой вид). На самом деле, сегодня есть только одно решение для […]

Почему я перестал следовать стандартам программирования

Каждый разработчик знает, что у него должен быть стандарт программирования, принятый в компании. Каждый разработчик также знает, что нужно постараться, чтобы ваши собственные правила попали в стандарты компании. Каждый разработчик в тайне отчаивается уже в тот момент, когда начинает работу над новым проектом… Он боится тех стандартов, которые мог придумать какой-нибудь […]

Руководство для проектирования хорошей схемы базы данных

Практически все Yii-приложения построены на базах данных. И хотя фреймворк Yii очень гибок в плане взаимодействия с базой данных, некоторые решения призваны сделать разработку еще проще и удобней. Первый и наиболее важный момент заключается том, что Yii-приложения широко используют шаблон ActiveRecord. Исходя из этого, все конструктивные соображения направлены на оптимизацию […]

Как быстрее обойти массив (без ключей

Добрый день. Что быстрее работает while, for или foreach? Для ленивых foreach оказался быстрее. Суть теста Создается массив с 1000000 (одним миллионом) элементов (числа от 1 до 1000000) и кормим этот массив различным циклам.