×Закрыть
Lead Software Engineer в EPAM
  • Оптимальне Delivery: від ZIP-архіву до docker push

    Отлично, спасибо за коментарии
    1. Смогли, это был проект в предыдущей компании, он, на сколько я знаю, живой, работает, просто это все было гораздно сложнее и больнее настраивать, поддерживать, онбордить людей чем с подходами которые описаны ниже в статье
    2. Смотрите, винегрет был описан в секции про Docker, что Docker как раз решает проблему доставки этого винигрета(если он конечно присутвует), на данном проекте в ЕПАМ, у нас чисто .NET Core(все сервисы), но у меня имелся опыт работы с продуктовыми компании Германии, США и вот у них такой зоопарк очень часто встречаеться и на практике могу сказать, что Docker очень хорошо это решает
    3. С этим у нас все довольно таки хорошо CloudWatch + Elastic + AWS Lambda по вызову которой, можно отследить реквест начиная от первого запроса на BFF до Message Handler`a, который был вызван в результате того или иного сайд еффекта(такое себе дерево реквестов сгрупированное по CorrelationId и сортированое по времени) + алертинг система с интеграцией MS Teams + PagerDuty. Ежемесячно у нас около ~40 GB, понять в чем произошла проблема в среднем занимает минуты 2-5, в зависимости от человека, который будет смотреть. Логирование тема для отдельной статьи.
    4. Unit/Integration тесты с помощью .NET Core TestServer на каждый сервис(50-200 тестов на сервис), запускаются на каждый push в ПР и на push в dev ветку + Automation Tests которые смотрят на енв и запускаються раз в день, их около 6-7к

  • Оптимальне Delivery: від ZIP-архіву до docker push

    Имеет смысл, довольно таки интересный опыт, спасибо

  • Оптимальне Delivery: від ZIP-архіву до docker push

    Да, вы правы, что

    нельзя

    тут будет скорее не правильным.
    В теории можно все сделать, но на сколько это будет успех? Взлетит ли контейнер так сразу, как это происходит с Linux Containers + .NET Core? Какой будет размер результатируещего image? Поддерживают ли нужные оркестраторы windows контейнеры? Поставить все конечно можно, но будет ли это успех для delivery на практике? Как считаете?

  • Оптимальне Delivery: від ZIP-архіву до docker push

    Постоянно забываю эту очередность, но ведь все мы люди :)

  • Оптимальне Delivery: від ZIP-архіву до docker push

    Я так понимаю вы говорите об hub.docker.com/...​icrosoft-dotnet-framework Хорошее замечание, в тоже самое время в статье скорее делался акцент на не очень перспективной успешности разворачивания, например, 2-ух летнего веб-приложения под .NET Framework 4.5, который раниться на IIS. Если у вас есть успешные кейсы разворачивания именно windows контейнеров, я бы хотел послушать ваш опыт, думаю он будет полезен

  • Пространная задача для размышления

    Если у нас с входных данных только уникальное имя Джон и не кто с жителей не знает где его искать, то можно начинать с того, что бы представить город как граф, дома-вершины, улицы — ребра, более того у вершин есть свой вес(приоритет), у многоэтажного дома он больше, так как шанс найти Джона там выше(потратив меньшее кол-во топлива), а у улиц свой вес(длина улицы, без учета пробок :) ), т.е у нас как минимум 2 критерия по которым стоит строить маршрут, строим маршрут по критериям, что бы максимально эффективно обойти все дома, если попадаем на много этажный дом, то по бинарному поиску ищем Джона, profit.
    UPD:
    В лучшем случае, то каждый жилец города окажется доброжелательным и поможет тебе искать Джона по тому же самому алгоритму, что описан выше, конечно же с минимальным количеством пересечений c другими жильцами

    Поддержал: Denys Poltorak
  • С чего начать изучать .NET?

    В независимости от направление стоит понять как работает GC да и вообще что такое CLR, что такое сборка и т.д
    Первых глав Рихтера «CLR via C#» должно хватить с головой
    Знаете программирование, C#? Что же, отлично! Заимплементе свою реализацию связного списка, дерева и почитайте про IEnumerable, IEnumerator
    IEnumerable vs IQueryable?
    Что такое LINQ?
    Что такое ивенты и делегаты?
    Почитайте про IDisposable и когда его стоит использовать и как именно правильно реализовать
    Очень хороший ресурс: metanit.com/sharp/tutorial
    Там в принципе сможете найти и роадмап
    Так же в 80%, а то и всех 95% Вы будете работать с Visual Studio, то лучше начинать сейчас, если еще не начали :)
    Хотя рекомендую перед началом плотного использование IDE написать пару тривиальных программ в блокноте и скомпилить их с консоли
    Дальше интереснее: нужно будет определиться с направлением(web, desktop, mobile)
    По поводу двух последних, то сказать мало чего могу, т.к мало с этим делом работал, на счет веба, то опять же таки metanit.com
    Тут открываеться очень большой спектр технологий, фрейворков и библиотек
    Нужно понимать как работает сеть, что такое модель OSI, что такое IIS, IHttpModule, ASP.NET?
    Что учить по вебу, то выбирать Вам, спектр очень большой, от себя могу сказать точно, что не стоит учить ASP.NET WebForms(умирает это дело, ИМХО)
    Так же стоит посмотреть на .NET Core, ИМХО, если бы я начинал сейчас изучение .NET я бы уже начинал с Core)
    Очень полезным для меня проект: aspnetboilerplate.com
    И их гитхаб: github.com/...​erplate/aspnetboilerplate
    По паттернам конечно же: www.dofactory.com
    И смотреть ДОУ дайджесты: dou.ua/...​ta/digests/net-digest-18

    Welcome to .NET Community :)

  • .NET дайджест #13: C# 7.0, .NET Core 1.0.1, обучающие материалы по ASP.NET

    Попробовать SQRS/ES
    =>
    Попробовать CQRS/ES
  • .NET дайджест #12: .NET Core user secrets, Reactive Trader Cloud, Continuous testing с NCrunch

    DDD, SQRS, MS
    SQRS => CQRS?
    Поддержал: Dmitry Turin
  • Как можно стать синьором в 23?

    В среднем, что бы стать экспертом своего дела нужно посвятить этому делу 10 000 часов, без особо долгих перерывов. Этого можно добиться за пять лет, если уделять по 40 часов в неделю, то есть по 8 часов в день, что равносильно рабочему дню, если даже не тратить все 8 часов на таски и на освоение новых технологий, т.к общение с сотрудниками/клиентом тоже повышает рабочий скилл. Если обучаться ещё по мимо работы(курсы, пэт прожекты), то можно сократить срок до 3-х лет. Тоесть, если человеку X 20 лет, то тратя по 12-13 часов на работу + пет прожекты/самообучение/курсы, то в 23 года можно стать профи своего дела.

  • Я тут понял что есть Синьор девелопер

    Я думаю крутость программиста, если рассматривать борьбу с говнокодом, проявляется в умении хорошо реализовать промежуточный сервис между гавносервисом и клиентом что его использует, а не влепить дополнительный костыль)

  • Порада студенту

    эм, var minValue = arr[0];
    for...
    if(arr[i] < minValue) minValue = arr[i]
    O(n)

    Поддержал: Viktor Chyzhdzenka
  • Дурне питання (без відповіді)

    Ничего он не парадоксальный, что бы правильно ответить на этот вопрос нужно сначала спросить себя, а относительно чего первый объект стоит и относительно чего второй объект движется, ведь все в мире относительно. Делая такие выводы можно предположить, что, например, первый объект стоит относительно второго и они никогда не столкнутся, поскольку движутся в одном направлении и с одной скоростью, но это уже не будет парадоксом, а будет решением задачи, ну доказательством, что оно отсутствует

  • programmr.com-учимся программировать онлайн

    Начебто все нормально, тільки інколи грузить довго, але думаю скоро оптимізують. Мене купили гіфками))

    Поддержал: Светлана Светляк
  • Изучаю Java (ищу компанию)

    Спустя 2-4 дня состояния потери девствености мозга, после ознакомления с 8 фраемворками все становиться на свои места)

  • Изучаю Java (ищу компанию)

    Есть, если честно сам долго ищу кого-то для того, что бы кодить и учить програмировани вместе, мне 18 лет, изучал С++, Qt, FE(HTML, CSS, JavaScript), сейчас в процессе Java EE и паралельно вкусняшки с Сore
    Вот скайп: alex.reav

  • Путь студента, или как получить свою первую работу — 2014

    А как на счет ЕПАМа в этом году?