Kangaroo
2.28K subscribers
114 photos
61 files
435 links
Kangaroo — о программировании и технологиях.

Python, серверная разработка, инфраструктура, ИИ и собственные проекты. Статьи, технические разборы, эксперименты и наблюдения из практики.

Иногда — математика и котики :)

По всем вопросам: @Lodhel
Download Telegram
Любишь учиться по туториалам?

Рекомендую! Тут я знакомился с Django!

https://tutorial.djangogirls.org/ru/python_introduction/
Продолжаем тему:


Odoo — это самая популярная в мире открытая платформа для бизнес-приложений, которая развивается с 2005 года (TinyERP -> OpenERP -> Odoo).

Среди пользователей Odoo такие компании, как Toyota, Hyundai, Danone, и другие.

Бизнес-приложения для Odoo доступны как на Odoo маркете, так и в бесчисленных репозиториях на Github.

Всего на Odoo маркете зарегистрировано более 10,000 бизнес-приложений, что делает Odoo маркет самым большим магазином приложений для предприятий.

Вокруг Odoo сложилась большая эко-система, включающая более 5000 разработчиков из 23 стран, публикующих более 300 новых приложений каждый месяц.

Развитием Odoo занимается бельгийская компания Odoo SA, включенная в список самых быстрорастущих компаний Европы.

Платформа Odoo регулярно получает самые разные награды от авторитетных изданий отрасли бизнес-автоматизации, начиная от The best open source application до
Great User Experience Award и The Rising Star for the ERP software.

В стандартном “комплекте” Odoo включает в себя следующие приложения:

Управление продажами (CRM, Sales, Invoicing, Point of Sale)
CMS система (Web site builder, Интернет-магазин, Q&A Forum, Blogs, Slides, Live Chat)
Операционная деятельность (Manufacturing, Purchase, Inventory, Human Resources, MRP, HelpDesk, Recruitment, Employees, Expenses, Appraisal, etc.)
и многое многое другое.

На конференции Odoo Experience 2017 был анонсирован 11-й релиз Odoo. Основной упор был сделан на улучшениях в юзабилити, скорости, новом дизайне и мобильном интерфейсе. Также было внесено бесчисленное количество улучшений в различные приложения.
NAMESPACE - это отображение имен в объекты. Большинство пространств имен в настоящее время реализованы как Python
словари, но это, как правило, не заметно (кроме производительности), и это может
изменить в будущем. Примерами пространств имен являются: набор встроенных имен (содержащих функции
такие как abs () и встроенные имена исключений); глобальные имена в модуле; и местные имена
в вызове функции. В некотором смысле набор атрибутов объекта также образует пространство имен.
Важно знать о пространствах имен, что между именами нет абсолютно никакой связи
в разных пространствах имен; например, два разных модуля могут оба определять функцию максимизации
без путаницы - пользователи модулей должны префиксировать его с именем модуля.
Кстати, мы используем атрибут слова для любого имени, следующего за точкой - например, в выражении
z.real, real - это атрибут объекта z. Строго говоря, ссылки на имена в модулях
ссылки на атрибуты: в выражении modname.func_name, modname является объектом модуля, а func_name
является атрибутом этого. В этом случае происходит прямое отображение между
Атрибуты модуля и глобальные имена, определенные в модуле: они используют одно и то же пространство имен!
SCOPE - это текстовая область Python-программы, где пространство имен доступно напрямую.
«Непосредственно доступный» здесь означает, что безусловная ссылка на имя пытается найти имя
в пространстве имен.
Хотя области действия определены статически, они используются динамически. В любое время во время исполнения,
Есть как минимум три вложенные области, пространства имен которых доступны напрямую:
- самая внутренняя область, которая ищется первой, содержит локальные имена.
- объемы любых включающих функций, которые ищутся, начиная с ближайшего охватывающего
область действия, содержит нелокальные, но также и неглобальные имена.
- следующая за последней область содержит глобальные имена текущего модуля.
- самая внешняя область (последний поиск) - это пространство имен, содержащее встроенные имена.
БЫТЬ ОСТОРОЖЕН!!!
-------------
Изменение глобальных или нелокальных переменных внутри внутренней функции может быть ПЛОХОЙ
практикой и может привести к более сложной отладке и более хрупкому коду! Делайте это только если знаете
что ты делаешь.

Для более подробного изучения смотрите ниже по ссылке.
Источник:
https://github.com/trekhleb/learn-python/blob/master/src/functions/test_function_scopes.py
20 малоизвестных фич и особенностей Python
https://goo.gl/UhZTQb
​​Python Crash Course: A Hands-On, Project-Based Introduction to Programming (2015)
Автор: Эрик Мэтиз

#python #books #rus #beginner

Язык: русский

Целевая аудитория: начинающие программисты.

Если вам не терпится перейти к разработке приложений на python, то эта книга для вас. В ней вы быстро пробежитесь по основам программирования и самому языку, а потом напишите больше приложение — игру, которую будете постепенно усложнять, используя приобретённые знания и навыки. Также вы научитесь работать с большими наборами данных и освоите их визуализацию и создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации.

Преимущества руководства:
➕ доступный и простой язык повествования;
➕ актуальный материал;
➕ эффективный подход к обучению;
➕ рассмотрены важные способности языка.

Недостатки:
➖ листинги напечатаны так, что нарушают главную особенность языка — отступы;
➖ плохой перевод и большое количество опечаток.
Основы декораторов Python.

Итак, что же такое декораторы на самом деле? Они «украшают», или
«обертывают», другую функцию и позволяют исполнять программный
код до и после того, как обернутая функция выполнится.
Декораторы позволяют определять конструктивные блоки многократного
использования, которые могут изменять или расширять поведение других функций. И они позволяют это делать без необратимых изменений самой
обернутой функции. Поведение функции изменяется, только когда оно декорировано.
Как могла бы выглядеть реализация простого декоратора? В общих чертах декоратор — это вызываемый объект, который на входе принимает один
вызываемый объект, а на выходе возвращает другой вызываемый объект.
Приведенная ниже функция имеет это свойство и может считаться самым
простым декоратором, который вы могли когда-либо написать:
'''
def null_decorator(func):
return func
'''
Как вы видите, null_decorator является вызываемым объектом (это функция). На входе он принимает еще один вызываемый объект и на выходе возвращает тот же самый вызываемый объект без его изменения.
Давайте его применим, чтобы декорировать (или обернуть) еще одну
функцию:

def greet():
return 'Привет!'
greet = null_decorator(greet)
>>> greet()
'Привет!'

В этом примере я определил функцию greet и сразу же ее декорировал,
пропустив через функцию null_decorator. Понимаю, пока это все выглядит бесполезным. Я ведь о том, что мы намеренно спроектировали
пустой декоратор бесполезным, верно? Но через мгновение этот пример разъяснит, как работает специальный синтаксис Python, предназначенный
для декораторов.
Вместо того чтобы явным образом вызывать null_decorator с функцией
greet и затем по-новому присваивать его переменной, удобнее воспользоваться синтаксисом Python @ для декорирования функции:

@null_decorator
def greet():
return 'Привет!'
>>> greet()
'Привет!'

Размещение строки @null_decorator перед определением функции аналогично тому, что функция сначала определяется и затем уже прогоняется
через декоратор. Синтаксис @ является всего лишь синтаксическим сахаром (syntactic sugar) и краткой формой для этого широко применяемого
шаблона.
Обратите внимание: синтаксис @ декорирует функцию непосредственно
во время ее определения. При этом становится трудно получить доступ
к недекорированному оригиналу без хрупких хакерских фокусов. По этой причине вы можете решить вручную декорировать некоторые функции для сохранения способности вызвать и недекорированную функцию.
​​Автор приводит несколько полезных привычек по написанию хорошего кода.
В приведенных ниже примерах некоторые из них будут вызывать проблемы с производительностью, другие - скрытые ошибки или трудности в будущем обслуживании и рефакторинге, а другие, как мне кажется, недостаточно питонны.

#статьядня

https://prglb.ru/qjac
​​ Создаем бота в Facebook на Python менее чем за 60 минут
В этой статье научим как создать бота в Facebook при помощи Python, Flask, библиотеки PyMessenger и локального хостинга через ngrok.

#статьядня

https://prglb.ru/44506
Представляю вам канал моего партнера!

Всегда хотел что-то взломать?
t.me/darkside_team - это то место где тебя этому научат!
· Хакерские статьи 😈
· Сливы мануалов 😈
· Рабочие схемы заработка 😈

Добро пожаловать на тёмную сторону.💣
В ближайшее время опубликую статью об алгоритмах. А сейчас теория.

Алгори́тм (лат. al­go­rithmi — от арабского имени математика Аль-Хорезми) — конечная совокупность точно заданных правил решения произвольного класса задач или набор инструкций, описывающих порядок действий исполнителя для решения некоторой задачи. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители.

Понятие алгоритма относится к первоначальным, основным, базисным понятиям математики. Вычислительные процессы алгоритмического характера (арифметические действия над целыми числами, нахождение наибольшего общего делителя двух чисел и т. д.) известны человечеству с глубокой древности. Однако в явном виде понятие алгоритма сформировалось лишь в начале XX века.

Современное формальное определение вычислительного алгоритма было дано в 30—50-е годы XX века в работах Тьюринга, Поста, Чёрча (тезис Чёрча — Тьюринга), Н. Винера, А. А. Маркова.

Само слово «алгоритм» происходит от имени хорезмского учёного аль-Хорезми. Около 825 года он написал сочинение Китаб аль-джебр валь-мукабала («Книга о сложении и вычитании»), из оригинального названия которого происходит слово «алгебра» (аль-джебр — восполнение). В этой книге впервые дал описание придуманной в Индии позиционной десятичной системы счисления. Персидский оригинал книги не сохранился. Аль-Хорезми сформулировал правила вычислений в новой системе и, вероятно, впервые использовал цифру 0 для обозначения пропущенной позиции в записи числа (её индийское название арабы перевели как as-sifr или просто sifr, отсюда такие слова, как «цифра» и «шифр»). Приблизительно в это же время индийские цифры начали применять и другие арабские учёные.

В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу. Переводчик, имя которого до нас не дошло, дал ей название Algoritmi de numero Indorum («Алгоритми о счёте индийском») — таким образом, латинизированное имя среднеазиатского учёного было вынесено в заглавие книги. Сегодня считается, что слово «алгоритм» попало в европейские языки именно благодаря этому переводу. В течение нескольких следующих столетий появилось множество других трудов, посвящённых всё тому же вопросу — обучению искусству счёта с помощью цифр, и все они имели в названии слово algoritmi или algorismi.

Про аль-Хорезми позднейшие авторы ничего не знали, но поскольку первый перевод книги начинается словами: «Dixit algorizmi: …» («Аль-Хорезми говорил: …»), всё ещё связывали это слово с именем конкретного человека.
Васильев_А_Н_Python_на_примерах-2016.pdf
39.7 MB
Python на примерах. Практический курс по программированию

Автор: Васильев А.Н.
👍1
«Институт биоинформатики выпускает курс Анатолия Карпова по машинному обучению».

Запишись, или проиграешь: https://stepik.org/course/4852/syllab...
Начало 15 апреля.
Нас уже более 300 человек👍

А как давно вы читали официальную документацию?

https://docs.python.org/3/
​​Planning Content:
​​​​Introducing Python: Modern Computing in Simple Packages

Автор: Билл Любанович

В этой книге вы узнаете об основах языка, о современных пакетах и библиотеках Python 3. Также автор рассматривает такие сложные темы, как отладка, тестирование, повторное использование кода и многое другое. Объяснения автора перемешаны с примерами кода, которые помогут быстро освоить язык и перейти к программированию реальных приложений.

#книгадня

Книга прикреплена ниже
👍1
Стек протоколов TCP/IP — это альфа и омега Интернета, и нужно не только знать, но также понимать модель и принцип работы стека.
Модель TCP/IP

Изначально данный стек создавался для объединения больших компьютеров в университетах по телефонным линиям связи соединения «точка-точка». Но когда появились новые технологии, широковещательные (Ethernet) и спутниковые, возникла необходимость адаптировать TCP/IP, что оказалось непростой задачей. Именно поэтому наряду с OSI появилась модель TCP/IP.
фывфыв.png
35.9 KB
Модель OSI и TCP/IP