TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 13 подобни публикации

Търсене: #backup

当前筛选 #backup清除筛选
Android Broadcast

@android_broadcast · Post #8807 · 14.03.2025 г., 10:00

🚀Jetpack Credentials 1.5.0 позволяют переносить учетные данные на новое Android-устройство. Google выпустила обновленную библиотеку Jetpack Credentials 1.5.0, и вот главные изменения, которые вам стоит знать: 🤖Вторичный интерфейс для выбора учетных данных Теперь при использовании Credential Manager API вы можете связать запрос получения учетных данных (GetCredentialRequest) с конкретным UI-элементом вашего приложения (например, поле логина или пароля). В результате, после того как пользователь закроет основной селектор и перейдет к заполнению полей вручную, он увидит дополнительные предложения учетных данных прямо на клавиатуре или в выпадающем списке. Это значительно улучшит UX вашего приложения и облегчит процесс входа. 🤖Восстановление учетных данных (Restore Credentials) Новый тип RestoreCredential позволяет автоматически переносить учетные данные пользователя со старого устройства на новое при настройке Android. Если пользователь выберет ваше приложение для переноса, ему не придется заново вводить данные — все произойдет автоматически. Подробности тут. Как здорово, что такие возможности появляются, но их проблема — полагаться на разработчиков, которые вряд ли станут затягивать это API. #android#jetpack#backup

Libreware

@libreware · Post #874 · 07.12.2020 г., 04:31

🔵 Android's Root backup solutions: ▶️ 1) Titanium backup pro (paid, closed source) https://matrixrewriter.com/android/ https://www.titaniumtrack.com/titanium-backup.html https://play.google.com/store/apps/details?id=com.keramidas.TitaniumBackup Get licence file with PayPal option, don't purchase via playstore, Goolag takes 30% of in-app purchase amount from the developer ▶️ 2) OandbackupX https://f-droid.org/packages/com.machiav3lli.backup https://github.com/machiav3lli/oandbackupx ⚠️Warning: oandbackupX may not be stable yet ▶️ 3) cbackup https://kdrag0n.dev/g/cbackup 🔵 Android's Nonroot backup solution: ▶️ Seedvault https://github.com/stevesoltys/seedvault So far it is supported by CalyxOS, GrapheneOS, LineageOS, Crdroid ⚠️Warning not all apps data can be backed up this way Some apps declare they cannot be backed up in their manifests, so seedvault skips them. It can backup apks though if their data can't be backed up. Split apks backup is not supported (yet?) In this case, you need SAI SAI (SAI lets you install and export split APKs) - https://f-droid.org/packages/com.aefyr.sai.fdroid and custom recovery file manager. Copy app data from /data/data of user apps and save it to local storage, copy them to /data/data when needed. For convenience, create a recovery script to restore data in /data/data. Encrypt them when not needed #backup#android 📡@NoGoolag📡@Libreware

Android Broadcast

@android_broadcast · Post #8909 · 06.04.2025 г., 10:22

📹Как сделать Backup и перенос данных между устройствами на Android (40 мин) Не так давно я поменял Pixel 7 на 9. Кажется, что всё в рамках одной экосистемы идет, но как много приложений заставили меня снова логиниться и проводить настройку. Приятным исключением стал VK, как раз так авторизация перенеслась и всё работало! Разработчик этой фичи, Артур Илькаев, в VK ID сделал доклад на Mobius, где рассказал все подробности решения, а также как много денег это смогло сэкономить бизнесу, а сам Артур смог получить благодаря этому миллионный бонус за год потому что сэкономил бизнесу намного больше и в долгий срок! 0:00 Про что будет доклад 2:32 Начало доклада 39:41 Обсуждение #android#backup#mobius

DOFH - DevOps from hell

@dofh_ru · Post #3270 · 08.02.2024 г., 06:14

