1. Схема классического правильного питания

Автор: Нина Карулина
1. Схема классического правильного питания

Автор: Нина Карулина
САМАЯ СЛОЖНАЯ РАБОТА — ЭТО РАБОТА НАД СОБОЙ! 15 СОВЕТОВ для тех, кто решил худеть… 1. Диета:"Любимая" 2. Гречка — страшный враг жира 3. Как правильно пить воду, чтобы похудеть 4. Картофельный сок — естественный способ похудеть и стать моложе 5. Пьем вечером стакан, а утром худее на 1,5 кг. 6. В борьбе с целлюлитом и отеками — пейте дренажные чаи 7. Ананасовая настойка для похудения 8. Эта чудесная смесь поможет вам скинуть за неделю 4-5 кг. 9. Вода Сасси 10. Уникальный рецепт — очищаем организм и сбрасываем лишний вес 11. Рейтинг круп для похудения 12. Самые «легкие» продукты 13. Кефир со свеклой сжигает 5 кг. жира за 3 дня 14. Жиросжигающий суп. -8 кг за неделю 15. Чем полезна тыква и корица
1. ДИЕТА "ЛЮБИМАЯ". За 7 дней уходит до 10 кг. без возврата + очищается организм. 1 ДЕНЬ: питьевой (пьем все что хотим, в том числе бульоны) 2 ДЕНЬ: овощной (кушаем салаты в любом количестве, желательно с добавлением капусты (она жиросжигатель) 3 ДЕНЬ: питьевой 4 ДЕНЬ: фруктовый (кушаем фрукты, желательно грейпфруты (жиросжигатель) ) 5 ДЕНЬ: белковый (кушаем яйца, филе курицы (вареное), можно йогурты) 6 ДЕНЬ: питьевой 7 ДЕНЬ: выход Завтрак: чай, 2 вареных яйца. Перекус: фрукт Обед: бульон (можно сварить легкий супчик с рисом или гречкой) Перекус: фрукт Ужин: салатик (заправка: растительное масло и соль)
Не так давно один из пользователей терминального сервера Windows Server 2008 R2 меня серьезно озадачил. Не меняется (не переключается) раскладка клавиатуры в RDP сессии. При этом значок языка в панели задач меняется, но рядом с ним появляется дополнительный значок клавиатуры, через который надо вручную (мышкой) менять язык ввода. Читать
В тестировании часто бывают случаи, когда необходимо объединить несколько проверок в один большой тест и выполнить их последовательно. Причем бывает и так, что один сценарий зависит от результатов работы предыдущего (но такое лучше стараться избегать в автотестировании).
В следующих статьях мы посмотрим как можно избежать этой ситуации пользуясь стандартными средствами пайтеста.
Например, тестируемая программа при первом запуске накатывает схему базы (sqlite чтобы не морочиться) и заполняет её некоторой служебной информацией. Допустим перед нами стоит задача «дешево» протестировать этот модуль. Сходу задачу модно разбить на 2 подзадачи — проверка создания файла базы, затем проверка схемы и в конце проверка данных.
Самый простой вариант — нумерация в названии тестов
# conftest.py
import os
import pytest
import sqlite3
def pytest_configure(config):
config.DB_PATH = «db.sqlite»
@pytest.fixture(scope=»module»)
def creator(request):
DB_PATH = request.config.DB_PATH
con = sqlite3.connect(DB_PATH)
cur = con.cursor()
cur.executescript(«»»
create table person(
firstname,
lastname,
age
);
create table book(
title,
author,
published
);
insert into book(title, author, published)
values (
'Dirk Gently''s Holistic Detective Agency',
'Douglas Adams',
1987
);
«»»)
con.commit()
con.close()
return DB_PATH
@pytest.fixture
def cursor(request):
class cursor:
def __init__(self, dbpath):
self.dbpath = dbpath
self.conn = sqlite3.connect(self.dbpath)
def table_exists(self, table):
cursor = self.conn.cursor()
cursor.execute(
«SELECT name FROM sqlite_master WHERE type = «table»»)
tables = cursor.fetchall()
for each in tables:
if table in each:
return True
return False
def getrows(self, table):
cursor = self.conn.cursor()
cursor.execute(«SELECT * FROM %s;» % (table))
return cursor.fetchall()
return cursor(request.config.DB_PATH)
# test.py
def test_1_db_exists(creator):
assert os.path.exists(creator)
@pytest.mark.parametrize(«table», [«person», «book»])
def test_2_check_scheme(table, creator, cursor):
result = cursor.table_exists(table)
assert result
@pytest.mark.parametrize(«table», [«book»])
def test_3_check_rows(table, creator, cursor):
assert cursor.getrows(table)
Спасибо документации питона за готовые примеры.
У такого подхода есть ряд недостатков.
1. В названии теста появляется нумерация — это лишняя мета информация. (Это может сказаться на тестовом отчете или билд логе CI сервера)
2. Название теста усложняется
3. Вставка нового элемента в середину приведет к смене нумерации всех последующих тестов
Свои маркеры мы реализовывать не будем, а используем готовый плагин pytest-ordering. В принципе вся реализация такого плагина составит не больше 100 строчек кода.
# test.py
@pytest.mark.order1
def test_db_exists(creator):
assert os.path.exists(creator)
@pytest.mark.order2
@pytest.mark.parametrize(«table», [«person», «book»])
def test_check_scheme(table, creator, cursor):
result = cursor.table_exists(table)
assert result
@pytest.mark.order3
@pytest.mark.parametrize(«table», [«book»])
def test_check_rows(table, creator, cursor):
assert cursor.getrows(table)
Наши тестовые функции преобразились, стали более понимаемы для чтения.
Из коробки плагин содержит создание цепочек выполнения, более понятные маркеры (pytest.mark.run('first'), pytest.mark.run('second')) и прочее. Более подробно в микро доку плагина.
Ссылки
[1] https://docs.python.org/2/library/sqlite3.html
[2] http://pytest-ordering.readthedocs.org/en/develop/
Автор: Евгений Курочкин

Пресноводная креветка Амано — одна из самых популярных видов аквариумных креветок. Известна под различными названиями — Caridina japonica, Amano Shrimp, AES (Algae Eating Shrimp), Caridina multidentata. Популярность данный вид креветок завоевал благодаря способности поедать нитчатые водоросли, изрядно облегчая работу аквариумиста по очистке аквариума.
Амано – достаточно крупные креветки, размеры взрослой самки достигают 5-6 см, а изредка и 7 см. Самцы несколько мельче – их максимальный размер – 4 см. Отличить самку от самца креветки Амано довольно легко, этому способствует не только размер, но и рисунок на теле. У самцов вдоль туловища наблюдаются черные точки, в то время как у самки точки перемежаются пунктирными линиями.
Необходимость скрыть свой IP адрес в Интернете может возникать в различных ситуациях. Например, если вас заблокировали на каком-то сайте по IP адресу или вы хотите обеспечить себе большую анонимность. В этом материале мы рассмотрим несколько простых способов, как бесплатно скрыть свой реальный IP адрес в Интернете при посещении веб-сайтов. Читать