Как стать автором
Обновить
848.49
OTUS
Цифровые навыки от ведущих экспертов
Сначала показывать

Золотое правило git rebase

Время на прочтение4 мин
Количество просмотров29K
Всем привет!

Мы тут немного переделали наш курс посвящённый web-разработке и добавили ещё целый месяц изучения JS. Ну и как обычно у нас — рассмотрим что-нибудь интересное, что разбирается у нас на курсе. В данном случае — git rebase.

Поехали.

Что на самом деле происходит во время git rebase, и почему вас должно это волновать.

Основы rebase-а

Таким вы могли бы представить себе rebase в git:


Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии18

Открытый вебинар C#: async и await

Время на прочтение1 мин
Количество просмотров7.5K
Всем привет!

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


Как всегда ждём вопросы, комментарии, предложения.

Спасибо.
Всего голосов 19: ↑16 и ↓3+13
Комментарии2

Что есть в новом JupyterLab для пользователей?

Время на прочтение4 мин
Количество просмотров28K
Всем привет!

Одним из основных инструментов на нашем курсе «Разработчик BigData» является Jupyter. Глянем, что его разработчики приготовили в новой итерации и что уже доступно в бета-версии.

Поехали.

Вкратце: JupyterLab готов к ежедневному использованию (установка, документация, экскурс через Binder)

JupyterLab — это интерактивная среда разработки для работы с блокнотами, кодом и данными.


Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии5

Почему подводят персонажи

Время на прочтение7 мин
Количество просмотров4.1K
Всем привет!

Запускаем завтра курс «Проектирование UX/UI», что немного волнительно, т.к. второй не совсем программерский курс, да ещё и радикально отличающийся от такого же первого (Digital маркетинг). В общем ждём старта и первых отзывов от наших студентов, а пока что очередной понравившийся материал от наших преподавателей про персонажей.

Поехали.

Кратко: Персонажи — удобный инструмент для выполнения задач UX. Почему же они часто не помогают? Узнайте, какие подводные камни мешают персонажам быть полезными, и как их избегать.

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

Персонажи — это собирательные образы групп вашей целевой аудитории, разделяющих схожие взглядами, ценности и особенности поведения относительно продукта. Это очеловеченные “снимки” релевантных и осмысленных особенностей, по которым вы группируете ваших пользователей, основанные на результатах исследований. Нередко они выглядят приблизительно так:


Пример персонажа (Источник)
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Автоматизация тестирования и Agile

Время на прочтение3 мин
Количество просмотров10K
Всем привет!

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

На прошлых двух таких мероприятиях не раз задавался вопрос о связи Agile и автоматизации. Вот, нашёлся в закромах неплохой и не сильно большой материал, которым с вами и делимся.

Поехали.



Тестирование программного обеспечения, следующее принципам agile-разработки, называется Agile Тестированием (Agile Testing). Agile — итеративная методология разработки, при использовании которой требования развиваются в ходе сотрудничества между клиентом и самоорганизующимися командами и гибкого согласования с потребностями клиента.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии8

Открытый урок «Проектирование UX/UI: дизайн в современном мире»

Время на прочтение1 мин
Количество просмотров12K
Всем доброго времени суток!

Мы провели тут в рамках нашего второго «непрограммерского» курса — «Проектирование UX\UI» открытый вебинар на выше указанную тему, где разбирали что такое «дизайн», «дизайнер» и роль всего этого в мире компании.

Наши преподаватели так же поговорили о современных трендах и перспективах в данной области. Так что, надеемся, что вам будет интересно:


Как всегда ждём комментарии, вопросы, предложении тут или на Дне открытых дверей.
Всего голосов 12: ↑11 и ↓1+10
Комментарии0

Топ-10 трендов технологий искусственного интеллекта (ИИ) в 2018 году

Время на прочтение7 мин
Количество просмотров20K
Добра!

Слушатели первого курса «Разработчик BigData» вышли на финишную прямую — сегодня начался последний месяц, где выжившие займутся боевым выпускным проектом. Соответственно, открыли и набор на этот достаточно непростой курс. Поэтому давайте рассмотрим одну интересную статью-заметку по современным трендам в ИИ, которые тесно связаны с BD, ML и прочим.

