Skip to content

Instantly share code, notes, and snippets.

@belyaev-pa
belyaev-pa / sql_last.sql
Created May 8, 2019 12:47
SQL Запрос на селект последнего среза во времени
WITH last_result AS(
SELECT *, row_number()
OVER (PARTITION BY problem_id ORDER BY time_start DESC) as LAST_START_NUMBER
FROM evaluation.result_vote
)
SELECT
TRIGGER.id AS trigger_id,
RESULT.id AS oo,
GRADE.grade AS problem_grade_value,
RESULT.changing AS result_vote_changing_status
@belyaev-pa
belyaev-pa / socket_client.py
Created April 29, 2019 16:21
socket_client
import socket
import sys
import json
# Create a UDS socket
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
# Connect the socket to the port where the server is listening
server_address = './uds_socket.s'
print(sys.stderr, 'connecting to %s' % server_address)
@belyaev-pa
belyaev-pa / socket_server.py
Created April 29, 2019 16:20
socket_server
import socket
import sys
import os
import json
import time
server_address = './uds_socket.s'
# Make sure the socket does not already exist
# -*- coding: utf-8 -*-
from collections import defaultdict, OrderedDict
PINGDROP = OrderedDict([
('- первичный пинг локальных сокетов', ['ping', '-i', '0.2', '-w', '1', '127.0.0.1']),
(
'установка правила для блокировки icmp пакетов идущих на локальные сокеты',
['iptables', '-I', 'INPUT', '-s', '127.0.0.1', '-p', 'icmp', '-j', 'DROP']
),
static private int NumberSum(int number)
{
int sum = 0;
while(number != 0)
{
sum += number % 10;
number /= 10;
}
return sum;
}
def decorator(arg1, arg2):
def real_decorator(function):
def wrapper(*args, **kwargs):
print("Congratulations. You decorated a "
"function that does something with %s and %s" % (arg1, arg2))
for obj in args: # это список
print('hello: {}'.format(obj))
for key, value in kwargs.items(): # это словарь
print('key={}, value={}'.format(key, value))
function(*args, **kwargs)
@belyaev-pa
belyaev-pa / filter.py
Created January 10, 2019 15:01
email filter
# !/usr/bin/python
# -*- coding: utf-8 -*-
from email.parser import Parser
import syslog
import email
import base64
import ldap
import sys
import argparse
import os
Latency Comparison Numbers
--------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
import itertools
def get_data(file_name):
"""generator to yield file row by row
for not upload it to memory"""
with open(file_name, encoding='Windows-1251') as f:
rows = f.readlines()
for row in rows:
yield (row)
def kangaroo(input_str):
""" для решения задачи необходимо решить уравнение:
x1 + y * v1 = x2 + y * v2, так же проверим условия,
и проверим крайние уникальные условия, при которых
возникает деление на 0: v2 == v1"""
input_list = input_str.split()
x1, v1, x2, v2 = map(int, input_list)
if x1 < 0 or x1 > x2 or x2 > 10000 or\
v1 < 1 or v1 > 10000 or\
v2 < 1 or v2 > 10000: