Сообщество - ИТ-проекты пикабушников

ИТ-проекты пикабушников

833 поста • 3 486 подписчиков

Популярные теги в сообществе:

4

Пишу сервис для общения: работа над контекстным меню⁠⁠

Удалось выкроить время и вернуться к проекту. Доработал исчезновение дат, которые перекрывают сообщения. Тут можно видеть как даты исчезают и появляются:

Но даты, на самом деле, были доработаны давно. На днях исправлял ошибки (или по-заморски "баги") с анимациями:

1) Обработал разные ситуации промотки к сообщению. Теперь анимаци промотки остановится, если во время промотки к сообщению нажать на экран.
2) Доработал контекстное меню: убрал плашку с эмоджи для сообщений, которые не были отправлены. Учел отсутствие этой плашки при позиционировании контекстного меню.
3) Встретился со старым знакомым, пару лет его не видел 🙂 Показал приложение на телефоне (без серверной части, то есть по сути нерабочее), он потыкался и ему стало интересно помочь с обратной связью. На данный момент набралось более 250 человек, которым данный проект кажется интересным 🙂

Тут скрины разного позиционирования контекстного меню (с плашкой выбора эмоджи и без):

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

Сейчас работаю над механизмом отправки эмоджи. Если быть точнее, унифицирую/дорабатываю систему отправки событий на сервер. А эмоджи будет частным случаем работы данной системы доставки и синхронизации событий.

Пока вроде бы это все новости о сервисе для общения.

--

По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.

Показать полностью 3

КакДела: Канбан доски⁠⁠

Всем привет! Меня зовут Вадим, я делаю свой сервис для ведения заметок — КакДела. Хочу поделиться ходом развития сервиса

КакДела: Канбан доски

Папкам добавлен вариант отображения в виде канбан доски. Теперь можно вести проекты прямо в КакДела

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

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

Как понимаете, я и сам этим пользуюсь. Так у меня есть пространство «КакДела» с документацией по проекту, и папка «роадмап» (карта развития) с планами по проекту. Роадмап у меня представлен как раз в виде доски: каждая заметка в папке отдельная фича с детали внутри заметки, а на доске по каждой задаче виде статус и приоритет

Показать полностью

PRZ, изменения⁠⁠

Серия Моя разработка

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

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

Схема для сопроводительной документации примерно такая:

А птошник работает в примерно такой:

В рабочем интерфейсе это выглядит так:

Справочник Сертификаты, раздел Сопроводиловка

Справочник Сертификаты, раздел Сопроводиловка

Приемка ТМЦ в разделе Трубы

Приемка ТМЦ в разделе Трубы

В этом релизе добавлены:

  • объединения полей для отображения (например наименование + свойство)

  • импорт из excel (с возможностью изменения уже имеющихся данных)

  • автоматическое обновление консольного приложения клиента

  • разделение схем

Для нежелающих разворачивать БД у себя для тестирования - логин "Пика бушка" (без кавычек, с пробелом), пароль "4e3w2q1" (без кавычек). Можно проверить работоспособность и оценить функционал. В тестовой БД данные чистятся периодически, созданные схемы можно сохранять как файл JSON.

(Использование для ПТО приведено как пример, потому что моя давняя деятельность была в сфере ПТО, и первый пользователь - из давних сохраненных контактов именно в этой сфере)

https://przall.ru/

Показать полностью 4
1

Очень нужно ваше мнение⁠⁠

Всем привет! Продолжаю развивать сервис для ведения заметок и дневников kakdela.me

Собираю обратную связь по работе сервиса, потому что у самого глаз уже замылился конкретно. Начинает казаться, что я занимаюсь ерундой (или не казаться). В общем, стало понятно, что без взглядов и советов со стороны я не справлюсь. А Пикабу для такого мероприятия идеальное место!

Заранее большое спасибо за уделенное время! Обнял, заранее попросив разрешения


Ранее я уже собирал обратную связь в другой соцсети, и мне дали много дельных советов. Так в продукте изменилось:

  • Лимит заметок увеличен до 1000 (есть планы снять лимиты вообще);

  • Добавлены ИИ-функции, но пока с вашим ключом API нейросетей (OpenAI, Polza ai, OpenRouter);

  • Улучшена работа редактора на смартфонах (это был ад, но всё удалось);

  • Добавлена поддержка папок и тегов, по тегам можно искать;

  • Переработан импорт заметок. Поддерживается импорт папки из Obsidian;

  • Исправлена проблема загрузки с подключенным VPN (осуждаем!). Пришлось потратиться на CDN, но на текущих объемах это не дорого. Зато реально быстрее стало грузиться.

    Также в работе Android-приложение (вообще это просто TWA, потому что в kotlin я не умею) и ряд функций для командной работы. Это тоже по результатам обратной связи

Показать полностью
24

Как собрать "домашнее облако" из того что было, или NAS за копейки⁠⁠

Дисклеймер для профи: Ребята, сеньоры и гуру серверов, вы и так всё это умеете с закрытыми глазами и наверняка собрали бы всё на TrueNAS, ECC-памяти и отдельной стойке. Не судите строго — этот пост для таких же любопытных энтузиастов и новичков как я, которые хотят оживить старое железо с полки и не наступить на мои грабли. А вот за ваш опыт и дельные подсказки в комментах — заранее жму руку!

Валялась без дела старая Raspberry Pi 3, нашлись два жестких диска по 3 ТБ. Все думал как сделать себе и родственникам облачное хранилище, хранилише бэкапов и архивов фото и не потратить миллион, так и пришел к идее своего облака.

Сетап:

raspberry pi 3b (покупалась еще очень давно для klipper)

hdd какие есть - у меня были по 3 тб

докупил док станцию для жестких дисков только

Планировалось классическое приключение Рика и Морти: «Вошли и вышли, приключение на 20 минут!». Ага, конечно...

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

Задача была поставлена мной так: поддержка smart для дисков, алерты, мониторинг, бэкапы по расписанию, удобный web-интерфейс который можно прокинуть во внешнюю сеть.

Проблемы:

1.Самая частая ошибка новичка — воткнуть 3.5″ жесткие диски напрямую в USB-порты «малинки» через дешевый usb-sata адаптер. Спойлер: ничего не заработает, а плата может уйти в защиту. RPi 3 выдает смешные 1.2 А на все 4 порта суммарно, а большим винтам для раскрутки шпинделей жизненно необходимы 12 Вольт.

Как сделал я: взял внешнюю дешевую USB-док-станцию на два диска с собственным блоком питания от розетки на 12 В (фото этого чудо-сетапа прикрепил). Малинка видит диски по USB, а питаются они сами.

На заднем фото видна даже моя клавиатура, уже делился фото ранее

На заднем фото видна даже моя клавиатура, уже делился фото ранее

Ложка дегтя по скорости: У третьей малинки сетевой чип (100 Мбит/с) и порты USB 2.0 сидят на одной шине. Физический потолок передачи данных — примерно 11–12 МБ/с. Фильмы в 4K по сети с нее смотреть тяжело, но для бэкапа архива фоток, документов и семейных архивов — за глаза.

2. Nextcloud? Поберегите нервные клетки

Первая мысль любого гуглящего: «Хочу домашний Google Диск - накачу Nextcloud!».

Не торопитесь разгоняться. У Raspberry Pi 3 всего 1 ГБ оперативки. Nextcloud со своей архитектурой и кучей дополнительных функций просто расплавит бедную плату, забьет память и положит всё намертво. Есть конечно NextcloudPI и я его даже поднял в первой итерации, но количество лишних функций и нагрузка на малинку меня переубедили.

Рабочая и легкая связка:

- OpenMediaVault (OMV): надежная база для управления дисками, форматирования и RAID через удобную веб-панель. По сути ОС для NAS, есть и SMART, и уведомления и все остальное.

- Filebrowser в Docker: легковесный веб-интерфейс на Go для получения интерфейса как в dropbox, google drive и подобных. Потребляет смешные 30 МБ оперативки, летает, умеет делиться ссылками и показывает превью фоток не хуже Google Drive.

Вот как это выглядит

Вот как это выглядит

3. Грабли на которые я наступил

Грабли №1: Некорректное время в системе

Накатил чистую систему, пишу sudo apt update — и консоль плюется ошибками.

Оказывается, у Raspberry Pi нет батарейки часов (RTC). Время сбилось на годы назад, и Linux на полном серьезе заявил: «Я не буду качать обновления, эти SSL-сертификаты подписаны в будущем!».

Решение: перед любыми командами принудительно синхронизируем время через интернет:

sudo timedatectl set-ntp true

Грабли №2: «Кончилось место» на пустой флешке

Качаю пакеты дальше — вылетает No space left on device. Смотрю на MicroSD — свободно 50 гигов.

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

Решение: на устройствах с 1 ГБ ОЗУ такие «оптимизации» только вредят. Возвращаем запись логов на диск и наглухо выключаем службу:

sudo folder2ram -unmountall

sudo systemctl disable --now folder2ram

Грабли №3: OMV убивает сеть при установке и обновлении системы , а консоль сходит с ума

Установщик OMV очень любит хозяйничать в сетевых конфигах: он просто снес настройки сети, и плата мгновенно отвалилась от Wi-Fi/Ethernet и закрыла SSH.

Потащил плату к телевизору, воткнул проводную клавиатуру и наткнулся на сюрприз: Debian включил фонетический транслит. Жмешь P — печатает k, жмешь A — вылезает f. Вот тут я прикурил...

Угадывать пароль root вслепую на ТВ — то еще шоу «Поле чудес».

Решение: ставьте OMV официальным скриптом строго с волшебным ключом -n (он переводится как: «Пожалуйста, не трогай сетевые настройки, гад»):

4. Дисковая бессонница в 3 часа ночи

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

Полез под капот, и вскрылись две засады:

В легкой системе банально не было утилиты управления дисками hdparm. OMV бодро отчитывался «настройки применены», а команды улетали в никуда.

Встроенный демон SMART опрашивал температуру дисков каждые 10 минут и постоянно будил их.

Как вылечил:

Доставил утилиту:

sudo apt install hdparm -y

Принудительно отправил диски спать при бездействии больше 10 минут (параметр 120 = 120 * 5 секунд):

sudo hdparm -S 120 /dev/sda

sudo hdparm -S 120 /dev/sdb

А в панели OMV просто отключил слишком частый опрос SMART для спящих дисков. Наступила долгожданная тишина.

5. Доступ отовсюду и бэкапы

Как захожу с телефона/ноутбука: Никаких белых IP и проброса портов роутера. Поставил NetBird (быстрая Mesh-сеть поверх WireGuard). Теперь домашнее облако открывается из любой точки интернета или с мобильного интернета так, будто я сижу дома в своей локалке. Либо можно прокинуть в cloudflare tunnel, либо поднять свой wg-тоннель в домашнюю сеть.

Бэкап: Настроил ночной rsync по расписанию: всё, что падает на диск А, ночью автоматически дублируется на диск Б. Если один винт решит отправиться в вальхаллу, файлы останутся целы.

Итог

Реальные затраты на проект составили 2 199 рублей на покупку двухдисковой док-станции (остальное найдено на антресолях). На выходе получилась бесшумная, холодная и абсолютно автономная файлопомойка.

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

Если тема вам зашла и вы хотите, чтобы я детальнее рассказал (например, готовый конфиг Docker Compose под Filebrowser, скрипт rsync-бэкапов или связку с NetBird без белого IP) — напишите об этом в комментариях!

А за закулисьем моих железных разработок, 3D-печатью, кодом и свежими граблями заглядывайте в мой Telegram-канал Engineering Hobby — там все рассказываю как есть и по мере готовности. 🛠️

💬 Вопрос к знатокам в комментариях:

- как бы вы докрутили этот сетап в условиях жесткого дефицита ресурсов?

- кто-то пробовал ставить CasaOS или ZimaOS на 1 ГБ ОЗУ и как оно там себя чувствует?

- что бы еще улучшить для надежности?

Делитесь опытом, критикуйте и накидывайте идеи! 👇

Показать полностью 3
8

Пишу сервис для общения: взаимодействие с сообщениями⁠⁠

Серия Проект с сервисом для общения

Добавил контекстное меню в сервис для общения 🙂
В первую очередь хотелось бы поблагодарить спонсора контекстного меню, а если точнее, то этого разработчика: Dexterfury. Его проект был взят в качестве основы: https://github.com/dexterfury/flutter_chat_reactions

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

Думаю получилось неплохо, пока кажется "работает удобно" 🙂

Кстати, исправил выделение сообщений. Ранее при клике на сообщение на который был дан ответ оно выделялось вот такой серой полосой:

Пишу сервис для общения: взаимодействие с сообщениями

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

Контекстное меню и выбор действий с сообщениями добавил. Осталось (😂, да, осталось) нужно подключить сетевое взаимодействие. Напомню, севрер уже все поддерживает, нужно чтобы клиент корректно отправлял команды на сервер и обрабатывал его ответы. Буду работать над этим 🙂

--

По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.

Показать полностью 5 1
5

Пишу сервис для общения: прокрутка к сообщению⁠⁠

Серия Проект с сервисом для общения

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

Один из ранних вариантов прокрутки истории:

Плюсы:

  • как-то оно прокручивает к нужному сообщению

Минусы:

  • на обе ноги хромает производительность

  • проблемы с визуализацией сообщений (они пропадают в процессе прокрутки)

  • сломалась механика дат истории переписки (даты не прилипают к верхней части экрана)

  • сломалась анимация аватарок (тут они перестали корректно реагировать на поле ввода).

Сделано было так: в памяти создается второй массив сообщений и с ним производится поисковая работа параллельно работе интерфейса. Если скролить нужно недалеко, то по производительности терпимо. Если далеко - появляются тормоза.

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

Также добавил простенькую анимацию: найденное сообщение подсвечивается

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

Надеюсь сильно не застряну с контекстным меню 😅

--

По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества