Pull to refresh
-1
0
pingo @pingo

User

Send message

Представляем онлайн-самоучитель по Kubernetes и деплою с werf для разработчиков

Reading time3 min
Views12K

Рады представить новую версию онлайн-самоучителя по werf, нашей CI/CD-утилите с открытым кодом!

Общая идея самоучителя — познакомить разработчиков с Kubernetes, показав на простых приложениях (готовы примеры для Ruby on Rails, Node.js и Laravel), как можно развертывать приложения в K8s с помощью werf. Это отличная возможность быстро освоить практические основы K8s без погружения в его объемную теоретическую базу. Если вы еще не решили, как провести новогодние каникулы с пользой, — вот вам идея.

Читать далее
Total votes 53: ↑53 and ↓0+53
Comments0

Node.js: шаблон сервера для аутентификации и авторизации

Reading time11 min
Views35K


Привет, друзья!


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


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


Также обратите внимание, что в коде имеется несколько console.log для облегчения процесса разработки приложения. В продакшне они не нужны. В производственном режиме также не следует возвращать столь информативные message.


Если возможностей, реализованных в шаблоне, окажется недостаточно, вот парочка более продвинутых инструментов:


  • oidc-client — разработчик отказался от дальнейшей поддержки, новый мейнтейнер пока не нашелся
  • oidc-provider — рекомендация моих более опытных коллег

Если вас интересует полноценная платформа для аутентификации/авторизации "из коробки", рассмотрите возможность использования Auth0.


Репозиторий


Сервер реализован с помощью Express.js


В качестве базы данных используется MongoDB Atlas

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments6

JavaScript: разрабатываем приложение для записи экрана

Reading time12 min
Views14K


Привет, друзья!


Хочу поделиться с вами решением интересной задачи: записать экран компьютера пользователя.


Общие требования к реализации:


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

Если вам это интересно, прошу следовать за мной.


Исходный код проекта


Скриншот:





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

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments3

WireGuard. How it was

Reading time9 min
Views69K

Привет. Я Леша, System Infrastructure Engineer в inDriver. В этой статье на конкретных кейсах объясню, почему WireGuard — отличная VPN-система для работы, в чем разница использования разных утилит и что надо помнить, когда с ними работаешь. Прошу под кат!

Окунуться в мир WireGuard
Total votes 18: ↑18 and ↓0+18
Comments32

Как защитить сайты на PHP при помощи CrowdSec

Reading time5 min
Views5.2K

По данным статистики W3Techs, PHP применяется в 79% сайтов (о которых есть данные об используемых языках программирования). Для их защиты явно нужен собственный баунсер, и он уже добавлен в наш хаб! В этом посте поговорим о том, как этот баунсер может помочь защитить сайты от атак.

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments3

Рецепты nginx: виджет Государственного Адресного Реестра

Reading time9 min
Views3K

Для приготовления виджета Государственного Адресного Реестра, кроме базы, нам также понадобится nginx и его плагины postgres и json. Можно воспользоваться готовым образом.

В базе была определена большая функция gar_select от json и возвращающая json. Вот как раз она и нужна для использования через nginx.

Итак
Total votes 9: ↑6 and ↓3+5
Comments2

Отказоустойчивая работа с Redis

Reading time9 min
Views16K

Эта статья — переработанная версия доклада Отказоустойчивая работа с Redis с прошедшего 17 октября 2020 митапа PHP-разработчиков Йошкар-Олы.

Мы поговорим о подводных камнях использования Redis в системе, где важна отказоустойчивость — на примере хранения сессий в условном веб-сервисе, написанном на PHP, но многие замечания будут справедливы и для других платформ — например для микросервисов на Go. Статья будет полезна, если вы проектируете микросервисы или монолитные приложения с достаточно большой нагрузкой и интенсивно работаете с Redis либо столкнулись с потребностью в перепроектировании механизмов аутентификации и сессий.

Читать далее
Total votes 13: ↑10 and ↓3+14
Comments6

Стриминг видео с помощью Akka Streams

Reading time10 min
Views5K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что стриминг видео не должен быть такой задачей, с которой у кого-либо возникают сложности. Всё дело — в правильном подборе инструментов, среди которых можно отметить пакет Akka Streams. Использование этого пакета позволяет эффективно разрабатывать приложения для потоковой передачи видео.



Правда, не следует думать, что то, о чём мы будем тут говорить, подобно простому примеру, вроде println(«Hello world»), в котором используется система акторов Akka. Сегодня вы узнаете о том, как создать свой первый сервис для потоковой передачи видео (прошу прощения, если моё предположение неверно, и у вас это уже не первый такой проект). В частности, тут будут использованы пакеты Akka HTTP и Akka Streams, с помощью которых мы создадим REST API, который обладает способностями стриминга видеофайлов в формате MP4. При этом устроен этот API будет так, чтобы то, что он выдаёт, соответствовало бы ожиданиям HTML5-тега <video>. Кроме того, тут я скажу несколько слов о наборе инструментов Akka в целом, и о некоторых его компонентах, вроде Akka Streams. Это даст вам определённый объём теории, которая пригодится вам в работе. Но, прежде чем мы приступим к делу, хочу задать один вопрос.
Читать дальше →
Total votes 33: ↑29 and ↓4+34
Comments6

Как написать пассивный доход: Пишем качественного трейд бота на JS (часть 1)

Reading time4 min
Views63K

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

Читать далее
Total votes 26: ↑14 and ↓12+8
Comments98

Представляем Windows Terminal Preview 1.9

Reading time2 min
Views11K

По следам Microsoft Build 2021 у нашего Windows Terminal второй день рождения! Этот релиз впервые представляет версию 1.9 для Windows Terminal Preview и переносит основной Windows Terminal в версию 1.8. Как всегда, вы можете установить обе сборки в Microsoft Store, а также на странице выпусков GitHub. Под катом расскажем, что нового!

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments37

Как получить температуру в -50°C (и ниже!) на дому или вихревая трубка Ранка-Хилша «под микроскопом»

Reading time13 min
Views70K

А что, если я скажу Вам, что можно «подуть» в Т-образную трубку — и с двух других её концов пойдет воздух «сильно минусовой» и «сильно плюсовой» температуры? Похоже на какой-то бред, не так ли? Тем не менее, такое замечательное устройство вполне себе существует и известно очень давно. Ученые до сих пор расходятся во мнениях относительно того, «как же оно всё-таки работает?!». Предлагаем и Вам ознакомиться с этим любопытным эффектом…
Total votes 134: ↑128 and ↓6+165
Comments101

Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал

Reading time31 min
Views154K


Доброго времени суток, друзья!

Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid.

Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid.

В конце статьи вас ждет небольшой туториал по созданию тренажера по Flexbox.

Без дальнейших предисловий.


Total votes 11: ↑7 and ↓4+6
Comments7

Алгоритм на основе Deep Learning от Dynamic Yield позволяет точно персонализировать показ товаров в онлайн-магазине

Reading time3 min
Views1.9K
image

Рекомендательные алгоритмы много лет работают в качестве инструмента персонализации на площадках вроде Amazon, eBay, AliExpress, Wallmart и десятков других. С течением времени алгоритмы становятся все более совершенными, позволяя покупателям видеть в выдаче товары, которые нужны именно им, а компаниям — продавать больше товаров.

Площадок с обычными каталогами товаров, где покупатель каждый раз должен сам искать то, что ему нужно, становится все меньше. Конечно, если покупатель зашел на площадку впервые, ему придется выбирать самостоятельно, но с каждым новым кликом и просмотром алгоритм в реальном времени оптимизирует выдачу товаров, так, что она становится все более персонализированной. Кроме того, появляются и новые алгоритмы, которые разрабатывают hi-tech компании. Один из них разработан компанией Dynamic Yield.
Читать дальше →
Total votes 2: ↑1 and ↓1+2
Comments0

PHP-SPX простой профайлер трейсер для PHP

Reading time4 min
Views13K
Работая с различными PHP проектами часто приходится дебажить приложение чтобы найти и исправить ошибку. Во многих случаях вполне хватает xDebug, однако он не подходит для всех задач. Иногда нужно понять почему та или иная страница долго загружается, что съедает так много памяти или просто как работает большой и запутанный код.
php-spx logo webmageic
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments3

Почему для косметики не делают клинических исследований?

Reading time10 min
Views6.3K
image

На первый взгляд выглядит так: можно взять любые вещества, смешать их в любую комбинацию, зарегистрировать как косметику и начать продавать в аптеках. Вместо безопасного фуфломицина можно собрать чуть ли не слюну Чужого. И вот эти средства никоим образом не испытываются клинически. Никаких двойных слепых плацебо-контролируемых исследований (это почти как когда два хирурга читают ЭКГ).

Вопрос простой: почему так?

Если коротко, то:

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

Это отдельные причины, и сейчас пройдёмся по ним отдельно.
Читать дальше →
Total votes 17: ↑16 and ↓1+20
Comments29

Используем GPU для повышения производительности JavaScript

Reading time7 min
Views16K
image

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

Но думали ли вы об использовании мощи GPU для повышения производительности веб-приложений?

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

Что такое GPU.js и почему его стоит использовать?


Если вкратце, GPU.js — это библиотека ускорения JavaScript, которую можно использовать для любых стандартных вычислений на GPU при работе с JavaScript. Она поддерживает браузеры, Node.js и TypeScript.

Кроме повышения производительности есть и множество других причин, по которым я рекомендую использовать GPU.js:

  • В основе GPU.js лежит JavaScript, что позволяет использовать синтаксис JavaScript.
  • Библиотека берёт на себя задачу автоматической транспиляции JavaScript на язык шейдеров и их компиляции.
  • Если в устройстве отсутствует GPU, она может «откатиться» к обычному движку JavaScript. То есть вы ничего не потеряете, работая с GPU.js.
  • GPU.js можно использовать и для параллельных вычислений. Кроме того, можно асинхронно выполнять множественные вычисления одновременно и на CPU, и на GPU.

Учитывая всё вышесказанное, я не вижу никаких причин не пользоваться GPU.js. Давайте узнаем, как его освоить.
Читать дальше →
Total votes 31: ↑29 and ↓2+34
Comments13

Краткое введение в Машинное обучение

Reading time13 min
Views26K

Пару лет назад я рассказывал жене сказки, что когда я буду старым маразматиком, мое ближайшее окружение не будет страдать от этого, ведь за мной будут ухаживать роботы. Новости о прогрессе искусственного интеллекта впечатляли меня (нейросетки то, нейросетки сё), свет в конце тоннеля манил, как и зарплаты специалистов в этой области. Разумеется, я не смог пройти мимо и решил погрузиться в Machine Learning.

Для старта хотелось почитать что-то совсем базовое, но поиск по строкам "машинное обучение для чайников" вменяемых результатов не дал. Все статьи начинались с тривиальных рассуждений, а потом перепрыгивали на загадочные формулы без особых пояснений. Я не сдавался и добыл несколько книг с хорошими отзывами, но получил то же самое, только уже на 600 страниц. Спустя полгода поисков могу сообщить вам следующее: при текущих темпах развития AI я не увижу роботов в старости, для работы с Machine Learning на самом деле не нужна математика, и как минимум одна статья "машинное обучение для чайников" существует, вы ее сейчас читаете.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments18

VueUse — обязательная библиотека для Vue 3

Reading time6 min
Views14K

Для тех, кто незнаком с этой библиотекой, советую попробовать, так она может де-факто стать стандартом для использования в проектах на Vue 3, как, например, в свое время была библиотека lodash для почти любых проектов на js.

Остальные наверное уже успели заценить весь обширный функционал, который она предоставляет. Некоторые уже использовали ее на Vue 2, но далеко не все новые функции поддерживают старую версию. Арсенал библиотеки впечатляет, тут и простые утилиты вроде клика вне элемента, и различные интеграции с Firebase, Axios, Cookies, QR, локальным хранилищем, браузером, RxJS, анимации, геолокации, расширения для стандартных Vue-хуков, медиа-плеер и многое другое. Среди спонсоров отмечен сам Эван Ю, что как бы намекает. Библиотека регулярно получает обновления, баги закрываются, а сообщество растет. В общем у нее есть все для успеха.

Update: Исправлен баг очистки предыдущей истории изменений.
Update 2: Добавлен более актуальной код примеров.

Читать далее
Total votes 13: ↑7 and ↓6+4
Comments17

Полезные JavaScript-библиотеки

Reading time6 min
Views34K
Не стоит недооценивать силу простоты. Пожалуй, сложно представить себе, что на чистом JavaScript реализовано что-то вроде системы push-уведомлений, работающей в реальном времени, или инструмент для работы с базами данных, или полноценный текстовой редактор. Но подобные проекты существуют и позволяют решать множество актуальных задач. В этом материале речь пойдёт о нескольких весьма полезных библиотеках, которые подключаются к страницам в виде обычных JavaScript-файлов. При рассказе о каждой из них я постараюсь выделять их особенности и приводить примеры их использования.


Читать дальше →
Total votes 48: ↑37 and ↓11+41
Comments18

Information

Rating
Does not participate
Registered
Activity