sonia jessica21 июня 2022 г. 2:34

JavaJava-программы для работы с массивами

Java, Interview

Массивы в java:

  • Массив — это базовая структура данных, которая содержит элементы схожих типов данных.
  • Всегда есть порядок среди позиций элемента.
  • Доступ к нему можно получить с помощью индексов. Java поддерживает массивы с нулевым индексом. Означает, что индекс массива начинается с 0 в java.
  • Мы можем объявить массив в java как-
    1.int[] arr = new int[size];
    2.int[] arr = {1,2,3…};
    3.int[] arr = new int[]{1,2,3,...};
Евгений Легоцкой1 июня 2022 г. 3:30

DjangoDjango - Урок 059. Сохранение выбранного языка в настройках пользователя

python, language, translation, django

В этой статье я бы хотел показать пример того, как можно сделать на сайте ссылку, чтобы пользователь мог переключаться между языками на сайте.

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

Для этого нам понадобится добавить поле кода языка в модель пользователя, надеюсь, что все уже используют свою модель пользователя в Django вместо стандартной.
Переписать стандартную функцию установки языка Django, а также добавить Middleware, который будет обрабатывать запрашиваемые с сайта url.

Помимо прочего, данный функционал будет полезен для того, чтобы формировать письма с правильным языком для зарегистрированных пользователей.

Статья написана на основе Django 4 и может не подходить для более старших версий Django.

Павел Дорофеев29 мая 2022 г. 10:28

Проекты на QtКак реализовать TLSv1.2 на Qt 4.8.1

qssl

Изначально QSsl в Qt 4.8.1 (выпущенный примерно 13 лет назад) использовал только максимум TLS v1.0.

Сегодня 2022г и Tls v1.0 и v1.1 блокируются почти всеми приличными сайтами в интернете.

Qt в QSsl использует открытую библиотеку openssl.

Евгений Легоцкой18 апреля 2022 г. 16:39

DjangoDjango - Урок 058. Разрастание базы данных из-за таблицы django_session

Django, Postgres, garbage collection, Python, PostgreSQL

Последнее время я заметил, что близится тот роковой момент, когда ккатастрофически перестанет хватать дискового пространства для сайта на хостинге. А дамп базы данных становится невероятно огромным, хотя очевидных предпосылок для этого никаких нет. Размер контента на сайте не растёт так быстро, да и количество зарегистрированных пользователей также не прибывает так быстро.

После изучения базы данных было обнаружено, что размер таблицы django_session просто гигантский почти 7 Гб, а размер индекса тоже достигает почти 6.5 Гб, при том, что размер самой базы данных 14 Гб.

При этом размер второй по величине таблицы всего 11 Мб и это стороннее приложение со списком городов. А размер третьей таблицы, которая содержит сообщения на форуме всего 8 Мб.

Соответственно было решено разобраться, почему это происходит и как исправлять.

Сейчас я скорее всего не открою ничего нового для тех, кто активно администрирует базы данных на PostgreSQL, но для новичков и тех, кто в основном занимается Django в качестве PET проекта, без профессионального использования, информация может быть полезной.

Евгений Легоцкой14 февраля 2022 г. 3:24

DjangoDjango Rest Framework - Урок 001. Добавление аутентификации по токену

Django Rest Framework, QML, Authentication, Token, drf, Felgo

На данный момент я активно работаю над приложение, которое будет работат с REST API сайта на Django. И одним из первых шагов была настройка аутентификации пользователя по токену, но для того, чтобы это заработало, нужно сначала получить токен авторизации.

Давайте рассмотрим, как это можно сделать.

Евгений Легоцкой10 февраля 2022 г. 3:13

DjangoDjango - Урок 057. Поддержка мультиязычности в MarkdownField с функционалом auto populate

MarkdownField, markdown, modeltranslation, Django

В статье Как написать функционал auto populate field было дано описание простейшего функционала поля MarkdownField для поддержки markdown синтаксиса на сайте с автоматическим генерированием html контента.

Я не стал сразу показывать расширенный функционал, чтобы было проще понять, что из себя представляет подобное Markdown поле. Но теперь хотел бы расширить данный функционал, чтобы добавить поддержку мумльтиязычности.

Евгений Легоцкой9 февраля 2022 г. 5:11

DjangoDjango - Урок 056. Как конвертировать изображение в формат WEBP при сохранении в ImageField

ImageField, Django, WEBPField, webp, Python

WEBP - это формат сжатия изображений, который был предложен Google в 2010 году. Главным его преимуществом является низкий размер без видимых потерь качества по сравнению с такими форматами, как JPEG или PNG. Поэтому вполне логично использовать данный формат для хранения изображений на сайте, особенно если у вас нет необходимости хранить оригиналы изображений на сайте.

После длительных поисков я так и не нашёл готового и простого решения, которое бы поддерживало конвертацию изображений в формат WEBP на лету.
Поэтому решил написать свой вариант, который в итоге состоит из пары десяток строчек и прост как деревянная доска.

