Рубрика «Блог компании Отус» - 9

Всем привет!

До выпуска нашей первой группы курса «Разработчик C++» остались считанные дни. По итогам неплохо поработали напильником и надфилем над курсом: перекомпоновали домашние задания, обновили версию язык и ещё разное по мелочи. Ну, а пока продолжаем нашу традицию по интересным и полезным материалам.

Поехали.

Судя по собственному опыту разработки, многие разработчики C/C++ пренебрегают идеей, что IDE может сделать их работу продуктивней. Ведь что может быть лучше, чем простые и быстрые Vim или Emac. Что ж, позвольте продемонстрировать. Эти 10 советов CLion поднимут вас на новый уровень продуктивности, помогут сфокусироваться на важных и сложных задачах, в то время как IDE решит за вас рутинные задачи.

Прежде чем начать, познакомимся с CLion, новой кроссплатформенной IDE для разработки на C и C++, созданной JetBrains. Она изначально поддерживает C и C++, включая стандарт C++11 (с некоторыми небольшими ограничениями), libc++ и Boost. Она корректно обрабатывает макросы и шаблоны, а также работает с GCC или Clang (при работе с Windows понадобится или MinGW/MinGW-w64, или Cygwin), GDB, как встроенный дебаггер, и CMake, как система сборки и проектная модель. В дополнении к C/C++ также можно пользоваться JavaScript, XML, HTML и CSS на том же уровне редактирования кода, используя, например, подсветку синтаксиса, анализ, автодополнение, навигацию и рефакторинг.

10 советов для продуктивности в CLion, кроссплатформенной С-С++ IDE - 1Читать полностью »

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

Несмотря на то, что фреймворк состязательных сетей был предложен Йеном Гудфеллоу в его уже знаменитой работе Generative Adversarial Networks ключевая идея пришла к нему из работ по доменной адаптации(Domain adaptation), поэтому и начнем мы обсуждение состязательных сетей именно с этой темы.

Представьте, что у вас есть два источниках данных о похожих наборах объектов. Например это могут быть медицинские записи разных социально-демографических групп(мужчины/женщины, взрослые/дети, азиаты/европейцы...). Типичные анализы крови представителей разных групп будут отличаться, поэтому модель, предсказывающая, скажем, риск сердечно-сосудистых заболеваний(ССЗ), обученная на представителях одной выборки не может применяться к представителям другой выборки.

Читать полностью »

И снова здравствуйте!

Мы продолжаем расширение тем, которые преподаются у нас. Вот теперь разработали и вывели курс «Product Owner». Автор курса Екатерина Марчук предлагает вам ознакомится со своей авторской статьёй и приглашает на открытый урок.

Как нам интерпретировать фидбек?

О customer development или развитии пользователей в последнее время говорят все кому не лень. И каждый, кто знаком с понятием, осознает, насколько это важно, а если говорить прямо — жизненно необходимо для успешного запуска продукта.

Customer develoment помогает понять ценность продукта, выявить скрытые мотивы потребителей, их реальные проблемы и потребности. И самое главное, custdev позволяет нам проверять гипотезы. Без проверки гипотез сложно вести проект в правильном направлении, потому что, как показывает практика, голые цифры, увы, не репрезентативны.

Но, как водится, на чисто теоретическом понимании всё и заканчивается. У нас же ни на что не хватает времени, в том числе — и на такие важные задачи.

Custdev от Службы поддержки - 1Читать полностью »

И снова здравствуйте!

Делимся с вами очередным открытым уроком, который мы проводили в рамках курса «Разработчик C++». На уроке Сергей Кольцов разбирал проблему деинициализации, которая довольно часто возникает в разработке ПО с использованием legacy или native-кода.

Как всегда ждём вопрос и комментарии тут или сегодня на Дне открытых дверейЧитать полностью »

Всем привет!

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

Как всегда ждём вопросы, комментарии тут или на Читать полностью »

Всем привет. Меня зовут Артур Кадурин, я руковожу исследованиями в области глубокого обучения для разработки новых лекарственных препаратов в компании Insilico Medicine. В Insilico мы используем самые современные методы машинного обучения, а также сами разрабатываем и публикуем множество статей для того чтобы вылечить такие заболевания как рак или болезнь Альцгеймера, а возможно и старение как таковое.

В рамках подготовки своего курса по глубокому обучению я собираюсь опубликовать серию статей на тему Состязательных(Adversarial) сетей с разбором того что же это такое и как этим пользоваться. Эта серия статей не будет очередным обзором GANов(Generative Adversarial Networks), но позволит глубже заглянуть под капот нейронных сетей и охватит более широкий спектр архитектур. Хотя GANы мы конечно тоже разберем.

Читать полностью »

Всем привет!

Выходим на финишную прямую по запуску обновлённого курса «Администратора Linux»: целиком обновили программу, провели открытые уроки, с одним из которых и делимся с вами. На уроке разбирается SAN и NAS и как настроить ISCSI target в Linux.

Как всегда ждём комментарии, вопросы тут или можете задать их преподавателям сегодня на Дне открытых дверей.

Читать полностью »

И снова здравствуйте!

Что ж очередной «новый» курс, который стартовал в конце декабря, подходит к концу — «Backend разработчик на PHP». Учли разные мелкие шероховатости и запускаем новый. Осталось только посмотреть на выпуск и всё, поставим очередную галочку.

А счас пока давайте посмотрим на одну интересную статью.

Поехали.

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

Предметно-ориентированное проектирование (Domain-Driven Design, в дальнейшем — DDD) — это методология разработки программного обеспечения для проектирования сложных программных проектов с целью доставки конечного продукта, который отвечает задачам организации. Фактически, DDD способствует фокусированию проекта на развивающейся базовой модели.
DDD научит вас эффективно моделировать реальный мир в вашем приложении и использовать ООП для инкапсуляции бизнес-логики организации.

Внедрение предметно-ориентированного проектирования в PHP - 1 Читать полностью »

Всем привет!

Panta rhei и вот уже приближается запуск обновленного курса «Web-разработчик на Python» и у нас остался ещё материал, который мы нашли сильно небезынтересным и коим хотим поделиться с вами.

Чем опасны pickles?

Эти соленые огурчики крайне опасны. Я даже не знаю, как объяснить, насколько. Просто поверь мне. Это важно, понимаешь?

“Explosive Disorder” Pan Telare

Прежде чем с головой погрузиться в опкод, поговорим об основах. В стандартной библиотеке Python есть модуль под названием pickle (в переводе “соленый огурчик” или просто ”консервация”), который используется для сериализации и десериализации объектов. Только называется это не сериализация/десериализация, а pickling/unpickling (дословно — “консервация/расконсервация”).

Опасные pickles — вредоносная сериализация в Python - 1
Читать полностью »

Всем кофе!

Завтра у нас плавненько стартует практически юбилейный поток курс «Разработчик Java» — уже шестой по счёту начиная с апреля прошлого года. А это значит, что мы снова подобрали, перевели интереснейший материал, которым делимся с вами.

Поехали!

Эта памятка поможет Java-разработчикам, работающим с многопоточными программами, понять основные концепции параллелизма и способы их применения. Вы ознакомьтесь с ключевыми аспектами языка Java со ссылками на стандартную библиотеку.

РАЗДЕЛ 1

Вступление

С момента своего создания Java поддерживает ключевые концепции параллелизма, такие как потоки и блокировки. Эта памятка поможет Java-разработчикам, работающим с многопоточными программами, понять основные концепции параллелизма и способы их применения.

РАЗДЕЛ 2

Концепции

Концепция Описание
Atomicity (атомарность) Атомарная операция — это операция, которая выполняется полностью или не выполняется совсем, частичное выполнение невозможно.
Visibility (видимость) Условия, при которых один поток видит изменения, сделанные другим потоком

Таблица 1: Концепции параллелизма

Разбор основных концепций параллелизма - 1Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js