• А существует ли что-то типа Git для БД (MySQL) - мне нужно понять как скрипт меняет содержимое БД не копаясь в самом скрипте?

    Придется сделать 2 базы - оригинальную и после изменений.

    После этого есть варианты:
    Можно воспользоваться mysqldbcompare в режиме --changes-for

    Или попросту сделать два дампа и сравнить их
    mysqldump --skip-comments --skip-extended-insert -u user database1 > file1.txt
    mysqldump --skip-comments --skip-extended-insert -u user database2 > file2.txt
    diff file1.txt file2.txt


    Ну или включить Audit Log в mysql и посмотреть по нему какие изменения будут вноситься.

    + https://liquibase.org/

    + Здесь в самом вопросе перечислено пяток инструментов https://stackoverflow.com/q/225772

    И кажется Mysql Workbench может сравнивать.
    Ответ написан
    2 комментария
  • На чем сделать упрощённый zoom?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Лучшее что сегодня есть - это QuickBlox
    https://quickblox.com/
    Условно-бесплатный SDK
    https://quickblox.com/pricing/
    Ответ написан
    Комментировать
  • На чем сделать упрощённый zoom?

    PaulKoz
    @PaulKoz
    Jitsi Meet или Nextcloud Talk
    Ответ написан
    Комментировать
  • На чем сделать упрощённый zoom?

    twix007
    @twix007
    Nextcloud Talk
    Ответ написан
    Комментировать
  • На чем сделать упрощённый zoom?

    fdroid
    @fdroid
    press any key
    Ответ написан
    Комментировать
  • На чем сделать упрощённый zoom?

    @KoreanGuy
    можно, конечно, взять webrtc и sfu и самому всё запилить, но это сложно и долго. Гугли jitsi-meet, это готовое бесплатное решение, которое просто устанавливаешь на сервер, настраиваешь и можешь подключаться через свой домен или jitsi-meet мобильное приложение, либо своё приложение можешь запилить. Там можно настроить разные типы авторизации (кто может создавать/присоединяться) - по паролю, по токену и тп.
    Ответ написан
    Комментировать
  • Как исправить ошибку Unable to resolve the request: site/error на yii2 basic?

    taurus2790
    @taurus2790
    Я не программер я только учусъ
    Возможно уже и нет необходимости отвечать, но вдруг кому пригодится.

    Возможно проблема в том что контроллер не знает на какой экшен отправлять ошибку.

    Для этого необходимо в контроллере прописать

    /**
         * {@inheritdoc}
         */
        public function actions()
        {
            return [
                'error' => [
                    'class' => 'yii\web\ErrorAction',
                ],
            ];
        }
    Ответ написан
    1 комментарий
  • Почему не запускается код на Java?

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

    Это не совсем так, поэтому читайте ниже.

    Суть проблемы:
    При повторение видео урока, а точнее действий в нем, желаемый результат не выводился. Конкретнее была написана программа вывода сообщения Hellow World в консоли WIndows
    А именно, компилированный ява файл, вызывался командой java ИМЯ.class, и выходила соответствующая ошибка: "could not find or load main class ИМЯ_класса"
    т
    Как решил:
    Вызывать надо уже ОТКОМПИЛИРОВАННЫЙ файл командой[b][i] java ИМЯ [/i][/b]И все!!! Тогда консоль нормально воспроизводит программу, если, разумеется, в ней нет ошибок.
    Возможно для гуру программирования, это очевидный ответ, и кажется что это норма, но я как 3-ью неделю изучающий яву, на второй день реально не понимал в чем суть проблемы. И так как несмотря на то что обучение идет трудно, мне было обидно и непонятно почему это не работает.

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

    1) Скачать JDK c оф сайта (ссылку давать не буду, это точно найти сможете)
    2) Установить скачанный пакет
    3) Подключить установленную ява машину к нашей системе ( у меня это Windows 7)
    а) зайти в папку с установленным пакетом и найти файл java.exe (у меня на Windows это было: C:\Program Files\Java\jdk1.8.0_05\bin\java.exe)
    _______обращаю внимание, что находить именно файл java.exe не обязательно, просто я сделал так=)
    б) Нажать на java.exe правой кнопкой мыши, выбрать "Свойства". В выскочевшем окошке, во вкладке "Общие", ищите строку "Расположение". Выделяйте и копируйте путь (у меня это C:\Program Files\Java\jdk1.8.0_05\bin)
    в) Открываем пуск, наводим мышку на "Мой компьютер", жмем правую кнопку мыши, жмем "Свойства".
    г) В открывшемся окне, слева, жмем кнопку "Дополнительный параметры системы"
    д) В отрывшемся окне "Свойства системы", во вкладке "Дополнительно" (она по умолчанию выделена/открыта), внизу ищем кнопку "Переменные среды". Жмем на нее
    е) В открывшемся окне "Переменные среды", в верхней его части, а именно "Переменная среды пользователя..." нажимаем кнопку создать
    ж) В открывшемся окне вводим имя переменной, у меня это Path (можно ли другую, я не знаю), а в поле "Значение" вводим наш скопированный путь (C:\Program Files\Java\jdk1.8.0_05\bin)
    д) Жмем "ОК", сохраняем все.
    4) Проверяем нашу ява машину
    а) Запускаем консоль (либо WIN + r => затем cmd и Enter либо Пуск => вводим в поиск над пуском cmd и жмем Enter)
    б) В открывшейся консоли, вводим java
    в) После этого должно появиться куча команд ява, служебная информция и прочее, если все нормально подключилось, если нет, то выдаст ошибку, вроде "Нет такой команды", или что-то похожее. Если что-то не так, делай действия выше по новой.
    5)Если все ок, идем дальше. Создаем нашу простую программу на java.
    6)Открываем блокнот, и пишем там код ниже:
    [code=java]public class Hellow
    {
    public static void main(String[] args)
    {
    System.out.println("Hellow World!");

    }
    }
    [/code]
    Обращаю внимание, что тут частые ошибки, это не написан метод "main", и "println" ошибочно написано. Внимательно проверьте что напечатали сами. Если вы абсолютный новичек, то прежде чем будете понимать что происходит, должно пройти время, поэтому не умничайте, и проверяйте вплоть до каждой запятой.
    7) Сохраняем наш файл. Вот тут обратите внимание на деталь: "В строке public class Hellow, слово Hellow, это имя класса, оно по сути, может быть почти любым, но очень важно, чтобы это имя совпадало с именем вашего файла, что вы сохраняете, причем если у вас он с большой буквы, значит и имя файла должно быть с большой. Сегодня я выяснил что в java вообще принято давать имена классов с большой буквы, так что не ленитесь, пишите с большой, но с маленькой, тоже не будет ошибкой, главное сохранить правило, какое имя класса, такое и имя файла.
    Сохранять надо с расширением .java
    В итоге, в нашем примере нужно сохранить файл в таком виде Hellow.java (вроде бы есть исключения, типо можно обозвать файл как хочу, но я не уверен, увы, но пока этого не знаю, так что делайте как выше написано, потом если узанете правду, напишите мне, благодарен буду)
    8) На данном этапе, мы просто создали файл, который может откомпилировать программа, вторая ошибка, это желать сразу открыть этот файл и исполнить его. Деталей я не знаю, но суть в том, что современные Операционки и процессоры, не умеют это делать, не знаю почему, вроде что то там с процессом производства компьютеров, они вроде 4-битные, или наоброт не 4 битные, короче этот код просто так не запустить, его нужно откомпилировать, перевести в машинный язык, который можно запускать, для этого идем к след шагу
    9)Запускаем консоль, в ней переходим в папку с нашим файлом Hellow.java
    Обращаю внимание, так как я полный новичек, то как переходить в консоли, тоже понятия не имел, на всякий случай распишу минимум, который нужно знать
    Чтобы зайти в каталог, нужно ввести команду cd ИМЯ_каталога. Например, нам нужно зайти в каталог/папку Desktop , вводим cd desktop. Разумеется, зайти мы туда сможем, только если эта папка находимся в том месте, где мы есть. Текущее местоположение отображается слева от вводимой команды в виде C:\Program Files\
    Чтобы вернуться в корневую папку диска C нужно ввести cd \
    Как-то можно подыматься на каталог выше, и прочие действия, но тут уже гуглите, у меня задача другая.
    Команда dir показывает список всех папок в данном каталоге/папке
    Если вы знаете точный путь к каталогу, можно из любого месте прописать полный путь в виде C:\Program Files\Java\... и вы туда попадете. В конце обязательно ставте \, а в начале диск C например. Иначе не сможете зайти.
    Команад help выводит вроде базовый список возможных команд

    Итого, алгоритм действий для попадания в нашу папку, где лежит файл Hellow.java
    ввести cd \
    потом dir
    прочитать что там есть, зайти в нужную папку командой cd ...
    снова dir
    и так далее
    Разумеется нужно понимать самому, где находиться твой файл, например, путь для файла, сохраненного на рабочем столе будет таким c:\users\ИМЯПОЛЬЗОВАТЕЛЯ\desktop\
    10) Теперь нам нужно откомпилировать файл Hellow.java. Для этого в консоли пишем javac Hellow.java
    Если все ок, через пару секунд снова загорится поле ввода команды.
    Если выскочила ошибка, как правило это какой либо косяк на этапе компиляции, читайте что там написано, там всегда пишут в чем была ошибка. Чаще всего это косяк в коде. Заходите в ваш файл и проверяйте внимательно строки. Чем чаще будете читать ошибки, тем быстрее научитесь их распозновать, Знание английского в 100500 раз облегчит работу.
    11) Когда файл откомпилировался, он сохраняется в той же папке, что и основной (Hellow.java), принимая имя, вроде бы класса, это детали, я их увы, не знаю, но расширение станет уже .class В нашем случае это будет файл Hellow.class
    12) Вот только теперь можно запускать этот файл, для проверки, что он у нас есть в папке, где мы находимся, в консоли вводим команду dir
    видим наш файл, и вводим команду java Hellow
    Причем обращаю внимание, не java Hellow.class , а именно java Hellow. Так как первый вариант выдаст ошибку, уж почему, извините, я не знаю.

    13) в консоли, на новой строке, выскочит сообщение Hellow World!
    Все.

    Вот собственно алгоритм запуска ява программ из консоил виндоус.
    Я не претендую на полноту изложения, убер крутой и новый материал, просто я две недели сам мучился с этой проблемой, и писал код в среде разработчика IDEA. И мучался тем, что имея уже какое-то представление о Java, не мог запустить ее через консоль. Меня это мучило, поэтому когда я смотря очередную лекцию, увидел в чем была моя ошибка, меня осенило, и я решил свою проблемы, сняв камень с души, и как следствие, успокоившись. На радостях, я решил, что если в мире есть хотя бы еще один человек, которому эта информация может помочь, то пусть будет так.

    Спасибо за внимание и заранее извините за ошибки. Если когда-нибудь надо будет, может быть я исправлю все недочеты своей короткой статьи, а пока держите, как есть.
    Удачи в программировании!
    Ответ написан
    10 комментариев
  • Как правильно писать названия переменных, функций и тому-подобное?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    нижнее подчеркивание у функции убираем и все уже чуть получше.

    В целом же названия надо делать осмысленными. То есть если не знаем как что назвать, просто формулируем что мы хотим сделать (на английском языке), и исходя из этого уже выдумываем названия:

    // calculate sum
    $sum = calculateSum(); 
    // generate report for premium users
    $sum = generateReport(new PremiumUsersSpecification());


    как-то так. Ну а что как, у меня такие правила:

    - константы - SCREAMING_SNAKE_CASE
    - названия объектов - UpperCamelCase
    - названия переменных, методов, функций и т.д. - lowerCamelCase
    - таблички/поля в бд, json, yml - snake_case
    Ответ написан
    Комментировать
  • Как организуется серверная часть у хостинг провайдеров?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    У кого как.
    Есть простой проверенный годами способ (правда, скоро этого способа не будет, к сожалению) - взять ISP manager + ISP BillManager + VMmanager. Всё оно там автоматизируется само, провязывается и услуги после оплаты автоматически включаются.
    Правда, пятая версия всей этой байды так себе, а четвертую поддерживать больше не будут.

    А так - на чём разработчик есть в штате, на том и пишут. Я встречался с .NET-овой начинкой, php-ной, питонячьей, рубевой. Видел хостера, где услуги выдаются вручную, видел полную автоматику.
    Ответ написан
    2 комментария
  • Как сделать зачисление денег на баланс пользователя?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Нанять программиста.
    Если нет денег - пойти работать подавальщиком в макдональдс.
    Ответ написан
    Комментировать