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

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

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

РКН https://clck.ru/3KoAbH
Download Telegram
Что нужно знать, чтобы быть синьором?

В последнее время случилась (и продолжает случаться) тьма публикаций про кадровый голод в айти, про переоценённость синьоров, недооценённость всех остальных, про золотые горы, скандалы, интриги и конский перекос баланса фракции "программисты". Ну, короче, вы сами всё читали и вполне себе в теме. Так вот, в сим опусе хочется вспомнить, а ктож такой синьор и что ему крайне желательно знать, чтобы синдром самозванца не накрывал и чтобы окружающие уважали и на поклон за советом приходили. Далее

👉 @bookflow
👍3
Парсинг исторических данных с Google Scholar

👉Кратко о сути: парсинг исторических органических и цитируемых результатов 2017-2021 годов с Google Scholar используя пагинацию. Следом их сохранение в CSV и SQLite БД используя Python и библиотеку для веб-скрейпинга от SerpApi.

🔨Что понадобится: понимание циклов, структур данных, обработка исключений. А так же serpapi, urllib, pandas, sqlite3 библиотеки. Далее

👉 @bookflow
👍4
Колхоз. Большая история фермы устройств Яндекса

Все новые сервисы Яндекса, а также апдейты к существующим приложениям и сайтам нужно тестировать: на айфонах, андроидах, десктопах, умных колонках, телевизорах. Раньше часть тестировщиков работали на личных телефонах и компьютерах, а часть — использовали для тестов корпоративные девайсы. Процесс не был гибким и с трудом масштабировался. Поэтому мы сделали свою клауд-ферму устройств. Сначала ей пользовались только отдельные команды тестирования, но со временем ферма стала особенно популярна и среди разработчиков. В итоге мы собрали почти 800 разных девайсов, которые теперь доступны 24/7. Далее

👉 @bookflow
👍4
Идиома 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