Pull to refresh
0
0
Светлов Александр @Mehalich

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

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Reading time 11 min
Views 122K
Edison corporate blog Programming *Algorithms *Mathematics *Machine learning *
Translation
image

Содержание


  1. Введение в Computer Science
  2. Структуры данных и Алгоритмы
  3. Системное программирование
  4. Распределенные системы
  5. Базы данных
  6. Объектно-ориентированный дизайн и разработка софта
  7. Искусственный интеллект
  8. Машинное обучение
  9. Веб-разработка и интернет-технологии
  10. Concurrency
  11. Компьютерные сети
  12. Разработка мобильных приложений
  13. Математика для программистов
  14. Теория информатики и языки программирования
  15. Архитектура компьютера
  16. Безопасность
  17. Компьютерная графика
  18. Работа с изображениями и компьютерное зрение
  19. Интерфейс Человек-Компьютер
  20. Вычислительная биология
  21. Прочее

Total votes 78: ↑64 and ↓14 +50
Comments 23

Как создавались неуловимые цели в игре Hitman 2016 года

Reading time 8 min
Views 13K
Game development *
Translation

Торбен Эллерт (Torben Ellert) — это ведущий онлайн-дизайнер эпизодической игры Hitman (2016) в Io-Interactive. Он подробно рассказал Gamasutra об неуловимых целях (Elusive Targets) в игре. Большинство целей можно устранить множеством способов и в любой момент, выбранный игроком. Неуловимые цели появляются в игре на короткий промежуток времени (48 часов), и у игроков есть только один шанс выполнить миссию.
Total votes 24: ↑21 and ↓3 +18
Comments 2

Преобразование типов значений в .NET

Reading time 2 min
Views 6.3K
.NET *

Введение в проблему


Казалось бы, такая простая тема, как преобразование типов значений (value conversion), не достойна целой статьи. В C# есть подходящий оператор "(T)value", есть типы, которые его реализуют, и тему на этом можно считать закрытой. Но за 14 лет существования .NET разработчики BCL и другие программисты придумали еще 4 способа преобразовывать типы значений.


Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Comments 9

Не «Танками» едиными – скучаем с пользой в стиле DIY

Reading time 6 min
Views 20K
Сервер Молл corporate blog System administration *IT Infrastructure *Server Administration *

image alt text


Навевающая ностальгию картинка взята с Pikabu


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


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

И да начнется DIY
Total votes 26: ↑22 and ↓4 +18
Comments 24

Названия больших чисел в idle-играх

Reading time 5 min
Views 21K
Game development *Algorithms *
Translation


(Прим. пер.: приведённые в статье алгоритмы относятся к названиям степеней тысячи по короткой шкале.)

Некоторое время назад я получил возможность поучаствовать в разработке игры в жанре idle. Что же такое idle-игра? Если вы впервые слышите об этом быстро развивающемся жанре, попробуйте поиграть в Adventure Capitalist. На сайте Gamasutra также есть несколько статей (1, 2, 3, 4), позволяющих рассмотреть жанр немного глубже.
Читать дальше →
Total votes 32: ↑27 and ↓5 +22
Comments 9

Сотворение мира Опыт создания разумной жизни своими руками

Reading time 23 min
Views 26K
Python *Game development *Machine learning *
Sandbox
Иногда проводишь день в попытках без использования терминов «рекурсивный вызов» и «идиоты» объяснить главному бухгалтеру, почему на самом деле простое изменение учетной системы затягивается почти на неделю из-за орфографической ошибки, допущенной кем-то в коде в 2009 году. В такие дни хочется пооборвать руки тому умнику, который сотворил этот мир, и переписать все с ноля.

image

TL;DR
Под катом история о том, как я в качестве практики для изучения Python разрабатываю свою библиотеку для агентного моделирования с машинным обучением и богами.

Ссылка на github. Для работы из коробки нужен pygame. Для ознакомительного примера понадобится sklearn.
Читать дальше →
Total votes 46: ↑44 and ↓2 +42
Comments 31

Шесть стадий игрока в социальные f2p-игры

Reading time 6 min
Views 14K
Mobile applications monetization *Games monetization *Mobile App Analytics *
Translation
image
Candy Crush — одна из тех игр, которые лучше всего понимают своих игроков

Перед разработчиками социальных игр стоит трудная задача: попытаться, чтобы игроки возвращались к игре как можно дольше. Но ни одна стратегия не сможет охватить всех, и в этом вам хочет помочь Optimove.
Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Comments 23

Как построить гоночный коптер и не устать

Reading time 6 min
Views 24K
Multicopters DIY Electronics for beginners
Tutorial
Многих интересует тема строительства мультироторных гоночных квадрокоптеров на раме ZMR250, но как только начинаешь исследовать тему, то обнаруживается просто тонна специфической информации, которая может только отпугнуть новичков, но никак не помочь при этом.

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


Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 55

Моя история постройки ЧПУ-станка своими руками

Reading time 2 min
Views 86K
DIY
Приветствую всех жителей Geektimes! Сегодня я хочу вам рассказать свою историю постройки бюджетного классического портального фрезерного станка.


Читать дальше →
Total votes 53: ↑52 and ↓1 +51
Comments 123

7 аркадных игр, которые уже стали классикой, но всё ещё могут чему-то научить

Reading time 6 min
Views 32K
ВШБИ — Менеджмент игровых интернет-проектов corporate blog Game development *
Translation
Contra, Dungeons & Dragons, Double Dragon, Q*Bert — эти классические аркады большинство из нас помнят и любят, ведь на них выросло целое поколение. Но чему они могут научить современного геймдизайнера?

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


Total votes 23: ↑16 and ↓7 +9
Comments 13

Android In-app Billing: от мобильного приложения до серверной валидации и тестирования

Reading time 14 min
Views 54K
Java *Development of mobile applications *Development for Android *Google API *Mobile applications testing *
Tutorial
image

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

В результате биллинг от Google Play был успешно интегрирован в наш сервис, валидация покупок и подписок на серверной стороне работает. Кому стало интересно — добро пожаловать под кат: здесь будет полное описание всего, начиная от регистрации покупок в консоли управления Google Play, и заканчивая работой с подписками на своем бекенде.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 4

Делаем контур управления электродвигателем с заданием тока

Reading time 4 min
Views 18K
C++ *Mathematics *Robotics development *Programming microcontrollers *
Tutorial

Постановка задачи


Это вторая, итоговая статья. Напоминаю цель: есть двигатель постоянного тока. Задача — разработать, собрать и протестировать устройство, позволяющиее реализовать контур управления с заданием тока применительно к этому двигателю. Желаемое время переходного процесса на застопоренном двигателе (без противо-ЭДС) — не более 10мс.

Текст разбит на две статьи:


Напоминаю, как выглядит макет управляющего железа:


Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 24

JavaFX и Spring. Вместе веселей

Reading time 8 min
Views 31K
Java *


В данной статье я хочу рассказать о своем опыте интеграции таких вещей как JavaFX и Spring. И заодно использовать базу данных Derby и Maven для сборки приложения.

Введение


JavaFX выглядит довольно удобной и привлекательной технологией для реализации десктопных решений на платформе Java. Начиная с версии Java SE 7 Update 6, JavaFX является частью реализации Oracle Java SE, т.е. никаких дополнительных установок на стороне пользователя не требуется.

Spring со своей стороны, дает удобные фишечки в виде IoC, управление транзакциями и т.д., которые не хочется реализовывать самому.

Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 9

Собираем Docker контейнер с http сервером при помощи Gradle

Reading time 3 min
Views 18K
Programming *Java *Development for Linux *Build automation *Gradle *
Tutorial
imageПривет Хабр!

Возникла такая задача: Сделать простой web — сервер с минимальным числом зависимостей. При этом деплоиться он будет в виде docker контейнера. Для реализации самого сервера буду использовать GrizzlyWebServer. Для сборки Gradle c плагином для docker от Benjamin Muschko (bmuschko).

Такой выбор инструментов не случаен, я занимаюсь разработкой для android и мне ближе Java и Gradle чем что то другое. В этой статье хочу детально описать процесс от написания приложения до запуска в docker, возможные проблемы и их решение.

И так, начнем: сервер.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 5

Эволюционный дизайн баз данных

Reading time 32 min
Views 20K
System Analysis and Design *Version control systems *Designing and refactoring *Industrial Programming *
Translation


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


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


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

Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Comments 0

3D-печать миниатюр

Reading time 6 min
Views 31K
3D printers
Sandbox
В этой статье речь пойдёт о том, что можно выжать из домашнего настольного принтера в области печати миниатюрных сложный объектов. Две недели назад я на спор взялся изготовить вот эту вещицу на домашнем FDM принтере.


Читать дальше →
Total votes 45: ↑45 and ↓0 +45
Comments 77

Приемы взятия сложных интегралов

Reading time 3 min
Views 38K
Mathematics *

Интeгpaлы, чтo мoжeт быть вeceлee? Hу, вoзмoжнo нe для вcex, нo вce жe, я ужe дaвнo ничeгo нe пocтил тaкoгo cугубo мaтeмaтичecкoгo, тaк чтo пoпpoбую. Этoт пocт – пpo тo кaк бpaть «cлoжныe» интeгpaлы. Этoт пocт пoдpaзумeвaeт чтo читaтeль училcя тaки в шкoлe и знaeт тpивиaльныe пoдxoды (нaпpимep, интегрирование по частям). B пocтe мы будeм oбcуждaть тoлькo интeгpaлы Pимaнa, a нe интeгpaлы Лeбeгa-Cтилтьeca, Итo, Cкopoxoдa и тaк дaлee (xoтя я бы c удoвoльcтвиeм, чeccлoвo).


Becь этoт пocт — мaлeнькaя выбopкa peцeптoв или «пaттepнoв» кoтopыe мoжнo взять в кoпилку и пoтoм пpимeнять. Пocт peкoмeндуeтcя читaть нa high-DРI диcплee дaбы пpeдoтвpaтить глaзнoe кpoвoтeчeниe. Я пpeдупpeдил.


Если интересно...
Total votes 75: ↑66 and ↓9 +57
Comments 88

Как решить проблему ограничения в 64К методов в Unity3D

Reading time 13 min
Views 18K
Game development *Development for Android *Unity3D *
Translation
Можете ли вы представить игру для Android, сделанную в Unity, которая использует больше 64K методов Java? Не удалось это и архитекторам байт-кода Dalvik. Возможно, у них получилось (я не читал спецификации), и винить следует другие элементы тулчейна. Как бы то ни было, если ваша игра превышает ограничение в 64K методов на файл DEX, вам придётся ковыряться в своих нативных плагинах и/или процессе сборки. Этот пост является попыткой показать различные способы решения проблемы.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 2

О сравнении объектов по значению — 2, или Особенности реализации метода Equals

Reading time 9 min
Views 11K
Programming *Perfect code *.NET *Designing and refactoring *C# *
В предыдущей публикации мы рассмотрели общие принципы реализации минимально необходимых доработок класса для возможности сравнения объектов класса по значению с помощью стандартной инфраструктуры платформы .NET.

Эти доработки включают перекрытие методов Object.Equals(Object) и Object.GetHashCode().

Остановимся подробнее на особенностях реализации метода Object.Equals(Object) для соответствия следующему требованию в документации:

x.Equals(y) returns the same value as y.Equals(x).

Класс Person, созданный в предыдущей публикации, содержит следующую реализацию метода Equals(Object):

Person.Equals(Object)
public override bool Equals(object obj)
{
    if ((object)this == obj)
        return true;

    var other = obj as Person;

    if ((object)other == null)
        return false;

    return EqualsHelper(this, other);
}

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

В соответствии с примером, приведенным в документации, приведение производится с помощью оператора as. Проверим, дает ли это корректный результат.
Читать дальше →
Total votes 21: ↑16 and ↓5 +11
Comments 13

Измерение сопротивления и индуктивности двигателя постоянного тока

Reading time 9 min
Views 25K
Programming *C++ *Mathematics *Robotics development *
Tutorial

Постановка задачи


Есть двигатель постоянного тока. Задача — разработать, собрать и протестировать устройство, позволяющиее реализовать контур тока применительно к этому двигателю. Желаемое время переходного процесса на застопоренном двигателе (без противо-ЭДС) — не более 10мс. Интерфес связи с внешним управляющим контроллером — SPI.

Двигатель постоянного тока, коллекторный, максимальное напряжение 24В, рабочий ток до 5А.

Что значит — контур тока? Самые распространённые драйверы для управления двигателями это всякие вариации полумостов, которые усиливают напряжение. А мне хочется, чтобы драйвер брал на вход не напряжение, а силу тока. Сила, развиваемая электроприводом, прямо пропорциональна силе протекающего тока. А значит, и прямо пропорциональна ускорению на валу двигателя. Такой контур тока позволит избежать извращений, на которые нужно идти без него, как я это делал тут.

Я разбил этот текст на две статьи:


Вот так выглядит макет управляющего железа:


Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 53

Information

Rating
Does not participate
Location
Таллин, Эстония, Эстония
Date of birth
Registered
Activity