Search
Write a publication
Pull to refresh
17
0.6
Кашлак Андрей @andreymal

User

Send message

В посте написано:

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

Как постоянный пользователь матрикса подтверждаю это всё

В оригинале там «network layer», а переводчик, видимо, играл с синонимами и проиграл

нужно осваивать erlang

Зачем? У меня личный сервер на ejabberd уже лет пятнадцать, из настроек всего один yaml-файлик, erlang до сих пор не знаю

Способ №2: Кладбище pet-проектов

То ли здесь забыто слово «недоделанных», то ли спорно: у меня есть проекты, которые завершены, а также проекты, которые просто работают, и по этим причинам не требуют обновлений (один из проектов провисел с одним коммитом больше четырёх лет, при этом успешно работая на проде все эти годы (значит это уже не pet?); висел бы и дальше, если бы я не решил таки бампнуть зависимости)

Но зачем усложнять себе жизнь и брать делфи и питон, если можно взять просто питон?

Сам yt-dlp написан на питоне, так что использовать что-то отличное от питона нелогично

Тем более сабж не дёргает консольную утилиту, а плотно взаимодействует с библиотекой напрямую

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

Ну не, выбор кодеков — вещь достаточно важная, чтобы без неё GUI оказывался для меня бесполезным

Мне как-то не очень понятны ваши претензии:

  1. Системное программирование на то и системное, что изначально никакой стандартной библиотеки в принципе не существует. Если используется стандартная библиотека (та, которая про файлы, потоки, ввод-вывод и вот это вот всё), значит используется API готовой операционной системы — а это уже вполне прикладное программирование (к моему примеру с системным вызовом write это тоже относится).

  2. В других языках вроде ведь всё примерно то же самое. Когда вы делаете Hello World на том же C, вы не забываете к размеру бинарника прибавить размер libc для честного сравнения? А сколько плясок с бубном потребуется, чтобы сделать Hello World на C без libc?

У системного программирования и подходы к программированию совсем другие, вот например минимальный бинарник размером 1.7 КБ (наверняка можно меньше, но я сам не умею)

Код по ссылке ничего не делает, но я попытался добавить системный вызов write, чтобы бинарник был не совсем пустой:

let s = b"Hello, world!\n";
unsafe {
    syscalls::syscall!(syscalls::Sysno::write, 1, s.as_ptr(), s.len()).unwrap();
}

HP G2710

А он не бьёт картинку на квадратики? Я пробовал отсканировать свои фотографии на трёх разных сканерах HP, но все три делили картинку на квадратики с выкидыванием нескольких пикселей изображения на стыках этих квадратиков. Очень сильно бросается в глаза на съезжающих из-за этого диагональных линиях

Подставляемые данные зависят от падежей. А среднестатистический англоязычный разработчик часто забывает, что в других языках падежей бывает больше чем в английском, и в итоге из какого-нибудь «%s угостил %s %d %s» мы получаем «Вася угостил Петя 1 яблоко»

Ах да, попутно и про род можно вспомнить, а то какое-нибудь «Получен 1 яблоко» тоже не круто

И падежи ещё (1 яблоком, 2 яблоками), я сейчас страдаю от их отсутствия в gettext

потому что иначе смысла от аннотаций нет.

mypy, pyright, pylsp

I use Arch btw, всякого ненужного мусора вроде ibus не имею, проблем с пробелом тоже не имею

Можно и QuakeC вспомнить тогда уж

asyncio не даст настоящей параллельности,

Для ожидания ответа параллельность не нужна

API — внешняя, я всё равно просто жду ответ.

Вердикт: не подходит.

Чушь полная: asyncio был придуман специально для ожидания ответов

Это уже ближе — multiprocessing создаёт настоящие процессы.

Идеально для I/O-задач, которые не грузят CPU.

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

Тогда в вашем примере тем более нет смысла

Так вся эта статья посвящена этому самому примеру — rclone

Поздравляю, вы не только сломали синхронизацию свойств каталогов и опции вроде --delay-updates или --delete-after, но и убили производительность постоянными переподключениями SSH-соединений (а ещё такая команда всё равно не работает, потому что parallel не умеет читать из stdin)

Слепое следование идеологиям ни к чему хорошему не приводит

1
23 ...

Information

Rating
2,767-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity