Pull to refresh
30
0

Web-разработчик, Android-разработчик

Send message

Обходим блокировку VPN

Level of difficultyMedium
Reading time2 min
Views68K

Мой провайдер помимо замедления (читай полная блокировка) YouTube так-же стали блокировать соединения с моими рабочими VPN. Работодатель не очень любит, когда на встречах на вопрос о прогрессе, я неделю отвечаю, что у меня не работает VPN! Своими действиями, мой провайдер сам меня подтолкнул к поиску обходных путей.

Сразу скажу, обходной путь придумал не сам, мне его подсказал автор проекта zapret, а точнее его комментарий, более того, я использую его проект, чтоб смотреть нормально YouTube. Спасибо огромное!

Добавлю, я использую nftables и nfqws, если этот вариант работает у меня — это не значит, что оно заработает и у вас! Возможно, вам придётся изменить некоторые параметры.

Читать далее
Total votes 36: ↑34 and ↓2+39
Comments81

Бесплатный аналог Notion на своем сервере за 10 минут. Локальный запуск, настройка и деплой Wiki.JS

Level of difficultyEasy
Reading time14 min
Views16K

Привет, друзья!

Как вы, возможно, уже знаете, 9 сентября Notion покидает рынок РФ, и, по слухам, это может сопровождаться удалением всех аккаунтов из России. В связи с этим, нам всем стоит задуматься о том, какую альтернативу выбрать.

После тщательного анализа различных опций, я нашел, на мой взгляд, отличную и полностью бесплатный аналог Notion — Wiki.JS.

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

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

Для деплоя я буду использовать сервис Amvera Cloud. Я выбрал его за простоту развертывания и предоставление бесплатного доменного имени с HTTPS-протоколом, которое будет выделено вам сразу после создания проекта.

Для деплоя нам понадобится создать Dockerfile (этот файл будет использоваться как для локального запуска, так и для развертывания). Технически, вам достаточно будет скопировать настройки с этой статьи и все у вас заработает. Затем, просто загрузите этот файл через консоль на сайте Amvera Cloud, и ваш проект соберется и запустится автоматически!

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

Читать далее
Total votes 11: ↑8 and ↓3+6
Comments17

Atomic CSS Deep Dive

Level of difficultyHard
Reading time24 min
Views6.8K

Здравствуйте, товарищи! Меня зовут Валик и в этой статье мы поговорим про подход Atomic CSS в верстке, разработку инструментов и смежные темы.

Кратко вспомним базу - почему Atomic CSS. Рассмотрим популярные решения для работы в этом подходе и сравним их с моим изобретением - mlut. Разберем проблемы известных инструментов и посмотрим, как я решил их в своем. Будут интересные архитектурные решения, технические детали и немного хардкора.

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

Читать далее
Total votes 16: ↑13 and ↓3+14
Comments20

Как сделать и настроить собственный VPN

Level of difficultyEasy
Reading time6 min
Views98K

В статье рассмотрим четыре способа создания собственного VPN. Начнем с самого простого варианта, что под силу даже начинающим пользователям ПК.

Читать далее
Total votes 37: ↑36 and ↓1+42
Comments68

Obsidian + Dataview: Таблицы

Reading time8 min
Views79K

На статью меня вдохновил этот комментарий .

Dataview - это мощный плагин для Obsidian позволяющий отбирать данные (теги, даты, числа и любые другие пользовательские параметры) markdown-заметок, а затем их фильтровать и отбирать как пожелаешь.

Это такой своеобразный аналог Notion-таблиц, где можно создать таблицу с бесконечной вложенностью (таблица, внутри одной ячейки, а внутри еще таблица и еще и еще).

На КДПВ как раз собраны четыре кейса реализации функционала плагина Dataview.

Как всё это работает

1. Dataview работает на встроенном языке запросов

2. Все запросы должны писаться внутри подобного блока кода:

А разбирать каждый кейс будем под катом.
Total votes 26: ↑26 and ↓0+26
Comments38

CORS — это тупо

Reading time7 min
Views23K

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

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

Прежде всего, отмечу, что CORS — это огромный костыль, помогающий снизить влияние ошибок, передающихся с унаследованным кодом. В этой системе защита предоставляется как по принципу отказа от участия (opt-out) в попытке частично купировать XSRF-атаки против незащищённых или немодифицированных сайтов, так и по принципу активного участия (opt-in), чтобы на сайте включалась активная самозащита. Но ни одной из этих мер не достаточно, чтобы решить целенаправленно созданную проблему. Если на вашем сайте используются куки, то вы обязаны деятельно позаботиться о его безопасности. (Ладно, это касается не любого сайта, но лучше перестрахуйтесь. Выделите время на тщательный аудит вашего сайта или выполните описанные ниже простые шаги. Даже придерживаясь самых разумных паттернов, вы всё равно можете подставиться под XSRF-уязвимости).

