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

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

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

РКН https://clck.ru/3KoAbH
Download Telegram
Вывести последнюю запись в SQL

Для того чтобы вывести последнюю запись из таблицы в SQL можно воспользоваться следующим запросом:

SELECT *
FROM table_name
ORDER BY id DESC
LIMIT 1;


Где table_name - это название таблицы, а id - это уникальный идентификатор записи. Здесь мы сначала сортируем записи по убыванию id, затем с помощью LIMIT 1 ограничиваем результат одной записью, что и позволяет вывести последнюю запись из таблицы.


#db@bookflow

👉 @Bookflow
👍8
Sherlock

Поиск аккаунтов социальных сетей по имени пользователя во всех социальных сетях

https://github.com/sherlock-project/sherlock


#github@bookflow

👉 @Bookflow
👍3
Пишем нативный потоковый пайплайна на Go

За последний год в Beam Go Sdk появилось несколько функций для поддержки нативных потоковых DoFns. В этом докладе Дэнни, инженер-программист Google, и Джек, инженер-программист Google, расскажут об этих функциях и обсудят, как их можно использовать для создания потоковых конвейеров, написанных полностью на Go.
Вы получите представление о некоторых проблемах, связанных с обработкой неограниченных наборов данных. Вы также узнаете, как можно построить собственные потоковые DoFns для решения этих проблем.

https://www.youtube.com/watch?v=PNDY2OYASrE


#golang@bookflow

👉 @Bookflow
👍5
Как хранить переменные в terraform?

main.tf — основной конфигурационный файл, описывающий, какие инстансы необходимо создать. variables.tf — конфигурация с описанием переменных и значениями по умолчанию. Если значения по умолчанию не задано, то они являются обязательными. terraform.tfvars — конфигурация со значениями переменных. Часто является секретным файлом, поэтому нужно с осторожностью пушить в публичные репозитарии. outputs.tf — описание выходных переменных. Необязательный файл, но очень удобно выделять нужные параметры из созданного инстанса, например IP созданного в облаке инстанса.


#devops@bookflow

👉 @Bookflow
👍4
Назовите меня предвзятым, но у Vue действительно самый чистый синтаксис шаблонов. Писать легко, и при этом он достаточно выразителен.

А каково ваше мнение?

👉 @Bookflow
👍102🔥2🗿2
Rust: параметризуем мутабельность через маркеры и ассоциированные типы

Borrow-checker — отличный секюрити, который очень эффективен, если мы находимся в безопасном Rust. Его поведение отлично описано в RustBook, и, по крайней мере, я почти никогда не сталкиваюсь с придирками, которым я бы не был благодарен.


Но вот когда нужно написать семантически-безопасный API над функциями и данными, которые вообще не безопасны — у меня всё стало валиться из рук. Последние пару дней я потратил на то, чтобы придумать элегантный способ параметризации мутабельности. Над тем, чтобы на уровне API сохранялась семантика — зависимость изменяемости полей друг от друга. Даже если на самом деле они живут сами по себе.

https://habr.com/ru/articles/703018/


#rust@bookflow

👉 @Bookflow
👍41
Совет по Javascript 💡

Для лучшей отладки используйте именованные выражения стрелочных функций для критических/часто используемых callback'ов


#frontend@bookflow

👉 @Bookflow
👍4
Как создать Minecraft на Python? Обзор библиотеки Ursina Engine

Среди любителей Minecraft много энтузиастов: пока одни просто играют, другие запускают целые серверы и пишут модификации. А кто-то идет дальше и разрабатывает собственные песочницы. Последнее достаточно просто сделать на Python.

Под катом делюсь основами работы с библиотекой Ursina Engine и показываю, как с помощью нее создать мир из кубов.

https://habr.com/ru/companies/selectel/articles/704040/


#python@bookflow

👉 @Bookflow
👍3
Деструктуризация в React. Очевидно, но важно

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

Казалось бы, что можно рассказать о том, о чем все и так знают? Но практика и чтение статей на Хабре, показали, что есть некоторые нюансы использования деструктуризации в React, о которых не все из нас знают или просто не задумываются, хотя они и являются очевидными.

Как часто Вам приходилось сталкиваться с подобным кодом?

export default function ParentComponent ({ post }) {
const { images, title } = post
return (
<ChildComponent images={images} title={title} />
)
}


https://habr.com/ru/articles/804187/


#react@bookflow

👉 @Bookflow
👍4
Input parser - библиотека для парсинга командной строки

https://github.com/gianluisdiana/InputParser


#cpp@bookflow

👉 @Bookflow
👍4
Foreign key sql что это

Foreign key (внешний ключ) в SQL - это столбец или набор столбцов в таблице, который связывается с Primary key (основным ключом) или уникальным ключом в другой таблице. Он служит для установления связи между двумя таблицами и обеспечивает целостность данных, позволяя контролировать ссылочную целостность в базе данных.