​​До появления Proxmox Backup Server я часто отдавал предпочтение при выборе гипервизора Hyper-V из-за того, что для Proxmox VE не было функционального инструмента для бэкапов VM, кроме его встроенного средства, которое делало только полные бэкапы. С выходом PBS этот вопрос был закрыт, причём бескомпромиссно. Предложенное решение было лучше, чем любое другое бесплатное. Так что связка Proxmox VE + PBS аналогов сейчас не имеет по удобству, простоте настройки и эксплуатации. Отдельно отметить и рассказать более подробно я хочу про Proxmox Backup Client. Это консольная утилита для Linux, которая позволяет делать бэкап на уровне файлов из виртуальной машины в PBS, даже если система находится на другом гипервизоре. То есть это полностью отвязанный от инфраструктуры Proxmox клиент, который позволяет складывать резервные копии в PBS. Таким образом этот сервер бэкапов может объединять в себе разнородную инфраструктуру. Сразу перечислю основные ограничения этого клиента: ▪ бэкап только на уровне файлов или образов дисков, не системы целиком; ▪ официальная поддержка только deb дистрибутивов, для rpm люди сами собирают пакеты, так как исходники открыты; ▪ нет поддержки windows, вариант бэкапа данных оттуда только один - монтирование диска по smb к linux машине и бэкап этого примонтированного диска. Использовать proxmox-backup-client очень просто. Я не буду подробно описывать его возможности, так как в оригинальной документации представлена исчерпывающая информация. Если хочется на русском, то можно обратиться к документации от altlinux. Кратко покажу пример установки и бэкапа. Ставим Proxmox Backup Client на Debian: # wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg # mcedit /etc/apt/sources.list.d/pbs-client.list Вставляем туда для Debian 12 deb http://download.proxmox.com/debian/pbs-client bookworm main Для Debian 11: deb http://download.proxmox.com/debian/pbs-client bullseye main Для Debian 10: deb http://download.proxmox.com/debian/pbs-client buster main Ставим клиента: # apt update && apt install proxmox-backup-client Теперь бэкапим корень сервера без примонтированных дисков. То есть делаем бэкап системы: # proxmox-backup-client backup root.pxar:/ --repository 10.20.1.47:main Здесь мы указали: ◽root.pxar - имя архива в формате pbs ◽/ - бэкапим корень системы ◽10.20.1.47 - адрес pbs сервера ◽main - имя datastore По умолчанию используется учётная запись root@pam, то есть дефолтный админ. Разумеется, на проде так делать не надо, потому что у него полные права, в том числе на удаление архивов. Делайте отдельные учётки для разных систем с ограниченными правами. В PBS это организовано удобно и просто, так что разобраться не трудно. Для указания имени пользователя, нужно использовать такой вид репозитория: user01@[email protected]. То есть мы указали созданного вручную пользователя user01@pbs. Для того, чтобы не вводить пароль пользователя вручную, можно задать его через переменную окружения PBS_PASSWORD. Смотреть содержимое бэкапов можно как через веб интерфейс, так и тут локально. Причём бэкап можно примонтировать через fuse. Сморим снэпшоты и выбираем любой для монтирования: # proxmox-backup-client snapshot list --repository 10.20.1.47:main # proxmox-backup-client mount host/debian12-vm/2024-02-06T19:19:12Z root.pxar --repository 10.20.1.47:main /mnt/backup Очень быстро и удобно. При желании бэкапы можно шифровать. #proxmox#backup

DOFH - DevOps from hell

@dofh_ru · Post #4067 · 18.03.2026 г., 09:42

​​Постоянно пользуюсь утилитой rclone для загрузки данных в S3 хранилище. Вспомнил, что ни разу не писал про неё отдельно. Решил исправить. Думаю, многие знают про неё, так как программа старая, удобная, популярная. Она есть под все известные ОС: Windows, macOS, Linux, FreeBSD, NetBSD, OpenBSD, Plan9, Solaris. Я использую её исключительно в консоли Linux. Она есть в базовых репозиториях, так что ставится стандартно: # apt install rclone # dnf install rclone Самую свежую версию можно поставить вот так: # curl https://rclone.org/install.sh | bash Далее рисуем простой конфиг в файле ~/.config/rclone/rclone.conf: [selectel] type = swift user = 79167_username key = uO6GdPZ97 auth = https://api.selcdn.ru/v3 tenant = 79167_username auth_version = 3 endpoint_type = public Это пример для S3 хранилища от Selectel. Все учётные данные получите в ЛК. Я давно им пользуюсь. Когда выбирал, он был самым дешёвым. Сейчас не знаю как, не сравнивал. Для объёмов до 100 Гб там цены небольшие. За этот объём заплатите рублей 300 примерно (стандартное хранилище, холодное ещё дешевле), так что не критично. Рекомендую дублировать бэкапы сайтов, магазинов в S3. У меня это всегда второе, холодное хранилище, куда уезжают полные архивы с определённой периодичностью. Бэкап директории /mnt/backup/day делается следующим образом: # /usr/bin/rclone copy /mnt/backup/day selectel:websrv-day Я обычно делаю 3 контейнера: day, week, month с настройкой хранения копий 7, 30 дней и бессрочно. Контейнер с месячными архивами чищу вручную время от времени, либо вообще не чищу. А первые два очищаются самостоятельно в соответствии со своими настройками. Следить самому за этим не надо. Если у вас это будет единственное хранилище, то очистку лучше настроить не по времени, а по количеству файлов в контейнере. Иначе если не уследите за бэкапами и они по какой-то причине не будут выполняться, через какое-то время все старые будут удалены, а новые не приедут. В S3 от Selectel данные заходят очень быстро. Скорость до Гигабита в секунду. Скачивать редко приходится, так что не знаю, какая там реальная скорость, но проблем никогда не было. Думаю тоже что-то в районе гигабита, обычно сам интернет медленнее, куда грузить будете. Можно через панель управления зайти и открыть веб доступ к какому-нибудь файлу, сделать одноразовую ссылку. Также доступ к файлам есть через личный кабинет напрямую в браузере, либо по FTP. Я для визуального контроля и загрузки файлов обычно по FTP захожу. Сайт - https://rclone.org #backup#s3

Hashtags

Libreware

@libreware · Post #1092 · 20.06.2022 г., 13:50

Andriller https://github.com/den4uk/andriller Software utility with a collection of forensic tools for smartphones. It performs read-only, forensically sound, non-destructive acquisition from Android devices. It has features, such as powerful Lockscreen cracking for Pattern, PIN code, or Password; custom decoders for Apps data from Android (some Apple iOS & Windows) databases for decoding communications. Extraction and decoders produce reports in HTML and Excel formats. Features Automated data extraction and decoding Data extraction of non-rooted without devices by Android Backup (Android versions 4.x, varied/limited support) Data extraction with root permissions: root ADB daemon, CWM recovery mode, or SU binary (Superuser/SuperSU) Data parsing and decoding for Folder structure, Tarball files (from nanddroid backups), and Android Backup (backup.ab files) Selection of individual database decoders for Android apps Decryption of encrypted WhatsApp archived databases (.crypt to .crypt12, must have the right key file) Lockscreen cracking for Pattern, PIN, Password (not gatekeeper) Unpacking the Android backup files Screen capture of a device's display screen 📡@NoGoolag📡@Libreware #andriller#android#forensics#backup

Tomoko RD

@tomoko_channel · Post #576 · 24.07.2024 г., 14:52

🔖 linuxmint/timeshift: System restore tool for Linux. Creates filesystem snapshots using rsync+hardlinks, or BTRFS snapshots. Supports scheduled snapshots, multiple backup levels, and exclude filters. Snapshots can be restored while system is running or fro #pinboard#linux#rsync#tool#backup 一直没想清楚,在同步过程中,文件被修改的情况,rsync 是如何处理的。 https://github.com/linuxmint/timeshift

GitHub Trends

@githubtrending · Post #15171 · 27.09.2025 г., 11:30

#ruby#backup#network#nms#rancid Oxidized is a free tool that automatically backs up network device configurations from over 130 device types, replacing older tools like RANCID. It runs efficiently by adjusting how many tasks it uses based on your setup and offers a web API to manage backups and see changes. It can track who made changes using syslog and integrates with Git to show detailed version history. You can install it on many systems, configure it easily with YAML files, and use various sources and outputs for flexibility. This helps you keep your network device settings safe, organized, and easy to review or restore when needed. https://github.com/ytti/oxidized

12
ПредишнаСтр. 1 от 2Следваща