Рубрика «Программирование»

image

Недавно закончился отборочный этап DataScienceGame2018, который проходил в формате kaggle InClass. DataScienceGame — это международное студенческое соревнование, которое проводится на ежегодной основе. Нашей команде удалось оказаться на 3м месте среди более чем 100 команд и при этом НЕ пройти в финальный этап.
Читать полностью »

OGL3

Parallax Mapping

Техника текстурирования Parallax Mapping по своему эффекту несколько схожа с Normal Mapping’ом, но основана на другом принципе. Схожесть в том, что, как и Normal Mapping, данная техника значительно увеличивает визуальную сложность и детализацию поверхности с нанесенной текстурой заодно создавая правдоподобную иллюзия наличия на поверхности перепадов высот. Parallax Mapping отлично работает в связке с Normal Mapping для создания весьма достоверных результатов: описываемая техника передает эффект рельефа гораздо лучше Normal Mapping, а Normal Mapping дополняет его для правдоподобной имитации динамического освещения. Parallax Mapping вряд ли можно считать техникой, прямо относящейся к методам имитации освещения, но все же я выбрал этот раздел для его рассмотрения, поскольку метод является логическим развитием идей Normal Mapping. Также отмечу, что для разбора этой статьи требуется хорошее понимание алгоритма работы Normal Mapping, в особенности понятия касательного пространства или tangent space.
Читать полностью »

Ускорение конкатенации строк в Go своими руками - 1

Сегодня мы будем разгонять склеивание коротких строк в Go на 30%. Причём для этого нам не нужно будет модифицировать сам Go, всё это будет реализованно в виде сторонней библиотеки.

Под катом вас ждут:

  • Сравнение +, strings.Builder и собственной функции конкатенации
  • Детали внутреннего устройства строк в Go
  • Совсем немного ассемблера

Данную статью можно также считать предлогом обсудить CL123256: runtime,cmd/compile: specialize concatstring2. Идеи по улучшению этого change list'а приветствуются.

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

Завтра в отпуск

Мы в отделе аналитики онлайн-кинотеатра Okko (Мама, привет, я теперь работаю на Rambler) любим как можно сильнее автоматизировать подсчёты сборов фильмов Александра Невского, а в освободившееся время учиться новому и реализовывать классные штуки, которые почему-то обычно выливаются в ботов для Телеграма. К примеру, перед началом чемпионата мира по футболу 2018 мы выкатили в рабочий чат бота, который собирал ставки на распределение итоговых мест, а после финала подсчитал результаты по заранее придуманной метрике и определил победителей. Хорватию в четвёрку не поставил никто.

Недавнее же свободное от составления ТОП-10 российских комедий время мы посвятили созданию бота, который находит знаменитость, на которую пользователь больше всего похож лицом. В рабочем чате идею все настолько оценили, что мы решили сделать бота общедоступным. В этой статье мы кратко вспомним теорию, расскажем о создании нашего бота и о том, как сделать такого самому.

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

Если Вы настойчиво хотите попасть в команду разработчиков компилятора или в «мир Дикого Запада» — то смело выбирайте и учите топовый язык программирования из TIOBE и лучше всего: на уровне его спецификации. А если серьезно, то сейчас в отрасли все так запутанно с логикой и выводами, столько маркетинга и воды, что самая выигрышная стратегия — включить свои собственные мозги и сделать экспресс-переоценку технических ценностей, к которым мы так привыкли. В посте я постараюсь максимально ясно сориентировать начинающих свою карьеру разработчиков по рискам выбора технологий и сделать им правильные и далеко (далеко-далеко) идущие выводы.
Читать полностью »

Настраиваем удобный npm проект для себя и команды или немного о современных фронтенд инструментах - 1

Всем привет. Недавно мне попалась задача настроить оборот приватных npm пакетов. Все звучало очень интересно и многообещающе пока не оказалось, что делать там совсем не много. Тут бы все и закончилось, но возникла вторая задача — написать демо репозиторий для npm пакета, который можно было бы взять, клонировать и на его базе быстро создать что-то полезное и в едином стиле.

В результате получился проект с настроенным форматированием, кодстайлом, тестами на каждый пулл, лимитами на покрытие кода, отчетом о покрытии кода и автоматической документацией. Плюс удобная публикация в npm. Подробности о настройке — под катом.

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

Как мы ищем преподавателей онлайн-курсов среди разработчиков? - 1

«Успешными преподавателями становятся те, кто выбирает это занятие для удовольствия»

Если вас посещала мысль, а не податься ли в преподаватели, то наверняка вы задумывались и над тем, есть ли у вас для этого необходимые умения, навыки и склонность. И как вообще предложить миру свои услуги преподавателя, если ты хорошо разбираешься в своей IT-профессии, но не имеешь педагогического образования? Руководитель отдела подбора преподавателей и методистов GeekBrains Людмила Карамышева срывает покровы и рассказывает, как мы ищем преподавателей на наши IT-курсы, как стать популярным преподавателем и почему это получается не у всех разработчиков.
Читать полностью »

Привет! Сегодня у нас заключительная статья из серии по разработке игры с программированием без написания кода. Кстати, все это на базе платформы Clickteam Fusion 2.5. Рассмотрим реальный проект по созданию платформера и расскажем о публикации в Microsoft Store. Заглядывайте под кат!

Самый простой способ создания игры (но это не точно) - 1Читать полностью »

«Около ИТ» настолки. История игр с компьютерным сеттингом - 1

Настольные игры часто были тесно связаны со своими компьютерными собратьями (хотя и старше последних на несколько веков) и они заимствовали друг у друга идеи, сюжет, оформление и т.п. В первой части мы рассмотрим историю игр (от прошлого до настоящего), которые сделаны не «по мотивам» известных компьютерных игр, а используют ИТ как сеттинг для создания собственной атмосферы. По большей части такие игры были обучающими, но есть и исключения. И я специально не упомянул RoboRally — эта игра всегда будет идеалом переноса программного кода в настольный мир.
Читать полностью »

Как проверить гипотезы и заработать на Swift с помощью сплит-тестов - 1

Всем привет! Меня зовут Саша Зимин, я работаю iOS-разработчиком в лондонском офисе Badoo. В Badoo очень тесное взаимодействие с продуктовыми менеджерами, и я перенял у них привычку проверять все гипотезы, которые возникают у меня относительно продукта. Так, я начал писать сплит-тесты для своих проектов.

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