Pull to refresh
0
0
Send message
Я просто продолжил обсуждение.

Конечно, не меняет. Ошибка есть ошибка. Я даже благодарен, что ее нашли :)

>светит файловую структуру сервера

Это страшно?
Светятся только фатал ерроры.
Чтобы вдруг чего пользователь мог скинуть нормальный текст ошибки.
Возможно стоит навесить обработчик ошибок, чтобы скрывать пути, но влом.
Если бы фатал_эррора не было, я бы не пофиксил баг, потому что не предполагал бы, что кто-то захочет подписаться на комменты. :)

Почему была ошибка?
Потому что функционал подписки на комменты был реализован через фичефлаг, а сам класс-сущность, 3 строчки, не было добавлено. Функционал подписки используется на 100500 моих сайтов.
Фичефлаг включил, 3 строчки добавить забыл.

Вы усомнились в моем авторитете из-за этой ошибки?
Так их куча в том же PHP и его фреймворках. :)

П.С.
Тот сайт для лулзов больше. :)
http://www.phpthewrongway.com/#always-use-a-framework

Даже Расмус Лердорф (отец-основатель PHP) об этом говорит.
Вот эта ерунда https://gist.github.com/bryanwillis/279b0f89ef74c39d0aea7ba5037406e3 раньше по ходу была в самом бутстрапе (аутсорсер предоставил верстку с такими классами :) )

Ту да же классы типа italic, fs-11, lh-20

Если не было в самом бутстрапе, то сорри, мне было не до этого, верстка уже была несемантическая.
Из-за оленей сложилось такое впечатление :)
Ну так многие фреймворкоиспользующие такой точки зрения и придерживаются:
быстро накидали говнокода, а потом будем разгребать :^)
Ничто не мешало использовать и в html4 более одного h1.
Просто логически в этом мало смысла.
Если нужно несколько h1, то может стоит использовать h2.
1 h1 нужен больше поисковикам.
Одноразово пофиг.
А многоразово плохо.
Потом задолбетесь искать все места использования.
>Многие верстальщики, когда надо сделать текст зелёным цветом, прикрепляют к нему класс .green.

На этом чуть менее, чем полностью построен bootstrap :)
А в статических языках есть типа такое:
call_user_func_array($dynamyc_function_name, $arParams); (PHP)
?

То есть на момент компиляции не известно имя функции, а только во время исполнения.
Это должно быть тут:
http://blog.kpitv.net/article/frameworks-1/
:^)
+1.
Важны также интрументы, ИДЕ, наличие решений в нужной области.
На этапе компиляции отловим ошибки статически строго типизированного языка.
Язык может быть динамически строго типизированным (Ruby как раз такой, судя по ссылке ниже).
Эта компиляция должна еще быть. Может это интерпретируемый язык.

Ликбез по типизации:
https://habrahabr.ru/post/161205/
В большинстве случаев со слабой динамической типизацией нету проблем.
Приводите параметры к общему типу вручную, если хотите.

PHP как бы позволяет указать параметры какого типа принимает функция.
>А я бы посмотрел бы на создание сайта на Python/Ruby/PHP без фреймворокв/CMS и фреймворков/библиотек JavaScript и без надстроек над CSS.

Лехко.
Это модники тянут разный мусор из фреймворков PHP/JS и надстроек над CSS.
А потом не знают как сделать элементарные вещи.
Да и скорость разработки на этом мусоре на самом деле не увеличивается, а цена растет.

>купить готовое, а не писать своё

Зачем покупать? Можно загнать в стойло соцсетей.
Многие вещи лучше купить, но есть много специфичных.
> Хайп — это в IT страшнее не придумать. Хайп — это модные тенденции, модные фишки, модные фреймворки, не побоюсь этого слова, модные языки, модные решения.

+1
Кто-то решает задачи, а кто-то огород городит :)
Но без огородогородителей не было бы прогресса :)
А динамически как это делать? :)

Способ с массивами в where в Yii (по ссылке выше) самый нормальный.
Они не позволяют сделать (a = 'a') AND (b = 'b' OR c = 'c') и более сложные. (Хардкод не учитываем)

Ну и составлять условия динамически.
Ликбез по типизации:
https://habrahabr.ru/post/161205/

>например, что x — это Integer. В этом случае программисту запрещается делать x = true, это будет некорректный код.

Может это все же сильная типизация?

>«a» + 1 (язык Си — это исключение из этого правила)

Потому что язык С — язык со слабой статической типизацией…

>Многие статически типизированные языки требуют обозначать тип.

Это называется явная типизация.

>Большинство динамических языков выдадут ошибку, если типы используются некорректно

Это о слабая — сильная типизация…
> внимательным к мелочам

На то, чтобы обойти все мелочи, нужно потратить много времени.

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

Когда у меня спрашивают, когда будет готово, то часто говорю, что мне проще сделать, чем оценить сроки.

>К сожалению, автору неизвестно, применяется ли где либо еще на практике относительные оценки. Всем подавай точные сроки и деньги :)

Если есть относительные, то в чем проблема вывести абсолютные?
Или вы на вопрос, сколько времени займет создание ИМ, отвечатаете 20 * время создания лендинга? :^)
>Кроме того, в базе есть отдельные таблицы по каждой соцсети, в которых хранится соответствие хэша URL и поделившимися контентом пользователями.

Как вы получаете ид пользователя? :^)

>Это позволяет, помимо прочего, защититься от накруток шеров одним и тем же пользователем.

Пусть накручивают. Не в этом ли интерес: показать большие числа? :)

>Откуда 20? Оказалось, администратор сайта посетил закрытую для гостей страницу с кнопками соцсетей, в Facebook отправился запрос, но соцсеть не получила ответа о доступности страницы и записала себе в кэш число репостов с главной страницы сайта (по редиректу).

Если это закрытая страница, то может там счетчик не нужно ставить?..

1. Я себя тоже к этому быдлу отношу, так что не обижайтесь.
2. Я указал, что утверждения преувеличены.
:^)

Information

Rating
Does not participate
Registered
Activity