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

Научитесь уверенно и активно достигать своих целей!

наполнение энергиейСохраняйте концентрацию на том, что действительно важно для Вас!

Наполняйтесь энергией для действий себе на благо! 

Научитесь уверенно и активно достигать своих целей!

 

Заработок в Socialtools.ru. Монетизация соцсетей (ВКонтакте, Одноклассники, Mail.ru, Facebook, Twitter и т.д.)

Всем привет! Друзья сегодня речь пойдёт об ещё одном сервисе под названием Socialtools.
С помощью данного сервиса можно легко монетизировать соцсети (ВКонтакте, Одноклассники, Mail.ru, Facebook, Twitter и т.д.) Проекту более 3 лет, он уже имеет свой непрогибаемый авторитет и создаёт серьёзную конкуренцию аналогичным проектам. Как уже писал вам выше, я конспектирую проекты в которых я работал и на которых работаю до сих пор. С проектом Socialtools работаю уже более года, за всё время мною проведённое в данном сервисе, ни разу не замечал никаких недостатков с их стороны. Задании много, платят вовремя и на мой взгляд это самое главное. Цена одного заказа колеблется от 1.50 руб до 500 руб. Заказы принимают и выполняют очень быстро, поэтому без малейшего сомнения беритесь за любое свободное. Читать

Google Chrome. Усыпляем вкладки с помощью Tab Hibernation

Расширение позволяет усыплять вкладки в браузере одной кнопкой, в страну снов отправляются все кроме кроме активной вкладки. И использование памяти уменьшается.

Проведем эксперимент. Воспользуюсь информацией о памяти из самого хрома. Открываем несколько сайтов

Google Chrome. Усыпляем вкладки с помощью Tab Hibernation

Автор: Роман Сталкер
Дата публикации: 2014-10-20T03:23:00.001-07:00

Как увидеть начало своей новой жизни?

начало жизниИспользуйте время дня на благо себе и своей жизни! 

Творите добро! Побеждайте!

Приобретайте новые знания и создавайте свою новую жизнь!

Почему я не люблю Flask

Есть такой популярный microframework: Flask.

Многим нравится: легкий и простой для изучения, то да сё.

А мне — категорически нет.

Нелюбовь началась с элементарного: request — это thread local variable:

import flask
from myapp import app

@app.route('/')
def handler():
req = flask.request
if 'arg' in req.args:
process_arg(req.args['arg'])
###

Т.е. для для того чтобы узнать с какими GET или POST параметрами вызвали мой код — я должен обращаться к глобальной переменной!

Я знаю разницу между global variable и thread local variable если что — но это не избавляет от неприятного послевкусия.

Ага, есть еще и flask.g!

Если уж мне потребуются context local variables — я их буду использовать по моему выбору, морщась от осознания собственного несовершенства. Зачем flask их мне навязывает?

Дальше — больше.

Смотрим еще раз:

from myapp import app

@app.route('/')
def handler():
###

Имеем наполовину сконфигурированный импортированный откуда-то app, к которому добавляем обработчик.

Мне это не нравится. Я хочу сделать app и добавить в него route table.

Flask это позволяет, но документация провоцирует делать ровно наоборот.

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

Идем дальше.

Параметры в route:

@app.route('/user/')
def handler(username):
pass

Весной это казалось мне удачным. Даже сделал что-то похожее в aiorest.

Потом понял, что штука абсолютно бесполезная: нам всегдатребовалось что-то из HTTP HEADERS, COOKIES и GET/POST parameres в обработчике запроста.

Чтобы проверить — авторизирован ли пользователь, например.

Выпилил.

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

route args, GET, POST, COOKIES — каждый dict может иметь перекрывающиеся имена-названия.

Паша Коломиец в zorro попытался решить проблему через аннотации:

def handler(self, request: Request):
pass

Т.е. handler имеет параметр с аннотацией Request — он получит в него request object.

В zorro можно регистрировать свои аннотации для получения дополнительной информации.

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

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

Заключение

Я не призываю не использовать flask, у меня нет такой цели. Хотите граблей — получайте.

Просто сейчас я занялся добавлением в aiohttp WEB-сервера, пригодного для использования простым программистом.

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

aiohttp.web должен быть прост насколько это возможно, но не проще.

Желающие выстрелить себе в ногу пусть делают это в библиотеках, построенных на основе aiohttp.web — мы дадим им такую возможность.

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

Автор: Andrew Svetlov