Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Игра рыбалка представляет собой полноценный симулятор рыбалки и дает возможность порыбачить в реально существующих местах из жизни и поймать рыбу, которая там обитает.

Рыбный дождь

Спорт, Симуляторы, Рыбалка

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Xml

С этим тегом используют

HTML Все
47 постов сначала свежее
2
Programma.Boinc
Programma.Boinc
3 года назад

2 Килобайта - не Бог весть какой размер, а жизнь SSD диску сократит в 10 раз!⁠⁠

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


2 Килобайта - не Бог весть какой размер, а жизнь SSD диску сократит в 10 раз!

Это можно легко оценить.


Сначала про БД.


Возьмём 1 миллион WU. Им будет соответствовать 1 миллион записей в таблице workunit и 2 миллиона в таблице result, если есть кворум 2. Размер каждой записи ~ 2 кб. Итого - 3 миллиона записей по 2 кб. Во время своей жизни, result проходит несколько состояний - unsent, in progress, pending, validated и, наконец - он удаляется. Итого - 5 изменений. Для workunit-а, по идее, поменьше, но давайте считать, что тоже 5.


Далее. Как и любая приличная СУБД, MSSQL пишет данные не отдельными записями, а блоками или страницами. В MSSQL 1 страница = 8 кб, в неё поместится около 4 записей (скорее - 3, но пусть 4, возьмём вариант похуже).


Если считать что каждый раз записи меняются независимо (что вообще говоря, при создании и удалении workunit-ов и result-ов - не так, но, опять - возьмём более плохой вариант), то мы получим, что за время жизни всех 4 записей в блоке, они в худшем случае заставят перезаписать страницу, в которой они находятся, 20 раз. Ну и хорошо! Давайте считать, сколько получается:


3 миллионов записей / 4 (записи в странице) = 0.75 миллиона страниц.

0.75 миллиона страниц * 20 раз = 15 миллионов раз записи страниц

15 миллионов записей страниц * 8 кб = 120 Гбайт.


Параллельно, конечно, данные будут записываться в лог базы. Но в него будет записываться не вся страница, а только запись. Т.е. это будет 1/20 от 120 Гбайт или + 6 Гбайт. Итого: 126 Гбайт. По факту, же, т.к. генерация и удаление workunit-ов и result-ов происходит массово, то эти два процесса будут приводить к однократной, а не 20-кратной записи страницы на диск. Т.е. на самом деле не 120, а на 2/5 меньше - 72 Гбайта. Но пусть 120 и 126 в сумме.


Это, насколько я вижу, за месяц. Тогда в год будет 1512 Гб или 1.5 Тб. Сколько там ресурс самых дешёвых SSD за 4000 р (на 250 Гб)? Около 150 Tb. (Фактический, как говорят тесты, будет в разы больше). 150 Тб/1.5 Тб/год - это 100 лет. А уже через 4 года будут совсем другие диски за совсем другие цены.


Теперь вернёмся к файлам.


Файлы у нас хранятся в файловой системе. А файловая система у нас записывается кластерами (или тоже страницами, но другими). В NTFS, обычно - 4 кб. И разница между 200 байтами и 2 кбайтами будет только в том, что файл размером в 200 байт будет целиком записан прямо в заголовке в NTFS, а ради 2-х килобайтного будет осуществлена запись в таблицу файлов и в виде страницы на диск. То есть, не 1, а 2 раза по 4 кб. Посчитаем более тяжёлый вариант для того же миллиона workunit-ов:


2 записи * 4 кб * 2 миллиона результатов = 16 Гбайт.


Смотрим на упоминавшиеся 126 Гбайт и понимаем, что пока размеры результатов не выросли до мегабайт, особо печалиться не о чем. Да, есть ещё файлы XML-запросов которые сервер принимает и отправляет. Они также порядка 1 - 2 кбайт на результат. В итоге, по видимому, всё должно в самом плохом случае уложиться в 150 .. 200 Гбайт на 1 миллион workunit-ов. (Запись внутри SSD, по идее, также должна идти страницам где-то по 4 кб, кажется, поэтому этот внутренний механизм, думаю, что можно тут пропустить). Ну а если размеры файлов будут массово подрастать до мегабайта, ну, тогда складывать именно их уже на HDD. IOPS-ность SSD тут им уже не поможет.


Время надёжного хранения данных на SSD в обесточенном состоянии - порядка полугода и выше, особенно если вы не подогреваете его постоянно градусов до 60. Если есть какие-то данные, которые хотелось бы сохранить, но их можно было бы вот так вынести из системы, физически вынув диск, - то их надо просто записать на болванку Blue-Ray. 10 штук по 25 Gb стоят ~ 700 р., 25 штук по 50 Gb (двуслойные) ~ 6700 р. А SSD должен не лежать, а работать, его для этого обычно покупают. 🙂


P.S. И, да, есть у нас давно хорошая ветка про HDD и SSD.

https://boinc.ru/forum/topic/interesnoe-o-hdd-i-ssd/


P.P.S. Можно, конечно, вспомнить, что у MSSQL есть такая база как tempdb. Но... зачем OLTP-системе, коей должен быть сервер BOINC, что-то туда писать? "Обязательная отчётность", по идее, у нас только в виде XML-ов с микроскопическими user, host и team, которые должны выгружаться раз в сутки.


P.P.P.S. Когда результат засчитывается, то обновляются также и таблицы team, user, host и host_app_version.


Но: 1) Эти изменения делаются только когда результат засчитывается, а не при изменении любого состояния на любое (т.е. уже в 5 раз реже); 2) Все эти таблицы очень небольшие (team - там считанное число блоков!), должны сидеть в кэше, в каждой странице - по значительно большему набору записей и, между записью обновлённых страниц из кэша на диск, они должны обновляться по несколько раз (тут уже важно правильно настроить checkpoint-ы). И получающийся объём записываемых данных - снова не велик.

Показать полностью
SSD Размер Ms SQL Checkpoint Сервер Xml Длиннопост Текст
5
18
AlexANSI
AlexANSI
3 года назад
Борьба с вредными привычками

Очень хотелось покурить...⁠⁠

Очень хотелось покурить... Бросить курить, Привычки, Борьба с курением, Xml, Систематизация, Уборка, Хобби, Сигареты, Одежда, Длиннопост

Это был 3-тий день отказа от курения, честно признаюсь вечером я выкурил за час 3 сигареты (это был единственный раз, на момент написания этого текста больше не курил) после этого не курил. Придя домой т.к. живу один делать было особо нечего, страшно хотелось покурить, хорошо я отдал пачку знакомому (он одобрил мой отказ тем более халявную пачку сигарет). Короче говоря меня спасло придуманное мной задание , навести порядок в fuc*ng шкафу. Я этого не делал ни разу в жизни, и это помогло! Хочешь покурить, избавься от сигарет и займись уборкой! Так выглядел мой шкаф до уборки...

Очень хотелось покурить... Бросить курить, Привычки, Борьба с курением, Xml, Систематизация, Уборка, Хобби, Сигареты, Одежда, Длиннопост

Кратко расскажу как я очистил эти авгиевы конюшни. Сделал систематизацию (создал классы и присвоил объекты) всей текстильной ветоши. вот что получилось (считаю это забавно).


1. <постельное бельё>, <основное>

1.1 Простынь

1.2 Пододеяльник

1.3 Наволочка

1.4 Покрывало

2. <одежда><выше пояса><не верхняя одежда>

2.1 Майка

2.2 Свитер +<тёплая одежда>

2.3 Свитер с капюшоном +<тёплая одежда>

2.4 Рубашка

2.5 Головной убор

3. <одежда><ниже пояса>

3.1 Шорты

3.2 Джинсы +<верхняя одежда>

3.3 спортивные, трико

3.4 Штаны

4.5 Ремни

4. <гигиена>, <полотенце>

4.1 Полотенце обычное

4.2 Полотенце кухонное

5. <нижнее бельё>

5.1 Трусы обычные

5.2 Трусы плавки

Теперь уровень энтропии снизился и вот что получилось...

Очень хотелось покурить... Бросить курить, Привычки, Борьба с курением, Xml, Систематизация, Уборка, Хобби, Сигареты, Одежда, Длиннопост

получилось я занял руки и голову и получив результат забыл о курении.


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

Показать полностью 2
[моё] Бросить курить Привычки Борьба с курением Xml Систематизация Уборка Хобби Сигареты Одежда Длиннопост
6
8
joshkinkot76
joshkinkot76
3 года назад
Лига программистов

Проверка синтаксиса xml⁠⁠

Всем привет! Подскажите, знатоки, как проверить большой объём xml файлов на синтаксические ошибки. Дано: не грузится интерфейс станка. Такое иногда случается при повреждении какого-нибудь файла, участвующего в отображении HMI. Папка с интерфейсом содержит сотни мелких xml файлов и вложенные папки с такими же файлами и папками и тд. Я пробовал каждый файл открывать по порядку с помощью Notepad++ и проверять синтаксис, но их слишком много. Есть ли какая-то программа для пакетной проверки этого дела?

[моё] Ошибка Xml Файл Текст
28
2
KiriTt
KiriTt
3 года назад

Хочу программировать. Все еще...⁠⁠

История эта началась здесь: Хочу программировать. С чего все началось?

Продолжилась здесь: Хочу программировать. Продолжение

А сейчас мы находимся здесь, в третьем посте.

Как я уже говорил ранее, конвертер сейчас выглядит так:

Хочу программировать. Все еще... Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

Что в нем происходит? Выбраны файлы запуска игры и файл modDesc.xml, который является ключевым файлом каждого мода и с него начинается загрузка мода в игру. После нажатия кнопки "Поехали" создается копия исходной папки мода, происходит рекурсивное чтение всех каталогов родительской папки, в заранее созданный объект сохраняются названия файлов и пути к ним. Дальше из папки с установленной игрой копируются все недостающие файлы

Код, который собирается все нужные моду файлы в одно место

Хочу программировать. Все еще... Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

На следующем этапе во всех всех основных XML и I3D файлах правятся пути к файлам, скопированным на прошлом этапе

Если не поправить путь, работать ничего не будет

Хочу программировать. Все еще... Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

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

Показать полностью 3
[моё] Программирование Farming Simulator Игры Длиннопост Javascript Xml
1
4
KiriTt
KiriTt
3 года назад

Хочу программировать. Продолжение⁠⁠

Итак... Я все еще хочу программировать. Начало здесь: Хочу программировать. С чего все началось?

Задача: автоматизировать конвертирование модов из Farming Simulator 19 в Farming Simulator 17. Так как другие языки программирования, кроме JavaScript, я не пробовал, то выбор пал именно на него. Из понимания его работы было лишь то, что он работает в браузере. Так появился прототип веб приложения, которое могло делать одну вещь – частично адаптировать XML файл из одной версии игры для другой

FS XML конвертер

Хочу программировать. Продолжение Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

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

Пошел искать информацию о программировании на JS для ПК приложений. И сеть выдала мне, что такое возможно. И самое удобное - это Node.js и Electron. Ну раз сеть говорит, а у меня знаний никаких, то почему бы не поверить?

Несколько вечеров чтения мануалов, проб и ошибок. И О ЧУДО!

Приложение запустилось!

Хочу программировать. Продолжение Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

Функционала никакого. Зато радости полные штанишки. Дальше следовал этап создания интерфейса программы. А так же обдумывания, что и как она вообще должна делать. В итоге пришел к выводу, что мне нужны несколько вещей.

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

2. Собственно, путь к самому моду.

3. И, конечно, кнопка запуска, чтобы все сработало.

Первый вариант интерфейса будущего конвертера

Хочу программировать. Продолжение Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

Интерфейс задан HTML разметкой и CSS стилями. Все колдунство с кнопками происходит с помощью JavaScript

Хочу программировать. Продолжение Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

При запуске программа нюхает свою папку в поисках файла "settings.json", в котором хранятся пути. Если файл найден, из него читается объект, из которого берутся пути и добавляются в соответствующие поля. Если путей нет, то поля остаются пустыми. Если файла нет, то он создается с пустым содержимым. Также при выборе пути с помощью диалогового окна настройки самостоятельно сохраняются в этот "settings.json"

Код, загружающий и сохраняющий настройки путей программы

Хочу программировать. Продолжение Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

Файл "settings.json" с сохраненной информацией

Хочу программировать. Продолжение Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

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

На данный момент интерфейс выглядит так

Хочу программировать. Продолжение Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

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

Показать полностью 7
[моё] Программирование Farming Simulator Игры Длиннопост Javascript Xml
16
6
KiriTt
KiriTt
3 года назад

Хочу программировать. С чего все началось?⁠⁠

Когда-то под конец далекого 2014 года я открыл для себя мир моддинга для игр Farming Simulator. Было чертовски интересно, как устроены моды, как их можно перетащить из одной версии игры в другую. И, конечно, как самому сделать свою модификацию какого-нибудь отечественного трактора. Со временем стали поддаваться разгадке секреты XML файлов, отвечающих за оживление 3D модели в игре. Позже и сами 3D модели перестали быть неприступными. На все ушло много времени, не один год. В итоге стали ясны принципы работы всего этого удовольствия.

Моя первая модель для Farming Simulator 15

Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml
Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

И ее другой вариант в Farming Simulator 17

Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml
Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

Потом был период затишья, когда я вообще все забросил. Больше двух лет ничего из этого не касался. Но любопытство взяло верх. И я пошел изучать вышедшую в 2018 году Farming Simulator 19. В ней были использованы иные принципы текстурирования моделей, основанные на технологиях UDIM и PBR. И именно в FS19 мододелы начали создавать реально классные модели. Мои и рядом с ними не валялись.

ХТЗ-17221 для FS19 от "РусАгроТех"

Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

Оказалось, что 3D модели из игры Farming Simulator 19 можно открыть в более ранней версии, в FS17. Раньше такой возможности (например из FS17 в FS15) не было. Но вот загвоздка. Шейдер, который отвечает за текстурирование модели, поддерживается только 19-й версией игры. Получается, что модель открыть можно, но без текстур и материалов. Несправедливо.


Решив, что можно просто посмотреть, я открыл в двух текстовых редакторах рядом шейдеры техники из FS17 и FS19. Не понимая, как они устроены, пошел искать закономерности, сходства и различия.

Часть того, что я увидел, открыв XML файл шейдера для FS19

Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

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

ХТЗ-17221 из FS19, загруженный в FS17

Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

А раз уж 3D модель легко перетаскивается между разными версиями игры, то надо найти способ и конфиги так же легко перетащить. Но нет, они неслабо отличаются. Приходится проделать много ручной работы. Но за работу модели в игре отвечают XML файлы. А они довольно легко поддаются модификациям с помощью различных языков программирования. Что ж, решил я для себя, надо искать этот легкий способ. Когда-то довольно давно я пытался для себя поучить основы JavaScript. Вспомнив об этом, пошел искать по сети, как связать JS и XML. Так я погряз в трясине программирования. Без знаний и навыков...

Первая попытка реализовать конвертер XML файлов на основе веб приложения.

Забегая вперед, отмечу, что веб версия не получила развития. Я от нее отказался в пользу версии для ПК...

Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml

Первый пост. И получился длинным. Укажите, если я здесь что-то неправильно оформил.


Продолжение следует...

Хочу программировать. С чего все началось? Программирование, Farming Simulator, Игры, Длиннопост, Javascript, Xml
Показать полностью 9
[моё] Программирование Farming Simulator Игры Длиннопост Javascript Xml
4
66
BHD2R
BHD2R
4 года назад
Web-технологии

Как без пиратства и покупки платного ПО пользоваться макетами Adobe XD⁠⁠

Формат файла Adobe XD представляет из себя архив, который содержит описание структуры макеты в виде JSON структуры, графических растровых и векторных файлов использованных при создании макета.


Стандартный метод — открыть в программе Adobe XD — нужна программа купленная за деньги (подписка).

Использовать сервис-конвертор XD2SKETCH.COM — за деньги (подписка или платное разовое использование).

Программу-сервис Avocode — за деньги.
Кроме того, некоторые программы работают только в среде Mac OS (Sketch - только MAC OS или веб-приложение)

И тому подобное.


Чтобы открыть макет Adobe XD бесплатно, можно воспользоваться бесплатной программой-сервисом Photopea — в этом случае видны все параметры объектов макета и даже доступ к CSS значениям реализован удобнее чем в Photoshop. А вот реализация извлечения растровых объектов из макета, для внедрения в вёрстку, немного подкачала, на мой вкус.


Чтобы получить объекты из файла Adobe XD, достаточно открыть его как Zip-архив, например с помощью архиватора 7-Zip. В результате получим несколько папок с ресурсами JSON, XML, и папкой с растровыми объектами: «resources».


Содержащиеся там файлы будут без расширений, но это решается просто переименованием, с добавлением соответствующего расширения. Если есть сомнения в том, какое расширение необходимо, достаточно открыть файл в программе Notepad++ или в другом тактовом редакторе. У файлов формата PNG в первой же строчке будет «‰PNG». У SVG-файлов будет так же видна вся XML структура присущая SVG-файлам.


Итого, файл макета открыт в Photopea — данные CSS доступны для переноса. Папочка с графикой для вставки в вёрстку — готова.

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

Возможно, подход не оригинальный. Но уж чем богаты.

Вероятно есть и более простые методы.

Показать полностью
[моё] Верстка Веб-дизайн Adobe XD Png Json Xml 7-zip CSS Mac Os Текст
24
2174
PyleDiser
PyleDiser
4 года назад
IT-юмор

XML файл⁠⁠

XML файл Xml, IT, IT юмор, Visual Studio, Мемы, Юмор, Картинка с текстом
Показать полностью 1
Xml IT IT юмор Visual Studio Мемы Юмор Картинка с текстом
136
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии