Книги по программированию
Архив книг по программированию. По рекламе: @anothertechrock Регистрация в перечне РКН: https://kurl.ru/Iffja
Больше📈 Аналитический обзор Telegram-канала Книги по программированию
Канал Книги по программированию (@python_books_archive) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 12 528 подписчиков, занимая 10 126 место в категории Технологии и приложения и 52 876 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 12 528 подписчиков.
Согласно последним данным от 10 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -33, а за последние 24 часа — -2, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 6.14%. В первые 24 часа после публикации контент обычно набирает 4.88% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 769 просмотров. В течение первых суток публикация набирает 611 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 2.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как yandex.ru, директа, перформанс, таргетинг, sql.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Архив книг по программированию.
По рекламе: @anothertechrock
Регистрация в перечне РКН: https://kurl.ru/Iffja”
Благодаря высокой частоте обновлений (последние данные получены 11 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
import osmnx as ox
# Загрузка данных о дорогах Москвы
G = ox.graph.graph_from_place("Moscow", network_type="drive")
# Отображение дорог на карте
moscow_gdf = ox.geocoder.geocode_to_gdf("Moscow")
fig, ax = ox.plot.plot_graph(G, show=False, close=False, bgcolor="#111111", edge_color="#ffcb00", edge_linewidth=0.3, node_size=0)
moscow_gdf.plot(ax=ax, fc="#444444", ec=None, lw=1, alpha=1, zorder=-1)
# Настройка границ карты
margin = 0.02
west, south, east, north = moscow_gdf.union_all().bounds
margin_ns = (north - south) * margin
margin_ew = (east - west) * margin
ax.set_ylim((south - margin_ns, north + margin_ns))
ax.set_xlim((west - margin_ew, east + margin_ew))
plt.show()
📁 2. Сохраняем геометрическое описание города в формате GeoJSON и данные о вершинах и рёбрах в формате CSV
with open('Moscow.geojson', 'w') as file:
file.write(moscow_gdf.to_json())
nodes = G.nodes(data=True)
with open('nodes.csv', 'a') as file:
file.write("id,lat,lonn")
for (node, data) in nodes:
file.write("%d,%f,%fn" % (node, data.get("y"), data.get("x")))
edges = G.edges(data=True)
def decode_maxspeed(maxspeed):
match maxspeed:
case str():
match maxspeed.lower():
case "ru:urban": return 60
case "ru:rural": return 90
case "ru:living_street": return 20
case "ru:motorway": return 110
case _: return int(maxspeed)
case list(): return min(list(map(decode_maxspeed, maxspeed)))
case _: return maxspeed
with open('edges.csv', 'a') as file:
file.write("src,dst,maxspeed,length,geometryn")
for (src, dst, data) in edges:
maxspeed = decode_maxspeed(data.get("maxspeed", 999))
length = float(data.get("length"))
geometry = shapely.wkt.dumps(data.get("geometry"))
file.write("%d,%d,%d,%f,%sn" % (src, dst, maxspeed, length, geometry))
3. Используем библиотеку GraphFrames для обработки графов на Apache Spark
from pyspark.sql import SparkSession
spark = SparkSession.builder
.config("spark.jars.packages", "graphframes:graphframes:0.8.4-spark3.5-s_2.12")
.master("local[*]")
.appName("GraphFrames")
.getOrCreate()
nodes = spark.read.options(header=True).csv("nodes.csv")
edges = spark.read.options(header=True).csv("edges.csv")
# Вычисление времени прохождения рёбер
edgesT = edges.withColumn("time", edges["length"] / edges["maxspeed"])
# Построение графа
from graphframes import *
g = GraphFrame(nodes, edgesT)
🧭 4. Ищем кратчайший путь по времени
например, от Измайлово до ЖК Зиларт
src = "257601812"
dst = "5840593081"
paths = g.shortestPaths(landmarks=[dst])
paths.filter(F.col("id") == src).show(truncate=False)
💡 Результат: 40 шагов от точки A до точки B.
Такой подход легко масштабируется на миллионы маршрутов. Используйте Spark и GraphFrames для построения логистических моделей, маршрутизации и городского планирования.
🚀 Хотите прокачаться в работе с Big Data? Изучайте Spark! Записывайтесь на курс Spark Developer от OTUS — учитесь на реальных данных и продвинутых кейсах: https://vk.cc/cNrOH4
🎁Пройдите тест, чтобы успеть воспользоваться 10% скидкой на курс и бонусным промокодом Spark_05. Предложение действует до 6 июля 2025 года.
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
