🔥ЛУЧШИЙ ТГ КАНАЛ 18+ У НАС🔥


@erostiktokos

🔞Разнообразный контент
❤️ Лучшие девушки
✅ Переходи и убедись сам

/ категории / Технологии /

Sea++



@sea_plus_plus
1094 +10

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


PPD: 0.09, PV: 1571, DV: 135, ERR: 143%

ТОП каналов

آکادمی ترانه


@tgacademy
554.43K -2.82K

معرفی کانال ها، بات ها و مقالات جالب و کاربردی در مورد تلگرام و سرویس های دنیای ترانه. 📨 ارتباط با ادمین، تبلیغات و پخش موسیقی: @academy_contact 📷اینستا: https://goo.gl/MFTk9B

PINK PROXY


@PinkProxy
405.62K +520

☑️ Collection of MTProto Proxies 🔘 تبليغات بنرى: 📈 @PinkProxy_Ads 🔘 پشتيبانى و ارسال پراكسى: 👨‍💻 @Pink1Support_Bot 👨‍💻 @Pink2Support_Bot 🌸 پينك پراكسى، قديمى ترين تيم پراكسى ايران 🌸

Код Дурова


@d_code
138.87K +15

Самые интересные новости из мира IT и науки. Ещё больше тут — kod.ru ВК — vk.com/kod Instagram — goo.gl/VTbHqM Команда: @gaik1 / ad@kod.ru - Реклама @dolbolob - Главный редактор @vojtenko14 - Глава отдела лонгридов Канал не ведется Павлом Дуровым

Telegram Baza


@tbaza
112.30K -380

Телеграм каталог Размещение - [450 руб] Повторное - [350 руб] ⤴️ @AddTbazaBot ⤵️ Внимание! Перед добавлением ознакомьтесь с правилами размещения - https://telegra.ph/Pravila-06-12 - По всем вопросам - @TbazaBot

Телеблог


@teleblog
102.00K -186

Главный блог о Telegram. Новости, инсайды, лайфхаки. Всё, чем живет Telegram-сообщество, и даже больше. Реклама: @AdsTeleblogBot Помогает обойти блокировку: @TeleBlogbigbot admin: @admteleblog

WylsacomRed


@Wylsared
93.19K -147

Единственный легальный канал Wylsacom Media. По всем вопросам пишите сюда: alexanpob@wylsacom.media Видео: https://www.youtube.com/user/Wylsacom Сайт: https://wylsa.com ВК: https://vk.com/wylsacom Instagram: https://www.instagram.com/wylsacom_red/

Каталог Telegram каналов, ботов


@openbusines
92.02K -263

Каталог каналов и ботов в Telegram. По всем вопросам пишите в бот @AddkatalogBot

Недавние публикации

238

Try, Go, Try!

English version: https://telegra.ph/Try-Go-Try-10-28

Некоторое время назад в среде Go появилось предложение о введении встроенной функции проверки ошибок try (https://go.googlesource.com/proposal/+/master/design/32437-try-builtin.md, https://habr.com/ru/post/472758/) за авторством Роберта Гризмера.

Это нужно для устранения повторяющихся проверок
if err != nil {
return nil, err
}

о которых не говорил только ленивый.

К слову, это уже не первое предложение ввести новые языковые конструкции для обработки ошибок. Уже были check и handle, о которых я уже писал (https://t.me/seaplusplus/77)

В новом предложении
f := try(os.Open(filename))

будет развернуто компилятором в
f, err := os.Open(filename)
if err != nil {
return nil, err
}
что весьма удобно.

handle не прижился из-за того, что был очень сильно похож на уже имеющийся механизм defer.

try будет реализован как встроенная функция. Во-первых, сделать ее обычной функцией не удастся, потому что нужно будет уметь выходить сразу из двух стек фреймов. Во-вторых, отказ от использования нового ключевого слова позволяет сохранить обратную совместимость с уже имеющимися парсерами Go.

Между прочим, C++ тоже не хватает, на мой взгляд, возможности выйти сразу из нескольких стек фреймов. Это проблему можно решить, к примеру, используя нестандартное расширение GCC и макросы: https://github.com/google/lmctfy/blob/master/util/errors.h#L229

И писать
std::string s = RETURNIFERROR(FunctionReturnsStatusOrString());
получая здесь практически все то же самое, что дает try в Go.


18:06 28.10.19
915

Google Abseil Btree

В C++ библиотеку Google Abseil https://github.com/abseil/abseil-cpp/tree/master/absl/container, о которой я уже писал (https://t.me/seaplusplus/69), добавили четыре новых STL-like Btree контейнера: absl::btreemap, absl::btreemultimap, absl::btreeset и absl::btreemultiset. Данные хранятся в памяти, но под капотом алгоритм, который пришел из баз данных. Btree хранит несколько элементов в одном блоке памяти, что уменьшает количество аллокаций, а также за счет более эффективного использования кэша работает быстрее в большинстве случаев.

Это практически drop-in замена std::map и std::set. Однако при вставке и удалении происходит инвалидация итераторов. Поэтому надо быть осторожным.

English version: https://telegra.ph/Google-Abseil-Btree-10-20


02:02 21.10.19
885

https://t.me/seapluspluschat — официальный чат канала Sea++.
Здесь можно обсудить заметки и пообщаться с другими подписчиками.

https://t.me/sea
pluspluschat — official Sea++ channel chat.
Here you can discuss notes and communicate with other subscribers.


07:07 15.10.19
789

Rust в Amazon

Rust заполучил еще одного спонсора, компанию Amazon: https://aws.amazon.com/jp/blogs/opensource/aws-sponsorship-of-the-rust-project/

Пишут, что Амазон использует Rust в критичных к производительности компонентах Lambda, EC2 и S3.

Конечно, еще больше производительности можно было бы получить используя C++, что я покажу в одной из следующих заметок. Ставка на Rust сейчас — это вопрос долгосрочных инвестиций, когда фронтенд компилятора сможет наконец дотянуться до C++ и использовать всю имеющуюся информацию для оптимизации кода.

English version: https://telegra.ph/Rust-at-Amazon-10-15


07:07 15.10.19
808

CURL — это C

Интересное рассуждение автора библиотеки libcurl Дэниела Стенберга на тему выбранного для проекта языка C https://daniel.haxx.se/blog/2017/03/27/curl-is-c/

Главная идея: проект использует стандарт C89 для совместимости практически со всеми ОС и устройствами, все знают этот язык, переписывание на Rust дало бы огромное количество багов, которых нет сейчас, новые баги перимущественно возникают из-за логических ошибок в коде, а не по причине небезопасности языка.

Возможно, автоматические утилиты преобразования в unsafe Rust код помогли бы тут.

English version: https://telegra.ph/CURL-is-C-10-11


09:09 11.10.19
1769

Комментарии (comments)


08:08 18.03.19
1797

Pythonic C++

std::string s;<br/> s = 1;<br/><br/>— Вау, C++, оказывается, как Python! Можно присваивать строке целые числа, — подумаете вы, увидев, что данный фрагмент кода компилируется без ошибок. И... Будете неправы.

Все дело в объявлении оператора присваивания:
string& string::operator=(char ch);<br/><br/>которое приводит 1 в char.

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

А если вы все-таки хотите подобное поведение как в Python, взгляните в сторону std::any https://en.cppreference.com/w/cpp/utility/any

English version: https://telegra.ph/Pythonic-C-03-18


06:06 18.03.19