Автор: skynin

Design and programming are human activities; forget that and all is lost.

Bjarne Stroustrup

more

The difference between a good and a poor architect is that the poor architect succumbs to every temptation and the good one resists it.
Ludwig Wittgenstein

Architect: Someone who knows the difference between that which could be done and that which should be done.
Larry McVoy

No matter what the problem is, it’s always a people problem.
Gerald M. Weinberg

… the purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.
Edsger W. Dijkstra, “The Humble Programmer” (1972)

Больше всего меня раздражает в PHP комьюнити

…это то что усредненный пхпист растет в таком порядке:
1. есть сайт, мне надо что-то добавить, изменить. Или сразу: делаю сайт!
2. лезу в код, изучаю попутно на чем он сделан (задаю вопросы уровня: а это WordPress или Laravel?)
3. изучая на чем он сделан, изучаю попутно ООП (если сайт сделан на современном фреймворке)
4. изучая ООП, изучаю попутно PHP

А надо бы – с точностью до наоборот.

Монолит vs микросервис – эмпирическая диаграмма

Согласен

modules-or-microservices-45-638

Almost all the successful microservice stories have started with a monolith that got too big and was broken up
Almost all the cases where I’ve heard of a system that was built as a microservice system from scratch, it has ended up in serious trouble.
Martin Fowler

Using the microservice architecture makes it much more difficult to iterate rapidly.
A startup should almost certainly begin with a monolithic application.
Chris Richardson

Мысли по ходу

Фиксинг багов требует бОльшей квалификации чем написание нового кода, или костылей поверх бага

Как малоэффективна компенсация низкой квалификации персонала бюрократией, так и правила разработки, архитектура проекта – не могут уберечь код проекта от разного вида прилепленной скотчем копипасты. Люди в обоих случаях – Люди и взаимодействие важнее процессов и инструментов. В прямом, а не аджайл смысле, потому что:

Аджайл как руководство к действию воспринимается чаще как всего как “Ура! Не надо думать, пишем код чтобы закрыть тикет! И побыстрее, а думать – это долго и сложно”

is Yii dying?

Вот такой ответ на вопрос is Yii dying? дал один из основных разработчиков

You may be surprised to hear this from one of the YiiSoft core memeber, but DO NOT recommend to start new project on Yii2 or migrate project from other framework to Yii2. It would be much more reliable for you to use Laravel. It is relatively close to Yii by its architecture and approaches, while it has a commercial background and support, which make its future reliable.

Читать дальше

Ширина в 2560 пикселей

…купил себе монитор пошире, в 2560 пикселей (25″ LG 25UM58-P). а то фронтенд разработкой на одном мониторе – неудобно заниматься. приходится много прыгать между перекрывающимися окнами. раздражает и отвлекает это мельтешение.

но на второй монитор – места на столе нет…

Теперь ответ на вопрос:
а какие у вас пожелания к рабочему месту?
допускает варианты
2 монитора
можно один, но не уже 2к

экосистема WordPress…

Попросили знакомые глянуть их сайт на WordPress. Обычный новостной, на ColorMag
Стартовая страница 5 секунд открывается.

Посмотрел. 13000 запросов к базе данных!
5 строчек в платном плагине, стало 500. ну и страница за 700мс стала открываться.

Вот никак не проходит удивление от стиля в экосистеме WordPress – там в плагинах постоянно не хватает очевидных 3-5ти строчек…

Мелкие проблемы с Pagespeed Module

Столкнулся с проблемой – на одном из обычнейших сайтов на WordPress c Pagespeed Module

Общение с тех поддержкой закончилось: тогда отключите.

Модуль полезный, но проблема вполне массовая. Спросите у гугла, в поисковой строке
pagespeed.ce
и получите много сайтов, у которых на страницах вместо картинки красуется текст типа:
AND_6508.jpg.pagespeed.ce.MfFZCgE9VJ
14_kuzovnoy-remont-1.jpg.pagespeed.ce.c3936bzszV

Решений несколько – изменения в коде, чтобы после его фильтрации модулем html код не ломался
либо отключить.

Если позволяют настройки хостинга, то можно и в .htaccess



ModPagespeed off

https://stackoverflow.com/questions/21215888/need-to-turn-of-modpagespeed

Но на шаред хостинге, вряд ли сработает.

Проверить, кто виноват:
Добавить параметр
?PageSpeed=off

Как в примере:
https://www.ngxpagespeed.com/resize_rendered_dimensions/image_resize_using_rendered_dimensions.html?PageSpeed=off

Про SPA приложения

SPA требуется когда “экран” должен уметь отображать все что есть в приложении, причем плохо прогонозируемо.
Restfull нужен тогда, когда доступ к данным на сервере планируется осуществлять и не из браузера.
Настоящие эндпойнты(для запроса по ajax) нужны только когда пересылать все данные в браузер избыточно.

Читать дальше
87897hjkhkjhk

Вам не нужна микросервисная архитектура

Если в пару предложений, то

Сложность, непредсказуемость(эмерджентность) всей системы в целом, построенной на микросервисав приводит к росту затрат на формализацию отношений между командами.
То есть – простота каждого микросервиса в отдельности оплачивается ростом бюрократических, читай трансакционных издержек, когда мы собираем из них систему.
Или так – если в монолитном приложении все компоненты зачастую слишком родные, то в системе из микросервисов – слишком чужые.

Читать дальше
main-qimg-862b4322d319335a09dc7ee1e3bd071a