Как стать автором
Обновить
24
11
Николай Первухин @Nikolay_Pervukhin

Программист Go, Java

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

Внешняя видеокарта backend-разработчика, или как заставить лучшего друга перестать тупить и начать помогать (часть 2)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.4K

В первой части статьи я описывал свой опыт использования локальных моделей при разработке кода. В частности, столкнулся с тем, что без видеокарты скорость работы ollama была достаточно низкой. Далее постараюсь рассказать про техническую часть подключения внешней видеокарты к ноутбуку, работающему на Linux.

Читать далее
Всего голосов 36: ↑34 и ↓2+40
Комментарии28

Внешняя видеокарта backend-разработчика, или как заставить лучшего друга перестать тупить и начать помогать (часть 1)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров4.6K

Всем привет! Меня зовут Николай Первухин. Я увлеченный разработчик на GoLang, работаю в Ozon Банке в группе разработки сервисов ЗСК (KYC).

Большинство статей о внешней видеокарте посвящены погоне за FPS в играх. Здесь же я хочу сконцентрироваться на том, как заставить её приносить пользу разработчику.

Читать далее
Всего голосов 23: ↑23 и ↓0+26
Комментарии14

У меня был 6-дневный дофаминовый детокс — и вот что получилось

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров134K

Что такое дофамин и почему в среде любителей самосовершенствования он считается гормоном, способствующим отвлечению внимания?

Выражение «дофаминовый детокс» на первый взгляд звучит как полный отказ от дофамина на какое-то время, что в корне неверно. От дофамина избавиться невозможно.

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

Проблема в том, что дофамин активно выделяется и во время пролистывания социальных сетей, и при достижении какой-либо значимой цели.

Читать далее
Всего голосов 159: ↑143 и ↓16+147
Комментарии278

Памятка по BPMN и BPMN-диаграммам

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров39K

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

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

Читать далее
Всего голосов 49: ↑47 и ↓2+60
Комментарии35

Мониторинг бизнес-процессов в Camunda 8. Настраиваем дашборды и визуализируем данные

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров4.5K

Привет, Хабр. Я Вероника, java-разработчик, который юзает Camunda без слез. Здесь моя первая статья, в которой мы переложили BPMN диаграмму на java код и реализовали небольшой процесс. 

На этот раз пишу о мониторинге бизнес-процессов. Давайте представим: мы зарелизились в прод. Всё работает прекрасно. Но тут приходит бизнес, которому нужны графики, диаграммы и отчеты. Что делать?

Читать далее
Всего голосов 15: ↑15 и ↓0+18
Комментарии2

Как получить видео с камеры обычного квартирного домофона в умный дом

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров37K

У меня в квартире установлен аналоговый домофон Vizit, которому больше 10 лет.

Уже давно хотел сделать автоматизацию для умного дома, которая при вызове от входной двери в подъезд с первого этажа мне в телеграм присылала бы фотографию набравшего номер квартиры.

Разбираюсь как лучше сделать
Всего голосов 38: ↑38 и ↓0+55
Комментарии61

Beego в Golang для начинающих

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров7.8K

Привет, Хабр!

Beego – это фреймворк для разработки веб-приложений на языке Go, ориентированный на быстрое развертывание и простоту использования. В его основе лежит идея создания полнофункциональных приложений с минимум усилиям на настройку и кодирование. Это достигается за счет широкого выбора инструментов, включая ORM, систему маршрутизации, интерфейс кмд и многое другое. Beego придерживается принципов RESTful и MVC.

Читать далее
Всего голосов 14: ↑12 и ↓2+16
Комментарии6

Эффективные трассировки в Go

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.1K

Пакет runtime/trace содержит мощный инструмент для понимания программ Go и устранения неполадок. Функциональность внутри позволяет создавать трассировку исполнения каждой горутины за определенный период времени. С помощью go tool trace command (или превосходного инструмента gotraceui с открытым исходным кодом) можно визуализировать и исследовать данные в этих трассировках.

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

Читать далее
Всего голосов 16: ↑15 и ↓1+15
Комментарии0

Запускаем privateGPT локально на WSL c поддержкой GPU Nvidia

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров7.9K

Приватный GPT - это готовый к производству проект искусственного интеллекта, который позволяет задавать вопросы о ваших документах, используя мощь больших языковых моделей (LLM), даже в сценариях без подключения к Интернету. 100% приватный, никакие данные не покидают ваше окружение выполнения в любой момент.

Запуск на Windows Subsystem для Linux (WSL) с поддержкой GPU может значительно улучшить его производительность. В этом руководстве я проведу вас пошаговый процесс установки PrivateGPT на WSL с использованием ускорения GPU.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии7

Как из Proxxon (дремеля) сделать сверлилку для плат

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров8.5K

Привет, Хабр! Тема небольших сверлильных приспособ на основе дрелей и бор-машинок разных форм и размеров, казалось бы, жёвана-пережёвана. Есть и фирменные решения (стойки для дрелей), и любительские конструкции. Однако кое-что пооптимизировать и придумать новые решения всегда можно.

У меня была неплохая бор-машинка Proxxon и мне захотелось сделать из неё сверлильный станок для плат. Я уже имел опыт работы с дремелем на фирменной стойке и собирал другой станочек с более-менее классической компоновкой, и мне в этих вариантах не нравились люфты, при наличии которых твердосплавные свёрла быстро заканчиваются. Кроме того, у меня были временные трудности с доступом в мастерскую и максимум работ было желательно сделать на 3д-принтере. Ну и, конечно же, трата каких-либо денег в этой сомнительной затее была признана излишней.

Ввиду поставленных ограничений использовать рельсовые направляющие было бы перебором, а скользящие на осях не дали бы минимально приличной жёсткости. Есть, однако, нюанс, который позволял задачу упростить: рабочий ход сверлилки всего 1-2см, хотя предварительное перемещение для настройки на задачу могло быть больше. Все эти обстоятельства привели меня к такому решению:

Читать далее
Всего голосов 21: ↑20 и ↓1+23
Комментарии32

Книги, которые можно рекомендовать любому программисту: от «Карьеры программиста» до «Математических алгоритмов»

Время на прочтение4 мин
Количество просмотров21K

Привет, Хабр! Сегодня хотим представить подборку книг, которые было бы полезно прочитать любому программисту. Многие из них, вероятно, вами уже прочитаны, но если нет, рекомендуем ознакомиться. В подборке 7 книг — конечно, это субъективный выбор. Но если у вас есть любимые книги по разработке, которые вы можете рекомендовать, расскажите о них в комментариях, пожалуйста.

Читать далее
Всего голосов 12: ↑9 и ↓3+13
Комментарии13

От «Hello World» до включения программы в реестр российского ПО

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.9K

В 2017 году я начал изучать Java. И, чтобы как-то визуализировать результат трудов, я решил сделать десктопное приложение (функционал продублирован в Telegram боте).

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

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

Читать далее
Всего голосов 26: ↑22 и ↓4+22
Комментарии23

Введение в Clickhouse движок AggregatingMergeTree

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров12K

В процессе разработки витрин данных часто возникает задача предоставления клиентам данных в агрегированном виде. Если данных в хранилище немного, то их можно агрегировать “на лету”, но это плохая практика так как, чем больше будет копиться данных, тем дольше будут выполняться запросы, и тем больше Clickhouse будет съедать ресурсов. В этих случаях логично хранить данные в заранее агрегированном виде, вопрос лишь в том, как реализовать расчет данных агрегированных значений.

В интернете существуют много однотипных статей иллюстрирующих базовое использование материализованных представлений (далее - матвью) на движке AggregatingMergeTree, но если ваша задача выходит за рамки “1 нода, 1 метрика, 1 параметр агрегации” эти статьи вам мало чем помогут. Я посчитал, что моим коллегам может пригодиться своего рода гайд о том, как пользоваться данными представлениями для более сложных задач.

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

В рамках моей задачи хранилище данных (далее - DWH) реализовано в виде реплицированного кластера состоящего из 3 нод, данные на ноды распределяются равномерно в соответствии с ключом сортировки таблиц. Существует исходная таблица source, которая содержит столбцы id, timecode_1, metric_data - данные представляют собой временной ряд утилизации ресурсов с гранулярностью 1 минута. Данные поступают блоками каждые 2 минуты.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии4

Как структурировать проект на Golang: гайд от backend-разработчика

Время на прочтение4 мин
Количество просмотров50K

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

Когда я начинал писать на Go, то потратил много времени на поиски стандартов структурирования проекта. В итоге так и не нашел официального и точного стандарта — либо информация была неполной, либо это было не то, что нужно. Я решил написать свой гайд на основе опыта. Он для начинающих разработчиков и посвящен тому, как структурировать проект на Golang.

Читать далее
Всего голосов 17: ↑15 и ↓2+15
Комментарии17

Программирование — это про общение

Время на прочтение9 мин
Количество просмотров11K

Когда выгорание по внутренним (и внешним) причинам достигает максимума, когда тошнит от одного воспоминания о том как выглядит IDE, когда мнится что в седло большой разработки больше не вернутся никогда, но, при всём при этом, вносить свой вклад в развитие индустрии хочется - остаётся одно.

Сменить угол обзора.

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

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

Давайте поговорим об этом
Всего голосов 29: ↑28 и ↓1+34
Комментарии12

Безвыигрышная лотерея под названием «секс»

Время на прочтение6 мин
Количество просмотров49K

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

Дисклеймер: В силу подхода к работе так сложилось, что обычно я консультирую людей интеллектуального труда. В последний год это преимущественно управленцы и сотрудники IT-сферы. Это люди, которые всю жизнь решали любые проблемы "через голову". Такой подход неизбежно накладывает отпечаток на личность и внепрофессиональную жизнь. Минимизацией негативных последствий таких особенностей я занимаюсь. И в рамках статей на данном ресурсе стараюсь обобщить профессиональный опыт и дать полезную информацию.

По моим наблюдениям (которые могут отличаться от нормального распределения Гаусса и объективной реальности) с таким запросом чаще обращаются мужчины в возрасте 28-35 лет, находящиеся более 4-5 лет в одних отношениях. Среди «отягчающих» обстоятельств можно назвать наличие маленького ребенка, ипотеку, высокоинтенсивную работу.

Читать, о чем нельзя говорить
Всего голосов 104: ↑67 и ↓37+52
Комментарии243

Кинотерапия — более 150 фильмов, которые пересматривают

Время на прочтение6 мин
Количество просмотров54K

Фильмы - это лекарство для психики. Что включается у нас в голове, когда мы смотрим фильм? Возможно превратить просмотр кино в индивидуальную психотерапию?

Для начала отделим мух от котлет. Психолог, психотерапевт, психиатр и невролог чем они отличаются? Самое простое отличие в том, что психолог не является врачом. Психотерапевт, психиатр и невролог - это врачи.

Читать далее
Всего голосов 48: ↑24 и ↓24+6
Комментарии141

Puppet Project (проект «Марионетка»)

Время на прочтение2 мин
Количество просмотров7.2K

Всем доброго времени суток! Хочу поделиться с Вами своей радостью, сбылась моя давняя мечта, я наконец-то закончил сборку своего робота.

Читать далее
Всего голосов 47: ↑47 и ↓0+47
Комментарии17

Гайд по поиску и устранению утечек памяти в Go сервисах

Время на прочтение4 мин
Количество просмотров7.5K

Привет меня зовут Игорь и я профессионально занимаюсь веб разработкой с 2005 года, раньше это называлось "веб-мастер", а сейчас full-stack developer.

На данный момент я tech lead в одной классной команде и иногда мне приходиться писать много текста в confluense, что бы не объяснять всё дважды и заодно приумножить knowledge base компании. Этот гайд мои "заметки на полях" в ходе исследования одного инцидента.

Читать далее
Всего голосов 9: ↑5 и ↓4+2
Комментарии4

Дефицита нет, платить не нужно

Время на прочтение14 мин
Количество просмотров95K

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

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

Я берусь доказать, что основной тезис ошибочен. В РФ нет дефицита кадров. 

Читать далее
Всего голосов 259: ↑226 и ↓33+255
Комментарии472
1

Информация

В рейтинге
601-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность