@ru_python

Страница 3847 из 9768
Maxim robox
28.09.2017
15:44:32
Они на разных уровнях работают. Общее только название же.

Nikolay
28.09.2017
15:44:33
в общем случае сокет - это комбинация из файлхэндлера и пары айпи-порт, эта штука является коннектором, через который сервер принимает запросы, а клиент отправляет

Nikolay
28.09.2017
15:44:55
но сокет - это вообще понятие сетевого уровня, как Макс правильно заметил

Google
Roman
28.09.2017
15:45:24
Они на разных уровнях работают. Общее только название же.
а можно использовать вебсокет без сокетов?

Maxim robox
28.09.2017
15:45:31
Нет.

Nikolay
28.09.2017
15:45:35
а вебсокет - понятие прикладного, когда из браузера прямо из джаваскрипта можно открыть соединение с сервером и получать по нему объекты напрямую

а можно использовать вебсокет без сокетов?
с сетью вообще без сокетов нельзя работать

Maxim robox
28.09.2017
15:47:05
а можно использовать вебсокет без сокетов?
Вопрос примерно как «можно использовать копьё без древка». ;)

Maxim robox
28.09.2017
15:47:34
В том числе из джаваскрипта.

Помимо прочего.

Nikolay
28.09.2017
15:48:05
т.е. с вебсокетами можно работать только из джаваскрипта?
ну, на данный момент да, хоть это и не совсем точно. Появится wasm - можно будет через него, может быть

почему?
потому что сокет - это точка коннекта к сети ядра твоей операционной системы

ни одно сетевое соединение в обход него не идет

Google
Roman
28.09.2017
15:49:16
вообще, вопрос про отличие сокета от вебсокета я придумал чтобы троллить кандидатов на собеседовании :)

Nikolay
28.09.2017
15:49:30
а как же netmap, dpdk, af_packet?
а что с ними? они другую какую-то модель типа OSI реализуют?

Aragaer
28.09.2017
15:49:41
они просто ниже по уровню, чем сокеты

сокеты на 4-м уровне

Roman
28.09.2017
15:50:11
Aragaer
28.09.2017
15:50:33
попытался запустить свою игрушку, а оказывается за это время у аддона монго пропал бесплатный вариант

Roman
28.09.2017
15:50:45
они просто ниже по уровню, чем сокеты
ну я к тому, что можно притащить сетевой стек в приложение и сокеты будут не нужны )

Roman
28.09.2017
15:51:13
можно, но зачем?
быстрее. у тебя куча аллокаций и метаданных в ядре для каждого mbuf/skb

Nikolay
28.09.2017
15:52:00
почему более низкий?
потому что свой стек поверх третьего уровня

Aragaer
28.09.2017
15:52:09
skb вообще делается для каждого сетевого пакета

Maxim robox
28.09.2017
15:52:14
Похоже, Роман решил просто выпендриться своим знанием о наличии других протоколов помимо TCP и UDP.

Nikolay
28.09.2017
15:52:22
единственный смысл в наше время НЕ использовать l4 - это делать высокоуровневое шифрование

Roman
28.09.2017
15:53:24
skb вообще делается для каждого сетевого пакета
угу. и там куча метаданных вокруг. а так можно использовать простые структуры фиксированного размера и переиспользовать уже аллоцированное.

Aragaer
28.09.2017
15:53:28
я тут на днях обнаружил что в TCP есть шифрование

TCP-AO

Roman
28.09.2017
15:54:12
Google
Maxim robox
28.09.2017
15:54:44
Nikolay
28.09.2017
15:54:47
можно еще Машку за ляжку и козу на возу

Roman
28.09.2017
15:55:26
я тут на днях обнаружил что в TCP есть шифрование
там не шифрование и это расширение tcp digest. используется в первую очередь для всяких bgp

да ну, экономия на спичках
ну посмотри почему такой всплеск решений kernel bypass. посмотри на цифры netmap/dpdk, на seastar и http://www.openonload.org/

Aragaer
28.09.2017
16:00:33
на самом деле вопрос на работе возник - как можно что-нибудь этакое сделать, чтобы добавить какую-то аутентификацию пользователя чисто на уровне tcp

потому что у нас в железке куча разных сервисов, встраивать аутентификацию в каждый чот не хочется

Roman
28.09.2017
16:03:03
http://www.cathayschool.com/tcp-md5-signature-option-a1551.html

и в quagga есть поддержка

но нужна еще включенная опция в ядре

Nikolay
28.09.2017
16:04:39
Aragaer
28.09.2017
16:04:47
мм.. ну у нас там помимо прочего и ось не линукс 8)

не, tcp-md5 оно типа устарело в пользу tcp-ao

но да, тут можно заюзать некий секрет, известный юзеру и железке

Tony
28.09.2017
16:24:54
def _lint_file(self, file_name): with open(file_name) as f: for number, line in enumerate(f, 1): self._lint_line(line, number, file_name)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 43: ordinal not in range(128)

как ему явно указать юникод?

Andre
28.09.2017
16:26:25
сохрани файл в utf-8

Google
Tony
28.09.2017
16:27:10
сохрани файл в utf-8
это как-то в пайчарме можно сделать?

Andre
28.09.2017
16:28:17
это как-то в пайчарме можно сделать?
полюбому можно, но как именно – не скажу

как ему явно указать юникод?
имеется ввиду файл шаблона для Jinja

Tony
28.09.2017
16:29:54
правой кнопкой по полю ввода -> file encoding

не

все равно

он читает в аски

Admin
ERROR: S client not available

Tony
28.09.2017
16:32:07
файл в юникоде

with open(file_name, encoding='utf-8') as f:

Nik
28.09.2017
17:08:21
Ура, я вас нашел

Ребята, создал бота. Работаю с ним через telebot. И теперь вопрос.

Как отправить сообщение всем юзерам бота?

Mike
28.09.2017
17:09:54
сохраняй их всех в редиску, и потом всем отправляй?

Nik
28.09.2017
17:10:01
точнее, как узнать id всех подписчиков

Mike
28.09.2017
17:10:43
.... redis.set(user_id, user_specific_data) .... for user in redis.keys("*"): ... ....

S t u
28.09.2017
17:12:04
С какой программой это можно пользовать ?

Mike
28.09.2017
17:12:05
ну точнее там скорее всего если словарь хранить хочешь будет не set а hmset и потом в цикле redis.hgetall(user) и шли персонализированные сообщения

сли не надо, то просто заприсывай redis.set(user_id, "known") и по кючам итерируйся

Nik
28.09.2017
17:18:30
тоесть телеграм апи мне сама не может сообщить список подписчиков бота?

Google
Nik
28.09.2017
17:18:42
и мне надо их самому запоминать?

видимо так и прийдется

Ответ на тостере "Заранее никто за бота подписчиков не считает"

ivan
28.09.2017
18:18:56
подскажите как выдать формат в datetime типа день.месяц.год

а не год-месяц-день

in favor
28.09.2017
18:19:14
datetime.strftime вроде

>>> d.strftime("%d/%m/%y") '11/03/02'

ivan
28.09.2017
18:21:38
мерси

Nazar
28.09.2017
18:24:38
Парни, а расскажите как и чем лучше всего читать «большие» текстовые файлы. То есть хочется прочитать допустим файл в 200-300 мб и сделать какие-то действия. Читать сразу весь файл, как-то не очень хочется, ибо файл может весить как 10мб, так и 1000. Самый адекватный на мой вгляд это читать порциями, запоминая позицию. Что вы скажите на этот счет?

Aragaer
28.09.2017
18:25:03
итератор должен вести себя разумным образом

ivan
28.09.2017
18:30:56
а как-нибудь логически можно на части распилить? можно в несоклько процессов выполнять

Aragaer
28.09.2017
18:31:42
в позиксе есть aio

но чо и как в питоне не знаю

Сергей
28.09.2017
18:34:01
Максимум, разогнаться можно до скорости чтения с диска

Сергей
28.09.2017
18:34:30
Хадуп будет запускаться медленнее чем делать эту таску)
Ну да) я о том, что там понятно описано как они такие проблемы решили)

Страница 3847 из 9768