Процессор разгонит оптику до 800 Гбит/с: как он работает

Автор: admin от 17-05-2019, 22:55, посмотрело: 29

Разработчик телекоммуникационного оборудования Ciena представил систему обработки оптических сигналов. Она увеличит скорость передачи данных в оптоволокне до 800 Гбит/с.



Под катом — о принципах ее работы.



Процессор разгонит оптику до 800 Гбит/с: как он работает

Категория: Сетевые технологии

 

Оптимизация сборки мусора в высоконагруженном .NET сервисе

Автор: admin от 17-05-2019, 22:15, посмотрело: 23

Ежедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преимуществом, так как она напрямую влияет на впечатление пользователей. Ключевой метрикой для нас является «процент медленных запросов». Изучая ее поведение, мы заметили, что раз в минуту на серверах приложений возникают паузы длиной около 1000 мс. В эти промежутки сервер не отвечает и возникает очередь из нескольких десятков запросов. О поиске причин и устранении узких мест, вызванных сборкой мусора в приложении, пойдет речь в этой статье.



Оптимизация сборки мусора в высоконагруженном .NET сервисе

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

 

Пять лет рабства

Автор: admin от 17-05-2019, 18:50, посмотрело: 21

Задумывались ли вы когда-нибудь о собственной игре? А о собственной многопользовательской игре? Думаю, что да! Многие из вас хотели бы прильнуть к разработке собственного шедевра, где сливаются ваша многогранная фантазия и исключительный перфекционизм. Я вас понимаю и хочу рассказать свою историю этого увлекательного пути.



Пять лет рабства

Категория: Game Development

 

Матрёшка Си. Слойная система языка программы

Автор: admin от 17-05-2019, 15:35, посмотрело: 25

Попробуем представить химию без Периодической системы Менделеева (1869). Сколько же элементов надо было держать в голове, причём в произвольном порядке… (Тогда — 60.)



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



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



Матрёшка Си. Слойная система языка программы

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

 

Интервью с Виталием Брагилевским: «Мир, в котором все будут программировать на Haskell — это вряд ли хороший мир»

Автор: admin от 17-05-2019, 12:30, посмотрело: 29

Интервью с Виталием Брагилевским: «Мир, в котором все будут программировать на Haskell — это вряд ли хороший мир»


Виталий Брагилевский (@_bravit) пока что еще преподает в ЮФУ курсы по Haskell и теории алгоритмов. Также, дает выездные курсы в других городах, является редактором и переводчиком множества книг о Haskell и функциональном программировании, состоит в комитетах Haskell 2020 и компилятора GHC и активно выступает на конференциях. К примеру, он прочитает краткий курс компиляторостроения на Haskell на функциональной конференции FPURE в Казани.



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

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

 

Serverless по стоечкам

Автор: admin от 17-05-2019, 12:25, посмотрело: 27

Serverless по стоечкам

Serverless - это не про физическое отсутствие серверов. Это не «убийца» контейнеров и не мимолетный тренд. Это новый подход к построению систем в облаке. В сегодняшней статье коснемся архитектуры Serverless-приложений, посмотрим, какую роль играет провайдер Serverless-услуги и open-source проекты. В конце поговорим о вопросах применения Serverless.

Категория: Game Development

 

История о трёх картриджах

Автор: admin от 17-05-2019, 12:25, посмотрело: 20

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



Game Genie



История о трёх картриджахGame Genie был, вероятно, одним из первых устройств для читерства в видеоиграх, с которым сталкивался обычный игрок на домашней консоли. Это хитрое устройство располагалось между Nintendo Entertainment System (NES) и стандартными игровыми картриджами, и давало игрокам возможность настраивать уровни сложности, перемещаться вперёд по игре или просто экспериментировать.



Для детей в 90-х Game Genie казался настоящим волшебством. Сначала вы вставляли один из игровых картриджей в Game Genie. Затем, не без усилий (потому что вставлялся он довольно трудно), вы подключали конструкцию из Game Genie и игры к консоли и включали её. Но вместо обычного запуска игры появлялся загадочный экран, просивший вводить бессмысленные пароли1. Каждый пароль влиял на игру по-своему, и ни в одной игре пароли не повторялись.



Так как же Game Genie («игровой джинн») выполнял желания игроков? Версии Game Genie существовали для NES, Super NES и Game Boy, а также для Sega Genesis и Game Gear. Они перехватывали обмен данными между консолью и игровым картриджем. Внутренняя работа игровой консоли управлялась битами и байтами, поэтому возможность перезаписи данных, передаваемых из картриджа в консоль, позволяла Game Genie выполнять невероятно мощные трюки.

Категория: Game Development

 

Современные возможности C++, о которых надо знать всем программистам

Автор: admin от 17-05-2019, 12:05, посмотрело: 103

Автор материала, перевод которого мы сегодня публикуем, говорит, что C++, в его современном виде, если сравнивать его с тем, чем был этот язык несколько лет назад, значительно изменился в лучшую сторону. Конечно, эти изменения произошли далеко не сразу. Например, в былые времена C++ не хватало динамичности. Непросто было найти человека, который мог бы сказать, что он питает к этому языку нежные чувства. Всё изменилось тогда, когда те, кто отвечает за стандартизацию языка, решили дать ход новшествам. В 2011 году C++ стал динамическим языком, языком, который постоянно развивается и вызывает у программистов куда больше положительных эмоций.



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



Современные возможности C++, о которых надо знать всем программистам


Сегодня мы поговорим о некоторых новых возможностях языка (начиная с C++ 11, которому, кстати, уже 8 лет), знать о которых будет полезно любому программисту.

Категория: Веб-разработка

 

Гармония скриптов внутри Android приложения

Автор: admin от 17-05-2019, 10:35, посмотрело: 1208

Гармония скриптов внутри Android приложения


Думаю, многие читатели хаба по android-разработке слышали, что Java позволяет в рантайме через ClassLoader модифицировать dex уже установленного приложения. С помощью этого можно в рантайме подгружать скомпилированный код и использовать его. Но Google к таким махинациям относится, мягко говоря, не слишком лояльно и банит уличённые в подобном приложения.



Однако есть альтернативные способы загрузки и выполнения скриптов на мобильном устройстве. За подробностями под кат!

Категория: Game Development, Android

 

ObjectRepository — .NET in-memory repository pattern для ваших домашних проектов

Автор: admin от 17-05-2019, 08:35, посмотрело: 43

Зачем хранить все данные в памяти?



Для хранения данных сайта или бекэнда первым желанием большинства здравомыслящих людей выберет SQL базу данных. 



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



Хуже всего ситуация, когда работаете в команде, и коллега не умеет строить быстрые запросы. Сколько времени вы потратили на решение проблем N+1 и на построение дополнительных индексов, чтобы SELECT на главной странице отрабатывал за разумное время?



Другим популярным подходом является NoSQL. Несколько лет назад был большой хайп вокруг этой темы — для любого удобного случая разворачивали MongoDB и радовались ответам в виде json-документов (кстати, сколько костылей пришлось вставить из-за циклических ссылок в документах?).



Я предлагаю попробовать ещё один, альтернативный способ — почему бы не попробовать хранить все данные в памяти приложения, периодически сохраняя в произвольное хранилище (файл, удаленная база данных)? 

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

 
Назад Вперед