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

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

Ссылка: @Portal_v_IT

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

Канал на бирже: telega.in/c/dailycoding
Download Telegram
💡 Воспользуйтесь прогрессивным улучшением (progressive enchantment)

Всегда принимайте во внимание выключенный JavaScript. Очень соблазнительно думать «Большая часть моих пользователей не отключает JS, так что зачем мне беспокоиться». Тем не менее это большая ошибка.
А не пробовали ли вы на момент взглянуть на ваш красивый слайдер с отключённым JavaScript? (Скачайте the Web Developer Toolbar чтобы быстро проверить это.) Он может сломать полностью весь ваш сайт. Проектируйте дизайн сайта предполагая что JS может быть отключен. И уже после этого начинайте улучшать макет используя JavaScript.

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

1
. Как выбрать язык программирования для изучения.

2. MassCode - менеджер фрагментов кода с открытым исходным кодом.

3. Самый быстрый способ получить строку в JavaScript.
🛠 Flowy — библиотека, которая позволяет быстро интегрировать красивые блок-схемы в ваше приложение. Flowy не просто отображает блок-схемы - на самом деле это целый редактор перетаскивания с отличным интерфейсом, множеством параметров настройки, прослушивателями событий жестов и другими функциями.

#инструменты
📑 Разбираемся в рекурсии

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

#статьи
Выберите правильный вариант 👇🏼 #test
🛠 Magic — отличная коллекция из более чем 50 настраиваемых CSS-анимаций, которые очень простые в использовании. Просто добавьте соответствующие классы к элементам страницы с помощью JS и готово!

#инструменты
💡 Уберите из репозитория ненужные файлы

Выкладывая код на 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.

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

Часть 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. Уберите из репозитория ненужные файлы.
📑 7 практик отличных разработчиков

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

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

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

#статьи
Выберите правильный вариант 👇🏼 #test #python
Daily Coding 🔥
Выберите правильный вариант 👇🏼 #test #python
Обсудить тест и почитать объяснения можно в нашем чате @dailycoders
🛠 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