Показать ещё

В чем привлекательность динамических языков?

Рассказывает Эрик Осхайм К нам поступил вопрос: Мне хочется лучше понять, в чем же все-таки состоит привлекательность языков с динамической типизацией. Может ли кто-нибудь, кто знаком и с динамическими языками…

Сравниваем Java-библиотеки для работы с JSON: JSON.simple, GSON, Jackson и JSONP

JSON на сегодняшний день — общепринятый стандарт обмена данными между сервером и веб-приложением, и, что часто бывает со многими стандартами, мы можем принять его как данное, не углубляясь в принципы его…

Обложка: Сравниваем Java-библиотеки для работы с JSON: JSON.simple, GSON, Jackson и JSONP
Обложка: Напишите метод, тасующий карточную колоду

Напишите метод, тасующий карточную колоду

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

Как общаться с null в Java и не страдать

Java и null неразрывно связаны. Трудно найти Java-программиста, который не сталкивался с NullPointerException. Если даже автор понятия нулевого указателя признал его «ошибкой на миллиард долларов», почему он сохранился в Java?

Обложка: Как общаться с null в Java и не страдать

10 интересных вопросов по Java, которые вам могут задать на собеседовании

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

Обложка: 10 интересных вопросов по Java, которые вам могут задать на собеседовании

Пишем Space Invaders при помощи Corona. Заключение

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

Пишем Space Invaders при помощи Corona. Реализация геймплея. Часть 2

Итак, мы продолжаем писать игру Space Invaders на языке программирования Lua. Если вы пропустили предыдущие статьи, то мы настоятельно рекомендуем вам прочитать их. Прилагаем полный список всех уроков в этой…

Как выстрелить себе в ногу с помощью генератора случайных чисел

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

Задача: написать код, удаляющий дубликаты из несортированного связного списка

Дополнительное задание. Как вы будете решать задачу, если запрещается использовать временный буфер? Решение Что бы удалить копии из связного списка, их нужно сначала найти. Для этого подойдет простая хэш-таблица. В приведенном…

Обложка: Задача: написать код, удаляющий дубликаты из несортированного связного списка

10 советов по многопоточному программированию на Java

Рассказывает Дж. Пол, автор блога Java Revisited Написание параллельного кода – непростая задача, а проверка его корректности – задача еще сложнее. Несмотря на то, что Java предоставляет обширную поддержку многопоточности…

Обложка: 10 советов по многопоточному программированию на Java

Пишем Space Invaders при помощи Corona. Реализация геймплея. Часть 1

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

Обложка: Пишем Сапёр на Unity. Обработка конца игры

Пишем Сапёр на Unity. Обработка конца игры

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

Как создавалось приложение MafiaDroid

Рассказывает создатель приложения MafiaDroid для Android Хочу поделиться с вами своей игрой, а так же описанием некоторых интересных этапов разработки под Android. Игра является результатом изучения теории игр Мафия с точки зрения…

Обложка: Сколько дней потребуется, чтобы все голубоглазые уехали с острова?

Сколько дней потребуется, чтобы все голубоглазые уехали с острова?

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

Разработка игр и работа с графикой — с чего лучше начинать и на что обратить внимание

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

Обложка: Разработка игр и работа с графикой — с чего лучше начинать и на что обратить внимание

Почему так тяжело учиться программировать

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

Обложка: Почему так тяжело учиться программировать
Обложка: Алгоритмы интеллектуального анализа данных

Алгоритмы интеллектуального анализа данных

Рассказывает Рэй Ли, автор блога raily.net Сегодня я постараюсь простым языком объяснить 10 самых важных алгоритмов интеллектуального анализа данных, по результатам  опросов трех разных групп экспертов в этом исследовании. После того…

Пишем Space Invaders при помощи Corona. Настройка проекта

В этой серии уроков мы будем писать игру по мотивам старой доброй Space Invaders. В рамках этих статей мы познакомимся с Corona, а именно: с управлением сцен; с таймерами; с…

Реализуйте алгоритм для однонаправленного списка с петлёй, возвращающий начальный узел петли

Эта задача является разновидностью классической задачи, задаваемой на собеседованиях, — определить, содержит ли связный список петлю. Давайте используем подход «Сопоставление с образцом». Часть 1. Определяем, есть ли в связном списке…

Как разрабатывать на Python под Android

Рассказывает Александр Тейлор, разработчик проекта Kivy В последнее время появляется большое количество ресурсов по разработке на Python под Android. Все чаще упоминается предназначенный для этой задачи фреймворк Kivy (и его…

Обложка: Как разрабатывать на Python под Android

Пишем Сапёр на Unity. Взаимодействие

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

Пишем сапёр на Unity. Настройка

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

Обложка: Пишем сапёр на Unity. Настройка

Алгоритм, демонстрирующий круг знакомств человека для социальных сетей

Предположим, что нам требуется разработать алгоритм, демонстрирующий связи человека с человеком, но при условии, что база очень большая. Например, для использования в Facebook или LinkedIn. Хороший способ решить эту задачу…

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

В каких странах мира наиболее развито обучение программированию? В каких университетах и школах?

Наш подписчик интересуется, в каких университетах и школах мира лучше всего учиться программисту. Мы спросили у экспертов, передаём им слово.

Обложка: В каких странах мира наиболее развито обучение программированию? В каких университетах и школах?

Зачем нужны юнит-тесты

Многие разработчики говорят о юнит-тестах, но не всегда понятно, что они имеют в виду. Иногда неясно, чем они отличаются от других видов тестов, а порой совершенно непонятно их назначение. Доказательство…

Обложка: Зачем нужны юнит-тесты

3D-принтеры — что это такое и где можно попробовать

Трехмерная печать за последнее время из почти фантастики превратилась в достаточно обыденную вещь. С развитием технологии и ростом разрешения 3D-принтеры находят более широкое применение в различных сферах: от биопротезирования до печати…

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

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

Open Graph Stories: секрет повышения виральности в играх в Facebook

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

Обложка: Алгоритм, реализующий следующее условие: если элемент матрицы в точке NxM равен 0, то весь столбец и вся строка обнуляются.

Алгоритм, реализующий следующее условие: если элемент матрицы в точке NxM равен 0, то весь столбец и вся строка обнуляются.

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

Как вести себя на собеседованиях? Что там будут спрашивать? Как лучше готовиться?

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

Обложка: Как вести себя на собеседованиях? Что там будут спрашивать? Как лучше готовиться?

Git за 500 слов

Прим. автора: Эта статья идет в качестве дополнения к Gitlet, моей реализации Git на JavaScript. Предположим, у нас есть директория alpha, в которой содержится файл number.txt с текстом «first». Мы…

Обложка: Git за 500 слов

Уменьшаем размер исполняемого файла Nim со 160 КБ до 150 Б

Кажется, размер бинарных файлов в языке Nim недавно стал популярной темой для обсуждения. Слоган языка Nim: «Выразительно, эффективно, элегантно», и сейчас мы опробуем его эффективность, разобрав несколько вариантов уменьшения размера обычного…