Подготовка к релизу приложения на google play market
Небольшой гайд по настройке gradle проекта, и android studio для подготовке к сборке релиза для google play market.
Читать далее »
Небольшой гайд по настройке gradle проекта, и android studio для подготовке к сборке релиза для google play market.
Читать далее »
В любом языке с долгой историей появляется то-ли фича то ли бага делать одну, вроде бы простую вещь можно несколькими способами. Возьмем тривиальную задачу: объединить два массива одного типа в один в java. И тут оказывается есть три способа как это сделать с разной степенью абстракции и со своими плюсами и минусами. Рассмотрим их.
Читать далее »
Для некоторого круга задач автоматизации обмена данными между различными приложениями необходимо работать с форматом CSV. Рассмотрим способы работы с этим форматом в Java.
Читать далее »
Тоном хорошей разработки пользовательского интерфейса я считаю предупреждение ошибок пользователя, проектирование логики приложения таким образом, что бы пользователь не смог допустить ошибки. Одной из часто распространенных ошибок пользователей админок сайтов является загрузка файлов,имя которых задано кириллицей, что на некоторых шаред-хостингах (да и вообще любой хостинг можно криво настроить ) может привести к невозможности загрузки файла с сервера. Особенно печально это выглядит при публикации статей или новостей в которых используются изображения как часть контента. Для того, чтобы это предотвратить, мы можем автоматически при сохранении изображения переименовывать файл в удобный для нас вид и использовать для верстки страниц уже корректное имя файла, которое со сто-процентной вероятностью будет корректно обрабатываться сервером.
Читать далее »
Интересная задача: как обновить базу данных приложения, если мы ее используем в качестве источника данных и не храним никаких пользовательских данных? Сходу можно предложить вариант использовать текстовый дамп таблицы или при поставке обновления приложения полностью перезаписывать данные в приложении на новые. Рассмотрим второй вариант в применении к SQLite базе данных.
UPD. Подход прикольный, но в использовать не рекомендую, при каждом обращении к базе данных перекопируется файл из ассетса. Причина в том, что при моем подходе почему-то после отработки функции onCreate движок не считал базу данных созданной. Сейчас в поиске оптимального решения.
Читать далее »
Обычно стандартного представления модели в админке джанго достаточно для целей редактирования и добавления материалов. Однако когда модель усложняется и хочется автоматизировать некоторые действия при наполнении сайта (создание ссылки для ЧПУ, проверка корректности имен файлов картинок) можно воспользоваться расширением моделей административного интерфейса (ModelAdmin).
Читать далее »
Иногда на хостинге нет возможности поставить дополнительное программное обеспечение (nginx, mod_wsgi и т.п.), но есть возможность править конфигурационный файл сервера apache. Применительно для Django, без дополнительных настроек конфига это нам грозит повышенным расходом памяти для отдачи статики, и, в том числе, задержки при работе файловой системы на подгрузку дополнительных исполняемых файлов фреймворка Django.
Читать далее »
Часта ситуация когда в Oracle размер таблиц достигает больших величин и мы оказываемся в положении когда прикладное приложение просто не может записать что-либо в базу данных. Пришлось столкнуться с такой проблемой в Oracle XE, когда размер уперся в лицензионное ограничение этой бесплатной версии oracle.
Читать далее »
По моему мнению логины на сайте должны быть регистронезависимыми, так как регистрация на одном сайте пользователей с логином «Django» и «django» может привести к неприятным конфузам. Будем отучать джанго от этого.
Читать далее »
На одном поддерживаемом сервере с oracle «неожиданно» кончилось свободное место, после изысканий обнаружил, что софт генерировал отладочную инофрмацию и оракл сохранял инциденты (INICIDENTS) в системный раздел. Для их корректной очистки воспользуемся утилитой adrci. Это стандартная утилита, которая идет в поставке оракла.
Читать далее »