Программирование {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
Шпаргалка по C++

Шпаргалка фокусируется на языке, а не стандартной библиотеке, и учитывает особенности C++11/C++14

#cpp@bookflow

👉 @Bookflow
👍61
Как распарсить строку в sql

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

Например, если строка содержит разделители, такие как запятые или пробелы, то можно использовать функцию SUBSTRING_INDEX() для извлечения определенного фрагмента строки. Например, следующий запрос извлекает первое слово из строки Привет, мир:
SELECT SUBSTRING_INDEX('Привет, мир', ' ', 1);
Результатом запроса будет строка Привет.

Если же требуется извлечь определенный набор символов из строки, то можно использовать функцию SUBSTRING(). Например, следующий запрос извлекает первые три символа из строки Привет:
SELECT SUBSTRING('Привет', 1, 3);
Результатом запроса будет строка При.

Также можно использовать функцию REGEXP_SUBSTR() для извлечения определенного фрагмента строки, используя регулярные выражения. Например, следующий запрос извлекает первое слово из строки Привет, мир:
SELECT REGEXP_SUBSTR('Привет, мир', '^[^ ]+');
Результатом запроса будет строка Привет.



#db@bookflow

👉 @Bookflow
🥰62👍2
5 трюков с командами Linux, которые изменят вашу жизнь как программиста

Интерфейс командной строки — это основа работы для большинства технических специалистов, особенно разработчиков и системных администраторов. Будь то написание скриптов, настройка серверов или автоматизация задач, знание Linux-команд может сэкономить вам часы работы.

Для многих Linux может показаться пугающим на первый взгляд, но, освоив потенциал его интерфейса командной строки (CLI), вы поймёте, что это лучший друг программиста. От навигации по директориям до работы с файлами и даже отладки — освоение этих простых, но мощных команд Linux может значительно улучшить ваш рабочий процесс.

В этой статье мы рассмотрим пять трюков работы с командной строкой, которые облегчат жизнь разработчикам. Это не просто «приятные бонусы» — это настоящие «игровые изменения», которые помогут вам сэкономить время и сделают взаимодействие с терминалом гораздо более эффективным.

#статья@bookflow

👉 @Bookflow
👍2
Ciphey

Полностью автоматизированный инструмент для дешифровки/декодирования/взлома, основанный на обработке естественного языка и искусственном интеллекте, и немного на здравом смысле.

Цель Ciphey - стать инструментом для автоматизации множества расшифровок и дешифровок, таких как шифрование на нескольких базах, классические шифры, хэши и более сложные криптографии.

Если вы не знаете достаточно много о криптографии или хотите быстро проверить зашифрованный текст, прежде чем работать над ним самостоятельно, Ciphey - для вас.

Техническая часть. Ciphey использует специально созданный модуль искусственного интеллекта (AuSearch) с интерфейсом обнаружения шифров, чтобы приблизительно определить, чем что-то зашифровано. Затем используется собственный настраиваемый интерфейс обработки естественного языка, который может определить, когда полученный зашифрованный текст становится обычным.

Здесь нет нейронных сетей или раздутого ИИ. Мы используем только то, что быстро и минимально.

https://github.com/Ciphey/Ciphey/blob/master/translations/ru/README.md


#github@bookflow

👉 @Bookflow
👍2
Средние highload паттерны на Go

Меня зовут Агаджанян Давид и ранее я опубликовал статью «простые highload паттерны на Go», в которой были рассмотрены простые подходы увеличения пропускной способности отдельно взятого экземпляра приложения без хардкора. Мне импонируют простые подходы, так как over engineering подходы требуются в исключительных проектах, и то чаще всего только в отдельно взятых подсистемах, в остальном можно воспользоваться давно известными лучшими практиками. Статья ориентирована на начинающих разработчиков и может служить отправной точкой для дальнейшего изучения. В этой статье подходы ориентированы на масштабирование приложения при верхнеуровневом рассмотрении. Подходы универсальны, приписка языка Go только потому, что сама реализация приложения на нем. Для наглядности, примеры будут упрощены, а чтобы было интереснее наблюдать, проведем замеры производительности. Ну и конечно же делитесь своим опытом масштабирования, буду рад взять на заметку.

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



#golang@bookflow

👉 @Bookflow
👍2👎1
Работа с хранилищами в Kubernetes: руководство для инженеров

Как DevOps-инженер я часто сталкиваюсь с необходимостью глубокого понимания тонких аспектов Kubernetes. Одним из таких ключевых элементов является управление хранилищем данных. Хотя этот элемент иногда остаётся в тени других задач, его важность для успешного развёртывания и поддержки приложений велика.

Накопленный мною опыт в этой области стал основой для этой статьи.

Я сфокусируюсь на трёх ключевых элементах управления хранилищем в Kubernetes:

PersistentVolumes (PV).
PersistentVolumeClaims (PVC).
Storage Classes.

https://habr.com/ru/companies/T1Holding/articles/781368/


#devops@bookflow

👉 @Bookflow
👍41
This media is not supported in your browser
VIEW IN TELEGRAM
Wagyu

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

https://github.com/AleoHQ/wagyu


#rust@bookflow

👉 @Bookflow
2👍2
Подборка односложных выражений на языке Python, которые повысят вашу производительность

Deleting multiple elements from a list
li = [1, 2, 3, 4, 5]
del li[0:3]
# [4, 5]


Factorial of a numberimport math; fact_5 = math.factorial(5)

https://github.com/Allwin12/python-one-liners


#python@bookflow

👉 @Bookflow
👍3
Как создавать собственные пользовательские React Hooks

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

https://blog.logrocket.com/create-your-own-custom-react-hooks/


#react@bookflow

👉 @Bookflow
👍1
Идеальная передача и универсальные ссылки в C++

https://eli.thegreenplace.net/2014/perfect-forwarding-and-universal-references-in-c


#cpp@bookflow

👉 @Bookflow
👍32
Вывести последнюю запись в 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