Больше новостей
Обложка поста

Почему большинство высокоуровневых языков медленно работают

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

Метод, определяющий, является ли одна строка перестановкой другой

Для начала нужно уточнить детали. Следует разобраться, является ли сравнение анаграмм чувствительным к регистру. То есть является ли строка «God» анаграммой «dog»? Также нужно выяснить, учитываются ли пробелы. Предположим, что для…

Голову подписчика Типичного программиста пересадят на другое тело

Два месяца назад врач С. Канаверо опубликовал свою статью об операции по пересадке человеческой головы на донорское тело в Международном журнале нейрохирурги. Российский программист, по совместительству подписчик паблика Типичный программист, Валерий…

Обложка поста

Дан кусок сыра в форме куба и нож. Сколько разрезов потребуется сделать, чтобы разделить этот кусок на 27 небольших кубиков?

Чтобы получить 27 маленьких кубиков, вам нужно разрезать каждую из трех граней куба на три части. Для получения трех частей нужны два разреза. Очевидный ответ – сделать эти разрезы параллельно…

Обложка поста

Топ-30 лучших блогов о программировании и вычислительной технике

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

Обложка поста

Кому идти в айтишники — интервью со Станиславом Протасовым, сооснователем Parallels

— Вы — выпускник Физтеха. Кроме МФТИ какие российские вузы дают конкурентное техническое образование? — МГУ, МГТУ им. Баумана, МИФИ, МАИ — это если перечислять московские. СПбГУ, Новосибирский Государственный Университет — довольно сильные…

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

Существует несколько общих способов предотвратить мертвые блокировки. Один из самых популярных — обязать процесс явно объявлять, в какой блокировке он нуждается. Тогда мы можем проверить, будет ли созданная блокировка мертвой…

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

Этот вопрос нам прислал студент третьего курса факультета информационных технологий и полностью он звучит так: “Учат всему понемногу и теперь остро встал вопрос: на чём программировать-то? Язык программирования не столь существенен…

Обложка поста

Руководство по современному Веб-фронтенду

HTML Семантика В HTML5 было внедрено большое количество семантических элементов для точного описания содержимого веб-страницы. Постарайтесь извлечь максимум пользы из богатого синтаксиса HTML5. <!– плохой стиль –> <div id=”main”> <div class=”article”> <div…

Обложка поста

Как шутят IT компании: обзор первоапрельских розыгрышей

Elgoog Безусловно, лидером первоапрельских розыгрышей стала компания Google. Она анонсировала сразу несколько своих шуточных сервисов, самым глобальным из которых стал поиск google, отраженный по горизонтали: com.google (уже не работает). Кстати…

Инструменты командной строки могут быть в 235 раз быстрее, чем кластер Hadoop

Создание конвейера данных из команд оболочки подобно обладанию собственным кластером Storm на локальном компьютере. В конвейеры оболочки переносятся как концепции Spouts, Bolts и Sinks, так и команды. С помощью основных…

В книге N страниц, пронумерованных как обычно от 1 до N. Если сложить количество цифр, содержащихся в каждом номере страницы, будет 1095. Сколько страниц в книге?

У каждого числа, обозначающего страницу, имеется цифра на месте единиц. При N страниц имеется N цифр, стоящих на месте единиц. У всех, за исключением первых 9 страниц, числа являются как…

Обложка поста

Новый метод проектирования микрочипов

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