• Почему так сильно лагает RDP на linux?

    @lod2007
    Ещё в xrdp лагает раскладка клавиатуры.
    Лечиться так:
    sudo setxkbmap -option 'grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:menu' -layout 'us,ru'

    так же смотри:
    https://sevo44.ru/xrdp-terminalnyj-server-linux/#__XRDP

    vim /etc/xrdp/xrdp_keyboard.ini
    = необходимые проверки и дополнения =
    В моем случае эти коды были, но лучше проверить их наличие
    [default_rdp_layouts]
    rdp_layout_us=0x00000409
    rdp_layout_ru=0x00000419

    Всё что ниже добавляем в конце не забывая что переключение происходит сочетанием клавиш alt+shift
    [layouts_map_ru]
    rdp_layout_us=ru,us
    rdp_layout_ru=ru,us

    [rdp_keyboard_ru]
    keyboard_type=4
    keyboard_type=7
    keyboard_subtype=1
    ; model=pc105 при необходимости
    options=grp:alt_shift_toggle
    rdp_layouts=default_rdp_layouts
    layouts_map=layouts_map_ru

    Рестартуем сервис:
    sudo service xrdp restart
  • Почему так сильно лагает RDP на linux?

    @lod2007
    Vnc - это просто передача картинки с линукса на клиента. Вобщем это псевдо удаленное управление. Если нет видеокарты - то vnc не работает, а вот xrdp работает без видеокарты на удаленной машине.
    Я пользуюсь RDP:
    1. Создаётся реальная сессия.
    2. Прокидывается буфер обмена.
    3. Заходишь с любой машины windows.
    4. Задержка есть, но не критичная (сопоставимая если заходишь на win-машину по rdp).

    Ещё замечено: rdp c win10 работает намного лучше, чем с win7 (видимо что-то доработали для win10, или что-то сломали для win7).

    sudo apt-get update

    sudo apt install xrdp xorgxrdp
    sudo apt install -y freerdp-x11

    echo env -u SESSION_MANAGER -u DBUS_SESSION_BUS_ADDRESS mate-session>~/.xsession

    echo mate-session>~/.xsession

    sudo reboot

    "mate-session>~/.xsession" - тут подставить оболочку своей системы.
  • Почему может медленно работать виртуальная машина?

    @lod2007
    Тоже притормаживала 7-ка, и разрешение экрана не выставлялось в FullHD.
    В виртуальной машине поставил: VirtualBox guest additions - ось стала намного быстрее работать и графика перестала тормозить.
    Скачать VirtualBox guest additions - можно с оф.сайта VirtualBox в файл-обменнике.
  • Как написать SQL запрос, в котором в Where выполнилось бы условие: разница между балансовыми счетами (40302-40301)>0?

    @lod2007 Автор вопроса
    Макс: Надо на чистом SQL (пишу на QlickView). Можно использовать group by (sum,avg и прочее), Union, Where. Не поддерживаются join и выборка из нескольких таблиц, т.е. where a.bal=b.bal - не прокатывает.
    Логика выбора такая: если разница сумм между счетами (40302 - 40301) > 0, тогда вывести их в виде:
    40302
    40301
  • Какой запрос нужно написать, чтобы вывести уровень вложенности для пункта меню?

    @lod2007
    Структура должна быть: id,idparent, прочие поля (имя, что угодно)....
    Далее делаешь рекурсивный запрос, который может вывести: уровень, или сумму, или с уровня по уровень.
    Под рукой нет запроса, прийду домой - скину.
  • Кеш ajax-запросов в jquery — где здесь логика. Версия 2?

    @lod2007 Автор вопроса
    Т.е. я правильно понимаю, что если логотип сайта в шапке уже был загружен, то при обновлении страницы браузер второй раз его с сервера "mysyte/img/logo.png" тянуть не будет?
  • Кеш ajax-запросов в jquery — где здесь логика. Версия 2?

    @lod2007 Автор вопроса
    Это и понятно. Я в php и JS новичок. Не знаю где поставить установку, чтобы картинка кешировалась. По клику через AJAX в Div-контейнер загружается много div элементов, для которых в отдельном файле CSS прописан background, где указан путь к файлу фона. Фон один и тот же для всех элементов, но количество элементов и содержимое самого элемента естественно меняется. Вопрос: как закэшировать бэкграунд? или если в AJAX запросе поставить cach: true, то браузер сам поймет что такую картинку уже качал и подсунет ее из кэша? или браузеру надо как-то указать, что такую-то картинку помести к себе в Кэш?
  • Как передать значения AJAX методом POST и вставить их в запрос?

    @lod2007
    я про тоже "or 1=1" - выведет все данные. Проверьте переменные $dateStart и $dateEnd непосредственно перед запросом выведите их значение через var_dump, посмотрите в каком виде они передаются в запрос. Я не работал с MySQL, но работаю с MS SQL Server, так вот там в запрос SQL дата передается как строка вида '01/05/2015' - обязательно с одинарными кавычками.
    Выясните, в каком виде MySQL "потребляет дату" - и заранее приведите эти данные в требуемый вид (как переделать дату на PHP или JS в строку - google знает).
  • С чего начинать проектировать приложение?

    @lod2007
    Если идея изначально кривая (родилась в голове) - то такая кривая она и попадет в ТЗ, по которому будет спроектирована база. Потом на практике это выясниться - перепишется ТЗ и переделается база. Вывод: не надо до "мозолей" прорабатывать ТЗ - все равно придется переделывать. Лучший вариант: легкое ТЗ и пилотный вариант, который и покажет кривизну ТЗ, а то и вовсе кривизну проекта в целом. В остальном все правильно: надо сразу закладывать возможный "масштаб" (аппетит у заказчика иногда приходит во время еды).
  • MVC. Как преобразовать (вынести) View из контроллера в модель?

    @lod2007 Автор вопроса
    avada kedavra: Спасибо, за участие. От безысходности я так и делал: закидывал в шаблон данные через доп. переменную: $dat=$this->data; А в шаблоне уже брал из $dat;
    Но вчера на удивление заработал такой код:
    Class ......
    public $MyData;
    public function Display(){
    includ(template.php);
    }
    //template.php
    <? echo "".$this->MyData."" ?>
    Почему до этого он не срабатывал - не знаю, может просто глючил компьютер, или я в конце дня).
  • MVC. Как преобразовать (вынести) View из контроллера в модель?

    @lod2007 Автор вопроса
    Не получился этот способ. После команды:
    $this->view->display('template.html'); //использование
    в шаблон через $this передается класс view, а не Controller.
    //template.html
    <? "".$this->MyData."" ?> // возвращает пусто, т.к. $this - это объект класса View.
  • MVC. Как преобразовать (вынести) View из контроллера в модель?

    @lod2007 Автор вопроса
    avada kedavra, Спасибо, на первый взгляд кажется это то, что нужно. Как попробую - отпишу. Я только начал разбираться с MVC. В теории и видео уроках все понятно. Но я решаю сложную задачу, где модель не описывается простым "Select * from News" - получили простой сайт для новостей. Не могу найти примеры связки JQuery и MVC php. Поэтому пока делаю так:
    JS отправляет AJAX запрос Роутеру с данными: класс/метод/параметры. Роутер разбирает строку и вызывает соответствующий Контролер, который вызывает Модель, а после ее отработки, отображает данные. Когда я написал 3-й контроллер, то мелькнула мысль: не писать 10 контролеров, а сразу с Роутера вызывать нужную модель, ей отдавать данные, и чтоб модель же их показывала. Например, от JS в php Роутер пришли данные одной строкой: класс1/метод1/метод2/параметры/класс2/метод3/.
    Чтобы не писать кучу кода в Роутере: если класс1, то контроллер ведет себя так-то... Я решил сделать проще:
    Находим класс1 в моделях, создаем его объект, присваиваем ему параметры, вызываем метод1, метод2. Затем тоже самое в этом же цикле делаем для класса 2 (т.е. для второй модели).
    Получается, у меня нет класса контроллера, а я пытаюсь делать все на классе модели - это не правильно да!?
    Наверно правильно будет так:
    class Controller 
    {
     private $view;
     private $model;
    
     public function __construct() {
      $this->view=new View();
      $this->model=new Model();
      }
     ...
     $this->model->GetData(SQL);
     $this->view->display('template.html');  //использование
    }
    class View 
    {
      public function display($template); {
          include($template);
      }
    }
    class Model
     public MyString;
    {
      public function GetData(SQL); {
        $this->MyString=Open(SQL) ;
      }
    }

    Тогда для каждого класса приложения будет свой Контролер, который рулит подклассами Вида и Модели.
    Запрос вида: класс1/метод1/параметры/класс2/метод3/метод4/ нужно применять только к классам Контроллеров. Т.е. Роутер разбирает строку запроса, создает объекты контроллеры, а те уже в свою очередь сами создают модели и виды и управляют ими. Так!?
  • MVC. Как преобразовать (вынести) View из контроллера в модель?

    @lod2007 Автор вопроса
    Хочу схитрить и не писать 33 контроллера, а сделать один универсальный. Зачем писать в контроллере каждый раз: include('отображение поведения класса 1')? Если можно задать в Классах Модели метод Display, а затем вызывать его для Любого экземпляра ЛЮБОГО класса. Например, Роутер получил команду "foo,bar,display" по которой работают два класса:
    $foo = new Foo();
    $foo ->Display();
    $bar = new Bar();
    $Bar -> Display();
    Логично будет сделать так:
    Цикл для всех задействованных в команде Роутера классов:
    $My= New ЛюбойКласс();
    $My->Display();
    конец цикла

    Вид все равно пишется под данные определенной модели!? Так зачем промежуточное звено контролера, если в классе Модели можно определить в каком Виде подавать те или иные данные?
  • Как реализовать скрытие новостей из ленты у пользователя?

    @lod2007
    Просто делаете таблицу: News_Del и два поля в ней: idNews, idUSer. Дальше используем эту таблицу как фильтр: отображать все новости с учетом пабликов, кроме тех, что в таблице News_Del. По ресурсам это будет оптимальный вариант. Еще не плохой вариант - ограничивать пользователей по времени отображения новости. Т.е. спустя 1-5 лет - часть news стирать, которые устарели.