DIGITAL.ERA

DIGITAL.ERA

Размышления, истории и идеи.

ruby

Ruby: nil? empty? blank? present?

В Ruby on Rails доступны несколько методов для проверки существования значения или состояния объекта. Ruby предлагает nil?, empty? и Rails добавляет blank? и present?. Каждый из методов имеет свою логику и назначение. И конечно предполагает применение в нужном контексте. nil? Метод класса Object в Ruby. Что означает его повсеместную доступность.
1 min read
Vim — проверка орфографии
vim

Vim — проверка орфографии

Vim проверенный временем, просто и одновременно мощный редактор. Одна из позитивных возможностей — проверка орфографии. Допустим, что настройки редактора в домашней директории пользователя в файле ~/.vimrc. Добавим: set spell spelllang=ru_ru,en_us Можно это сделать и в редакторе, выполнив команду: :set spell spelllang=ru_ru Но если редактором пользуемся
1 min read
Работа с форками
github

Работа с форками

Форки (Forks) позволяют внести изменения в проект без изменения кода основного репозитория. После ответвления репозитория, можно продолжать получать изменения из основного, и отправлять свои правки через запросы на изменения (pull request). Форк может быть персональным, или принадлежать организации. Обычно форки используются для отработки идей и изменений перед тем, как принять
1 min read
slimrb
ruby

slimrb

Преобразование Slim в Erb. slimrb консольная утилита запускается в командной строке. Использование Slim в качестве основного шаблонизатора очень удобно и продуктивно. Но накладывает ограничения на форматирование. Не всегда удобно, когда в команде работают специалисты разного уровня подготовки. Для сложных и объемных страниц может быть сложным. Slim - супер решение, но
1 min read
Compiling vs Transpiling
compile

Compiling vs Transpiling

Компилятор общими словами это программа которая получает исходный код, написанный на каком-то языке программирования и создает  файл (или несколько файлов) на другом языке. Обычно компиляцией называют преобразование исходного кода в двоичный (бинарный) исполняемый  файл (машинный код).  Примером может служить компилятор gcc. Транспилятор, или компиляторы исходного кода, берут файл исходного кода
1 min read
Nuxt 3
nuxt

Nuxt 3

Nuxt это платформа с открытым исходным кодом под лицензией MIT для создания современных и производительных веб-приложений, которые могут работать практически на любых платформах где выполняется JavaScript. Чтобы понять что такое Nuxt, разберемся что необходимо для современного приложения: * JavaScript фреймворк, для "реактивности" и использования веб-компонентов, в Nuxt это Vue.js * Сборщик
2 min read
Мигающий текстовый курсор Chrome
chrome

Мигающий текстовый курсор Chrome

Мигающий курсор, текстового ввода, вертикальная черта, используется для указания точки ввода. Например, поля формы. Курсор мигает показывая текущую точку для ввода данных, текста. Некоторые пользователи обратили внимание, что в браузере  на страницах в разных позициях появляется мигающий текстовый курсор. Причем поведение изменилось. Если раньше курсор был в полях ввода, то
1 min read
История Интернет
история

История Интернет

В конце 60-х, Управление передовых исследований США (ARPA, или DARPA позднее) запустило финансирование экспериментальной глобальной сети ARPANet. Тогда основной задачей сети было объединение исследовательских организаций. Стоимость компьютерных ресурсов была высока в тем времена. И идея состояла в том, чтобы иметь возможность использовать компьютерные ресурсы совместно. Но как обычно это бывает
1 min read
Разделы MAN Linux
linux

Разделы MAN Linux

Чтобы посмотреть список доступных MAN страниц для команды Linux, или по ключевому слову, или даже по нескольким буквам используем apropos $ apropos crontab вывод anacrontab (5) - configuration file for anacron crontab (1) - maintain crontab files for individual users (Vixie Cron) crontab (5) - tables for driving cron Разделы MAN
1 min read
Состояние аккумулятора в Ubuntu
ubuntu

Состояние аккумулятора в Ubuntu

Проверить состояние аккумулятора ноутбука в Ubuntu. Общая информация об аккумуляторе, проценте заряда отображается на верхней панели, на рабочем столе. Для отображения данных в командной строке можно использовать  несколько разных утилит. upower Посмотреть список, пути устройств upower -e На выходе получим примерно следующее /org/freedesktop/UPower/devices/line_power_ADP1 /org/
2 min read
Отношения в Strapi
strapi

Отношения в Strapi

В реляционной модели данных отношение - это фундаментальное понятие. В общем поэтому и модель называется реляционной от relation. Вся информация в реляционной базе данных, это набор таблиц с данными. Каждая таблица хранит строго определенный тип сущностей. В терминах реляционной модели каждая строка в  таблице, также запись или кортеж, столбец таблицы,
2 min read
Rails 7.0 - Релиз
rails

Rails 7.0 - Релиз

Свершилось. 15 декабря 2021 года официально вышел Rails 7.0. Основный посыл -  упрощение работы над современными веб-приложения. Это достаточно масштабный переход. Так же обновилась главная страница сайта. А DHH записал новые видео. * Комментарии к релизу Факты * Более 600 человек участвуют в разработке и поддержке кода Rails. * Rails это фреймворк
Rails 7 (RC1)
rails

Rails 7 (RC1)

И так,  6 декабря 2021 года представлен релиз-кандидат Rails 7. И команда разработки готова в скором времени готова объявить о завершении работы над новой версией Rails 7. С момента альфа версии было исправлено множество проблем. Если все пойдет по плану, то мы увидим финальный релиз Rails 7 уже в этом,
1 min read
Память. Оперативная память.
hardware

Память. Оперативная память.

Получить детальную информацию о памяти в Linux при помощи утилиты lshw. lshw может показать детальную информацию о памяти, firmware, конфигурацию системной платы, процессора, шины и т.д. Для ограничения вывода по конкретному классу устройств используем -class,-C # общая информация sudo lshw -class MEMORY # кратко sudo lshw -class MEMORY -short dmidecode
1 min read
SQLite dumps
sqlite

SQLite dumps

Установить SQLite в Ubuntu sudo apt install sqlite3 libsqlite3-dev Открыть конкретную базу данных, консоль: sqlite3 ~/database.sqlite3 sqlite> Для сохранения дампа базы используется  команда .dump: sqlite> .output dump.sql sqlite> .dump sqlite> .exit Для сохранения отдельной таблицы sqlite> .output users.sql sqlite> .dump users sqlite> .quit Будет сохранена схема и
1 min read
Nuxt 3 beta
nuxt

Nuxt 3 beta

И так, через 468 дней после первого коммита Nuxt 3 вышел в бета-версии. Более года интенсивной разработки Nuxt 3. Документация и код. Новая основа Помимо Vue3 и Vite, Nuxt 3 содержит новый серверный движок, который открывает новые возможности. Это  JavaScript сервер приложений который переносим среди множества современных облачных провайдеров. В
1 min read
«O» большое - скорость алгоритма
алгоритмы

«O» большое - скорость алгоритма

Специальное соглашение «О-большое» описывает скорость работы алгоритма. Важно понимать, знать насколько быстро или медленно работают алгоритмы. Время выполнения алгоритма может расти с разной скоростью.  Например при поиске элементов. Допустим один шаг, одна итерация алгоритма выполняется 1мс. Значит при обработке 100 элементов время выполнения будет 100мс. Для бинарного поиска, чтобы найти
2 min read
Nuxt 3 is coming
nuxt

Nuxt 3 is coming

Созданные полностью с нуля для современного web. Гибридный статичный и серверный рендеринг, API маршруты и  native serverless. Что нового ожидается в Nuxt 3 До 75 раз меньше при развертывании сервера и меньший клиентские скрипты для современных браузеров. Оптимальный холодный старт с динамическим разделением кода на стороне сервера, на основе nitro.
2 min read
Python venv - виртуальное окружение
python

Python venv - виртуальное окружение

Начиная с версии Python 3.3. Модуль venv предоставляет поддержку создания легковесного виртуального окружения с собственными директориями, изолированными от общих системных. Каждое виртуальное окружение имеет свой собственный набор бинарных исполняемых файлов и может иметь собственный независимый набор установленных пакетов. Для создания виртуального окружения # Создать директорию проекта mkdir next-porject cd next-project
1 min read
Rails Multibase and Models
rails

Rails Multibase and Models

Rails 6.1 предлагает возможность использования одновременно нескольких баз данных. Для чего? Во первых можно распределить нагрузку и использовать одну из баз только для чтения, другую только на запись, например для админки. Конечно можно использовать разные типы баз данных в одном приложении. Это открывает еще больше возможностей, например для объединения
2 min read
OAuth 2
security

OAuth 2

Роли / Roles Стороннее приложение: Клиент Клиент это приложение которое пытается получить доступ к учетной записи пользователя. Для этого клиенту нужны разрешения от пользователя. API: Сервер ресурсов Сервер ресурсов это API сервер используемый для получения доступа к информации пользователя. Сервер авторизации Это сервер предоставляющий интерфейс где пользователь разрешает или запрещает запрос
4 min read