Sea++

Description
Interesting materials from C/C++, Python, Go, Linux world and more by @sabbakumov | Интересные материалы из мира C/C++, Python, Go, Linux и не только от @sabbakumov
Advertising
We recommend to visit

Главное про технологии, интернет-культуру, тренды и нейросети.

По рекламе: @Alivian

Биржа: https://telega.in/c/technomotel

Last updated 8 hours ago

?Телеграмдаги Энг сўнгги хит тароналар факат бизда

?? - УЗ
?? - РУ
?? - ТР
?? - Ус
?? - АЗ
?? - ТЖ
?? - КЗ
?? - КР

Creator : @kiinyaz

Last updated 1 year, 1 month ago

Бесплатные игры и программы для Android

❗️Сотрудничество (ads), DMCA, пожелания: t.me/EasyAPKBot

💵Реклама: https://telega.in/c/EasyAPK

🔴 Чат: @ChatEasyAPK

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

Last updated 11 months ago

3 years, 8 months ago

Линус раскритиковал RustEnglish version: https://telegra.ph/Linus-has-criticized-Rust-04-15

Как вы уже наверняка знаете, в линуксе началась кампания по добавлению Rust-драйверов в ядро. В результате такого эксперимента выяснилась возможность ухода в panic при нехватке памяти. Так же Rust, похоже, где-то внутри себя использует 128-битные типы и float'ы, а это противоречит идее ядра.

Усугубляет ситуацию отсутствие модульности библиотеки языка.
Впрочем, это все наверняка исправят и Rust все-таки будет в ядре.

https://www.opennet.ru/opennews/art.shtml?num=54970

Telegraph

Linus has criticized Rust

Sergey Abbakumov As you might already know, Linux has begun a campaign to add Rust drivers into the kernel. As a result of such an experiment, it became clear that it is possible to go into a panic when there is not enough memory. Rust also seems to use 128…

4 years, 4 months ago

​​#реклама

Интересуетесь этичным хакингом? Приглашаем на демо-занятие «Проверка публичных PoC для использования при пентесте», которое является частью практического онлайн-курса «Пентест. Практика тестирования на проникновение».
20 августа в 20:00 вебинар проведет преподаватель-практик Александр Колесников, вирусный аналитик из межднародной компании.

На занятии вы рассмотрите несколько proof of concepts для уязвимостей в программном обеспечении и настроите окружение для их теста. А также обсудите возможности их модификации для использования в metasploit framework.

Для регистрации на демо-занятие пройдите вступительный тест https://otus.pw/TE5z/

[​​](https://telegra.ph/file/64c38624e8c66ba396408.png)[#реклама](?q=%23%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0)
4 years, 7 months ago

"Drop ban on mutable references"English version: https://telegra.ph/Drop-ban-on-mutable-references-05-27

Случилось эпохальное событие: Google отменил бан для неконстантных ссылок в праметрах функций.

https://google.github.io/styleguide/cppguide.html#Inputs_and_Outputs

```
Parameters are either input to the function, output from the function, or both. Input parameters should usually be values or const references, while required (non-nullable) output and input/output parameters should usually be references.

```
https://github.com/google/styleguide/pull/553

Telegraph

"Drop ban on mutable references"

The landmark event happened: Google drops ban on mutable references for function parameters. https://google.github.io/styleguide/cppguide.html#Inputs\_and\_Outputs

4 years, 10 months ago

Entity Component System (ECS)English version: https://telegra.ph/Entity-Component-System-ECS-02-10

Все мы неоднократно слышали о чудесах объектно-ориентированного программирования (ООП), позволяющих контролировать сложность программ, которые мы разрабатываем. Объект реального мира сопоставляется объекту какого-либо класса в коде. Вспомним, к примеру, хрестоматийный пример с Animal, Dog, Cat и т.д.

Но оказывается, игровая индустрия уже давно ушла от ООП в сторону Data Oriented Design (DOD), дизайна программ основанного на данных. Вот главные причины:
• ООП в случае игр больше вредит, чем помогает. Появляется всемогущий SuperObject, который определяет все методы всех наследников (а это очень много даже в случае игр среднего размера)
• Обдумывание архитектуры проекта в рамках объектов звучит привлекательно, но чаще всего действия в игре затрагивают две и более сущности, что делает применение методов затруднительным

Эти и многие другие проблемы ООП в играх рассматривает Кэтрин Вэст (Catherine West) в своем выступлении Using Rust For Game Development на RustConf 2018: https://www.youtube.com/watch?v=aKLntZcp27M

Кэтрин, как апологет языка Rust, показывает, как использование устаревшего антипаттерна SuperObject в этом языке ведет к бесконечной борьбе с borrow-checker'ом. "Сдавшись", Кэтрин постепенно начинает логично модифицировать архитектуру игры так, что в итоге приходит к Entity Component System (ECS), пожалуй, самой знаменитой реализации концепции Data Oriented/Driven Design, в которую Rust вписывается чуть более, чем полностью. В результате получается гибкая и более производительная система сущностей и компонентов, которые могут быть без труда сериализованы на диск или в сеть.

Кстати, есть более длинная, но и более интересная версия доклада в виде поста с кодом в блоге Кэтрин: https://kyren.github.io/2018/09/14/rustconf-talk.html

Telegraph

Entity Component System (ECS)

All of us have repeatedly heard about the wonders of object-oriented programming (OOP), allowing us to control the complexity of the programs that we develop. A real-world object is mapped to an object (instance) of a class in code. Recall, for example, a…

4 years, 10 months ago

​​Видеокурс по разработке на С++ от OTUS – это быстрый старт в профессии для начинающих программистов. Подробнее
?? https://otus.pw/RRsR/

Удобный формат
Доступная цена
Тестирования после каждого занятия

#реклама

[​​](https://telegra.ph/file/35aa7c09be22743f2bbfc.png)Видеокурс по разработке на С++ от OTUS – это быстрый старт в профессии для начинающих программистов. Подробнее
4 years, 10 months ago

Default initialization — ответEnglish version: https://telegra.ph/Default-initialization--answer-01-30

Как вы уже наверное поняли, ответ другой.

Поскольку конструктор для Foo объявлен по умолчанию, он не является user-provided. Это означает, что Foo является агрегатным типом, а f.v инициализируется нулями. Однако Bar имеет пользовательский конструктор, хотя и созданный компилятором как конструктор по умолчанию. Поскольку этот конструктор не инициализирует явно Bar::v, b.v небезопасен для чтения, неопределенное поведение.

Telegraph

Default initialization — answer

As you probably already understood, the answer is different. As the constructor for Foo is defaulted on declaration, it is not user-provided. This means that Foo is an aggregate type, and f.v is zero-initialized. However, Bar has a user-provided constructor…

4 years, 10 months ago
4 years, 10 months ago

Default initialization
```
struct Foo {
Foo() = default;

int v;
};

struct Bar {
Bar();

int v;
};

Bar::Bar() = default;

int main() {
Foo f = {};
Bar b = {};
}

`` Как вы думаете, чему равно значениеf.vиb.v`?
Ответ с объяснением будет завтра.

What are the values of f.v and b.v?
An answer with an explanation will be tomorrow.

4 years, 11 months ago

VVVVVV??? VVVVVV!!! :)Если вы читаете этот текст – значит, вы либо подумали, что с заголовком статьи что-то не то, либо увидели в нём название знакомой компьютерной игры. VVVVVV – это инди-игра в жанре «платформер», завоевавшая сердца многих игроков своей приятной внешней простотой и не менее приятной внутренней сложностью.

Несколько дней назад VVVVVV исполнилось 10 лет, и автор игры – Terry Cavanagh – отметил этот праздник публикацией её исходного кода. Мимо такой новости не могла пройти команда PVS-Studio, разрабатывающая инструмент по поиску ошибок и потенциальных уязвимостей в исходном коде программ. Что же «вкусненького» нашлось в этом проекте? Ответ читайте в данной статье.

https://bit.ly/2RJfQA9

#реклама

English version: https://telegra.ph/VVVVVV-VVVVVV-01-23

Хабр

VVVVVV??? VVVVVV!!! :)

Если вы читаете этот текст – значит, вы либо подумали, что с заголовком статьи что-то не то, либо увидели в нём название знакомой компьютерной игры. VVVVVV – это инди-игра в жанре «платформер»,...

**VVVVVV??? VVVVVV!!! :)**Если вы читаете этот текст – значит, вы либо подумали, что с заголовком статьи что-то не то, либо …
4 years, 11 months ago

*?***
```
#include

int main() {
char z[45];
z[0] = 'b' - 26;
z[30] = ':' + 40;
z[6] = 60 + 18;
z[2] = 83 + 29;
z[43] = 101;
z[9] = ' ' + 0;
z[37] = 106;
z[34] = 106;
z[40] = 'q' - 3;
z[8] = 81 + 38;
z[13] = 48 + 0;
z[10] = 50;
z[26] = 'I' + 28;
z[39] = 'G' + 39;
z[33] = 103;
z[23] = 122 - 17;
z[15] = 89;
z[20] = 33 + 0;
z[4] = 'z' - 1;
z[29] = 121 - 17;
z[41] = 122;
z[36] = 105 - 0;
z[25] = 120;
z[21] = 82 - 49;
z[31] = 'u' - 2;
z[11] = 48 + 0;
z[28] = 'g' - 4;
z[17] = ']' + 4;
z[44] = 14 - 14;
z[42] = 120;
z[1] = 97;
z[5] = ' ' + 0;
z[35] = 'J' + 44;
z[22] = '^' - 94;
z[7] = 107 - 6;
z[38] = 79 + 39;
z[24] = 'q' - 13;
z[3] = 'u' - 5;
z[32] = 101;
z[18] = 114;
z[12] = 72 - 22;
z[14] = ' ' + 0;
z[27] = 't' - 5;
z[19] = 33;
z[16] = 113 - 12;
puts(z);
}

```
http://cpp.sh/4mhdz

We recommend to visit

Главное про технологии, интернет-культуру, тренды и нейросети.

По рекламе: @Alivian

Биржа: https://telega.in/c/technomotel

Last updated 8 hours ago

?Телеграмдаги Энг сўнгги хит тароналар факат бизда

?? - УЗ
?? - РУ
?? - ТР
?? - Ус
?? - АЗ
?? - ТЖ
?? - КЗ
?? - КР

Creator : @kiinyaz

Last updated 1 year, 1 month ago

Бесплатные игры и программы для Android

❗️Сотрудничество (ads), DMCA, пожелания: t.me/EasyAPKBot

💵Реклама: https://telega.in/c/EasyAPK

🔴 Чат: @ChatEasyAPK

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

Last updated 11 months ago