
drjackild
03.06.2016
20:32:07
вопрос не дословно, если че

Arseny
03.06.2016
20:32:54

drjackild
03.06.2016
20:33:22
жестко, но мне бы шаблон порвало нахуй
а, ок, в монго есть "Transaction-Like Semantics"

Google

Zart
03.06.2016
20:34:04
https://docs.mongodb.com/manual/tutorial/perform-two-phase-commits/

drjackild
03.06.2016
20:34:17
да, уже нашел

Zart
03.06.2016
20:34:19
вот через это можно скоординировать транзакции между монго и иннодб
но аккуратно
примерно все остальные движки в мускле нетранзакционны

Aldar
03.06.2016
20:34:59
дайте задание по базам данных с собеседований
только не по мускулю
можно по монге

Zart
03.06.2016
20:37:57
в двухфазной транзакции ты завершаешь транзакции на разных источниках и убеждаешься что они все пройдут
если хоть одна не проканает - откатываются все
иначе коммитят все
емнимс мускль не умеет в двухфазку
постгрес точно умел

drjackild
03.06.2016
20:38:54
по питону были еще несложные вопросы, типа как организовать сравнение экземпляров класса. а, вот еще был про __init__ и __new__. Правда, конкретно этот вопрос я считаю не совсем корректным:
Как сделать так, чтобы при вызове экземпляра класса, у нас выводилась строка. Например так:
>>> class Foo:
... pass
...
>>> f = Foo()
>>> f
"p"

Zart
03.06.2016
20:39:32
вызов экземпляра?

Google

drjackild
03.06.2016
20:39:39
ага

Zart
03.06.2016
20:39:55
а на питон налагали ограничения?
на версию
в 2.х можно подсунуть метакласс втихаря

drjackild
03.06.2016
20:40:22
неа, ничего не говорил про ограничения
оу, стоп. класс фу я ни к чему написал, вопрос был просто про:
>>> f
"p"
сам класс не показывали
то есть просто "как так сделать"

Zart
03.06.2016
20:42:11

drjackild
03.06.2016
20:42:54
>>> class Foo(object):
... def __repr__(self):
... return "p"
...
>>> f = Foo()
>>> f
p
собственно я так и ответил
вот поэтому мне кажется некорректным вопрос
оказывается, он имел ввиду, что в вызове __new__ надо просто возвращать строку
бред же?

Zart
03.06.2016
20:44:11
>>> class Foo:
... pass
...
>>> f = Foo()
>>> f
<__main__.Foo instance at 0x029D2EB8>
>>>
>>> def inject(self):
... return 'p'
...
>>> Foo.__repr__ = inject
>>>
>>> f = Foo()
>>> f
p
>>>

drjackild
03.06.2016
20:44:43
да, выше написал, я сказал про __repr__ и __str__

Zart
03.06.2016
20:44:54
я сперва там принт херачил, но можно Foo.__repr__ = lambda self:'p'

drjackild
03.06.2016
20:45:13
но они посчитали это неправильным

Zart
03.06.2016
20:45:38
или вообще метакласс впилить, который будет на лету патчить %)

drjackild
03.06.2016
20:46:27
ну да, это если в дебри залезать) я недавно отличную статью про метаклассы читал, там все по полочкам разложено

Google

Arseny
03.06.2016
20:47:58
кстати, кто-нибудь метаклассы на практике использует?
в обычной работе?

drjackild
03.06.2016
20:48:39
ну, насколько я понял, это довольно специфическая шняга. хотя, в Джанго юзают их
но это фреймворк, а с нуля, в статье приводились примеры, типа "на проекте существует правило, что все публичные методы должны содержать докстринги, пилим метаклас", или "класс должен быть финальным и больше никем не наследоваться, пишем метаклас"
довольно сильно притянуто за уши, как по мне

Zart
03.06.2016
20:52:07
в стдлибе меты используются для абц в основном
https://docs.python.org/3/library/abc.html

drjackild
03.06.2016
20:53:11
да, например там есть abc.AsyncIterable, который проверяет, чтобы был __aiter__

? Snyp
03.06.2016
21:02:29
??

Dmitry
03.06.2016
21:04:03
о блядь дотнетчик
анонист

drjackild
03.06.2016
21:06:48
кому-то захотелось попитонить в дотнете)
блять, а ведь гораздо читабельней, чем если {} вернуть на места

trump ? trump ? hillary
03.06.2016
21:08:52
а ruby еще читабельней

Eugene
03.06.2016
21:10:02
самым читабельным нахожу синтаксис stylus
хы)

Costel Salanders
03.06.2016
21:10:08
Питон головного мозга

Boojum
03.06.2016
21:10:37
В самом деле, зачем нужны глупые скобки, в сторону их

trump ? trump ? hillary
03.06.2016
21:10:55

Google

Eugene
03.06.2016
21:12:33
да это java, давно на твиттере постил эту картинку

Aldar
03.06.2016
21:13:00
С джавы лучше переходить на скалу

trump ? trump ? hillary
03.06.2016
21:13:17
а еще лучше на C#

Aldar
03.06.2016
21:13:24
она лаконичнее и там функциональщина есть)

trump ? trump ? hillary
03.06.2016
21:13:39
скала - monkeypatch

Dan
03.06.2016
21:13:39
пора бы уже всем понять что сейчас по-настоящему наступает время бейсика

Aldar
03.06.2016
21:14:14
руби тоже monkey patching

trump ? trump ? hillary
03.06.2016
21:14:25
а это почему

Aldar
03.06.2016
21:14:35
как почему
в руби ты можешь изменить поведение любого стандартного метода
открываешь класс и меняешь

trump ? trump ? hillary
03.06.2016
21:15:29
ну
это фича

Aldar
03.06.2016
21:15:32
это и называется monkey patching

Dan
03.06.2016
21:15:38
и это в целом неплохо
перегружай себе методы сколько хочешь

trump ? trump ? hillary
03.06.2016
21:16:05

Dan
03.06.2016
21:16:15
лол
ты точно знаешь что такое monkey patch?

trump ? trump ? hillary
03.06.2016
21:18:12
да

Google

trump ? trump ? hillary
03.06.2016
21:18:22
и весь язык - большой monkey patch
к этому и клоню

Aldar
03.06.2016
21:20:35
скала манки патч?

Dan
03.06.2016
21:21:42
я не понимаю как может весь язык целиком быть манки патчем ))))
я наверное что-то не знаю о программировании фундаментального
попробуй объяснить ?
я думаю не только мне это будет интересно, @mtproto

trump ? trump ? hillary
03.06.2016
21:23:38
если тебе не понятны логичные вещи - твои проблемы

Dan
03.06.2016
21:24:08
но ты же несёшь хуйню )))
как язык может быть monkey patch
)))