Hog
Mikhαil
Если далеко от старого города не отходить - хорошо
Mikhαil
Вообще красивый город, только немного умирающий. Много красивых деревянных зданий но в аварийном состоянии
Hog
И в сызрань не ездить
Hog
Vasiliy
Hog
Igor
Листаю доки по fabulous, обнаружил тут рекламу одного приложения))
https://fsprojects.github.io/Fabulous/Fabulous.XamarinForms/they-use-fabulous.html
Vasily
Бывает, чо
Roman
Roman
Простой обеденный стол
Roman
Вначале ножки были слишком близко друг к другу и слишком высокие. Второй раз столешницу не той стороной прикрутили.
Hog
Рукожопы :)
noname
у кого-нибудь в 2019 vs такое было? cshtml файл. досохранялся называется 🤔
Vagif
А вот так один из топовых решателей AdventOfCode пишет свое решение.
https://www.youtube.com/watch?v=ZSGTr55gmIs
Vagif
На решение двух задач - около четырех минут. Мне нужно примерно столько только чтобы понять, что от меня требуется.
Vasiliy
О_О ооо может просто чувак в теме?
Vagif
Vasiliy
ну я к тому, что часто решает такие задачи ну аля олимпиадные что ли 🙈
Vagif
Я уже девятый день решаю эти задачки и пришел к выводу, что для быстрого решения все эти фшарповские доменные типы и мапредусы только мешают. Пробег по циклу массива входных строк лучше с этим справляется
noname
Боб Мартин после прочтения в 2010 году sicp
noname
а статья 2019 года
Vagif
Да, все так
Vagif
Совершенно разные критерии выбора инструментальных средств для стартапа, который за несколько месяцев должен или взлететь, или умереть, и команды из нескольких десятков разработчиков, которые приходят, уходят и обслуживают код в десятки тысяч строк.
noname
да проблема строгой типизации напоминает свитер, если модель неправильная придется половину работы переделать. время деньги
Kirill
noname
Roman
Лол дальше можно не продолжать
noname
на самом деле если следовать простым правилам http://blog.cleancoder.com/uncle-bob/2020/10/18/Solid-Relevance.html , то после отладки уже ничего не должно ломаться. а так-то да, в елме вон вообще на типах построили версионирование автоматом.
Roman
Если следовать простым правилам, то и гц не нужен. Просто чисти за собой выделенную память
Aleksander
Vagif
Хм, годами, можно сказать, откладывал перевод тестов системы на докер, считая, что это требует длительного времени. На днях попробовал, и на все про все ушло два дня. Контейнер для тестов собирается через docker compose, включая внешние системы типа RabbitMQ. Сборка и тесты идут в TeamCity. Все оказалось довольно несложным, начиная с нулевых знаний докера. Единственное, что встроенные шаги TeamCity для докера (compose, run in docker) толком не завелись, все сделал через custom command, которые вызывают докеровские команды.
Mikhαil
Хм, годами, можно сказать, откладывал перевод тестов системы на докер, считая, что это требует длительного времени. На днях попробовал, и на все про все ушло два дня. Контейнер для тестов собирается через 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
Ну и иногда же надо прогнать часть тестов у себя локально
Vasily
Шо у нас тут?
Vasily
Вроде как не пятница
Vasiliy
Vasiliy
я про то, что с докером можно локально запустить на компе у себя все нужные тесты и ты не зависишь от инфраструктуры
Vasiliy
а если все в кубе развернуто, думаю тоже можно сделать все красиво, но дольше
Vasiliy
Anatoly
Vasiliy
в кубер можно будет разные движки работы с контейнерами ставить
Vasiliy
ты же не движок тестируешь, а свой код
Anatoly
Ещё можно не использовать кубер локально
Ilya
например для интеграционных тестов
Vasiliy
эээээ почему?
Vasiliy
надо поднять окружение — какая разница через какую технологию ты его поднимешь?
Aleksander
В каком-нибудь опеншифте шанс что локально работающая через докер композ связка поднимется сразу - где-то 50/50. В основном из-за проблем с пользователями, правами и т.п.
Ayrat
Vagif
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
Anatoly
К слову, я на докеркомпозе делал копию прода, включая логи в ластик докердрайвером
Vagif
У нас еще есть acceptance tests, они другие, тестируют все в полной сборке
Vasiliy
Vasiliy
Aleksander
ну на хостовой то вряд ли альпайн)
Vladislav
Aleksander
О_О как так?
RedHat решили что докер небезопасно и убрали его из официальных реп - предлагают вместо него podman и buildah. Руками воткнуть вроде можно, но радости от этого мало.
Vasiliy
уууууу все хотят урвать кусочек пирога)