Евгений Легоцкой8 февраля 2022 г. 5:55

DjangoDjango - Урок 055. Как написать функционал auto populate field

field, Django, python, auto, Python

Очень давно хотел написать статью о том, как написать функционал auto populate field для проекта на Django . Это очень полезный функционал, который позволяет изменять содержимое других полей модели в Django при установке значение в то поле, в котором используется auto populate.

Во-первых, зачем это нужно? - Подобный функционал позволяет сократить размеры кода в тех местах, где нужно переписывать другие поля объекта, при их изменении. То есть, вам например не придется каждый раз переопределять метод save, чтобы переписать какое-то поле в случае изменения других полей объекта. Также использование auto populate в принципе более продвинутый и аккуратный способ управления моделями данных в Django.
А также подобный подход моет решить некоторые проблемы и улучшить работу сайта.

Евгений Легоцкой7 февраля 2022 г. 7:52

QtQt/C++ Урок 092. Создание переводов для внешних источников текста

Qt 6, Qt, Qt 5, QtLinguist, translation

Сегодня обсудим довольно интересный вариант добавления перевод в приложение на Qt/C++. А именно добавление переводов для текстов из внешних источников, когда вы отображаете тексты из баз данных, внешнего API или просто каких-то других файлов.

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

Но в Qt есть возможноть решить и такую проблему. В таких ситуациях можно точно также сформировать файлы исходных кодов, например сгенерировать при импорте данных во время разработки приложения, после чего сформировать файлы переводов с раширением *.ts , которые используются в QtLinguist для перевода приложения на Qt и после чего сформировать бинарные *.qm файлы переводов, которые будут подключаться в приложении.

Давайте разберёмся, как это работает и что нужно предпринять для этого.

Card image cap
Pulsum Via

Проект для путешественников от EVILEG.

Перейти
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг
Поделиться в социальных сетях
Donate

Проект EVILEG перешёл на некоммерческую основу и будет развиваться исключительно на энтузиазме создателя сайта, энтузиазме пользователей, пожертвованиях и реферальной системе хостинга

Спасибо за вашу поддержку

Доступные способы поддержки проекта

PayPal

PatreonYooMoneyПодробнее
ДП

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:10баллов,
  • Очки рейтинга-10
ВС

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:0баллов,
  • Очки рейтинга-10
ВС

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50баллов,
  • Очки рейтинга-4
Последние комментарии
Ds

Android и QML - Добавление Splash Screen

Интересен формат иконки, если это png, то как решается проблема scalability? не растягивается ли лого на китайфонах с 1280х2500? У меня просто сплеш скрин с градиентом и логотипом, и вот несколь…
p

Qt/C++ - Урок 023. Перетаскивание QGraphicsItem на QGraphicsScene мышью

FIGURE Abdominopelvic regions. Zjuaqd https://newfasttadalafil.com/ - Cialis Cialis Recommendations for preparing children and adolescents for invasive cardiac procedures a statement…
КГ

Как использовать вложенные формы в Django

Спасибо за полезную статью. Подскажите пожалуйста, что делать если нужно реализовать большее количество вложенных форм? Например если на модель Address ссылается fk другой модели, на котору…

Qt/C++ - Урок 051. QMediaPlayer - Аудио плеер на Qt

Не думаю, QMediaPlayer в один поток проигрывает. Если вам нужно одновременное воспроизведение нескольких аудиоисточников, то вам нужна Bass audio library , насколько знаю, её обычно и…
АГ

Qt/C++ - Урок 051. QMediaPlayer - Аудио плеер на Qt

есть такая вообще возможность ?
Сейчас обсуждают на форуме
АБ

Sorting the added QML elements in the ListModel

I am writing an alarm clock in QML, I am required to sort the alarms in ascending order (depending on the date or time (if there are several alarms on the same day). I've done the sorting …

Изменение поведения QGroupBox при клике на его чекбокс

Я вынес виджеты вынес за пределы QGroupBox в итоге.

QSqlRelatipnalTabelModel Qt 4.8.1 как получить id внешней связи?

Есть еще принципиально другой вариант решить раз и навсегда вопрос с полей id внешней связи. Это форкнуть Qt 4.8.1 QSqlTableModel, то есть создать свою ветку развития. Например создадим кл…

Добавление AndroidManifest.xml в cmake

Добрый день. Как добавить AndroidManifest.xml в cmake? Это не работвет set(ANDROID_PACKAGE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/android CACHE INTERNAL "")set(ANDROID_BUID_DIR ${CMAKE_C…
s

Событие wheelEvent для виджета QLineEdit

вот что получилось: gui.py from PyQt5 import QtCore, QtGui, QtWidgets class LineEdit(QtWidgets.QLineEdit): def wheelEvent(self, event): #print("_") delta = 1 if e…
О нас
Услуги
© EVILEG 2015-2022
Рекомендует хостинг TIMEWEB