- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Если честно - это гораздо интереснее твоего ФФ
Прикольная игрушка получилась.
Может работать как обычный чат и как агент, создавать и дорабатывать проекты, имеет память чата, сканирует и запоминает проект, может настраиваться под конкретный проект в конфиге, при открытии другого проекта меняется и конфиг и память проекта.
ЗЫ. Больше ничего не расскажу и не покажу, код выкладывать не буду.
Больше ничего не расскажу и не покажу, код выкладывать не буду.
значит ничего у тебя нет. То что ты описал - делается на расте за полчаса.
А те модели, которыми ты пользуешься - просто смех. Для детей. Естественно что они ничего не умеют.
Давай, ради интереса, может другим пригодится.
Эта инструкция нужна только тем, кто не соблюдает простейшие стандарты де-факто вебразработки. Таковых бесконечно мало. Большинству достаточно одной командой поставить стан и типовой конфиг взять.
Но в любом случае PHPStan поможет найти скрытые баги и сделать код надежнее, даже если структура проекта нестандартная.
Шаг 1. Необходимо установить PHPStan https://github.com/phpstan/phpstan
Конечно инструмент не скажет "вот это замени на это". Т.е. ошибку надо будет понять, проанализировать и исправить. Т.е. эта не халява отменяющая необходимость знаний. Этот инструмент только подсветит проблему.
Бдит стан за многим. Понимаю, что ты себя считаешь очень знающим, но рекомендую править. Т.к. если кто то будет пользоваться твоим фреймворком, это поможет избежать неоднозначностей. Для примера таких ситуаций:
Эта инструкция нужна только тем, кто не соблюдает простейшие стандарты де-факто вебразработки. Таковых бесконечно мало. Большинству достаточно одной командой поставить стан и типовой конфиг взять.
Но в любом случае PHPStan поможет найти скрытые баги и сделать код надежнее, даже если структура проекта нестандартная.
Шаг 1. Необходимо установить PHPStan https://github.com/phpstan/phpstan
Конечно инструмент не скажет "вот это замени на это". Т.е. ошибку надо будет понять, проанализировать и исправить. Т.е. эта не халява отменяющая необходимость знаний. Этот инструмент только подсветит проблему.
Бдит стан за многим. Понимаю, что ты себя считаешь очень знающим, но рекомендую править. Т.к. если кто то будет пользоваться твоим фреймворком, это поможет избежать неоднозначностей. Для примера таких ситуаций:
Зачем на 9 ступене проверять? Я на 5 всегда прогоняю + юнит тестами покрываю
Мне кажется в "Общем случае" в идеале проект должен проходить уровень 10 без ошибок. Но не всегда этот идеал оправдан. и тут уже зависит от конкретики проекта. И, как правило, например проекты подобные фреймворкам (т.е. пользоваться ими будут другие разработчики в разных проектах с разными взглядами и подходами) - чуть ли не обязаны. (правда у меня фреймворк остановился на 6ом, а шаблонизатор на 8. (надо будет освежить память "почему" :) )
На мой взгляд для старых надо поднимать до максимально возможного, но оценивая цену внесения правок, на новых вообще начинать с максимального и понижать только при объективной необходимости. (правда, если честно не следую этому правилу)
А так вот подобрал примерчик (в комментариях на каком уровне появляется ошибка)
1. Согласись потенциально возможное место для бага. Особенно если метод будет длинный.
2. Тут тоже от ситуации. Причем если пользователи только мы (и писали этот код не давно) еще ни чего. а вот если пользователь другой или мы через 100 лет. вдруг если передать null и результат 0 - это будет некорректно для логики.
3. Ну тут тоже повод для багов. вот упрощенные примеры
(только не придирайся к выбранному примеру с именем пользователя - суть не в таких деталях :).