Поехали.

Искусственный интеллект находится под пристальным вниманием глав правительств и бизнес-лидеров в качестве основного средства оценки верности решений. Но что происходит в лабораториях, где открытия академических и корпоративных исследователей будут устанавливать курс развития ИИ на следующие годы? Наша собственная команда исследователей из AI Accelerator от PwC нацелилась на ведущие разработки, за которыми следует внимательно следить как бизнес-лидерам, так и технологам. Вот что они из себя представляют и почему они так важны.

Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии9

Селекторы CSS и их применение в автоматизации тестирования Программного Обеспечения

Время на прочтение6 мин
Количество просмотров98K
Всем добра!

Данную тему мы уже раскрывали на вебинаре, который проводил наш преподаватель, но решили дополнить чуть текстом (да и многим, как оказалось, так удобнее). В общем представляем статью на тему «Селекторы CSS», которую Павел Попов прорабатывал в рамках нашего курса «Автоматизация в тестировании».

Поехали.

Каждый курс или статья для начинающих автоматизаторов рассказывает об удобном и универсальном средстве поиска элементов Web-страницы, как XPath. Данный вид локаторов на элемент был создан в 1999 году для указания на элементы в XML файлах. С помощью встроенных функций XPath стал очень популярным инструментом поиска элементов на Web-странице. Если HTML код вашего приложения выглядит как-то так:

…
<form class=“form_upload>
    <div>
        <div class=“row_element_3 row tile_fixed”>
            <div class=“button_cell wrapper_tile”>
                <button type=“submit” class=“button_submit wrapper_button”>Нажми меня</button>
            </div>
        </div>
    </div>
</form>
…

и вы не можете найти достойный XPath для кнопки “Нажми меня”, не стоит сразу бежать в сторону разработчика с просьбой о помощи. Есть отличная возможность воспользоваться CSS селектором, он будет выглядеть так:

.button_submit

Добро пожаловать в мир CSS.

Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии18

Открытый урок по «Введение в JSON Schema»

Время на прочтение1 мин
Количество просмотров6.7K
Доброго дня!

Запускаем сегодня наш переделанный курс «Разработчик JavaScript» и вспомнили, что у нас есть ещё один открытый урок по нему же. На нём разбирали основные идеи JSON Schema, синтаксис, определяемый в спецификации, ну и для чего вообще стоит использовать эту технологию.


Если вдруг есть какие-то вопросы, то задавайте.
Всего голосов 23: ↑14 и ↓9+5
Комментарии1

Открытый вебинар «Особенности языка JavaScript»

Время на прочтение1 мин
Количество просмотров5.5K
Всем бобра!

Переработали тут по заявкам слушателей программу курса по JavaScript: дописали смежные темы типа сборщиков, тестовых фреймворков плюс догнали чуток изучения подходов по ООП + SOLID, паттерны и ещё мелкие разные изменения. По этому поводу провели достаточно интересный открытый вебинар на тему «Особенности языка JavaScript», где Юрий Дворжецкий рассказывал и показывал (а ещё и спрашивал) основные отличия языка, идиомы JS.


Как всегда ждём вопросы, пожелания, тапки.
Всего голосов 14: ↑10 и ↓4+6
Комментарии0

Основные принципы C++: Правила выражений и операторов

Время на прочтение5 мин
Количество просмотров19K
Бобра!

Что ж, мы плавно выходим на старт второго потока группы «Разработчик С++» и разбираем интересные материалы, которые накопились у преподавателя в свободное от работы и преподавания время. Сегодня рассмотрим (а потом и продолжим) серию материалов, где разбираются отдельные пункты С++ Core Guidelines.

Поехали.

В C++ Core Guidelines много правил, посвященных выражениям и операторам. Если быть точным, то более 50 правил посвящено объявлениям, выражениям, операторам и арифметическим выражениям.



*перевод
Информативные названия

