Pull to refresh
23
0
Михаил Красильников @Mekras

Веб-разработчик

Send message

Спасибо! Теперь работать будет немного удобней.

Пользуюсь продуктами JetBrains уже больше пяти лет и да, проблем у них всё больше. Вместо исправления ошибок (некоторые из которых висят у них в трекере все эти пять лет), они добавляют поддержку каких-то эмодзи. В последнем релизе откровенно изуродовали работу с Git. Начинаю потихоньку присматриваться к другим IDE.
Немало из наших клиентов обновляться не торопятся.


Некоторые ваши клиенты очень хотели бы обновиться, но:

От: Михаил К.
Доброго дня.

Я хочу обновить предустановленную ОС Ubuntu 14.04 до 16.04. К сожалению, стандартная процедура обновления через «do-release-upgrade» прерывается с сообщением о том, что нет записи в "/boot". Действительно, права доступа на папку 0000, и поменять их не удаётся. Как можно обновить ОС? Есть ли у вас где-то описание?

От: Алексей А.
Здравствуйте, обновление системы не рекомендуется на серверах OpenVZ. Это может привести к недоступности сервера и необходимости переустановки системы

От: Михаил К.
Возможные риски мне ясны. Как обновить ОС?

От: Алексей А.
Не подскажу вам по этому вопросу
Ну так автор же пишет, что оптимизация для Intel и ARM заняла несколько лет.
конечно же, это же PATCH. Он «патчит» ресурсы.


Тут AaAAxzz, вероятно, прав. Сейчас curl-client не позволяет отправлять этим методом тело. Надо разбираться.
1,2. Можно спросить авторов тут.

3. С чего бы ему прерываться?

4. Любые неприватные члены класса фактически становятся частью контракта этого класса, со всеми вытекающими последствиями в виде необходимости контроля данных, обеспечения совместимости между версиями и прочим, что неизбежно приводит к усложнению кода. При том что необходимость наследования этого класса представляется крайне маловероятной, соотношение накладных расходов к полученной выгоде представляется не очень разумным.

5. С чего Вы это взяли?

6. Сходу ответить не готов. Можете написать сюда.
Guzzle — это реализация. Httplug — интерфейс. Надо объяснять разницу?

И, к слову, написать решил не я. Но задумку считаю нужной.
какие то примеры реального применения есть этой абстрактной прослойки?

Проект молодой, поэтому примеров пока мало. Но мы используем его внутри нашей компании. Сейчас есть штук пять самостоятельных пакетов, использующих Httplug. Возможно со временем выложим их на GitHub.

вот я использую http://php.net/manual/ru/book.curl.php и мне хватает

Всё зависит от того, чем Вы занимаетесь. Мне тоже долгое время хватало. Пока жизнь не столкнула с такой ситуацией, где хватать перестало. Помните Маяковского? Если звёзды зажигают, значит это кому-нибудь нужно? Так и тут, если несколько человек разработали такую библиотеку, значит они видят в ней потребность, значит для их задач просто cURL уже не хватает.

по молодости тоже страдал этим — писал абстрактные прослойки и адаптеры. но сейчас осознал Истину.

Вы уж извините, но уверенность в обладании истиной (и уже тем более с большой буквы) характерна как раз для молодости :-)
Это философский вопрос из разряда «А зачем нужны библиотеки»? Как правило для облегчения жизни программиста. Понятно, что всё то, что делает библиотека, можно написать самому. При этом кода будет меньше, чем в библиотеке, да и производительнее вполне может получиться. Но тут есть и оборотная сторона. Во-первых, использование библиотек повышает скорость разработки, что с каждым днём становится всё важнее. Во-вторых, как заметил один римский оратор, человеку свойственно ошибаться. Чем больше программист напишет кода, тем выше вероятность появления ошибки. Повторное использование кода — один из способов понижения этой вероятности.

Ну и если вернуться к Httplug, то особенно начинаешь его ценить по мере усложнения проектов, с которыми работаешь. В начале заметки я уже описал некоторые проблемы, с которыми мы столкнулись. Кроме того, благодаря переводу части компонентов на Httplug, мы получили возможность легко, в одной точке приложения, добавлять нужную нам функциональность. Например журналировать запросы/ответы для отладки и профилирования. Более того, мы можем включать некоторые вещи только в тестовой конфигурации и отключать в боевой. Это очень удобно и бережёт много времени и сил.
Судя по тому, что Вы написали в заметке, правильная аналогия должна быть такая: «мне дали мопед покататься бесплатно, а теперь говорят, что если я хочу кататься и дальше, то надо платить. Негодяи!». Вот она — обратная сторона халявы. Многие начинают воспринимать её как своё право, а не как оказанную им любезность. Увы.
Ну так и я про то же.
«поленился, без оборудования, превентивно» — это очень распространённая проблема, называется «распи*дяйство». Штрафовать и лишать лицензий. А для этого жаловаться на провайдера в надзорные органы.
Ежедневно ищу с помощью поисковиков различную техническую информацию, приложения и многое другое. На блокировку натыкался всего пару раз. И я не могу достоверно утверждать, что ресурс не за что было блокировать. Т. е. с блокировкой я сталкиваюсь не чаще чем? скажем, с сайтом, хостинг которого не оплачен.
А у меня — нет. Может Ваш провайдер ленится нормально сделать блокировку?
Сколько людей — столько мнений.
ЖЖ читаю почти каждый день. Ни разу не попадал на его полную блокировку. Может дело в Вашем провайдере? Может он умеет только по IP блокировать?
Лично я ничего не собираюсь делать. Уже который год пугают цензурой, пишут что ещё вот-вот и Рунет умрёт и прочее, и прочее. Но, как обычный пользователь интернета, я до сих пор так и не почувствовал никаких негативных последствий. И даже как владелец нескольких доменов в зоне «.ru» ничего не заметил.

В целом же направление мысли рабочей группы мне нравится. Интернет — важная составляющая многих процессов сегодняшней экономики. Поэтому обеспечение его бесперебойной работы и защита от саботажа — важнейшая стратегическая задача государства. Конечно же не обойдётся без косяков на этапе внедрения. Но без таких косяков не обходится ни один мало-мальски крупный проект, любой разработчик это скажет. Постепенно косяки исправят. Это нормальный процесс.
Я сейчас читаю Макконела «Совершеннй код». Я прекрасно понимаю, что качественный код выгоднее, чем, написанной кое-как. И я ни в коем случае не считаю, что решения, о которых мы спорим, написаны кое-как. Но если Вы можете написать лучше, сохранив простоту использования без значительного увеличения объёма кода — будьте добры, покажите пример. Только не надо общих слов, про передачу аргументов через конструктор. В заметке есть простой пример использования библиотеки. Перепишите этот пример так, как на Ваш взгляд, он должен выглядеть, по Вашим представлениям. Я всегда готов учиться и совершенствоваться.
Я с этим полностью согласен. Именно поэтому используются статические члены, а не функции с глобальными переменными. Именно поэтому предусмотрена альтернатива прямой работе с $_SERVER.

Ещё хотелось бы вспомнить одну из притч Пути Тестивуса:

Ученик спросил двух мастеров программистов:
«Я не могу написать этот код без создания моков и нарушения инкапсуляции.
Что мне делать?»
Один мастер программист ответил:
«Моки — это плохо, и ты никогда не должен нарушать инкапсуляцию.
Перепиши код, чтобы можно было тестировать правильно.»
Другой мастер ответил:
«Моки — это хорошо, и тестирование важнее инкапсуляции.»
Обескураженный ученик ушел за пивом. В местной пивной он встретил
Величайшего мастера программиста посасывающего пивко с куриными крылышками.
«Величайший мастер!» — сказал ученик, — «Я думал, что вы не пьете.
И разве вы не вегетарианец?»
Величайший мастер улыбнулся и ответил:
«Иногда жажда лучше утоляется пивом, а голод — куриными крылышками».
Ученик больше не был обескуражен.
В мире, кроме крайностей, ещё существует многое между ними.

Information

Rating
Does not participate
Location
Долгопрудный, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Architect, Web Developer
Lead
PHP
Docker
OOP
Linux
Designing application architecture
System analysis
Symfony