Сайт Лыткина Игоря Владиславовича
  1. Вы здесь:  
  2. Главная
  3. Блог

Популярные метки

  • Python
  • библиотека
  • Bitrix
  • Oracle
  • Oracle database
  • Oracle password
  • Sean D. Stuber
  • Anaconda

Блог

Python

Информация о материале
Автор: Игорь Лыткин

Объектно-ориентированный язык программирования Python является одним из наиболее востребованных на 2021 год на ИТ-рынке

  • 10 лучших языков программирования в 2021 году
  • CNews названы самые популярные языки программирования

Автор - Ван Россум, Гвидо - Нидерланды

Установка машины разработчика на Microsoft Windows 10

  • Скачать дистрибутив Python
  • Установить IDE PyCharm
  • Настроить учётную запись на GitHub

Материалы для изучения языка (в порядке обнаружения)

  • Как выучить python - YouTube-канал Oldest Junior
  • Курсы Тимофея Хирьянова, МФТИ
    • 2017-2018 Информатика. Алгоритмы и структуры данных на Python 3 - курс 
    • 2020 Практика программирования на Python 3
  • Руководство по Jupyter Notebook для начинающих

  • Mastering Python for Networking and Security Second Edition

Интересные библиотеки

NetworkX - работа с графами

  • NetworkX для удобной работы с сетевыми структурами (09.08.2011)
  •  Introduction to NetworkX in Python (10.06.2020)
  •  Graph Data Science With Python/NetworkX 
  •  Introduction to Data Science - NetworkX Tutorial (10.06.2020)
  • YouTube
    • K Jarrod Millman - Complex network analysis with NetworkX| PyData Global 2020 (см. K Jarrod Millman - Complex network analysis with NetworkX)

 Работа с файлами

  • Хабр - 8 команд для Python по работе с файлами и файловой системой, которые обязательно нужно знать

Microsoft

  • Начало работы с Python в Windows 10

Работа с базами данных

MySQL

Источники

  • Python и MySQL: практическое введение
  • Python MySQL Database Connection using MySQL Connector

Пример программы:

import mysql.connector
from mysql.connector import connect, Error

print("MySQL Connector/Python version: {0}".format(mysql.connector.__version__))

print("Version as tuple:")
print(mysql.connector.__version_info__)
print("")
print("API level: {0}".format(mysql.connector.apilevel))
print("Parameter style: {0}".format(mysql.connector.paramstyle))
print("Thread safe: {0}".format(mysql.connector.threadsafety))

try:
connection = connect(
host="ivlytkin.beget.tech",
user="ivlytkin_zenmon",
password="пароль",
database="ivlytkin_zenmon",
)
print(connection)

if connection.is_connected():
db_Info = connection.get_server_info()
print("Connected to MySQL Server version ", db_Info)
cursor = connection.cursor()
cursor.execute("select database();")
record = cursor.fetchone()
print("You're connected to database: ", record)

show_db_query: str = "SHOW DATABASES"
with connection.cursor() as cursor:
cursor.execute(show_db_query)
for db in cursor:
print(db)

print(connection)

create_movies_table_query = """
CREATE TABLE movies(
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100),
release_year YEAR(4),
genre VARCHAR(100),
collection_in_mil INT
)
"""
with connection.cursor() as cursor:
cursor.execute(create_movies_table_query)
connection.commit()

create_reviewers_table_query = """
CREATE TABLE reviewers (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(100),
last_name VARCHAR(100)
)
"""

with connection.cursor() as cursor:
cursor.execute(create_reviewers_table_query)
connection.commit()

create_ratings_table_query = """
CREATE TABLE ratings (
movie_id INT,
reviewer_id INT,
rating DECIMAL(2,1),
FOREIGN KEY(movie_id) REFERENCES movies(id),
FOREIGN KEY(reviewer_id) REFERENCES reviewers(id),
PRIMARY KEY(movie_id, reviewer_id)
)
"""

with connection.cursor() as cursor:
cursor.execute(create_ratings_table_query)
connection.commit()

except Error as e:
print(e)

PostgreSQL

  • Python PostgreSQL Tutorial Using Psycopg2

Анализ пакетов на Python

Positive Technologies - PyAnalisys - выявление подозрительных и вредоносных Python-пакетов.

PT PyAnalysis — сервис для выявления подозрительных и вредоносных Python-пакетов, который можно интегрировать в процесс безопасной разработки ПО. Cервис нацелен на анализ пакетов из глобального репозитория PyPI. Мы являемся независимыми аудиторами этого репозитория и за девять месяцев исследования нашли в нем более 200 вредоносных пакетов. C точки зрения пользователя сервис представляет собой API, который позволяет проверить пакет по его названию и получить вердикт относительно его функций: чистый, подозрительный, опасный.

