• Почему Yii/Yii2 не подходит для крупных проектов?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Это мнение людей которые не умеют делать большие проекты. Им просто кажется, что если бы они могли взять вначале другой фреймоврк/язык/базу то результат был бы намного лучше, на деле же они просто не имели понятия о проблемах с которые появляются в больших проектах.
    Ответ написан
    2 комментария
  • Не запускается shell скрипт Freebsd. Почему?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    shell_prompt# ./check.sh
    Ответ написан
    Комментировать
  • Как перенести сайт wordpress с репозитория bitbucket на другой репозиторий bitbucket?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Если вы хотите передать управление репозиторием на другой аккаунт, то это есть в настройках репозитория.
    Если вам просто нужна копия, то войдите в репозиторий, и нажмите в меню "форк" после чего у вас появиться копия текущего репозитория.
    Всё это делается на сайте bitbucket.
    Ответ написан
    Комментировать
  • Как подружить два jquery на одной странице?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Правильным решением было бы подключить одну версию jQuery и jQuery Migrate Plugin и исправить проблемы о которых он говорит.

    Если хотите костылей, можете
    или слить в один файл jquery И плагин обернуть их функцией, которую сразу выполнить и проверить внутри неё не объявляется глобальных переменных, вполне вероятно это может заработать
    Или другой вариант попроще: пройдите автозаменой по jQuery и плагину, замените там jQuery на myQuery, И подключите то что получилось, ну и соответственно не забывайте про $.noConflict();
    Ответ написан
    Комментировать
  • Почему не работает запрос в БД?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    $NameVideo = $_POST ['name'];
    $idVideo = $_POST ['message'];
    echo $NameVideo;
    $db = mysql_connect("localhost","d9",774272722");
    mysql_select_db("dlx",$db);
    mysql_query("SET NAMES utf8");
    $resultat = mysql_query("INSERT INTO `dlx`.`videoByMe` (`id`, `DenumireaVideo`, `VideoMixID`) VALUES (NULL, '$NameVideo', '$idVideo')"); // тут был бардак с кавычками
    if(!$resultat){
     var_dump(mysql_error()); // тут скорее всего ругнётся, что id не может быть NULL
     exit();
    }
    mysql_close($db);
    Ответ написан
    Комментировать
  • Зачем нужны генераторы html?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    1) Один элемент формы может быть пустым, быть пустым с плейсхолдером (в этом случае надо уметь ансетит текст плейсхолдера перед сохранением), содержать данные пользователя из базы, содержать не сохранённые данные пользователя из POST, содержать значение по умолчанию. А это уже текст
    2) Ошибки, в зависимости от дизайна содержимое связного с элементом тега label может использоваться при формировании сообщения об ошибке, а вставлять его в каждую ошибку руками не хочется. Банальное добавления класса ошибки к элементу форму и его lable и вывод самой ошибки даст плюс 5-10 строк кода на каждый элемент формы. Если вы хотите делать хорошие формы, то часто нужно дублировать серверную работу с ошибками и клиентскую на JS, а это уже как минимум дублирование сообщений об ошибках.
    3) Вы убираете ручную валидацию из кода, размер которой часто значительно превышает размер кода содержащего логику обработки данных из этой формы.
    4) У формы кроме сайта может быть представление в мобильном приложении
    5) Другие менее значительные плюшки
    Ответ написан
    Комментировать
  • Как редиректить запрос с example.com/site на example.com?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Добавить строчку rewrite ^/jira(.*)$ $1 last;

    server {
        listen some_ip:443;
        server_name jira.example.com;
    
        ssl on;
        ssl_certificate /etc/nginx/ssl/example-com-new.crt;
        ssl_certificate_key /etc/nginx/ssl/example-com-new.key;
        ssl_prefer_server_ciphers On;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       
    
        client_max_body_size 32m;
    
    rewrite ^/jira(.*)$ $1 last;
    
        location / {
          proxy_set_header        Host $server_name;
          proxy_set_header        X-Real-IP $remote_addr;
          proxy_set_header        X-Forwarded-For $remote_addr;
          proxy_redirect          http:// https://;
          proxy_pass              http://Jira_upstream/;
        }
    
    }
    Ответ написан
    1 комментарий
  • Как при помощи JOIN выбрать несколько значений?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    SELECT p.`obj_id`
     FROM  `products` p
    LEFT JOIN  `objects` o ON p.`obj_id` = o.`id`
    LEFT JOIN  `objects_fields` oc ON p.`obj_id` = oc.`obj_id` 
    WHERE oc.`field_id` = 221 OR oc.`field_id` = 248


    общие замечания.
    Условия которые не являются правилом объединения следует выносить в WHERE.
    Алисы таблиц должны быть уникальны для каждой таблицы, в вашем случае алис "oc" декларируется дважды
    Ответ написан
    3 комментария
  • Как правильно составить регулярное выражение?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    да как бы нет. Можно так
    /\+38\(0\d{2}\)\d{3}-\d{2}-\d{2}/g
    но это как то не особо проще
    Ответ написан
    Комментировать
  • Почему сервер не дает подключаться к сайту в несколько потоков?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    1) лимит на количество соединений с одного ip заданы обычно где то или в iptables или в apache, вариантов задания этого ограничения много
    2) ограничение времени выполнения задано или в apache или скорее всего в php.ini достаточно увеличить max_execution_time
    Ответ написан
  • MySQL got error 28 from storage engine, когда диск не заполнен?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Для выполнения запроса(запросов) не хватило свободного места в /tmp
    При перезагрузке /tmp очистился соответственно mysql больше ничего не мешает.

    /tmp это папка с временными файлами туда пишут все программы, у неё может быть фиксированный размер или она может использовать общее пространство диска.

    При повторении проблемы обратите внимание на заполнение всех разделов, в выводе команды:
    df -h
    дальше уже думайтее по результатам
    Ответ написан
  • Mysql не принимает настройку table_open_cache, как всё таки сменить?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    В общем случае:

    Проверьте есть ли в /etc/security/limits.d/ что то про mysql
    если нет то создайте файлик /etc/security/limits.d/mysql.conf
    с таким содержимым:
    mysql           soft    nofile          65535
    mysql           hard    no file          65535


    Потом проверьте /etc/pam.d/common-session и добавьте если нет следующую строчку:
    session required pam_limits.so

    Если у вас свежий линукс дистрибутив использующий как основу systemd то лимиты выше не сработают для сервисов, тогда надо как то так
    Ответ написан
    1 комментарий
  • Как отобразить все процессы базы данных?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Это обёртка SHOW FULL PROCESSLIST и частота опроса в ней больше чем время выполнения запросов.
    включите логирование в my.cnf и используйте tail -f log.file
    Ответ написан
    1 комментарий
  • Как выполнить сортировку в в mysql?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    (SELECT * FROM tb WHERE start_date < NOW() AND end_date > NOW() ORDER BY end_date ASC)
    UNION 
    (SELECT * FROM tb WHERE start_date > NOW() ORDER BY start_date ASC)
    UNION 
    (SELECT * FROM tb WHERE end_date < NOW() ORDER BY end_date DESC)


    для сортировки всего датасета надо добавить поля для неё, приблизительно так
    (SELECT *, 1 as f1, UNIX_TIMESTAMP(end_date) as f2 FROM tb WHERE start_date < NOW() AND end_date > NOW() ORDER BY end_date ASC)
    UNION 
    (SELECT * , 2 as f1, UNIX_TIMESTAMP(start_date) as f2 FROM tb WHERE start_date > NOW() ORDER BY start_date ASC)
    UNION 
    (SELECT *, 3 as f1, (UNIX_TIMESTAMP(start_date) -  UNIX_TIMESTAMP(end_date)) as f2 FROM tb WHERE end_date < NOW() ORDER BY end_date DESC)
    ORDER BY f1, f2 ASC
    LIMIT 10,10


    но раз вам нужен LIMIT то лучше как то так:
    SELECT
    	*,
    	if(end_date < NOW(),3,if(start_date > NOW(),2,1)) as f1,
    	if(end_date < NOW(),UNIX_TIMESTAMP(start_date) -  UNIX_TIMESTAMP(end_date),if(start_date > NOW(),UNIX_TIMESTAMP(start_date),UNIX_TIMESTAMP(end_date))) as f2
    FROM t1
    ORDER BY f1, f2 ASC
    LIMIT 10,10

    просто этот вариант сложно читаем и вы должны понимать, что в нём и предыдущем индексы для сортировки использоваться не будут никогда
    Ответ написан
    2 комментария
  • Какой самый оптимальный / надежный вариант для хранения данных?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Взять redis и настроить синхронизацию с диском в зависимости от паранойи и производительности вашего сервера.

    Дело в том, что хеш таблицы это идеальная структура данных для вашей задачи.
    Ответ написан
    3 комментария
  • Какие есть платежные системы для вывода денег?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Яндекс.Деньги но по четвёртому пункту не уверен, по 5-му это всё относительно, если у вас юридически прозрачные транзакции и хороший объём то процент будет минимальный
    Ответ написан
    Комментировать
  • Как проверить отсутствие элемента внутри DIV через Javascript?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    А зачем JS? используйте плюс в css.

    .sign .price-right {
     /** сработает всегда **/
    }
    
    .sign .line-price + .price-right {
     /** стиль для .sign.price-right сработает когда он не один, и переопределит предыдущие правило**/
    }
    Ответ написан
    1 комментарий
  • Как достать из ссылки тот кусок, который нужен мне?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Если вопрос о правильной работе oauth, то настраивая подключение у провайдера oauth вы должны заполнить callback url, т.е. адресс на который провайдер будет делать ридерект.

    Если про то как вытащить переменные из http запроса когда пользователь находиться на не вашем сайте, то ответ: никак.

    Если вопрос про то как вытащить переменные из текущего http запроса то они все в глобальный переменных $_GET $_POST $_COOKIE и регулярками их точно доставать не нужно.
    Ответ написан
    Комментировать
  • Правильное определение свойств в классах(php)?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Всё это можно и нужно делать в function __construct(){}
    Ответ написан
    1 комментарий
  • Как правильно настраивать логи в nginx?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    sites-available логи для конкретного хоста.
    На остальные вопросы нет ответа, так как вы сами определяете, что вам нужно.
    Выключите все когда расстроитесь, что их нет, тогда сразу всё поймёте.
    Ответ написан
    2 комментария