Как стать автором
Обновить
0
0
German Sidorenko @Sigest

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

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

Self Hosted для домашнего сервера

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

Есть отличный термин self hosted, который очень популярен в англоязычном интернете.
Но он плохо переводится, почти как open source - хотя википедия и пытается дать ужасно звучащий термин "самохостинг"...

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

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

Эту статью я пишу во многом для нескольких друзей, которые решили приобщиться к этому тренду, и здесь будет обзор моего личного self hosted - про всякие разные штуки, которые показались полезны лично мне, и плотно заняли своё место на моём домашнем сервере.

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

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

Сумма степеней натурального ряда. Часть 1

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

Вам наверняка известна история о математике Карле Гауссе. Когда ему было восемь лет, учитель задал его классу задачу посчитать сумму всех натуральных чисел от 1 до 100. Пока остальные дети трудились над последовательным сложением, Гаусс нашел простое и изящное решение. Он заметил, что числа можно сгруппировать в 50 пар с одинаковой суммой и мгновенно получил ответ 50\cdot 101 = 5050.

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

В этой статье мы рассмотрим графический метод нахождения формул для суммы степеней натурального ряда.

Читать далее
Всего голосов 35: ↑34 и ↓1+46
Комментарии35

Разработка интерфейса для Windows — это боль

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

Последние несколько дней я пытался найти библиотеку, которая бы позволила мне писать на C++ программы с GUI. Мои требования были довольно просты:

Достаточно только поддержки Windows

Разрешено коммерческое использование

Простая стилизация, в том числе и тёмный режим

Результатом должен быть единый файл .exe размером меньше 40 МБ без или с минимальным количеством зависимостей

Написание части программы с GUI не должно занимать больше времени, чем сама функциональность

Читать далее
Всего голосов 46: ↑41 и ↓5+53
Комментарии226

Тестирование Kotlin/JS: фреймворки, корутины и все-все-все

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

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

Вводная. У меня есть пет-проект -- сайт и API-платформа для комьюнити по игре Elite: Dangerous. Бэкенд - на Kotlin/JVM (Ktor+Hibernate), фронтенд - на Kotlin/JS (KVision+Fomantic UI). О пет-проекте я расскажу как-нибудь потом, а о фронте поподобрнее.

KVision - веб-фреймворк для Kotlin, объединяющий в себе идеи из различных десктопных фреймворков (от Swing и JavaFX до WinForms и Flutter) и синтаксические возможности Kotlin, например, DSL-билдеры.

Fomantic-UI - форк Semantic-UI, компонентного веб-фреймворка для HTML/JS, который можно сравнить с Bootstrap, только Fomantic будет поинтереснее.

Не так давно я загорелся мыслью связать эти два мира и написать библиотеку для KVision, которая бы, как минимум, облегчила написание KVision-страниц с Fomantic-элементами.

И, как подобается open source проекту, я планировал покрыть библиотеку тестами. Вот об этом приключении и будет эта статья.

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

Архитектура кроссплатформенного многомодульного приложения

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

Хочу поделиться своим опытом создания кроссплатформенного приложения на базе kotlin-multiplatform (KMP), организации его архитектуры, настройки для работы с различными библиотеками и особенностями его работы. Статья подойдет в первую очередь разработчикам, которые уже имеют опыт с многомодульными проектами в android и начинают изучать KMP. В конце я опишу свою реализацию архитектурного паттерна MVI и его применение в проекте.

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

Как пройти собеседование в FAANG. Мой опыт и рекомендации в 2024 году

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

Всем привет, меня зовут Максим Иванов, я frontend-разработчик в компании Т-Банк (Тинькофф). Сегодня мы поговорим с вами о лайфхаках, которые могут вам пригодиться, если вы хотите устроиться в Google. С автором данной статьи я был лично знаком, когда он еще работал в Тинькофф. Смею заметить, что этот человек не был рядовым разработчиком. Он был очень талантливым как инженер, так и руководитель. Значительная часть его опыта была связана с курированием отдела Frontend Core Tech в Тинькофф, а это 200 инженеров в подчинении. Он постоянно проводил встречи для разработчиков и распространял самые передовые знания на всю компанию. Обучал, помогал, решал самые сложные задачи, которые стояли перед отделом. Когда я наткнулся на его статью, то решил отдать дань уважения и сделать перевод. Спасибо, если дочитаете до конца и давайте начнем!

Читать далее
Всего голосов 14: ↑10 и ↓4+8
Комментарии17

Рекрутинговый ад или как я в Канаде IT работу искал

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

Привет. Мне 32 года, идентифицирую себя как Middle Frontend Developer. У меня почти 7 лет опыта работы, из которых только три я считаю релевантными, где я работал с современными технологиями типа React, TypeScript, GraphQL и т.д. До этого работа заключалась в разработке сайтов с использованием JQuery.

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

Читать далее
Всего голосов 156: ↑149 и ↓7+177
Комментарии527

Справочник по применению GPU в машинном обучении

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

Это перевод популярного лонгрида Тима Детмерса "Выбор графического процессора для глубокого обучения: мой опыт и советы".

Глубокое обучение (Deep learning, DL) - область с высокими вычислительными требованиями, и выбор графического процессора будет в корне определять ваши возможности в этой сфере. Какие характеристики важны при выборе нового GPU? Оперативная память GPU, ядра, тензорные ядра, кэш? Как сделать экономически эффективный выбор? Мы рассмотрим эти вопросы, заодно разберемся с распространенными заблуждениями, разберемся в характеристиках GPU, дадим советы, которые помогут вам сделать правильный выбор.

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

Enbeddrus — обучение независящей от языка эмбеддинг-модели

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

Приветствую, хабровчане!

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

Основная причина, по которой я решил заняться этим проектом, заключается в том, что мои заметки, код и документация, накопленные за более чем десять лет практики, представляют собой солянку текстов о разных технологиях, языках программирования, пометки о настройке серверов Linux и т.д. на русском и английском языках. Поэтому мне захотелось сделать Retrieval-Augmented Generation (RAG) помогалку, которая сможет принимать запросы пользователя (меня) и эффективно находить информацию в столь разношерстой базе данных, независимо от того на каком языке я сделал запрос и на каком языке написана документация.

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

Ещё одним важным аспектом было то, чтобы модель потребляла как можно меньше ресурсов и, если возможно, чтобы её можно было преобразовать в формат GGUF.

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

Рецепты «приготовления» Hibernate, или решаем 5 проблем работы с фреймворком

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

Hibernate — очень мощный и функциональный ORM (Object-Relational Mapping) фреймворк. Он связывает базы данных с помощью объектно-ориентированных языков программирования. Однако многие, начиная с ним работать, натыкаются на проблемы производительности или отсутствия нужной функциональности. Многие из этих проблем появляются просто из-за того, что разработчики не умеют его «готовить». 

В статье делимся рецептами работы с Hibernate и Spring Data JPA: они помогут решить многие проблемы, возникающими при использовании фреймворка.  

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

Llama 3.1-70b в своем Телеграм боте — бесплатно, безлимитно и всего 20 строк кода

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

Да, всего 20 строк кода и бот:

1) по качеству ответов будет соизмерим с ChatGPT-4o;
2) будет отвечать очень быстро т.к. подключим мы его через Groq который в среднем в 10 раз быстрее других аналогичных сервисов;
3) будет поддерживать диалог и запоминать последние сообщения.

Читать далее
Всего голосов 50: ↑40 и ↓10+38
Комментарии102

Linux, Git и базы данных: что почитать новичкам в Академии Selectel

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

Источник.

Новичкам бывает сложно войти в администрирование. Комплексные курсы стоят дорого, а самостоятельный поиск информации заканчивается пополнением закладок, о которых вспоминают раз в год. В тексте собрали шесть бесплатных курсов по рекомендации от наших коллег. Их можно пройти сразу или постепенно — сохраним ваш прогресс, когда бы вы ни вернулись.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+52
Комментарии5

Что нужно знать, чтобы успешно пройти System Design Interview

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

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

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

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

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

Геоаналитика с помощью Python и открытых данных: пошаговое руководство

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

Геоаналитика с помощью Python: GeoPandas, folium, Uber H3, OSM + примеры как можно определять лучшие локации для поиска помещений под открытие кофейни (и не только).

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

Как сделать карту цен в Excel без макросов и VBA

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

Считается, что Data Mining — это магическое снадобье из SQL, Python, Power BI и других волшебных компонент. Мало кто знает, что при правильном подходе с Data Mining может совладать офисный планктон с помощью одного лишь Excel.

Если вы абсолютно далеки от Data Mining, но хотите причаститься его таинств, это руководство в картинках по шагам сделано для вас. Особенно полезно тем, кто никогда бы даже не подумал сделать подобное самостоятельно.

Если вы владеете специальными инструментами для работы с данными, то будет интересно узнать ваше мнение о решениях без "рокет сайнс" (как о явлении в целом, так и о данном кейсе).

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

Ранжирование округов Москвы по стоимости аренды с Python

Время на прочтение10 мин
Количество просмотров7.8K
Сейчас программирование все глубже и глубже проникает во все сферы жизни. А возможно это стало благодаря очень популярному сейчас python’у. Если еще лет 5 назад для анализа данных приходилось использовать целый пакет различных инструментов: C# для выгрузки (или ручки), Excel, MatLab, SQL, и постоянно “прыгать” туда сюда вычищая, сверяя и выверяя данные. То сейчас python, благодаря огромному количеству прекрасных библиотек и модулей, в первом приближении благополучно заменяет все эти инструменты, а в связке с SQL так вообще “горы свернуть можно”.

Итак, к чему я. Увлеклась я изучением такого популярного python’а. А лучший способ изучить что-либо, как вы знаете, — практика. А еще я интересуюсь недвижимостью. И попалась мне на глаза интересная задачка о недвижимости в Москве: проранжировать округа Москвы по усредненной стоимости аренды средней однушки? Батюшки, я подумала, да тут вам и геолокация, и выгрузка с сайта, и анализ данных — прекрасная практическая задача.

Воодушевившись замечательными статьями тут на Хабре (в конце статьи добавлю ссылки), приступим!
Читать дальше
Всего голосов 11: ↑11 и ↓0+11
Комментарии2

Популярные алгоритмы машинного обучения. Теоретические основы и реализация с нуля на Python

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

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

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

Практические советы, примеры и туннели SSH

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

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

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии29

SSH-Туннели простыми словами

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

В какой-то момент у меня возникла необходимость разобраться с простыми SSH-туннелями: как из запускать и какие туннели могут помочь мне (обычному web-разработчику). Разобраться в этом удалось и я решил поделиться пояснениями в простой понятной форме.

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

Статистика по стоимости недвижимости — визуализация на карте

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

Введение


Начну с конца. Это скриншот с некой web-карты, визуализирующей среднюю стоимость недвижимости на вторичном рынке Саратова и Энгельса:



Цвета на карте можно соотнести с цветами на «легенде», цвет на «легенде» соответствует средней стоимости квадратного метра общей площади в тысячах рублей.

Точка на карте соответствует одному предложению по продаже (на вторичном рынке) квартиры с Авито. Всего таких точек, как видно на «легенде», для построения графика использовалось 4943.
Карта в интерактивном виде доступна на GitHub.

А теперь немного предыстории..


Давным-давно…
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии34

Информация

В рейтинге
5 458-й
Откуда
Ташкент, Ташкентская обл., Узбекистан
Дата рождения
Зарегистрирован
Активность