
Vladimir
01.08.2018
20:50:02
Типа если возникла ситуация для исключения, то вместо исключения лучше заполнить контекст и вернуть None?

Stanislav
01.08.2018
20:50:04

Boris
01.08.2018
20:51:00
нет
есил ты используешь эксепшен чтобы выйти у два варианта

Google

Boris
01.08.2018
20:51:54
либо ты декларируешь эксепшены в сигнатуре (джава)
либо выходишь return'ом
а с ним тебе нужен контекст в случае питона всегда
а чтобы его не иметь - можно использовать объект который будет у тебя работать вместо функции
status_code = result.call()
и если статус код найс result.response()
но вообще лучше не забывать - шо солнце зайдет в ручную итак - а питон итак медленное говно шоб переживать изза raise

Dmitry
02.08.2018
07:56:50
Медленное говнр но перфоманса обычно хватает

Dmitry
02.08.2018
09:01:21

Dmitry
02.08.2018
09:01:52

Ilgiz
02.08.2018
09:42:05
Тут у меня вопрос на счет связанного списка и массива, вставка и удаление в списке занимает O(1) почему? Обьясняется это тем что меняется только ссылка, а в массиве весь блок сдвигается. Но что б найти именно этот обьект который надо удалить тратиться те же O(n) в списке.

Zart
02.08.2018
09:44:00
ичо

Google

Denis
02.08.2018
09:44:12
Если удалять по итератору, не надо ничего искать

Zart
02.08.2018
09:44:14
разные операции на разных структурах имеют разные О

Ilgiz
02.08.2018
09:48:46
Заметим всавка и удаление выполняются за время О(1) только в том случае, если вы можете мгновенно получить доступ к удаляемому элементу в списке
Что он имеет ввиду под словом мгновенный доступ?

Alexander
02.08.2018
09:48:58
так все правильно, поиск О(n) в худшем случае, непосредственно удаление O(1).

Ilgiz
02.08.2018
09:49:09
индексы в списке нет

Denis
02.08.2018
09:49:26
Есть указатели на элементы

Alexander
02.08.2018
09:49:44
мгновенный доступ это когда ты уже имеешь нужный указатель. например вставка в начало или конец списка

Seva
02.08.2018
09:50:27

Ilgiz
02.08.2018
09:50:42
А понял, получается если нету указателя на поиск уходит те же O(n)

Zart
02.08.2018
09:51:57
если у тебя задача "удалить энный элемент", то это не одна, а две операции
итерация+удаление

Ilgiz
02.08.2018
09:52:25
ага понял

Alexander
02.08.2018
09:52:31

Ilgiz
02.08.2018
09:53:10
если массив то по индексу находим это O(1) а удаление уже O(n) в худшем случае так как весь список сдвигается

Alexander
02.08.2018
09:54:07
типа того. массивы хороши для быстрого произвольного доступа, списки - для добавления/удаления в начало/конец

Boris
02.08.2018
10:02:15
линкед лист можно относительно просто оптимизировать получив log(n) поиск
если мы говорим о доступе к индексу или поиску по отсортированному списку офк.

Denis
02.08.2018
10:03:24
При желании можно до о(1) в среднем оптимизировать
И это даже будет лок фри

Boris
02.08.2018
10:04:13
key word на почитать?

Google

Denis
02.08.2018
10:05:11
http://www.cs.tau.ac.il/~afek/SplitOrderListHashSS03.pdf

Boris
02.08.2018
10:08:36
danke schön.

Ilgiz
02.08.2018
10:30:37
Что-то много таких ошибок в книге
вот тут тоже
кстати в питоне что есть связанный список?

Zart
02.08.2018
10:47:39
у гвидо на них аллергия
но если не ошибаюсь, то вроде дека

Ilgiz
02.08.2018
10:48:30

Zart
02.08.2018
10:48:39
collections.deque

Boris
02.08.2018
10:48:42
deque

Ilgiz
02.08.2018
10:49:04
я так понимаю вы не часто используете связанный список?

Denis
02.08.2018
10:49:24
В лиспе часто

Ilgiz
02.08.2018
10:49:46
что за лиспе?

Boris
02.08.2018
10:50:06

Dmitry
02.08.2018
10:50:09
блеать! :)))

Zart
02.08.2018
10:50:09
...

