У вас включен AdBlock или иной блокировщик рекламы.

Пожалуйста, отключите его, доход от рекламы помогает развитию сайта и появлению новых статей.

Спасибо за понимание.

В другой раз
DevGang блог о програмировании
Авторизоваться

Модуль Logging в Python

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

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

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

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

Изучаем Go – Снова о модульном проектировании

Снова создаем модули 

Ранее мы создали нашу самую первую модульную версию пакета mailgunner. На этот раз давайте посмотрим, что нам нужно сделать в новой версии - мы немного изменим код, обновим readme, а затем создадим новую версию.

​​Изучаем Go – Наконец-то используем модули

Помните это?

mkdir $GOTPATH/github.com/shindakun/mailgunner
mkdir $GOTPATH/github.com/shindakun/mailgunner/client

Сомневаюсь, что помните, если не читали предыдущий пост об отправке электронной почты через MailGun. Прошлый вариант немного небрежный,  и я так сделал только для того, чтобы было проще использовать пакет локально с соответствующим примером. Мне это не очень понравилось и я до сих пор не опубликовывал этот пример на GitHub из-за этого. Итак, решил, что могу написать краткий пост как же сделать mailgunner правильным модулем Go.

Как понять редюсеры: вы можете использовать их без Redux

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

Что такое редюсер?

Редюсеры - это функции, которые принимают данные и решают, что делать с ними в одном центральном месте. 

Если у вас есть функция, которая определяет представление для отображения на основе URL-адреса, это сокращение.

Redux Reducers - это конкретное использование редюсера, которые интерпретируют события в вашем приложении и то, как оно меняет состояние приложения.

Квантовая телепортация

Передовая область физики, известная как квантовая механика, - это новая «ракетная наука» для 21-го века. Изучение кванта стало источником нового понимания, так как мы работаем над тем, чтобы понять часто странное поведение мельчайших частиц материи, составляющих вселенную вокруг нас.

Изучаем Go - Повторная отправка электронной почты через API

Список рассылки сообщений 

Ранее мы рассмотрели, как можем использовать шаблоны Go для быстрого использования размеченного текста. На этот раз используем новые навыки форматирования с пользой! Для этого мы притянем пакет mailgunner, который собрали несколько недель назад. Видите, я же говорил вам, что у меня были на него планы.

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

Изучаем Go – Используем REST API в паре с шаблонами проектирования

Мы уже знаем, как отправить электронное письмо через API MailGun. В этот раз мы улучшим код, который написали пару недель назад, чтобы привлечь пользователей с сайта jsonplaceholder. Потом мы проверим новый код на работоспособность и, если вы читали предыдущий пост, вам не составит труда догадаться, что мы будем делать ...

TypeScript: Классы vs интерфейсы

Классы и интерфейсы являются мощными структурами, которые облегчают не только объектно-ориентированное программирование, но и проверку типов в TypeScript. Класс - это объект, из которого мы можем создавать объекты с одинаковой конфигурацией - свойства и методы. Интерфейс - это группа связанных свойств и методов, которые описывают объект, но не обеспечивают их реализацию или инициализацию.

Поскольку обе эти структуры определяют, как выглядит объект, обе они могут использоваться в TypeScript для наших переменных. Решение об использовании класса или интерфейса действительно зависит от нашего варианта использования: только проверка типов, подробности реализации (обычно путем создания нового экземпляра) или даже оба! Мы можем использовать классы для проверки типов и базовой реализации, тогда как мы не можем использовать интерфейс. Понимание того, что мы можем получить от каждой структуры, позволит нам принять лучшее решение, которое улучшит наш код и опыт разработчиков.

Изучаем Go - Отправка REST-запросов

Забудьте о GET, даешь POST

Мы с вами рассмотрели парочку небольших примеров того, как запрашивать данные с удаленного сервера по REST API. На этот раз, вы узнаете как их туда отправлять. Возможно, для этого вы могли бы использовать что-то вроде go-swagger, как предлагал @bgadrian и, вероятно, еще бы и применили это в продакшене. Однако в целях обучения мы просто сделаем, то, что сумеем стандартными средствами из коробки и используем небольшие самописные пакеты на основе стандартной библиотеки.

Изучаем Go – Продолжаем работать с REST API

Продолжаем приключения

В прошлый раз мы сделали небольшую программу для запроса REST API и вывода ответа. И это было пусть и не самым полезным, но хорошим опытом. В это раз мы попробуем сделать с программой что-нибудь такое, что можно встретить на практике - надеюсь, я выясню что, прежде, чем мы доберемся до конца поста.

Присоеденяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать