NeoVim #7. Marks and registers.
25:17
2 сағат бұрын
NeoVim #6. Visual mode.
23:20
Күн бұрын
16. RBAC | Аудио
13:12
14 күн бұрын
NeoVim #4. Анатомия Vim.
25:29
Пікірлер
@HokkuSan-ib8br
@HokkuSan-ib8br 8 сағат бұрын
Что-то со звуком стало - стал глухим
@apkhmv
@apkhmv 7 сағат бұрын
это я в посещении плохом снимал
@Tony_Sol
@Tony_Sol 9 сағат бұрын
Супер интересно Еще с highload 2023, после доклада "Как и зачем писать свои плагины для GoLand", загорелся идеей сделать плагин для работы с переменными teamcity (они воспринимаются как строки и для них не работает go to reference, rename, etc.), но руки так и не доходят сделать это:с UPD: осуждаю ненависть к yaml, он прекрасен)
@apkhmv
@apkhmv 7 сағат бұрын
понимаю тебя
@TheKzfor
@TheKzfor 15 сағат бұрын
Большое спасибо за контент! Использую твои видео как закрепление материала книги "путеводитель по базам данных", интересно послушать живого разработчика таких систем
@MyFearIsMyBlue
@MyFearIsMyBlue 17 сағат бұрын
Класс! Ты попадёшь в рай.))
@viktorsilver6648
@viktorsilver6648 17 сағат бұрын
Я послушал ваш следующий подкаст, СПЭШЛ про собеседования. Открыл для меня новый мир, да же не думал что так бывает. Благодарю Саша, от всего сердца )
@apkhmv
@apkhmv 13 сағат бұрын
Огромное спасибо! Мотивации подбрасываете делать еще.
@fourbytes1
@fourbytes1 18 сағат бұрын
Да, это точно, прочитать книгу "Practical Vim" нужно обязательно. Я тоже изучение Vim с неё начинал.
@user-xf4vt3io4t
@user-xf4vt3io4t Күн бұрын
И кстати где консистентное хэширование?
@apkhmv
@apkhmv Күн бұрын
consistent hashing это уже про распределенные системы, а про них мы пока еще не говорили
@user-xf4vt3io4t
@user-xf4vt3io4t Күн бұрын
В этой лекции конечно не хватает визуализации и картинок
@ArtJarocki
@ArtJarocki Күн бұрын
Продолжай эту тему, не бросай. Я уже давно на виме, но кое-что новое узнаю от тебя, а другое начинаю понимать лучше. В общем, полезную работу делаешь, спасибо за это!
@pasza
@pasza Күн бұрын
11:50 Паттерн Обсервер никак не специфицирует ни порядок вызова слушателей, ни потоки, ни синхронность, ни реакцию на ошибки. Если словом "Обсервер" вы называете что-то своё и очень конкретное, то вы вводите публику в заблуждение. Зачем.
@apkhmv
@apkhmv Күн бұрын
Это дискуссия о терминологии. Я четко проговариваю, что речь идет об "Однопоточном Observer".
@viktorsilver6648
@viktorsilver6648 Күн бұрын
Не знал про регистры, спасибо!
@user-xf4vt3io4t
@user-xf4vt3io4t 3 күн бұрын
Музыку между статьями сделай потише пж, а контент топ
@apkhmv
@apkhmv 3 күн бұрын
от души, на последних трех выпусках подкрутил немного, если заметишь разницу, напиши пожалуйста.
@Bob445ty
@Bob445ty 3 күн бұрын
потрясающе, очень интересно и качественно. Отдельно хочу заметить что очень хорошо поставлен голос и речь, ты этим где-то занимался специально?
@apkhmv
@apkhmv 3 күн бұрын
ой спасибочки!!!! нет, я не занимался ничем, просто иногда текст прям прописываю, а иногда на монтаже убираю всякое "aaa", "нууу".
@GLUCKKKKKKKKKK
@GLUCKKKKKKKKKK 4 күн бұрын
Навигация в дереве проэкта так же работает как в виме? Вы пользуетесь баферами или табами?)
@apkhmv
@apkhmv 4 күн бұрын
табами и баферами не пользуюсь в идее, потому что их либо нет, либо слишком криво. для дерева проекта есть специальный плагин, но у меня он не стоит. там основная проблема в том, что kj не работают для перемещения, а у меня это на уровне прошивки клавы пофикшено.
@null_zero_0
@null_zero_0 4 күн бұрын
Слишком хорошо ради трех лайков
@null_zero_0
@null_zero_0 4 күн бұрын
Всё-таки, я немного разочарован. Ожидал, что информации будет чуть больше, чем "SSD быстрее, HDD медленнее", которая уместилась в одну минуту в середине видео. Хотя информация про временные лаги, которые должен знать каждый программист, весьма полезная, спасибо
@mrwhiteslon
@mrwhiteslon 4 күн бұрын
Оставляю комментарий, как и просил: в конце, когда говоришь на фоне музыки, сама музыка достаточно громкая. Тяжеловато разобрать, что говоришь. Просьба сделать фоновую музыку потише. И перебивки (что между частями) тоже громковатые на фоне голоса.
@apkhmv
@apkhmv 4 күн бұрын
спасибо большое!!! а подскажи пожалуйста, в каких наушниках ты слушаешь?
@mrwhiteslon
@mrwhiteslon 4 күн бұрын
@@apkhmv телефонные вкладыши. Тебя интересует моделька? Или в общем узнать хочется, на каком типе наушников слушается?) Я ещё на мониторных погонять хочу
@apkhmv
@apkhmv 4 күн бұрын
@@mrwhiteslon хочется понять на каких наушниках начинается дискомфорт. Потому что я в своих Sony MX не ощущаю этого. Но кажется, все что телефонное по типу airpods действительно звучит слишком агрессивно. В будущих выпусках такого уже нет.
@mrwhiteslon
@mrwhiteslon 4 күн бұрын
@@apkhmv быстрый гуглёж показал, что вместо MX предлагает XM. В общем, это мониторы, как я понимаю. Могу лишь только попросить пробовать гонять именно на телефонных ушах:)
@MyFearIsMyBlue
@MyFearIsMyBlue 4 күн бұрын
Топовый контент, супер!
@AndrewMakeev
@AndrewMakeev 5 күн бұрын
Делай plz потише относительно голоса перебивки между темами, по уху режет В остальном отличный подкаст
@apkhmv
@apkhmv 4 күн бұрын
спасибо! обязательно исправлю звук.
@wvvwwwvvw
@wvvwwwvvw 5 күн бұрын
Будучи новичком, я хотел сразу с ТДД начать, тк уже вычитал, что это очень хорошая практика. Но я столкнулся с двумя препонами : во-первых, я не знаю какой воооообще у меня код будет, т.е. какие компоненты будут между собой взаимодействовать, как вообще готовый код будет выглядеть. А это получалось как идёшь туда сам не знаю куда. А, во-вторых, как писать сами тесты))) Так что простого пути нет, надо проходить весь путь от и до.
@apkhmv
@apkhmv 5 күн бұрын
простого пути нет это уж точно
@sgrodnik
@sgrodnik 5 күн бұрын
Очень интересно, + приятное повествование, - чуть громковаты музыкальные вставки. Хотел бы выразить вам поддержку!
@apkhmv
@apkhmv 5 күн бұрын
Спасибо!! Со звуком в будущих выпусках я исправился.
@user-gs7ro3tl9t
@user-gs7ro3tl9t 5 күн бұрын
Понятные объяснения даже для новичков, что сильно прокачивает мозг. Очень качественный контент! История с жестким диском на работе судьбоносная))) Случайности не случайны)))
@user-gs7ro3tl9t
@user-gs7ro3tl9t 6 күн бұрын
Топовый инженерный контент! Пожалуйста, продолжайте!
@user-oh7ip3kk5x
@user-oh7ip3kk5x 6 күн бұрын
Ждем продолжения 👍 Про Плагины neovim, cmp, lsp
@nikitabukov1292
@nikitabukov1292 6 күн бұрын
Щас бы о дереве блять без визуализации поговорить, держи в курсе
@apkhmv
@apkhmv 6 күн бұрын
внатуре ебанулся у себя на канале выкладывать такое!!!
@TheSemenFarada
@TheSemenFarada 6 күн бұрын
Расказывать о деревьях без визуализации ?
@apkhmv
@apkhmv 6 күн бұрын
?
@user-gs7ro3tl9t
@user-gs7ro3tl9t 6 күн бұрын
Очень классная подача материала! Странно, что так мало подписчиков. Желаю роста и развития каналу! Спасибо!
@happypanda1995
@happypanda1995 6 күн бұрын
Пацаны ещё молодые. Мне уже 30 почти из-за постоянного неправильного сидения заработал себе остеохондроз грудного отдела. Классно иметь на рабочем месте фитнес резинки и временами делать упражнения с ними в перерывах. Это вам очень сильно поможет в сохранения здоровья и улучшит крообращение. Плюсом станет ясный и свежий ум
@apkhmv
@apkhmv 6 күн бұрын
да, так называемые пампы, классная штука.
@viktorsilver6648
@viktorsilver6648 7 күн бұрын
Привет Мэн, а где опросник?
@apkhmv
@apkhmv 7 күн бұрын
йоу, а это старые выпуски я бы сказал что опросник уже не актуальный.
@viktorsilver6648
@viktorsilver6648 7 күн бұрын
@@apkhmv ага, зашёл на спотифай и там уже 40 выпусков, нормально)
@viktorsilver6648
@viktorsilver6648 7 күн бұрын
Ага зашёл на спотифай и увидел там уже 40 шт. Как раз пока на работу еду, будет что слушать и вникать
@apkhmv
@apkhmv 7 күн бұрын
@@viktorsilver6648 лучше в хронологическом порядке слушать, там в конце уже хардкор идет и к нему лучше подготовиться.
@MishaWiz
@MishaWiz 7 күн бұрын
Найс, как раз то что надо - полезно и можно слушать)
@ntvisigoth
@ntvisigoth 7 күн бұрын
25:20 возникает вопрос: А можно ли изменять какой-либо текст визуально во всех других местах одновременно? Вот что позволяет VsCode: - Я встаю над элементом 'get' и жму Ctrl+f2 - Подсвечиваются ВСЕ места, где найдена эта фраза - Я встаю на букву 'g' и начинаю вводить новый текст 'get_' - Везде где была найдена эта фраза одновременно ТОЖЕ изменяется и я это вижу прямо сейчас
@apkhmv
@apkhmv 7 күн бұрын
То есть вопрос в том, может ли вим одновременно с тем как вы символ за символом печатаете сразу везде это применять и вы будуте как будто печатать во всех местах одновременно? В идее тоже такая фича есть я и тоже вначале думал а почему в виме не так. Но потом понял, что это и не надо. Вот просто не надо и все. Из коробки вим так не может, но по-любому есть плагины.
@ntvisigoth
@ntvisigoth 7 күн бұрын
@@apkhmv да все так
@Freepackman
@Freepackman 7 күн бұрын
Спасибо за подкаст, отличная работа ! Мое личное мнение - звуковые эффекты, например эхо, это уже перебор, немного мешает внимательно слушать.
@apkhmv
@apkhmv 7 күн бұрын
спасибо! со звуком эксперименты дальше сойдут на минимум))
@eugeneponomarov7429
@eugeneponomarov7429 9 күн бұрын
Круто, ThePrimeagen одобряет! После его видео мало что нового увидел, но все же увидел: не знал про <C-u> в insert режиме. Кстати "viw", i - это не "inside", это "inner". То есть [v]isual [i]nner [w]ord, а не visual inside word, но это мелочь. ":m '>+1<CR>gv=gv" :m - двигать линию (:help :m) '> - до окончания выделения (без этого не будет двигать если выделено больше одной линии) <CR> - Enter чтобы команда выполнилась gv - предыдущее выделение (показано в видео) = - форматирование gv - предыдущее выделение (чтобы выделение сохранилось и можно было двигать дальше) Это кстати очень легко гуглится...
@apkhmv
@apkhmv 8 күн бұрын
Спасибо! Я все понял!
@TPose_
@TPose_ 9 күн бұрын
Качественно,я даже не посмотрел
@ntvisigoth
@ntvisigoth 10 күн бұрын
7:35: Можно было lazy заменить путем применения :s/lazy/packer/ вместо cwpacker :)
@apkhmv
@apkhmv 9 күн бұрын
да-да, но об этом в следующих видео))
@Ivan_the_IV
@Ivan_the_IV 10 күн бұрын
С каргокультом разберись Если упрощённо то это подражание процессу по форме, без понимания и повторения сути
@cefiro6447
@cefiro6447 10 күн бұрын
спасибо за видео друг)
@gigapavel4682
@gigapavel4682 10 күн бұрын
Посоветуйте качественную подставку под ноутбук, плз. MacBook Pro 14'
@apkhmv
@apkhmv 9 күн бұрын
у меня самая простая с али. я сам хочу поменять но пока не понял на какую. в идеале на кронштейн.
@yawneed
@yawneed 10 күн бұрын
Какие книги можешь порекомендовать по базам данных?
@apkhmv
@apkhmv 9 күн бұрын
все зависит от того, что интересно и чем хочется заниматься. Если абстрактно рекомендовать лучшие книги то это Design Data Intensive applicatons и Database Internals.
@ntvisigoth
@ntvisigoth 10 күн бұрын
Я бы рекомендовал такую настройку в конфиг: inoremap jk <esc> дело в том, что тянуться мизинцем до Esc это утомляет, а вот нажать jk проще :)
@apkhmv
@apkhmv 10 күн бұрын
а не бывает мискликов? jk типа такая последовательность символов крайне редко печатается?
@ntvisigoth
@ntvisigoth 10 күн бұрын
@@apkhmv Ну, кому как, иной раз ошибаешься. Но и буква u не далеко :)
@mjaysmileofficial
@mjaysmileofficial 2 күн бұрын
есть плагин для такого better-escape.nvim, с ним не надо ждать пока пройдёт timeoutlen
@VadimChes
@VadimChes 11 күн бұрын
В целом интересно, как пытались скрестить ужа с ежом) В качестве магистерской тоже сойдёт. Но практического смысла мало, это было ведь понятно изначально) Вот на входе строка. Не будешь же перебирать все возможные строки до длины N. Обзор методов анализа покрытия понравился, не знал
@apkhmv
@apkhmv 11 күн бұрын
на самом деле не бесполезно, даже продукт такой был: DIffBlue. Там есть разные техники подбора входных аргументов. Но сейчас в любом случае это все LLMки делают.
@VadimChes
@VadimChes 11 күн бұрын
​@@apkhmvтогда неплохо было бы послушать, как это через LLM можно сделать. Я не очень понимаю. Не будешь же весь свой код ей скармливать. Классы ведь имеют зависимости. Обучать локальную LLM?
@apkhmv
@apkhmv 10 күн бұрын
@@VadimChes интересный вопрос, может быть стоит записать выпуск про это и разобраться
@user-vs3tt8xc6j
@user-vs3tt8xc6j 12 күн бұрын
Парень, gpt не выбирает самые вероятные слова. Там разные схемы сэмплирования есть и температуры для него. Это не детерминированный процесс. Да и не обязательно слова. Они оперируют пикселями, например, или цепочками ДНК. И есть такое понятие как эмерджентность. Когда количество перерастает в качество (это если что и есть источник воу-эффекта, когда модели при очень больших размерах и количестве данных начали не просто какой-то правдоподобный текст генерировать, а при определенной форме постановке при этой генерации решать сложные интеллектуальные задачи, которые они не знают, не видели никогда) К тому же современные gpt мультимодальные. Они оперируют и видео, и картинками, и схемами, и речью, и звуками . . . Много чем. И внутри формируются абстракции разных уровней. Не нужно упрощать. Это уже пройденный этап.
@apkhmv
@apkhmv 12 күн бұрын
подкасту примерно год уже и тогда мультимодальность только-только появлялась. но в целом ничего плохого в упрощении я не вижу.
@user-vs3tt8xc6j
@user-vs3tt8xc6j 12 күн бұрын
@@apkhmv есть распространенное мнение, что большие языковые модели просто считают распределение по токенам для следующего токена в последовательности (даже не по словам). И изначальная постановка задачи такая и есть. Мало того, небольшие сети хорошо с этим справляются и выдают ожидаемый правдоподобный, но бессмысленный текст. Там даже нейросети не так нужны. Таблицу совместного распределения можно построить стат методами. В универе тоже так делали) Все поменялось в два этапа. 1) Трансформеры. Их можно делать очень большими и глубокими и они продолжают учиться. 2) Очень большие трансформеры и очень много данных. По всей теории ML оверсайзная сеть просто должна выучить все данные. Переобучение. Выдавать она должна просто заученные подпоследовательности или их компиляцию. Это понятно и вроде бы как интуитивно. И это даже можно пронаблюдать до определенного размера сетей и количества данных. С LSTM LM-ками так и было. Как и с небольшими трансформерами. Но потом обнаружилось, что есть количество данных и размер сети (в частности глубина) после которых сети вдруг не переобучаются, а наоборот обретают лучшую обобщающую способность. Это свойство назвали эмерджентностью. Внутри трансформера в его глубоких слоях происходит "магия". Абстракция. Тексты становятся очень правдоподобными и уникальными (не встречаются в обучении), появляются галлюцинации (на самом деле "фантазии"). Дальше больше. Обнаружили, что сеть умеет воспроизводить шаблоны запросов. Диалог продолжает как диалог, стих как стих, в том же формате, причем может быть и в рифму. Появился такой подход как инструктивное обучение. Это когда большую сеть по факту шлифуют, огранку ей дают, задавая шаблоны мыслительной деятельности . . . Потом это все еще и выравнивание проходит на наши знания и ожидания RLHF. Вообще, современная GPT-4 omni - это сильно сложнее, чем я описал. Там много всего. Например микстуры экспертов, агентный подход к рассуждениям и т.д. (это я предполагаю исходя из открытых альтернатив, которые схожее поведение показывают). Мультимодальность вообще позволяет строить онтологии о мире. Это далеко уже не сети для генерации следующего слова. До аги там совсем немного осталось (долгосрочная память и целеполагание и первые версии аги будут уже реальностью). Это в действительности очень много вопросов ставит. Я не как пользователь рассуждаю. А как разработчик и исследователь таких систем.
@apkhmv
@apkhmv 11 күн бұрын
@@user-vs3tt8xc6j да, это очень интересно! спасибо за развернутый ответ. Если говорить про подкаст, то мой посыл был больше эмоциональный, типа: "чуваки, давайте использовать технологии, а не обсуждать как они нас заменят". И мой посыл скорее к рядовым разработчикам был, а не к исследователям ии. Я полностью согласен с тем, что вопросов много и надо это исследовать. Но нужно ли об этом думать веб разработчику? С моей точки зрения -- нет.
@user-vs3tt8xc6j
@user-vs3tt8xc6j 11 күн бұрын
@@apkhmv полностью согласен. Я и подкаст зашел смотреть, чтобы получить более широкое представление, как люди используют то, что я разрабатываю. Ведь мой дискурс очень далек от практики и приемов. + самому хочется зарядить свою работу ИИ инструментами. Тот же семантический поиск по статьям и ссылкам очень помогает. У ИИ можно, например попросить краткую выжимку касательно ссылки в статье (когда пишут "мы использовали подход из 56, где 56 это номер из списка литературы, чтобы разобраться самому, надо лезть туда, читать, это много времени, а с LLM-ой настроенной можно сразу подгрузить весь список и читать статью с ней и ее комментариями). Для кодинга не использую пока. У меня много уникальных задач математических нетиповых. Но намерение и к этому подключить нейронки тоже есть. Это уже необходимость. Супруга курсы делает электронные в разных областях. Она уже вообще без gpt-4 не работает.
@evg1541
@evg1541 12 күн бұрын
Про инкремент через ctrl+a супер, но про декремент не рассказал(
@apkhmv
@apkhmv 12 күн бұрын
исправимся!
@fourbytes1
@fourbytes1 10 күн бұрын
Перемапить кстати это действие в плюс и минус оказалось ещё удобнее.
@apkhmv
@apkhmv 10 күн бұрын
@@fourbytes1 отличная идея
@dimitribolt6006
@dimitribolt6006 12 күн бұрын
Не могу найти вас на Spotify.
@apkhmv
@apkhmv 11 күн бұрын
там в описании под видео есть ссылочка
@NAMSARAEV
@NAMSARAEV 13 күн бұрын
Спасибо, классные уроки по работе с вим и примеры. Подписка и лайк от меня.
@Korrmet
@Korrmet 13 күн бұрын
Контрибьют не репрезентативная штука. Да, это прикольно, но это личная заморочка каждого, контрибьютить в опенсорс или нет. Это не только требует каких-то усилий, причем не маленьких, а не у каждого есть ресурс времени, на это изначально может не быть мотивации в принципе. Вот пользуетесь вы чем-то, вас все устраивает, решили посмотреть что там вообще в планах по развитию проекта, а ни одной нужной вам фичи, вам это не интересно, с чего, собственно вы будете над этим работать? Тем более в больших проектах, у которых на самом деле есть своя команда, которая пилит все это дело на зарплате, у них там уже своя атмосфера и ваша работа как бы она хороша ни была может быть тупо не в кассу, так как вам в принципе недоступны правила игры пока вы вне команды.
@apkhmv
@apkhmv 13 күн бұрын
от части согласен, но что тогда показательное подтверждение скилов, если не опенсорс? (да, это не легко)
@Korrmet
@Korrmet 13 күн бұрын
@@apkhmv никаких, разве что испытательный срок. Пока пирожное не откусите не узнаете наверняка вкусное оно или нет.
@lesechko
@lesechko 14 күн бұрын
Книга (достаточно старая и своеобразная) в продолжение программистов-решателей и в целом про подход: Программистский камень, автор - Алан Картер. На английском Programmers Stone. Но советую на русском, много специфичных слов. Гуглится легко. Предупреждаю: реально своеобразная книга :)
@almazyakhin7246
@almazyakhin7246 14 күн бұрын
"расширение территории" 🙂
@apkhmv
@apkhmv 14 күн бұрын
😟
@wwrite7370
@wwrite7370 14 күн бұрын
Шикарный контент. Спасибо. Мне, как неопытному прогеру, многое проясняется.
@Ivan_the_IV
@Ivan_the_IV 14 күн бұрын
парное программирование - адский стресс
@YuryPastushenko
@YuryPastushenko 14 күн бұрын
Не соглашусь, что билдер подходит для генерации доменных объектов вроде Person, а именно объектов доменной модели. Билдер хорошо работет в ситуациях, когда есть хорошее дефолтное состояние объекта и много возможностей кастомизации. И вот как раз для класса Person дефолтного состояния нет. Нельзя сказать, что дефолтный Person - это Иван Петров мужского пола, который родился 14 мая 1990 года. Наоборот, каждый Person уникален. Однако, я согласен, что открывать конструктор доменной модели всему миру - так себе идея, т.к. при добавлении нового поля в Person придётся идти по всем испоьзованиям и везде добавлять этот параметр. Это можно решить следующим образом. Как правило, есть какое-то конечное число наборов параметров, которые должны быть заполнены у разных персон: например у студента при создании должна быть заполнена группа, а у преподавателя кафедра и учёная степень. Для каждого из таких наборов параметров можно определить фабричный метод, который создаст нам персону в консистентном состоянии: createStudent, createProfessor, createWorker и т.д. Это даст нам следующие преимущества: 1. Мы можем на уровне компилятора проверять, что объект создаётся с консистентным набором параметров. 2. При изменении фабричного метода мы должны изменить только места, для которых мы используем именно этот фабричный метод, а не все создания объекта. Да, мы не решаем проблему с отсутствием именованных параметров в джаве, но это проблема сугубо джавы. Иммутабельность доменной модели тоже не абсолютное добро. По сути, доменные классы по определению мутабельны, но это тема для отдельного разговора. Да и решить это в большинстве языков (кроме джавы) можно без билдера. В то же время есть особый случай, когда билдер для создания персоны будет очень полезен: это упомянутые тесты. И полезен он именно потому, что в тестах мы, как раз, можем определить некого Ивана Петрова 34х лет, над которым будем проводить опыты и лишь немного его кастомизировать под каждый конкретный тест. В этом случае билдер сделает сетап объекта очень лаконичным и коротким и скроет логику полного создания объекта и записи его в базу. В arrange-части теста останется только то, что действительно важно для теста, а не все поля персоны, которые только затруднят понимание теста. Всё сказанное выше - только мой опыт.