Get Mystery Box with random crypto!

Sea

Logo of telegram channel sea_plus_plus — Sea  S
Logo of telegram channel sea_plus_plus — Sea
Channel address: @sea_plus_plus
Categories: Technologies
Language: English
Subscribers: 961
Description from channel

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

Ratings & Reviews

4.67

3 reviews

Reviews can be left only by registered users. All reviews are moderated by admins.

5 stars

2

4 stars

1

3 stars

0

2 stars

0

1 stars

0


The latest Messages

2021-04-15 18:30:16 Линус раскритиковал Rust

English 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
549 viewsSergey Abbakumov, 15:30
Open / Comment
2020-08-07 16:01:06 ​​#реклама

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

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

Для регистрации на демо-занятие пройдите вступительный тест https://otus.pw/TE5z/
1.6K viewsSergey Abbakumov, 13:01
Open / Comment
2020-05-27 11:25:16 "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
1.7K viewsSergey Abbakumov, 08:25
Open / Comment
2020-02-10 21:01:33 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:



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

Кстати, есть более длинная, но и более интересная версия доклада в виде поста с кодом в блоге Кэтрин: https://kyren.github.io/2018/09/14/rustconf-talk.html
2.0K viewsSergey Abbakumov, 18:01
Open / Comment
2020-01-30 18:01:29 ​​Видеокурс по разработке на С++ от OTUS – это быстрый старт в профессии для начинающих программистов. Подробнее
https://otus.pw/RRsR/

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

#реклама
1.5K viewsSergey Abbakumov, 15:01
Open / Comment
2020-01-30 15:50:45 Default initialization — ответ

English version: https://telegra.ph/Default-initialization--answer-01-30

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

Поскольку конструктор для Foo объявлен по умолчанию, он не является user-provided. Это означает, что Foo является агрегатным типом, а f.v инициализируется нулями. Однако Bar имеет пользовательский конструктор, хотя и созданный компилятором как конструктор по умолчанию. Поскольку этот конструктор не инициализирует явно Bar::v, b.v небезопасен для чтения, неопределенное поведение.
1.2K viewsSergey Abbakumov, 12:50
Open / Comment
2020-01-29 20:10:38 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.
1.1K viewsSergey Abbakumov, 17:10
Open / Comment
2020-01-23 17:17:06 VVVVVV??? VVVVVV!!! :)

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

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

https://bit.ly/2RJfQA9

#реклама

English version: https://telegra.ph/VVVVVV-VVVVVV-01-23
1.4K viewsSergey Abbakumov, 14:17
Open / Comment
2019-12-31 18:05:41

#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
1.4K viewsSergey Abbakumov, 15:05
Open / Comment