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

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

Ссылка: @Portal_v_IT

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

Канал на бирже: telega.in/c/dailycoding
Download Telegram
💡 Создание отчета об использовании пространства файлами и каталогами в терминале.

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

Выполнение этого кода покажет использование пространства каждой папкой в текущем каталоге.

# Параметр -h упрощает чтение отчета.
# -s предотвращает рекурсивность и показывает общий размер папки.
# Звездный подстановочный знак (*) будет запускать du для каждого файла / папки в текущем каталоге.

du -sh *

1.2G Desktop
4.0K Documents
40G Downloads
4.0K Music
4.9M Pictures
844K Public
4.0K Templates
6.9M Videos

Существует также аналогичная команда под названием df (Disk Free), которая возвращает различную информацию о доступном дисковом пространстве (противоположность du).

Более детально ознакомиться с командой вы можете по ссылке.

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

1. Шесть инструментов для защиты личных данных.

2. MoreToggels — библиотека на чистом CSS, предлагающая более 50 стильных чекбоксов.

3. Отчёт об использовании пространства файлами и каталогами в терминале.
🛠 MVP.css — CSS-фреймворк без классов, который упрощает стилизацию веб-страниц без написания CSS или дополнительной разметки. Просто включите предоставленную таблицу стилей, и большинство элементов HTML, а также макет страницы получат лучшие стили по умолчанию.

#инструменты #js
📑 4 новых продукта GitHub, которые изменят код

Совсем недавно GitHub провел свое первое виртуальное мероприятие — GitHub Satellite. Тысячи людей подключились к прямой трансляции, которая весь день радовала публику интересными докладами, сгенерированной музыкой и многим другим.

В начале конференции GitHub объявил о запуске новых функций, которые скоро появятся на платформе. Среди анонсов фигурировала и живая среда для веб-разработки. В скором времени эти функции гарантированно изменят наши представления о написании open-source кода.

#статьи #coding
Выберите правильный вариант 👇🏼 #test
📑 Этапы создания мобильного приложения

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

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

Компания Dev.multi.app занимается тем, что покупает/арендует приложения у разработчиков, интегрирует рекламные возможности и впускаем рекламодателей. Dev.multi.app и рекламодатель платит за каждую установку. Также они платят 100$ единоразово за первое загруженное приложение. Подробнее можно ознакомиться на сайте.

#статьи #coding
🛠 jExcel - VanillaJS библиотека без внешних зависимостей, которая упрощает создание электронных таблиц в стиле Excel. Интерактивные таблицы предлагают множество функций, параметров настройки и отличную поддержку браузера.

#инструменты #js
💡 Поиск заданного шаблона в каждом файле в терминале

Команда grep осуществляет поиск заданного шаблона в каждом файле. Она также ищет шаблоны, разделенные символами новой строки, и выводит каждую строку, совпадающую с шаблоном.

 grep "нужная строка" file

Рассмотрим команду на примере поиска всех слов «React» в файле index.js.

Опция -i делает текущий поиск нечувствительным к регистру. То есть, в нашем случае, с заданным шаблоном совпадут «REACT», «REact» и «react».

 grep -i "REact" file

Можно вывести просто число строк, где содержится заданный шаблон — при помощи опции -c (count).

 grep -c "react" index.js

Есть следующие вариации команды grep: egrep и fgrep, являющиеся, по сути, той же командой grep, только с опциями -E и -F соответственно. Эти вариации уже устарели, но предоставляются с целью поддержки обратной совместимости.

При помощи команды grep можно делать очень много всего. Если хотите изучить ее получше, обратитесь к документации.

#советы #coding
Выберите правильный вариант 👇🏼 #test
💡 Статическая типизация в Python.

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

 Declaring a function using normal dynamic typing, without mypy
def iter_primes():
# code here#

Declaring the same function with mypy static typing
from typing import Iterator

def iter_primes() -> Iterator[int]:
# code here

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

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

1)
Четыре новых продукта GitHub, которые изменят код.

2) MVP.css — CSS-фреймворк без классов, который упрощает стилизацию веб-страниц без написания CSS или дополнительной разметки.

3) Статическая типизация в Python.
🥳 Рады представить нашего нового бота!

Craftwork Bot предоставляет альтернативный доступ к сайту craftwork.design, но намного дешевле. Работает так же, как и @ui8_bot:

1. Присылаете в бота ссылку с сайта
2. Бот присылает файл для скачивания

Первым 50 покупателем делаем шикарный подарок. Купленная подписка увеличивается в 2 раза, например вы купили подписку на 6 месяцев, а получили целый год подписки. Новости и обновления публикуем на канале Digital Dealers.
🛠 Kite — быстрый доступ к документации и автозаполнение на основе ИИ. Kite способен помогать не только с именами функций, но и с часто используемыми кусками кода. А ещё он анализирует данные репозиториев GitHub и предлагает нужные подсказки.

#инструменты #python
Выберите правильный вариант 👇🏼 #test
📑 Flutter.dev: Простое управление состоянием приложения

В статье рассказывается о простом управлении состоянием приложения. Мы будем использовать пакет provider. Если вы новичок во Flutter и у вас нет веских причин для выбора другого подхода (Redux, Rx, хуков и т. д.), это, вероятно, самый лучший подход для старта. Пакет provider прост в освоении и не требует большого количества кода. Он также оперирует концепциями, которые применимы во всех других подходах.

#статьи
🛠 SonarLint — инструмент, который проводит динамический анализ и в фоновом режиме запускает/компилирует код, проверяя правильность его работы. И если что-то идет не так, сообщает о возможной ошибке. SonarLint предупреждает об закомментированном коде и неиспользуемых функциях, оставленных по всей кодовой базе, показывая, где что находится. Без SonarLint поиск проблем и отладка может занять многие часы. У SonarLint есть большая обновляемая база данных с перечнем уязвимостей, которая позволяет плагину вовремя предупреждать разработчика о найденных в коде проблемах. SonarLint предупреждает о чрезмерном усложнении кода, объясняя суть проблемы. Это может быть, например, слишком большая вложенность операторов if.

#инструменты #python
💡 Использование __main__.py

Давайте сначала разберёмся: как большинство людей запускают свои скрипты на Python?

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

 __name__ == '__main__':
main(sys.argv)

Когда вы скармливаете скрипт интерпретатору, магическая глобальная переменная name получает значение main. Таким образом мы узнаём, что это не импорт, а именно запуск. Например:

 myapp.py

И это прекрасно работает для одиночного файла.

Проблема

Но вы не захотите, чтобы всё ваше приложение теснилось в единственном файле. Разбиение логики по разным файлам упрощает редактирование и поддержку. Например:

├── README.me
├── requirements.txt
├── setup.py
└── src
├── __init__.py
├── client.py
├── logic.py
├── models.py
└── run.py

Но пользователю, который склонировал проект из репозитория будет непонятно — какой из этих файлов главный? Неужели run.py? А может client.py? Где же искать знакомую строку if name == 'main'? Вот здесь-то main.py и способен проявить себя.

__main__.py

Файл main.py вызывается при запуске проекта с флагом модуля — -m. И это весьма удобно, если код предназначен и для использования в качестве модуля, и для запуска из консоли. Думайте об этом файле, как о месте куда можно класть всё, что вы обычно кладёте внутрь if name == 'main'. Давайте изменим проект из примера выше соответственно:

├── README.me
├── requirements.txt
├── setup.py
└── myapp
├── __init__.py
├── __main__.py
├── client.py
├── logic.py
├── models.py

И, вуаля! Теперь можно просто запускать проект как обычный модуль.

 -m myapp

main.py будет выполняться автоматически. Это идеальное место для размещения интерфейса командной строки и обработки входных аргументов!

#советы #coding #python