vault backup: 2026-05-26 21:21:43
This commit is contained in:
Vendored
+14
-30
File diff suppressed because one or more lines are too long
@@ -0,0 +1,44 @@
|
||||
---
|
||||
status: seed
|
||||
type: guide
|
||||
tags:
|
||||
- other
|
||||
- printer
|
||||
- kyocera
|
||||
created: 2026-05-26
|
||||
updated: 2026-05-26
|
||||
title: Kyocera FS-1020MFP — ошибки
|
||||
source: "[[В случае ошибок на принтере Kyocera FS-1020MFP]]"
|
||||
---
|
||||
|
||||
# Kyocera FS-1020MFP — ошибки
|
||||
|
||||
## E-0008: Cover open
|
||||
|
||||
Причина: открыта крышка.
|
||||
|
||||
Что сработало: закрыть заднюю откидную крышку. Никаких кнопок нажимать не понадобилось.
|
||||
|
||||
## E-0001: Non-genuine toner
|
||||
|
||||
Причина: принтер видит неоригинальный картридж.
|
||||
|
||||
Что сработало: зажать `Mode Select` + `Stop/Reset` на 3+ секунды.
|
||||
|
||||
Важно: нужна именно `Mode Select`, а не зелёная кнопка `Start`. Комбинация `Start` + `Stop` не помогла.
|
||||
|
||||
После сброса на экране появилось `01`. Это не ошибка, а нормальный режим готовности: количество копий по умолчанию равно 1.
|
||||
|
||||
## E-0017: Not connected
|
||||
|
||||
Это не аппаратная ошибка, а отвалившийся USB.
|
||||
|
||||
Что сделать:
|
||||
|
||||
1. Нажать `Stop/Reset`.
|
||||
2. Подключить USB-кабель.
|
||||
3. Проверить драйвер.
|
||||
|
||||
## Коротко
|
||||
|
||||
Главная рабочая комбинация для сброса ошибки картриджа: `Mode Select` + `Stop/Reset`, удерживать 3+ секунды.
|
||||
@@ -1,13 +1,15 @@
|
||||
---
|
||||
status: seed
|
||||
status: processing
|
||||
type: knowledge
|
||||
tags:
|
||||
- programming
|
||||
- ruby
|
||||
created: 2026-05-17
|
||||
updated: 2026-05-17
|
||||
updated: 2026-05-26
|
||||
title: Ruby - массивы
|
||||
source: "[[Ruby - массивы]]"
|
||||
source:
|
||||
- "[[Ruby - массивы]]"
|
||||
- "[[Итераторы для обработки массивов Ruby]]"
|
||||
---
|
||||
|
||||
# Ruby — массивы
|
||||
@@ -95,3 +97,76 @@ a.sample(n) # n случайных элементов
|
||||
|
||||
a.select { |x| block } # массив элементов, для которых block == true
|
||||
```
|
||||
|
||||
## Итераторы
|
||||
|
||||
`each` перебирает элементы массива:
|
||||
|
||||
```ruby
|
||||
ary.each { |item| block }
|
||||
```
|
||||
|
||||
Пример:
|
||||
|
||||
```ruby
|
||||
arr.each do |x|
|
||||
if x > 0 && x % 5 == 0
|
||||
arr_out << x
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
`each_index` перебирает индексы:
|
||||
|
||||
```ruby
|
||||
ary.each_index { |index| block }
|
||||
```
|
||||
|
||||
Похожий проход по индексам:
|
||||
|
||||
```ruby
|
||||
(0...arr.size).each do |i|
|
||||
if arr[i] > 0 && arr[i] % 5 == 0
|
||||
arr_out << arr[i]
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
### Поиск минимума, максимума и индексов
|
||||
|
||||
Императивный вариант:
|
||||
|
||||
```ruby
|
||||
a = gets.chomp.split.map { |i| i.to_i }
|
||||
p a
|
||||
|
||||
max = min = a[0]
|
||||
maxi = mini = 0
|
||||
|
||||
for i in 1...a.size
|
||||
if a[i] > max
|
||||
max = a[i]
|
||||
maxi = i
|
||||
end
|
||||
|
||||
if a[i] < min
|
||||
min = a[i]
|
||||
mini = i
|
||||
end
|
||||
end
|
||||
|
||||
puts "Максимальное число: #{max}, индекс: #{maxi}"
|
||||
puts "Минимальное число: #{min}, индекс: #{mini}"
|
||||
```
|
||||
|
||||
Через методы массива:
|
||||
|
||||
```ruby
|
||||
a = gets.chomp.split.map { |i| i.to_i }
|
||||
p a
|
||||
|
||||
max = a.max
|
||||
min = a.min
|
||||
maxi = a.index(max)
|
||||
mini = a.index(min)
|
||||
```
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
---
|
||||
status: seed
|
||||
status: processing
|
||||
type: knowledge
|
||||
tags:
|
||||
- programming
|
||||
- ruby
|
||||
created: 2026-05-17
|
||||
updated: 2026-05-17
|
||||
updated: 2026-05-26
|
||||
title: Ruby - основы языка
|
||||
source: "[[Ruby - основы языка]]"
|
||||
source:
|
||||
- "[[Ruby - основы языка]]"
|
||||
- "[[Знания Ruby]]"
|
||||
---
|
||||
|
||||
# Ruby — основы языка
|
||||
@@ -66,6 +68,40 @@ nil.class # => NilClass
|
||||
|
||||
**Неявное:** при математических операциях `Integer + Float` → `Float`.
|
||||
|
||||
## Значения по умолчанию
|
||||
|
||||
Для присваивания значения по умолчанию часто используют `||=`:
|
||||
|
||||
```ruby
|
||||
a ||= 'что-то'
|
||||
# то же самое, что:
|
||||
a = a || 'что-то'
|
||||
```
|
||||
|
||||
Это работает из-за того, что в Ruby только `nil` и `false` считаются falsey. Все остальные значения, включая `0`, пустую строку и пустой массив, в условиях считаются truthy.
|
||||
|
||||
Ограничение: `||=` не подходит, если `false` — допустимое сохранённое значение.
|
||||
|
||||
## Предикаты
|
||||
|
||||
В Ruby проверки часто оформляют методами-предикатами с `?` на конце:
|
||||
|
||||
```ruby
|
||||
0.zero? # => true
|
||||
1.zero? # => false
|
||||
2.positive? # => true
|
||||
|
||||
8.even? # => true
|
||||
8.odd? # => false
|
||||
|
||||
''.empty? # => true
|
||||
'wow'.empty? # => false
|
||||
|
||||
something.nil?
|
||||
items.any?
|
||||
items.empty?
|
||||
```
|
||||
|
||||
## Управляющие конструкции
|
||||
|
||||
```ruby
|
||||
@@ -96,6 +132,142 @@ else puts "другое"
|
||||
end
|
||||
```
|
||||
|
||||
### Альтернативные условия
|
||||
|
||||
Тернарный оператор — короткая форма `if/else`, когда нужно выбрать одно из двух значений:
|
||||
|
||||
```ruby
|
||||
condition ? value_if_true : value_if_false
|
||||
```
|
||||
|
||||
Пример:
|
||||
|
||||
```ruby
|
||||
age = 20
|
||||
status = age >= 18 ? 'adult' : 'minor'
|
||||
# => "adult"
|
||||
```
|
||||
|
||||
Обычный `if/else` для того же случая:
|
||||
|
||||
```ruby
|
||||
status =
|
||||
if age >= 18
|
||||
'adult'
|
||||
else
|
||||
'minor'
|
||||
end
|
||||
```
|
||||
|
||||
Тернарный оператор удобен, когда обе ветки короткие и возвращают простые значения:
|
||||
|
||||
```ruby
|
||||
message = user.nil? ? 'Гость' : user.name
|
||||
price = discount ? base_price * 0.9 : base_price
|
||||
```
|
||||
|
||||
Если логика занимает несколько строк, лучше использовать обычный `if/else`. Вложенные тернарные операторы тоже лучше не писать: они быстро становятся нечитаемыми.
|
||||
|
||||
Плохой вариант:
|
||||
|
||||
```ruby
|
||||
result = a > 0 ? 'positive' : a < 0 ? 'negative' : 'zero'
|
||||
```
|
||||
|
||||
Постфиксный `if` используют для коротких выражений:
|
||||
|
||||
```ruby
|
||||
do_something if num.zero?
|
||||
```
|
||||
|
||||
`unless` выполняет блок, если условие ложно:
|
||||
|
||||
```ruby
|
||||
unless something.zero?
|
||||
do_something
|
||||
end
|
||||
```
|
||||
|
||||
Сложные условия внутри `unless` лучше не писать: `unless a && b` читается хуже явного `if`.
|
||||
|
||||
## Логические операторы
|
||||
|
||||
```ruby
|
||||
true && false # => false
|
||||
false || true # => true
|
||||
!true # => false
|
||||
```
|
||||
|
||||
Сравнение с логическими значениями строгое:
|
||||
|
||||
```ruby
|
||||
true == 1 # => false
|
||||
false == nil # => false
|
||||
```
|
||||
|
||||
Логические операторы возвращают не обязательно `true` или `false`, а последнее вычисленное значение:
|
||||
|
||||
```ruby
|
||||
0 && 'one' # => "one"
|
||||
nil && false # => nil
|
||||
```
|
||||
|
||||
## Оператор `<=>`
|
||||
|
||||
`<=>` называют spaceship-оператором. Он возвращает `-1`, `0` или `1` и часто используется при сортировке:
|
||||
|
||||
```ruby
|
||||
1 <=> 1 # => 0
|
||||
2 <=> 1 # => 1
|
||||
1 <=> 2 # => -1
|
||||
```
|
||||
|
||||
## Строки
|
||||
|
||||
Конкатенация:
|
||||
|
||||
```ruby
|
||||
name = 'H' + 'e' + 'x' + 'l' + 'e' + 't'
|
||||
name = 'H' 'e' 'x' 'l' 'e' 't'
|
||||
```
|
||||
|
||||
Интерполяция работает только в двойных кавычках:
|
||||
|
||||
```ruby
|
||||
greeting = "hello #{name}"
|
||||
line_feed = "one line\nanother one"
|
||||
```
|
||||
|
||||
Полезные методы:
|
||||
|
||||
```ruby
|
||||
name = 'ruby'
|
||||
name.upcase # => "RUBY"
|
||||
name.include?('ru')
|
||||
name.capitalize # => "Ruby"
|
||||
name.length # => 4
|
||||
```
|
||||
|
||||
Срезы:
|
||||
|
||||
```ruby
|
||||
name = 'ruby'
|
||||
name[1] # => "u"
|
||||
name[-1] # => "y"
|
||||
name[0, 2] # => "ru"
|
||||
name[0..-2] # => "rub"
|
||||
name[-4..] # => "ruby"
|
||||
name[/ru/] # => "ru"
|
||||
```
|
||||
|
||||
Пример маскирования номера карты:
|
||||
|
||||
```ruby
|
||||
def prepare_card_for_display(num)
|
||||
"**#{num[-4..]}"
|
||||
end
|
||||
```
|
||||
|
||||
## Циклы
|
||||
|
||||
| Оператор | Назначение |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
generated: 2026-05-25
|
||||
total: 452
|
||||
generated: 2026-05-26
|
||||
total: 456
|
||||
---
|
||||
|
||||
# Vault Index
|
||||
@@ -11,9 +11,9 @@ total: 452
|
||||
|
||||
| Параметр | Значение |
|
||||
|----------|----------|
|
||||
| Всего заметок | 452 |
|
||||
| status: processing | 32 |
|
||||
| status: seed | 215 |
|
||||
| Всего заметок | 456 |
|
||||
| status: processing | 34 |
|
||||
| status: seed | 217 |
|
||||
| status: stable | 112 |
|
||||
| status: — | 93 |
|
||||
|
||||
@@ -197,7 +197,7 @@ total: 452
|
||||
| `04 Tools/StudyTracker/StudyTracker.md` | 🎓 Трекер Обучения | stable | database | tracker, education |
|
||||
| `04 Tools/🛠️ Неоконченные заметки.md` | 🛠️ Неоконченные заметки | stable | database | dashboard |
|
||||
|
||||
### 90 Library (228)
|
||||
### 90 Library (229)
|
||||
|
||||
| `90 Library/Containers/Apache Mesos.md` | Apache Mesos | stable | concept | devops, containerization |
|
||||
| `90 Library/Containers/Docker Swarm.md` | Docker Swarm | stable | concept | devops, containerization, docker |
|
||||
@@ -416,10 +416,11 @@ total: 452
|
||||
| `90 Library/Networking/Широковещательные и коллизионные домены. Коммутация..md` | Широковещательные И Коллизионные Домены. Коммутация | stable | concept | network, networking |
|
||||
| `90 Library/Networking/Широковещательные и коллизионные домены. Маршрутизация..md` | Широковещательные И Коллизионные Домены. Маршрутизация | stable | concept | network, networking |
|
||||
| `90 Library/Other/Guide - Статья.md` | Guide - Статья | processing | concept | science, other |
|
||||
| `90 Library/Other/Kyocera FS-1020MFP — ошибки.md` | Kyocera FS-1020MFP — ошибки | seed | guide | other, printer, kyocera |
|
||||
| `90 Library/Other/Гайд на научников.md` | Гайд на научников | stable | knowledge | other |
|
||||
| `90 Library/Other/Сканер отпечатка пальцев.md` | Сканер Отпечатка Пальцев | processing | knowledge | other |
|
||||
| `90 Library/Programming/Ruby - массивы.md` | Ruby - массивы | seed | knowledge | programming, ruby |
|
||||
| `90 Library/Programming/Ruby - основы языка.md` | Ruby - основы языка | seed | knowledge | programming, ruby |
|
||||
| `90 Library/Programming/Ruby - массивы.md` | Ruby - массивы | processing | knowledge | programming, ruby |
|
||||
| `90 Library/Programming/Ruby - основы языка.md` | Ruby - основы языка | processing | knowledge | programming, ruby |
|
||||
| `90 Library/Programming/Ruby On Rails/API импорт в Rails через runner.md` | API импорт в Rails через runner | seed | guide | programming, ruby-on-rails, api |
|
||||
| `90 Library/Programming/Ruby On Rails/Active Storage.md` | Active Storage | processing | concept | programming, ruby-on-rails |
|
||||
| `90 Library/Programming/Ruby On Rails/Rails credentials edit не открывает редактор.md` | Rails credentials edit не открывает редактор | seed | guide | programming, ruby-on-rails, debug |
|
||||
@@ -428,7 +429,7 @@ total: 452
|
||||
| `90 Library/Sport/L-карнитин.md` | L-карнитин | seed | concept | gym, БАД, sport, supplements |
|
||||
| `90 Library/Sport/Креатин.md` | Креатин | seed | concept | gym, БАД, sport |
|
||||
|
||||
### 99 System (56)
|
||||
### 99 System (59)
|
||||
|
||||
| `99 System/Archive/31, 32 - Налоги 1.md` | 31, 32 - Налоги | seed | knowledge | study, taxes |
|
||||
| `99 System/Archive/31, 32 - Налоги.md` | 31, 32 - Налоги | seed | knowledge | study, taxes |
|
||||
@@ -447,11 +448,14 @@ total: 452
|
||||
| `99 System/Archive/Алгоритм обратного распространения ошибки для произвольного числа слоев НС.md` | Алгоритм обратного распространения ошибки для произвольного числа слоев НС | seed | concept | — |
|
||||
| `99 System/Archive/Алгоритм обучения сети Кохонена.md` | Алгоритм обучения сети Кохонена | seed | concept | — |
|
||||
| `99 System/Archive/Анализ типа фин. устойчивости.md` | Анализ типа фин. устойчивости | seed | concept | — |
|
||||
| `99 System/Archive/В случае ошибок на принтере Kyocera FS-1020MFP.md` | В случае ошибок на принтере Kyocera FS-1020MFP | seed | concept | — |
|
||||
| `99 System/Archive/ВДО no кредитам.md` | — | seed | concept | — |
|
||||
| `99 System/Archive/Введение в сетевую безопасность.md` | Введение в сетевую безопасность | processing | concept | — |
|
||||
| `99 System/Archive/Знания Ruby.md` | Знания Ruby | seed | concept | — |
|
||||
| `99 System/Archive/Идеи для статьи.md` | Идеи Для Статьи | — | — | — |
|
||||
| `99 System/Archive/Идея сети кохонена.md` | Идея сети кохонена | seed | concept | — |
|
||||
| `99 System/Archive/Идея.md` | — | seed | concept | — |
|
||||
| `99 System/Archive/Итераторы для обработки массивов Ruby.md` | Итераторы для обработки массивов Ruby | seed | concept | — |
|
||||
| `99 System/Archive/КР - Кохонен.md` | КР - Кохонен | seed | concept | — |
|
||||
| `99 System/Archive/КР - Персептрон.md` | КР - Персептрон | seed | concept | — |
|
||||
| `99 System/Archive/КР - Хопфилд.md` | КР - Хопфилд | seed | concept | — |
|
||||
|
||||
Reference in New Issue
Block a user