Обложка: Смарт-клавиатура с автономным питанием

Смарт-клавиатура с автономным питанием

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

Программирование и кодирование. Компьютерная и программная инженерия. В чём разница?

КН/КИ/ПИ и Программирование/Кодирование Компьютерные науки (КН), компьютерная инженерия (КИ), программная инженерия (ПИ), программирование и кодирование – это всё связанные между собой термины, но при этом они немного отличаются, вводя в заблуждение…

Физический движок: взгляд изнутри. Часть 2

Это вторая часть статьи о физических 2D движках. Сегодня мы рассмотрим виды физических тел. Поговорим о том, как лучше найти баланс между реалистичностью ваших игр и невозможностью играть в них.

Как ускорить работу Ubuntu — 9 советов

SHITTY CONTENT ALERT Это устаревшая статья. Возможно, вы найдёте тут что-то полезное для себя, но местный домовой советует не вставать на этот скользкий путь. Вот свежая статья по той же…

Обложка: Как ускорить работу Ubuntu — 9 советов

Надежность UDP протокола

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

Обложка: Физический движок: взгляд изнутри. Часть 1

Физический движок: взгляд изнутри. Часть 1

В этой статье мы рассмотрим использование физики для имитации броска снарядов (да, прямо как в Angry Birds). Мы обратим внимание на основы использования 2D физики, а также на создание физических…

Как минифицировать вашу HTML5 игру для соревнования Js13kGames

Слышали ли вы что-нибудь о соревновании под названием js13kGames? Это мероприятие ориентировано на разработчиков игр, использующих возможности HTML5. Основное требование для участия — размер игры не должен превышать 13 КБ.

Почему числовые типы данных в C имеют такой размер?

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

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

Факты из истории компьютерного оборудования

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

Обложка: Типы языков программирования

Типы языков программирования

Для погружения в программирование нужно всего 3 вещи: Решить, с какого языка/технологии вы хотите начать. Решить, на каком ресурсе вы хотите обучаться. Выделить время на само программирование. Звучит просто, однако…

Обложка: 11 навыков, которыми вы должны овладеть, чтобы зарабатывать по $100 тысяч в год, будучи инженером в Google

11 навыков, которыми вы должны овладеть, чтобы зарабатывать по $100 тысяч в год, будучи инженером в Google

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

Величайшая программа из когда-либо написанных

Как вы думаете, какую из существующих программ можно назвать самой великой? Можете ли вы сказать про одну из своих программ, что она круче всех остальных? Есть мнение и, прямо скажем, далеко не…

Обложка: Величайшая программа из когда-либо написанных

Как обрабатывать JSON в командной строке

Какой-нибудь инструмент для работы с json в командной строке был бы удобен при отладке REST API. Можно делать запрос, получать ответ и сразу же разбирать его, выделяя нужные объекты и…

Самые типичные ошибки и вопросы, связанные с Git, и удобные способы их решения

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

Обложка: Самые типичные ошибки и вопросы, связанные с Git, и удобные способы их решения

Верблюжья нотация или нижние подчёркивания: научный подход

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

Обложка: Верблюжья нотация или нижние подчёркивания: научный подход

8cc — компилятор языка C

8cc — это компилятор для языка С. Он поддерживает все особенности С11 и вместе с тем его код настолько небольшой и простой, насколько это возможно. Исходный код есть на GitHub, или…

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

Евгений Брикман — ведущий разработчик Play Framework для LinkedIn сказал в видео-презентации, записанной на JaxConf 2013, что большие кодовые базы труднее поддерживать, если они написаны на динамических языках. На одном…

Forbes: список лучших языков, чтобы познакомиться с ними за месяц

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

Пример конфигурации для Vim

Простая конфигурация для Vim от Anthony Martinez, учитывающая работу с C++, C, Matlab, Markdown и просто редактирование текста.

Обложка: Приключения в Android: уведомления пользователей

Приключения в Android: уведомления пользователей

Позвольте мне рассказать вам одну историю. В Spire мы постоянно создаем и поддерживаем передовые платформы. И это учитывая то, что наша команда состоит всего лишь из 4 разработчиков и одного…

История синтаксического анализа

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

Написание ИИ для хоккея. Часть 3

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

Учимся правильно оформлять код на C на примере open source проектов

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

Обложка: Учимся правильно оформлять код на C на примере open source проектов

Написание ИИ для хоккея. Часть 2

Прежде чем читать эту часть, советуем вам взглянуть на предыдущий урок. А в этой статье мы продолжим реализацию искусственного интеллекта для игры в хоккей с использованием «рулевого поведения» (steering behaviors)…

Написание ИИ для хоккея. Часть 1

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

Обложка: Написание ИИ для хоккея. Часть 1

Оптимизация алгоритмов оптимизации

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

Обложка: Десять наиболее частых ошибок программистов при подготовке к собеседованию

Десять наиболее частых ошибок программистов при подготовке к собеседованию

Автор этих советов, Гейл Лакман Макдауэлл — основатель и CEO CareerCup, автор известных книг по подготовке к собеседованиям. Гейл работала программистом в Microsoft, Apple и Google. У неё есть степени…

Искусство упаковки структур в C

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

Обложка: Искусство упаковки структур в C
Обложка: Самоизменяющаяся программа на C под x86_64

Самоизменяющаяся программа на C под x86_64

Зачем вообще может понадобиться писать программу, которая меняет свой код во время выполнения? Это ужасно! Да, да, я знаю. И все-таки, зачем? Ну, например, это хороший учебный пример. Но главная…

Не-жадный алгоритм

В настоящее время существуют методы справедливого совместного использования ресурсов, на основе системы распределения. Наиболее известным является метод деления торта «Ты отрезаешь, я выбираю». Есть также алгоритмы, которые позволяют разделить торт…

Пять лучших блогов по программированию 2014 года

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

Не комментируйте свой код — перепишите его

Комментирование кода — это один из аспектов, к которому я изменил своё отношение в процессе профессионального развития. Когда я был еще новичком, я считал, что нужно комментировать чуть ли не…