Статьи чтобы набрать классы

Файловая система TxFS с поддержкой ACID-транзакций

Группа исследователей из Техасского университета в Остине разработала новую файловую систему TxFS, предоставляющую встроенную поддержку транзакций, удовлетворяющих требованиям ACID (атомарность, согласованность, изолированность, надежность). Код ФС доступен только в виде модифицированных исходных текстов ядра Linux 3.18, патчей для других версий пока нет. TxFS даёт возможность выполнить атомарное применение сразу группы операций над файлами. Например, в рамках изолированной транзации можно выполнить несколько операций записи в разные файлы, а затем атомарно применить все накопленные изменения, используя синтаксис begin/commit, похожий на транзакции в СУБД. Или можно откатить все внесённые в разные файлы изменения в случае, если в процессе обработки данных были выявлены какие-то проблемы. (далее…)

Статьи чтобы набрать классы

Создание встраиваемых сценариев на языке Lua

В то время как интерпретируемые языки программирования, такие как Perl, Python, PHP и Ruby, пользуются все большей популярностью для Web-приложений (и уже давно предпочитаются для автоматизации задач по системному администрированию), компилируемые языки программирования, такие как C и C++, по-прежнему необходимы. Производительность компилируемых языков программирования остается несравнимой (она уступает только производительности ручного ассемблирования), поэтому некоторое программное обеспечение (включая операционные системы и драйверы устройств) может быть реализована эффективно только при использовании компилируемого кода. (далее…)

Статьи чтобы набрать классы

Как в PhpStorm обновить phpdoc и docblock

Допустим вы изменили сигнатуру функции или метода и PhpStorm стал подсвечивать docblock волнистой линией, намекая на то, что он не соответствует актуальной сигнатуре. И как быть, неужели править phpdoc ручками? К счастью, нет! Достаточно навести курсор на docblock и нажать комбинацию клавиш Alt + Enter для вызова меню Intention Actions. Как правило, можно сразу же нажать Enter для выбора первого пункта из меню. (далее…)

Статьи чтобы набрать классы

Как пишутся системы оплаты для сайта

Требуется написать систему оплаты для интернет-магазина (без посредников для каждого способа оплаты, т.е без робокассы, интеркассы и подобных сервисов). Из вариантов оплаты планируется visa, mastercard, yandex.money и webmoney. В качестве backend используется django (но это не так важно). (далее…)

Трудовыебудни

Как вывести текущий хэш коммита git-репозитория в приложении или на веб-сайте

Бывают ситуации, когда запиливаешь новый функционал или правишь старый, тестируешь — всё ок. А выкатываешь на продакшен — ничего не работает и вообще ощущение, будто изменения не накатились. Как быть уверенным, что на продакшене крутится именно тот код, который был на него залит? Одним из решений данной проблемы может стать отображение версии текущего билда. Естественно, номерация версий должна быть не ручной, а автоматической. Если вы используете git для ведения репозитория своего проекта, то в качестве номера версии можно использовать хэш-текущего комита + время комита. (далее…)

Статьи чтобы набрать классы

Как правильно читать файлы с помощью PHP

Одним из преимуществ работы с современными языками программирования, такими как PHP, является количество доступных возможностей. PHP легко мог бы присвоить девиз языка Perl, "Существует несколько способов сделать что-либо", особенно, когда речь идет об обработке файлов. Но при изобилии доступных средств, возникает вопрос, какое из них лучше для выполнения работы. Конечно, в действительности, ответ на этот вопрос зависит от того, какие цели вы ставите при обработке файла, поэтому изучение всех возможностей языка стоит потраченного времени. (далее…)

Трудовыебудни

Как в Linux просмотреть jpg изображение в консоли

Достаточно специфическая задача — посмотреть содержимое графического файла не выходя из консоли bash. Причём посмотреть не в виде текста, а в виде изображения. Один из вариантов решения — установить пакет caca-utils и воспользоваться утилитой cacaview:

yum install caca-utils -y
cacaview var/tmp/9036116903362_623752297389759.jpg
Результат довольно специфичен, но зато быстро и лучше, чем ничего. (далее…)

Статьи чтобы набрать классы

HttpKernelInterface в Symfony

Symfony знаменит благодаря своему HttpKernelInterface: namespace Symfony\Component\HttpKernel; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; interface HttpKernelInterface { const MASTER_REQUEST = 1; const SUB_REQUEST = 2; /** * @return Response */ public function handle( Request $request, $type = self::MASTER_REQUEST, $catch = true ); } Реализация этого интерфейса должна содержать один метод и с его помощью иметь возможность каким-либо образом превратить полученный запрос в ответ. Если вы взглянете на любой из фронт-контроллеров в директории /web вашего Symfony проекта, вы можете Read more

Статьи чтобы набрать классы

Книга один год с Symfony

Один год с Symfony. На самом деле, для меня это был даже не год, а почти 6 лет. Начинал я с symfony 1 (именно так, с маленькой буквы и отдельно стоящая единичка), потом продолжил с Symfony2. Symfony2 - это то, что можно охарактеризовать как "взрослый" фреймворк, с его помощью вы можете делать весьма продвинутые вещи. И когда вы захотите сделать что-нибудь продвинутое, вам даже не обязательно устанавливать весь фреймворк, вы можете воспользоваться одним или несколькими из его компонентов. (далее…)

Трудовыебудни

Как в nginx отдавать ошибки в виде json

При разработке API часто бывает так, что абсолютно все ответы даже с непредвиденными ошибками нужно отдавать в json-формате. В плане PHP, ошибки и эксепшены перехватывать достаточно легко. А вот 500, 502, 504, 404 и прочие ошибки могут генерироваться уже не на стороне PHP, а на стороне веб-сервера, например, nginx. В таком случае нужно править конфигурацию веб-сервера. Можно создать отдельный файл errors.conf: (далее…)


Любишь мемасики?

Подпишись на мой телеграм-канал!

Открыть
Закрыть