@rudepython

Страница 1078 из 1719
Denis
22.07.2018
16:24:17
А еще лучше готовый воркер внутрь менеджера передавать mgr = DbManager(SqliteWorker())

И abc тут не нужен

Mihail
22.07.2018
16:27:00
спасиб в любом случае) я бы с радостью согласиться, но завтра выхожу на работу на должность junior python, до этого разговоривал с тим лидом, он говорит что прям надо знать реализации этих патернов на python, буду пытать его зачем ему это надо)

Denis
22.07.2018
16:27:29
Неужели на шарпе так плохо с работой?

Google
Mihail
22.07.2018
16:27:57
переехал в другой город, на python очень жирная вакансия, подумал почему бы и нет

Ученик
22.07.2018
16:39:27
Это ужасный человек

Сразу бан

Mihail
22.07.2018
17:18:24
я конечно не эксперт, но https://docs.python.org/2/library/abc.html

Zart
22.07.2018
17:18:42
поэтому ты и не эксперт

выше денис уже отметил что это другое

Mihail
22.07.2018
17:20:39
окай

странная тема python с заявкой на ООП, а часть парадигм рушит

Zart
22.07.2018
17:21:52
а в чем проблема?

Mihail
22.07.2018
17:22:44
например до кучи поля скрыть можно только условно

Zart
22.07.2018
17:22:56
и в чем проблема?

Mihail
22.07.2018
17:23:41
да в целом нет проблемы, просто не привычно после того же .net

Google
Zart
22.07.2018
17:24:12
ооп в питоне проще, потому что половины той хуйни не нужно

Mihail
22.07.2018
17:25:38
тоже может быть, язык на порядок проще

Zart
22.07.2018
17:26:32
если хочется пошарпоёбствовать, полномасштабные интерфейсы есть

Mihail
22.07.2018
17:26:45
это которые zopo?

Zart
22.07.2018
17:26:51
угу

Mihail
22.07.2018
17:27:54
читал про них, как-то все костыльно выглядит, буду менять мышление на питоновское это похоже лучший выход

Zart
22.07.2018
17:28:09
костыльно?

тогда в шарпе что?

Mihail
22.07.2018
17:31:57
ориентировался на эту статью https://habr.com/post/72757/ на первый взгляд осталось такое впечатление. костыльно в том плане, что это не является встроенным средством языка, нужно заимортировать либу, потом отнаследоваться от класса и тд. когда в шарпе ты создаешь интерфейс, и имплиментишь его сементически выглядит куда лучше

Zart
22.07.2018
17:34:32
обзорная статья, но суть в целом передает

Mihail
22.07.2018
17:34:41
и еще один момент ключевой, фактически проверки имплементации нет

Zart
22.07.2018
17:34:52
абц в стдлибе сделали как продолжение дактайпинга

скажем в питоне обычно требовалось чтобы объект был например итерируемым, или файл-лайк

Mihail
22.07.2018
17:36:13
захотел объект заюзать, который имплементит некоторый интерфейс, а он внезапно не полностью его имплементит

Zart
22.07.2018
17:36:23
поэтому часто для этого делали две вещи - или проверку на наследование isinstance(x, basestr), например или проверку на наличие hasattr(fp, 'write')

Mihail
22.07.2018
17:37:30
короч хз, как практики больше будет тогда смогу спорить, пока только очень поверхостное представление о мире питона

Zart
22.07.2018
17:37:37
если ты настолько параноик, можно напидарасить ассерты с верифаями. есть zope.interface.verify который валидирует что объект имплементит/провайдит заявленное

на практике никому это нахуй не нужно

Google
Mihail
22.07.2018
17:38:16
надеюсь)

Zart
22.07.2018
17:38:16
в шарпах и жабах эта проверка бесплатна на этапе линковки

в питоне её можно делать лишь в рантайме

и если кто-то чтото забыл дописать - мудак, чо

Zart
22.07.2018
17:39:15
в общем абц это способ формализовать вот те проверки выше, что я упомянул

Mihail
22.07.2018
17:40:09
Zart
22.07.2018
17:40:11
т.е. за основу взяли isinstance механизм, и впилили в него интеграцию с абц, чтобы этим проверять объекты на то, что они предоставляют какое-то поведение

isinstance(x, types.Iterable) к примеру

до абц надо было делать try: iter(x) ; return True except TypeError: return False

Mihail
22.07.2018
17:42:09
картинка вроде собирается, спасиб за подробности

Zart
22.07.2018
17:42:12
и это всё что умеет убогий абц

Zart
22.07.2018
17:42:30
зопоинтерфейсы сильно наворочены и поэтому их не пустили в стдлиб

потому что тащат за собой кучу дополнительного багажа

на основе интерфейсов нафигачены адаптеры/утилиты, регистри из них, потом еще и ивенты до кучи

и на всем этом фундаменте хуева гора прочего кода живет

Mihail
22.07.2018
17:44:10
о кстати насчет эвентов, я так понимаю тоже только вручную делать их встроенного механизма нет?

Zart
22.07.2018
17:44:22
а где есть?

Mihail
22.07.2018
17:44:34
в шарпе)

ну там это больше конкатенация делегатов

Google
Zart
22.07.2018
17:45:28
там это не фича языка, а либы скорее

Mihail
22.07.2018
17:45:28
но есть и объекты которые реализуют патерн observable

Zart
22.07.2018
17:45:40
аналогичных вариантов в питоне дохуя

каждая гуи либа с ивентами у нас

питону не нужны делегаты, обычных коллбаков хватает

обсервер паттерн реализован кучей способов - и в гуи фреймворках, и в ормах, и в сетевых либах

Mihail
22.07.2018
17:47:34
а в стандартных есть что-то?

Admin
ERROR: S client not available

vlade11115
22.07.2018
17:48:30
https://docs.python.org/3/library/signal.html Формально, есть.

Но не для того что ты спрашиваешь.

Zart
22.07.2018
17:48:41
это вообще не то

даже близко

vlade11115
22.07.2018
17:48:47
Ага

Я не видел где вы выше определили "то".

Zart
22.07.2018
17:49:33
ну мы вроде о вполне конкретном механизме, как сигналы/слоты куте, например

где есть возможность и слать и ловить

сигнал питона позикс онли, и обёртка к интерфейсу ос назвать это ивентами я как-то не могу

vlade11115
22.07.2018
17:51:07
Вопрос терминологии ;)

Zart
22.07.2018
17:51:25
ну очень рудиментарные и хуевые ивенты

vlade11115
22.07.2018
17:51:32
Вот так лучше.

Google
Zart
22.07.2018
17:51:36
как примерно весь ссаный позикс

vlade11115
22.07.2018
17:52:08
Бгг

Zart
22.07.2018
17:52:21
*поджиг пуканов ин 3.. 2..*

vlade11115
22.07.2018
17:52:30
Не в этом чате ж.

Zart
22.07.2018
17:52:51
ну да. тут всем пофиг, а в нубасах уровень не тот

vlade11115
22.07.2018
17:52:52
Ваши горящие пуканы в другом замке.

Alexey
22.07.2018
17:53:06
В нубасах даже не поймут об чом базар.

Zart
22.07.2018
17:53:10
именно

Mihail
22.07.2018
17:54:06
В нубасах даже не поймут об чом базар.
подборка книг топ, где столько накопал) листаю, на все случаи жизни)

Alexey
22.07.2018
17:54:37
подборка книг топ, где столько накопал) листаю, на все случаи жизни)
Ай, да кого. Чисто отсортировал то, что на диске валяется. У меня ещё руки не могут дойти — 50 гигов перебрать.

Рад, что полезно.

vlade11115
22.07.2018
17:55:15
50 гигов книг?

Alexey
22.07.2018
17:55:22
50 гигов книг.

vlade11115
22.07.2018
17:55:31
А в штуках это сколько?

Alexey
22.07.2018
17:55:44
Да хуй его знает.

Zart
22.07.2018
18:11:07
пара сотен александрийских библиотек

Гения
22.07.2018
18:31:09
Гения: #работа Москва м. Дмитровская Ищем программиста Python Обязанности: -Разработка кассового программного обеспечения -Разработка программного обеспечения для терминалов самообслуживания -Доработка существующего программного обеспечения Требования: -Опыт написания ПО на Python от 3х лет. -Знание устройства операционной системы Linux. -Опыт создания дистрибутивов Желательно: -Знание работы промышленных сетей Lon Work -Знание протокола http, протокола IFSF -С++ Оклад: В зависимости от уровня кандидата  до 230 000 рублей. Возможность индивидуального графика работы при условии сохранения 40-часовой недели. Вопросы и резюме в личку или на emakarova@cornerstone.ru

Alexey
22.07.2018
18:31:37
Какой скромный эйчар. :)

Нормально, 230. В Екатеринбурге на удалёнку возьмёте? :)

Страница 1078 из 1719