Foreign key определяет отношение между двумя таблицами: родительской таблицей (содержащей основной ключ) и дочерней таблицей (содержащей внешний ключ). Связь между ними обеспечивает ссылочную целостность, что означает, что значения внешнего ключа должны существовать как значения в основном ключе в другой таблице.

При использовании внешнего ключа в SQL можно устанавливать правила для обновления и удаления данных в связанных таблицах. Например, можно настроить каскадное удаление, чтобы при удалении записи из родительской таблицы также удалялись связанные записи из дочерней таблицы.

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


#db@bookflow

👉 @Bookflow
👍6
Boxxy

Упаковывает неправильно работающих приложений GNU/Linux

https://github.com/queer/boxxy


#github@bookflow

👉 @Bookflow
👍3
Паттерны гонки данных в Go

Uber использует язык Golang (сокращенно Go) в качестве основного языка программирования для разработки микросервисов. Наш монорежим Go состоит примерно из 50 миллионов строк кода (и продолжает расти) и содержит около 2 100 уникальных сервисов Go (и продолжает расти).

https://www.uber.com/blog/data-race-patterns-in-go/


#golang@bookflow

👉 @Bookflow
👍2
Использование Open ID Connect (OIDC) в Terraform для безопасного мультиаккаунтного CI/CD в AWS

В этом посте мы рассмотрим, как можно повысить уровень безопасности, используя Open ID Connect (OIDC) в качестве механизма аутентификации в CI/CD конвейерах для развертывания инфраструктуры на базе Terraform в Amazon Web Services (AWS).

https://hedrange.com/2023/10/07/adopt-open-id-connect-oidc-in-terraform-for-secure-multi-account-ci-cd-to-aws


#devops@bookflow

👉 @Bookflow
🔥3👏1
Я написал одну из самых быстрых библиотек датафреймов

У меня в портфолио есть несколько готовых пет-проектов на Rust, и я заметил, что позиция «а у нас уже получилась DataFrame?» нисколько меня не устраивает. Поэтому я подумал, не сделать ли мне элементарный контейнер, который решал бы мою конкретную задачу. Но этот проект вышел из-под контроля.

Год спустя, написав немало кода, я создал одну из самых быстрых библиотек датафреймов, применимую в Rust и Python. Вот мой первый официальный «Hello World» на polars, размещённый у меня в блоге. Надеюсь, что с помощью этого поста я смогу пояснить читателю некоторые решения, которые мне довелось принять при проектировании, и вам станет понятнее, как Polars работает под капотом.

https://habr.com/ru/companies/timeweb/articles/737808/


#rust@bookflow

👉 @Bookflow
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Загрузка файла с помощью server action в Next.js


#frontend@bookflow

👉 @Bookflow
👍5
Создание игрушечного языка программирования на Python

Я подумал, что было бы забавно выйти за пределы своей зоны комфорта в области веб-разработки и написать о чем-то совершенно другом и новом, о чем я никогда раньше не писал. Поэтому сегодня я покажу вам, как реализовать язык программирования!

https://blog.miguelgrinberg.com/post/building-a-toy-programming-language-in-python


#python@bookflow

👉 @Bookflow
👍4
React-query

Хуки для получения, кэширования и обновления асинхронных данных в React

• Transport/Protocol/Backend независимая выборка данных (REST, GraphQL, promises, что угодно!)
• Автоматическое кэширование + выборка (stale-while-revalidate, Window Refocus, Polling/Realtime)
• Параллельные + зависимые запросы
• Мутации + Reactive выборка запросов
• Многослойный кэш + автоматический сборщик «мусора» (garbage collector)
• Load-More + Infinite Scroll Queries w/ Scroll Recovery
• Отмена запросов и многое друго

https://github.com/TanStack/query


#react@bookflow

👉 @Bookflow
👍2
50 веб сайтов по изучению C/C++

В этой статье я расскажу о 50 сайтах, которые, по моему мнению, должен знать и добавить в закладки каждый разработчик на Си или Си++. В этом списке представлены прямые ссылки на исходные коды программ вместе с их описанием.

https://www.mycplus.com/featured-articles/50-c-cpp-source-code-websites/


#cpp@bookflow

👉 @Bookflow
🔥7👍1
Наглядное объяснение джоинов SQL


#db@bookflow

👉 @Bookflow
👍7👎2
Super Mario World Widescreen

Широкоэкранный проект Super Mario World (SNES)

Super Mario World Widescreen - это ваша любимая игра Mario World для SNES, но в соотношении сторон экрана 16:10, 16:9 или 18:9/2:1. Это возможно благодаря увеличению горизонтального разрешения на 96/128 пикселей, что увеличивает разрешение с 256x224 до 352x224 или 384x224.

Поскольку оригинальная SNES не имеет такого разрешения, необходимо использовать эмулятор, ориентированный на высокое разрешение - мод bsnes-hd.

https://github.com/VitorVilela7/wide-snes


#github@bookflow

👉 @Bookflow
👍5