Search
Write a publication
Pull to refresh
4
0
xRay @xRay

Пользователь

Send message

Забудьте про RGB и HEX

Reading time3 min
Views51K
В CSS существует несколько способов представления цветов. Один из них — система HSL. В этой статье я покажу вам, какие возможности она открывает для верстальщика.

Да мой старый laptop в несколько раз мощнее, чем ваш production server

Reading time5 min
Views99K
Именно такие претензии я услышал от наших девелоперов. Самое интересное, что это оказалось правдой, дав начало длительному расследованию. Речь пойдет про SQL servers, которые крутятся у нас на VMware.


Читать дальше →

Полный набор gRPC, RESTful JSON API, WS и Swagger из одного proto файла. От введения до нюансов и тонкостей grpc-gateway

Reading time9 min
Views39K

В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему.


Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остановиться на этом подходе.


grpc-gateway — это плагин protoc. Он читает определение сервиса gRPC и генерирует обратный прокси-сервер, который переводит RESTful JSON API в gRPC. Этот сервер создается в соответствии с пользовательскими параметрами в вашем определении gRPC.


Это выглядит вот так:


Читать дальше →

Фракталы на Python. Пошаговое руководство

Reading time10 min
Views73K
Привет, Хабр! Сегодняшний пост про фракталы попался в рамках проработки темы Python, в частности, Matplotlib. Последуем примеру автора и предупредим, что в посте много тяжелой анимации, которая может даже не работать на мобильном устройстве. Зато как красиво.



Всем приятного чтения
Читать дальше →

Базовые возможности LXD — системы контейнеров в Linux

Reading time29 min
Views63K

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


Ядро LXD — это привилегированный демон (сервис запущенный с правами root), который предоставляет REST API через локальный unix сокет, а также через сеть, если установлена соответствующая конфигурация. Клиенты, такие как инструмент командной строки поставляемый с LXD посылают запросы через этот REST API. Это означает, что независимо от того, обращаетесь ли вы к локальному хосту или к удаленному, все работает одинаково.


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

Читать дальше →

Что происходит с транспортом в кризис (первая неделя апреля)

Reading time7 min
Views8.8K
CAPA Centre for Aviation считают, что большинство авиакомпаний разорится к маю, если правительства не вмешаются. Как можно догадаться, вмешаться они могут либо деньгами, либо национализацией с деньгами, либо придумать ещё что-то, что в итоге обернётся деньгами.

В список из 646 системообразующих компаний для экономики нашей страны (кроме «Фонбета») вошли вот эти авиакомпании:

96	ООО "Авиакомпания Волга-Днепр"
97	АО "Авиакомпания "Россия"
98	ОАО "Авиакомпания "Уральские авиалинии"
99	ООО "Авиакомпания "Победа"
100	ПАО "Авиакомпания "ЮТэйр"
101	ПАО "Авиакомпания Сибирь"
102	ПАО "Аэрофлот"
103	ООО "ЮАэро"

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

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



Это «радар надежды», потому что именно по нему можно будет видеть, как восстанавливается транспортная сеть перелётов из России. Сейчас общее состояние — 401 рейс из 3168 внутри России и 6 рейсов из 899 за границу.

Классификация изображений на Android с помощью TensorFlow Lite и сервиса Azure Custom Vision

Reading time6 min
Views5K
Классификация изображений позволяет нашим приложениям Xamarin распознавать объекты на фотографиях.

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

Благодаря сервису Azure Custom Vision нам не нужно изучать сложные алгоритмы машинного обучения для реализации классификации изображений.

В этой статье мы рассмотрим, как реализовать классификацию изображений с помощью сервиса Azure Custom Vision, TensorFlow Lite (платформа машинного обучения с открытым исходным кодом) и Xamarin.Android.

Читать дальше →

Инструменты реализации API-сервера на Golang с автогенерацией кода и документации

Reading time13 min
Views42K

Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации


Сегодня мы разберем эти готовые инструменты:


Читать дальше →

Spiral: высокопроизводительный PHP/Go фреймворк

Reading time8 min
Views21K


Привет, Хабр. Меня зовут Антон Титов, CTO компании Spiral Scout. Сегодня я хотел бы рассказать вам про нашего PHP-слона. А точнее про вторую версию опен-сорсного full-stack PHP/Go фреймворка — Spiral.

Spiral — это компонентный full-stack фреймворк, разрабатываемый нашей компанией более одиннадцати лет и обслуживающий под сотню реальных проектов. Программный пакет основан на множестве открытых и собственных библиотек, включая RoadRunner и Cycle ORM.

Фреймворк совместим с большинством PSR рекомендаций, поддерживает MVC и работает в 5-10 раз быстрее Laravel/Symfony.

Если вы никогда не слышали о Spiral и гадаете, что такое PHP/Go фреймворк и куда делась первая версия — добро пожаловать под кат.
Читать дальше →

PHP-Дайджест № 177 (23 марта – 6 апреля 2020)

Reading time4 min
Views12K

Свежая подборка со ссылками на новости и материалы. В выпуске: расписание релиза PHP 8, анализ эргономики объектов в PHP и 5 свежих RFC из PHP Internals, немного полезных инструментов, видео, подкасты и многое другое.

Приятного чтения!


Читать дальше →

Trusted Types — новый способ защиты кода веб-приложений от XSS-атак

Reading time6 min
Views7.6K
Компания Google разработала API, которое позволяет современным веб-приложениям защитить свой фронтенд от XSS-атак, а конкретнее — от JavaScript инъекций в DOM (DOM-Based Cross Site Scripting).

Межсайтовый скриптинг (XSS) — наиболее распространённый тип атак, связанных с уязвимостью современных веб-приложений. Это признаёт не только компания Google, но и вся индустрия. Опыт показывает, что разработка веб-приложения устойчивого к XSS-атаке, по-прежнему является нетривиальной задачей, особенно, когда речь идёт о сложных проектах. Если на бэкенде разработчики достаточно успешно решают эту проблему, то на фронтенде всё гораздо сложнее. В рамках программы Google's Vulnerability Reward Program всё больше наград получают разработчики, предложившие решение по защите от атаки DOM XSS.
Читать дальше →

Книга «Head First. Изучаем Go»

Reading time4 min
Views15K
image Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется и читается не сложнее чем на Python и JavaScript. Простые примеры позволят познакомиться с языком в действии и сразу приступить к программированию на Go. Так что вы быстро освоите общепринятые правила и приемы, которые позволят вам называть себя гофером.

Читать дальше →

Реверс API по его android приложению

Reading time3 min
Views11K

Зачем


У меня есть pet-project, приложение для учета финансов.


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


Но


  • Банков несколько и они ничего не знают друг про друга. В итоге
    • Нет единой аналитики
    • Перевод денег из одного банка в другой будет считаться как списание с одной стороны и зачисление с другой. Эта особенность портит аналитику.
  • Возможность работать с данными позволяет строить любую аналитику и прогнозы в отличие от ui банка
Читать дальше →

Как я сгенерировал на Python тысячу лиц для своей игры

Reading time3 min
Views32K
На определённом этапе разработки своей игры я осознал, что мне нужна система диалогов с лицами-аватарами.

Поэтому я решил создать генератор лиц на основе знаменитой игры Papers, Please.


Генератор лиц Dukope (из Papers, Please)

Сбор данных


Я скачал примерно 50 портретов с pixabay.com (все изображения имеют лицензию CC и не требуют указания авторства).

Затем я вырезал фон каждого изображения в Photoshop (просто выбрал всё инструментом выделения многоугольника и нажал на Delete). В дальнейшем я планировал воспользоваться эффектом cutout , чтобы скрыть все недочёты.


Изображения с удалённым фоном
Читать дальше →

Информационное сообщение 404 — не только ошибка, но и праздник

Reading time3 min
Views4.1K


4.04 все причастные ко всемирной паутине, и веб-мастеры в частности отмечают день Интернета (День святого Исидора Севильского — покровителя сети).


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


Не стану перечислять того множества профессий, которое трудится на благо Сети, ибо для простого обывателя мы по прежнему остаемся "компьютерщиками".


Хочется просто остановиться на историях возникновения данного сообщения(официальных, альтернативных, своих).

Читать дальше →

Как привести в порядок историю ваших коммитов в Git

Reading time5 min
Views25K
Публикуем перевод статьи, которую мы нашли на hackernoon.com. Ее автор, Thiago Miranda, пишет о том, как сделать работу с Git более удобной и эффективной.

Читать дальше →

Как надо исправлять утечки маршрутов

Reading time2 min
Views14K
Стоит оговориться, что нижеследующая история во многом уникальна.

И вот как она начиналась. В течение примерно одного часа, начиная с 19.28 UTC вчера, 1 апреля 2020 года, крупнейший российский интернет-провайдер — Ростелеком (AS12389) — начал анонсировать сетевые префиксы крупнейших игроков интернета: Akamai, Cloudflare, Hetzner, Digital Ocean, Amazon AWS и других известных имен. До того момента как проблема была решена, пути между крупнейшими облачными провайдерами планеты были нарушены — Интернет «моргнул».

Данная утечка маршрута вполне успешно распространялась через провайдера Rascom (AS20764), откуда через Cogent (AS174) и, спустя еще несколько минут, через Level3 (AS3356) распространилась по всему миру. Утечка была настолько серьезной, что почти все Tier-1 операторы были задеты аномалией.

Выглядело это так:

image

Поверх такого:

image
Читать дальше →

Пришло время бесплатных сайтов

Reading time3 min
Views182K

Привет, %username%!




Сегодня многие начинающие веб-разработчики делают большую ошибку, и не одну. Они что-нибудь сверстают, а потом покупают хостинг. Далее покупают домен. Регистрируют и подключают SSL-сертификат. Я, спасаясь от минус-кармы, просто расскажу как не тратить деньги на свои тестовые проекты.
Читать дальше →

Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr и функции семейства unnest)

Reading time24 min
Views2.7K

В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML.


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


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




Данная статья является логическим продолжением публикации "R пакет tidyr и его новые функции pivot_longer и pivot_wider". Она поможет вам привести неструктурированные конструкции данных к привычному, и пригодному для анализа табличному виду с помощью пакета tidyr, входящего в ядро библиотеки tidyverse, и его функций семейства unnest_*().

Читать дальше →

Как спецификация блоков питания ATX12VO от Intel изменит будущее

Reading time7 min
Views14K

Значительное изменение потревожит баланс сил в мире блоков питания ПК впервые за 20 лет




Мы не так уж и часто пишем об источниках питания, но новые спецификации ATX12VO от Intel (на конце – буква О, а не ноль) вскоре начнут реализовываться в готовых блоках питания от OEM-производителей и системных интеграторов, и это – значительное изменение в дизайне блоков питания (БП).

В спецификации ATX12VO сняты ограничения на значения напряжения в БП с целью улучшить стандарты эффективности ПК и удовлетворить строгим правительственным правилам. Но хотя спецификация, по сути, убирает из БП напряжения в +3,3 В, +5 В, -12 В и +5 В в режиме ожидания, эти напряжения никуда не исчезнут – они просто перейдут на материнскую плату. Это ещё одно большое изменение, поэтому продолжайте читать, чтобы узнать больше.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity