OTUS IT News – Telegram
OTUS IT News
7.2K subscribers
4.32K photos
301 videos
5 files
4.29K links
Экспертный контент по востребованным технологиям 2025 года: от разработки и аналитики до искусственного интеллекта и облачных решений.

Более 170 курсов+

🗓 Расписание бесплатных ОУ: https://otus.pw/24Da/
🦉 Голосуй за канал: https://news.1rj.ru/str/boost/Otusjava
Download Telegram
Встреча в рамках Дня Открытых Дверей по курсу «Разработчик Java Enterprise» состоится сегодня в 20:00 по московскому времени. Подключиться, узнать все тонкости курса и задать волнующие вопросы можно из любой точки планеты. С нами в прямом эфире преподаватель курса Виталий Иванов. Успейте пройти тестирование и примите участие в розыгрыше бесплатного образования по заявленному курсу
Начать тестирование https://otus.pw/gUiR/
Уже 12 и 14 декабря пройдут Дни Открытых Дверей по курсу "Backend разработчик на PHP". По традиции начало встречи будет проходить в 20:00 часов по московскому времени. В прямом эфире с нами ведет диалог преподаватель курса Артём Пулявин - специалист по разработке серверных приложений на PHP.
Ведущий разработчик компании Brand Analytics. Десятилетний опыт Back-end разработки на PHP. 
Участвовал в проектах различных уровней сложности от конструкторов сайта до реализации с нуля новой платформы в области FoodTech за 6 месяцев. Принимал участие в разработке высоконагруженных web-проектов и отказоустойчивых распределенных систем. В качестве TeamLead выстроил процесс разработки по методологии Scrum: внедрил ежедневные stand-up митинги, планирование и эстимейтинг задач, а также проведение ретроспектив . Пройти тестирование и принять участие в розыгрыше бесплатных мест обучения по заявленному курсу можно тут https://otus.pw/S0ac/
4 декабря завершен День Открытых Дверей по курсу Java Enterprise. Судя по количеству слушателей вебинара мы понимаем ценность запланированного курса. Мы старались охватить самые важные аспекты обучения и ответить на все важные вопросы, которые были заданы участниками трансляции. По традиции публикуем полезную ссылку на встречу в записи https://otus.pw/DItz/
Что еще должен знать PHP-разработчик?
Как бы странно это ни звучало, чтобы успешно закрепиться на позиции «PHP-программист», знания PHP не всегда достаточно. Например, еще ни один новичок не приходил ко мне с вопросами типа: «а какой функцией можно отсортировать хэш?», или «можно ли обратиться к методу статического класса из трейта?», или «как в симфони поменять путь для логгера?». Поэтому мне хотелось бы привести навыки и умения, отсутствие которых часто вставляет новичкам палки в колеса на старте их работы.
Итак, на первом месте рейтинга косяков, с которыми сталкиваются новички, находится проблема с настройкой окружения. Однажды у меня был случай, когда новенький PHP-программист три дня просидел без дела, потому что не смог разобраться с настройкой песочницы. Выяснилось, что ему было очень стыдно подойти самому с этой проблемой, и конечно, нам пришлось расстаться. Да, в этой ситуации есть часть и моей вины: я оказался так занят завершением очередной итерации, что только на третий день вспомнил о новом члене команды. Итак, я бы выделил это в правило: каждый программист PHP должен уметь настраивать свое окружение. И начать можно с простейших инструментов LAMP, WAMP, MAMP. Но после обязательно освоить любой из этих инструментов: HHVM, Vagrant, Docker, VirtualBox, Ansible, Chef, Puppet или их аналоги. А еще лучше познакомиться с каждым.
Дальше. У новеньких программистов возникают проблемы при совместной работе. Очень часто это связано с отсутствием понимания ветвления и стратегии слияния кода, или просто есть только поверхностное понимание Git. На моей памяти есть история о разработчике, который писал критически важную BackEnd часть приложения. Он упорно отказывался использовать SCM, аргументируя это тем, что все равно никто, кроме него, не осилит этот участок кода, так что до конца проекта он будет работать над ним один. Его все-таки уговорили создать репозиторий, но сделал он это для вида, отправив туда единственный инициализирующий коммит. История кончилась тем, что после месяца разработки у него сгорел винчестер, и месячная работа была потеряна. В итоге проект не уложился в срок, его финансирование прекратилось. Поэтому перед тем, как закапываться в туториал по классам SPL, лучше сначала откройте книжку по Git, и это окажется куда ценнее в будущем. Выработайте в себе внутреннюю привычку работать по GitFlow.
И напоследок можно привести еще несколько небольших советов, ценность каждого из каждого из которых на пути развития до уровня senior может быть подкреплена примерами из реальных проектов в следующих заметках:
- Научитесь пользоваться командной строкой, ssh в особенности
- Подружитесь со своей IDE
- Овладейте слепой техникой печати
- Обязательно используйте менеджер зависимостей composer
- Разберитесь с инструментами деплоя, например ant, capifony, capistrano, phing
- Пользуйтесь инструментами контроля качества кода
- Научитесь оценивать сроки выполнения задач

#deeppostphpbackend
Давайте поговорим о том, как писать правильные сообщения к коммитам. Так сложилось, что писать их приходится всем, но не все делают это правильно: иногда кажется, что какая-то дополнительная работа, которую не обязательно делать хорошо. А во время ревью кода до сообщений редко доходит очередь: есть, что ещё обсудить. Вы наверняка делали коммиты с сообщением «small fixes», да? :)
Но при этом часто бывают ситуации, когда правильные сообщения у коммита резко упрощают жизнь: надо посмотреть, кто, когда и зачем менял что-то в конкретном модуле или почему вот тут стоит такой странный условный оператор. Если у коммита с добавлением этого кода будет сообщение «add weird if», это вряд ли поможет, а вот, например «add nds calclulation for germany» даст куда больше информации.
Давайте соберём чеклист хорошего сообщения к коммиту:
1. На английском. У нас ведь код проекта на английском. Странно переводить его на русский, чтобы читающий потом перевёл его на английский. Если комментарий на русском, получается такой излишне длинный путь: сначала автору кода надо перевести свой код («class Payment: …») на русский («класс платежа»), чтобы потом читающий коммит совершил обратный перевод: «а, класс платежа — это, наверное, Payment». Если писать сразу на английском, этого можно избежать.
2. С дополнительной информацией. Сообщение «add Payment class» выглядит странно: любой может увидеть, что добавлен класс Payment по содержанию коммита, незачем писать об этом в сообщении. Зато можно написать, зачем были внесены изменения: «refactor intergration with Yandex.Kassa». Так сообщения будут нести больше пользы: по логу можно будет понять, какие именно проблемы решались, а не просто увидеть тот же список изменений, что и в diff.
3. Не длинный. Одна строка, не больше твита (старого, в 140 символов). Сообщения стоит делать лаконичными, чтобы в них была сформулирована самая суть изменений без лишней информации.

#deeppostpythonfs
Важные новости недели! Сегодня, в 20:00 часов по мск времени стартует День Открытых Дверей по курсу Java Enterprise! Мы очень рады росту популярности данного курса, который растет с каждым днем. Среди тех, кто уже принял решение пройти обучение мы видим много новых слушателей и принимаем ежедневно много вопросов касающихся обучения. Сегодня, во время встречи, вы можете задать любой волнующий вас вопрос преподавателю курса Виталию Иванову. Мы очень рады, что количество людей, желающих повысить свой профессиональный уровень увеличивается с каждым днем, а это значит, что в рамках страны мы повышаем общий градус образования. Вместе мы сможем добиться самых высоких целей и активно развиваться! Только вперед! Ведь каждый день занятий — это всегда новые открытия! Мы ждем вас на встрече сегодня, а те, кто впервые присоединился к нам приглашаем пройти тестирование и принять участие в розыгрыше бесплатных мест обучения от образовательного проекта OTUS https://otus.pw/xuuN/
О пользе суеверий. Основатель проекта Otus.ru рассказал Edexpert о том, как его детище выросло буквально за один год. Читать интервью https://otus.pw/YvYw/
Servlet 4.0: Делаем больше быстрее
. Новый крупный релиз API Servlet охватывает протокол HTTP/2 и прогнозирует потребности в ресурсах. Долгожданное обновление для Java EE 8 включает в себя обновления существующих API: JAX-RS 2.1, Bean Validation 2.0, JavaServer Faces (JSF) 2.3, Contexts and Dependency Injection (CDI) 2.0, JSON with Padding (JSONP) 1.1 и Servlet 4.0, а также два новых API: JSON-Binding (JSON-B) и Java EE Security. Среди этих API, Servlet 4.0 представляет собой достаточно крупное обновление, первое с 2009 года.

Импульс, который вызвал этот большой релиз (а не точечное обновление), — это глобальное развертывание протокола HTTP/2 и множество новых возможностей, которые он приносит. Это обновление для HTTP является первым за почти 20 лет и устраняет многие недостатки HTTP 1.x. Новые возможности многочисленны (мультиплексирование запросов/ответов, сжатие заголовков, приоритизация потоков и push-сервер), но наиболее заметной функцией для пользователей Servlet API является Server Push, о котором я расскажу в этой статье. Server Push — это не единственное примечательное дополнение к Servlet 4.0. Этот релиз также представляет усовершенствования в виде Servlet Mapping API, который поддерживает распознавание URL-отображений во время выполнения, за счет улучшений получения ссылочных путей. В этой статье обсуждаются эти функции, и как Server Push был интегрирован в API JavaServer Faces 2.3. #deeppostjavaee
Друзья, вчера завершился День Открытых Дверей по курсу Java Enterprise и по традиции, мы публикуем ссылку на встречу для тех, кто вчера не смог присоединиться к прямой трансляции. В этом видео вы узнаете больше о представленном курсе, найдете ответы на часто задаваемые вопросы, сможете лучше познакомиться с преподавателем курса Виталием Ивановым. Также, хотим напомнить, что мы всегда рады вашим сообщениям и вопросам, которые вы оставляете в комментариях.
Приятного просмотра https://otus.pw/GHdG/
Привет, это Yii2, мы знакомы?

#deepphp #deeppostphp

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

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

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

Список фреймворков достаточно большой. В разных странах рейтинг их разный. Так, например, в России, по данным из habrahabr, тройку популярных фреймворков на PHP замыкают Yii, Laravel и Symfony.

Давайте познакомимся с Yii2?

Фреймворк базируется на MVC паттерне проектирования. Yii2 придерживается философии простого и элегантного кода и не перегружен различными паттернами. Он позволяет писать full-stack приложения, используя реляционные и нереляционные (NoSQL) базы данных, поддержку REST API, кэширование, инструменты безопасности и другое.

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

Работа с базой данных в Yii2 становится проще и гибче благодаря использованию реализованного паттерна ActiveRecord и конструктору SQL запросов. Это очень сильно упрощает составление сложных и связанных запросов. Вот, например, запрос на выборку данных пользователя с его профилем (две таблицы user и profile):

User::find()->with('profile')->all().

Причем, не важно какую вы используете базу (MySQL, Postgre или MongoDB), код от этого не поменяется.

Ну и напоследок, помните, что результат проекта зависит не столько от того, какой фреймворк выбрали вы, а от того, как грамотно вы его используете. Желаем вам успехов и профессионального роста! 💪

Приходите к нам учиться: https://otus.pw/6qxu/

Читайте новости проекта:
ВКонтакте: https://otus.pw/850t/
Facebook: https://otus.pw/3hO2/

#php #otus #отус #yii #framework #deepphp #deeppostphp #онлайнобразование #курсы #IT #программирование #фреймворк
Сегодня в 20:00 раздаём бесплатные места на курс «Backend-разработчик на PHP»: https://otus.pw/HNkr/

Интересно это направление и хочется больше узнать о нашей образовательной программе, преподавателях и карьерных перспективах выпускников? Присоединяйтесь к нам из любой точки мира в 20:00:
https://otus.pw/HNkr/

Чтобы принять участие в розыгрыше бесплатных мест, пройдите вступительное тестирование: https://otus.pw/AJOy/

Желаем удачи и до встречи в прямом эфире!

Мы начинаем обучение уже 19 декабря! Присоединяйтесь к новой группе, и мы поможем вам достичь уровня Middle Backend PHP Developer всего за 5 месяцев: https://otus.pw/AJOy/

Читайте новости проекта:
ВКонтакте: https://otus.pw/850t/
Facebook: https://otus.pw/3hO2/

#деньоткрытыхдверей #otus #php #middle #junior #developer #senior #онлайнобразование #backend #avito #headhunter #epam #luxoft #tuturu #крок #курсы #it
Читаем: https://goo.gl/2PJ9C1
😵 Это реально вообще? https://goo.gl/YJV5UP
🙊Итак, вы начинаете делать сайт на Django: https://goo.gl/bxj9BQ
Используем CodeSniffer и участвуем в последнем розыгрыше бесплатных мест на курс «Backend-разработчик на PHP»: https://goo.gl/r7QiDi
Первое занятие по курсу «Backend-разработчик на PHP» пройдёт уже во вторник 19 декабря в 20:00! Если ваша цель выйти на уровень Middle, присоединяйтесь к новой группе: https://otus.pw/tcU3/
Не смогли присутствовать на Днях Открытых Дверей, смотрите видеозаписи, где мы разыграли 4 бесплатных места!

12 декабря: https://www.youtube.com/watch?v=n-IlTA0OzM0&t=477s
14 декабря: https://www.youtube.com/watch?v=sCfaUN5oWs8

Поздравляем победителей:
oszn2009@****.**
gofr.one@*****.***
ainur.khannanov@*****.***
timo.semenow@******.**

Желаем успехов и ждём на занятиях!