Программирование {BookFlow}
16.1K subscribers
1.58K photos
470 videos
145 files
2.1K links
Мы публикуем лекции и книги по программированию, видеоуроки, доклады с IT конференций, новости технологий.

Группа в https://vk.com/bookflow.

По всем вопросам @evgenycarter

РКН https://clck.ru/3KoAbH
Download Telegram
Идиома CRTP и написание общих функций в C++

Что такое идиома CRTP?
Термин CRTP (curiously recurring template pattern) появился в 1995 году в одноименной статье, написанной Джеймсом О. Коплином. Он предполагает специализацию базовых классов с использованием производных классов в качестве аргументов шаблона. Далее

#cpp #programming

👉 @cpp_lib
👍2
Что такое «Разделение ответственности» в коде

Машины Руба Голдберга «работают». А еще они неэффективные, хрупкие, их сложно изготовить и поддерживать. Поэтому написать код, который «просто работает» — очень низкая планка.

Многие не осознают, что написание кода во многом напоминает написание эссе или книги. Насколько же я был уверен, что умение писать эссе мне «в жизни не пригодится» - но позже я узнал, что писать эссе – значит гораздо больше, чем укладываться в число слов и соответствовать критериям оценки. Далее

👉 @bookflow
👍3
Сегментация экземпляров с помощью Mask R-CNN

Задача сегментации изображений может решаться в нескольких постановках. Самая распространённая - semantic segmentation с одним классом и фоном, необходимо просто отделить объекты от фона, не различая их между собой. Но часто просто отделения от фона недостаточно, необходимо отделять отдельные образцы друг от друга, например, чтобы оценить размер или расположение каждого отдельного объекта. Как это можно сделать? Далее

👉 @bookflow
👍2
Что делать, если в твоем тексте или коде нашли ошибку?

Ситуация глазами разработчика
Ты написал код, отправил его на ревью. Во время ревью тебе указали на ошибку в коде и вернули задачу на доработку.

Здесь мы не рассматриваем ошибки в бизнес-логике написанного кода — только ошибки на уровне интерпретатора/компилятора, из-за которых приложение «падает». Далее

👉 @bookflow
👍3
Как я решил проблему плохого кода с помощью architecture guide

Буквально на днях, спустя три недели после выхода на работу, мой новый программист пишет такой же код, как и трое моих других опытных разработчиков, которые на том же проекте около года. В свою очередь эти трое создают единую архитектуру, дают одинаковые названия сущностям и пишут чистый код, что сильно упрощает проведение code review и облегчает всем понимание кода.

В этой статье я поделюсь своим опытом : за счет чего же я этого достиг. Я думаю мой опыт может быть вами применен в любой сфере IT и не только!

👉 @bookflow
👍8
Forwarded from ФизМат
ВВС: История математики

Часть 1 Язык вселенной
Часть 2 Гений Востока
Часть 3 Пределы пространства
Часть 4 За пределы бесконечности

Математика - универсальный язык Вселенной, фундамент, на котором основаны все другие науки. Как человечество смогло открыть тайны этого универсального языка? Начиная с древнейших времен, прослеживается история математики до наших дней и завершается рассказом о наиболее важных проблемах современности. За решение каждой из этих "проблем тысячелетия" полагается крупное денежное вознаграждение. Но главное, их решение позволит лучше понять устройство нашего мира.

@phis_mat
👍8
Оптимизация GUI на Qt

Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!

👉 @bookflow
👍4
gRPC на практике: особенности, преимущества и недостатки

В этом материале я расскажу:
о преимуществах gRPC;
об особенностях работы с протоколом, и о том, как с ними жить;
о тех проблемах, с которыми мы столкнулись;
и о том, как их решить. Далее

👉 @bookflow
👍3
Из джуна в мидла: рекомендации, как справиться с проблемами роста

Планомерный и беспроблемный рост — мечта любого IT-специалиста. Но, к сожалению, так бывает только в идеальном мире. В реальной жизни всегда встречаются сложности, которые нелегко обойти, особенно джунам. Далее

👉 @bookflow
👍2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
В Python так и не закрыли уязвимость, найденную ещё в 2007 году, утверждается в отчёте Trellix. Под ударом сейчас находится более 350 тысяч проектов с открытым исходным кодом.

Как пишет Bleeping Computer, в связи с тем, что ее не могли устранить так долго, она проникла в несколько сотен тысяч проектов, написанных на Python. Проблема CVE-2007-4559 была найдена в пакете tarfile и относится к типу path traversal (обход каталога), то есть позволяет злоумышленнику перезаписывать произвольные файлы.

Уязвимость существует из-за того, что код в функции extract в Python-модуле tarfile доверяет информации в объекте TarInfo.

@BookPython
👍7
Руководство по CMake для разработчиков C++ библиотек


В этой статье я расскажу о том, как правильно писать современные CMakeLists.txt файлы для C++ библиотек. Идеи, используемые в ней, основаны на докладе Крейга Скотта (разработчик CMake) и докладе Роберта Шумахера (разработчик vcpkg) c CppCon 2019. Поскольку мне достаточно часто приходится разрабатывать С++ библиотеки, я создал для себя небольшой шаблон cpp-lib-template, который будет использоваться в этой статье в качестве примера.

Замечу, что я предполагаю, что читатель этой статьи имеет опыт работы с CMake, однако, как и я, часто задается вопросом, как правильно ему сделать сборку своей библиотеки.

#cpp #programming

👉 @cpp_lib
👍4
Программирование — это про общение

Люди стареют. Вместе со щёлкающей шеей, сединой в бороде и морщинами проявляется ещё одно возрастное изменение - непреодолимое желание вещать.

Политики садятся за мемуары. Спортсмены открывают тренировочные площадки . Режиссёры катают жемчужины воспоминаний о встречах с легендарными коллегами по цеху.

Программисты же бросаются излагать свои философские системы. Меня время тоже не щадит.

https://habr.com/ru/post/684282/
👍7
Forwarded from BigData
Google представил нейросеть для детекции туберкулеза на радиограммах

https://pubs.rsna.org/doi/10.1148/radiol.212213

👉 @bigdata_1
👍5
Языки программирования, которые стоит рассмотреть к изучению в 2022 году

Javascript — Наиболее используемый, простой язык, имеет большое комьюнити.
(scripting, frontend, backend, ML)

Python — простой в изучении, имеет широкое применение.
(backend, ML, data science, visualization, scripting, hacking)

Dart — Используется в Android, iOS, Web App, Desktop/Laptop програмы, Linux, embedded. Flutter.

C# — Независимый от платформы, простой язык общего назначения, может использоваться для разработки приложений любого типа, разработки игр, VR, AR.

Go — Решает проблемы масштабируемости, простой элегантный код, легкий в освоении.

https://medium.com/@zriyans/programming-languages-to-avoid-and-learn-in-2022-ace5cf9fd11b

👉 @bookflow
👍4🔥2
Представления в SQL

Здравствуйте, в этой статье будут разобраны представления или view в SQL. На простых примерах объясним как создавать представления и как к ним обращаться. Также затронем понятие модифицируемого представления в SQL.

#SQL

👉 @database_info
👍7
Грехи программиста

Лень
Отсутствие желания что-либо делать, тоскливые взгляды, брошенные на график GitHub. Порой становится некогда оттачивать скилы, готовиться к новым собеседованиям и искать решения для «застойных» проблем.

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

Зависть
Видеть, как хорошо справляются другие, и при этом быть не в состоянии написать хоть что-то, – настоящий ужас. Подстегивает и страх опозориться – да не перед кем-нибудь, а перед самим собой!

Жадность
Вам рассказывали, что программисты купаются в золоте, а вместо туалетной бумаги используют банкноты? Если это ваша единственная цель - вы пролетаете. Чтобы добиться хорошей зарплаты, нужно очень много вкалывать.

Гнев
Держать себя в руках сложно, особенно когда сыплются краш за крашем, а очевидных причин тому никаких. Иногда нужно перелопатить весь код, чтобы понять, где затаилась ошибка.

👉 @bookflow
👍20
Чистый код — практический подход

После нескольких докладов о чистом коде (Clean Code) я решил обобщить в статье самое важное по этой теме. Поскольку в Интернете и так много постов и информации об этом, то, я думаю, еще одна статья, просто рассказывающая о принципах чистого кода, не будет интересной.

Поэтому я попытаюсь показать вам практический подход к чистому коду. Не вдаваясь в теорию, покажу, как я пишу Чистый Код.

👉 @bookflow
👍3
Прогнозирование атмосферного CO2 с помощью Python

Как создавать модели прогнозирования временных рядов с помощью Darts.
https://telegra.ph/Prognozirovanie-atmosfernogo-CO2-s-pomoshchyu-Python-10-06

Forecasting Atmospheric CO2 with Python
original https://towardsdatascience.com/forecasting-atmospheric-co2-concentration-with-python-c4a99e4cf142

👉 @bookflow
👍3🤣1