Как стать автором
Обновить
8
0
Alex Avin @arsvincere

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

Отправить сообщение

Если применение пула потоков в асинхронном коде - это своего рода "костыль", то применение пула процессов - это "костыль из костылей". Если жизнь заставляет вас применять подобные решения, стоит задуматься, а нужна ли вам вообще асинхронность?Скорее всего в этом случае вам стоит применять традиционный блокирующий код, распараллеливая загружающие процессор участки при помощи модуля multiprocessing.

Почему костыль? Почему костыль из костылей? Чем это все плохо?

Я думал что в асинкио пул потоков и процессов это просто обертки для того что реализовано в модулях threading и multiprocessing, обертки для единого синтаксиса в асинкио программе.

У меня есть приложение которое использует asyncio для работы с API брокера и с локальной базой данных. И тут asyncio очень удобен. Гуи сделано на PyQt, и кое-где произрастает менее удобный QThread. И еще в приложении бываю долгие вычисления (до нескольких часов), которые пока закинуты в отдельный поток, но в релиз версии надо выносить их в отдельный процесс (долгих вычислений может быть несколько запущено параллельно, и они не должны мешать работе gui и асинхронной части которая общается с брокером и базой данных). Я как раз думал как это лучше делать: через модуль multiprocessing, или через asyncio и ProcessPoolExecutor?

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

Редактирования более сложные чем то, что можно повторить через . я делаю записью макроса. И плюс биндинг на вызов этого макроса. Ну например я испольхую букву m для временных макросов. Плюс чтобы упростть вызов макроса с вместо @m , сделан бипд Alt+m. Макросы в helix уже есть.

Я не прошел весь тутор, Но то что прошел показывает - helix может все что может вим в редактировании, иногда это делается точь в точь как в вим, иногда несколько другим способом. И есть новые фичи, или скорее встроенные по умолчанию, а в вим доступные через плагины.

Это уже детали, их долго можно обсуждать, проще установить и попробовать тутор. Сразу будет понятно, стоит ли ждать и наблюдать за проектом, или закрыть/удалить/забыть, и открыть снова вим..

Hyprland, если что конфиги здесь https://github.com/arsvincere/dotfiles

А в 2015г все сразу побежали на NeoVim?

Зачем-то начали переписывать все плагины, которые вроде работали на VimScript и работали...

Естественно будет очень большой этап сопротивления, в NeoVim массовый переход не в первые два года начался.

30.000 на гитхабе, это очень много, серьезная заявка на победу. Поживем увидим.

+1 про понимание

Тоже ни разу не встал arch одинаково на разные машины.

Миносовать статью не буду, но мне не нравятся все эти инструкции по установке arch. Это противоречит философии дистрибутива, в которой говорится что

  • arch расчитан на опытных пользователей

  • arch будет тем что вы из него сделаете

  • И еще много потрясующих пунктов в философии арча философии арча.

Чтение маниуалов описывающих общее - это порог входа. А не инструкции тыкай сюда, введи вот это, размывают этот порог.

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

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

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

Вторая задача которая тут решалась - передача лога из потоков QTread. В доках Qt рекомендуется делать это через сигналы.

Получившееся решения кажется мне хорошим. А лезть в stdout или файлы логов мне кажется обходным путем и костылями.

Интересная позиция. Не думал под таким углом. Действительно широкая конфигурируемость может помочь привести к хорошей дефолтной конфигурации. Это новая для меня идея.

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

Да это hyprland. Конфиг не идеальный и не конца причесанный, в работе, и кейбиндинги там сумасшедшие - у меня сплит кастомный и там это легко нажимается. Ну если чем то поможет - все конфиги здесь https://github.com/arsvincere/dotfiles, будут вопросы пиши.

А потом сплит клавиатура с QMK и мышка начитает покрываться пылью.

Ок. Категоричность=False. Буду знать что и так бывает.

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

Да, home row. Мне кажется половина споров про Vim/другой кончились бы, если в начале задать вопрос - а ты в слепую печатаешь? Нормально в слепую, то есть полностью и десятью пальцами? Тогда можно посмотреть на Вим. Если нет - в нем нет практически никаких плюсов, они на 10 делятся если на клавиатуру смотреть. И лучше работать в любой IDE. Гораздо лучше.

Весь кайф и скорость от вима получаешь как раз при слепом наборе. И это такой кайф, что потом ради него готов заморочиться с докручиванием вима до приемлемой среды разработки. А если пойти еще на шаг дальше, в lua/vimscript то уже никакая IDE не нужна. Не то чтобы лучше хуже... просто 90% нужного прикручиваешь, и наслаждаешься hjkl yy dd p o O 0 ^ $... а surround, а макросы... да чтоб после этого вернуться на стрелочки с Ctrl+C / Ctrl+V... да только в страшном сне.

Весь как правило и не реализовывают. Никто ведь не использует ВЕСЬ функционал IDE. Но по отдельности практически любую штуку можно прикрутить. Каждый докручивает на столько на сколько ему надо. Некоторые вещи легко и быстро прикручиваются. Некоторые костылями. С чем то придется смириться. В IDE тоже приходится смиряться. А в чем то можно получить 200% профита от кастомизации.

Я думаю здесь подходит такая метафора к миру авто: IDE это массовый рынок автобилей. Emacs и Vim это гаражный тюнинг, это то, что в серийке никогда никто не сделают. Слишком специфично. Но те кто возятся в гараже со своими машинами делая их архе-проходимыми, или архе-саунд сустем, или че там еще кому надо... Они как сидели в своем гараже так и будут. Их никогда не удовлетворит готовое, они хотят по своему и по другому.

При этом хорошие водители и профессиональные водители бывают и там и там. И хорошие люди бывают и там и там.

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

Сравнение не корректно. Но десятки тысяч людей пишут код в Emacs/Vim и не используют IDE вовсе, или используют как второстепенный вспомогательный инструмент. И да, таких меньше.

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

Ну наверное он не будет идеальным. Не могу оценить качество кода столь крупных проектов. Но теоретически я уверен что перестать тащить за собой 48 летнее наследие и VimScript - это хорошая идея.

3 - ну надо дождаться системы плагинов. Понятно что без нее не взлетит.
4 - а как иначе? Я правда не встречался с другим подходом... Если не валидный конфиг то подгружается дефолтный. Это уже хорошо. У некоторых просто падает и не заводится. А в NeoVim lua перестает работать, так что все держут один редактор открытым, запущенным на старом конфиге, потом пробуют запускать измененный, а то можно остаться с редактором инвалидом против испорченного конфига.

Я как то не подчеркнул в статье, я не админ. Но вот именно для админов этот редактор уже превзошел vi vim neovim. Он быстрее. Он работает из коробки. И умеет чрезвычайно дофига из коробки.

Через 5-10 лет увидим какое место займет Helix и где будет NeoVim. Я беру колу и попкорн, остаюсь на Neovim, иду болеть за Helix.

Говорят Илон Маск уже замутил чип в мозг который позволяет "силой мысли" вводить текст в смартфон. Или что то очень близкое к этому уже. Так что ноги наверное останутся без дела)

А Вы уверены что не задаются?

Например в этих редакторах вполне себе и профессионально можно писать и книги и курсовые в скриптовых типогравских языках (язык компьютерной вёрстки). Я тут не спец и очень давно этого дела касался - но VIM как и Emacs или VS Code (с плагином) точно поддерживает хотя бы LaTeX.

Но в чём была подколка - я не понял - это всё текстовый процессинг. Как и тои же MS Word.

Не задаются. Просто пишут и все). Я имею ввиду что, те кто уже начали пользоваться "продвинутыми" редакторами неизбежно приходят к тому, что набирать текст как прежде уже не хочется. В итоге в этот редактор стекает все: емэйлы, мессенджеры, написание блога/книги, формул LaTeX. С этим вопросов уже не возникает. Ну у меня не возникло, и других вроде тоже. Не видел громких постов в духе "NeoVim vs Scrivener" или "Emacs better then TeXmaker". Все холивары и муки выбора только вокруг сравнения IDE и этих редакторов. Я в статье постарался юмористично обойти этот вопрос, не начинать их сравнивать. Очевидно, что лучшего тут нет, и каждый "мир" имеет право на жизнь.

Сравнение IDE и текстовых редакторов, конечно, совсем не корректное. Но так уж повелось, везде в интернетах именно в таком контексте их и сравнивают - а можно ли допилить редактор _____ до полноценной IDE? И никто не задается вопросом а можно ли книги писать в Emacs? А можно ли курсовую работу в Vim оформить? Всех интересует сравнение именно с IDE.

В IDE были вялые попытки интеграции... Даже не интеграции, а vim-mode. Вообще этот принцип и эти базовые хоткеи вима так много кому полюбились, что vim-mode можно встретить и за пределами кодинга. В obsidian например есть. Но vim-mode реализует только самый базовый функционал yy dd hjkl... Чуть что посложнее или русская расладка - все, конец эмуляции, давай дальше мышкой.

Я слышал к Qt Creator есть что-то более серьезное, плагин или что-то там. Позволяет прямо полноценный редактор Vim запускается внутри Qt Creator, и пользовательский конфиг вима работает в этом всем. Но у меня не завелся с первого раза, больше не пробовал.

Хорошо было бы иметь возможность к любой IDE прикрутить любимый текстовый редактор, кому Emacs, кому Vim, кому еще что. Не знаю почему эволюция инструментов разработки не пошла таким путем, может время еще не пришло, и однажды увидим MS Visual Studio [Vim]. А может оно никому не надо. Я думаю что второе.

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

Косяк, 1997 относилось к Visual Studio, а не VSCode.

1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Software Developer, Application Developer
От 1 000 000 ₽
Python
Django
C++
Qt
PostgreSQL
Git
Linux
Bash
Maths
English