Skip to content

Instantly share code, notes, and snippets.

View Khazbs's full-sized avatar
🐺
.let { it.be() }

Arthur Khazbulatov Khazbs

🐺
.let { it.be() }
  • TelePat, LLC
  • Moscow, Russia
  • 00:04 (UTC +03:00)
View GitHub Profile
@Khazbs
Khazbs / vk.py.md
Last active November 24, 2018 21:53
Объяснение vk.py

Что происходит в vk.py?

Как вы могли заметить, этот файл (также будем называть его модуль vk) называется vk.py и находится в папке api. Это наталкивает на мысль, что он тем или иным образом свзяан с VK API для чат-ботов. Давайте разберемся, как именно.

Для чего нужен этот модуль?

Схема отношений между чат-ботом, ВК и пользователями

Модуль vk играет роль посредника между основными "мозгами" нашего бота и программным интерфейсом ботов ВКонтакте. Сделано это для того, чтобы сами "мозги" бота (модуль core) не были заняты лишними мыслями о том, как правильно работать с VK API, и могли спокойно заниматься тем, чем и должны - обработкой сообщений.

@Khazbs
Khazbs / base.py.md
Created November 24, 2018 21:41
Объяснение base.py

Что происходит в base.py?

Что это за мистический модуль под названием base? Он лежит в одной папке с vk.py и tg.py, может, он имеет с ними что-то общее? Сейчас разберемся.

Для чего нужен этот модуль?

Наследование и полиморфизм в модулях

Существует несколько способов связаться с нашим чат-ботом: можно написать ему ВКонтакте, можно написать ему в Telegram. Большинство операций, производимых над сообщениями, одинаковы как для сообщений из Telegram, так и для ВКонтакте или других потенциальных платформ. Модуль base является обобощенной версией посредников между нашим ботом и различными платформами, на которых пользователи будут общаться с ним. Этот модуль нужен для того, чтобы мы могли работать с сообщениями с разных платформ одинаково, независимо от того, откуда они пришли нашему боту.

@Khazbs
Khazbs / client-server.md
Last active October 4, 2020 10:34
Объяснение клиента и сервера

Що це таке: клієнт і сервер?

Пример из жизни

Представьте себе, что запас сохраненных мемов на вашем смартфоне истощился, и вам необходимо устроить мемную вылазку в социальную сеть VK, чтобы пополнить его. Что вы сделаете для этого? Скорее всего, запустите приложение VK, откроете вашу новостную ленту или стену какого-либо пользователя или сообщества и начнете прокручивать ее вниз, попутно лайкая, репостя и сохраняя годные мемасики.

Ржумен одобряет годный мемас

Схема взаимодействий

INDEX, INS_DATE, ORIGIN, DEST, DEP_DATE = 0, 1, 2, 3, 4
ARR_DATE, TR_TYPE, PRICE, TR_CLASS, FARE = 5, 6, 7, 8, 9
def load_csv(filename):
with open(filename, 'r') as file:
head = tuple(next(file).strip().split(','))
data = []
for line in file:
row = tuple(line.strip().split(','))
@Khazbs
Khazbs / polygon.py
Last active March 10, 2022 12:47
Simple demo on how to draw regular polygons using pygame
from math import sin, cos, pi
import pygame
def draw_regular_polygon(surface, color, vertex_count,
radius, position, width=0):
n, r = vertex_count, radius
x, y = position
pygame.draw.polygon(surface, color, [
(x + r * cos(2 * pi * i / n),
@Khazbs
Khazbs / server.py
Last active September 2, 2019 21:52
Начали писать сервер для морского боя на двоих игроков
# В этом файле мы пишем сервер для игры в морской бой по сети для двух игроков
# Если ты не понял или забыл, что такое клиент и сервер, или то, как они общаются в сети, можешь почитать вот эту ржаку:
# https://gist.github.com/Khazbs/0be52e489d5ac086ea82dd0718786ecb
# Если тебя терзают какие-то вопросы, смело пиши мне в Скайп (khazbartur)
import tornado.ioloop # Импортируем модуль Торнадо, позволяющий принимать запросы
import tornado.web # Импортируем модуль Торнадо, позволяющий обрабатывать запросы и формировать ответы
import random as ran # Импортируем рандом
@Khazbs
Khazbs / HotelHomeworkDataset.txt
Created October 2, 2019 17:47
Hotel Homework dataset
-- Arthur Khazbulatov (BBI1803)
group: HotelHomework
RoomType = {
tid:number, rtName:string, nightPrice:number
1, "Standard single", 15
2, "Standard double", 20
3, "Luxury double", 25
4, "Family4", 35
}
@Khazbs
Khazbs / HotelHomeworkQueries.txt
Last active October 2, 2019 20:18
Hotel Homework queries
-- Arthur Khazbulatov (BBI1803)
-- Task 1
/*
π Number, rtName (
σ s > 32 (
Room ⨝ RoomType
)
)
*/
group: Hotel_Adam
RoomType = {
tid:number, rtName:string, nightPrice:number
1, "Standard single room", 40
2, "Standard double room", 50
3, "Luxury double room", 60
4, "Family of four room", 100
}
group: Hotel_Adam
RoomType = {
tid:number, rtName:string, nightPrice:number
1, "Standard single room", 40
2, "Standard double room", 50
3, "Luxury double room", 60
4, "Family of four room", 100
}