Руслан Шишмарев | Программист
673 subscribers
86 photos
24 videos
2 files
66 links
Блог о программировании.
Пишу, что думаю.

За консультацией: @ruslan_sh_dev

Поддержать канал:
boosty.to/ruslan_shishmarev

Канал на YouTube:
https://www.youtube.com/@RuslanShishmarev

Автор NVP Studio:
nvp-studio.ru
Download Telegram
Media is too big
VIEW IN TELEGRAM
На прошлой неделе выпустил большое обновление одного из моих проектов "NVP Studio".

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

Кстати, мой NVP вполне можно использовать в качестве платформы для обучения программированию. Очень удобно сразу видеть результат в виде 3D модели. Так нагляднее и веселее.

Если интересно последить за развитием, вот ссылка на пост со списком обновлений на официальном канале:
Обновление NVP Studio

Сайт проекта:
nvp-studio.ru
🔥115👍3
Одна из моих сильных сторон - делать проекты на полном альтруизме.

Мы сейчас проходим акселератор по одному из моих стартапов. И куратор задал вопрос:
«А как вы поддерживаете проект? Как деньги зарабатываете?».
Мы ответили, что никак. Проект бесплатный. Зарабатывать планируем на услугах вокруг этого приложения. Доп модули, обучение и т.д.
После этой фразы, нам сказали, чтобы мы не вздумали на финальной сессии перед инвесторами такое ляпнуть😅

Но во всем этом есть одна проблема. Мой продукт не может быть платным по своей сути. Он и так аналог других бесплатных приложений. И если делать его платным, то его можно сразу и похоронить.

👨‍💻Делаю я его в свободное время и чаще всего по вдохновению уже второй год. И только сейчас наконец-то у людей начал появляться интерес. Пошли заявки на использование, компании интересуются. Вот в акселераторе что-то получается. Чуть позже напишу по результатам. Очень надеюсь, что из этого что-то выйдет. Вперед к успеху!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍2
Провел очередной эксперимент с ИИ чатом.

Мне нужен был сервис, которого еще не было в проекте. Сделал интерфейс, расписал какие методы у него должны быть, подготовил классы. И попытался сделать сервис ПОЛНОСТЬЮ вайбкоддингом. Все же так верещат, что это прям магия. Расписал промт, описал задачу максимально подробно. Код шустро появился на экране и я добавил его к себе в проект. Начал тестить. И… не работает🤨

Начал разбираться. Алгоритм норм, вроде все как надо. Но посмотрев внимательно, нашел несколько багов. Тут поправил, там поправил. Запустил. Стало лучше, но не работает. В итоге задолбался дебажить и погнал писать сам. Решил придерживаться того же подхода, но с изменениями. В итоге все получилось. Сделал быстро и как мне надо. Да, как я хорош😎

ИИ делает норм небольшие фрагменты. Что-то большое делает с косяками. И честно говоря, с вайбкодингом программирование еще больше превращается в дебаг. Словно ты в легаси бесконечно копаешься. А весь прикол делать нулевые сервисы - это свобода. Пишешь, как хочешь. А когда ИИ сгенерил код, ты опять погружаешься в дебри изучения логики лапши. Что может сильно бесить.
Еще раз убедился, что уметь читать код и понимать его смысл нужно в любом случае. А с ИИ этот навык становится еще более важным.

Fun fact.
Вы вообще помните, как 3 года назад пророчили, что программисты станут не нужны в течение 5 лет?
Кажется я уже это слышал. Про бухгалтеров. Лет 20 назад😄
Please open Telegram to view this post
VIEW IN TELEGRAM
👍183🔥1🙊1
Еще 2021 попалась эта вакансия. Сохранил себе и тут нашел в архиве. Вроде все хорошо, но ох уж этот перенос строк на 7 пункте... (3 снизу)

А вы говорите, что раньше проще было
😁19🤣7🗿5🙊2
Умение общаться с заказчиком - один из самых важных навыков работы программиста.

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

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


Поэтому никогда не думайте с точки зрения выбора языка программирования. На любом языке можно сделать все. Самая популярная группа ЯП - это Си-подобные. Поэтому зная, к примеру, C#, тебе автоматически становятся доступны JS, Python, Go, Java и другие. Так что не боимся менять стэк, развиваетесь друзья, пока можете!

P.S. Картинку сделал по промту:
Нарисуй программиста, который знает очень много языков программирования. У него большая голова, он доволен и крут. Купается в деньгах, а за спиной Вселенная
👍116
В последнее время прям достали все айтишные блогеры.
Темы у всех одни и те же. Я для себя выделил топ-3:
1. ИИ
2. Джуны
3. Тупые HR

Про первое - ладно. Хайп, куда ж без него. Думаю, через год-два уляжется. Ситуация очень напоминает «пузырь доткомов» в конце прошлого века. Тогда инвесторы вливали деньги во всё подряд, лишь бы у компании был сайт. Что именно продаёшь — не важно. Главное, что ты в интернете. Итог - куча банкротств и резкое похмелье. Знакомо, да?

Тема номер два. Джуны.🥱
Сколько можно… Эти проблемы обсосали уже сто раз. Да, джунам тяжело. Так было всегда. Просто сейчас из-за разрыва в зарплатах сюда ломятся все подряд, даже те, кто «а чё, прикольно, попробую». Вот и имеем перегрев.

Ну и третья. HR.
Раньше они занимались ровно своим делом: отбор по общим характеристикам, оформление документов, ввод в курс дела. Сейчас им навесили ещё и мини-техсобесы. Всё из-за темы номер 2 - слишком много случайных людей на входе. Вот и выкручиваются. Технорям это, конечно, не нравится. Но что делать?😡

Я сам пока взял паузу в съёмках. Поднадоело. Сейчас у меня завал по проектам. Потому что бабки делаю именно на кодинге. Плюс дополнительно консультирую и обучаю. Пока индивидуально - у меня занимается 2 человека. Может, возьму ещё парочку, но много не потяну. Поэтому редко афиширую. Кому надо - пишите.

Планы на контент есть. Думаю вернуться к съёмкам, хочется чего-то по-настоящему интересного. Один из стабильных вариантов - новый mock-собес. Нужен мидл C#, который готов сниматься и умеет говорить на камеру. Так что если узнал себя - отзовись👋

А вы тоже устали от одинакового IT-контента?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥125❤‍🔥1
Ребят, побольше таких комментов и видосов будет больше. Обещаю🫶
😁7🌭4🍌2🤣1
В очередной раз наткнулся на чувака, который чисто ради эксперимента придумал себе фейковое резюме - 10 лет опыта в Яндексе, пару громких проектов, и нейросетка, которая за него отвечает на собесах. Итог - оффер. 😐

И вот что я думаю.
Такими действиями всё только ухудшается.
Недавно на конференции для рекрутеров уже официально сказали: начали активно звать на оффлайн собесы. Всё больше вакансий - офис или гибрид. Удалёнки становится меньше. И причина именно в этом - в массовом наплыве людей, которые «залетают ради спортивного интереса».

Чтобы вы понимали, схема у них простая:
устроился > месяц «работаешь» > увольняешься (или тебя увольняют) > забрал деньги > повторил.
И это в основном в IT, потому что в других сферах просто нет таких зарплат.

Я не против, когда человек приукрашивает, чтобы лучше себя продать. Это нормально. Если ты реально шаришь - справишься.
Но вот эти персонажи, кто приходит «быстро поднять денег» - бесят. Потому что страдают все. Даже я со своим опытом выгляжу хуже на фоне таких «суперспецов». И тоже приходится выкручиваться.
Если хочешь нормально оформить резюме и наконец-то пройти автофильтры - я помогаю с этим.
Вот мой бот @cv_ready_bot
Там есть кнопка "Создать крутое резюме". Заполняешь анкету и прикладываешь резюме (лучше в формате word). Затем тариф и я с тобой свяжусь!

Сейчас у меня проблем с поиском работы и собесами нет. В начале года после сокращения я быстро получил 3 оффера и сразу вышел на новое место. Но резюме все равно нужно держать в тонусе и описание должно быть в тренде, как ни крути...
🤯9😁4😱3💯3
Продолжение истории про загрузку данных в таблицу.

На проекте есть большая таблица с данными. По мере Postrgress она среднего размера (до 500к записей), но ее нужно подгрузить на фронт (у нас сейчас WPF). И конечно же все сразу загрузить нельзя. Иначе все встанет. И это даже не связано с конкретное WPF таблицами. На React тоже не стоит это дело выводить, так как на отрисовку фронта требуется время и память. Так что чем больше визуальных компонентов, тем тяжелее будет клиенту.

Обычно это решается порциональной загрузкой. Загружаем по 500 штук и добавляем событие на скролл вниз. Если дошли до конца порции, подгружаем еще. Но заказчик встал в позу:
"Мы работаем в другом приложении. Там все сразу выводится, как в экселе. Хотим так же и тут. Нужно чтобы скролл бар позволял перемещаться по всей таблице".
Да бля...

Сейчас в таблице уже есть свой тип данных для отображения одной строки. Он массивный и нагруженный по функциям. Уже очень много зависимостей от него в других местах приложения. Плюс надо помнить, что эта визуальная таблица отображает данные из 2 совершенно разделенных таблиц из БД. Что вызывает определенные трудности.

Теперь нужно сделать совершенно другой. Общий тип. Пообщались с коллегой, решили делать общий запрос через представление (SQL View). Используем оператор UNION ALL и сливаем 2 таблицы в одну.
Затем добавляем параметр OFFSET, чтобы скролл позволял перемещаться по таблице так, словно она вся уже загружена. И скролл бар делаем отдельно и добавляем его к DataGrid. А родной скрываем. И вуаля.

Осталась одна проблема - ручной скроллинг с помощью колеса мыши и стрелок. Нужно продумать механику, как имитировать бесшовную подгрузку данных🤯

Пока пишу этот пост, пришла мысль сделать отслеживание прокрутки и кастомного скролла. Крутим колесо, скролл движется за ним. Заранее подружаем с запасом и как только доходим до 70% от подруженных данных, подтягиваем еще.
Единственное не придумал, как подниматься наверх.
Как-то так🙃
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥112👍1
Короче. Все уже в курсе, что я пишу свою Lowcode платформу NVP-studio. На ней можно писать программы на нодах. И внутри сами ноды создаются на C# и Python.

По мере роста скрипта раздувается большая мешанина из "удона", которую трудно поддерживать. И возникла идея сделать инструмент, который проанализирует все блоки и создать один Python код на их основе. Что позволит быстро накидывать программу блоками, а потом переводить его в лаконичный и удобный для расширения код.
Как вам идея? Я чет прям загорелся и мне дико нравится эта мысль. Хочу назвать эту фичу "Сделай красиво"🙃

P.S. На картинке реальный скрипт по созданию моста в моей приложуне. Чуть позже будет статья с разбором этого проекта!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥115😁1🤯1
Делюсь небольшим инсайтом по моему проекту NVP.

Вчера вечером копался в коде и нашел интересную штуку.
При создании любого 3D-объекта во время выполнения скрипта происходило обновление всей сцены.
Оказалось, что при вызове методов создания объектов выставлялся флаг NeedUpdate = true,
а у меня при его изменении сразу срабатывал принудительный апдейт сцены.

А теперь внимание: сама сцена обновляется путем очищения и последовательного вызова функции Render у всех созданных объектов.
(Если что, это не костыль, так реально делается).

В итоге при пошаговом создании объектов скрипт каждый раз заново перерендеривал всё, что уже есть.
Получался эффект "постепенного возведения" - не баг, а фича😅
Но это сильно тормозило выполнение. А скорость для моего движка критически важна.

Переделал логику: теперь обновление происходит только в конце выполнения скрипта, а не после каждого вызова.
Результат - всё стало работать заметно быстрее.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍3
Начал юзать Cursor для работы. Вроде ничего. Удобнее проводить рефакторинг, меньше рутины. В Chat GPT в этом плане хуже, приходится туда сюда бегать.
Плюс несомненное преимущество - возможность работы без впн. Так что советую попробовать
🔥74
Короче, неделя после использования Cursor.
Честно скажу, классно, что он умеет работать со всеми файлами проекта. НО!
Недавно я полностью обновил свою фичу с помощью ИИ, которая работала не так хорошо, как хотелось бы. И заметил одну странность. Местами стало работать хуже, чем было. И как на зло закончился пробный период использования Cursor. Еще не решил, что купить из ИИ агентов. ChatGTP или Cursor. Поэтому не тороплюсь.

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

Еще раз убеждаюсь, что на наш век работы хватит. ИИ - это генератор подходящих по смыслу слов, а не инженер. Он не умеет изобретать.
Что думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🗿1
This media is not supported in your browser
VIEW IN TELEGRAM
😁61
This media is not supported in your browser
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
1🤔1🤮1
Media is too big
VIEW IN TELEGRAM
Последние полгода активно разрабатываю приложение для автоматического формирования чертежей в программе Autodesk Revit. Пишу на C#.

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

Рассказал максимально сжато. Под капотом скрыто много всего интересного. Дофига логики, проверок и доп возможностей. Например, он умеет определять путь между 2 элементами внутри системы.
Хвастаюсь🙃

Если хотите себе такой же или научиться создавать подобное, пишите @ruslan_sh_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥215👍4
Прикольный и нетривиальный вопрос. Его задали на игре ЧГК, который организует Анастасия.
Что думаете?
Подсказка:
Тут игра слов на Английском языке и название компании не связано на прямую с битами
👍3🔥3🆒1
Руслан Шишмарев | Программист
Последние полгода активно разрабатываю приложение для автоматического формирования чертежей в программе Autodesk Revit. Пишу на C#. Самое сложное - анализ направления расстановки размеров и выносок. Сейчас наконец-то стало более менее выглядеть. Не то, что…
Я, честно говоря, в шоке с того, что для такого узкого направления, как разработка под BIM/САПР, все равно есть работа. Несмотря на кризис строительной отрасли в целом.

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

Но всегда стоит помнить, что программисты любого направления сильно зависят от реального сектора. Будь то банкинг, бэттинг, биллинг, стройка...
Потому что мы переносим физические действия в виртуальный мир. И если физику лихорадит, то следом и до нас доходит. Ну может соцсети исключение🤨
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍6💯1
Честно, нахуй такую работу.
Пока есть силы, время и желание, учись! Изучай новые направления, специальности, где ты сможешь зарабатывать хотя бы 100+.
Такие деньги только для начинающего норм. Но не в 25 после вышки…
Даже в общепите больше платят. И там не надо 4+ года в универе просиживать.
Девушке искренне желаю успехов и не тратить свою жизнь зря.
💯14😱11👀5🤷‍♂3👍3👎1