Рубрика «software engineering»

Компания JetBrains объявляет об открытии магистерской программы «Разработка программного обеспечения / Software Engineering» на базе Университета ИТМО. Приглашаем абитуриентов продолжить своё обучение и получить качественные знания в области программирования и компьютерных наук.

Открытие совместной магистратуры JetBrains и ИТМО - 1

Учебная программа

Программа предлагает студентам актуальные знания в области разработки программного обеспечения. Базовые курсы (алгоритмы, программирование, машинное обучение и другие) дополнены специализированными предметами (глубокое обучение, информационный поиск, анализ изображений и другие), которые представляют современные подходы к решению задач IT-индустрии. Преподавательский состав программы включает в себя действующих учёных и разработчиков крупных компаний Петербурга.
Читать полностью »

Картинка для привлечения внимания: > Replay bug-10492; going back in time

Привет! Я пишу статьи, посвященные архитектуре в игровой разработке. В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как сделать мой любимый трюк — машина времени для отладки изменений гейм стейта.

Эта штука сэкономила мне кучу времени в поиске и воспроизведении сложных багов. Она позволяет делать "снапшоты" игрового состояния, историю его изменения, и пошагово их применять.

Начинающие разработчики познакомятся с паттерном, а продвинутые, возможно, найдут трюк полезным.

Хотите узнать как это сделать? Прошу под кат.

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

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

Вот мои 3 (+1 бонусная) наиболее распространенные рекомендации по код-ревью.

image

Рекомендация 1: Выбрасывайте исключения, если что то идет не так

Зачастую паттерн выглядит так:

List<String> getSearchResults(...) {
  try {
    List<String> results = // make REST call to search service
    return results;
  } catch (RemoteInvocationException e) {
    return Collections.emptyList();
  }
}

Этот паттерн вызвал перебои в одном из мобильных приложений, над которыми я работал. Поиск на стороне сервера, который мы использовали, начал выбрасывать исключения. Оказалось, на серверном API приложения был некоторый код, похожий на приведенный выше. Поэтому приложение получало 200 ответ сервера и с радостью показывало пустой список для каждого поискового запроса.
Читать полностью »

image

Дефект, который справедливо считается «чумой» современного программирования преодолим. Предлагаем ознакомиться с переводом статьи Бертрана Мейера, французского учёного, создателя языка программирования Eiffel, приглашенного профессора и руководителя Лаборатории программной инженерии Университета Иннополис. Оригинал статьи опубликован в журнале Сommunications of the ACM.Читать полностью »

Да, мы запускаем вторую серию Турниров Кроссовера!
2 апреля в Петербурге — в этот раз мы ищем Software Engineering Managers и Technical Product Managers, а потом 22 апреля в Москве (.NET или Java техлидов).

Но прежде, чем рассказать о том, что будет – давайте посмотрим, как это было в Москве 18 февраля.

SEM раз отмерь. Или «как узнать SEM ли ты и что с этим делать дальше?» - 1

Честно говоря, когда мы решили проводить турниры по отбору классных разработчиков, вместо того, чтобы принимать все заявки онлайн – мы отчаянно рисковали.
Читать полностью »

SOM Technology: Making the Pieces Fit4 года назад вышла моя статья про IBM SOM, где я констатировал крайне плачевную ситуацию, когда утерян значимый инструментарий, и чем дальше, тем меньше шансов восстановить. За прошедшее время много, чего случилось, нашлись и SOM 3.0 для Windows, и SOM 2.1, и открытый клон somFree, и рабочий компилятор DirectToSOM C++ для Windows, и мост в OLE Automation.

Один из моих проектов реализует поддержку SOM в Delphi. Разработка начиналась на Delphi, пришлось часть привязок делать вручную и не так красиво, в процедурном стиле, без проверки типов. Используя эти привязки, был написан генератор привязок в объектном стиле, а затем и сам генератор был переписан на новые привязки, став подтверждением их работоспособности. Ради красоты пришлось хакнуть объектную систему Delphi, и, может быть, вам будет интересно, как это вообще можно делать.
Читать полностью »

Набор в Санкт-Петербургский академический университет - 1Традиционно сообщаем об открытии набора на кафедру математических и информационных технологий. Мы довольно много писали о нашей кафедре в этом блоге, поэтому в этом посте я напишу обо всём тезисно.

Онлайн-курсы

Начну с конца: если вы не заканчиваете школу или бакалавриат в этом году, то вы всё равно можете поучиться в Академическом университете благодаря нашим (совместно с Computer Science центром) онлайн курсам! (Кстати, скоро появятся курсы по физике от наших коллег, следите за новостями!)

Бакалавриат

Более молодых читателей, которые в этом году заканчивают школу, мы приглашаем в наш бакалавриат. Он очень молодой, существует всего два года, и второй год подряд нам удаётся набрать самых сильных абитуриентов. С нашими замечательными второкурсниками из первого набора мы записали небольшой мотивирующий видеоролик о нашем бакалавриате.

Подробности о поступлении в бакалавриат

Магистратура

Тех, кто в этом году заканчивает бакалавриат или специалитет, мы приглашаем учиться к нам в магистратуру. На нашей кафедре есть три направления.
Читать полностью »

Мы рады объявить об открытии набора в магистратуру на 2015-2017 учебные годы.
Магистратура Академического университета открывает набор на 2015 год - 1

Магистратура Академического университета существует с 2008 года. Всё это время мы прикладываем очень много усилий, что бы поддерживать в нашем университете благоприятную образовательную среду: подбираем качественные и интересные курсы, приглашаем в качестве преподавателей известных ученых и ведущих разработчиков, развиваем партнерские отношения с известными IT-компаниями, создаём удобную для студентов инфраструктуру. Читать полностью »

Привет!
Программа, по которой я сейчас обучаюсь, называется MSIT-SE (Master of Science in Information Technology – Software Engineering)*. Основная идея всей программы выражается в принципе “Learn by doing” (“Учись, делая”).
Хочу рассказать, в чем разница между SE и CS и чем программа, которую я прохожу, отличается от всего остального. Без всякого сомнения этот вопрос обсуждаем, но ниже представлено мое личное мнение Читать полностью »

Обучение Software Engineering в России: возможно ли это? нужно ли это?Как уже сообщалось, Университет Иннополис открыл новую для России магистерскую программу по Software Engineering (совместно с партнером, Университетом Карнеги-Меллон), что порождает много вопросов: что это, зачем это надо, почему в партнеры выбран Карнеги-Меллон? В этом топике мы собрали самые горячие вопросы и попросили ответить на них очевидцев – тех, кто проходит обучение по программе в настоящий момент. Есть вопрос, на который мы не осветили? Задавайте в комментариях!

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