uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

OTUS: программирование и карьера в IT

OTUS: программирование и карьера в IT

Kanalga Telegram’da o‘tish

Канал для быстрого карьерного роста в IT: опыт практиков, актуальные технологии и инструменты, чтобы быть впереди коллег и привлечь внимание руководителей. Иногда шутим! 🔔Включайте уведомления, чтобы не пропустить!

Ko'proq ko'rsatish
7 377
Obunachilar
-224 soatlar
+17 kun
-730 kun
Postlar arxiv
🎄 Всех с Наступающим Новым Годом! Ловите поздравление Дмитрия Шебордаева, преподавателя курса «Разработчик С++»! 📍 СПРАВКА: Дмитрий учился в Московском государственном университете экономики статистики и информатики по специальности «Прикладная математика». Начал карьеру рядовым разработчиком в компании, автоматизирующей процессы розничной торговли. Не прекращая активной деятельности в разработке, прошёл путь до руководителя. И последние несколько лет работает в области информационного поиска в Rambler&Co на позиции руководителя отдела разработки технологий. Вот уже 20 лет остаётся верен своей профессии и читает образовательные курсы по специальности. Курс «Разработчик С++» мы планируем запустить весной, а сейчас присоединяемся к поздравлению Дмитрия и хотим пожелать всем студентам профессиональных успехов! Пускай в 2018-ом году будет много свершений и побед! Дарите самое ценное – знания:

🎁 Заказывали JavaScript? Приходите учиться! Новый курс начнётся 31 января и не рассчитан на новичков: за 4 месяца мы рассмотрим ключевые особенности языка JavaScript, его окружение – браузеры и серверную платформу NodeJS, разберём внутреннее устройство и понятия популярного фреймворка Angular, а также библиотеки для написания web-приложений VueJS и ReactJS. Интересно? Присоединяйтесь к группе на условиях новогодней рассрочки: 1/5 часть внесите до 31 декабря, 4/5 полной оплаты - в январе, это позволит вам сэкономить стоимость одного месяца обучения! 💭 А в первом #deepjavascript мы решили рассказать о Redux (https://redux.js.org/docs/introduction/): библиотеке, которая реализует модель состояния приложения. Также она позволяет формализовать и однозначно определять взаимодействующие сущности, упрощает поддержку, тестирование и добавление нового кода. Redux – реализация паттерна Flux, описанного компанией Facebook. Этот паттерн является макро расширением подхода MVC - Model-View-Controller. Его также связывают с подходом CQRS - Command Query Responsibility Segregation, при котором приложения хранят события, из которых собираются состояния. Основные концепции, используемые в библиотеке Redux - это: – Store: хранилище для состояния приложения, – Actions: объекты действий, описывающих что произошло в системе, – Reducers: функции преобразования событий в состояние. Библиотека использует паттерны функционального программирования: состояние декларируется как неизменяемое (Immutable), а reducers должны быть описаны как чистые (pure) функции. При таком подходе упрощается тестирование и отладка программы. Redux широко используется в приложениях, созданных с помощью ReactJS, VueJS и Angular. Поэтому умение работать с ней пригодится студентам курса «Разработчик JavaScript»! Подробности программы по кнопке ниже:

«Разработчик JavaScript»: https://otus.pw/cz1R/
«Разработчик JavaScript»: https://otus.pw/cz1R/

🎄 Виктория Александрова, преподаватель курса «Digital-маркетолог», поздравляет всех участников OTUS с Новым Годом! 📍 СПРАВКА: Виктория начинала карьеру медиа-планером по работе с ключевыми клиентами в Яндексе. Несколько лет отвечала за анализ эффективности custom advertising solutions для крупнейших рекламодателей Яндекс.Директа. За это время успела разработать и внедрить в массовое производство ряд аналитических продуктов: – аудит рекламных кампаний, – оценка рекламного потенциала, – post-click, – post-campaign анализ. Виктория является автором методов прогнозирования влияния офлайн-активностей на спрос в интернете, методов многофакторного анализа. Также решала задачи продвижения и наращивания ядра аудитории в высоконагруженных проектах Ростелекома. А затем её взяли в Mail.ru Group, где она занималась продуктовым менеджментом и продвижением образовательного проекта. 👉 Где, как не у неё, учится Digital-маркетингу? Если вам действительно хочется видеть результаты своих действий, а не просто научиться нажимать на кнопки (этому учат другие), присоединяйтесь! Новая группа начнёт обучение 29 января, и уже сейчас можно присоединиться к ней любым выгодным для вас способом! Начните 2018-ый год с полноценного погружения в Digital-маркетинг:

СМОТРЕТЬ ПОЗДРАВЛЕНИЕ: https://otus.pw/56lU/
СМОТРЕТЬ ПОЗДРАВЛЕНИЕ: https://otus.pw/56lU/

👨‍🚀️ Руководитель разработки – кто это? Любой разработчик знает, что результат выполнения программы далеко не всегда предсказуем на 100%. При выполнении программы невысокой алгоритмической сложности, использующей проверенные публичные библиотеки, на локальной рабочей станции, вероятность успеха одна. В случае реализации сложной логики в рамках удалённого и менее контролируемого окружения, вероятность другая. А если добавить к этому исполнение на кластере и нестабильность внешних данных, то ситуация станет ещё менее предсказуемой. Это очевидно... Нет? Пишите в Telegram 🙈 А если представить, что каждое взаимодействие руководителя с сотрудником (в нашем случае разработчиком) – это попытка запустить программу в рамках "удалённого окружения"? Процесс написания программы формализован слабо. Настройки окружения неизвестны. Непонятно, как ими управлять и что вообще в итоге получится: чужая душа потёмки. А когда дело доходит до "кластера"? Все люди разные, да и коммуникации между людьми не сравнимы даже с самыми замысловатыми сетевыми схемами. Стоит ли удивляться тому, что результат человеческой деятельности, которой безусловно является и разработка, – вещь нестабильная и слабо предсказуемая? Поэтому повышение стабильности и предсказуемости является основным вызовом и одной из главных задач руководителя. В том числе и руководителя разработки. Можно набрать высоко квалифицированных людей, определить правильные стандарты, выбрать передовые методологии разработки, поставки тестирования. Главный вопрос: «А как это заработает?». 🔥 Вернее: «А почему вы решили, что оно возьмёт и заработает?». Для ответа на этот вопрос нужно хорошо понимать всего одну вещь: как "оно" работает. Поэтому цель курса – детально рассмотреть процесс разработки в качестве примера человеческой деятельности. Выявить основные причины, по которым "что-то идёт не так": не выполняются задачи, дают сбой методологии, не работают стандарты. Мы научим находить точки повышения эффективности действующих процессов и эффективно запускать новые. В результате вы сможете грамотно предотвращать типовые «угрозы» разных этапов разработки и правильно использовать методы борьбы с ними. Первое занятие пройдёт 23 января! Но уже скоро Новый Год, а это значит, до 31 декабря вы уже можете присоединиться к группе любым выгодным для вас способом: – помесячная оплата; – новогодняя рассрочка полной стоимости курса (1/5 часть внесите в декабре, 4/5 полной оплаты - в январе), это позволит вам сэкономить стоимость одного месяца обучения; – полная оплата курса. С наступающим вас и до встречи в прямых эфирах:

🐍 Новогодний подарок всем, кто хочет начать обучение на курсе «Разработчик Full Stack на Python»! Нам правда очень хочется, чтобы у вас многое получилось в 2018-ом году. И от всего сердца хотим вам сделать подарок, который станет приятным бонусом для начала вашего пути к уровню Middle: 🎁 промокод с бонусом 30% на оплату первого месяца обучения и 30% на единовременную оплату всех 5 месяцев программы! Чтобы активировать промокод, скопируйте HappyNewFSPython и вставьте на странице оплаты курса «Разработчик Full Stack на Python»! 👉 Пусть 2018-ый год откроет вам множество возможностей для самореализации! Надеемся, наш подарок поможет вам отбросить все сомнения, и мы увидимся на первом занятии курса уже завтра 28 декабря в 20:00. Решайтесь и до встречи в прямом эфире:

АКТИВИРОВАТЬ ПРОМОКОД – https://otus.pw/kixr/
АКТИВИРОВАТЬ ПРОМОКОД – https://otus.pw/kixr/

Мы запускаем пятую группу самого популярного курса OTUS «Разработчик Java»! Первое занятие пройдёт 25 января. Но уже скоро Новый Год, а это значит, до 31 декабря вы можете присоединиться к группе любым выгодным для вас способом: https://otus.pw/GIek/ А сейчас в эфире долгожданный #deeppostjava! Есть 5 минут? Заметка по кнопке ниже:

🐍 Как работать с сессиями БД в SQLAlchemy, чтобы общение с базой данных было наиболее оптимальным, защищённым от ошибок и лишнего потребления ресурсов? Тема пригодится для курса «Разработчик Full Stack на Python». Курс начнётся 28 декабря, поэтому поторопитесь! Кстати, вчера был открытый урок на тему «Функциональное программирование и работа с данными». Если не смогли присутствовать онлайн, смотрите запись! 📝 Ну а теперь давайте разберём основные ошибки в SQLAlchemy и способы их избежать! #deeppythonfs #deeppostpythonfs Сначала давайте разберёмся с тем, какие в SQLAlchemy есть сущности для работы с сессиями и за что они отвечают. Основных три: – session, – sessionmaker, – scoped_session. Session – непосредственно класс сессии. В его экземпляре хранятся изменения в текущей сессии, его можно настроить на автокоммит, он умеет отправлять данные в БД и ещё много чего. Sessionmaker – фабрика для создания экземпляров Session с заданными параметрами. Это просто штука, которая немного упрощает жизнь: вместо того, чтобы каждый раз указывать список аргументов у сессии, его достаточно один раз указать у фабрики, а дальше уже создавать сессии без указания аргументов. Наконец, scoped_session – это хранилище уже созданных сессий, каждая из которых привязана к своему треду. Если вызвать сконфиругированный экземпляр scoped_session в новом треде, он создаст новую сессию, а если потом из этого же треда вызвать scoped_session во второй раз, он вернёт ту же сессию, а не создаст новую. А теперь несколько советов: – Передавать в каждую функцию сессию – это явно, но не обязательно. Достаточно использовать глобальную scoped_session: это не создаст нового коннекта в БД. Это делает функцию грязной и создаёт неявную зависимость, но и с этим можно бороться: например, сделать такую функцию методом модели или поселить в отдельный модуль, в котором все функции общаются с базой. – Подход выше не стоит использовать для атомарных функций, который будут использоваться в качестве частей более сложных, но атомарных операций: он усложняет управление транзакциями. – При написании кода стоит хорошо понимать, где транзакция должна начинаться и где заканчиваться, избегать подвисших транзакций и делать код, говорящий об этом, как можно более явным. – После написания тестирования уделите время тестированию взаимодействия с БД: запустите код с большим количеством данных, посмотрите на то, насколько нагружена БД, не создаётся ли лишних соединений, удаляет ли скрипт за собой все транзакции и пр. Если этого не сделать, велика вероятность, что рано или поздно БД упадёт, а это как правило очень плохо. Больше теории практики у нас на курсе «Разработчик Full Stack на Python»:

🐍 Чем же занять себя ещё вечером в последний понедельник уходящего года?! А как насчёт дискретной математики? Сойдёт? Ведь Дни Открытых Дверей на курсе «Разработчик Full Stack на Python» уже закончились. И все вопросы по обучению уже решены. Ну если есть ещё, прочитайте ответы на страничке ВК. Да, если ещё не присоединились к ближайшей группе курса, поспешите, первое занятие пройдёт уже 28 декабря! А сегодня в 20:00 мы приглашаем всех любителей языка Python на онлайн-мастер-класс Саввы Демиденко «Функциональное программирование и работа с данными», чтобы вы могли изучить понятия: — Замыканий, — Comprehensions and генераторов, — Итераторов и менеджеров контекста, — IDE и её основные возможности на профессиональном уровне полного курса. Ну что, пошкодим?

🎄 Друзья, в канун Нового Года должны исполняться желания! Наверняка, многие из вас хотели бы попасть на чудесный курс Виталия Иванова «Разработчик Java Enterprise», первое занятие которого пройдет уже сегодня в 20:00. 🎁 В честь Наступающего Нового года мы приготовили подарок: для всех, кто хочет присоединиться к группе прямо сегодня, мы запустили промокод, который даёт бонус 2 тыс. руб. на оплату первого месяца обучения и 4 тыс. руб. на единовременную оплату всех 5 месяцев программы! 1. Активировуйте промокод – HappyNewJava2EE; 2. Оплатите курс удобным для вас способом; 3. Начните обучение прямо сегодня в 20:00! 💥 ЭТО ЕЩЁ НЕ ВСЁ! Среди всех, кто успешно прошел тестирование по JavaEE, мы разыграли промокод, дающий возможность попасть на курс за полцены! В Новый Год должно быть много подарков, поэтому мы разыграли аж 65 таких промокодов! Механику розыгрыша и список победителей можно посмотреть в нашем видео с поздравлениями от Виталия Иванова, преподавателя курса. P.S. Победителям промокодов на оплату 50% от стоимости курса желаем успехов и ждём сегодня вечером на занятиях. Мы уже отправили поздравительные письма с промокодами. Если письмо не пришло, напишите @jorian в Telegram. ВСЕХ НАСТУПАЮЩИМ!

Lets go to the Middle Side! Чем ещё OTUS может удивить вас в 2017-ом? Конечно же, долгожданными подготовительными курсами! 💭 Начнём издалека. Как вы уже успели заметить, чтобы начать обучение в OTUS, сначала необходимо успешно сдать вступительный тест. Да, нам важно, чтобы студенты, которые объединяются потом в группах, обладали похожим стеком знаний. Так мы точнее отслеживаем качество программ и скорость, с которой выпускники применяют полученные навыки в реальных проектах. Для всех тех, чей уровень знаний ниже проходного балла вступительного теста, мы обещали разработать специальные курсы, которые помогут лучше подготовиться к нашим полным программам. ТАК ВОТ! Вчера мы выпустили первый подготовительный курс для дальнейшего обучения по направлению «Разработчик Python» ! Это 4 интерактивных образовательных модуля, в каждом из которых: – три видео-урока (продолжительность: по 2 академических часа); – вебинар с преподавателем, где вы сможете задать вопросы по изученному материалу. Итого: 12 видео-уроков и 4 вебинара с преподавателем. Ну что? Вы ждали? Lets go to the Middle Side! P.S. А ЕЩЁ мы открыли предзаказ на видеозанятия для подготовки к нашему самому популярному курсу «Разработчик Java»! Только до 31 января мы дарим нашим пользователям уникальную возможность приобрести курс по сниженной цене: -30%. С 11 января начнём двухмесячный марафон видео-занятий и вебинаров, где можно будет задать вопросы преподавателю. Все подробности программы и особенности формата по кнопке ниже: