DevGang

блог о програмировании

#16

Запускаем ваше Angular-CLI приложение в браузере из репозитория на GitHub

Онлайн IDE для работы над Angular 5 проектами, StackBlitz создало VS Code, с которым можно работать прямо в браузере.

#Angular
#15

Python Flask: отправляем файлы и данные формы из одного сервиса в другой

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

#Python #Flask
#14

Python: рецепты форматирования строк

Часто, когда возникает необходимость в форматировании строк, я забываю некоторые нюансы. В статье ниже рассмотрены всевозможные методы применения Python str.format() и его устаревшего аналога %.

#Python
#13

Flask + CKEditor: загрузка и просмотр изображений

Для блога понадобилось подключить wysiwyg редактор и первым решил попробовать Trumbowyg, простой и легкий редактор, но как и большинство подобных с одним недостатком. При вставке скопированного из ворда текста, в html добавляется очень много лишнего мусор. Ну и в копилку, мало плагинов для работы с текстом.

#Python #Flask
#12

Подборка лучших онлайн генераторов favicon

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

#11

Центрирование в CSS с помощью Flexbox

Центрирование элементов на странице, особенно вертикальное центрирование, в прошлом было сложно сделать с CSS, и нам приходилось делать ряд хаков. К счастью, Flexbox все упрощает, и теперь мы можем сосредоточить нашу энергию проектирования на проблемах более высокого уровня.

#CSS
#10

Clickjacking - что это и как бороться

Clickjacking - это механизм обмана пользователя путем подмены страницы через iframe. Злоумышленник может создать страницу с прозрачным iframe сайта на который производится атака и разместить привлекательный контент под ним. Пользователь кликая по контенту на сайте совершает действие на другом ресурсе не подозревая об этом.

#Security #CSP
#9

JavaScript wysiwyg редакторы

Довольно часто для моих проектов требуется надежный wysiwyg редактор для форматирования статей и различной сложности текстов. Ниже список наиболее интересных на мой взгляд решений.

#JavaScript
#8

Использование итераторов и генераторов в JavaScript для оптимизации кода

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

#JavaScript
#7

Python декораторы и кастомная авторизация на Flask

#Python #Flask
#6

Flask, WTForms: валидируем reCAPTCHA на сервере

Довольно часто требуется подключить reCAPTCHA в свои приложения и валидировать формы, с учотом введеной капчи.

#Python #Flask
#5

SQLAlchemy и Flask-Admin: теги для записей со связь Many to Many

Для нашего блога решил добавить теги, чтобы похожие записи было проще искать и вообще это модно сейчас. Ранее использовал обычный массив с ForeignKey, и это работает, но... Всегда есть но, в Flask-Admin для того чтобы появился мультиселект с вариантами из другой таблички этого уже недостаточно.

#Python #Flask #PostgreSQL
#4

Использование ViewChild в Angular для доступа к дочернему компоненту, директиве или элементу DOM

Хотите получить доступ к дочернему компоненту, директиве или элементу DOM из родительской компоненты? Это легко сделать с декоратором ViewChild. ViewChild возвращает первый элемент, который соответствует заданному элементу, директиве или шаблону. В случаях, когда вы хотите получить доступ к нескольким дочерним элементам, вместо этого вы должны использовать ViewChildren.

#JavaScript #Angular
#3

Flask Admin: загрузка файлов и обработка формы в модели

Мне довольно часто требуется кастомизировать базовую модель Flask Admin для того чтобы например загружать изображения. В интернете есть довольно много примеров как сделать загрузку файлов через `flask_admin.form.upload`, но он не дает полного контроля над происходящим и если потребуется сделать что-то более сложное, придется импровизировать.

#Python #Flask #PostgreSQL
#2

Первые шаги с Web Audio API

В этом кратком введении вы узнаете об аудиоконтексте Web Audio API и способности экземпляров AudioContext создавать простые генераторы, которые могут быть использованы для преобразования вашего браузера в ретро-синтезатор!

#JavaScript
#1

Angular 5 универсальное использование Transfer State

Я покажу вам, как настроить универсальный проект (серверный рендеринг приложения), используя Angular 5.

#JavaScript #Angular