🔥 Лучшее на канале за неделю
1. Как выбрать язык программирования для изучения.
2. MassCode - менеджер фрагментов кода с открытым исходным кодом.
3. Самый быстрый способ получить строку в JavaScript.
1. Как выбрать язык программирования для изучения.
2. MassCode - менеджер фрагментов кода с открытым исходным кодом.
3. Самый быстрый способ получить строку в JavaScript.
🛠 Flowy — библиотека, которая позволяет быстро интегрировать красивые блок-схемы в ваше приложение. Flowy не просто отображает блок-схемы - на самом деле это целый редактор перетаскивания с отличным интерфейсом, множеством параметров настройки, прослушивателями событий жестов и другими функциями.
#инструменты
#инструменты
📑 Разбираемся в рекурсии
Про рекурсию ходит много шуток, и она традиционно считается одной из сложных для понимания тем в computer science, поэтому давайте сегодня немного о ней поговорим. А именно, давайте обсудим, как выражать доказуемо завершимые вычисления.
#статьи
Про рекурсию ходит много шуток, и она традиционно считается одной из сложных для понимания тем в computer science, поэтому давайте сегодня немного о ней поговорим. А именно, давайте обсудим, как выражать доказуемо завершимые вычисления.
#статьи
🛠 Magic — отличная коллекция из более чем 50 настраиваемых CSS-анимаций, которые очень простые в использовании. Просто добавьте соответствующие классы к элементам страницы с помощью JS и готово!
#инструменты
#инструменты
💡 Уберите из репозитория ненужные файлы
Выкладывая код на GitHub следует придерживаться правила, в соответствии с которым в репозиторий не должно попадать ничего такого, что создано не владельцем репозитория. Вот хорошее руководство по
Начальный вариант файла
Следующий текст можно рассматривать в качестве начального варианта содержимого
#советы #coding #python
Выкладывая код на GitHub следует придерживаться правила, в соответствии с которым в репозиторий не должно попадать ничего такого, что создано не владельцем репозитория. Вот хорошее руководство по
.gitignore, в котором даётся обзор того, что обычно не стоит включать в репозитории.Начальный вариант файла
.gitignore для Python-проектовСледующий текст можно рассматривать в качестве начального варианта содержимого
.gitignore. Добавьте такой файл в свой проект в самом начале работы над ним.*.pycЕсли вам нужен более масштабный пример
*.egg-info
# Если вы программируете на Mac
.DS_Store
# Если вы пользуетесь виртуальными окружениями
# в проектах. Я, например, обычно ими пользуюсь.
/env
# Настройки и хранение секретных данных
/.env
.gitignore — взгляните на этот файл из коллекции GitHub. Используйте его как источник вдохновения и как базу для вашего .gitignore.#советы #coding #python
📑 Как генерируются UUID
Вы наверняка уже использовали в своих проектах UUID и полагали, что они уникальны. Давайте рассмотрим основные аспекты реализации и разберёмся, почему UUID практически уникальны, поскольку существует мизерная возможность возникновения одинаковых значений.
Современную реализацию UUID можно проследить до RFC 4122, в котором описано пять разных подходов к генерированию этих идентификаторов. Мы рассмотрим каждый из них и пройдёмся по реализации версии 1 и версии 4.
#статьи
Вы наверняка уже использовали в своих проектах UUID и полагали, что они уникальны. Давайте рассмотрим основные аспекты реализации и разберёмся, почему UUID практически уникальны, поскольку существует мизерная возможность возникновения одинаковых значений.
Современную реализацию UUID можно проследить до RFC 4122, в котором описано пять разных подходов к генерированию этих идентификаторов. Мы рассмотрим каждый из них и пройдёмся по реализации версии 1 и версии 4.
#статьи
💡 Не храните в коде секретные данные
Часть 1
В репозитории не должно быть никаких паролей к базам данных, ключей к внешним API, секретных ключей систем шифрования! Подобные вещи надо хранить в конфигурационных файлах или в переменных окружения. Ещё один вариант — их чтение из защищённого хранилища. А включать их в код — это в высшей степени неправильно. Вот — отличное руководство на тему хранения конфигурационных данных, подготовленное в рамках проекта The Twelve-Factor App (другие материалы этого проекта тоже весьма полезны).
Неправильно: реквизиты базы данных хранятся в коде
Ниже приведён фрагмент Flask-приложения. Автор хранит реквизиты для доступа к базе данных в коде.
Примеры кода, а также хранение данных в файле
#советы #coding #python
Часть 1
В репозитории не должно быть никаких паролей к базам данных, ключей к внешним API, секретных ключей систем шифрования! Подобные вещи надо хранить в конфигурационных файлах или в переменных окружения. Ещё один вариант — их чтение из защищённого хранилища. А включать их в код — это в высшей степени неправильно. Вот — отличное руководство на тему хранения конфигурационных данных, подготовленное в рамках проекта The Twelve-Factor App (другие материалы этого проекта тоже весьма полезны).
Неправильно: реквизиты базы данных хранятся в коде
Ниже приведён фрагмент Flask-приложения. Автор хранит реквизиты для доступа к базе данных в коде.
from flask import FlaskПравильно: реквизиты хранятся в переменных окружения.
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://user:secret@localhost:5432/my_db"
Примеры кода, а также хранение данных в файле
.env будут в следующей части.#советы #coding #python
🔥 Лучшее на канале за неделю
1. Разбираемся в рекурсии.
2. Flowy — библиотека, которая позволяет быстро интегрировать красивые блок-схемы в ваше приложение.
3. Уберите из репозитория ненужные файлы.
1. Разбираемся в рекурсии.
2. Flowy — библиотека, которая позволяет быстро интегрировать красивые блок-схемы в ваше приложение.
3. Уберите из репозитория ненужные файлы.
📑 7 практик отличных разработчиков
Мы все хотим достичь наших самых больших карьерных целей, но слишком часто мы слишком концентрируемся на цели, а не на методе, который мы используем для достижения этой цели.
Часто это приводит к бесконечному циклу возбуждения, мотивации, неудач, выгорания и сдачи, только чтобы начать цикл снова, когда у нас появляется новое представление о вновь возникшей мотивации.
Когда дело доходит до начала и построения успешной карьеры разработчика, так же важно сосредоточиться на мелочах, которые вы делаете каждый день, как и на своих целях.
#статьи
Мы все хотим достичь наших самых больших карьерных целей, но слишком часто мы слишком концентрируемся на цели, а не на методе, который мы используем для достижения этой цели.
Часто это приводит к бесконечному циклу возбуждения, мотивации, неудач, выгорания и сдачи, только чтобы начать цикл снова, когда у нас появляется новое представление о вновь возникшей мотивации.
Когда дело доходит до начала и построения успешной карьеры разработчика, так же важно сосредоточиться на мелочах, которые вы делаете каждый день, как и на своих целях.
#статьи
Daily Coding 🔥
Выберите правильный вариант 👇🏼 #test #python
Обсудить тест и почитать объяснения можно в нашем чате @dailycoders
🛠 VoxelSpace — генератор бесконечного ландшафта, созданного с нуля. Исходный код содержит множество комментариев, а сам алгоритм рендеринга очень хорошо объяснен в readme. Вы можете посмотреть демо здесь .
#инструменты
#инструменты
💡 Не храните в коде секретные данные
Часть 2
Перед прочтением рекомендуем ознакомиться с первой частью.
Правильно: реквизиты хранятся в переменных окружения
Перенести реквизиты для доступа к базе данных в переменные окружения совсем несложно:
Хранение данных в файле
#советы #coding #python
Часть 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Правильно: реквизиты хранятся в файле .env
flask run
Хранение данных в файле
.env будет в следующей части.#советы #coding #python
📑 Вышел новый релиз «Python для браузеров», встречаем Brython 3.9
Разработчики проекта Brython Python выпустили новый релиз, Brython 3.9. Сам проект позиционируется, как «Python для браузера». Он основан на Python 3 и выполняется на стороне браузера, причем для разработки веб-скриптов вместо JavaScript используется Python. Код проекта написан на Python и распространяется под лицензией BSD. Новый релиз совместим с Python 3.9, плюс обновлена стандартная библиотека.
#статьи #python
Разработчики проекта Brython Python выпустили новый релиз, Brython 3.9. Сам проект позиционируется, как «Python для браузера». Он основан на Python 3 и выполняется на стороне браузера, причем для разработки веб-скриптов вместо JavaScript используется Python. Код проекта написан на Python и распространяется под лицензией BSD. Новый релиз совместим с Python 3.9, плюс обновлена стандартная библиотека.
#статьи #python