А что, cURL это сложно? Или вы имеете что-то против конкретно PHP?
Приведенный пример легко портируется на любой популярный язык программирования будь то Python, Java, Node.js или Go. Можно и через bash пуши отправлять (пример).
Ну как сказать. Это заметное увеличение объема работ которые ещё должен кто-то оплачивать. Это уже давно не актуально для поисковиков. Для шаринга в соцсеточках достаточно отдать og: теги. Вот и получается, что это нужно для крайне малого процента пользователей с NoScript и сомнительных грабероф. Поправьте меня если я ошибаюсь.
Как уже писали выше, если вы не входите в ЦА, то почему за вас должен платить бизнес? А главное, почему из-за вас должны страдать пользователи из ЦА из-за добавления полифилоф, хуков и прочего? Да и безнес будет компенсировать увеличение расходов за счёт увеличения цен для ЦА.
Еще интересная штука. Без интернета на телефонах не работают все спойлеры. Не знаю как это может быть связано, но факт в том, что для открытия спойлера в статье на странице без интернета необходимо включить интернет и обновить страницу.
Не понимаю всей этой шумихи с <textarea>. Все WYSIWYG редакторы текста или кода, которые мне когда-либо попадались, начинаются с textarea. То есть, в вёрстке добавляется элемент ввода textarea и после загрузки страницы он переколбашывается js-ом в полноценный WYSIWYG. То есть, по у молчанию у всех WYSIWYG редактором есть совместимость с NoScript. Аналогично с кастомизацией select, input[type=file] и т. д.
Зачем Twitter решил использовать WYSIWYG для сообщений уже другой вопрос.
Первое, что пришло в голову — для оптимизации создания твитта и уменьшения вероятности внесения правок в него после публикации или полный запрет изменения твитта после публикации.
Поясню. Оптимизация показа твитта во всех лентах может привести к удорожанию процедуры публикации твитта и внесение правок в твитт приводит фактически к повторению процедуры публикации твитта только ещё сложнее из-за необходимости найти твитт в других лентах. Цена внесения правок в твитт может измеряться во вполне реальных долларах (лет 8 назад разрабатывал аналог стены ВК для одной соцсети и я имею некоторое представление о вопросе). Поэтому, вполне логичным шагом может быть подключение WYSIWYG с целью оптимизации пользовательского интерфейса и уменьшения собственных расходов.
Медленная загрузка страницы из-за обилия JS это конечно проблема и её надо решать. Во времена IE6 шел разговор о внедрении jQuery в браузеры. С появлением ES6, популяризацией движка Chromium и отказом от старых браузеров необходимость в jQuery резко сократилась. Но появилась новая проблема — фреймворки. Частично проблему решает SPA, и я не думаю, что белый экран у пользователей с NoScript повод отказываться от него.
Вы говорите об использовании одного приложения, одного инстанса на несколько сайтов как в Битрикс? Такой подход был популярен в начале нулевых. Я и сейчас иногда встречаю легаси проекты использующие такой подход.
На мой взгляд, подход с настройкой LESS переменных применим для CMS и готовых движков форумов.
В статье говорится о брендировании. Это несколько другой подход. Брендирование бывает всего сайта. Его проще захардкодить в шаблонах если не нужно будет его отключить чётко по времени.
Пример
КиноПоиск
Eva.Ru
Бывает брендирование раздела по бренду, производителю, марке авто и т. д.
Вот для брендирования может подойти подход описанный в статье. Все стили и шаблоны описываются на фронте и упаковываются в скин. И остается только вопрос — как подключать этот скин или как сроутить скин для сущность.
Хм. В моём понимании пользовательский класс коллекции — это класс описывающий набор однородных структур данных и позволяющий осуществить доступ к ним по средствам итерирования экземпляра класса. То есть, это класс в первую очередь реализующий интерфейс Iterator или IteratorAggregate.
Вы делаете акцент на инкапсуляции операций map/reduce и лишь в самом конце упоминаете итерирование. Каждая ли коллекция у вас является итератором? И если нет, то как вы осуществляете доступ к данным в коллекции?
Вообще, у нас похоже несколько разный подход к разработке. Я не часто работаю с обычными массивами, чаще с набором объектов. Я не припомню кейсов в которых мне нужно было бы фильтровать данные на клиенте. Обычно данные фильтруются на этапе извлечения их из хранилища. У нас коллекции чаще всего используется для потокового чтения или записи.
Безусловно. Есть люди которые едут и не в Германию. Есть те кто едет в Грецию например, Индию, Кубу. А есть иностранцы которые из Европы едут в Россию. Но это же тоже не показатель.
Закон яровой и идея суверенного интернета явно указывает на то, что Россия движется по стопам Китая с их фаерволом. Но и США с их бесконечной слежкой и Европа тоже потихоньку движутся в том направлении. Да, не так активно как мы, но тоже.
Я думаю года через 3 в России введут фаервол и другие крупные страны, посмотрев на опыт Китая, России и США тоже подтянутся. Это произойдет не скоро, но я уверен, что лет через 20-30 закончится открытый интернет.
По сути, мы то поколение которое застало возникновение интернета, его становление, популяризацию, повсеместность и застанем его угасание, а возможно и смерть.
Я с ужасом думаю о будущем интернета так как моя работа напрямую с ним связана и если тенденция сохранится, то лет через 10-20 я останусь без работы в не зависимости от страны в которой я живу.
Я же написал. Потому что там больше платят. Там больше возможностей. Там больше интересных и престижных вакансий. Я знаю одного крутого шведского специалиста который работает на французскую компанию. Это конечно не показатель, но на эту компанию работает много иностранцев.
Да, наверное я сужу по себе, но я не слышал об интересных компаниях в Норвегии или Швейцарии. Зато знаю компании во Франции в которой я хотел бы работать и меня много раз активно зазывали работать в Германии и Англию.
Да и климат в Германии и Франции лучше чем в Швеции и Норвегии. И много Российских и Украинских разработчиков уехало в Германии, по этому там проще найти земляков с которыми можно пообщаться нормально на Русском языке. Можно долго перечислять преимущества стран центральной Европы.
Так просто заменять 8 на 7 неправильно. Надо понимать, что за этим стоит.
8-10-7-903-XXX-XX-XX
8 — выход на междугороднюю связь
10 — выход на международную связь
7 — код страны
903 — код города или оператора
XXX-XX-XX — телефонный номер абонента
Для упращения код 810 заменили на +.
Таким образом, номер с +7 это полный международный номер, а номер начинающийся на 8 это номер в пределах страны. Для Греции например код страны 30 и звонить можно как по номеру 81030… так и по +30… И соответственно, если пользователь ПО в Греции, то 8 должно заменятся на +30, а не на +7.
А что, cURL это сложно? Или вы имеете что-то против конкретно PHP?
Приведенный пример легко портируется на любой популярный язык программирования будь то Python, Java, Node.js или Go. Можно и через bash пуши отправлять (пример).
Ну как сказать. Это заметное увеличение объема работ которые ещё должен кто-то оплачивать. Это уже давно не актуально для поисковиков. Для шаринга в соцсеточках достаточно отдать
og:теги. Вот и получается, что это нужно для крайне малого процента пользователей с NoScript и сомнительных грабероф. Поправьте меня если я ошибаюсь.Как уже писали выше, если вы не входите в ЦА, то почему за вас должен платить бизнес? А главное, почему из-за вас должны страдать пользователи из ЦА из-за добавления полифилоф, хуков и прочего? Да и безнес будет компенсировать увеличение расходов за счёт увеличения цен для ЦА.
Еще интересная штука. Без интернета на телефонах не работают все спойлеры. Не знаю как это может быть связано, но факт в том, что для открытия спойлера в статье на странице без интернета необходимо включить интернет и обновить страницу.
Не понимаю всей этой шумихи с
<textarea>. Все WYSIWYG редакторы текста или кода, которые мне когда-либо попадались, начинаются с textarea. То есть, в вёрстке добавляется элемент ввода textarea и после загрузки страницы он переколбашывается js-ом в полноценный WYSIWYG. То есть, по у молчанию у всех WYSIWYG редактором есть совместимость с NoScript. Аналогично с кастомизацией select, input[type=file] и т. д.Зачем Twitter решил использовать WYSIWYG для сообщений уже другой вопрос.
Первое, что пришло в голову — для оптимизации создания твитта и уменьшения вероятности внесения правок в него после публикации или полный запрет изменения твитта после публикации.
Поясню. Оптимизация показа твитта во всех лентах может привести к удорожанию процедуры публикации твитта и внесение правок в твитт приводит фактически к повторению процедуры публикации твитта только ещё сложнее из-за необходимости найти твитт в других лентах. Цена внесения правок в твитт может измеряться во вполне реальных долларах (лет 8 назад разрабатывал аналог стены ВК для одной соцсети и я имею некоторое представление о вопросе). Поэтому, вполне логичным шагом может быть подключение WYSIWYG с целью оптимизации пользовательского интерфейса и уменьшения собственных расходов.
Медленная загрузка страницы из-за обилия JS это конечно проблема и её надо решать. Во времена IE6 шел разговор о внедрении jQuery в браузеры. С появлением ES6, популяризацией движка Chromium и отказом от старых браузеров необходимость в jQuery резко сократилась. Но появилась новая проблема — фреймворки. Частично проблему решает SPA, и я не думаю, что белый экран у пользователей с NoScript повод отказываться от него.
Можно попробовать плагин PHP Generics.
Дженерики можно описать в аннотациях и валедировать psalm или PHPStan. Это конечно не тоже самое, что натив, но лучше чем ничего.
Вы говорите об использовании одного приложения, одного инстанса на несколько сайтов как в Битрикс? Такой подход был популярен в начале нулевых. Я и сейчас иногда встречаю легаси проекты использующие такой подход.
На мой взгляд, подход с настройкой LESS переменных применим для CMS и готовых движков форумов.
В статье говорится о брендировании. Это несколько другой подход. Брендирование бывает всего сайта. Его проще захардкодить в шаблонах если не нужно будет его отключить чётко по времени.
Бывает брендирование раздела по бренду, производителю, марке авто и т. д.
А бывает брендирование страницы конкретного продукта или группы страниц одного продукта.
Вот для брендирования может подойти подход описанный в статье. Все стили и шаблоны описываются на фронте и упаковываются в скин. И остается только вопрос — как подключать этот скин или как сроутить скин для сущность.
Хм. В моём понимании пользовательский класс коллекции — это класс описывающий набор однородных структур данных и позволяющий осуществить доступ к ним по средствам итерирования экземпляра класса. То есть, это класс в первую очередь реализующий интерфейс
IteratorилиIteratorAggregate.Вы делаете акцент на инкапсуляции операций map/reduce и лишь в самом конце упоминаете итерирование. Каждая ли коллекция у вас является итератором? И если нет, то как вы осуществляете доступ к данным в коллекции?
Вообще, у нас похоже несколько разный подход к разработке. Я не часто работаю с обычными массивами, чаще с набором объектов. Я не припомню кейсов в которых мне нужно было бы фильтровать данные на клиенте. Обычно данные фильтруются на этапе извлечения их из хранилища. У нас коллекции чаще всего используется для потокового чтения или записи.
PHPStan с версии 0.12.x понимает psalm аннотации и поддерживает дженерики
Безусловно. Есть люди которые едут и не в Германию. Есть те кто едет в Грецию например, Индию, Кубу. А есть иностранцы которые из Европы едут в Россию. Но это же тоже не показатель.
Простите. Вечно путаю Швецию и Швейцарию. Я имел в виду Швецию.
Закон яровой и идея суверенного интернета явно указывает на то, что Россия движется по стопам Китая с их фаерволом. Но и США с их бесконечной слежкой и Европа тоже потихоньку движутся в том направлении. Да, не так активно как мы, но тоже.
Я думаю года через 3 в России введут фаервол и другие крупные страны, посмотрев на опыт Китая, России и США тоже подтянутся. Это произойдет не скоро, но я уверен, что лет через 20-30 закончится открытый интернет.
По сути, мы то поколение которое застало возникновение интернета, его становление, популяризацию, повсеместность и застанем его угасание, а возможно и смерть.
Я с ужасом думаю о будущем интернета так как моя работа напрямую с ним связана и если тенденция сохранится, то лет через 10-20 я останусь без работы в не зависимости от страны в которой я живу.
Я же написал. Потому что там больше платят. Там больше возможностей. Там больше интересных и престижных вакансий. Я знаю одного крутого шведского специалиста который работает на французскую компанию. Это конечно не показатель, но на эту компанию работает много иностранцев.
Да, наверное я сужу по себе, но я не слышал об интересных компаниях в Норвегии или Швейцарии. Зато знаю компании во Франции в которой я хотел бы работать и меня много раз активно зазывали работать в Германии и Англию.
Да и климат в Германии и Франции лучше чем в Швеции и Норвегии. И много Российских и Украинских разработчиков уехало в Германии, по этому там проще найти земляков с которыми можно пообщаться нормально на Русском языке. Можно долго перечислять преимущества стран центральной Европы.
Ну вы же и не будете переезжать в Норвегию или Швейцарию. Вы поедете в Германию, Англию, Францию где больше платят
Добавил несколько. По возможности, опишу остальное.
раз такое дело, оставлю здесь на почитать про Чистый код
https://github.com/peter-gribanov/clean-code-php
Некоторые рекомендации довольно спорные :(
Так просто заменять 8 на 7 неправильно. Надо понимать, что за этим стоит.
8-10-7-903-XXX-XX-XX
8 — выход на междугороднюю связь
10 — выход на международную связь
7 — код страны
903 — код города или оператора
XXX-XX-XX — телефонный номер абонента
Для упращения код 810 заменили на +.
Таким образом, номер с +7 это полный международный номер, а номер начинающийся на 8 это номер в пределах страны. Для Греции например код страны 30 и звонить можно как по номеру 81030… так и по +30… И соответственно, если пользователь ПО в Греции, то 8 должно заменятся на +30, а не на +7.
А что, система контроля версий уже не канает как база для хранения комментариев к измеренному коду?
Тогда уже BDD