Оптимальная длина переменных

  • Не должны быть слишком длинными (maximimNumberOfPointsInModernOlympics.) или слишком короткими (например, x, x1)
  • Длинные названия сложно печатать, короткие названия недостаточно информативны..
  • Дебажить программы с названиями от 8 до 20 символов гораздо проще
  • Гайдлайны не заставляют вас срочно менять названия переменных на имена из 9-15 или 10-16 символов. Но если вы найдете в своем коде более короткие названия, убедитесь, что они достаточно информативны.

Слишком длинные: numberOfPeopleOnTheUsOlympicTeam; numberOfSeatsInTheStadium; maximumNumberOfPointsInModernOlympics
Слишком короткие: n; np; ntmn; ns; nslsd; m; mp; max; points
В самый раз: numTeamMembers, teamMembersCount

Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии32

Как сделать ваш код в 80 раз быстрее

Время на прочтение6 мин
Количество просмотров30K
Всем бобра!

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

Поехали.

PyPy способен ускорить код в 2 раза, что радует очень многих людей. Хочу поделиться короткой, личной историей, доказывающей, что PyPy способен на большее.

ДИСКЛЕЙМЕР: это не чудодейственное средство на все случаи жизни, да, сработало конкретно в этом случае, но может оказаться не таким эффективным во многих других. Однако метод все равно интересный. Более того, шаги, описанные здесь, я применял во время разработки в том же порядке, что делает статью жизненным примером оптимизации PyPy.

Я экспериментировал с эволюционными алгоритмами несколько месяцев назад: план был амбициозным — автоматически развить логику, способную контролировать (симулированный) квадрокоптер, то есть PID-регулятор (спойлер: не летает).

Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии11

Открытый урок «Диаграммы UML»

Время на прочтение1 мин
Количество просмотров13K
Всем бобра!

Наш курс «Разработчик С++» потихоньку растёт и ширится: присоединился новый преподаватель с очень богатым опытом — Юрий Авраменко. И он уже провёл у нас первый открытый урок по диаграммам UML, на котором разбирались: виды диаграмм, инструменты построения схем и диаграмм, варианты представлений и прочее.


Ждём вопросы тут или на Дне открытых дверей.
Всего голосов 20: ↑18 и ↓2+16
Комментарии2

Открытый урок на тему «Аудит рекламных кампаний в Яндекс. Директе»

Время на прочтение1 мин
Количество просмотров3.8K
И снова здравствуйте!

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

Вчера Вика провела очередной открытый урок, где рассказывала об оптимальных стратегиях продвижения, сборе и оценке семантического ядра и многом другом, а так же ещё поделилась чек-листом эффективности кампаний сотрудников Яндекса.

Ждём, если что, ваших вопросов, предложений, комментариев и всего остального.
Всего голосов 19: ↑18 и ↓1+17
Комментарии0

Масштабируем Kubernetes до 2500 нод

Время на прочтение7 мин
Количество просмотров8.1K
Всем добра!

Ну что ж. Первый поток курса DevOps выпущен, второй обучается вовсю и вот на подходе третий. Курс усовершенствуется, проект тоже, остаётся неизменным пока что одно: интересные статьи, которые мы пока что только переводим для вас, но на носу уже и срывы покровов с тех вещей, что у нас просили :)

Поехали!

Мы используем Kubernetes для исследования в области deep learning уже более двух лет. В то время, как наши самые масштабные нагрузки управляют облачными ВМ напрямую, Kubernetes обеспечивает быстрый итерационный цикл и масштабируемость, что делает его идеальным для наших экспериментов. Сейчас мы управляем несколькими Kubernetes кластерами (как облачными, так и на физическом оборудовании), самый крупный из них состоит из более 2500 нод — это кластер в Azure на комбинации виртуальных машин D15v2 и NC24.

Многие системные компоненты отказывали в процессе масштабирования, включая etcd, Kube мастеров, загрузки образов Docker, сети, KubeDNS и даже ARP кэши наших машин. Поэтому мы решили, что будет полезным поделиться, с какими проблемами мы столкнулись и как с ними справились.

Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии4

Разрешения во время выполнения

Время на прочтение4 мин
Количество просмотров3.9K
Всем доброго!

