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

Руководство по командной разработке с Git

Это руководство по разработке с git написано на основе статьи “Как внедрить свои изменения в ядро Linux”, информации из раздела справки по git и различных техниках, которые популярны в сообществе.

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

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

Стоит ли будущему программисту идти на стажировку после 1-го курса?

Наш читатель спрашивает, стоит ли идти на стажировку после 1-го курса, если обладаешь достаточно хорошими знаниями какого-либо языка (например, С++) и разбираешься в алгоритмах? Передаём слово экспертам.

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

Восемь интересных фактов о Java

Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Приложения Java обычно транслируются в специальный байт-код, который выполняет виртуальная машина Java (Java Virtual Machine, JVM). В свою очередь, JVM может…

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

Как возродить потерянную мотивацию

Вы потеряли ту страсть, которая была у вас к программированию? Влияет ли это на мотивацию завершать свои задачи? Трудно ли вам заканчивать проекты? Если да, то для вас есть хорошие…

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

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

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

Цвет Чака Норриса в HTML

Как HTML определяет, какой цвет задает строка? Например, цвет этой страницы: <body bgcolor=”chucknorris”>Типичный программист</body> будет красным для всех платформ и браузеров. Проверить можно здесь, на Fiddle. Забавно, что и chucknorri…

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

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

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

Строка-инструкция make-файла для получения значений переменных

Если вы используете GNU, то перед отладкой в make-файл вам следует добавить одну строку. И она настолько полезна, что вам следует делать это все время и в каждом make-файле, который…

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

Как, где и когда показывать видеорекламу в мобильной игре

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

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

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

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

Вывод последних K строк входного файла на C++

Можно действовать прямо — подсчитать количество строк (N) и вывести строки с N-K до N. Для этого понадобится дважды прочитать файл, что очень неэффективно. Давайте найдем решение, которое потребует прочитать…

Хочу собрать свой дистрибутив Linux со своими репозиториями. Подскажите, с чего начать?

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

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

Физический движок. Часть 3

В наших прошлых статьях: «Физический движок: взгляд изнутри. Часть 1» и «Физический движок: взгляд изнутри. Часть 2» — мы рассмотрели теоретическую часть физики и вскользь упомянули основные элементы, которые могут…

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

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

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

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

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

Функциональный C#. Часть 4. Обработка исключений

Мы продолжаем цикл статей о функциональном C#. Сегодняшняя часть заключительная, и мы в ней рассмотрим вопрос обработки исключений и ошибок. Предлагаем вспомнить предыдущие части серии:…

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

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

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

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

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

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

Сопоставление хэш-таблицы и map в С++

Сопоставьте хэш-таблицу и mар из стандартной библиотеки шаблонов (STL). Как организована хэш-таблица? Какая структура данных будет оптимальной для небольших объемов данных? В хэш-таблицу значение попадает при вызове хэш-функции с ключом.

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

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

Где новичку в программировании найти упражнения и идеи для проектов?

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

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

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

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

Функциональный C#. Часть 3. Ненулевые ссылочные типы

Эта статья третья в серии “Функциональный C#”. Все части:…

Чемпионаты Mail.Ru Group для программистов

Чемпионаты Mail.Ru Group — это огромная площадка, на которой встречаются начинающие программисты, продвинутые специалисты и легенды IT-сообщества. Победители чемпионатов получают не только ценные или денежные призы, но, что самое главное…

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

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

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

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

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

Функциональный C#. Часть 2. Одержимость примитивами

Мы продолжаем цикл статей о функциональном программировании на языке C#:…

Функциональный C#. Часть 1. Неизменяемые объекты

Мы начинаем цикл статей, в которых покажем вам, как программировать на языке C# в парадигме функционального программирования. Нами будут рассмотрены темы:…

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

Насколько программисту нужно знание математики в работе?

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

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

На первый взгляд кажется, что задача сложная, но фактически она очень проста. Чтобы решить ее, задайте себе вопрос: “Как узнать, какие биты в двух числах различаются?”. Ответ прост – с…

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

Программисты, учите статистику или я вас поубиваю!

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