• Внутренняя и внешняя линковка в C++

    • Перевод
    Всем добрый день!

    Представляем вам перевод интересной статьи, который подготовили для вас рамках курса «Разработчик C++». Надеемся, что она будет полезна и интересна для вас, как и нашим слушателям.

    Поехали.

    Сталкивались ли вы когда-нибудь с терминами внутренняя и внешняя связь? Хотите узнать, для чего используется ключевое слово extern, или как объявление чего-то static влияет на глобальную область? Тогда эта статья для вас.

    В двух словах

    В единицу трансляции включены файл реализации (.c/.cpp) и все его заголовочные файлы (.h/.hpp). Если внутри единицы трансляции у объекта или функции есть внутреннее связывание, то этот символ виден компоновщику только внутри этой единицы трансляции. Если же у объекта или функции есть внешнее связывание, то компоновщик сможет видеть его при обработке других единиц трансляции. Использование ключевого слова static в глобальном пространстве имен дает символу внутреннее связывание. Ключевое слово extern дает внешнее связывание.
    Компилятор по умолчанию дает символам следующие связывания:

    • Non-const глобальные переменные — внешнее связывание;
    • Const глобальные переменные — внутреннее связывание;
    • Функции — внешнее связывание.


    Читать дальше →
  • Java Challengers #3: Полиморфизм и наследование

    • Перевод

    Java Challengers #3: Полиморфизм и наследование


    Мы продолжаем перевод серии статей с задачками по Java. Прошлый пост про строки вызвал на удивление бурную дискуссию. Надеемся, что мимо этой статьи вы тоже не пройдете мимо. И да — мы приглашаем теперь на юбилейный десятый поток нашего курса "Разработчик Java".


    Согласно легендарному Венкату Субраманиам (Venkat Subramaniam) полиморфизм является самым важным понятием в объектно — ориентированном программировании. Полиморфизм — или способность объекта выполнять специализированные действия на основе его типа — это то, что делает Java — код гибким. Шаблоны проектирования, такие как Команда (Command), Наблюдатель (Observer), Декоратор (Decorator), Стратегия (Strategy), и многие другие, созданные бандой четырех (Gang Of Four), все используют ту или иную форму полиморфизма. Освоение этой концепции значительно улучшит вашу способность продумывать программные решения.


    Читать дальше →
  • Обзор нововведений Android Design Support Library v28

    • Перевод
    И снова здравствуйте.

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

    Поехали.

    Недавно была анонсирована 28 версия Android Support Library. В текущей альфа-версии у нас появился доступ к набору новых интересных компонентов. В этой статье я хочу взглянуть на дополнения, которые были внесены в библиотеку Support Library в виде компонентов Material View.

    Читать дальше →
    • +10
    • 2,8k
    • 2
  • Модели Sequence-to-Sequence Ч.2

    • Перевод
    Всем привет!

    Вторая часть перевода, который мы разместили пару недель назад, в рамках подготовки к старту второго потока курса «Data scientist». Впереди ещё один интересный материал и открытый урок.

    А пока поехали дальше в дебри моделей.

    Модель нейронного перевода

    В то время как ядро sequence-to-sequence модели создается функциями из tensorflow/tensorflow/python/ops/seq2seq.py, остается еще пара трюков, использующихся в нашей модели перевода в models/tutorials/rnn/translate/seq2seq_model.py, о которых стоит упомянуть.

    Читать дальше →
  • Delivery Manager — новая роль в мире Agile

    • Перевод
    Всем добрый день!

    До конца года осталось уже почти всего ничего, но всё же несколько новинок в курсах у нас будет. Один из таких новый курсов — «Agile Delivery Manager», который создала Марина Арефьева. По традиции подготовили для вас открытые уроки и интересные материалы. Сегодня познакомимся о виденье, что же такое Delivert Manager и с чем его едят.

    Поехали.

    Рич Льюис (Rich Lewis) — лучший, с кем я когда-либо работал. Когда я только встретил его, он был бизнес аналитиком и скрам-мастером небольшой команды. Он справлялся со своей работой, но явно был способен на большее. Я предложил ему должность Delivery Manager в программе, которой занимался в то время.

    О роли Delivery Manager мы говорим не часто. Конечно, это не часть “семьи” Agile, где доминирует терминология Scrum. Владелец Продукта; Скрам-мастер; Все остальные с ярлыком “Разработчик”. Вот, пожалуй, и все.

    Тем не менее, название должности — Delivery Manager, существует. Например, в The Government Digital Service (GDS) в Великобритании и все большем количестве компаний в США.

    Читать дальше →
  • Открытый урок «Android Material Design: обзор обновлений»

      И снова здрасьте!

      Представляем наш новый курс — «Разработчик Android» и его преподавательницу Варвару, которая давеча провела первый открытый урок на данном курсе. На вебинаре Варвара разбирала новинки Google I/O 2018 collection и в частности работу с новыми компонентами и tools: BottomNavigationView, MaterialButton, Chip, Snackbars и другими.


      Ждём вопросы и комментарии, которые как всегда можно оставить тут или задать Варваре напрямую, посетив день открытых дверей.
    • Эффективное управление транзакциями в Spring

      • Перевод
      Всем добрый день!

      Что ж, конец месяца у нас всегда интенсивные, вот и тут остался всего день до старта второго потока курса «Разработчик на Spring Framework» — замечательного и интересного курса, который ведёт не менее прекрасный и злой Юрий (как его называют некоторые студент за уровень требований в ДЗ), так что давайте рассмотрим ещё один материал, который мы подготовили для вас.

      Поехали.

      Введение

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

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

      Читать дальше →
    • Почему важна SRE документация. Ч. 2

      • Перевод
      Всем добрый вечер!

      Вот и осталось всего ничего (то есть один день) до запуска потока курса «DevOps практики и инструменты», а значит нам надо успеть за это время довыложить оставшиеся части статьи «Почему важна SRE документация».

      Продолжаем.

      Документы для Онбординга Нового Сервиса

      SRE проводят PRR (production readiness review, обзор готовности производства) для проверки соответствия сервиса стандартам операционной готовности, а также чтобы убедиться, что владельцы сервиса понимают, как пользоваться знаниями SRE для управления большими системами.

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

      Читать дальше →
    • TLS и Веб-Сертификаты

        Всем привет!

        А мы вот запустили тихой сапой один из самых необычных для нас курсов — «Цифровая подпись в информационной безопасности». Несмотря на всё мы вроде справились и людей привлекли, посмотрим, что получится. А сегодня мы разберём оставшийся интересный материал и посмотрим вкратце, как работает TLS, а также в чем разница между недоверенным и доверенным веб-сертификатами.

        Перевод — dzone.com/articles/a-look-at-tls-transport-layer-security
        Автор — Arun Pandey

        TLS — сокращение от Transport Layer Security (протокол защиты транспортного уровня), основан на SSL. Как следует из названия, это протокол, работающий на транспортном уровне.
        Как известно, безопасность связи — очень распространенная головная боль, но корректная реализация TLS может перенести веб-безопасность на новый уровень. В среде с внедренным TLS злоумышленник может получить информацию о хосте, к которому вы пытаетесь подключиться, узнать какое шифрование используется, прервать соединение, но сделать что-то кроме этого — не получится.

        Почти во всех протоколах связи есть три основных части: шифрование данных, аутентификация и целостность данных.

        В этом протоколе шифровать данные можно двумя способами: используя Криптосистему с Открытым Ключом или Симметричные Криптосистемы. Криптосистема с открытым ключом, как реализация, совершенней симметричных криптосистем.

        Читать дальше →
      • Модели Sequence-to-Sequence Ч.1

        • Перевод
        Всем добрый день!

        И у нас снова открыт новый поток на доработанный курс «Data scientist»: ещё один отличный преподаватель, чуть доработанная исходя из обновлений программа. Ну и как обычно интересные открытые уроки и подборки интересных материалов. Сегодня мы начнём разбор seq2seq моделей от Tensor Flow.

        Поехали.

        Как уже обсуждалось в туториале RNN (рекомендуем ознакомиться с ним перед чтением этой статьи), рекуррентные нейронные сети можно научить моделировать язык. И возникает интересный вопрос: возможно ли обучение сети на определенных данных для генерации осмысленного ответа? Например, можем ли мы научить нейронную сеть переводить с английского языка на французский? Оказывается, что можем.

        Это руководство покажет вам, как создать и обучить такую систему end-to-end. Скопируйте основной репозиторий Tensor Flow и репозиторий моделей TensorFlow с GitHub. Затем, можно начать с запуска программы перевода:

        cd models/tutorials/rnn/translate
        python translate.py --data_dir [your_data_directory]

        Читать дальше →
        • +13
        • 2,2k
        • 3
      • Certified SAFe® Program

        • Перевод
        Всем добрый день!

        У нас осталось не так много времени до запуска нового потока «Руководитель разработки» так что ещё один интересный материал, который немного затрагивается в беседах на наших занятиях.

        Поехали.

        Сертифицированные консультанты SAFe (Certified SAFe Program Consultants, кратко — SPC) — агенты изменений, которые обладают техническими знаниями SAFe и стремятся улучшить процессы разработки ПО и систем внутри компании. Они играют критически важную роль в успешности внедрения SAFe. SPC могут стать люди самых разных внутренних и внешних направлений, включая бизнес- и технологических лидеров, менеджеров портфолио/программ/проектов, лидов процессов, архитекторов, аналитиков и консультантов.

        Читать дальше →
      • Открытый вебинар «Инфраструктура как код»

          И снова здравствуйте!

          Представляем вам открытый урок курса «DevOps практики и инструменты» на тему «Инфраструктура как код». Игорь Курочкин, преподаватель курса, на пример этой практики рассказывает как можно улучшить взаимодействие команд, ускорить процесс поставки ПО и снизить количество ошибок и показывает основные практики и инструменты для разработки инфраструктурного кода.


          Если есть вопросы и комментарии можете оставить их тут или зайти на день открытых дверей и пообщаться с преподавателями курса там.
        • Знакомство с Spring Data MongoDB

            Всем доброго дня!

            Стартовали новенький поток «Разработчик на Spring Framework», «внезапно», этот курс оказался очень востребованным среди, как и новых студентов, так и тех кто уже отучился у нас на «обычной» джаве и энтерпрайзе. Так что, если интересно, то заходите к нам на открытые уроки, ну и, разумеется, делимся интересными материалами по теме.

            Перевод статьи Spring Data MongoDB Tutorial
            Автор статьи Anand Kumar


            Поехали!

            В современном мире очень важно создать и запустить приложение как можно скорее. Также приложение должно быть простым в разработке и легко поддерживаться.

            Spring — как раз такой фреймворк, который обеспечивает простоту интеграции со множеством других различных фреймворков, что упрощает разработку приложения с использованием Spring. Одной из таких интеграций является интеграция Spring с MongoDB.



            1. Вступление
            Читать дальше →
            • +12
            • 3,2k
            • 5
          • Открытый урок «Обоснование технической деятельности»

              Всем доброго дня!

              Сегодня мы хотим поделиться открытым уроком преподавателя курса «Руководитель разработки» Станислава Михальского, на котором он затрагивают такую проблему о том как найти убедительные обоснования для технических работ и донести их на понятном для оппонента языке. В занятии рассматриваются такие отдельные темы: как убедить «бизнес» в необходимости срочного решения технической задачи, не связанной с основным продуктом, как найти сильную аргументацию, очему важно понимать потребности, точку зрения и риски оппонента.


              Ждём ваши комментарии и вопросы тут или приглашаем задать их Станиславу на день открытых дверей курса.
            • Открытый урок «Как не надо: антипримеры в анализе бизнес-процессов»

                Доброго вечера.

                Представляем вам первый открытый вебинар курса «Аналитик бизнес-процессов». На занятии преподаватель курса Радий Веснин рассказывает про нотации BPMN и типичные ошибки при использовании в описании бизнес-процессов.


                Нам очень интересны ваши комментарии и вопросы, которые можно оставить тут или зайти к нам на второй открытый урок курса.
              • Открытый вебинар «Генеративные состязательные сети»

                  Бобродня!

                  Представляем вам открытый урок по нашему курсу «Machine Learning». На занятии преподаватель и создатель курса Артур Кадурин знакомит с историей развития искусственного интеллекта и нейронных сетей в частности в первой части. А во второй более подробно разбирает устройство Генеративных Состязательных Сетей — процесс разработки и обучения сети в реальном времени.



                  Если у вас есть какие-то вопросы и комментарии по вебинару, то вы их можете задать тут или напрямую Артуру, зайдя к нему на день открытых дверей.
                • Почему важна SRE-документация. Ч.1

                  • Перевод
                  Всем добрый вечер!

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

                  Сегодня мы рассмотрим первую часть статьи о том как документация позволяет SRE-командам управлять новыми и существующими сервисами.

                  SRE (site reliability engineering, примерно переводится как “обеспечение надежности информационных систем”, специалисты этой сферы носят ту же аббревиатуру) — особая дисциплина, мышление и набор технических подходов, направленных на обеспечение безотказной работы веб-продуктов и сервисов. SRE находятся на стыке разработки ПО и системной инженерии, решают эксплуатационные задачи и разрабатывают масштабируемые, надежные и эффективные решения для проектирования, создания и эксплуатации крупномасштабных распределенных систем.

                  Основные задачи SRE:

                  • Мониторинг и сбор метрик — определение желаемого поведения сервиса, изучение действительного поведения сервиса и устранение различий.
                  • Реагирование на инциденты — обнаружение и эффективное реагирование на сбои сервиса, чтобы сохранить соответствие доступности сервиса с его SLA (service-level agreement, соглашение об уровне услуг).
                  • Планирование мощностей — прогнозирование будущего спроса и обеспечение нужного количества вычислительных ресурсов в соответствующих локациях для удовлетворения этого спроса.
                  • Масштабирование сервиса — предсказуемое развертывание и удаление вычислительных мощностей сервиса в дата-центре, часто как следствие планирования мощностей.
                  • Управление изменениями — изменение поведения сервиса без потери его надежности.
                  • Производительность — проектирование, разработка и инжиниринг, связанные с масштабированием, изоляцией, задержками, пропускной способностью и эффективностью.
                  Читать дальше →
                  • +18
                  • 2,4k
                  • 1
                • Открытый вебинар «Рекрутмент в IT: от заявки до оффера»

                    Добрый вечер

                    Представляем вам новый открытый урок второго потока курса «IT-recruiter». На вебинаре вы узнаете, с точки зрения рекрутер, как правильно составляется описание вакансии, какие используются источники для поиска кандидатов, построение коммуникаций с кандидатами и заказчиками, разбор каждого этапа найма.


                    Ждём ваши комментарии и вопросы тут или заходите к нам на день открытых дверей.
                  • Открытый урок «Симметричное и асимметричное шифрование»

                      Доброго вечера всем!

                      Представляем вам наш открытый урок по новому для нас направлению «Цифровая подпись в ИБ». На этом мастер-классе вы узнаете особенности и различия разных алгоритмов шифрования: их сильные и слабые стороны, области применения. В качестве примера рассматривается широко применяемая на практике гибридная схема, в которой используются симметричный и асимметричный варианты шифрования.


                      Ждём ваши комментарии и вопросы, которые вы можете оставить тут или может задать их преподавателю курса Алексею Александрову, зайдя к нему на день открытых дверей.
                      • –4
                      • 1,7k
                      • 2
                    • Суровая действительность: Ваши стейкхолдеры не хотят анализ бизнеса

                      • Перевод
                      Всем привет!

                      Потихоньку развиваем спектр охватываемых областей обучения. Вот запускаем новый тип для нас — «Аналитик бизнес-процессов», четвёртый в пуле курсов «Маркетинг и бизнес». Поэтому начинаем обычный для нас цикл интересных статей и заметок по этой теме.

                      Поехали!

                      Уверен, с этой мыслью читатели сайта согласятся — качественный анализ бизнеса может значительно повысить его ценность на протяжении всего жизненного цикла проекта. Но позвольте задать вопрос. Встречались ли вам когда-нибудь стейкхолдеры, которые “не понимают” бизнес-анализ? Они просто хотят внедрить тактическое, небрежное решение, даже не понимая первопричину, оперативные потребности и возможности.

                      Слышали ли вы когда-нибудь подобное от стейкхолдеров:

                      • “У нас нет времени на предварительный анализ предприятия… давайте просто начнем!”
                      • “Зачем мне нужны требования? Все очень просто, мне нужна система xyz. Это мое требование. А теперь идите и делайте, и чтобы до вторника было готово, пожалуйста.”
                      • “Зачем нам понимать систему “как есть” — нас должны волновать только изменения!”
                      • “Почему вы продолжаете спрашивать про бизнес-цели? Это вас не должно волновать.”


                      Читать дальше →

                    Самое читаемое