Search
Write a publication
Pull to refresh
156
0
Виктор @TyVik

Full-stack developer

Send message

Как построить локальный self-managed Kubernetes-кластер

Level of difficultyMedium
Reading time17 min
Views18K

Возможно, у вас была мысль запустить собственную услугу Infrastructure as a Service (IaaS) либо разместить свои проекты на Kubernetes, но не платить за managed-услуги, или ваш проект — это и есть self-managed Kubernetes. У full-stack-разработчика и предпринимателя Нейта Бакареффа эти желания сошлись воедино.

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

Читать далее

Умный планшет для умного дома

Level of difficultyEasy
Reading time3 min
Views28K

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

Читать далее

Создаём собственную систему поиска фильмов на основе проекта Андрея Карпати

Level of difficultyMedium
Reading time8 min
Views11K
image

В апреле 2023 года Андрей Карпати, один из основателей OpenAI и бывший директор по ИИ в Tesla, поделился своим занятным проектом выходного дня – системой поиска и рекомендации кино.

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

Несмотря на популярность этого проекта, Карпати, к сожалению, пока не поделился с публикой его исходным кодом.

И вот почему
Источник

Chaturvedi: «Может, откроете исходный код проекта?»

Andrej Karpathy: «Даже не знаю. Он такой страшный, что мне стыдно».


Так что запасайтесь попкорном и будем воссоздавать его сами на основе OpenAI и векторной базы данных!
Читать дальше →

Как выбрать первую механическую клавиатуру. Пособие для новичка

Level of difficultyEasy
Reading time6 min
Views45K

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

В статье отвечу на вопросы о том, что такое HotSwap board, что за проценты в размерах клавиатур и зачем нужна крутилка на некоторых из них. А так же помогу определиться с тем, какую клавиатуру вам искать.

Читать далее

Вопросы по DevOps. Часть 1

Level of difficultyMedium
Reading time75 min
Views34K


Hello world!


В первой части шпаргалки (вопросника, если угодно) на высоком уровне рассматриваются такие вещи, как сеть, HTTP, операционная система, виртуализация, хранилище etc., а также несколько технологий, используемых в сфере DevOps, таких как Prometheus, OpenStack, Puppet, Elastic etc. (вопросы с ответами из основного репозитория оригинала). Полагаю, шпаргалка будет интересна всем, кто связан с разработкой программного обеспечения, прежде всего, с разработкой веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий/терминов, а также в обнаружении очепяток.


Возможно, немного другой формат шпаргалки покажется вам более удобным.

Читать дальше →

Память как у пингвина: Работа памяти в Linux

Level of difficultyEasy
Reading time20 min
Views38K

Что такое память и какие они бывают в Linux? Как с ней взаимодействовать? Каковы её особенности?

Как реализована память в ядре Linux? Как с ней работать?

Что такое кластеры, откуда в ядре Linux грязные и чистые страницы - читайте в этой статье!

Читать далее

Разработка простого DNS сервера на Go, согласно RFC

Level of difficultyMedium
Reading time7 min
Views14K

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

В этой статье я хочу рассказать о своем опыте создания DNS сервера. Разрабатывал я его "чисто повеселиться", при разработке будем придерживаться спецификации RFC.

Читать далее

Организация стенда локальной разработки для самых маленьких с автоматической пересборкой приложения (фронтенд + бэкенд)

Level of difficultyEasy
Reading time25 min
Views18K

Вносить изменения в код приложения и тут же автоматически получать задеплоенные изменения, чтобы быстро тестировать его, — мечта разработчика. В этой статье мы посмотрим, как реализовать такой подход для небольшого приложения с фронтендом и бэкендом: организуем два варианта локального стенда на базе minikube или Docker с автоматическим развертыванием всех изменений или только закоммиченых в Git.

Бэкенд приложения напишем на Go, а фронтенд — на Vue.js. Все это позволит быстро запускать проект для тестирования прямо во время разработки, что, несомненно, повысит удобство работы с приложением.

Читать далее

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

Level of difficultyHard
Reading time4 min
Views87K

Несколько лет назад уже писал про свои поиски идеальной и недорогой панели управления умным домом (статья собрала 200 закладок), тогда в 2020 году я остановился на недорогом андроид планшете, который перепрошил на чистый андроид для выполнения удаленных команд через ADB.

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

С тех пор я переехал и не захотел повторять все эти шаги, мне хотелось взять готовое заводское устройство, программно его настроить, отвязать от любых облачных сервисов и просто вставить его в подрозетник или поставить на стол. Переплачивать за панель тоже не хотелось. В итоге таким вариантом стала Sonoff NSPanel.

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол

Доступная система видеонаблюдения с охраной на дачу за 60 минут

Reading time24 min
Views98K

Речь пойдет о сборке, настройке и запуске охранной системы с датчиками, камерой, хранением видеозаписей на удаленном домашнем NAS, встроенным UPS, web-интерфейсом и оповещением через Telegram.

Чтобы быть предельно кратким, оформил статью в стилистике hackster.io. Информация рассчитана на читателей с опытом работы с одноплатным компьютером Raspberry и пониманием принципов работы VPN.

Читать далее

Переизобретаем файловую систему: (Open)ZFS

Level of difficultyEasy
Reading time17 min
Views23K


Хранение данных — это всегда боль, у которой может быть больше 50 оттенков: железо, кэш, гарантии, производительность, скорость восстановления при проблемах, удобство и прочее. Как решить большинство из них, при этом получив что-то легко обслуживаемое, да ещё бесплатно? Сегодня поговорим про файловые системы на примере не совсем дефолтной OpenZFS.
Читать дальше →

Дегуглификация Chromium

Level of difficultyEasy
Reading time6 min
Views66K

На сегодня Chrome — пусть и не самый быстрый, но самый популярный браузер в мире, с большим отрывом от остальных. А единственным реальным конкурентом остался Firefox, потому что практически все остальные тоже перешли на кодовую базу и движок Chromium.

Разработать новый браузер с нуля практически нереально, но Chromium — открытый опенсорсный проект, в который каждый может вносить любые изменения. И самое главное, что нужно изменить в первую очередь — убрать из кодовой базы следящие трекеры Google и любые упоминания сервисов этой корпорации, которые жёстко прописаны в коде.

Но это не так просто сделать. К сожалению, следы Google проникли не только в проприетарный Chrome, но и в опенсорсный Chromium.
Читать дальше →

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

Level of difficultyEasy
Reading time26 min
Views313K

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

Читать далее

Нейронные сети для новичков и профи: топ бесплатных курсов по ИИ

Level of difficultyEasy
Reading time6 min
Views170K

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

В этой статье мы собрали только лучшие бесплатные онлайн курсы по нейронным сетям и машинному обучению. Это курсы от известных IT-компаний, которые предоставляют полное погружение в тему, а не являются просто прогревом перед каким-то платным продуктом. Здесь вы найдете курсы разного уровня сложности - от базовых для новичков до продвинутых. Некоторые из них на русском языке, другие - на английском. Но каждый сможет подобрать для себя что-то полезное и интересное.

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

Приглашаем к прочтению!

Читать далее

Реализация консенсусного алгоритма Raft

Level of difficultyEasy
Reading time12 min
Views5K

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

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

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

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

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

Читать далее

Как я использовала идею CYBERPUNK 2077 в договорах с клиентами

Level of difficultyEasy
Reading time2 min
Views78K

Договоры необязательно писать только «юридическим» языком. Можно упрощать, чтобы было понятно, о чём там речь, неюристам. Как же я обрадовалась, когда увидела оферту CYBERPUNK 2077. Там буквально на языке простого пользователя игры объясняли сложные вещи. Оказывается, так можно делать!

И никто не отругает: теперь я могу ссылаться на оферту одной из самых популярных игр, если кто‑то скажет, что «так никто не делает».

Что получилось

Отказоустойчивая архитектура: почему Tarantool не падает?

Reading time8 min
Views7.6K


Основная проблема в высоконагруженных приложениях — отказоустойчивость. Нагрузка с упавших узлов в кластере должна переключаться на живые. Это кажется несложной задачей, но на практике появляется много подводных камней. Я потратил много времени на поддержку различных кластеров, построенных на Tarantool и наших кластерных фреймворках Cartridge и TDG, и сегодня расскажу вам, как обеспечивается отказоустойчивость в наших приложениях. Будет интересно всем, кто хочет подробнее узнать, как устроен фейловер в Cartridge, и тем, кто хочет узнать о нашем опыте создания автоматических фейловеров.
Читать дальше →

Как я помог сыну собрать релейный калькулятор

Level of difficultyEasy
Reading time7 min
Views14K

Недавно мой старший сын решил собрать однобитный компьютер на дискретных транзисторах. Идея создания однобитного устройства может показаться дурацкой, но в данном случае речь идёт не о машине, имеющей всего две инструкции или ячейки памяти, а о размере «слова» арифметически-логического устройства (АЛУ). Малая ширина в битах позволяет получить более простую схему, но для пошаговой обработки требует использования операндов шире аппаратного лимита. Однобитные АЛУ можно назвать экстремальным решением, но они вполне имеют коммерческое применение, включая микроконтроллер MC14500B, выпущенный компанией Motorola в конце 70х.

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

Я изначально понимал, что мы не будем собирать схему исключительно на реле. Такая задача затянула бы реализацию проекта на месяцы. К тому же при цене прозрачных реле в $6 за единицу его общая стоимость оказалась бы слишком высока. И всё же я выяснил, что можно заставить реле выполнять реальные математические действия.
Читать дальше →

OSINT: инструменты

Level of difficultyMedium
Reading time6 min
Views150K

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

Читать далее

Information

Rating
9,172-nd
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
Python
PostgreSQL
Linux
Docker
Kubernetes
RabbitMQ
Elasticsearch