Русский
Русский
English
Статистика
Реклама

Материалы

Из песочницы Как выбрать оптимальный материал на ранних этапах проектирования?

16.06.2020 16:14:27 | Автор: admin
Казалось бы, есть наработанные годами сферы применения материалов. Есть рекомендации от производителя материалов бери и делай. Но в современном мире потребителям доступны сотни тысяч различных материалов со своими особенностями. Как разобраться в этом хаосе? Как понять, что выбранный материал обладает наилучшими свойствами для конкретной детали? И главное, как процесс выбора материала сделать алгоритмизированным, повторяемым и обоснованным? Давайте разберёмся.

Диаграмма Эшби с индексами эффективности

Состояние вопроса в России


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

Про эту методологию я узнал, когда у меня появился доступ к Ansys GRANTA Selector. Немного поломав мозг и прочитав пару книг делюсь информацией, что я накопал.

На рисунке ниже показан алгоритм принятия решения при выборе материала из учебника Кондакова А.И. из МГТУ им. Н.Э. Баумана [1]. Данная методика предлагает определить наиболее важные для материала свойства, задаться критериями выбора этих свойств и произвести отсев материала по этим свойствам. Если произвести отсев не получается, то необходимо обратиться к изделиям-аналогам и материалам, из которых они изготовлены. После определения перечня материалов на него накладываются ограничения по технологичности и стоимости. И заканчивается всё некоторым кратким перечнем материалов и их характеристик, по которым уже можно определить финального кандидата.



Это прекрасный метод. И в нем всё логично. Но он не отвечает на вопрос какими критериями свойств материалов нужно задаться?. Вы, конечно, можете сказать, что если мы проектируем самолёт, то детали должны быть прочными и лёгкими, ещё, желательно, дешёвыми. И воспользоваться таким параметром как удельная прочность отношение прочности к плотности. И вы будете правы. Частично. Точнее, только в том случае, если ваш самолёт это стержень, работающий на растяжение. Почему? А потому что в таком подходе вы не учитываете форму объекта и вид нагрузки.

Соотношения должны быть чуть сложнее, как в книге Расчёт, проектирование и постройка сверхлёгких самолётов (выдержка показана в таблице ниже) [2].



В этой же книге приводится пример сравнения применения древесины с распространёнными в авиации металлическими материалами: при работе на растяжение древесина не уступает материалам из таблицы. При работе на изгиб даже лучше. А вот при работе на сжатие древесина уже в 2-3 раза хуже.



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

Методология из Кембриджа


Михаэль Эшби, материаловед и профессор из Кембриджа, как раз и занялся исследованиями в этой области. По результатам своих изысканий издал ряд книг, в которых описана данная методология. Дальше этот раздел написан по книге Materials Selection in Mechanical Design [3], которая есть в открытом доступе.

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



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

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

При использовании этой схемы предполагается, что на входе в процесс выбора материала информация о потенциальных материалах представлена в общем виде. То есть мы можем использовать даже некоторые оценочные свойства или диапазоны свойств для марки материала. Например, полиамид-6 выпускает огромное количество предприятий. У всех из них материал, получается немного разным, с уникальным набором свойств. Для определения перечня потенциальных кандидатов нам не важно знать точные свойства для каждого производителя. Нам достаточно понимать, что материал полиамид-6 может иметь некоторый разброс свойств и знать этот разброс. Отсюда получается, что у нас должен появится этап, на котором мы уточняем свойства материалов. Это может быть информация из ГОСТов, DINов, информация из научных журналов, листков данных производителей и так далее.

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

Ну и наконец, принятие решение о применении конкретного материала или группы материалов.

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

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

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



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

Это подталкивает к мысли, что можно вывести некоторые соотношения, которые будут учитывать вид нагружения и поставленные цели. Такие соотношения будем называть индексом эффективности.

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

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

$$display$$p=f\left(F,G,M\right)$$display$$

где $inline$p$inline$ эффективность, $inline$f()$inline$ функция (в математическом смысле), $inline$F$inline$ функциональные требования, $inline$G$inline$ геометрические параметры, $inline$M$inline$ свойства материала.

При такой формулировке целью становится минимизация или максимизация $inline$p$inline$.

Функцию $inline$p=f(F,G,M)$inline$ можно выразить таким образом, чтобы она состояла из произведения трёх функций, каждая из которых определялась бы набором параметров $inline$F$inline$, $inline$G$inline$ и $inline$M$inline$ (почему будет ясно на примере чуть ниже):

$$display$$p=f_1(F) f_2(G) f_3(M)$$display$$

При таком разделении функция $inline$p$inline$ пропорциональна $inline$f_3(M)$inline$, определяющейся свойствами материалов, и независимой от функциональных требований $inline$F$inline$ и геометрических параметров $inline$G$inline$. Очевидно, что при увеличении функции $inline$f_3(M)$inline$ будет возрастать и $inline$p$inline$. В таком случае функцию $inline$f_3(M)$inline$ можно рассматривать отдельно и именно она будет определять индекс эффективности материалов. То есть можно оптимизировать функцию $inline$f_3(M)$inline$ не зная всех функциональных требований $inline$F$inline$ и геометрических параметров $inline$G$inline$ и рассматривать их отдельно, уже при самом конструировании. То есть мы сначала подбираем оптимальный материал, а затем уже занимаемся конструированием и оптимизацией конструкции.

Рассмотрим на нескольких примерах.

Предположим, что мы выбираем материал для цилиндрического стержня, работающего на растяжение. У нас определена длина $inline$L$inline$ и растягивающее усилие $inline$F$inline$. Цель минимизировать массу при соблюдении условий прочности. Функцию, цель и ограничения соберём в таблицу ниже.





В данном случае максимизация эффективности означает минимизацию массы при способности нести нагрузку $inline$F$inline$. Сначала мы ищем функцию, значения которой можно минимизировать или максимизировать. В данном примере речь идёт о минимизации массы $inline$m$inline$. Уравнение, называемое целевой функцией, имеет вид:

$$display$$m=AL\rho$$display$$

где $inline$A$inline$ площадь сечения, $inline$L$inline$ длина, $inline$$inline$ плотность.

В данной задаче длина $inline$L$inline$ и нагрузка $inline$F$inline$ определены и фиксированы, а площадь сечения $inline$A$inline$ может изменяться в процессе конструирования. Уменьшение $inline$A$inline$ будет приводить к уменьшению $inline$m$inline$, но в тоже время $inline$A$inline$ будет участвовать в соотношении для напряжений:

$$display$$\frac{F}{A}\le\sigma$$display$$

Отсюда можно выразить $inline$A$inline$ и подставить его в уравнение выше и сразу разделить переменные по их типам:

$$display$$m\geq\left(F\right)\left(L\right)\left(\frac{\rho}{\sigma}\right)$$display$$

В первой скобке присутствует $inline$F$inline$ функциональная переменная; во второй $inline$L$inline$ геометрическая переменная; в третьей константы материала. Отсюда можно выразить индекс эффективности:

$$display$$M=\frac{\sigma}{\rho}$$display$$

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

Рассмотрим второй пример балка, нагруженная сосредоточенной силой $inline$F$inline$, с квадратным сечением $inline$b \times b$inline$ и длиной $inline$L$inline$. Балка подвержена изгибу. Длина фиксирована. Необходимо ограничить прогиб балки некоторой величиной $inline$$inline$, то есть ограничением является жёсткость балки. Также необходимо чтобы балка имела минимальную массу. Функцию, цель и ограничения соберём в таблицу ниже.





Выразим жёсткость величиной $inline$ S=F/$inline$, которая должна быть больше либо равной соотношения, определяемого из уравнения прогиба:

$$display$$S=\frac{F}{\delta}\geq\frac{C_1EI}{L^3}$$display$$

где $inline$E$inline$ модуль упругости, $inline$C_1$inline$ константа, определяемая из граничных условий и $inline$I$inline$ момент инерции, определяемый для квадратного сечения как:

$$display$$I=\frac{b^4}{12}=\frac{A^2}{12}$$display$$

Напомню, что наша целевая функция имеет вид:

$$display$$m=AL\rho$$display$$

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

Соберём теперь все в целевую функцию:

$$display$$m\geq\left(\frac{12S}{C_1L}\right)^{1/2}\left(L^3\right)\left(\frac{\rho}{E^{1/2}}\right)$$display$$

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

$$display$$M=\frac{E^{1/2}}{\rho}$$display$$

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



К счастью, для каждого случая нам не нужно решать такие задачи. Их уже посчитали за нас:















Для учёта нескольких критериев, значения наносятся на пузырьковую диаграмму Эшби (рисунок ниже). Овалы на диаграмме отображают разброс свойств для каждого типа материала. Данная диаграмма построена для балки, работающей на изгиб. По оси $inline$X$inline$ отложен индекс эффективности, определяющий стоимость за единицу жёсткости. По оси $inline$Y$inline$ отложен индекс эффективности, определяющий отношение массы и жёсткости. Критерии на диаграмме преобразованы таким образом, что чем меньше значение критерия, тем дешевле и легче будет получаться конструкция при той же жёсткости.



Отсюда получается, что чем ближе материал находится к левому нижнему углу, тем эффективнее будет его применение для легкой, дешёвой и жёсткой балки, работающей на изгиб.

Есть и другой способ отображения диаграммы Эшби. Он описан на странице Википедии.

Пример в Excel


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

  • Необходимо спроектировать конструкцию, которую можно свести к балке. Балка должна быть лёгкой и прочной. По ТЗ определена длина. Можно изменять сечение;
  • Необходимо спроектировать конструкцию, которую можно свести к балке. Балка должна быть лёгкой и прочной. По ТЗ определена длина, сечение и его ширина. Можно изменять высоту сечения;
  • Необходимо спроектировать конструкцию, которую можно свести к балке. Балка должна быть дешёвой и прочной. По ТЗ определена длина, сечение и его ширина. Можно изменять высоту сечения;
  • Лёгкая пружина, способная запасать как можно больше упругой энергии без разрушения.

Ответы в таблице:



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

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

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

Литература


  1. Кондаков А.И., Васильев А.С. Обоснование выбора материалов при технической подготовке производства деталей машин. Москва: МГТУ имени Н. Э. Баумана, 2008.
  2. Чумак П.И., Кривокрысенко В.Ф. Расчёт, проектирование и постройка сверхлёгких самолётов. Москва: Патриот, 1991.
  3. Ashby M. Materials selection in mechanical design. 2nd ed. Oxford: Butterworth-Heinemann, 1999.
  4. Википедия: Выбор материала
Подробнее..

Книги, которые повлияли на меня как на разработчика и управленца

18.06.2021 12:04:53 | Автор: admin

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

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

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

Практика

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

Specification by Example

Книга понравилась мне настолько, что побудила написать первую статью на Хабре. Гойко Аджич автор книги сам описывает ее как книгу о разработке ПО без единой строчки кода. Ее фокус находится на пересечении управления требованиями, проектного менеджмента, DevOps и тестирования (в том числе автоматизированного). Если DevOps часто описывают как infrastructure as code, то Specification by Example это своего рода requirements as code. Проработав некоторое время в корпоративном сегменте индустрии любой разработчик рано или поздно узнает о том, насколько неполными, неточными, противоречивыми и устаревшими бывают требования и насколько сложно, долго и дорого бывает переделывать программы, написанные по таким требованиям. Существуют тяжелые методы борьбы с этим недугом. Например ГОСТ 34 до сих пор используется в госсекторе, несмотря на то, что он безнадежно устарел.

Specification by Example гораздо более гибкая и менее формальная техника, позволяющая, впрочем, заказчику и исполнителю говорить на одном языке, понятном обоим. Кроме того, ГОСТы описывают форму проектной документации, но не дают конкретных советов по проектному управлению и никак не поощряют коммуникацию и совместную работу по улучшению требований и нахождению лучших (более быстрых, качественных и дешевых) способов решения проблем. Примеры переформулированных требований из книги гарантированно не оставят вас равнодушными. Техникой контрольных примеров мы пользуемся уже восемь лет, и она позволяет экономить какое-то невероятное количество времени и избегать недопониманий.

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

Event Storming

Это даже не книга, а своего рода комикс. Если вы любите стикеры, доски и kanban, то event storming скорее всего тоже зайдет. Со временем мы пришли к тому, что большинство web-проектов сразу создаем на основе CQRS-архитектуры, даже если на старте хранилище данных всего одно. Это позволяет по мере развития проектов независимо оптимизировать стеки чтения и записи. И в момент, когда запросы к БД становятся уже совершенно безобразными, воткнуть очередь с денормализоваными хранилищами.

Подробно о всех преимуществах CQRS перед классической n-layer- и onion-архитектурой я рассказывал в докладе Быстрорастворимое проектирование.

Причем здесь Event Storming? Это техника специфицирования в терминах DDD, CQRS и Event Sourcing в форме увлекательной игры со стикерами, фломастерами и доской (доска может быть физической или виртуальной, но с физической гораздо веселее). С точки зрения наглядности, метод не успевает за Activity и BPMN-диаграммами. Но он гораздо более легковесный и прост в освоении и понимании.

Impact Mapping

И снова книга Гойко Аджича. Часть идей в ней пересекается со Specification by Example, но у книг разные целевые аудитории. Spec by Example лучше подойдет для разработчиков, архитекторов, тестировщиков, аналитиков и менеджеров среднего звена. Impact Mapping инструмент, в первую очередь, для бизнеса: владельцев продукта (или даже компании), маркетинга и топ-менеджмента. Spec by Example лишь поощряет общение с целью поиска оптимальных решений. Impact Mapping это формальный процесс для стратегического планирования. Его можно использовать не только в разработке ПО, но и для стратегического планирования, в целом. Например, в этом году мы использовали Impact Mapping для приоритизации и планирования задач в HR.

Теория + практика

Теоретически-практические книжки чуть более сложные. Я бы рекомендовал начать с DDD это очень холиварная тема! Возможно, DDD это не то, что вам нужно на этапе создания стартапа, но попробуйте обратить внимание не на технические аспекты, а на высокоуровневые паттерны. На то, как DDD предлагает общаться с экспертами, выделять главное, и на то, что продукт порой важнее используемых технологий. Если вам это зайдет, то дальше начнется протоптанная другими тропа: DDD -> CQRS -> Event Sourcing. Чаще всего все эти три темы обсуждаются в одном комьюнити. Как только вы разберетесь, что собой представляет каждая из концепций, вы поймете почему.

Немного особняком стоит книга Скотта Влашина про DDD в мире функционального программирования. Во-первых, ФП в изложении Влашина это не сложно. Обратите на книгу внимание хотя бы поэтому. Во-вторых, даже если в ближайшие десятилетия вы не собираетесь никуда сворачивать с тропинки объектно-ориентированного программирования, изучение других способов решения знакомых проблем может быть точкой роста. Я большой фанат гипотезы лингвистической относительности (и фильма Прибытие удачно выигрывающего эту гипотезу). В каком-то смысле знание языков программирования может влиять на ваше мировоззрение также, как знание естественных языков.

Теория

Факты и заблуждения профессионального программирования

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

Мифический человеко-месяц

Книга Фредерика Брукса, несмотря на то, что ей уже 100500 лет, и вы можете встретить в тексте что-то про перфокарты, это фундаментальный труд. Закон Брукса никуда не делся и, кажется, не денется. Понимание этого закона (девять матерей не родят дитя за один месяц) поможет принимать критические и зачастую контринтуитивные управленческие решения. Юбилейное издание включает в себя статью Серебряной пули нет, с которой тоже не грех ознакомиться всем и каждому.

Сколько стоит программный продукт

Большинство знает другую книгу МакКонела Совершенный код. Для кого-то она даже стала своеобразной Библией программирования. Если вы уже программируете хорошо и хотите научиться лучше оценивать трудозатраты на разработку, прочтите Software Estimation: Demystifying the Black Art (Сколько стоит программный продукт; в оригинале название звучит точнее, не находите?:). Книжка сложная, со статистикой, но ничего лучшего об оценке я не видел. Гарантирую, качество оценки тех, кто использует методы и советы из книги, многократно превосходит качество оценки тех, кто делает это по наитию.

Лютая теория и даже философия

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

Цель. Процесс непрерывного улучшения

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

На этом мой список книг подходит к концу. Выбирайте полезные для себя и enjoy!

TechLead Conf 2021 конференция, полностью посвященная инженерным процессам и практикам откроет свои двери уже совсем скоро: 30 июня и 1 июля она пройдет в Radisson Slavyanskaya (Москва).Расписаниеуже готово.Билетыв продаже. А ещё у нас открытдоступк докладам TechLead Conf 2020.

До встречи в офлайне!

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru