Алексей Добрый

Алексей Добрый

iOS prevent scrolling on body
ios

iOS prevent scrolling on body

Обычно чтобы убрать прокрутку с body достаточно добавить правило body { overflow: hidden; } Это позволит например не прокручивать контент, находящийся под оверлеем. НО это не работает в iOS. Одно из быстрых решений добавить правило { postion: fixed; } body.lock-position { height: 100%; overflow: hidden; width: 100%; position: fixed; }
Docker registry
docker

Docker registry

Локальный реестр. Используем команду docker run -d \ -p 5000:5000 \ --restart=always \ --name registry \ registry:2 После запуска команды локальный docker реестр готов к использованию. Но это годится только для примера. Для производственной среды нужно защитить реестр с помощью TLS/SSL и конечно использовать механизм контроля доступа. Копирование образа в
2 min read
RXJS retryWhen with Promise
rxjs

RXJS retryWhen with Promise

retryWhen( receives: (errors: Observable) => Observable, the: scheduler ): Observable Задача: Повторить запрос к серверу, если запрос завершился с ошибкой. При повторении ошибки - пауза между запросами увеличивается, при достижении лимита повторов - запросы прекращаются.   retryWhen - повторить наблюдаемую последовательность при возникновении ошибки, используя настраиваемый критерий. import {timer, interval} from '
1 min read
Цикличность и пафос
философия

Цикличность и пафос

Вечные ценности, на то они и вечные, чтобы быть актуальными всегда. А как же в разработке? В разработке всё зациклилось. Зациклилось в позитивном смысле. Теперь всё обновляется и изменятся постоянно. Это же прекрасно, становиться лучше и лучше. Это можно сравнить с эволюцией. Но оборотная сторона — слишком быстро устаревает то, что
1 min read
Rails фоновые задачи с Sidekiq
rails

Rails фоновые задачи с Sidekiq

Допусти нам нужно по требованию выполнить импорт данных из CSV и отобразить результаты. При стандартном подходе в контроллере создадим метод  и выполним обработку файла. class HomeController < ApplicationController require 'csv' def upload csv_path = File.join Rails.root, 'db', 'data.csv' CSV.foreach(csv_
1 min read
Rails TimeZone
rails

Rails TimeZone

Ruby предлагает два класса для управления временем: Time и DateTime. TZInfo является отдельной библиотекой часовых поясов, которая обеспечивает преобразования с учетом перехода на летнее время и включает в себя данные о 582 различных часовых поясах. Часовой пояс в Rails В Rails ActiveSupport::TimeZone является оберткой для TZInfo, предоставляющая набор из
2 min read
rails

OmniAuth Rails

OmniAuth - библиотека стандартизирующая аутентификацию через различных провайдеров  в веб-приложении. Библиотека создавалась чтобы быть мощной, гибкой и в тоже время "маленькой" насколько это возможно. Любой разработчик может создать стратегию для OmniAuth которая сможет аутентифицировать пользователей из разных несовместимых между собой систем (приложений). OmniAuth стратегии создаются для любых случаев
2 min read
rails

Rails Slim Markdown Tables

По умолчанию парсер таблиц отключен. И вместо таблиц будет обычная строка. Включить обработку разметки таблиц в связке Rails+Slim+Redcarpet можно через опции подключаемых движков. В данном случае Redcarpet для Markdown. Gemfile gem 'slim-rails' gem 'redcarpet' По умолчанию парсер таблиц отключен. config/initializers/slim.rb # Standard
Некоторые типы данных Rails
rails

Некоторые типы данных Rails

Широко распространенные типы данных в Rails. Гео-координаты и деньги. Гео-данные - координаты точки на карте. Деньги - стоимость товаров и услуг, прайс-лист, финансовые данные. Пример для PostgreSQL. Правильный тип данных имеет важное значение для работы и поддержки приложения.   Гео-данные rails g Location 'lng:decimal{10,6}' 'lat:
1 min read
Rails - текущая страница?
rails

Rails - текущая страница?

Варианты определения текущей страницы в Rails. Абсолютно стандартная задача в любом веб-приложении. Есть разные варианты определения текущей страницы, по факту текущего URL. Чаще всего используется изменения стилей элементов навигации или подключения разных ресурсов на разные страницы сайта. Использовать params[:id] = link_to 'My', my_path, class: ['navbar-item&
1 min read
Railties
rails

Railties

Rails::Railtie это основа Rails фреймворка, а также некоторые хуки для расширения Rails и/или модификации процесса инициализации. Каждый важный компонент Rails (Action Mailer, Action Record, Action Controller и др.) реализуют Railtie (являются под-классами). Каждый отвечает за свою собственную инициализацию. Это позволяет Rails не иметь каких-либо собственных хуков для компонентов,
1 min read
с9

Amazon Cloud9 IDE --collab mode

Запускаем Amazon C9 Cloud IDE в многопользовательском режиме (multiuser). Здесь мы допускаем, что IDE уже установлена и настроена на работу. Как установить Cloud9 IDE. Реально C9 не поддерживает работу нескольких пользователей одновременно. Для чего это нужно, если в реальности пользователи работают от имени одного пользователя и на одном и том
1 min read

RXJS mergeMap/flatMap

mergeMap( project: function: Observable, resultSelector: function: any, concurrent: number ): Observable Преобразовать каждое испускаемое значение в наблюдаемый объект. flatMap - это псевдоним для mergeMap Если будет активна  только одна внутренняя подписка в конкретный промежуток времени, попробуйте использовать switchMap Если порядок испускания элементов, подписки для внутренних наблюдаемых являются важными, попробуйте concatMap Зачем
1 min read