Архив автора: admin

новогодний декор квартиры

Новогодний декор квартиры

Осталось совсем мало времени до наступления Нового года и пора подумать про новогодний декор квартиры уже сейчас! Создаем красивый рождественский венок своими руками.

новогодний декор квартиры

новогодний декор квартиры

Читать

Решение предыдущего поста

Если вы не читали предыдущий пост — начните с него.

overloadable включает трассировку и следит за исполнением тела класса. Если обнаруживает, что значение исполняемой переменной было изменено — подменяет ее на объект, управляющий вызовом соответствующей функции в зависимости от параметров.

Hightlited/Raw

# -*- coding:utf8 -*-
import sys

def overloadable():
sys.settrace(OverloadTracer().on_event)
def closure(cls):
# удаляем трассировку по выходу из класса
# вообще говоря это можно сделать по 'return'
# но семантика декоратора заставит использовать
# код по назначению
sys.settrace(None)
return cls
return closure

class OverloadTracer(object):

def __init__(self):
self.in_class = False
self.prev_locals = {}

def on_event(self, frame, event, _):
#вызывается при каждом событии трассировки
if event == 'return':
# возврат из блока
self.update_locals(frame.f_locals)
elif event == 'call':
# вызов - открытие блока
# не заходим во вложенные вызовы
if self.in_class:
return None
self.in_class = True
else:
self.update_locals(frame.f_locals)
return self.on_event

def update_locals(self, loc):
# сравниваем loc с self.prev_locals
for name, prev_val in self.prev_locals.items():
if name in loc:
# если находим перекрытие функции - подменяем ее на объект,
# управляющий перегрузкой
if loc[name] is not prev_val and
( callable(prev_val) or
isinstance(prev_val, OverloadableFunc) )and
callable(loc[name]):
loc[name] = self.overload(prev_val, loc[name])

# делаем копию текущего состояния тела класса
self.prev_locals = loc.copy()

@staticmethod
def overload(prev_val, curr_val):

if not isinstance(prev_val, OverloadableFunc):
overld = OverloadableFunc()
overld.add(prev_val)
prev_val = overld

prev_val.add(curr_val)
return prev_val

# класс имитирует функцию с одним аргументом
# и по его типу выбирает соответствующий зарегистрированный обработчик
class OverloadableFunc(object):
def __init__(self):
self.funcs = {}

def __get__(self, obj, cls):
# для имитации метода объект этого типа
# должен быть свойством
def closure(val):
return self.funcs[type(val).__name__](obj, val)
return closure

def add(self, func):
# добавляем новую функцию-обработчик
tp_name = func.__doc__.strip().split('n')[0]
self.funcs[tp_name] = func

# использование в предыдущем посте

# -*- coding:utf8 -*-
import sys

def overloadable():
sys.settrace(OverloadTracer().on_event)
def closure(cls):
# удаляем трассировку по выходу из класса
# вообще говоря это можно сделать по 'return'
# но семантика декоратора заставит использовать
# код по назначению
sys.settrace(None)
return cls
return closure

class OverloadTracer(object):

def __init__(self):
self.in_class = False
self.prev_locals = {}

def on_event(self, frame, event, _):
#вызывается при каждом событии трассировки
if event == 'return':
# возврат из блока
self.update_locals(frame.f_locals)
elif event == 'call':
# вызов - открытие блока
# не заходим во вложенные вызовы
if self.in_class:
return None
self.in_class = True
else:
self.update_locals(frame.f_locals)
return self.on_event

def update_locals(self, loc):
# сравниваем loc с self.prev_locals
for name, prev_val in self.prev_locals.items():
if name in loc:
# если находим перекрытие функции - подменяем ее на объект,
# управляющий перегрузкой
if loc[name] is not prev_val and
( callable(prev_val) or
isinstance(prev_val, OverloadableFunc) )and
callable(loc[name]):
loc[name] = self.overload(prev_val, loc[name])

# делаем копию текущего состояния тела класса
self.prev_locals = loc.copy()

@staticmethod
def overload(prev_val, curr_val):

if not isinstance(prev_val, OverloadableFunc):
overld = OverloadableFunc()
overld.add(prev_val)
prev_val = overld

prev_val.add(curr_val)
return prev_val

# класс имитирует функцию с одним аргументом
# и по его типу выбирает соответствующий зарегистрированный обработчик
class OverloadableFunc(object):
def __init__(self):
self.funcs = {}

def __get__(self, obj, cls):
# для имитации метода объект этого типа
# должен быть свойством
def closure(val):
return self.funcs[type(val).__name__](obj, val)
return closure

def add(self, func):
# добавляем новую функцию-обработчик
tp_name = func.__doc__.strip().split('n')[0]
self.funcs[tp_name] = func

# использование в предыдущем посте

Поскольку тело класса исполняется то трассировщик может «видеть» как в него добавляются новые методы или подменяются старые и использовать эту информацию что-бы произвести перегрузку функций. На всякий случай — код класса исполняется только один раз — при импорте текущего модуля. По выходу из создания класса трассировка выключается и не оказывает никакого влияния на его инстанцирование или вызов методов.

Этот код можно расширить до перегрузки функций (не методов) и добавить поддержку нескольких параметров.

Идея с использованием трассировки для расширения синтаксиса была реализована как минимум в одной широко известной библиотеке — PEAK.util.decorator. Она позволяет использовать декораторы в python до 2.4.

Ссылки:
          pypi.python.org/pypi/DecoratorTools

Исходники этого и других постов со скриптами лежат тут — github.com/koder-ua. При использовании их, пожалуйста, ссылайтесь на koder-ua.blogspot.com.

Автор: konstantin danilov

подарок на Новый год с символикой драконов

Подарок на год дракона

Предлагаем сделать оригинальный подарок на год дракона в технике обратный декупаж. Это будет оригинальная тарелка с соответствующими мотивами драконов.

подарок на Новый год с символикой драконов

подарок на Новый год с символикой драконов

Читать

Эх. знали бы это парни))))

Знали бы это парни

Когда она злая и уходит — иди за ней.

Когда она внимательно смотрит на твои губы — поцелуй её.

Когда она тебя отталкивает — держи её и не отпускай.

Когда обзывает тебя — целуй её и говори что любишь.

Когда она злая — скажи, что она очень милая.

Когда она тихая — спроси что не так.

Когда она тебя игнорирует — привлеки её внимание.

Когда она показывает себя с плохой стороны — говори, что она красивая.

Когда видишь что она начинает плакать — обними и не оставляй одну на этой планете.

Когда она кладёт свою голову на твоё плечо — опустись и поцелуи её.

Когда она говорит, что нравишься ей — на самом деле она хочет сказать больше чем ты сможешь понять.

Когда она расскажет тебе секрет — храни его.

Когда она смотрит тебе в глаза — не отпускай их пока это не сделает она.

Когда она скучает по тебе — ей больно.

Когда ты «ломаешь» её сердце — боль и обида никогда не проходит.

Когда она говорит что всё кончилось — она всё ещё хочет к тебе…

Противосудорожные препараты


Лекарственные средства
Тип судорог
Дозировка
Кортикотропин
Преднизолон
Инфантильные спазмы, синдром
Леннокса—Гасто, миоклонус и
Резистентные парциальные припадки
Кортикотропин в/м по 0,1-10 ЕД/кг массы тела (например, 20 ЕД 2 нед, при отсутствии
эффекта 30-40 ЕД 1 мес, далее преднизолон в дозе 2 мг/кг массы тела)
Вальпроевая кислота
(Ковулекс 10% — 5 мл) — Вальпроат натрия
Генерализованные и парциальные припадки, миоклонус, абсансы
По 20—50 мг/кг массы тела в сутки (дозу повышают постепенно)
Конвулекс — 15 мг/кг веса (взрослым — 10-15 мл в/в в разведении)
Диазепам (Реланиум)

Эпилептический статус
В/м и в/в по 0,1-0,3 мг/кг массы тела повторно, ректально в
дозе 0,25-0,5 мг/кг массы тела.
Карбамазепин
Генерализованные
тонико-клонические,
парциальные припадки
По 10-20 мг/кг массы тела в сутки
Клоназепам
Все формы
Детям младше 1 года по 0,5— 1 мг/сут, в возрасте 1—6 лет по 1—3 мг/сут, старше 7 лет по 3—6 мг/сут
Ламотриджин
Генерализованные
клонико-тонические,
парциальные
приступы, миоклонус,
рефрактерные абсансы,
синдром Леннокса—Гасто
По 5—20 мг/кг массы тела в сутки (насыщение в течение
2 нед) 
С препаратами вальпроевой кислоты в дозе 0,2-5 мг/кг массы тела в сутки
Нитразепам
Абсансы, миоклонус,
инфантильные спазмы
По 0,25-1,0 мг/кг массы тела в сутки (следует медленно повышать дозу)
Примидон
Генерализованные
тонико-клонические,
парциальные приступы
По 10—20 мг/кг массы тела в сутки
Фенитоин
Генерализованные тонико-клонические, парциальные приступы
По 8—10 мг/кг массы тела в сутки в возрасте до 3 лет, 4-7 мг/кг массы тела в возрасте
старше 3 лет
В/в доза насыщения 20 мг/кг массы тела
Фенобарбитал

Генерализованные
тонико-клонические,
парциальные приступы
По 3—5 мг/кг массы тела в сутки в возрасте до 5 лет, по
2—3 мг/кг массы тела в возрасте старше 5 лет
В/в доза насыщения 20 мг/кг массы тела в сутки
Этосуксимид
Абсансы, миоклонические судороги
20-40 мг/кг массы тела в сутки

Лекарственная терапия судорожного синдрома
Лекарственное средство, доза и способ применения
Примечание

Диазепам в дозе 0,3 мг/кг в/м
Магния сульфат в дозе 250 мг/год жизни или фуросемид в дозе 1—2 мг/кг массы тела в/в или в/м

При приступе
эпилепсии

Хлорпромазин+прометазин в/м детям до 1 года по 0,25 мг/кг массы тела, старше 1 года по 2,5-3,75 мг/год жизни или метамизол натрия (анальгин*) в/м детям до 1 года в
дозе 5 мг/кг массы тела, старше 1 года по 50 мг/год жизни

При фебрильных
судорогах

Кальция глюконат в/в в дозе 0,5 — 1 г
Магния сульфат в дозе 50 мг/кг массы тела в/м

При спазмофилии

Ёлка из ниток

1. Делаем из бумаги конус, закрепить скотчем.

elka 1

2. Обмотать ниткой вокруг

3. Промазать клеем

elka 2

4. Подождать когда высохнет и аккуратно снять конус

elka 3

5. Украсить Елочку любыми украшениями

elka 4