среда, 27 декабря 2017 г.
пятница, 22 декабря 2017 г.
Конкурент firebase
https://appcenter.ms/apps решениев от майкрософта, дает возможность там поставить сертификаты, и забыть о боле публикации новых версий мобильных приложений в магазины с разных лептопов, выходит как ci в этом процессе.
Также дает возможность быть сервером который присылает javascript в react-native приложения, таким образом это какбы релизы без релизов в апсторы. То есть поведение приложения может меняться этими сприптами, которые приложения будут получать от сервера https://appcenter.ms/apps
Альтернативная CI https://fastlane.tools/ , более стабильная, но требует больше настроек.
Аналитика пока на данный момент отстает от Google firebasе, но в будущем кто знает...
Также дает возможность быть сервером который присылает javascript в react-native приложения, таким образом это какбы релизы без релизов в апсторы. То есть поведение приложения может меняться этими сприптами, которые приложения будут получать от сервера https://appcenter.ms/apps
Альтернативная CI https://fastlane.tools/ , более стабильная, но требует больше настроек.
Аналитика пока на данный момент отстает от Google firebasе, но в будущем кто знает...
networksciencebook.com
Прикольная книга Ласло Барабаши (
Albert-Laszlo Barabasi)
http://networksciencebook.com/
Albert-Laszlo Barabasi)
http://networksciencebook.com/
среда, 20 декабря 2017 г.
вторник, 19 декабря 2017 г.
Создание web проекта на django
$ easy_install pip #утилита идет вместе с установкой python $ pip install django==1.9 $ pip install --upgrade pip $ django-admin startproject myprojectapi $ mkdir src $ mv manage.py src/ $ mv myprojectname src/ $ pip install virtualenv $ virtualenv venv #кокретную версию python устанавливаем под конкретный проект, то же самое у дополнительными модулями $ source ./venv/bin/activate #именно этой сессии shell устанавливаем версию python и необходимых модулей под этот проект $ pip install djangorestframework==3.3 #делаем rest backend, которым будем обслуживать отдельное приложение для фронтенда, которое будет четко обслужено javascript&node $ pip install django-cors-headers==1.1 #защищаемся от CORS $ python manage.py startapp myprojectcore $ python manage.py makemigrations myprojectcore #генерация метакода для обслуживания моделей?? вроде...) $ python manage.py migrate $ python manage.py runserver # запуск wsgi сервера $ python manage.py test $ pip install mysql-python #драйвер для подключения к mysql $ #отчеты после тестов хотелось бы иметь в хорошем виде, для этого ряд следующих комманад: $ pip install django-nose #раннер для тестов $ pip install pinocchio # набор расширений для фреймворка тестирования nose $ pip install coverage # ну это понятно, утилита для измерения покрытия тестами кода $ cd src $ pip freeze > requirements.txt # сохранить текущие версии модулей зависимостей - которые требуются для работы приложения
Если есть проблема, что вируаленв нужен для python3 и он даже поставлен, но когда пытаешь пользоваться утилитой virtualenv, а она обращается к питону2, то тогда решается это так:
$ python3 -m venv venv
Вот например у нас есть файл requirements_test.txt:
-r requirements.txt colorama==0.3.9 coverage==4.3.4 django-nose==1.4.4 nose==1.3.7 packaging==16.8 pinocchio==0.4.2
Его нужно воспринимать, что каждая строка будет выполнена так:
$ pip install -r requirements.txt $ pip install colorama==0.3.9 $ pip install coverage==4.3.4 $ pip install django-nose==1.4.4 $ pip install nose==1.3.7 $ pip install packaging==16.8 $ pip install pinocchio==0.4.2
Чтобы пользоваться кешом, нужно его присоединить на диск:
$ time docker run --rm todobackend-dev $ docker run -v /tmp/cache:/cache --entrypoint true --name cache todobackend-dev $ docker ps -a $ docker run --rm --volumes-from cache todobackend-dev
Кеш можно создавать и через docker-compose:
test:
build: ../../
dockerfile: docker/dev/Dockerfile
volumes_from:
- cache
links:
- db
environment:
DJANGO_SETTINGS_MODULE: todobackend.settings.test
MYSQL_HOST: db
MYSQL_USER: root
MYSQL_PASSWORD: password
TEST_OUTPUT_DIR: /reports
db:
image: mysql:5.6
hostname: db
expose:
- "3306"
environment:
MYSQL_ROOT_PASSWORD: password
cache:
build: ../../
dockerfile: docker/dev/Dockerfile
volumes:
- /tmp/cache:/cache
entrypoint: "true"
https://caremad.io/posts/2013/07/setup-vs-requirement/