Вот мы и добрались теперь и до мобильных: стартовал набор на курс «Разработчик Android». Очередная небольшая веха и совершенно новое направление. Наш преподаватель — Семён Пилунц делится по этому поводу некоторыми своими размышлениями о разреще.

Если ваше приложение будет работать на Android 6.0 (API-уровне 23) или выше, и вам требуются некоторые особые разрешения, то вам нужно будет проделать еще немного работы, чтобы использовать их. Начиная с Marshmallow, пользователи предоставляют разрешения для приложений во время работы приложения, а не при установке приложения (в версиях, предшествующих Marshmallow, вы можете просто объявить, какое разрешение вы будете использовать в файле манифеста). Новая концепция была названа разрешениями во время выполнения. Этот подход упрощает процесс установки приложения, поскольку пользователю не нужно предоставлять разрешения при установке или обновлении приложения. Она также дает пользователю больше контроля над функциональностью приложения; например, пользователь может выбрать доступ к камере в приложения для съёмки, но не к местоположению устройства. Пользователь может отменить разрешения в любое время, перейдя на экран настроек приложения. Идея, лежащая в их основе, заключается в том, чтобы информировать пользователя о том, какие разрешения вы будете использовать, потому что многие приложения используют много ненужных разрешений.

Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии5

Открытый урок по теме «Области знания маркетинга и TV + Search»

Время на прочтение1 мин
Количество просмотров1.3K
Всем добра!

Недавно наша Виктория провела открытый урок в рамках подготовки к курсу «Digital маркетолог», где на реальном примере разбиралось влияние ТВ-рекламы на спрос в интернете в рамках: нужно ли поддерживать телевизионную активность в сети, правильное планирование и другое. Ну и вообще почему хороший digital-маркетолог — это «универсальный солдат».


Ждём ваших вопросов, замечаний, предложений.
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Все о переопределении в Java

Время на прочтение14 мин
Количество просмотров63K
Всем доброго!

У нас на этой неделе практически юбилей — стартует пятая группа "Разработчик Java", а это значит, что мы снова делимся всякими полезностями.

Поехали.

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

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


Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии5

Учимся надежному управлению Kubernetes

Время на прочтение13 мин
Количество просмотров13K
Всем доброго!

Мы возвращаемся к нашей любимой традиции — раздача полезностей, которые мы собираем и изучаем в рамках наших курсов. Сегодня у нас на повестке дня курс по DevOps и один из его инструментов — Kubernetes.

Недавно мы создали распределенную систему планирования задач (cron jobs) на базе Kubernetes — новой, захватывающей платформы для оркестрации контейнеров. Kubernetes становится все популярней и дает много обещаний: например, инженерам не придется переживать, на каком устройстве запущено их приложение.

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

В этом посте мы объясним, почему выбрали именно Kubernetes. Изучим процесс его интегрирования в существующую инфраструктуру, метод укрепления доверия (и улучшения) надежности нашего Kubernetes кластера и абстракцию созданную на основе Kubernetes.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии9

Метод анализа мультиканального взаимодействия с пользователем

Время на прочтение5 мин
Количество просмотров2.2K
Доброго всем!

Вот наши лапки и добрались до неIT-шных специальностей — «Digital маркетолог». Курс ведёт Виктория Александрова — руководитель отдела маркетинга в OTUS, которая и делится сегодня данной статьёй.

Поехали

Рано или поздно любой интернет-маркетолог сталкивается с проблемой оптимизации бюджета на продвижение. Нужно либо получать такое же количество конверсий при снижении бюджета, либо получать большее количество конверсий при том же бюджете. А иногда и то, и другое.
Лучший результат в решении этой проблемы обычно дает комплексный подход:

  • оптимизировать рекламные кампании в канале (снизить цену за клик, если речь об аукционе или, например, изменить таргетинги, чтобы минимизировать показы нецелевой аудитории и тот же объем аудитории закупать дешевле);
  • отключить неэффективные рекламные каналы (и/или перераспределить бюджет в сторону эффективных каналов, если в них еще не исчерпана емкость).


Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии0

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS