Наш главный преподаватель Java Виталий Чибриков (Vitaly Chibrikov) самоиронизирует :)
5 лет назад (когда была сделана фотография) у Виталия уже был солидный опыт преподавания и отличное чувство юмора :)
5 лет назад (когда была сделана фотография) у Виталия уже был солидный опыт преподавания и отличное чувство юмора :)
Наших компаний-партнеров стало еще больше!
Теперь и Лаборатория Касперского ждет на собеседования наших лучших студентов. Компания заинтересована в выпускниках курсов Python, C++, мобильной разработки и информационной безопасности. Запись на эти курсы откроется совсем скоро!
Теперь и Лаборатория Касперского ждет на собеседования наших лучших студентов. Компания заинтересована в выпускниках курсов Python, C++, мобильной разработки и информационной безопасности. Запись на эти курсы откроется совсем скоро!
3 июня у нас стартует второй курс по программе “Java разработчик”, в преддверии этого события мы приготовили обзор программы обучения - чем мы руководствовались и почему считаем ее актуальной?
Все что вы хотели знать, но боялись спросить о Java! :) 👇 https://habrahabr.ru/company/otus/blog/329458/
Все что вы хотели знать, но боялись спросить о Java! :) 👇 https://habrahabr.ru/company/otus/blog/329458/
Habr
Стать востребованным на рынке труда: какие темы нужно знать Java разработчику?
Нам часто задают вопросы про программу обучения: почему мы предлагаем именно такую программу и почему считаем, что именно специалисты, изучившие темы, которые мы рассматриваем на курсе, будут...
Напоминаем, что первый День открытых дверей пройдет уже завтра! Мы не только поговорим о проекте OTUS, программе обучения и перспективах для выпускников, но и по традиции разыграем среди успешно прошедших вступительное тестирование несколько бесплатных мест в новой Java группе.
Если вы еще не зарегистрировались и не прошли вступительное тестирование - самое время сделать это!
http://otus.ru/dod
Если вы еще не зарегистрировались и не прошли вступительное тестирование - самое время сделать это!
http://otus.ru/dod
Мы начинаем День открытых дверей! Присоединяйтесь!
https://www.bigmarker.com/otus-ru/11
https://www.bigmarker.com/otus-ru/11
BigMarker.com
День открытых дверей в ОТУС
Расскажем о проекте OTUS, поговорим о курсе обучения Java, перспективах для выпускников и учебном процессе. Ответим на все вопросы и разыграем бесплатные места на курсе среди успешно прошедших вступительный тест.
На первом Дне открытых дверей состоялся розыгрыш бесплатных мест в новую Java группу!
Победителями стали: Егор Кузьмин и Сергей Жерновой.
Поздравляем ребят, ждем на занятиях, желаем успехов в обучении и новых карьерных высот!
Победителями стали: Егор Кузьмин и Сергей Жерновой.
Поздравляем ребят, ждем на занятиях, желаем успехов в обучении и новых карьерных высот!
Начинаем понедельник с отличных новостей! Наших лучших выпускников по курсам Java, C++, JavaScript на собеседование ждет еще одна компания - 1С.
Еще больше карьерных возможностей!
Еще больше карьерных возможностей!
Что такое “углубленные основы”? В нашей программе есть такая тема. Что такое основы Java думаем, понятно. Например, цикл for или ветвление if-else или создание объекта через оператор new. Как основы могут быть “углубленными”?
Рассмотрим следующий базовый вопрос: как создать объект в Java? Первый и самый правильный ответ: через оператор new. Что может быть более базовым в объектно ориентированном языке, чем Object object = new Object();
Теперь усложним вопрос: Как создать объект в Java без использования new? И на этот вопрос есть два ответа: Reflection и клонирование.
Можно создать объект, если у вас есть объект класса Class<Т> этого класса:
Object instance = Class.forName("java.lang.Object").newInstance(); То есть вы можете получить новый объект класса зная только название этого класса (конечно если объект типа Class<T> для этого класса может быть загружен класс-лоадером).
Можно сделать класс Clonable и вызвать protected native Object clone() класса Object. В результате вы получите копию объекта, которую для вас сделает нативный метод.
Хорошо. Еще немного усложним задачу: как создать объект в Java не вызывая его конструктор? Кто сказал, что нельзя так сделать? Так работает ObjectOutputStream, когда десериализует объект. Вызывает sun.reflect.ReflectionFactory.newConstructorForSerialization()
Фактически создавая объект произвольного класса через вызов конструктора java.lang.Object
Что еще можно углубленно-базового рассмотреть? Вот, например, области видимости переменных: public, protected, private. Интересно что о них можно углубленного рассказать? Посмотрите sun.reflect.MagicAccessorImpl. Да-да magic accessor.
Рассмотрим следующий базовый вопрос: как создать объект в Java? Первый и самый правильный ответ: через оператор new. Что может быть более базовым в объектно ориентированном языке, чем Object object = new Object();
Теперь усложним вопрос: Как создать объект в Java без использования new? И на этот вопрос есть два ответа: Reflection и клонирование.
Можно создать объект, если у вас есть объект класса Class<Т> этого класса:
Object instance = Class.forName("java.lang.Object").newInstance(); То есть вы можете получить новый объект класса зная только название этого класса (конечно если объект типа Class<T> для этого класса может быть загружен класс-лоадером).
Можно сделать класс Clonable и вызвать protected native Object clone() класса Object. В результате вы получите копию объекта, которую для вас сделает нативный метод.
Хорошо. Еще немного усложним задачу: как создать объект в Java не вызывая его конструктор? Кто сказал, что нельзя так сделать? Так работает ObjectOutputStream, когда десериализует объект. Вызывает sun.reflect.ReflectionFactory.newConstructorForSerialization()
Фактически создавая объект произвольного класса через вызов конструктора java.lang.Object
Что еще можно углубленно-базового рассмотреть? Вот, например, области видимости переменных: public, protected, private. Интересно что о них можно углубленного рассказать? Посмотрите sun.reflect.MagicAccessorImpl. Да-да magic accessor.
И еще один весомый аргумент в пользу изучения Java! https://habrahabr.ru/company/otus/blog/329816/
Habr
Перспективы трудоустройства для Java-программистов
Наш образовательный проект стартовал с программы « Разработчик Java » не случайно. Во-многом появление этого курса связано с темпами роста IT-сферы и постоянного спроса на квалифицированных...
Завтра мы проведем еще один День открытых дверей по Java (последний перед началом обучения новой группы). Регистрируйтесь на http://otus.ru/dod?utm_source=telegram&utm_medium=internal&utm_campaign=dod2 и готовьте свои вопросы.
А поскольку мы по традиции разыграем бесплатное обучение - торопитесь скорее пройти вступительное тестирование, чтобы принять участие в розыгрыше!
А поскольку мы по традиции разыграем бесплатное обучение - торопитесь скорее пройти вступительное тестирование, чтобы принять участие в розыгрыше!
Через считанные минуты начинаем трансляцию второго (и последнего) Дня открытых дверей!
Присоединяйтесь, задавайте вопросы, следите за розыгрышем бесплатного обучения среди тех, кто успешно прошел вступительное тестирование!
https://www.youtube.com/chann…/UCetgtvy93o3i3CvyGXKFU3g/live
Присоединяйтесь, задавайте вопросы, следите за розыгрышем бесплатного обучения среди тех, кто успешно прошел вступительное тестирование!
https://www.youtube.com/chann…/UCetgtvy93o3i3CvyGXKFU3g/live
Кажется, ссылка была не очень... вот точно верная! https://www.youtube.com/channel/UCetgtvy93o3i3CvyGXKFU3g/live
YouTube
OTUS IT Онлайн - образование
OTUS – масштабный образовательный IT-портал. 4955473489
Наш канал предлагает более 5000+ вебинаров по программированию, разработке, аналитике, машинному обучению и менеджменту — бесплатно получайте актуальные знания, которые точно понадобятся в 2025 году.…
Наш канал предлагает более 5000+ вебинаров по программированию, разработке, аналитике, машинному обучению и менеджменту — бесплатно получайте актуальные знания, которые точно понадобятся в 2025 году.…
На втором Дне открытых дверей состоялся розыгрыш бесплатных мест в новую Java группу!
Победителями стали: Даниил Дерут и Александр с e-mail
bagyev :)
Поздравляем ребят, ждем на занятиях, желаем успехов в обучении и новых карьерных высот!
Победителями стали: Даниил Дерут и Александр с e-mail
bagyev :)
Поздравляем ребят, ждем на занятиях, желаем успехов в обучении и новых карьерных высот!
Посадка на рейс "Серьезное изучение Java group #2" завершается.
Мы провели Два дня открытых дверей (видеозапись последнего можно посмотреть тут: https://www.youtube.com/watch?v=vQFxPyLt6lc), разыграли 4 бесплатных места в новой группе, рассказывали о "фишках" Java в постах #deepjava, активно знакомили пользователей с нашим продуктом и рассказывали, почему мы больше, чем просто обучающие курсы, отвечали на вопросы и делали много-много всего, чтобы наши новые студенты получили хорошие знания и возможности профессионального и карьерного роста.
И вот новая группа сформирована и начнет занятия уже завтра! Мы желаем ребятам успехов в обучении. Энтузиазма, жажды знаний и приятного чувства от утоления этой жажды. Желаем классных проектов, драйва и позитива.
Что дальше?
Сегодня еще есть шанс присоединиться к новой группе: http://otus.ru/lessons?course=1?utm_source=telegram и начать заниматься с завтрашнего дня.
Для тех, кто делает свои первые шаги в Java и не смог сдать вступительное тестирование, мы готовим обучающие материалы, которые помогут подготовиться к набору в новую группу по Java, который будет, скорее всего, осенью (т.к. летом мы планируем запуск курсов по другим специальностям). О готовности материалов мы обязательно сообщим.
Спасибо, что вы с нами!
Мы провели Два дня открытых дверей (видеозапись последнего можно посмотреть тут: https://www.youtube.com/watch?v=vQFxPyLt6lc), разыграли 4 бесплатных места в новой группе, рассказывали о "фишках" Java в постах #deepjava, активно знакомили пользователей с нашим продуктом и рассказывали, почему мы больше, чем просто обучающие курсы, отвечали на вопросы и делали много-много всего, чтобы наши новые студенты получили хорошие знания и возможности профессионального и карьерного роста.
И вот новая группа сформирована и начнет занятия уже завтра! Мы желаем ребятам успехов в обучении. Энтузиазма, жажды знаний и приятного чувства от утоления этой жажды. Желаем классных проектов, драйва и позитива.
Что дальше?
Сегодня еще есть шанс присоединиться к новой группе: http://otus.ru/lessons?course=1?utm_source=telegram и начать заниматься с завтрашнего дня.
Для тех, кто делает свои первые шаги в Java и не смог сдать вступительное тестирование, мы готовим обучающие материалы, которые помогут подготовиться к набору в новую группу по Java, который будет, скорее всего, осенью (т.к. летом мы планируем запуск курсов по другим специальностям). О готовности материалов мы обязательно сообщим.
Спасибо, что вы с нами!
YouTube
Всё о курсе «Разработчик Java»
День Открытых Дверей — отличная возможность узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения. Также преподаватель расскажет о своём профессиональном опыте и ответит…
У нас отличные новости и мы спешим поделиться ими с вами!
Мы знаем, что многие ждали открытие набора на курс серьезного изучения Python - ведь этот язык имеет такое широкое применение и его популярность постоянно растет, как и спрос на хороших разработчиков на Python - поэтому по итогам обучения лучших студентов ждут на собеседования наши компании-партнеры ;)
И вот сегодня мы с радостью объявляем: набор в группу серьезного изучения Python открыт! Ждем вас: знакомьтесь с программой, сдавайте вступительное тестирование, присоединяйтесь к группе: http://otus.ru/lessons?course=3?utm_source=telegram&utm_medium=internal&utm_campaign=post_python_new
Курс будет вести Станислав Ступников - программист рекламной системы в Mail.Ru с солидным опытом преподавания: более 5 лет - программирование на Python для студентов МГТУ им. Н.Э. Баумана; более 4 лет - курс СУБД в Технопарке Mail.Ru.
В общем, как обычно: будет не просто, но интересно; тепло, лампово и драйвово :)
И всязи с тем, что теперь в нашем канале мы будем публиковать информацию в т.ч. про Python (а не только про Java) - мы перееименовываем канал в OTUS Club Channel ✌️
Мы знаем, что многие ждали открытие набора на курс серьезного изучения Python - ведь этот язык имеет такое широкое применение и его популярность постоянно растет, как и спрос на хороших разработчиков на Python - поэтому по итогам обучения лучших студентов ждут на собеседования наши компании-партнеры ;)
И вот сегодня мы с радостью объявляем: набор в группу серьезного изучения Python открыт! Ждем вас: знакомьтесь с программой, сдавайте вступительное тестирование, присоединяйтесь к группе: http://otus.ru/lessons?course=3?utm_source=telegram&utm_medium=internal&utm_campaign=post_python_new
Курс будет вести Станислав Ступников - программист рекламной системы в Mail.Ru с солидным опытом преподавания: более 5 лет - программирование на Python для студентов МГТУ им. Н.Э. Баумана; более 4 лет - курс СУБД в Технопарке Mail.Ru.
В общем, как обычно: будет не просто, но интересно; тепло, лампово и драйвово :)
И всязи с тем, что теперь в нашем канале мы будем публиковать информацию в т.ч. про Python (а не только про Java) - мы перееименовываем канал в OTUS Club Channel ✌️
Больше партнеров хороших и разных - больше карьерных возможностей!
Мы рады сообщить, что к числу наших партнеров присоединилась компания Tutu.ru.
+1 в копилку мотивации попасть в число лучших на курсе ;)
Мы рады сообщить, что к числу наших партнеров присоединилась компания Tutu.ru.
+1 в копилку мотивации попасть в число лучших на курсе ;)
Вам нравились наши посты с хэштегом #deepjava? Очень надеемся, что да, потому что нам очень нравится делиться полезной информацией :)
В этом месяце (до начала обучения новой группы по Python) мы хотим погружать вас в тонкости мира Python. Поэтому совсем скоро мы начнем серию постов про #deeppython!
Любителей Java обижать не будем - посты про #deepjava мы все равно будем публиковать, правда, реже.
Знание - само по себе сила!
В этом месяце (до начала обучения новой группы по Python) мы хотим погружать вас в тонкости мира Python. Поэтому совсем скоро мы начнем серию постов про #deeppython!
Любителей Java обижать не будем - посты про #deepjava мы все равно будем публиковать, правда, реже.
Знание - само по себе сила!
#deeppython
Сортировка массива - базовая операция. Каждый программист может написать несколько, а назвать - еще больше, алгоритмов сортировки. “Естественная” необходимость и любовь к красивым решениям дала нам MergeSort, QuickSort, HeapSort и т.д. Самоирония, видимо, породила такие алгоритмы как StupidSort, SleepSort и (мой любимый) TwitterSort. Что же использует Python? TimSort! Автором является широко известный в узких кругах Тим Питерс, а сам алгоритм был с портирован в Java и Android.
Это гибридный адаптивный алгоритм, который совмещает под капотом MergeSort, InsertionSort и хитрые эвристики. Алгоритм ищет в сортируемой последовательности длины N уже отсортированные подпоследовательности (run). Если такая подпоследовательность меньше определенного порогового значения (min_run) то идущие за ней дальше элементы досортировываются с помощью InsertionSort, пока критерий не будет удовлетворен. В итоге, исходная последовательность превращается в N/min_run отсортированных run’ов. run’ы сливаются последовательно и попарно, память выделяется только на элементы, которые действительно нужно перемещать. Допустим есть две подпоследовательности: A = [1, 2, 8, 9] и B = [4, 5,10, 21, 42]. В них 1, 2, 10, 21 и 42 уже находятся на своих финальных местах, что можно определить бинарным поиском B[0] в A и A[-1] в B. Память выделяется (и туда копируются) только на элементы из меньшей подпоследовательности, которые не стоят на своих финальных местах: 8 и 9. Дальше происходит слияние временной выделенного участка памяти и B с переносом элементов в A.
И, конечно, нельзя не упомянуть про режим галопа (galloping). В нем во время слияния элементы перемещаются не попарным сравнением, а сразу целой “пачкой”. Если сливаются temp = [8, 9] и B = [4, 5, 10, 21, 42] в A = [1, 2, _, _], то поиском temp[0] в B, можно определить, что элементы 4 и 5 нужно сразу перенести в A, после чего останется только дописать 8 и 9 в B. И это еще не все тонкости! Как выбирать min_run? Как искать элемент в массиве в режиме галопа? Для каких последовательностей сразу использовать InsertionSort без всей описанной “мишуры”?
Есть в чем покопаться! Приходите к нам на занятия: http://otus.ru/lessons?course=3?utm_source=telegram&utm_medium=internal&utm_campaign=post9.06
Набор в новую группу открыт. Будет много всего интересного!
Сортировка массива - базовая операция. Каждый программист может написать несколько, а назвать - еще больше, алгоритмов сортировки. “Естественная” необходимость и любовь к красивым решениям дала нам MergeSort, QuickSort, HeapSort и т.д. Самоирония, видимо, породила такие алгоритмы как StupidSort, SleepSort и (мой любимый) TwitterSort. Что же использует Python? TimSort! Автором является широко известный в узких кругах Тим Питерс, а сам алгоритм был с портирован в Java и Android.
Это гибридный адаптивный алгоритм, который совмещает под капотом MergeSort, InsertionSort и хитрые эвристики. Алгоритм ищет в сортируемой последовательности длины N уже отсортированные подпоследовательности (run). Если такая подпоследовательность меньше определенного порогового значения (min_run) то идущие за ней дальше элементы досортировываются с помощью InsertionSort, пока критерий не будет удовлетворен. В итоге, исходная последовательность превращается в N/min_run отсортированных run’ов. run’ы сливаются последовательно и попарно, память выделяется только на элементы, которые действительно нужно перемещать. Допустим есть две подпоследовательности: A = [1, 2, 8, 9] и B = [4, 5,10, 21, 42]. В них 1, 2, 10, 21 и 42 уже находятся на своих финальных местах, что можно определить бинарным поиском B[0] в A и A[-1] в B. Память выделяется (и туда копируются) только на элементы из меньшей подпоследовательности, которые не стоят на своих финальных местах: 8 и 9. Дальше происходит слияние временной выделенного участка памяти и B с переносом элементов в A.
И, конечно, нельзя не упомянуть про режим галопа (galloping). В нем во время слияния элементы перемещаются не попарным сравнением, а сразу целой “пачкой”. Если сливаются temp = [8, 9] и B = [4, 5, 10, 21, 42] в A = [1, 2, _, _], то поиском temp[0] в B, можно определить, что элементы 4 и 5 нужно сразу перенести в A, после чего останется только дописать 8 и 9 в B. И это еще не все тонкости! Как выбирать min_run? Как искать элемент в массиве в режиме галопа? Для каких последовательностей сразу использовать InsertionSort без всей описанной “мишуры”?
Есть в чем покопаться! Приходите к нам на занятия: http://otus.ru/lessons?course=3?utm_source=telegram&utm_medium=internal&utm_campaign=post9.06
Набор в новую группу открыт. Будет много всего интересного!
Почемы мы считаем, что у курса Python действительно интересная и актуальная программа? Почему курс рассчитан на 5 месяцев обучения и почему мы отдаем предпочтение Python 2.7?
На эти и прочие вопросы мы ответили в статье:
https://habrahabr.ru/company/otus/blog/330606/
На эти и прочие вопросы мы ответили в статье:
https://habrahabr.ru/company/otus/blog/330606/
habrahabr.ru
Набор на курс Python: почему мы думаем, что Python 2.7. — это серьезно, а Python 3 — модно
Пару дней назад мы открыли набор на один из самых долгожданных курсов — курс серьезного изучения Python. Сегодня мы хотели рассказать вам о направленности и...