Skip to content

Instantly share code, notes, and snippets.

View Winand's full-sized avatar
🐍
<-Python

Makarov Andrey Winand

🐍
<-Python
View GitHub Profile
@Winand
Winand / compare.bas
Created September 8, 2022 07:43
Сравнение книг Excel
Sub compare()
Dim sh1 As Worksheet, sh2 As Worksheet
Set wb1 = ThisWorkbook
Set wb2 = Workbooks("Map B00 XP__20210617_.XLSX")
For Each sh1 In wb1.Worksheets
Set sh2 = wb2.Worksheets(sh1.Name)
If sh1.UsedRange.Address <> sh2.UsedRange.Address Then
Debug.Print sh1.Name
Else
For Each c In sh1.UsedRange
@Winand
Winand / pyarrow_repack_groups.py
Created July 26, 2022 12:04
Load parquet dataset and save with new partitioning
"""
https://stackoverflow.com/questions/68708477/repartition-large-parquet-dataset-by-ranges-of-values
"""
import pyarrow as pa
import pyarrow.dataset as ds
import pyarrow.compute as pc
import pyarrow.parquet as pq
from pathlib import Path
# r = read_timeout_handler(self.session.get, self.url_card, params=params, timeout=[10, 20, 30])
def read_timeout_handler(func, url, timeout, retries=None, params={}, **kw):
"Retries on read timeout"
if not hasattr(timeout, '__iter__'):
timeout = [timeout] * (retries or 1)
elif retries is not None:
raise ValueError("retries specified along with list of timeouts")
for retry, tm in enumerate(timeout):
try:
@Winand
Winand / docker-compose-kafka.yml
Created June 21, 2022 09:15
Пример: кластер Kafka
# https://dimosr.github.io/kafka-docker/
version: '3.4'
services:
zookeeper:
image: 'bitnami/zookeeper:3.8'
ports:
- '2181:2181'
environment:

Scenario (general):

1.1 Start code-server:

WORKON_HOME=~ code-server --cert --cert-host 172.30.15.137 --disable-telemetry --disable-update-check ~/_railcars

2.1 Open https://172.30.15.137:8080 in Google Chrome

3.1 Open Untitled.ipynb, run three cells: import pandas, create DataFrame, sum dataframe values

@Winand
Winand / request_retry.py
Created March 5, 2022 13:36
Пример обработки исключений в запросах requests
def read_timeout_handler(func, url, timeout, retries=None, params={}, **kw):
"Retries on read timeout"
if not hasattr(timeout, '__iter__'):
timeout = [timeout] * (retries or 1)
elif retries is not None:
raise ValueError("retries specified along with list of timeouts")
for retry, tm in enumerate(timeout):
try:
r = None # init
r = func(url, params=params, timeout=tm, **kw)
@Winand
Winand / skill.md
Last active November 28, 2021 14:03
Самый полезный навык, которому можно научиться за вечер? https://vas3k.club/question/5
  • Медитация - нужно много времени
  • Складывать вещи
  • GDT - get things done https://hamberg.no/gtd
  • Жонглировать тремя мячиками - координация, отдых для глаз, осанка https://jugglers.ru/uchebnik-zhonglirovaniya/kak-nauchitsya-zhonglirovat
  • Готовить сырники
  • Собственная безопасность
  • Оказание первой помощи (туториалы на YouTube) - нужно много времени
@Winand
Winand / ps_gui_form.ps1
Last active September 17, 2021 13:42
Проверка ввода
$glob_var = 0
Function Generate-Form {
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
# Build Form
$Form = New-Object System.Windows.Forms.Form
$Form.Text = "My Form"
import pickle
import threading
import time
import ipywidgets as widgets
import matplotlib.pyplot as plt
import numpy as np
def init_history_plot():