Пример программы - TestPyAnalysis

(Не)безопасная разработка: как защититься от вредоносных Python-пакетов

Указатель пакетов Python’а (Python Package Index — PyPI) — это хранилище программного обеспечения для языка программирования Python.

asyncio 

asyncio - это библиотека для написания параллельного кода с использованием синтаксиса async/await. asyncio используется в качестве основы для нескольких асинхронных фреймворков Python, которые обеспечивают высокопроизводительные сетевые и веб-серверы, библиотеки соединений с базами данных, распределенные очереди задач и т.д.

Источники

Книги

  • Фаулер М. Asyncio и конкурентное программирование на Python / пер. с англ. А. А. Слинкина. – М.: ДМК Пресс, 2022. – 398 с.: ил.

Автор: Мэтт Фаулер

Хабр - Полное руководство по модулю asyncio в Python

 

Создано: 07 декабря 2021
Обновлено: 01 февраля 2023

Greenplum

Информация о материале
Автор: Игорь Лыткин

VMware Tanzu Greenplum

Документация

Книги

  • Data Warehousing with Greenplum by Marshall Presser. July 2019: Second Edition 978-1-492-05810-6

Organizing Data in Greenplum

  • Distribution - распределение данных таблицы по разным сегментам кластера GP (разным экземплярам PostgreSQL)
  • Partitioning - определяет, как данные хранятся в каждом сегменте (в одном экземпляре PostgreSQL)

Distribution - по одному столбцу с int, bigint

Partition - по столбцу с date

Каждая row-oriented таблица хранится в одном файле.

Колоночная таблица (column oriented) - каждое поле хранится в отдельном файле. Рекомендуется для таблиц, в которых изменяется небольшое количество столбцов.

Создано: 09 декабря 2022
Обновлено: 09 декабря 2022

Docker

Информация о материале
Автор: Игорь Лыткин

Docker

Логотип программы Docker

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений. Позволяет «упаковать» приложение со всем его окружением[en] и зависимостями в контейнер, который может быть развёрнут на любой Linux-системе с поддержкой контрольных групп в ядре, а также предоставляет набор команд для управления этими контейнерами. Изначально использовал возможности LXC, с 2015 года начал использовать собственную библиотеку, абстрагирующую виртуализационные возможности ядра Linux — libcontainer. С появлением Open Container Initiative начался переход от монолитной к модульной архитектуре.

Разрабатывается и поддерживается одноимённой компанией-стартапом, распространяется в двух редакциях — общественной (Community Edition) по лицензии Apache 2.0 и для организаций (Enterprise Edition) по проприетарной лицензии[9]. Написан на языке Go.

История

Проект начат как внутренняя собственническая разработка компании dotCloud, основанной Соломоном Хайксом (Solomon Hykes) в 2008 году с целью построения публичной PaaS-платформы с поддержкой различных языков программирования. Наряду с Хайксом в первоначальной разработке значительное участие приняли инженеры dotCloud Андреа Лудзарди (Andrea Luzzardi) и Франсуа-Ксавье Бурле (François-Xavier Bourlet).

В марте 2013 года код Docker был опубликован под лицензией Apache 2.0[10]. В июне 2013 года генеральным директором в dotCloud приглашён Бен Голуб (англ. Ben Golub), ранее руководивший фирмой Gluster[en] (разрабатывавшей технологию распределённого хранения GlusterFS и поглощённой за $136 млн Red Hat в 2011 году)[11]. В октябре 2013 года, подчёркивая смещение фокуса к новой ключевой технологии, dotCloud переименована в Docker (при этом PaaS-платформа сохранена под прежним названием — dotCloud).

В октябре 2013 года выпущен релиз Havana тиражируемой IaaS-платформы OpenStack, в котором реализована поддержка Docker (как драйвер для OpenStack Nova). С ноября 2013 года частичная поддержка Docker включена в дистрибутив Red Hat Enterprise Linux версии 6.5[12] и полная — в 20-ю версию дистрибутива Fedora, ранее было достигнуто соглашение с Red Hat о включении с 2014 года Docker в тиражируемую PaaS-платформу OpenShift[en][13]. В декабре 2013 года объявлено о поддержке развёртывания Docker-контейнеров в среде Google Compute Engine[en][14].

С 2014 года ведутся работы по включению поддержки Docker в среду управления фреймворка распределённых приложений Hadoop; по результатам тестирования вариантов платформы виртуализации для Hadoop, проведённом в мае 2014 года, Docker показал на основных операциях (по массовому созданию, перезапуску и уничтожению виртуальных узлов) существенно более высокую производительность, нежели KVM, в частности, на тесте массового создания виртуальных вычислительных узлов прирост потребления процессорных ресурсов в Docker зафиксирован в 26 раз ниже, чем в KVM, а прирост потребления ресурсов оперативной памяти — втрое ниже[15].

С 2017 года вдобавок к свободно распространяемой под лицензией Apache 2.0 редакции продукта выпускается редакция для организаций, продаваемая по ценам от $750 до $2 тыс. в год на узел в зависимости от доступных функций[9].

Источники

  • Википедия
  • Сайт разработчика
  • Хабр
    • Полное практическое руководство по Docker: с нуля до кластера на AWS
  • The Register
    • Google: 'EVERYTHING at Google runs in a container'

Терминология

  • Images (образы) - Схемы нашего приложения, которые являются основой контейнеров. В примере выше мы использовали команду docker pull чтобы скачать образ busybox.
  • Containers (контейнеры) - Создаются на основе образа и запускают само приложение. Мы создали контейнер командой docker run, и использовали образ busybox, скачанный ранее. Список запущенных контейнеров можно увидеть с помощью команды docker ps.
  • Docker Daemon (демон Докера) - Фоновый сервис, запущенный на хост-машине, который отвечает за создание, запуск и уничтожение Докер-контейнеров. Демон — это процесс, который запущен на операционной системе, с которой взаимодействует клиент.
  • Docker Client (клиент Докера) - Утилита командной строки, которая позволяет пользователю взаимодействовать с демоном. Существуют другие формы клиента, например, Kitematic, с графическим интерфейсом.
  • Docker Hub - Регистр Докер-образов. Грубо говоря, архив всех доступных образов. Если нужно, то можно содержать собственный регистр и использовать его для получения образов.
Создано: 03 мая 2022
Обновлено: 09 августа 2022

Районы Алтайского края и Горного Алтая

Информация о материале
Автор: Игорь Лыткин

Этим материалом начинаю серию, посвященное моему Алтайскому краю. Хэш-тег будет #КрасотаАлтайскогоКрая

2020 год для меня - год путешествий и открытия красот Алтайского края. Открыл для себя районные центры Косиха, Красногорское (Красногорский район), Поспелиха (Поспелихинский район), озеро Колыванское в селе Саввушка Змеиногорского района.

Введение вы можете прочитать в Алтайский край.

Июнь 2020. Районный центр Косиха, Косихинский район.

Июль 2020. Райнный центр Красногорское, Красногорский район.

Август 2020. Районный центр Поспелиха, Поспелихинский район.

IMG_2898
IMG_2859
IMG_2895
IMG_2893
IMG_2873
IMG_2894
IMG_2891
IMG_2865
IMG_2896
IMG_2886
IMG_2870
IMG_2889
IMG_2901
IMG_2885
IMG_2892
IMG_2888
IMG_2874
IMG_2887
IMG_2866
IMG_2900
IMG_2867
IMG_2897
IMG_2899
IMG_2903
Курочки
previous arrow
next arrow
 
Районный центр Алтайское, Алтайский район 
село Куяган
село Ая
посёлок Барангол
 
IMG_3238
IMG_3138
IMG_3173
IMG_3162
IMG_3192
IMG_3156
IMG_3171
IMG_3228
IMG_3225
IMG_3199
IMG_3142
IMG_3237
IMG_3134
IMG_3152
IMG_3220
IMG_3231
IMG_3158
IMG_3157
IMG_3224
IMG_3155
IMG_3146
IMG_3214
IMG_3154
IMG_3139
IMG_3230
IMG_3215
IMG_3160
IMG_3222
IMG_3132
IMG_3153
IMG_3217
IMG_3181
IMG_3180
IMG_3221
IMG_3136
IMG_3179
IMG_3216
45F9B7B5-9134-40BB-B1B1-224A53380C94
IMG_3219
IMG_3175
IMG_3190
IMG_3178
IMG_3188
IMG_3184
previous arrow
next arrow

 

2022 год

Косихинский район, озеро Красилово, деревня Контошино 

 

Создано: 10 августа 2020
Обновлено: 13 июля 2022
  1. Решения для анализа журналов сервера Linux
  2. Сервер Singularity-2022

Подкатегории

Страница 4 из 13

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • Домашняя страница
  • Общая информация
  • Блог
  • Авторизация

Самые читаемые сообщения

  • Как Oracle хранит пароли
  • AWStats
  • Библиотека Лыткиных
  • Мои hard skills
  • Методы анализа занятости диска

Архивные материалы

  • апреля, 2020
  • декабря, 2019
  • июня, 2019
  • мая, 2019
  • апреля, 2019
  • марта, 2019
© 2023 Сайт Лыткина Игоря Владиславовича
  • Кол-во просмотров материалов 329295