Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Как я реализовал процедурную генерацию лабиринтов в своей игре

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров8.3K

Приветствую вас! Меня зовут Денис, я разрабатываю игры на Unity, и сегодня я расскажу о том, как устроена генерация лабиринтов в игре, которая находится на данный момент в разработке.

Это не коммерческий проект (хотя есть планы по выпуску игры в Google Play), а мой личный, так что в конце статьи вас ждёт технодемка.

Читать далее
Всего голосов 13: ↑13 и ↓0+14
Комментарии14

AWS Lambda — теория, знакомство

Время на прочтение6 мин
Количество просмотров49K

Краткий экскурс в AWS Lambda


Что это?


AWS Lambda: это вычислительный сервис, который позволяет запускать код практически для любого типа приложения или серверной службы — и все это без необходимости администрирования. AWS Lambda выполняет все администрирование за вас, включая обслуживание сервера и операционной системы, выделение ресурсов и автоматическое масштабирование, мониторинг кода и ведение журнала. Все, что вам нужно сделать — это предоставить свой код на одном из языков, которые поддерживает AWS Lambda.

Зачем ее использовать?


  • Деньги. Вы платите только за то время, когда сервис работает.
  • Скорость. Сама по себе лямбда поднимается и работает очень быстро.
  • Удобство. Лямбда имеет много возможностей по интеграции с сервисами AWS.
  • Производительность. Параллельно может выполняться, в зависимости от региона максимально от 1000 до 3000 экземпляров. И при желании, этот лимит можно поднять, написав в поддержку.

У этого подхода есть и свои минусы, вы не можете управлять операционной системой на который выполняется код, не можете контролировать ЦП, память и ресурсы. Всем этим занимается AWS.

Все что вы можете, это выбрать язык, из поддерживаемых AWS Lambda.

Что могёт?


Ниже представлен краткий перечень основных функций AWS Lambda. Далее все рассмотрим по порядку.


Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии18

Игровые паттерны программирования: Game Loop

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров7.5K

Это перевод одной из глав книги Game programming patterns Роберта Найстрома. Так как книга по сути состоит из подробного описания шаблонов проектирования, каждая глава может рассматриваться как самостоятельная статья, чем я и воспользовался и перевел, как мне кажется, статью с самым важным паттерном в игростроении — Game loop.

Читать далее
Всего голосов 10: ↑10 и ↓0+11
Комментарии4

Мастерим многопоточность: техники и инструменты для Java-разработчиков. Часть 1

Уровень сложностиСредний
Время на прочтение29 мин
Количество просмотров7.9K

Привет, Хабр! Это первая часть обзора по изучению существенных тем Java стека и туториала по их применению. В этой статье вы найдете важные аспекты многопоточности в Java, а также полезные шпаргалки с практическими примерами.

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

Читать далее
Всего голосов 10: ↑9 и ↓1+9
Комментарии7

Как информативно оформить профиль на GitHub?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров14K

Тетрадь, дневник — ваше лицо. А круто оформленный профиль на гитхабе — статус вашей занятости. Чем больше участий в проектах, тем безработнее... Пока молодые специалисты оформляют свои страницы с "Lib-Meta-Neo ML-Scientist 10 years of expirience" на LinkedIN настоящий амбассадор HR и трудового найма бегут на GitHub. Именно там выискиваются самые закостенелые гики программирования, вносящие тридцать пять тысяч коммитов в безбюджетные опенсорс проекты; именно там рождаются гении, разрабатывающие AAA-проекты геймдева на ассемблере. 

Все это шутки. 

Но реальность такова, что многие из рекрутеров не против оценить ваш профиль. Подавать себя, как в маркетинге, важно. И неплохо бы сразу представить всю статистику развернуто перед глазами, чтобы бедный HR не искал ваши коммиты, а гордо проведенные тысячи часов в GitHub не остались за кадром. Каждый проект служит материальным доказательством способностей разработчика, позволяя потенциальным соавторам или работодателям оценить его стиль программирования, навыки решения задач и умение управлять проектами. 

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

Читать далее
Всего голосов 26: ↑24 и ↓2+26
Комментарии5

Методы оптимизации в машинном и глубоком обучении. От простого к сложному

Уровень сложностиСложный
Время на прочтение29 мин
Количество просмотров12K

В данной статье представлен обзор различных популярных (и не только) оптимизаторов, которые применяются в машинном и глубоком обучении, в частности для обучения нейронных сетей. Мы рассмотрим их основную идею и ключевые особенности, переходя от простых к более сложным концепциям. Помимо этого, в самом конце вы сможете найти большое количество дополнительных источников для более детального ознакомления с материалом.

Читать далее
Всего голосов 23: ↑22 и ↓1+29
Комментарии6

Путь в IT: с дипломом или без?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров14K

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

Разберем целесообразность высшего образования в айти. Плюсы, минусы, подводные камни.

Читать далее
Всего голосов 22: ↑16 и ↓6+11
Комментарии188

Чем отличаются «мягкие» навыки (soft skills) от «жестких» (hard skills) и как их измерить?

Время на прочтение9 мин
Количество просмотров14K

Навыки делятся на две основные категории: мягкие (soft skills) и жесткие (hard skills). Мягкие навыки, такие как коммуникативные способности, способность к решению проблем и адаптации, кажутся невесомыми, но они играют решающую роль в профессиональном взаимодействии и карьерном росте. Жесткие навыки, напротив, охватывают технические или специализированные знания и умения, которые легко измеримы и поддаются стандартизации.

Эта статья будет интересна широкому кругу читателей: от HR-специалистов и рекрутеров, стремящихся улучшить процессы отбора и оценки кандидатов, до руководителей компаний, которые ищут способы повышения эффективности своих команд. Кроме того, она окажется полезной молодым специалистам и студентам, которые хотят понять, какие навыки необходимы для успеха в выбранной ими профессиональной сфере.

Читать далее
Всего голосов 18: ↑10 и ↓8+6
Комментарии11

Генетический алгоритм. Просто о сложном. Рассказ Марка Андреева

Время на прочтение7 мин
Количество просмотров307K

В последнее время все больше «ходят» разговоры про новомодные алгоритмы, такие как нейронные сети и генетический алгоритм. Сегодня я расскажу про генетические алгоритмы, но давайте на этот раз постараемся обойтись без заумных определений и сложных терминах.
Как сказал один из великих ученных: «Если вы не можете объяснить свою теорию своей жене, ваша теория ничего не стоит!» Так давайте попытаемся во всем разобраться по порядку.
Читать дальше →
Всего голосов 74: ↑55 и ↓19+36
Комментарии40

Создание простого и работоспособного генетического алгоритма для нейросети с Python и NumPy

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров12K

Генетический алгоритм нужен, когда ты знаешь параметры своей нейросети, но не знаешь, что должно получиться на выходе, например, этот алгоритм можно использовать для игры в Google динозаврика или Flappy Bird, потому что там ты не знаешь, что должно быть на выходе, но у тебя есть возможность сортировать наиболее жизнеспособные варианты, например по времени, это называется фитнес функций.

У меня никогда не получалось найти такой алгоритм и чтобы он работал, и был простым, и его можно было использовать, поэтому я приступил к созданию своего легкого, простого, прекрасно работающего Genetic Algorithm.

Моя цель не растянуть написания этой статьи, и замучить читателей её длиной, поэтому сразу приступим к коду. Как уже упоминалось, код простой, поэтому большую часть не нужно описывать целыми сочинениями.

Вначале нам потребуется импортировать модули:

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии4

Объясняем p-значения для начинающих Data Scientist’ов

Время на прочтение9 мин
Количество просмотров238K
Я помню, когда я проходил свою первую зарубежную стажировку в CERN в качестве практиканта, большинство людей все еще говорили об открытии бозона Хиггса после подтверждения того, что он соответствует порогу «пять сигм» (что означает наличие p-значения 0,0000003).

image

Тогда я ничего не знал о p-значении, проверке гипотез или даже статистической значимости.

Я решил загуглить слово — «p-значение», и то, что я нашел в Википедии, заставило меня еще больше запутаться…
При проверке статистических гипотез p-значение или значение вероятности для данной статистической модели — это вероятность того, что при истинности нулевой гипотезы статистическая сводка (например, абсолютное значение выборочной средней разницы между двумя сравниваемыми группами) будет больше или равна фактическим наблюдаемым результатам.
Wikipedia
Хорошая работа, Википедия.

Ладно. Я не понял, что на самом деле означает р-значение.

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

Поэтому я решил объяснить р-значение в этой статье, а также то, как его можно использовать при проверке гипотез, чтобы дать вам лучшее и интуитивное понимание р-значений.
Всего голосов 10: ↑4 и ↓6+4
Комментарии9

300 книг для разработчиков игр: обновление Gamedev библиотеки

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров24K

С Новым Годом уважаемые читатели! Год назад я публиковал подборку из 150-ти книг для тех, кто делает игры и в ней я обещал, что буду постоянно обновлять ее и добавлять в нее новые книги. Время не заставило себя ждать и количество книг в подборке увеличилось в двое и если вы ищите что почитать, то заходите или добавляйте в закладки!

Читать далее...
Всего голосов 11: ↑9 и ↓2+8
Комментарии0

О функциональном программировании на примере решения судоку

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров7.8K

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

Читать
Всего голосов 13: ↑12 и ↓1+19
Комментарии26

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров85K

Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе.

Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.

В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд по сборке и развертыванию через Docker на удаленный сервер с помощью Gitlab CI/CD — на примере Spring Boot приложения.

Читать далее
Всего голосов 15: ↑12 и ↓3+11
Комментарии6

ИИ-помощники для работы с кодом

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

Инструменты на базе ИИ с открытым исходным кодом, которые призваны помочь вам в разработке проектов.

Читать далее
Всего голосов 10: ↑8 и ↓2+7
Комментарии2

Java Unsafe API для низкоуровневого манипулирования памятью

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров6.8K

Привет, Хабр!

Иногда приходится сталкиваться с задачами, которые требуют выхода за рамки стандартных абстракций и безопасности Java. Мы ищем способы оптимизации, решения проблем производительности, или, возможно, просто хотим расширить свой кругозор в Java. Для таких случаев существует Java Unsafe API. Этот инструмент предоставляет нам низкоуровневый доступ к памяти и более широкие возможности для манипуляции данными.

Java изначально создавалась с идеей "ноль амортизации" и скрытия сложности управления памятью от разработчиков. Но есть сферы, где низкоуровневая работа с памятью может сделать наш код более эффективным, быстрым и мощным.

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

Читать далее
Всего голосов 13: ↑9 и ↓4+7
Комментарии3

Управление общей кодовой базой в микросервисной архитектуре

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров9.8K

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

Читать далее
Всего голосов 10: ↑4 и ↓6-2
Комментарии9

Саморазвитие в IT: как оставаться в тренде и не сгореть?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров18K

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

Читать далее
Всего голосов 13: ↑0 и ↓13-13
Комментарии16

Математика для Data Science и машинного обучения за 8 месяцев. Подробный план обучения

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров90K

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

Машинное обучение держится на трёх основных столпах:

Читать далее
Всего голосов 19: ↑18 и ↓1+22
Комментарии45

Книга «Математика в машинном обучении»

Время на прочтение10 мин
Количество просмотров11K
image Привет, Хаброжители!

Фундаментальные математические дисциплины, необходимые для понимания машинного обучения, — это линейная алгебра, аналитическая геометрия, векторный анализ, оптимизация, теория вероятностей и статистика. Традиционно все эти темы размазаны по различным курсам, поэтому студентам, изучающим data science или computer science, а также профессионалам в МО, сложно выстроить знания в единую концепцию.

Эта книга самодостаточна: читатель знакомится с базовыми математическими концепциями, а затем переходит к четырем основным методам МО: линейной регрессии, методу главных компонент, гауссову моделированию и методу опорных векторов.

Тем, кто только начинает изучать математику, такой подход поможет развить интуицию и получить практический опыт в применении математических знаний, а для читателей с базовым математическим образованием книга послужит отправной точкой для более продвинутого знакомства с машинным обучением.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+12
Комментарии4
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность