JSON API
. Сегодня довольно сложно встретить веб-приложение или мобильное приложение, использующее для обмена информацией с бэкендами и сторонними системами формат данных, отличный от JSON. Многие знают, что среди его основных преимуществ отмечаются такие, как простота, отсутствие избыточности при передаче (в сравнении с XML) и как следствие легковесность. На клиентской стороне, написанной на JavaScript или одном из его фреймворков, работа с JSON крайне проста и равносильна работе с обычным JS-объектом. Читать статью полностью https://goo.gl/MUpm8V
. Сегодня довольно сложно встретить веб-приложение или мобильное приложение, использующее для обмена информацией с бэкендами и сторонними системами формат данных, отличный от JSON. Многие знают, что среди его основных преимуществ отмечаются такие, как простота, отсутствие избыточности при передаче (в сравнении с XML) и как следствие легковесность. На клиентской стороне, написанной на JavaScript или одном из его фреймворков, работа с JSON крайне проста и равносильна работе с обычным JS-объектом. Читать статью полностью https://goo.gl/MUpm8V
По итогу, День Открытых Дверей с Дмитрием Шебордаевым по курсу «Разработчик С++» принес нам много полезного, и сегодня, мы готовы объявить имена победителей тестирования. Лучшие результаты показали Лусс Влад и Хапов Кирилл. Поздравляем вас и вручаем привилегию бесплатного обучения по курсу «Разработчик С++». Для тех, кто только присоединился к нашим комьюнити оставляем ссылку на курс С++ https://otus.pw/9NKx/
OTUS: Разработчик С++
Профессиональные онлайн курсы для разработчиков
Новость месяца! Мы открываем набор в группу «Разработчик full-stack на Python». То, что ожидается от «full stack» разработчика надежно выходит за рамки возможностей обычного человека.
Это значит, что full stack разработчик, как минимум, должен знать:
Как разбить код на чистые функции?
Когда использовать GraphQL, а когда REST?
Когда использовать ORM и когда нет?
Как и когда писать автотесты, чтобы не потратить время зря?
Что нужно проверить у каждой БД, чтобы избежать распространённых проблем?
Узнать все подробности программы курса
https://otus.pw/JEtF/
Преподаватель курса Илья Лебедев, эксперт, консультант по архитектуре приложений. Специалист по разработке серверных решений на Python. Автор курсов по веб-разработке в МГТУ им. Баумана, ВШЭ. Соорганизатор курсов Learn Python и devman.org. Старший разработчик в Itcanfy и Ngenix.
9 лет опыта программирования на C++, Python, PHP и JavaScript.
Это значит, что full stack разработчик, как минимум, должен знать:
Как разбить код на чистые функции?
Когда использовать GraphQL, а когда REST?
Когда использовать ORM и когда нет?
Как и когда писать автотесты, чтобы не потратить время зря?
Что нужно проверить у каждой БД, чтобы избежать распространённых проблем?
Узнать все подробности программы курса
https://otus.pw/JEtF/
Преподаватель курса Илья Лебедев, эксперт, консультант по архитектуре приложений. Специалист по разработке серверных решений на Python. Автор курсов по веб-разработке в МГТУ им. Баумана, ВШЭ. Соорганизатор курсов Learn Python и devman.org. Старший разработчик в Itcanfy и Ngenix.
9 лет опыта программирования на C++, Python, PHP и JavaScript.
OTUS: Разработчик full-stack на Python
Профессиональные онлайн курсы для разработчиков
"Для проверки знаний по информатике на ЕГЭ была такая задача — исправить ошибку в программе, которая должна считать количество цифр в заданном числе. Её код дан ниже". Читать #deeppost C++ полностью https://otus.pw/Dvk5/
VK
OTUS. Онлайн-образование
Для проверки знаний по информатике на ЕГЭ была такая задача — исправить ошибку в программе, которая должна считать количество цифр в заданном числе. Её код дан ниже. #include int main() { long int N; int sum; scanf(«%ld», &N); sum = 0; while (N…
Профессионалы IT разговаривают с профессионалами IT в прямом эфире сегодня в 20:00 часов.
Образовательный проект OTUS - это не просто проект, это огромное комьюнити пространство охватывающее все возможные интернет пространства. Именно тут каждый желающий и уже состоявшийся, как специалист профессионал, может стремительно увеличить свои навыки, знания, а также встретить единомышленников в своей профсереде. С каждым днем, вместе, мы расширяемся в геометрической прогрессии. Мы говорим с вами тогда, когда вам удобно и там, где вам удобно. Сегодня, в 20:00 по московскому времени, нас ждет прямое включение в рамках Дня Открытых Дверей по курсу "Разработчик С++". Это уже вторая встреча в рамках представленного курса с одним из лучших преподавателей образовательного проекта OTUS Дмитрием Шебордаевым! Подключайтесь к встрече в режиме онлайн, где бы вы не находились. Пройти тестирование и принять участие в розыгрыше бесплатного обучения, а также узнать все тонкости курса "Разработчик С++" можно тут https://otus.pw/wYKV/
Образовательный проект OTUS - это не просто проект, это огромное комьюнити пространство охватывающее все возможные интернет пространства. Именно тут каждый желающий и уже состоявшийся, как специалист профессионал, может стремительно увеличить свои навыки, знания, а также встретить единомышленников в своей профсереде. С каждым днем, вместе, мы расширяемся в геометрической прогрессии. Мы говорим с вами тогда, когда вам удобно и там, где вам удобно. Сегодня, в 20:00 по московскому времени, нас ждет прямое включение в рамках Дня Открытых Дверей по курсу "Разработчик С++". Это уже вторая встреча в рамках представленного курса с одним из лучших преподавателей образовательного проекта OTUS Дмитрием Шебордаевым! Подключайтесь к встрече в режиме онлайн, где бы вы не находились. Пройти тестирование и принять участие в розыгрыше бесплатного обучения, а также узнать все тонкости курса "Разработчик С++" можно тут https://otus.pw/wYKV/
OTUS: Разработчик С++
Профессиональные онлайн курсы для разработчиков
Через пять минут стартует День Открытых Дверей по курсу "Разработчик С++". В прямом эфире Дмитрий Шебордаев. Успей присоединиться к трансляции https://otus.pw/VJ07/
YouTube
День открытых дверей онлайн курса «Разработчик С++» в OTUS - YouTube
Расскажем о проекте OTUS, поговорим о курсе обучения «Разработчик С++», который будет проходить в формате вебинара, перспективах для выпускников и учебном пр...
Более 150 человек вчера присоединились к трансляции Дня Открытых Дверей по курсу «Разработчик С++», благодарим вас за интерес и спасибо Дмитрию Шебордаеву за проведенную встречу! Основной объем ДОД по представленному курсу подошел к завершению. Первый день занятий наступит 4 декабря. Для тех, кто не успел присоединиться к трансляции, оставляем ссылку на просмотр Дня Открытых Дверей по курсу «Разработчик С++» https://otus.pw/Ki2V/
Приятного просмотра! Друзья, в наших социальных сетях, по другую сторону экрана с вами ведут диалог настоящие люди, а не робот, который публикует посты. Поэтому смело задавайте свои вопросы в комментариях, мы открыты для диалога!
Приятного просмотра! Друзья, в наших социальных сетях, по другую сторону экрана с вами ведут диалог настоящие люди, а не робот, который публикует посты. Поэтому смело задавайте свои вопросы в комментариях, мы открыты для диалога!
YouTube
День открытых дверей онлайн курса «Разработчик С++» в OTUS
Расскажем о проекте OTUS, поговорим о курсе обучения «Разработчик С++», который будет проходить в формате вебинара, перспективах для выпускников и учебном пр...
А вы знаете, как работать с сессиями БД в SQLAlchemy, чтобы общение с базой данных было наиболее оптимальным, защищённым от ошибок и лишнего потребления ресурсов? Давайте разберём основные ошибки и способы их избежать. Сначала давайте разберёмся с тем, какие в SQLAlchemy есть для работы с сессиями и за, что они отвечают. Основных три: Session, sessionmaker и scoped_session. Session — это непосредственно класс сессии. В его экземпляре хранятся изменения в текущей сессии, его можно настроить на автокоммит, он умеет отправлять данные в БД и ещё много чего.
Sessionmaker — фабрика для создания экземпляров Session с заданными параметрами. Это — просто штука, которая немного упрощает жизнь: вместо того, чтобы каждый раз указывать список аргументов у сессии, его достаточно один раз указать у фабрики, а дальше уже создавать сессии без указания аргументов. Наконец, scoped_session — это хранилище уже созданных сессий, каждая из которых привязана к своему треду. Если вызвать сконфиругированный экземпляр scoped_session в новом треде, он создаст новую сессию, а если потом из этого же треда вызвать scoped_session во второй раз, он вернёт ту же сессию, а не создаст новую. А теперь несколько советов: 1. Передавать в каждую функцию сессию — это явно, но не обязательно. Достаточно использовать глобальную scoped_session: это не создаст нового коннекта в БД. Это делает функцию грязной и создаёт неявную зависимость, но и с этим можно бороться: например, сделать такую функцию методом модели или поселить в отдельный модуль, в котором все функции общаются с базой; 2. Подход выше не стоит использовать для атомарных функций, который будут использоваться в качестве частей более сложных, но атомарных операций: он усложняет управление транзакциями; 3. При написании кода стоит хорошо понимать, где транзакция должна начинаться и где заканчиваться, избегать подвисших транзакций и делать код, говорящий об этом, как можно более явным; 4. После написания тестирования уделите время тестированию взаимодействия с БД: запустите код с большим количеством данных, посмотрите на то, насколько нагружена БД, не создаётся ли лишних соединений, удаляет ли скрипт за собой все транзакции и пр. Если этого не сделать, велика вероятность, что рано или поздно БД упадёт, а это, как правило, очень плохо. #deepostpythonFS
Sessionmaker — фабрика для создания экземпляров Session с заданными параметрами. Это — просто штука, которая немного упрощает жизнь: вместо того, чтобы каждый раз указывать список аргументов у сессии, его достаточно один раз указать у фабрики, а дальше уже создавать сессии без указания аргументов. Наконец, scoped_session — это хранилище уже созданных сессий, каждая из которых привязана к своему треду. Если вызвать сконфиругированный экземпляр scoped_session в новом треде, он создаст новую сессию, а если потом из этого же треда вызвать scoped_session во второй раз, он вернёт ту же сессию, а не создаст новую. А теперь несколько советов: 1. Передавать в каждую функцию сессию — это явно, но не обязательно. Достаточно использовать глобальную scoped_session: это не создаст нового коннекта в БД. Это делает функцию грязной и создаёт неявную зависимость, но и с этим можно бороться: например, сделать такую функцию методом модели или поселить в отдельный модуль, в котором все функции общаются с базой; 2. Подход выше не стоит использовать для атомарных функций, который будут использоваться в качестве частей более сложных, но атомарных операций: он усложняет управление транзакциями; 3. При написании кода стоит хорошо понимать, где транзакция должна начинаться и где заканчиваться, избегать подвисших транзакций и делать код, говорящий об этом, как можно более явным; 4. После написания тестирования уделите время тестированию взаимодействия с БД: запустите код с большим количеством данных, посмотрите на то, насколько нагружена БД, не создаётся ли лишних соединений, удаляет ли скрипт за собой все транзакции и пр. Если этого не сделать, велика вероятность, что рано или поздно БД упадёт, а это, как правило, очень плохо. #deepostpythonFS
Тестирование за чашкой капучино может принести в подарок бесплатное образование в OTUS.
Итак, что же нового произойдет в OTUS в ближайшие дни? Какие события и новости важно не пропустить, потому, как они не повторятся? Начнем с главного и насущного. 4 и 7 декабря будут проходить два Дня Открытых Дверей по курсу Java Enterprise. Две даты с разницей в три дня запланированы именно по вашим заявкам. На повестке встреч обсуждение важных тем касающихся обучения и неограниченный объем вопросов к преподавателю курса Виталию Иванову.
Прямое включение начнется в 20:00 часов по московскому времени. По традиции мы проводим тестирование. У каждого из вас есть равные шансы принять участие в розыгрыше бесплатных мест обучения по представленному курсу. В ближайшие дни будут разыграны сразу 4 бюджетных места. Мечта, а не образование!
Сохраните события OTUS в свой календарь и расскажите друзьям.
Пройти тестирование можно тут https://otus.pw/MbSf/
Итак, что же нового произойдет в OTUS в ближайшие дни? Какие события и новости важно не пропустить, потому, как они не повторятся? Начнем с главного и насущного. 4 и 7 декабря будут проходить два Дня Открытых Дверей по курсу Java Enterprise. Две даты с разницей в три дня запланированы именно по вашим заявкам. На повестке встреч обсуждение важных тем касающихся обучения и неограниченный объем вопросов к преподавателю курса Виталию Иванову.
Прямое включение начнется в 20:00 часов по московскому времени. По традиции мы проводим тестирование. У каждого из вас есть равные шансы принять участие в розыгрыше бесплатных мест обучения по представленному курсу. В ближайшие дни будут разыграны сразу 4 бюджетных места. Мечта, а не образование!
Сохраните события OTUS в свой календарь и расскажите друзьям.
Пройти тестирование можно тут https://otus.pw/MbSf/
OTUS: день открытых дверей
Профессиональные онлайн курсы для разработчиков
Друзья, наступил долгожданный день! Мы хотим поздравить всех слушателей курса «Разработчик С++» и преподавателя Дмитрия Шебордаева с Первым Днем занятий! Следите за расписание уроков на официальном сайте образовательного проекта OTUS, задавайте свои вопросы в комментариях — мы открыты для вас!
Успеть в группу «Разработчик С++» https://otus.pw/jLCA/
Успеть в группу «Разработчик С++» https://otus.pw/jLCA/
Курс "Разработчик C++" для junior специалистов | OTUS
Курс продвинутой разработки на С++ для junior-специалистов. Собеседования для лучших студентов в крупнейшие IT компании страны
Розыгрыши бесплатных мест обучения — это всегда так волнительно для всех нас! И сегодня у нас снова есть повод создать праздничную атмосферу, задать отличное настроение несмотря на заурядность понедельника. А такими приятными и радостными новостями хочется скорее поделиться со всеми активными участниками пространств образовательного проекта OTUS!
Поздравляем Борисова Александра с победой в розыгрыше и дарим бесплатное обучение по курсу «Разработчик С++» Ура! Но так, как Александр уже оплатил свое обучение — мы с радостью возвращаем ему оплаченные деньги. Да, это правда, мы так делаем! Александр, желаем Вам успехов в учебе, стремительного роста карьеры и реализации всех задуманных целей. А цель у нас одна — совершенствовать свои знания каждый день. Мы гордимся всеми нашими слушателями и с большой радостью создаем лучшие условия образования на сегодняшний день. Мы ценим каждого из вас! Отличного понедельника, друзья!
Поздравляем Борисова Александра с победой в розыгрыше и дарим бесплатное обучение по курсу «Разработчик С++» Ура! Но так, как Александр уже оплатил свое обучение — мы с радостью возвращаем ему оплаченные деньги. Да, это правда, мы так делаем! Александр, желаем Вам успехов в учебе, стремительного роста карьеры и реализации всех задуманных целей. А цель у нас одна — совершенствовать свои знания каждый день. Мы гордимся всеми нашими слушателями и с большой радостью создаем лучшие условия образования на сегодняшний день. Мы ценим каждого из вас! Отличного понедельника, друзья!
Встреча в рамках Дня Открытых Дверей по курсу «Разработчик Java Enterprise» состоится сегодня в 20:00 по московскому времени. Подключиться, узнать все тонкости курса и задать волнующие вопросы можно из любой точки планеты. С нами в прямом эфире преподаватель курса Виталий Иванов. Успейте пройти тестирование и примите участие в розыгрыше бесплатного образования по заявленному курсу
Начать тестирование https://otus.pw/gUiR/
Начать тестирование https://otus.pw/gUiR/
OTUS: Разработчик Java Enterprise
Профессиональные онлайн курсы для разработчиков
Мы начинаем День Открытых дверей по JavaEE: присоединяйтесь! https://www.youtube.com/channel/UCetgtvy93o3i3CvyGXKFU3g/live
YouTube
OTUS IT Онлайн - образование
OTUS – масштабный образовательный IT-портал. 4955473489
Наш канал предлагает более 5000+ вебинаров по программированию, разработке, аналитике, машинному обучению и менеджменту — бесплатно получайте актуальные знания, которые точно понадобятся в 2025 году.…
Наш канал предлагает более 5000+ вебинаров по программированию, разработке, аналитике, машинному обучению и менеджменту — бесплатно получайте актуальные знания, которые точно понадобятся в 2025 году.…
Уже 12 и 14 декабря пройдут Дни Открытых Дверей по курсу "Backend разработчик на PHP". По традиции начало встречи будет проходить в 20:00 часов по московскому времени. В прямом эфире с нами ведет диалог преподаватель курса Артём Пулявин - специалист по разработке серверных приложений на PHP.
Ведущий разработчик компании Brand Analytics. Десятилетний опыт Back-end разработки на PHP.
Участвовал в проектах различных уровней сложности от конструкторов сайта до реализации с нуля новой платформы в области FoodTech за 6 месяцев. Принимал участие в разработке высоконагруженных web-проектов и отказоустойчивых распределенных систем. В качестве TeamLead выстроил процесс разработки по методологии Scrum: внедрил ежедневные stand-up митинги, планирование и эстимейтинг задач, а также проведение ретроспектив . Пройти тестирование и принять участие в розыгрыше бесплатных мест обучения по заявленному курсу можно тут https://otus.pw/S0ac/
Ведущий разработчик компании Brand Analytics. Десятилетний опыт Back-end разработки на PHP.
Участвовал в проектах различных уровней сложности от конструкторов сайта до реализации с нуля новой платформы в области FoodTech за 6 месяцев. Принимал участие в разработке высоконагруженных web-проектов и отказоустойчивых распределенных систем. В качестве TeamLead выстроил процесс разработки по методологии Scrum: внедрил ежедневные stand-up митинги, планирование и эстимейтинг задач, а также проведение ретроспектив . Пройти тестирование и принять участие в розыгрыше бесплатных мест обучения по заявленному курсу можно тут https://otus.pw/S0ac/
Курс "Backend разработчик на PHP" | OTUS
Курс серьезного владения разработкой на РНР для знающих основы языка. 5 месяцев обучения, много практики
4 декабря завершен День Открытых Дверей по курсу Java Enterprise. Судя по количеству слушателей вебинара мы понимаем ценность запланированного курса. Мы старались охватить самые важные аспекты обучения и ответить на все важные вопросы, которые были заданы участниками трансляции. По традиции публикуем полезную ссылку на встречу в записи https://otus.pw/DItz/
YouTube
День открытых дверей онлайн курса «Разработчик Java EE» в OTUS
Расскажем о проекте OTUS, поговорим о курсе обучения «Разработчик Java EE», который будет проходить в формате вебинара, перспективах для выпускников и учебно...
Что еще должен знать 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
Как бы странно это ни звучало, чтобы успешно закрепиться на позиции «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
Но при этом часто бывают ситуации, когда правильные сообщения у коммита резко упрощают жизнь: надо посмотреть, кто, когда и зачем менял что-то в конкретном модуле или почему вот тут стоит такой странный условный оператор. Если у коммита с добавлением этого кода будет сообщение «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/
w2f.ru
Журнал EDexpert | №2 ДЕКАБРЬ 2017
Animated publication
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
. Новый крупный релиз 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/
Приятного просмотра https://otus.pw/GHdG/
YouTube
День открытых дверей онлайн курса «Разработчик Java EE» в OTUS
Расскажем о проекте OTUS, поговорим о курсе обучения «Разработчик Java EE», который будет проходить в формате вебинара, перспективах для выпускников и учебном процессе.
Ответим на все вопросы и разыграем бесплатные места на курсе среди успешно прошедших…
Ответим на все вопросы и разыграем бесплатные места на курсе среди успешно прошедших…