Ilgiz
02.08.2018
10:51:19

Google

Zart
02.08.2018
10:53:58
технически трейсбак сделан списком

Boris
02.08.2018
10:54:27
связный список используется там, где важно получить упорядоченную последовательность с быстрым расширением. например двухсвязный список для очереди, skip list для рейтинга
такие задачи бывают у среднего кодерка раз в год. большая часть не способна order_by в орме правильно сделать и filter в sql alchemy.

Dmitry
02.08.2018
10:57:11
sqlalchemy пишется без пробела, вот так и отрываются гоёбы от корней :)

Boris
02.08.2018
10:57:31
не - мне просто слово алхимия стало нравится

Dmitry
02.08.2018
10:57:42

Boris
02.08.2018
10:57:50
люблю насрать гошникам на лицо показывая оную.

Admin
ERROR: S client not available

Boris
02.08.2018
10:58:47
ну тесты эт все же хорошо. а софтскиллз позволяют дыру в штанах протирать. мир позитивизма все дела.

Dmitry
02.08.2018
10:59:40

Milton
02.08.2018
11:00:22
Софт скиллз это те, что в софте самого работника?

Eugine
02.08.2018
11:00:57

Dmitry
02.08.2018
11:01:00
Коллеги всем доброго времени суток! Появилась задача освоить ELK и настроить сбор логов с серверов. Посоветуйте пожалуйста где куда податься несмыслящему а elk для быстрого погружения в тему или же есть только Ман и правильнее начинать с него? Заранее спасибо за помощь!
вот типичное

Milton
02.08.2018
11:02:24

Boris
02.08.2018
11:02:30

Ilgiz
02.08.2018
11:02:51

AkS
02.08.2018
11:04:21

Google

AkS
02.08.2018
11:04:33
Коллеги...

Boris
02.08.2018
11:04:43
еще раз - питон это язык про бизнеслогику и эффективный код. у тебя задача доступно и просто выразить то, что тебе в голову насрали Коллеги

Dmitry
02.08.2018
11:05:36

Boris
02.08.2018
11:05:39
я писал однажды интерпретатор на питоне - который в игровой логике интерпретировал инструкции гейдизайнера
и вот там я использовал охуительные структуры данных, пару алгоритмов и вообще заибись поиск

AkS
02.08.2018
11:05:58
Гей дизайнера ??

Boris
02.08.2018
11:06:17
через полгода я заебался (без тестов то) это расширять и дебажить - выкинул к хуям

AkS
02.08.2018
11:06:22

Boris
02.08.2018
11:06:29
положил в память lxml дерево и сдеалал поиск через xpath

Dmitry
02.08.2018
11:06:36

Boris
02.08.2018
11:06:48
стало работать в 100 раз быстрее и работает уже 9 лет

Dmitry
02.08.2018
11:06:58
и там еще кофепойнт где-то рядом в углу

AkS
02.08.2018
11:07:01

Dmitry
02.08.2018
11:07:18
на что сам сядешь, на что мать посадишь?

Zart
02.08.2018
11:07:40
кровавый тырпрайзный адо.нет:
def db_adonet():
import clr
clr.AddReference('System.Data')
from System.Data.SqlClient import SqlConnection, SqlCommand
dbc = SqlConnection(DBC_CONNECTION_STRING)
dbc.Open()
rs = SqlCommand('select @@version', dbc)
reader = rs.ExecuteReader()
reader.Read()
print(reader[0])
reader.Close()
dbc.Close()
старенький ADO:
def db_ado():
from comtypes.client import CreateObject
dbc = CreateObject('ADODB.Connection')
dbc.Provider = 'SQLNCLI11.1'
dbc.Open(DBC_CONNECTION_STRING)
rs = CreateObject('ADODB.Recordset')
rs.Open('select @@version', dbc)
print(rs.Fields(0).Value)
rs.Close()
алхимия, блеадь, что ты делаешь...
def db_sa():
import sqlalchemy as sa
e = sa.create_engine(DBC_CONNECTION_URL)
with e.connect() as db:
print(db.execute('select @@version').scalar())
...продолжай

AkS
02.08.2018
11:07:51

Ilgiz
02.08.2018
11:08:02
если конечно индексы нужны

Dmitry
02.08.2018
11:08:42