Mikhαil
В самаре летом и ранней осенью тоже прям ништяк. Никаких сочей не надо
Был в Самаре летом - было неплохо. Пиво опять же дешевое, набережная красивая
Mikhαil
Если далеко от старого города не отходить - хорошо
Mikhαil
Вообще красивый город, только немного умирающий. Много красивых деревянных зданий но в аварийном состоянии
Hog
И в сызрань не ездить
Hog
Вообще красивый город, только немного умирающий. Много красивых деревянных зданий но в аварийном состоянии
Ну, немного - это ещё мягко сказано. Застройщики поджигают старые дома, чтобы строить человейники в центре
Hog
Анна
И в сызрань не ездить
Сейчас бы в Сызрань...
Igor
Листаю доки по fabulous, обнаружил тут рекламу одного приложения)) https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/they-use-fabulous.html
Vasily
Бывает, чо
Roman
ну некоторые вещи невозможно сделать плохо. например шарик из титана или обеденный стол на четырех ножках
Зря ты так. В этом году заказывал стол в деревню. Мне его 2 раза переделывали.
Roman
Простой обеденный стол
Roman
Вначале ножки были слишком близко друг к другу и слишком высокие. Второй раз столешницу не той стороной прикрутили.
Hog
Рукожопы :)
noname
у кого-нибудь в 2019 vs такое было? cshtml файл. досохранялся называется 🤔
Vagif
А вот так один из топовых решателей AdventOfCode пишет свое решение. https://www.youtube.com/watch?v=ZSGTr55gmIs
Vagif
На решение двух задач - около четырех минут. Мне нужно примерно столько только чтобы понять, что от меня требуется.
Vasiliy
О_О ооо может просто чувак в теме?
Vasiliy
ну я к тому, что часто решает такие задачи ну аля олимпиадные что ли 🙈
Vagif
Я уже девятый день решаю эти задачки и пришел к выводу, что для быстрого решения все эти фшарповские доменные типы и мапредусы только мешают. Пробег по циклу массива входных строк лучше с этим справляется
noname
Боб Мартин после прочтения в 2010 году sicp
noname
а статья 2019 года
Vagif
Да, все так
Vagif
Совершенно разные критерии выбора инструментальных средств для стартапа, который за несколько месяцев должен или взлететь, или умереть, и команды из нескольких десятков разработчиков, которые приходят, уходят и обслуживают код в десятки тысяч строк.
noname
да проблема строгой типизации напоминает свитер, если модель неправильная придется половину работы переделать. время деньги
Kirill
Вообще красивый город, только немного умирающий. Много красивых деревянных зданий но в аварийном состоянии
надо ехать в нижний новгород, дореволюционная застройка в нормальном состоянии
Roman
да проблема строгой типизации напоминает свитер, если модель неправильная придется половину работы переделать. время деньги
С динамикой абсолютно та же история, только ты даже не знаешь, что твоя модель неправильная. Просто у тебя постоянно что-то где-то тихо ломается
Roman
Лол дальше можно не продолжать
noname
на самом деле если следовать простым правилам http://blog.cleancoder.com/uncle-bob/2020/10/18/Solid-Relevance.html , то после отладки уже ничего не должно ломаться. а так-то да, в елме вон вообще на типах построили версионирование автоматом.
Roman
Если следовать простым правилам, то и гц не нужен. Просто чисти за собой выделенную память
Vagif
Хм, годами, можно сказать, откладывал перевод тестов системы на докер, считая, что это требует длительного времени. На днях попробовал, и на все про все ушло два дня. Контейнер для тестов собирается через docker compose, включая внешние системы типа RabbitMQ. Сборка и тесты идут в TeamCity. Все оказалось довольно несложным, начиная с нулевых знаний докера. Единственное, что встроенные шаги TeamCity для докера (compose, run in docker) толком не завелись, все сделал через custom command, которые вызывают докеровские команды.
Igor
у нас так делаются в CI некоторые шаги, я так и селениум поднимал в докере и всё кучей тестил
Igor
Типа окружение для тестов поднимается в докере при выполнении шага?
удобно же, поднял всё что надо, потестил и выкинул нафиг
Mikhαil
удобно же, поднял всё что надо, потестил и выкинул нафиг
Я не против) мы из кода тестов поднимаем их
Vagif
Типа окружение для тестов поднимается в докере при выполнении шага?
Да, все тесты и их зависимости поднимаются в контейнере. Я на этот счет спорил с нашим спецом по контейнером, он меня убеждал, что проще не возиться с docker compose, а просто забросить в кубернетес поды с внешними зависимостями, и обращаться туда. Так, конечно, работает, но мне такой подход показался недостаточно минималистским. Тестам полагается быть самодостаточными. Всю свой среду они желательно должны создавать сами, без всяких внешних кластеров
Mark
Как я понимаю, это интеграционные тесты. Для них самодостаточность уже не так важна, учитывая, что там в любом случае приходится инфраструктуру разворачивать. Если есть куб, и он работает, то удобнее держать тестовые стенды там. У себя на машине, наверное, да, через composer удобнее.
Igor
ну docker-compose чуть попроще описывать, но на мой взгляд, выбор между кубом и другими контейнерами просто дело вкуса
Vasiliy
куб и докера имхо молотки разного уровня.
Vasiliy
Ну и иногда же надо прогнать часть тестов у себя локально
Ilya
куб и докера имхо молотки разного уровня.
ты же в курсе, что кубер теперь без докера
Vasily
Шо у нас тут?
Vasily
Вроде как не пятница
Vasiliy
ты же в курсе, что кубер теперь без докера
ну а причем тут докер и кубер?)
Vasiliy
я про то, что с докером можно локально запустить на компе у себя все нужные тесты и ты не зависишь от инфраструктуры
Ilya
ну а причем тут докер и кубер?)
я к тому, что если у тебя прод в кубере, то тестирование в докере сейчас немного теряет в ценности
Vasiliy
а если все в кубе развернуто, думаю тоже можно сделать все красиво, но дольше
Vasiliy
в кубер можно будет разные движки работы с контейнерами ставить
Vasiliy
ты же не движок тестируешь, а свой код
Anatoly
Ещё можно не использовать кубер локально
Ilya
ты же не движок тестируешь, а свой код
поэтому я не сказал, что бесполезно, а теряет ценность
Ilya
например для интеграционных тестов
Vasiliy
эээээ почему?
Vasiliy
надо поднять окружение — какая разница через какую технологию ты его поднимешь?
Aleksander
В каком-нибудь опеншифте шанс что локально работающая через докер композ связка поднимется сразу - где-то 50/50. В основном из-за проблем с пользователями, правами и т.п.
Ilya
надо поднять окружение — какая разница через какую технологию ты его поднимешь?
ну например ты используешь сервис дискавери от докера или от кубера, или session affinity
Anatoly
Vagif
Интересно, что перевод тестов в контейнер, где они гоняютс на линуксе, сократил время тестирования процентов на 40.
Aleksander
А ещё куча нюансов с прокидыванием переменных окружений и монтированием вольюмов.. Так что зависит от того, что является system under test: если это интеграционные тесты для проверки работы репозитория с БД, то докер композ норм. Если SUT - компонент целиком и мы гоняем e2e тесты, то с докер композом: а) много чего можно пропустить б) делаешь двойную работу, моделируя окружение в композе.
Vagif
Я предпочитаю минизировать все, что можно. В итого композ-файл выглядит примерно так: version: "3" services: my-tests: container_name: my-tests image: my-tests depends_on: - rabbitmq networks: - rabbitmq env_file: docker-compose.test.env rabbitmq: container_name: rabbitmq image: rabbitmq:3-management hostname: "test" ports: - 5672:5672 - 15672:15672 networks: - rabbitmq networks: rabbitmq:
Vagif
И зачем здесь кубер?
Anatoly
К слову, я на докеркомпозе делал копию прода, включая логи в ластик докердрайвером
Vagif
У нас еще есть acceptance tests, они другие, тестируют все в полной сборке
Aleksander
Интересно, что перевод тестов в контейнер, где они гоняютс на линуксе, сократил время тестирования процентов на 40.
А какой у вас линукс? Не CentOS / RHEL? С ним, если что, будут проблемы - 8ые версии докер не поддерживают, а для 7ых поддержка скоро кончается.
Aleksander
ну на хостовой то вряд ли альпайн)
Aleksander
О_О как так?
RedHat решили что докер небезопасно и убрали его из официальных реп - предлагают вместо него podman и buildah. Руками воткнуть вроде можно, но радости от этого мало.
Vasiliy
уууууу все хотят урвать кусочек пирога)