Daily Coding 🔥
8.75K subscribers
1.89K photos
6 videos
1 file
1.74K links
Канал, который научит вас программировать лучше и эффективнее.

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

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/dailycoding
Download Telegram
🛠 VoxelSpace — генератор бесконечного ландшафта, созданного с нуля. Исходный код содержит множество комментариев, а сам алгоритм рендеринга очень хорошо объяснен в readme. Вы можете посмотреть демо здесь .

#инструменты
💡 Не храните в коде секретные данные

Часть 2

Перед прочтением рекомендуем ознакомиться с первой частью.

Правильно: реквизиты хранятся в переменных окружения

Перенести реквизиты для доступа к базе данных в переменные окружения совсем несложно:

import os
from flask import Flask

app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("SQLALCHEMY_DATABASE_URI")

Теперь нужно, перед запуском приложения, инициализировать переменные окружения:

export SQLALCHEMY_DATABASE_URI=postgresql://user:secret@localhost:5432/my_db
flask run

Правильно: реквизиты хранятся в файле .env

Хранение данных в файле .env будет в следующей части.

#советы #coding #python
📑 Вышел новый релиз «Python для браузеров», встречаем Brython 3.9

Разработчики проекта Brython Python выпустили новый релиз, Brython 3.9. Сам проект позиционируется, как «Python для браузера». Он основан на Python 3 и выполняется на стороне браузера, причем для разработки веб-скриптов вместо JavaScript используется Python. Код проекта написан на Python и распространяется под лицензией BSD. Новый релиз совместим с Python 3.9, плюс обновлена стандартная библиотека.

#статьи #python
Выберите правильный вариант 👇🏼 #test
💡 Не храните в коде секретные данные

Часть 3

Перед прочтением рекомендуем ознакомиться с первой и второй частями.

Правильно: реквизиты хранятся в файле .env

Для того чтобы перед запуском программы не приходилось бы вручную инициализировать переменные окружения, можно пойти дальше. А именно, речь идёт о том, чтобы сохранить эти данные в файле .env. Далее, нужно установить пакет python-dotenv и инициализировать переменные окружения прямо из Python-кода.

Вот как может выглядеть файл .env:

SQLALCHEMY_DATABASE_URI=postgresql://user:secret@localhost:5432/my_db

Вот как работать с этим файлом из кода:

import os
from dotenv import load_dotenv
from flask import Flask

load_dotenv()

app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("SQLALCHEMY_DATABASE_URI")

И надо не забыть добавить запись об .env в .gitignore. Благодаря этому данный файл не будет случайно выгружен в репозиторий.

#советы #coding #python
🔥 Лучшее на канале за неделю

1
. 7 практик отличных разработчиков.

2. VoxelSpace — генератор бесконечного ландшафта, созданного с нуля.

3. Не храните в коде секретные данные.
🛠 Snowpack — инструмент для связывания зависимостей JavaScript. В отличие от Webpack и других сборщиков, которые перекомпилируют ваши ресурсы после каждого изменения файла, Snowpack выполняет только первоначальную настройку. После того, как все будет скомпилировано, любые новые изменения в вашем коде будут сразу же доступны без этапа сборки.

#инструменты #js
📑 Почему так сложно извлекать текст из PDF?

Согласно распространённым представлениям, извлечение текста из PDF не должно быть такой уж сложной задачей. Ведь вот он, текст, прямо у нас перед глазами, и люди постоянно и с большим успехом воспринимают содержимое PDF. Откуда взяться трудностям в автоматическом извлечении текста?

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

#статьи
Выберите правильный вариант 👆 #test
🛠 Panzoom — это платформа для управления действиями панорамирования и масштабирования в ваших приложениях. Он отлично работает на мобильных устройствах, поддерживает как элементы DOM, так и SVG, а также предоставляет множество вариантов настройки.

#инструменты
💡 Добавьте в репозиторий файл README

▍Часть 1

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

▍Примеры

Файл README для Python-проекта

Приведём пример файла README, созданный в соответствии с рекомендациями вышеупомянутого сайта. Так, в данной части есть сведения о проекте, руководство по его установке и использованию, а также другие разделы мы рассмотрим в следующей части.

# Foobar

Foobar is a Python application for dealing with word pluralization.

Продолжение следует...

#советы #coding #python
📑 О полезности contextvars

В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком. Совсем недавно вышел Python 3.9, но в этой статье мы рассказываем о функциональности, представленной еще в версии 3.7. Она совершенно незаслуженно обделена пристальным вниманием. Речь, конечно же, о contextvars.

#статьи #python
Выберите правильный вариант 👇🏼 #test #python
💡 Добавьте в репозиторий файл README

▍Часть 2

В первой части мы рассмотрели пример кода со сведениями о проекте.

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

## Installation

Clone the repository from GitHub. Then create a virtual environment, and install all the dependencies.

bash
git clone https://github.com/username/foobar.git
python3 -m venv env
source env/bin/activate
python -m pip install -r requirements.txt

## Usage

Initialize the virtual environment, and run the script

bash
source env/bin/activate
./pluralize word
words
./pluralize goos
geese

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update the tests as appropriate.

## License

[MIT](https://choosealicense.com/licenses/mit/)

#советы #coding #python
🔥 Лучшее на канале за неделю

1
. Почему так сложно извлекать текст из PDF?

2. Panzoom — это платформа для управления действиями панорамирования и масштабирования в ваших приложениях.

3. Добавьте в репозиторий файл README.
🛠 Playwright — это отличная библиотека узлов от команды Microsoft для создания автоматизированных тестов пользовательского интерфейса с однократной записью. Он охватывает большинство браузеров, основанных на Chromium, WebKit и Firefox, а также на всех основных операционных системах. API чистый и простой в работе.

#инструменты
📑 Linux kernel development для самых маленьких

Любой программист знает, что теоретически он может внести свой посильный вклад в развитие Linux ядра. С другой стороны, подавляющее большинство уверено, что занимаются этим исключительно небожители, а процесс контрибьюта в ядро настолько сложен и запутан, что обычному человеку разобраться в нём нет никакой возможности. А значит, и надобности.
Сегодня мы попробуем развеять эту легенду и покажем, как абсолютно любой инженер при наличии достойной идеи, воплощённой в коде, может предложить ее на рассмотрение Linux community для включения в ядро.

#статьи