Nekot
и это была боль
в чем именно?
Nikolay
Делаешь годами свой идеальный воркспейс
Aragaer
вот да, на маке у меня не получалось иметь мой привычный воркспейс
Nikolay
Тут можно микросервисы?
Aragaer
на тот момент это был desktop cube и guake
Алексей
Есть ли возможность ботом вытащить все варианты ответа бота телеговского?
Aragaer
и активное использование vim
Aragaer
а сейчас у меня xmonad и emacs и действительно много лично моих настроек
Nekot
на тот момент это был desktop cube и guake
тут есть воркспейсы. и iterm по горячей клавише вылезает. и с vim всё ок.
Aragaer
в 12-м было не ок 8)
Nikolay
объекты А и Б в других микросервисах?
Ну у меня два вопроса. Примнима ли вообще микросервисная архитектура к такой системе Если да, то как лучше делить.
Nikolay
Это упрощенный вариант того, что мне надо сделать
Je
Они могут взаимодействовать друг с другом, но базы данных у них разные
Это недостаточное условие нормальной архитектуры сервисов. И, если они взаимодействуют с целью join’a больших объемов данных - будет проблема
Oleg
Ну у меня два вопроса. Примнима ли вообще микросервисная архитектура к такой системе Если да, то как лучше делить.
Применима. Удаляешь пользователя и отправляешь сообщение в очередь. Микросервисы А и Б получают сообщение о том, что пользователь удален и удаляют все связанные с ним сущности
Je
Ну у меня два вопроса. Примнима ли вообще микросервисная архитектура к такой системе Если да, то как лучше делить.
Приемлема, но если у тебя 100% работы сервиса сводится к такому взаимодействию - делить их не нужно. Делишь по разумной необходимости и по ожидаемым нагрузкам
Oleg
микросервис хранящий пользователя может вообще не знать о существовании других микросервисов и сущностей связанных с пользователем, которые в них хранятся
Je
Правильно понимаю, что правильно хранить данные о принадлжености к пользователю непосредственно в сервисах А и Б?
у тебя остаются те же модели, с user_id и всеми остальными внешними ключами, просто ты больше не join’ишь их в базе и не можешь в on delete cascade, вместо этого ты проектируешь интерфейс и дергаешь его для выполнения этих операций
Je
да, и это самое больное
Je
еще обработка исключений с retry-тасками, когда у тебя несколько зависимых сервисов, мм, обожаю микросервисы
Tishka17
и отчасти - тем, что при отстутствии юзера данные просто недоступны, даже если не удалились
Oleg
и отчасти - тем, что при отстутствии юзера данные просто недоступны, даже если не удалились
ну это только в кейсе удаления. Но часто данные просто изменяются
Oleg
но в целом в большой распределенной системе расчитывать на полную консистентность довольно наивно
Evgenii
class A: def __init__(self, y): self.y = y def test(y): z = y z.y = 11 def main(): x = A(10) test(x) print(x.y) main() И был очень удивлен когда получил 11, после других языков как то дико и не привычно )))
Evgenii
Оказывается передается ссылка на объект, а если мне надо поиграться с его копией
Evgenii
нооо, я был очень удивлен )))
Artur Rakhmatulin
нооо, я был очень удивлен )))
мне кажется лучше удивляться когда не так
Tishka17
нооо, я был очень удивлен )))
в питоне все передается по ссылке
Evgenii
в питоне все передается по ссылке
да уже почитал кроме инт флоат и строки
Eugene
А во, после обновы win10 с Pycharm ещё прикол: файлы не запускаются. Не коннектится к консоли. Нужно через дебагер запускать
Eugene
Win10 – вещь
Tishka17
php, java
ну-ка в дажве передай объект
Svyatoslav
Кто-нибудь сохранял изображения в формате bmp с глубиной 4 бита?
Evgenii
ну-ка в дажве передай объект
о сейчас перепроверю в java
Tishka17
да уже почитал кроме инт флоат и строки
числа тоже: >>> x=1236779 >>> >>> def m(a): ... print(a is x) ... >>> m(x) True
Tishka17
просто они неизменяемые, поэтому пофиг
Ramis
меня больше удивили скоупы видимости переменных if True: a = 5 print(a)
Tishka17
скоуп ограничен функцией или классом
Tishka17
не как в плюсах
Tishka17
ну замыкания как везде
Tishka17
а вот лямбды - нет
🇷🇺El Mariachi
а вот лямбды - нет
а чем лямбды от плюсовых принципиально отличаются?
Vladimir
Да питоновская лямбда следствие того, что ф-я объект первого рода.
Tishka17
а чем лямбды от плюсовых принципиально отличаются?
тем что в них может быть один оператор и нельзя заводить переменные
Oleg
числа тоже: >>> x=1236779 >>> >>> def m(a): ... print(a is x) ... >>> m(x) True
Более того в CPython'е небольшие int'ы это всегда один и тот же объект >>> id(42) == id(42) True
Vladimir
Кстати, да. такое ограничение есть
Vladimir
Более того в CPython'е небольшие int'ы это всегда один и тот же объект >>> id(42) == id(42) True
Не только инты. Многие хешируемые типы так кешируются
Tishka17
Не только инты. Многие хешируемые типы так кешируются
он не о хэшах. А о том, что ты не можешь создать 2 экземпляра числа 42. Всегда будет один и тот же
Oleg
я знаю, что одинаковые строковые литералы в рамках одного файла тоже становятся одним объектом
Oleg
a = 'foo' b = 'foo' print(id(a) == id(b)) # True
Dogma
a = 'foo' b = 'foo' print(id(a) == id(b)) # True
Правда не во всех версиях цпитона
Vladimir
можешь привести пример?
Я не совсем верно сказал, хешируемость тут не причем конечно же. Речь была про In [1]: a = 'asdasdasd' In [2]: b = 'asdasdasd' In [3]: id(a) Out[3]: 140280141337776 In [4]: id(b) Out[4]: 140280141337776 https://hg.python.org/cpython/file/3.5/Objects/codeobject.c#l49 детали реализции, которые не факт, что будут вечно такими
Evgenii
ну-ка в дажве передай объект
class Cat { int x; Cat(int x){ this.x = x; } } public class Test { private static void catChange(Cat cat){ cat.x = 11; } public static void main(String[] args) { Cat cat1 = new Cat(10); Test.catChange(cat1); System.out.println(cat1.x); } } Вернуло 11 😕, видимо пятница ))))))))))))))))
Tishka17
объекты - ссылочные
Tishka17
а в питоне всё объекты
Evgenii
а в питоне всё объекты
как и в джаве )))
Tishka17
в джаве есть Integer, а есть int
Yaroslav