Разделяем интерфейс и реализацию в функциональном стиле на С++

Автор: admin от 21-10-2016, 23:15, посмотрело: 228

Разделяем интерфейс и реализацию в функциональном стиле на С++

Разделяем интерфейс и реализацию в функциональном стиле на С++

В языке С++ для разделения объявлений структур данных (классов) используются заголовочные файлы. В них определяется полная структура класса, включая приватные поля.
Причины подобного поведения описаны в замечательной книге «Дизайн и эволюция C++» Б.Страуструпа.

Мы получаем внешне парадоксальную ситуацию: изменения в закрытых приватных полях класса требует перекомпиляции всех единиц трансляции (.cpp файлов), использующих лишь внешний интерфейс класса. Конечно, причина этого кроется в необходимости знать размер объекта при инстанцировании, но знание причины проблемы не решает саму проблему.

Попытаемся использовать мощь современного С++, чтобы побороть этот недостаток. Заинтереснванных прошу под кат.

Категория: Программирование

 

Частые ошибки при создании игровых анимаций

Автор: admin от 21-10-2016, 21:40, посмотрело: 182

Частые ошибки при создании игровых анимаций

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

Категория: Программирование » Веб-разработка

 

Как бороться с киберпреступлениями, извлекая при этом неплохую прибыль

Автор: admin от 21-10-2016, 19:25, посмотрело: 219

Зло «борется» со злом или как одни преступники делают вид, что борются с другими

Ели кто помнит, в начале 2000-х была такая поговорка: «Бабло побеждает зло», которая потом превратилась в «Добро побеждает бабло». В нашей же истории «Зло побеждает добро, борясь со злом».

Как бороться с киберпреступлениями, извлекая при этом неплохую прибыль

Онсе упон э тайм решили мы создать очередной школохост хостинговую компанию по предоставлению в аренду VPS и прочих выделенных серверов. Инвесторы к проекту отнеслись осторожно. Сказали:
«Идея, конечно, классная, свежая, на рынке ничего подобного нет (если вдруг читает Шелдон Купер — sarcasm)… Но так, как тема новая, денег больших дадим только после того, как убедимся, что проект рабочий».
И их понять, конечно, можно. Сколько было стартапов, которые после получения инвестиций и покупки клевых офисов с секретаршами, кофемашинами и мощными игровыми компами вдруг понимали, что их продукт почему-то никому не нужен, и глупые клиенты не выстраиваются в очередь за гениальным приложением. Заключили договор с дата центром (работа дата центра это отдельный роман на тему «как не надо строить бизнес в области телехауса», и, возможно, я даже напишу об этом позже). Закупили сервера, хранилища, «циски», купили лицензии на софт, заключили договора с апстримами, взяли в аренду у друзей 22-ю сеть и начали работать, показывая инвесторам, насколько крут бизнес в области «облаков» и прочих выдумок маркетологов. Сервера были свежие, хранилища быстрые, цены доступные и народ пошел. Все, казалось бы, хорошо. Знай, закупай новые блейд-корзины и увеличивай долю на рынке.

Категория: Админитстрирование » Сетевые технологии

 

Mikrotik: VLAN с использованием чипа коммутации

Автор: admin от 21-10-2016, 17:20, посмотрело: 1151

Оборудование Mikrotik богато возможностями, но к сожалению, разработчики не всегда успевают держать Wiki с документацией в актуальном состоянии, иногда информация относится к уже устаревшей версии RouterOS или в ней не раскрыты маленькие тонкости. Сегодня я хочу немного дополнить официальную Wiki, рассказав о настройке встроенного чипа коммутации, для работы с VLAN. В качестве подопытных у нас: RB951Ui-2HnD и CRS125-24G-1S-2HnD. Все проделано на RouterOS 6.37.1

Категория: Админитстрирование » Сетевые технологии

 

Дональд Кнут: как я занялся анализом алгоритмов и ради этого поехал в СССР (37,91,97/97)

Автор: admin от 21-10-2016, 17:10, посмотрело: 196

«Андрей (Ершов), представь, как было бы здорово организовать что-то вроде паломничества, где программисты со всего мира могли бы приехать в Хорезм и отпраздновать рождение этого понятия.»
— Дональд Кнут уговаривает Ершова организовать международный симпозиум

Дональд Кнут: как я занялся анализом алгоритмов и ради этого поехал в СССР (37,91,97/97)
Кнут и Ершов

Осенью 1967 в Санта-Барбаре была конференция математиков, возможно, это был тот же год, когда я также побывал на конференции в Чапел-Хилле. Я встречал многих людей, которые стимулировали меня, и было множество интересных проблем, которые нам стоило обсудить друг с другом. Но когда я добрался до конференции в Санта-Барбаре, я понял, что это мой единственный шанс заняться исследованиями. Я не посещал лекции. Я просто сидел на берегу и писал свою статью об атрибутной грамматике прямо во время конференции. Но я посещал обеды. Я помню, как кто-то спросил меня, чем я занимаюсь и я решил побыть программистом, а не математиком в тот момент.

— Я думаю, я собираюсь стать программистом.
— О, так ты занимаешься численным анализом?
— Не совсем.
— Аааа, искусственный интеллект.
— Нет, и не искусственный интеллект.
— Тогда должно быть ты занимаешься языками программирования?

Категория: Программирование

 

В ядре Linux исправили опасную уязвимость

Автор: admin от 21-10-2016, 16:50, посмотрело: 244

В ядре Linux исправили опасную уязвимость Опасная Local Privilege Escalation (LPE) уязвимость в ядре Linux с идентификатором CVE-2016-5195 (Dirty COW) была исправлена в таких дистрибутивах Linux как RedHat, Ubuntu и Debian. Мы рекомендуем пользователям как можно скорее обновить свои копии Linux, поскольку уязвимость уже используется атакующими in-the-wild. Уязвимость является довольно древней, ей уже 9 лет и она появилась в ядре начиная с версии 2.6.22. Это говорит о том, что она может присутствовать и в ядре Android. Dirty COW позволяет атакующему получить максимальные права root в системе, правда для проникновения в систему, он еще должен использовать RCE-эксплойт. Получение root доступа в системе позволит атакующему выполнять в ней неограниченное количество операций.

Категория: Операционные системы » Linux

 

Drupal Composer рецепты

Автор: admin от 21-10-2016, 16:00, посмотрело: 305

Drupal Composer рецептыВ этом посте мы хотим поделиться некоторыми рецептами использования Composer, которые мы накопили работая с Drupal проектами созданными с помощью Drupal Composer template. Так же мы рассмотрим как перевести существующий Drupal проект на Composer.

Категория: Программирование

 

Windows Server 2016: облака – в массы

Автор: admin от 21-10-2016, 15:20, посмотрело: 280

Корпорация Microsoft выпустила серверную операционную систему Windows Server 2016, дополнив ее поддержкой контейнеров и новым изданием Nano Server. Windows Server 2016 разрабатывалась несколько лет и параллельно с совершенствованием ОС выходили ее предварительные версии. С 1 октября 2016 года доступна линейка продуктов Windows Server 2016, состоящая из шести изданий: WS 2016 Datacenter, Standard, Essentials, MultiPoint Premium Server, CAL, Windows Remote Desktop Services CAL 2016.

Одним из основных направлений при разработке Microsoft Server 2016 стала поддержка публичных и частных облаков. Многие инновации Windows Server 2016 заимствованы из Azure и доведены до уровня мейнстрима. В Windows Server 2016 также значительно усовершенствован гипервизор Hyper-V, появилась поддержка контейнеров и Nano Server – новая «урезанная» версия Windows Server. Цель все та же – нативная поддержка облачных приложений.

Windows Server 2016: облака – в массы

10 причин полюбить Windows Server 2016: безопасность (управление привилегиями/идентификационными данными, средства защиты), платформа для приложений (Nano Server, контейнеры), платформа для программно-определяемых дата-центров (вычисления, хранение данных, сетевые функции, RDS), управление (средства управления сервером, новая версия PowerShell).

Категория: Системное администрирование, Windows

 

Как 0,1 секунды ускорения загрузки сайта может дать миллионы долларов дополнительной выручки

Автор: admin от 21-10-2016, 15:15, посмотрело: 152

Как 0,1 секунды ускорения загрузки сайта может дать миллионы долларов дополнительной выручки

У каждого интернет-магазина своя аудитория, и в каждой индустрии есть свои особенности. Специалисты компании Blue Triangle Technologies, поставщика услуг в области повышения производительности сайтов, провели исследование, как влияет производительность сайта на конверсию на 4-х разных сайтах из разных индустрий.

Исследование проводилось в течение ноября 2015 года. Объем транзакций, который принял участие в исследовании:

Посетителей сайтов: более 36 миллионов
Конверсий: более 1 миллиона
Объем продаж: более 305 млн долларов

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

Категория: Программирование » Веб-разработка

 

Реверс-инжиниринг «Казаков», часть третья: напёрстки в LAN

Автор: admin от 21-10-2016, 15:10, посмотрело: 196

Реверс-инжиниринг «Казаков», часть третья: напёрстки в LAN

На дворе конец 2016 года, наконец-то, вызвав бурю восторга среди фанатов, вышла третья часть «Казаков»… А мне всё не давала покоя странная ошибка в сетевой компоненте первой части. Странность заключалась в том, что при создании игры в локальной сети нормально запустить игру могли только два человека. При трёх игроках индикатор загрузки рос мучительно медленно, а начиная с четырёх и вовсе оставался на отметке 0%. Что ж, начнём расследование! Истина где-то рядом

Категория: Программирование » Веб-разработка

 
Назад Вперед