Картинка поста

Оператор GOTO не ругал только ленивый. Тем не менее, это инструмент, и польза или вред от него определяется только тем, как его используют....
Читать дальше

Картинка поста
Возможности человеческого разума ограничены […] Наша сила — в использовании технологий, которые многократно увеличивают наши когнитивные способности — Дональд Норман Алгоритмы — это отличная область применения визуализации. Для визуализации работы алгоритма не ну...
Читать дальше
Картинка поста

В этой части мы посмотрим на пять основных алгоритмов сортировки данных в массиве. Начнем с самого простого — сортировки пузырьком — и закончим «быстрой сортировкой» (quicksort). Для каждого алгоритма, кроме...
Читать дальше

Картинка поста

Рассказывает автор блога Nick Desaulniers Интерпретаторы и компиляторы — программы, которые используются для трансляции или запуска других программ. Интерпретируемые программы пишутся на языках вроде JavaScript, Ruby, Python, PHP и Perl....
Читать дальше

Картинка поста

23 октября 2015 года состоится крупнейшее мероприятие отрасли интернет-маркетинга – ежегодная конференция CyberMarketing-2015. Ранее мероприятие специализировалось исключительно на вопросах SEO. В этом году будет представлен совершенно новый расширенный формат: в...
Читать дальше

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

Анимация, основанная на spritesheet’ах, используется в играх довольно продолжительное время. В том числе в таких популярных играх, как Legend of Zelda: A Link to the Past или Cut the Rope....
Читать дальше

Картинка поста

В воскресенье, 13 сентября, в Москве в тайм-кафе :glhf состоится встреча по поводу праздника — Дня программиста. Приезжайте к нам, будет небольшая лекция с историей создания сообщества, возможность задать свои вопросы основателям...
Читать дальше

Картинка поста

Работа с базой данных — зачастую самое слабое место в производительности многих web-приложений. И часто можно заметить, как на одни и те же грабли наступают разработчики при проектировании базы данных. Данная...
Читать дальше

Разумеется, местное просвещенное сообщество в курсе того, какой сегодня день. 9 сентября — день тестировщика! Сотрудники Acronis Russia настолько расчувствовались по этому поводу, что в качестве поздравления коллегам у них...
Читать дальше

Картинка поста

Пятого сентября по российскому интернету прокатилась волна DDoS-атак. Она затронула множество крупных ресурсов: 2ch.hk, rutracker.org, несколько более мелких торрент-трекеров и «Роскомсвободу». После того, как TJournal опубликовал расследование, DDoS-ить начали и...
Читать дальше

Картинка поста

Множество — это коллекция, которая реализует основные математические операции над множествами: пересечения (intersection), объединение (union), разность (difference) и симметрическая разность (symmetric difference). Каждый из алгоритмов мы разберем в соответствующем разделе....
Читать дальше


Первое, что приходит в голову, — выбрать случайные элементы из массива и поместить их в новый массив. Но что если мы выберем один и тот же элемент дважды? В идеале,...
Читать дальше

Картинка поста

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

Картинка поста

Рассказывает Фабиен Санглард, автор блога fabiensanglard.net Недавно в интернете я наткнулся на трассировщик лучей на визитке Пола Гекберта. Для тех, кто не в курсе: это очень известная задача, изначально предложенная...
Читать дальше

Картинка поста

Некоторое время назад Look at me поделился дельными мыслями одного человека по поводу того, что широта знаний вновь становится важнее узкой специализации. Мы не могли пройти мимо и подготовили для вас...
Читать дальше

Картинка поста

Попытки бороться с нежелательной информацией Интернет правительство РФ проявляет уже достаточно давно. Еще в 2007 году был опубликован «Федеральный список экстремистских материалов» — тогда провайдеры впервые начали повсеместно блокировать указанные...
Читать дальше

Картинка поста

Главное Инкапсулируйте все, что может изменяться; Уделяйте больше внимания интерфейсам, а не их реализациям; Каждый класс в вашем приложении должен иметь только одно назначение; Классы — это их поведение и...
Читать дальше

Картинка поста

Типичный программист взял небольшое интервью у Дениса Неклюдова — эксперта по Android-разработке со статусом Google Developer Expert (а такие не каждому раздают, между прочим). Денис вкратце расказал об особенностях новой версии...
Читать дальше

Картинка поста

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

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

Пользователь Aras Pranckevičius поделился на github файлом preprocessor_fun.h, который рекомендуется включать в репозиторий проекта перед увольнением с работы. Некоторые строчки несут в себе слишком много боли, слабонервным рекомендуем не смотреть....
Читать дальше

Картинка поста

Как вы можете получить случайное число в диапазоне от 1 до 7, используя игральную кость с пятью гранями? Иначе говоря, в вашем распоряжении устройство, которое генерирует случайное целое число от 1...
Читать дальше

Картинка поста

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

Картинка поста

Что такое ВКМетр? VKMeter.ru — сервис, предоставляющий расширенную реал-тайм статистику по вашим пабликам. Он дает дополнительные возможности для её анализа и улучшения, уже есть кейс по реальному увеличению охвата сообщества...
Читать дальше

Картинка поста

Ученые Массачусетского технологического университета на днях изобрели алгоритм, способный убирать препятствия (вроде заборов и окон) с фотографий. На вход он принимает некоторое количество фотографий, снятых с небольшим смещением относительно друг...
Читать дальше

Картинка поста

Алло, мы ищем разработчиков! Мы — это компания Snegoffon. Конкурс разработчиков с внушительным денежным призом задумался нами еще в начале года. Целей было несколько. Во-первых, найти в меру адекватных, идейных...
Читать дальше


Вам дан большой текстовый файл, в котором содержатся слова. Необходимо написать код, который позволит найти минимальное расстояние между любыми двумя словами. Достаточно ли будет O(n) времени? Сколько памяти понадобится для...
Читать дальше

Картинка поста

Это рекурсивная задача, поэтому давайте разберемся, как рассчитать makeChange(n), основываясь на предыдущих решениях (подзадачах). Пусть n = 100. Мы хотим вычислить количество способов представления 100 центов. Нам известно, что для...
Читать дальше

Идея создать подобную игру появилась у меня достаточно давно. Это должен был быть квест с сильным упором на сюжет, нарисованный в стиле пиксель-арта. Общие детали менялись бесчисленное количество раз, и...
Читать дальше

Картинка поста

Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию[Wikipedia]. Появился в 1987 году. Этот язык программирования богат возможностями по работе с текстом, что определяет...
Читать дальше

Картинка поста

Кодовые имена используются довольно давно. Помните Манхэттенский проект в 1940–ых годах, который оказался разработкой атомной бомбы? К счастью, не под всеми кодовыми именами скрываются такие ужасные вещи. Конечно, кодовые имена...
Читать дальше

Картинка поста

30 июля начался первый отборочный этап Всероссийских соревнований в сфере ИКТ от компании Huawei — Honor Cup. Принять участие в соревнованиях могут все желающие студенты и выпускники 2015 года из...
Читать дальше

Подобно многим задачам, все зависит от того, как мы собираемся поддерживать эти стеки. Если нам нужно выделить определенное пространство для каждого стека, можно так и поступить. Но в этом случае...
Читать дальше

Картинка поста

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

Картинка поста

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