Читать далее
Total votes 17: ↑11 and ↓6+10
Comments19

Как я сделал Notion 'у себя дома', есть фулл

Level of difficultyEasy
Reading time4 min
Views8.9K

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

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

А сейчас вот появилось -- решил демонстрации ради запилить Notion из рельсов и шпалок.

К постановке вопроса зачем мы вернемся, как это принято тут и у всех айтишников -- в самом конце, а сейчас к конкретике и без воды.

И вот что из этого вышло
Total votes 24: ↑10 and ↓14+1
Comments30

Как я свалил рутинные задачи на low-code-платформу и не пожалел

Level of difficultyEasy
Reading time5 min
Views17K

Привет! На связи Леша Шамшур, разработчик ПО LiSeller. Недавно мой хороший знакомый Паша устроился джуниор-разработчиком в отдел бэкенд-разработки Debex: компания продает просроченные долги. 

После пришел ко мне и захотел поделиться уже своим опытом работы с low-код-инструментами. Решили, что будет круто выложить инсайты на Хабр. Начнем 👇 

Читать далее
Total votes 20: ↑13 and ↓7+8
Comments18

Собираем бюджетный домашний NAS на 14 ТБ

Level of difficultyMedium
Reading time13 min
Views74K


Начав заниматься фотографией, я быстро ощутил нехватку места на компьютере. Фотографии в RAW имеют большой вес, а про видео говорить ещё страшнее. Решение проблемы очень простое — собрать NAS.

О моём опыте сборки бюджетного NAS на 14 ТБ я напишу далее в статье.
Читать дальше →
Total votes 140: ↑139 and ↓1+171
Comments261

Простой способ развернуть локальный LLM

Level of difficultyEasy
Reading time4 min
Views12K

Большие языковые модели (LLM, Large Language Models) стали незаменимыми инструментами для разработчиков и исследователей. С их помощью можно решать разнообразные задачи.. Однако использование таких моделей часто связано с зависимостью от внешних сервисов, что накладывает определённые ограничения. Локальное развертывание LLM позволяет сохранить контроль над данными и гибко настроить модель под конкретные нужды, используя при этом преимущества локальной инфраструктуры.

В этой статье я бы хотел рассказать о преимуществах локального развертывания LLM и рассмотрим несколько open-source решений, которые можно использовать для этой цели.

Читать далее
Total votes 13: ↑12 and ↓1+16
Comments11

Кадры не нужны – 27, или новое магическое мышление менеджмента

Level of difficultyHard
Reading time3 min
Views19K

Для ЛЛ и экспертов Хабра: не читать, сразу минусовать

Старейший Песнопевец тотчас же приметил, что перед ним двуногие, двурукие, бесхвостые боги. Он поспешно перестроил своих соплеменников в подобающую фигуру ...
Для каждого бога есть свой Танец Разрешения на Посадку. Затем идет Танец Подтверждения Астродрома, Танец Таможенного Досмотра, Танец Разгрузки и Танец Медицинского Освидетельствования. – Старейший Песнопевец выговаривал таинственные древние названия отчетливо и внушительно, с благоговением. – Тогда и только тогда можно начинать пиршество.
На носилках из ветвей два бога стенали и вяло шевелили руками. Глат знал: боги исполняют Танец Подражания боли и мукам смертных, подтверждая свое родство с теми, кто им поклоняется
.

Роберт Шекли. Ритуал

Читать далее
Total votes 76: ↑50 and ↓26+34
Comments38

Obsidian — Notion свободного человека

Level of difficultyEasy
Reading time5 min
Views91K

Notion объявили, что уходят из России и 9 сентября блокируют аккаунты пользователей.

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

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

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

Год назад перевёл все свои заметки в Обсидиан. Причина простая: Обсидиан может гораздо больше вещей, чем Notion.

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

Читайте в статье
Total votes 121: ↑115 and ↓6+128
Comments266

Тест поддельного шуруповерта Makita

Reading time6 min
Views88K

Это самый популярный шуруповерт на Wildberries. Каждый месяц их продают примерно по 8-9 тыс. штук на 15 млн. руб. Все остальные шуруповерты отстают по продажам в разы.

Скорее всего люди клюют на привлекательный ценник: за 2 тыс. руб. обещают мощный шуруповерт в пластиковом кейсе с двумя аккумуляторами, набором бит и насадок. Внешне он как бы приличный. Отзывы, как нынче водится, практически все «няшные».

Для разборщика фейков это отличный экземпляр. Например, не каждый день встретишь 48-вольтовый аккумулятор емкость 4 А*ч (192 Вт*ч) размером с пауэрбанк на 36 Вт*ч.

А вот для рядового покупателя это опасное приобретение.

Читать далее
Total votes 202: ↑199 and ↓3+248
Comments290

Hono.js: Легкий Путь к Эффективным API

Level of difficultyMedium
Reading time5 min
Views5.5K

Когда речь идет о разработке простого бэкенда, то в голову приходит Express.js. Однако в 2024 году он считается устаревшим, так как есть шустрые альтернативы. Приветствую вас, дорогие читатели и сегодня расскажу о Hono.js.

Читать далее
Total votes 12: ↑11 and ↓1+16
Comments12

User-боты в Telegram: Простая автоматизация с Python (Pyrogram). Первые шаги

Level of difficultyEasy
Reading time15 min
Views16K

Давно хотел рассказать вам о такой интересной теме, как User-боты в Telegram, и, наконец-то, мои руки дошли до этого. Сегодня мы разберемся, что это за зверь такой, как его приручить, и, самое главное, познакомимся с мощным Python фреймворком для работы с юзер-ботами – Pyrogram.

Итак, что же такое User-бот в Telegram? Проще говоря, это бот, который ведет себя как обычный пользователь, используя ваш личный аккаунт, а не официальный API Telegram. Такой бот может участвовать в чатах, отправлять и получать сообщения, управлять группами и каналами, делать рассылки и даже выполнять административные задачи.

Это как если бы вы сами сидели за компьютером или телефоном, но все действия выполняет запрограммированный бот.

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

Читать далее
Total votes 9: ↑9 and ↓0+11
Comments32

MacBook Pro. Или как я стал жертвой маркетинга

Level of difficultyEasy
Reading time8 min
Views81K

И вот на дворе 2024 год, у меня обустроенное рабочее место с большим монитором и комфортным креслом, а отложенная премия шепчет на ушко «А давай купим новый мак, производительный, тихий, сможешь работать откуда угодно». После таких размышлений мы с ней расстались. И вот у меня появился новый макбук, да еще какой – про версия, на новейшем M3 Pro процессоре, почти 4к HDR экран с частой 120Гц. В общем, ожидалось, что радости моей не будет конца и края, что я снова буду использовать мак как основное устройство для рабочих сценариев и сведу на нет работу за своим старым ПК.

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

Читать далее
Total votes 123: ↑67 and ↓56+32
Comments542

ByeDPI для Android, SpoofDPI для Mac и Linux – чиним YouTube и не работающие в России сайты на Андроид, Линукс и Мак

Level of difficultyEasy
Reading time2 min
Views218K

Вчера писал о графической оболочке Launcher for GoodbyeDPI, позволяющей интуитивно-понятно воспользоваться решением GoodbyeDPI от ValdikSS для решения проблемы замедления YouTube и недоступности в России ряда сайтов. Все хорошо, но это были решения лишь под Windows. В комментариях основные вопросы были о том, как быть с Android, Linux и Mac, и почему не в исходниках. Увы, репрессии РКН заставляют администрацию Хабра цензурировать статьи, во вчерашнюю статью внесение изменений мне запрещено, и сама ссылка доступна лишь вне России, потому объясняю про Андроид, Линукс и Мак здесь, со ссылками на исходники.

Итак, для Android есть масса проектов, мне подошел Release ByeDPI 1.0.0 · dovecoteescapee/ByeDPIAndroid · GitHub. Для Mac и Linux я бы ставил https://github.com/xvzc/SpoofDPI/releases. Все в исходных кодах.

ByeDPI for Android, это приложение, которое запускает локальный VPN-сервис для обхода DPI (Deep Packet Inspection) и цензуры. На вашем устройстве локально запускается SOCKS5-прокси ByeDPI и весь трафик перенаправляется через него.

Снятие блокировок на Android/Mac/Linux
Total votes 76: ↑75 and ↓1+91
Comments71

Распределенные транзакции для самых маленьких

Level of difficultyEasy
Reading time8 min
Views13K

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

Читать далее
Total votes 18: ↑14 and ↓4+15
Comments10

Поверхностный обзор источников по Obsidian

Level of difficultyEasy
Reading time12 min
Views15K

Прочитал и посмотрел почти все статьи и видео по Obsidian, которые вышли недавно (в среднем не более 1-2 ух месяцев назад). Дал каждому источнику субъективную оценку и написал короткий комментарий.

Окунуться в субъективный взгляд автора
Total votes 24: ↑21 and ↓3+20
Comments11

Как легко сделать подмену данных на вебе?

Level of difficultyMedium
Reading time3 min
Views16K

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

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

В роли QA-инженера, активно тестирующего веб, я часто сталкиваюсь с необходимостью изменения запросов/ответов API, статус кода ответа и других параметров. Иногда возникают ситуации, когда фронт готов, но доработки с бэка еще предстоит дождаться.

Тут на помощь приходит Requestly! 

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments13

Information

Rating
Does not participate
Location
Рыбинск, Ярославская обл., Россия
Date of birth
Registered
Activity