• Что такое slug в разработке?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Чаще всего, как уже написали, встречается в URL, но все же его значение чуть более шире - slug это уникальная строка идентификатор, понятная человеку (в отличие от ID) и содержащая только "безопасные" символы:
    - 0-9
    - a-z (общепринято - в нижнем регистре)
    - символ -
    - иногда еще символ _
    Могут использоваться не только в URL для понятности, но и, например, в запросах к БД (в первую очередь - на уровне АПИ) - ведь
    SELECT * FROM pages WHERE category="some-slug"
    более понятно, чем
    SELECT * FROM pages WHERE category=126.
    На уровне API это выглядит как
    get_pages_in_category( 'some-slug' )
    или
    $object->get_pages_in_category( 'some-slug' ).
    В общем, это человеко-понятный уникальный идентификатор.
    Ответ написан
    1 комментарий
  • PyQt5 или PySide 2?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    Основное отличие -- это лицензии под которыми распространяются эти две обёртки над Qt.

    PyQt5 распространяется под GPL и коммерческой лицензией.

    PySide2 распространяется как Qt под GPL, LGPL и коммерческой лицензией.

    Пишите открытое/свободное ПО -- можно использовать как PyQt5, так и PySide 2.o

    Пишите закрытое/коммерческое ПО -- бесплатно можно использовать только PySide 2, а для использования PyQt5 потребуется покупать коммерческую лицензию.

    И если Вы живёте, работаете на компанию или имеете клиентов в США и Евросоюзе -- различие существенное, судебные иски там бывают.

    На постсоветском пространстве, я не припоминаю, чтобы кто-то подавал в суд из-за использования библиотек под лицензией GPL в коммерческих продуктах.

    Если Вам непринципиально на каком современном GUI-тулките писать десктом-приложение. С Python, помимо обёрток над GUI-тулкитом Qt5 (PyQt5, PySide 2), можно использовать обёртку для GUI-тулкита Gtk3 -- см. документацию тут Python GTK+ 3 и тут PyGObject -- код GTK и необходимых для Python библиотек лицензирован под LGPL, что позволяет использовать их в коммерческих продуктах.

    ДОПОЛНЕНО исходя из комментария автора вопроса

    Но меня интерисовала скорее производительность.


    Старайтесь формулировать вопрос так, чтобы он отражал то, что Вас интересует.

    В июне был открыт и в июле уже закрыт багрепорт по производительности одного из классов PySide2 в сравнении с тем же классом в PyQt5:
    https://bugreports.qt.io/browse/PYSIDE-727

    Если говорить о производительности в целом, то вопрос не имеет особого смысла.

    Производительность обеих обёрток упирается в производительность компонентов Qt5.

    Сравнивать производительность обеих обёрток надо по одинаковым кейсам.

    Большая разница в производительности PySide2 и PyQt5 на одном и том же кейсе будет причиной для багрепорта и исправления в PySide2 или в PyQt5, соответственно.

    Вы можете перестраховаться и 6-12 месяцев не трогать PySide2 со дня первого стабильного релиза (16.07.2018). Вдруг ещё остались недоработки, так пусть другие разработчики и компании используют PySide2 в продакшене на свой страх и риск сейчас, попишут разработчикам PySide2 багрепорты, а Вы получите от сообщества более стабильный и проверенный, не на Вас и не на ваших пользователях, продукт.

    Так как один проект официальный, а второй нет.


    Не совсем понятно, что такое официальный проект.

    На сайте Qt есть раздел Qt для Python, сейчас там написано про PySide2:
    doc.qt.io/qtforpython/index.html

    Это при том, что PyQt5 вышла давно, а PySide2 после многих лет разработки стабилизировали недавно.

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

    В таком случае, PySide2 можно считать "официальным" проектом, а PyQt5 стало быть "кустарщиной".
    Ответ написан
    4 комментария
  • Xming + PuTTY не переключается раскладка клавиатуры

    @demsi
    При запуске Xming через XLaunch в 3 окне по счету "Additional parameters" в поле "Additional parameters for Xming" введите строчку:
    -xkblayout us,ru -xkbvariant winkeys -xkboptions grp:ctrl_shift_toggle

    В итоге будут две раскладки клавиатуры(русская и английская) и переключаться они будут по ctrl+shift.
    Ответ написан
    Комментировать