• 10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

    • Translation

    Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


    Я собрал список из десяти отличных репозиториев на Github, которые помогут вам существенно расширить свои знания.


    image


    А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
    Читать дальше →
    • +62
    • 56.3k
    • 7
  • Логирование в микросервисной среде .Net на практике



    Логирование является очень важным инструментом разработчика, но при создании распределённых систем оно становится камнем, который нужно заложить прямо в фундамент вашего приложения, иначе сложность разработки микросервисов очень быстро даст о себе знать.


    В .Net Core 3 добавилась отличная возможность передачи контекста корреляции в HTTP-заголовках, поэтому если ваши приложения используют прямые HTTP-вызовы для межсервисного взаимодействия, то вы можете воспользоваться этой коробочной функцональностью. Однако, если архитектура вашего бекенда подразумевает взаимодействие через брокера сообщений (RabbitMQ, Kafka и т.п.), то вам по-прежнему необходимо озаботиться темой передачи корелляционного контекста через эти сообщения самостоятельно.


    В этой статье мы возьмём простое веб-апи приложение и организуем логирование, которое будет


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

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


    Читать дальше →
    • +12
    • 4.3k
    • 3
  • Как я «умный» телевизор Samsung до ума доводил — расширенный отзыв

      “Каждый человек обязан, по меньшей мере, вернуть миру столько, сколько он из него взял.” — Альберт Эйнштейн

      В своей первой статье на Хабре мне хотелось бы поделиться с уважаемыми читателями подробной информацией о достоинствах и недостатках, а также личным опытом настройки модели Samsung T27H390S для удобной эксплуатации как в качестве телевизора, так и в качестве монитора.
      Статья содержит оригинальные находки, которые в равной степени пригодятся владельцам других моделей и марок телевизоров или мониторов.
      Будет много букв, в том числе английских, но все по делу. Для удобства навигации начну с оглавления.

      Samsung OCM Support
      Узнать подробности
    • Оконные функции с «форточкой» или как пользоваться фреймом

        Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-).





        Оконные функции прочно вошли в нашу практику, но мало кто знает как работают фреймы RANGE и ROWS.

        Возможно поэтому они несколько реже встречаются. Цель этой статьи привести примеры использования, чтобы у вас точно не осталось вопросов “Кто есть кто?” и “Как это применять?”. Вопрос “Зачем?” в статье останется не освещенным.

        Давайте разберемся что такое фрейм, и как схожего эффекта достичь с помощью ORDER By в предложении OVER().

        Для демонстрации будем использовать простую таблицу, чтобы можно было просчитать примеры без использования компилятора. Вообще, очень рекомендую — посмотрите и продумайте, что будет в результате выполнения, а потом проверьте себя — так вы обнаружите белые пятна в восприятии работы оконных функций, которые могут быть совсем не очевидными, когда читаешь уже готовые результаты.
        Читать дальше →
        • +15
        • 2.1k
        • 1
      • Я вам перезвоню

        • Tutorial
        Привет, я Катя, я нашла работу. И написала методичку по общению с работодателем. Расскажу, что спрашивать на собеседовании, чего не спрашивать и как это делать правильно.



        Весь месяц гоняла по собесам. Посмотрела и на стартапы и на Яндексы. Компаний много, выбирать сложно. Чтобы найти ту самую, нужно учесть много факторов. Для каждой компании я составляла индивидуальный список вопросов. Универсальные оформила в этот faq. В нем ключевые вопросы соискателя и их аналитика. Часть вопросов заточена под разработчиков, остальные подойдут всем. Го под кат!
        Читать дальше →
      • Как не потерять все полимеры, став руководителем в новой компании

          Новая команда для тимлида — стресс не меньший, чем новый тимлид для команды. «С чего начать, на кого положиться, кому помочь в первую очередь? Как всех запомнить, какие здесь традиции, регламенты, что если я не уложусь в испытательный срок и не заработаю доверие?» Этими вопросами задается любой тимлид на новом месте. Когда Алексей Петров (pifagor_mc) перешел в FunCorp, то также искал ответы. Нашел их и на TeamLead Conf рассказал, как максимально комфортно войти в новую компанию на позицию руководителя в первый или n-й раз. При этом комфортно будет не только вам, но и сотрудникам компании.


          Алексей Петров — QA Head в FunCorp. В 19 лет увлекся тематикой IT благодаря интересу к компьютерным играм. Работает в сфере с 2005 года, а руководит — с 2010. Прошел путь от младшего тестировщика до директора по качеству.
          Читать дальше →
        • .NET Core на Linux, DevOps на коне

            Мы развивали DevOps как могли. Нас было 8 человек, и Вася был самым крутым по Windows. Внезапно Вася ушел, а у меня появилась задача вывести новый проект, который поставляет Windows-разработка. Когда я высыпал на стол весь стек Windows-разработки, то понял, что ситуация — боль…

            Так начинается история Александра Синчинова на DevOpsConf. Когда из компании ушел ведущий специалист по Windows, Александр задался вопросом, что теперь делать. Переходить на Linux, конечно же! Александр расскажет, как ему удалось создать прецедент и перевести часть Windows разработки на Linux на примере реализованного проекта на 100 000 конечных пользователей.



            Как легко и непринужденно доставлять проект в RPM, используя TFS, Puppet, Linux .NET core? Как поддерживать версионирование БД проекта, если разработка впервые слышит слова Postgres и Flyway, а дедлайн послезавтра? Как интегрировать с Docker? Как мотивировать .NET-разработчиков отказаться от Windows и смузи в пользу Puppet и Linux? Как решать идеологические конфликты, если обслуживать Windows в продакшн нет ни сил, ни желания, ни ресурсов? Об этом, а также о Web Deploy, тестировании, CI, о практиках использования TFS в существующих проектах, и, конечно, о сломанных костылях и работающих решениях, в расшифровке доклада Александра.
            Читать дальше →
          • Щелкаем реле правильно: коммутация мощных нагрузок

              Привет, Geektimes!

              Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

              Традиционная дилемма здесь — чем, собственно, коммутировать. Как убедились многие на своём печальном опыте, китайские реле не обладают должной надёжностью — при коммутации мощной индуктивной нагрузки контакты сильно искрят, и в один прекрасный момент могут попросту залипнуть. Приходится ставить два реле — второе для подстраховки на размыкание.

              Вместо реле можно поставить симистор или твердотельное реле (по сути, тот же тиристор или полевик со схемой управления логическим сигналом и опторазвязкой в одном корпусе), но у них другой минус — они греются. Соответственно, нужен радиатор, что увеличивает габариты конструкции.



              Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

              • Гальваническая развязка входа и нагрузки
              • Коммутация индуктивных нагрузок без выбросов тока и напряжения
              • Отсутствие значимого тепловыделения даже на максимальной мощности


              Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

              Читать дальше →
            • ASP.NET Core: ваше первое приложение на Linux c использованием Visual Studio Code

              Решил недавно написать небольшое ASP.Net MVC приложение после многолетнего перерыва и знающие люди на Хабре подсказали попробовать новый ASP.Net Core, тем более, что он работает в Линуксе из коробки без необходимости задействовать mono, и, судя по последним тестам, даже показывает неплохую производительность. За основу взял аналогичную статью для Mac, однако здесь в отличии от вдохновившей меня статьи хочу описать процесс пошагово в одном месте, для того, чтобы не пришлось лазить по перекрёстным ссылкам, пытаясь разобраться как установить непонятно для чего предназначенные приложения и пакеты. Такое подробное описание процесса возможно поможет многим избежать граблей, с которыми пришлось столкнуться мне. Несколько фраз и рисунков, в части одинаковой для любой платформы, с правками и корректировками взяты из статьи для Mac.

              Читать дальше →
            • Бесплатный пакет возможностей для разработчика: Visual Studio Dev Essentials



                Всем привет!

                Бесплатные инструменты разработки от Microsoft, вопреки распространненому мнению, включают в себя не только многофункциональную и мощную IDE Visual Studio 2015 Community, но и ряд других полезных компонентов и продуктов. Например, Visual Studio Team Services имеет свое бесплатное предложение для команд не более 5 человек. Эти и многие другие предложения теперь доступны каждому разработчику по программе Visual Studio Dev Essentials.

                Новая программа Visual Studio Dev Essentials, анонсированная в ноябре 2015 года, предоставляет централизованный доступ к основным бесплатным компонентам для разработчика на Visual Studio, а так же предлагает различные инструменты для обеспечения полного цикла создания ПО, включая инструменты и продукты сторонних компаний, например Parallels, Xamarin и т.д.

                Так же по программе Dev Essentials в течение нескольких месяцев предоставляется доступ к обучающим материалам, таким, как Pluralsight, Xamarin University и т.д. А также возможность получения приоритетной поддержки на форумах.
                Читать дальше →
                • +16
                • 18.9k
                • 7
              • PowerShell Remoting — настройка и удаленное управление

                • Tutorial
                Здесь минимум теории, в основном практическая часть. Описывается как настроить WinRM, как изменить профиль сетевого адаптера, дается скрипт по добавлению в TrustedHosts с фильтрацией, объясняется зачем нужны доверенные хосты, и рассматриваются поверхностно удаленные подключения так чтобы можно было сесть и сразу админить удаленные машины.

                Наиболее простой путь сконфигурировать удаленное управление это выполнить Enable-PSRemoting в оболочке powershell с правами администратора. При этом произойдет следущее:
                • запустится служба WinRM (если запущена перезапустится)
                • служба WinRM перейдет в состояние — автоматический запуск при старте
                • будет создан прослушиватель WinRM для HTTP трафика на порту 5985 для всех локальных IP адресов
                • будет создано правило файрвола для прослушивателя WinRM. Внимание, этот пункт завершится с ошибкой если любая из сетевых карточек имеет тип сети «публичная», т.к. открывать порт на такой карточке не хорошо. Если у вас при конфигурировании вышла такая ошибка измените профиль это сетевушки командлетом Set-NetConnectionProfile и после этого запустите Enable-PSRemoting снова. Если вам нужна сетевая карточка с профилем «Публичная сеть» запустите Enable-PSRemoting с параметром -SkipNetworkProfileCheck в этом случае будут созданы правила файрвола только из локальной сети.

                Читать дальше →
              • Должность — тимлид

                  Тимлид (aka ведущий разработчик, team leader) — один из таких «специалистов», обязанности которого многие видят по-разному. Думаю, что складываются различные представления примерно так: поработал кто-то в команде под руководством тимлида, который хорошо справлялся с задачами проектирования системы, и считает теперь, что это именно то, что должен делать тимлид; в другой же команде тимлид плохо справлялся с планированием спринтов, а с другими обязанностями более или менее, и стали считать сотрудники, что планирование — не то, чем должен заниматься тимлид.

                  От разработчиков, проработавших долгое время в рамках одной компании или даже одной команды чаще услышишь четкое мнение о том, кто такой тимлид и в чем заключаются его обязанности. Повидавшие же разные проекты разработчики и менеджеры постепенно приходят к пониманию, что тимлид может заниматься много чем, какая-то деятельность лучше вписывается в его роль, какая-то хуже, и уже не готовы давать точное определение роли тимлида.
                  В чем же заключается должность тимлида?
                • Atlassian JIRA Service Desk: краткая информация и некоторые хитрости для удобства использования (с помощью sil-скриптов и sql)

                    Всем привет!

                    Хочу вам кратко рассказать о продукте от Atlassian: JIRA Service Desk
                    Точнее, о некоторых хитростях, которые сильно улучшают удобство использования продукта, т.к. про сам плагин сейчас уже многие в курсе.

                    Для хитростей необходимо использовать скрипты в постфункциях, в данном случае это sil-скрипты плагина JJupin, и уметь написать и выполнить (в т.ч. из скрипта) sql-запросы к БД, где JIRA хранит свои данные. По использованию плагина кратко в другой статье: «Atlassian JIRA: настройка процесса обработки заявок с помощью плагина JJUPIN».

                    Читать дальше →
                    • +8
                    • 24.1k
                    • 5
                  • Система сборки для больших модульных проектов

                      На страницах нашего блога мы уже писали о преимуществах организации репозитория крупного проекта способом, предполагающим возможность извлечения исходников в изменяемую структуру рабочей копии. Использование такого подхода вкупе с потребностями простого конфигурирования, фрагментарной сборки, поддержки несколько десятков ОС под широкий спектр аппаратных платформ стали причиной разработки нами собственной системы сборки. Эта статья рассказывает о найденных нами решениях, которые могут быть интересны разработчикам, сталкивающимися с трудностями поддержки инфраструктуры больших проектов.


                      Читать дальше →
                    • Уменьшаем количество ошибок с помощью чек-листа Code Review

                      • Translation
                      В нашей статье об эффективных ревью кода мы рекомендовали использовать чеклист. Чеклисты (контрольные списки) — это великая вещь в ревью: они гарантируют, что ревью действительно прошло через вашу команду. Также они способствуют выявлению и решению общих трудностей.

                      Исследование, проведенное Software Engineering Institute, показывает, что программисты делают 15-20 распространенных ошибок. Добавив такие ошибки в чеклист, вы можете быть уверены, что заметите их в момент появления и поможете от них избавиться надолго.

                      Чтобы вам было от чего отталкиваться, вот вам список типичных пунктов:
                      Читать дальше →
                    • Arduino Pro Mini + токовый датчик GY-712 ведут контроль перегорания ламп

                        Всем привет. Хочу поделится одним из проектом созданным на базе Arduino.
                        Для меня работа с токовыми датчиками GY-712 была впервые. Перед созданием этого проекта создавался тестовый блок.

                        image

                        Если вам уже интересно, тогда продолжим.
                        Читать дальше →
                      • Как получить удобный доступ к XAML-ресурсам из Code-Behind



                        Хочу рассказать, как максимально удобно работать с XAML-ресурсами из Code-Behind. В этой статье мы разберемся, как работают пространства имен XAML, узнаем о XmlnsDefinitionAttribute, используем Т4-шаблоны и сгенерируем статичный класс для доступа к XAML-ресурсам.
                        Читать дальше →
                      • Аналитический отчёт по трейсу Microsoft SQL Server

                        • Tutorial
                        Аналитический отчёт по трейсу Microsoft SQL Server

                        Постановка задачи


                        Выявить узкие места при работе приложения с базами данных. Составить отчёт по производительности sql-запросов, проанализировать ошибки и взаимоблокировки, составить сравнительные отчёты, посчитать степень покрытия состава хранимых процедур тестами, построить диаграммы.

                        Тестирование проводится регулярно. Поэтому отчёты должны формировать автоматически, быть стандартизованы, легко сравниваться между собой.

                        Используемые технологии:
                        • Microsoft SQL Server;
                        • Microsoft Office Excel;
                        • Комплекс sql-запросов, организованный в проект SQLProfilerReportHelper;
                        • Инструмент нагрузочного тестирования с возможностью выполнить sql-запрос (JMeter, Visual Studio Ultimate, ...);


                        Уровень 300 (для профессионалов).

                        Если коротко, то порядок действий для формирования отчётов по готовому трейсу таков:
                        1. запустить SQLProfilerReportHelper, кликнуть по кнопкам;
                        2. выполнить выборку записей из таблиц-отчётов, скопировать результаты в буфер обмена;
                        3. запустить Microsoft Office Excel, вставить записи из буфера в автоматически форматируемую таблицу и сохранить документ-отчёт.

                        Инструмент и шаблон отчёта доступны для скачивания SQLProfilerReportHelper.
                        Если вам интересно ознакомиться с описанием инструмента и отчётов и порядком их составления, читайте далее.
                        Тысячи символов, десятки картинок и примеров кода
                        • +4
                        • 14.8k
                        • 1
                      • И ещё пару слов о SandCastle, TFS и магии…

                        По мотивам только-только проскочившей публикации «Sandcastle и SHFB» решил поделиться своими болями и печалями, а также и success-story при работе с этим продуктом.

                        В тексте не будет скриншотов с подписями "нажмите кнопку ДОБАВИТЬ" и описания настроек/плагинов.
                        В тексте будет описание процесса реализации конкретного кейса: сборки документации SHFB в TFS.
                        Читать дальше →